diff --git a/.github/workflows/flakehell.yml b/.github/workflows/flakehell.yml
new file mode 100644
index 0000000..33a098a
--- /dev/null
+++ b/.github/workflows/flakehell.yml
@@ -0,0 +1,34 @@
+# Run the linters with a baseline
+
+name: FlakeHell
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  build:
+
+    strategy:
+      matrix:
+        python-version: [3.7, 3.8, 3.9]
+
+    runs-on: ubuntu-latest
+
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-python@v2
+        with:
+          python-version: ${{ matrix.python-version }}
+      - name: Install Poetry
+        uses: abatilo/actions-poetry@v2.0.0
+        with:
+          poetry-version: 1.1.11
+      - name: Disable vitual envs
+        run: poetry config virtualenvs.create false
+      - name: Install dependencies
+        run: poetry install
+      - name: Run FlakeHell
+        run: flakehell lint
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index 561dd86..3aa5699 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -27,7 +27,7 @@ jobs:
         node-version: ${{ matrix.node-version }}
         cache: 'npm' 
         cache-dependency-path: sheepsrc/package-lock.json
-    - name: Instal dependencies
+    - name: Install dependencies
       run: npm install
       working-directory: sheepsrc
     - name: Test if build
diff --git a/baseline.txt b/baseline.txt
new file mode 100644
index 0000000..bc14010
--- /dev/null
+++ b/baseline.txt
@@ -0,0 +1,9818 @@
+66be24786a50ca7a701b619e5d9d3247
+4a85c6e11d974933c59e2663f36c61a4
+4a85c6e11d974933c59e2663f36c61a4
+b7086a874ed3047b26b71aee507fdd15
+b7086a874ed3047b26b71aee507fdd15
+970dac58e1fa71a02175e4b407f1c3f6
+1f8e17ad6fa0f54289aeb2069b6fcafe
+1f8e17ad6fa0f54289aeb2069b6fcafe
+0a49d0917d022920c4f1b86e155b2452
+40971b283c35b6a2a8c61039c629c4d2
+a1557e07219aa41355ca879932b05f1d
+29bf15ad3a1c157c80f8a3d5e6fbd26f
+29bf15ad3a1c157c80f8a3d5e6fbd26f
+4a967f6e38c0d71da5505e37597f737b
+24af97fd1f3246eefbf87b2665900c62
+24af97fd1f3246eefbf87b2665900c62
+9cd11a8bdfa73c28281f092ef8b8a49a
+59167eb37212103f3423cfc4e4fe0f63
+59167eb37212103f3423cfc4e4fe0f63
+79faed95887d7c49a6f660f82d1dcc94
+e16f84cf33339527eeb65db7bb2c1af0
+e16f84cf33339527eeb65db7bb2c1af0
+7ba24d59d5ebed3f7e4ead3864b151dc
+c39c9f5b3083894fb0be00a3f0f2125a
+e259c7ce364770a9e26e4c28cb8a8b9f
+b55589bf9bb4b8875eb89975dac8b5bd
+0bb032fafc63a5e3bcedb05ec25c4790
+a79a0ad6b17855f65a4adcc3f68a3f0d
+63aa1f7d35110678a2b78b9291be1a4c
+631147305ef9996300335d779694a44e
+0088bd4d2b3e1a76edef490ed77a632e
+7cc2930c32f4ef60672c3e5e17db0409
+0373fe3069c4d48eeb50b85b587c2dfe
+8728ab62cae366ec610db25e9372278b
+6e917efc60561419b09510e9044edbc7
+6acc72f8ddae23c4ea5782fda8d829f2
+343254306ad602051c0f547fd641d574
+60575f2720989c1c83a457d28ca319d0
+f6ceab10111803cd74cd6b1b36441740
+594ee2bf5db01e98e877f1e814f726e0
+6711f9ca65b3b87f5515b47f2d5cd776
+7a25e16d2ef71c4da72663102188231e
+a6dc7cd22d79202f25ef995893b9521b
+656a519bdec76fa3d82483443511d7ad
+47cab574c1986a496c175de6a49b0ec2
+003c40a92af7e26442668699d67c17cc
+dea94e7439f907beb29ee6fdc0e4fc87
+7d439831d28be1a862ba8eccb76a16d5
+1618c41ee6ce3c328b1d0b6b28c53d72
+e0d4015c33c0d0a88519c7b52ceb162f
+c1a690597a3c4bf843551efafa341e68
+b64705007ea1c787bca5db0bed618e44
+030a4f3f82a4ed485847c683a5d0be7f
+84869dfb445ba28ef7be3afefa1acf67
+646ad47fe13de02c5717ccb86fc1a263
+030a4f3f82a4ed485847c683a5d0be7f
+84869dfb445ba28ef7be3afefa1acf67
+3492d2619051bfdda0222c13ea2dc3cf
+bdafb5f4a434764aca14aa79980337be
+04c6cb55281a4121f2f4bb54b904c564
+5e25c57ab1c7a400c00ee645797d76ac
+260432f79127386ef1eca5ef4fe905c3
+b93ea1fe767fc58479a1234280e6ee54
+e4556fc4b9c8c1bd6da3ef5251e4df0c
+646ad47fe13de02c5717ccb86fc1a263
+a979d9fed6ccdcc20405dd219058a53f
+935b07c62eac9687a4e45a278466a4b9
+98c99c88bcc35f8a33c290fcfec4f86e
+1eb4bb974d1e3eb7f6c940d94572692e
+b6ce3f0458936c6fa4963b9a21ac39e6
+53767ed145c6f459d3f790dc1abc83ca
+6cd29e8bee57d71ec8f7259519eb590d
+4fc75100f8ebce4641f9706bfca2eb46
+fb6166329314a7eadaff6a8857887180
+22f0fbc898b0aa75a5da4068b4e82c10
+befc8c94394e0531e566072f008bab49
+feee2ad0091237791863080c3ff8c29a
+8dd1f1a78536673a2cfdea32b531030b
+02356349b088058526874fcf51942a47
+be48c1808bdc469e88ba4977561310c8
+4b64b1012e2d7ee15f60aac5ecf6017a
+2cfe1bf971e0b6318b232b41201a4d1f
+6cbb4fc5bd4eab08398e9dcbb7da7e5f
+5cafec3e4f80b434e1cbf712375411bb
+58a2c988d0b66d2b6ce93cc8aab95fbc
+edca7bea0f34dedd1f730952b71d1c64
+738bf8ea80f2fc74e13e276c74329add
+00a2665f63dc9945a987658aa012db5f
+6db2a88fda1593206e0eb9beff0002bd
+58a2c988d0b66d2b6ce93cc8aab95fbc
+666623b4e0b0125071c3f3ef925f7790
+6db2a88fda1593206e0eb9beff0002bd
+58a2c988d0b66d2b6ce93cc8aab95fbc
+b39d98bb81e38ab3bce2727662a76090
+5eb69f71fbfd7c267ad3ad358d7e336c
+b32758773cfb626ca5d445cf865006a9
+e0c1b0eb1c20ae55f37260553c3df038
+a681a0c2c0ba370807b92d5ece1966cc
+3b8bd6f8891858c5c3a1a2f46eaeec7b
+a32332dc9589452df5467660a057ecc9
+b39d98bb81e38ab3bce2727662a76090
+e327779952187f562971a70f041252ad
+91495d79f8736a6c138a8b218e4caea1
+cd1b2235fee41167d9c59cc77e8b9f1f
+c3b0267337cdd237ce8c07612863c31a
+56bae27bc93adcc6a6ad53eabd37d2b3
+c5ad9bf89986184f9d385adfec129359
+266125c249c9b45885366b3033d2084f
+0222ba56917959d1dec40e7906f4f598
+9e2db9cb599cd87f44b8cdd09e2cbcc8
+58a2c988d0b66d2b6ce93cc8aab95fbc
+54c9f3f0b52a86391005a6311f758442
+b59f0309195a8a2e7914405baaf220cf
+e0c6e1d5ceb93e16dd404a6285113f1e
+d3c8dd67380083d59399718a5879ae05
+25aa0a88bcc15faf9cd05e6d53b60ab6
+60e6b8ef7f7547dede79cb060059dd3c
+161d839e5f2f6cb8d3125309682cfbf0
+2de55761a84448d485dbc3d229cb4939
+478aac10140cd4fb4cc8d12f5b22d0e1
+34a645fc46b073fa9e5e7df0bc32710b
+890e2d06c7056beef7a31674e6e4f050
+afeaf550667beea9ecbd7d2e8d051edf
+3e2da1786b55104d26d967431e9c9ef5
+f068c0c725ad386a3a49e1b20b1cbdda
+e138f7cb94d29adf56f63aa673e6e380
+4031f3cb68cb694e0c07d65ab7c161b4
+bc8826879ec891014b0bddfc9b989b5d
+0f20f8e38febec51717448c3aed65c50
+7fe4513979a73d4ab4db2d2c603db101
+b1cef091695113e3da69a3f234bfa189
+58a2c988d0b66d2b6ce93cc8aab95fbc
+f5e482875aa255de32623a361c40a551
+f1722ae1db5ca9d50c8bb324ce283f72
+6dc8cc79b1e2db21ff36e3f324cdb0de
+f681fd792d3466e008337f236c8810d6
+5993b8b87b67cfc2507d89ab1262bc5d
+41a52d5c9f2df3c7af797dd69816f524
+1763c1791aecfee3ce324a4eba3a84c1
+0f1398dd119dd6fcd49cbc52a7b05004
+4ba23607a893348e170e084917d3970a
+73ca4fccf323a10fd9c26aebee766259
+0b4281582b7b622caa70a459c0e005c6
+06184d1e254055c0395bb10ee94a674c
+416b9b8db2be0e5d31bd6a706cc03d54
+6fced1c93e1c6e84e0bef0dbbf879b6e
+3647ae47510f661db5837aa8927e4d7d
+3843cc4bf1d5134d07cd4abc19f465b2
+389197b22459f26ea023e8cafd4f9399
+10e568fbd6529b516c2fa08f485ea81d
+8491e7cbbd7f6a2def1d6d94d524cbaa
+2a6f0738fa31c6a5d82c72ed768de2a3
+fcf7e6d6df8af660611c14f3b31d45b9
+45571eaf81508b410ea2f7003d411e42
+abdbff75ee289fbd9e245daa3686ef8d
+daf3a232ebb1e7469de16c8074db6ab1
+45571eaf81508b410ea2f7003d411e42
+e5e2b3fdc93485c294cdd3565e69f923
+f51b0395fe5fc782d9079c006857c969
+7936da42898c516636e80ab8cfe646eb
+dc0c7749b0a222d677342ad45331e186
+efa80876181eab21e8b38ad56303c2c8
+1c6cba64f397b5d23b2c5fe6f5087643
+9985f7cf44fbd8e7eb467e56d5213ff4
+4cea0396a1d0d92c40253ff8d069101d
+abdbff75ee289fbd9e245daa3686ef8d
+6f3374d69a9d16bac36f6bff77b6cf55
+f9bdcbf493b0b8b0aabaee53a4c08582
+45571eaf81508b410ea2f7003d411e42
+3399c95415cb3208143b0e6219d778df
+24d2fd91b67491fd629a40e3364d4802
+fb9f8b8e6cb2e996bf049a88490cc79c
+af6206892c81d20e364366a18a555418
+372e64da0a8d819af269b95c8edc9a1b
+05c666b66d419f94899ce39947ded7f1
+430b72db579c94808f8e7e74e24d74f4
+b0ba748daaeb8c34d080f46042e83002
+784379b175dad9e6a39211dc9f9bdedd
+af3a6b5de1f970c4b9c5a76218c2c5d4
+b2a03fe9f59d71fb77dfd4150badebf5
+a47c7bb8c5a59628b5ae7ae1d6cfcee4
+95c35c377c061b148259278ab3807966
+21eeecb64ac5bb447a7954b2f579c28e
+ef29bb0bec8a7496f5475ffa31bdee08
+4c7d12c865fd08e2c477e30eb9f52c7a
+1b364f332655290c9fe9e230541e5d31
+1cc96e3ed03305bd3d3a1611564a2de9
+4bcea519a6034c95f6ee8b7da8896112
+b3f09a8ca9be076045ad2f892dbd1fde
+be30ac466cfef1ae9293d5226f9e3a70
+65b09629495035392a6a92dff03542d8
+333962b7606461c5574a21c214d25b1b
+5fdc613ce707fe8584d9bda5a0709858
+78df2e3f732112fd1955b5c9e19bebce
+4c1372dc713a5923548eadc829b551ea
+fa0bd931cc62d720f623f02097c7921d
+771379084aa511e8bba944f7d07f7d81
+44ece04d3460fcfb705a5a5b56c131d5
+0fb6b2716f2b5fae38ba034e224f414a
+8b2c1206ae1778dcc7a7361e126a6ea4
+bf87edaf5c88ce65d881e3a1646e1426
+7326d1f8d20d4aa60f08ea34860ce6a3
+e6f93551eb972ec96d651a57976eeb54
+5e354680eac4f34f3091a62aeaa977a0
+550ef89897af8e22f484d316f40b9c21
+8aec9b0cb6adcfc7daa01d351e81b739
+5e354680eac4f34f3091a62aeaa977a0
+59474c254435d56c394101a40d19f10d
+3ba59edd63df2ed262b45cc824b413ca
+6ffc322cb5ae36786bf9d0df120aabe4
+416cdd6485f2db1deafda388613834b7
+74086dc7871e50bf4477bc88d3ff66f3
+806ce9289812c757ad6fcdece01314aa
+a733e692fb1aee62d8a1b1597b617fb8
+4ee1541e3bf36de7f92ce2b914d3070d
+b76ca52d828529928d6a4729468dd0d3
+aaa26593efab0794214884a89f14ef6d
+32ca87d4fe0cc77bd9b9a9db585a941a
+3d9a9a61e133eef8dc711d9c3050487d
+dc9e1fb2ce029d5e7149388de0c8d534
+367f32d13a6882b74488805cf8f27210
+0873a0d2196782e0f1ed240436d10d6f
+3e889b18a9c8e5b1bae72163b8488d17
+e547401683c9a420e34192eeea0f2fb6
+d5d07346b145b3447e588035af84d7a9
+d18157587ed5e2327ba6855df7d92a7b
+2d332659e4aa878ade2d5621f3b1caeb
+315be287b3e54ccf339de0fd748d66cf
+81f2f277957df696ce197bbbd7ae43f8
+f267791c7b86587d352c8497c0e99b7d
+7dd5011420bb8cd18cc704851ace0ee7
+27d97d594c0f6484d1d9c086d8946e5b
+f913bec9ff0b91eaa1440eff5b35a62b
+f77baec5531e71b043684c2e72b5c381
+2740bb22f0086ff33315a943bc9256fc
+9a504e85ca4a43dd16e3213e604e2cd9
+02fd484c29abe45d21dddebf0b2ff609
+8a46d3d9ecbecd3875f649250f5ba0ad
+d826c3b00ff451c9a8b1574a467e5dac
+b0b2b703a9885996c2f1f155cd1c0ccd
+586c4951591b89d7f5de5456100659d2
+79e783b8bdc8b0bb3263aaf2746c20d0
+98c90669d04717d8824f63b3862f991a
+5ca42818c2dde6300c6a95436c8f1e24
+0f10d71689c264e8b2e807ff73e6e4c5
+d27696be394287df065f2eb530644183
+3090e3b45c8873f3eeabef835f3cb7ed
+93921f2a5e9ceb72bd30195b8a58f215
+3cfba2e7ef540048555042cda51e5fa6
+315228460696234b43747b3b6f214db1
+b7c6b6b7373aeeaea44f4d84bd3ef75c
+5fee67702711247fd8becc0e5cfb47f4
+6ce402ab72dc2dc1af209f8b4b8f4ffc
+7735831a42b88dbdf907b8e76630f2b2
+c92bb4082f48b6d7d8a2b40b10decf66
+5d608080a5828b532d97f0c43778bed9
+4d1c7719b90543dc6e480b936e1a855d
+f21fd7a0b91ac750c89e33010e64fc01
+156cd352a943310625fda669a78ee97e
+ca3fc6f87788e442b10793fa29acf640
+987eac416c8de582a0c25da637bf2fcc
+ef2a6194faee13701abe90c98cb7fade
+2b1b10eaa41a70e8ec5bcb9d899fb0be
+e388de2016c47997d29cbc24c6cd10cf
+77cfa3d00f71d584a2bca25bdec6820d
+91724bd27bddb3df21b40c48aad90791
+d0592cdbc358efc7a486a3b329c2af15
+0f0d04b7e929713f16346cf91bb6ec2d
+0791f9ed4ca12a8fe5b2300ce3ea8f99
+9b0bdff22a4beff58700e81405193bee
+8a36e0ac38a872bc73e20e6c7a6b9de7
+9272800fc5f0d33d6a70f4ebc2273201
+6d24ac7e1ed55dac470fef71dfa5ce39
+24aca7164dac274c8da71170ffdeb908
+634044d61c177e0d81ea0d8602c38964
+06b2351eca0a453e3dc22c62b9a1a408
+fcbcff64e367e7366d4c20719602d2f6
+ca71382a7ab5c21aa51d515c520d776e
+d826c3b00ff451c9a8b1574a467e5dac
+0a060e35aa4d8ca5424747bc40811ffe
+c1a918c4deb9cfde868a2542d5ac756a
+aea3c9c471d73cfe5a7622c615f6eaf0
+745a0e066483f09f0daf44328eb43cff
+d826c3b00ff451c9a8b1574a467e5dac
+a32f170556d20fc7d6a20121b43366f7
+fa413cba3030d710f7c7a7036ced0b3b
+9fc07ae66c6c10a33bfbb3b7aa947022
+9a881a098d7925c15f6062c2fac95a2f
+205e729cad1ebfa59e53dba1e2748f04
+539882f7df7f20f01d05407b53c40432
+639a82311ed0da96372bc1d54e1ff1d3
+8c04bf27ef29b2898ab7e3373252eb79
+ab3075d3678e686fc53ba80ae187a99b
+979085742692c83ddc1e739bd68dc5f5
+b7fb9810aa7ddbcada39aa355e622732
+92857e5d577ef01efdf995cc7c467349
+658617a42344c6406217dd03c2a57858
+bf0d3ca89c09330f7ba529a9ae58587f
+082474e9602615053e55d32d1c46ec88
+f13f097f6070055b27a1162c4d2920b6
+925f273562811f58a8c6d1b4f34135c8
+9c4875d0e43926d40e6740037c387456
+c92c2919a9ad33beca1ab2b3ef5a2965
+c94e9a8f61652e6e65cd2c59ad5466fa
+962d8e3793a02cefd08960878c6a756a
+d6d9d6eb79d5434984d20b1b1878fc3f
+2031e6be328f1331e0f4596e87600e46
+0a985e99899087a2f1b26153f7337ec4
+9e249b91d401d3ed1eb896d24a584668
+292c65f1b7882d06283a461bbce7a70d
+ca5cb62151fee202cf67e5179081abdc
+1b057897a8dd2edfb14a66f2d377f2dc
+6ce918c85ed081ef740a1c43bcfc586a
+982185e5406cbc589c74ae89c25ecc04
+3681f3fadbb606a4685d36be5202f9e3
+ddb8c78e5eb424febb2ccc41b372e1a2
+1401f98d312fca05846ba0efc006303f
+ddb8c78e5eb424febb2ccc41b372e1a2
+394b955a6232a8d01f8f5c9d029f7fe7
+5f0793059db4b2f118f5734eaa038090
+cbe53be1e78f47bb25c34c9d17676f4c
+4b3a30d664baabda2f379bb6a3b1a163
+4721570d8763f427b8d120dbc30f1784
+df94b43fde2c7deb96511ce73d1aefa0
+d6ee6163024329707aa620a3da4728d2
+5b06bd6cba3664cee05cb6c921139b04
+94ec1810d72eabc3672d58aaaa953b06
+5e05968d5d43d087e6b8e94189ea92b7
+7728760b1dc585fe1569aeefb171c9fe
+7728760b1dc585fe1569aeefb171c9fe
+6e74848ea6bbb152fcd7decb777fe1e9
+2042c16d0564e39588f4c566e88d83d4
+13c535604465318f68b13e8a44c5bf53
+6a043c1c1fa07a9c655dcc14cc5072d6
+d437a6ab22b9e0c471acc58f060641ae
+d437a6ab22b9e0c471acc58f060641ae
+22379ace731d783956fd7df217f82af0
+22379ace731d783956fd7df217f82af0
+88b785b726f657a9fb58b6b23eda4def
+5c861e0c9fa46b2a4770ea00060089ac
+5c861e0c9fa46b2a4770ea00060089ac
+540628f1a4969c5c81d931c6deead955
+be04e1cb461fd76195c9e278d8c02e0f
+2c4f7c17328d6c24de71eb62432f906a
+33bd5201c88cb9d777f6a8bdd0ff2e0f
+2ef0831463b3d748cbf02beedd617dd4
+9131b317d84ad10cd04b7573ecac15b8
+f25cdcfa7056fe3e7925425b39afcf5e
+c8325ec149676606ab59b716a84c2071
+47b7775d30a9712ae98ac8ecbd434d28
+373d1b91d9b394736942612ab73e63d4
+f25cdcfa7056fe3e7925425b39afcf5e
+0351de6a9480cb977ad30ec10bbd3dbf
+a03948e779082629bdcf432816834cc3
+a05cb11cf70d31e74bdb0a1b25cf948d
+a09eb33836d0dd413403be6f2d4e3c9b
+0ec24e48beb4a424da9c7d592783444e
+5fa12dc121b7605e8bd1978ff0f617ca
+ca22d3e2ad92a5a0f320897364395d89
+4260822ba3c711de14dde81e00ebc17b
+0ff7331da805d86cc061216f9b75d23f
+b890472a766c3863d616a82a099f1054
+8c80529c710568a5a0845832420390ca
+0351de6a9480cb977ad30ec10bbd3dbf
+14fe784a863448bed31f422798ec4f95
+0351de6a9480cb977ad30ec10bbd3dbf
+95c8d0c26d7b1967f8f8ff738f2ce404
+b0ff445e30b21c52b2ba4082b8c1e3df
+22a4d1f5631245d53fd6dc10cf70fb38
+ef25bf4c281144be21fb8b1ba03cb502
+5764b1803fa14220e3b0eaeff6f9cf44
+aac6c20cd01619b3c22d73fd19c2002d
+59a092177f9d0749620080c1b333298f
+96de8ffcf516e46299a064ea3c2e2c0c
+17b5c80b95a77223d36ce86354a67a56
+e49d68eb5b19930785a854e2d684aca4
+0223c0b70da01b055823a82219b75a68
+69971e502bd819622ce998cf29541d15
+9fb0b461c2823f1201b491367b711acf
+9074d71437ba88dcb3436e1d60307476
+35512643dde5d6f7709e895e151b4dfc
+e5312d7ad53240000d3af34841fe0c4d
+89cf63169040b5931be23228976ebc8a
+f48ad8a3fbdf46aeeb34fe74a81a24e1
+f42dae2b7a3b1c4225ab063cefc7d90b
+698d37b46d240f77f56054591c808b94
+2de913b2f0dbc1086932b477ad6f6e06
+bda5d068417887e090091477eca4745f
+b2fdc1d0050c94f7381cd5d99e213e4d
+b06689abfa5bb588e0f1f187c5bb235f
+76c5cabaa9c7869fd5e0e9da51d769b1
+d41e77457bc86b84ad47028d27323ebb
+e6f270555635b3e567b4b00e397566b0
+0855bd874425713a105e461c55df79e5
+b681daa74116b86d380201892733ee0a
+69a90515b910c019812fad6686dfd6b8
+6d23c744844045d9b3504834b3910602
+e13a81af8d63e252ce94672270b4b42b
+85b040c075f246e2a43274c1c7226d6b
+2f725a8c0412d2ba833646523bd1595a
+dff7ef21a0735ee05d2f3ac39d751cc7
+6a29962fb777b6a85798ec6446ca752c
+23835f76a7928f4c90e678341349425b
+0de69332b5abe0d39163a8ca9f21b2b4
+23835f76a7928f4c90e678341349425b
+23835f76a7928f4c90e678341349425b
+0de69332b5abe0d39163a8ca9f21b2b4
+06ea6f42c1444400c4985670c961642f
+69145276ac71425523a5b9dc129228bc
+2c22b5c10216b8d88b8c18a2ebcf7cc9
+30ddc55c5817207c885f2595995676a4
+e265c386416d4966bf43de588c9bf1c1
+ed42315322a7003eb8e70134445ac664
+7ce6849af6a7caac96f48521a86382eb
+473e3ea2ae4515e0d88f5ad12c135971
+ae9c799193ccd3b8c7e6f315df58092b
+d69360407336e78aecf99ce9f390df50
+3e506e4fe54772a11a88a073b4e95b95
+4410fcbbed27dc2e2496dba49aff4f20
+506a2beadd83ef1b3f5bc0c8c3213ad5
+ffa2cf80aa9cf7823c6b4b6b3db94443
+1d75d792dafbe9c2d63077acdd14d1f3
+9d5f7a78847e2c335121d6afe83c3fc2
+ce207e6bf677ae9a68548a9c631cd806
+1c5ab05dc237bc27483819f5295e6d1b
+8fb2cb963ec4975bdae1deb234133efd
+a6c0ea7bdf62a2c711de4c48502592e4
+69618f66664ed6a621b5eb37b38f3861
+14a5e570ce6f164c8e63b06b653329ca
+91273a58c82263c11b7a83d69a284013
+b1ff32904ca0bde1fa8baa8ca462036a
+9bbd4462c23c4944ffc06e7a1a98ae11
+24b69c95bbc24fe1d63577bbedcb1a1d
+9c1c45f7407b745392be02ff77f3d346
+6b421f117217734045eef4186b255b77
+6b421f117217734045eef4186b255b77
+dbf88926fa7aede67baedaca5041d014
+e323ab39f36a2f6c51b8ca91fff56edf
+4a08d374c93abe2177ce5fda4cd00365
+c061e5dde03ae2c4aa8d09e41c6d9fdf
+c4fa15a912a4585ecd491e91700bb125
+d62e03503cf240e737fe598277e6c2c5
+a61e86465fc293d6d80b22bac38fff33
+811918209fa6e9562de79a7a53a2d3d2
+6f1c5c70eff58c4f94fef13d4f13d483
+24c1e7f67845c9620d1107e63c7b0641
+fc636be615f40cd4830571485180a146
+15f65a5d1d32a4e3d7890e9cf7df7a44
+5fbdcdbb52a110687536f6da489f3683
+014b999fd9dc030bbeb5a4128bf80ef5
+04720ce0ee7e6efc25440c8497c6becf
+c9fd1750738ec3646c43904ee8c3992a
+4f4236d60f6ea355535c252c5b663494
+715b30e84120cc48f0efe7297b8978d7
+506372af96dcc6704b42b4d336085b47
+f0773559a6ab9a6bf4b8b0abf51cf2c2
+dc74e80af3ee4e21659fb19d914167f6
+2f5aae4a7f46b8796f54bbb2de098d43
+f51d7117faa571fe2ebec05ab78bd76b
+557b5676b91ac1f034ea748fed8acecb
+e79cb449729035711264626322af6915
+4f55bb2c90875796d4c00ce24ce9926c
+5ba6956a0deb70034825c5e9750a38df
+555b832516c20cee7a18afd5f571f663
+817caf4f094b24f854e7c38f6b12de7e
+cf873cfb216deabd7bb8e0de5c984d35
+ae81168491eedeb975835217f35f9c33
+9d61d0718e77d0552c0cf855f3224fe9
+16987662286a1463e9c34f9b9195056e
+53d0f117711e6392cb5e444076315c6d
+bb5cb1f907c369b59c46790e40795946
+9bad74eccadec7261459f747a0ad3836
+8e35bd8bd1d423c4b0182be954d69732
+6e7444756fc5e8b31d34d29ebaa84be6
+6c318ffea1975038c16799b93ca3d55e
+2a0341417cb0dbbb7283a701ed65f576
+9f9ccfc2a450e0785c848b315b57ffda
+8e35bd8bd1d423c4b0182be954d69732
+bff0008e477b5189abee7a41fac3fbf6
+8a70a3c1193b81a51f647fb0698a3734
+66cb2a03d0a97eb4a60eebbc795a34b3
+c7dd8f8a53881f41308018a4e521ea6d
+1012122452ada231f9b4855d602376e9
+db8fc9bfd64f3f280e2a08714b11d4e6
+99176b5ad099c3ec4b6fafc32e047913
+3d6b54373b519087fb1f5ed91cb7448c
+fe98a080cdad0589fe1e6f7925277d13
+ff6ccd54c6d9f4e6736f7cd0cf406171
+ba2899709dc6af79643519f989b64010
+8e35bd8bd1d423c4b0182be954d69732
+cbdc52fd5ceb09d10e417dd678c66cc8
+8010bfe501f3f5eef3d037576e1e6e15
+bed8e7689f72446faada3c176c708456
+c71c1939b253a771c1e296e0ddf2df77
+0ab6e7243f2e45d738627c08d176aa16
+ccdbc9d580f6a8bc51d281923a4f02c3
+4c978c39d782c54b771f757ef0d39ea7
+81972cecabb091aad23051ac0ff12b86
+fb8a6e1fb36205ca99613327005b14cb
+9912f63f50cc862ad33e7d12c59fe5d6
+ed17b07bd7569004a84741bdc085dc25
+d894a5cfc288aa87a95e8ad94175a578
+b6bc4a09762fcfd0352022d0765ac0fc
+9590dc9e47f6ef09b2084059490fbdfa
+88106a90a3c5ba49d7aee5d6d2cfe38e
+b7698ea83d262d8ad5923f2b7e48f4f5
+522e0d2b4d8b4cec6263554326677b50
+6bfea326ceb93975b6a89977b90535e4
+0aa2105be42bc671d8dd9c7008c47c78
+8e35bd8bd1d423c4b0182be954d69732
+d670ac1a5bc5ef672682b9b93874339d
+0070e3327cd50f86c218e619ea4afe0a
+7ce49e0fe13b32150416c33f1efb16e6
+13c2b59b43e36739728a075827709712
+47c987b4f7dadc7a2e3398b1806b41d4
+7f99cd137a18f3dde2c288799e3351c5
+a463c1ea289697077ba4e5ef6b68186e
+a1f247b8fcb69225a64751e7edc6079c
+d843f2dae3cb83bde78288eadbc3047c
+3880e3064b64cf3050ff7f1b57adf785
+2cc723863bb45fde65d987618106f237
+7cff6ed7a948c08302cd78e610cc979d
+a61e86465fc293d6d80b22bac38fff33
+92b898e44b34a3b92a50e21ac6530d90
+67465ee510b4fe038c4c277f9b5c72b8
+d43a5365fc001b49e39268e061c83e16
+3397b8d5e84bf368672fd576c69abd66
+523b28f1ac7750da54fa3e1a0395327b
+6f5861d7e29e2f7e068ab340aeea14bd
+f4702aabe23cc6633976209c23d3865b
+f782776f8554b360cd712099823350d1
+ded4921bc8507a9a1fe6bd9eab9f1dbe
+f782776f8554b360cd712099823350d1
+c4056310668786acb09477f5294247d3
+4d0c337ba04869ade501fb993d26b27f
+637c167a300eecfc6432259ea639a147
+94156ffd93018d58bdc381ec7118bdb2
+2c1b156e4178058d5f3bf0892205b232
+5337500134392541ca9f2c2f7a201d33
+a09503f5ab03bc99cfc7d453006027d9
+15ceae8727a3d9a991b4a9d510934db8
+3d9d6631fee9b784748366d8ea0ba70e
+31d3d069aee89cca93a0572102c2432f
+733ca51b61b5dcc64399e53fe4097437
+f1e55b056e994c151cb298b2e592f38c
+8a70a3c1193b81a51f647fb0698a3734
+db8fc9bfd64f3f280e2a08714b11d4e6
+8e35bd8bd1d423c4b0182be954d69732
+3323410d5861f1f919054aeb8316aee3
+8a70a3c1193b81a51f647fb0698a3734
+d6e39df3ca05cea38b722ad3dc569725
+428f25c747026082e9bc75a7f239f6a9
+6aaec7e00c75182f7a58c854c021ffdc
+db8fc9bfd64f3f280e2a08714b11d4e6
+211ffe37124752bc8105eb7c2841454f
+7a9ae41d0222084bd1ed2601d98fbfd9
+8a06f685de2da034c90b7295ee3edf67
+32fa2fe694d0ac17ea4d86ea67932d1c
+400669edbd61188885a571c6ee9ffe88
+e242ae64218560a21bf8d18896c68362
+9387a3cb3368e1a897d63a1728972653
+cba3128ef41e87cbbae98074d677943b
+36dde9567ccfc9efcffaadbd5c4f4b67
+42440810cbea513df61b55d6d302d016
+d33275097d6bebd585677c168c300edd
+3dcc084ce334ead658d20ab550708485
+f40e4a927307e90e40963993505a5176
+e12d02607660a1ac3b0a9405db345e44
+3a0eadfdd703555642e597cef7b616b1
+8a70a3c1193b81a51f647fb0698a3734
+c7316a362f39d78895736adf9acd879a
+7e76cf4c585d45677d98ad2ad6aeb706
+4e243f083fc26a4f21178666a7fda7e6
+2bc72a9ef1e53568deb5e11cce4d9880
+a9562c727d00789672d295f341b69f60
+7727024eecf5d1e9cfb53c7c2ac6ac5f
+ae0f249fd4839603b7af296eeee6fa24
+d1cb2d8b299671f03ea161cf76395c66
+b35f762a0f0a611bafe5aa1beabaca84
+41f1c2675d65e96b71a882df32b62658
+bd40d4a08f61ac214d793bfa0254f872
+6b33fb0a9c5afe25767a53463dcf1ac6
+c7316a362f39d78895736adf9acd879a
+708943dfe95663bd69b1a769cff9986c
+2486e6dabe6981225cb3497ae033782c
+bc26f4f092e950c2977371190704b86b
+0e46504839ef77de7bacafe6235e09e0
+bea3bb1c77af1d40753744033b7aec41
+809967d0e9038d16eaac66d799bc23e5
+78d22dff10b7e0015403fa655de6a612
+809967d0e9038d16eaac66d799bc23e5
+8a43eb20a34ee9fe0cd5c5323772eb2e
+8f322558059b0f17b5dfd19f4e62987a
+6c1959eab0012459d92c87d0e55feb39
+0ccb1ad0f8634cfd10af152856b9eaba
+186db86d5a27c9e822455dec2cfb2e6a
+a61e86465fc293d6d80b22bac38fff33
+3fc476bb4b09700246c5cae3fc9b39cb
+a61e86465fc293d6d80b22bac38fff33
+a970ee2a9238b60d1b8884096a56003c
+efa63db11734c309b9a8091885d947e9
+e7f816a320aff65a07db29e7c05a9034
+278f8995896ffdaf46ec5aecce790e10
+edbbf6cd2a78815f80ae58868a3e9bac
+53aaf24521d2a1793d144df012c39055
+d670320dae200d86eb31f24aaaef5bff
+8e35bd8bd1d423c4b0182be954d69732
+41d9f60b2bf1bc3a04c747e3eb3303c5
+4224b0f0e0fa5b680509afdf546949ae
+fc00fbcdbcf92d04d79b39fd9d071cc5
+7bf170f9fd9316e0613c8b3222908a07
+ef1285a93de5d4cad06811857fa901ab
+4c62bf9c92f64833a70bdc1bdd0462f9
+ad50e82b659fbfca6fab2cec343eba57
+8a24bad7e1eb02757d310f062dc4b0b4
+df60133fbbca86ea80be0478bbc4e88e
+291b5d6e34c4c7f5b45a1b225fade548
+6971d04942815ee3fe1a72c9769aeae9
+0f2b75797ce5b5a04b1b6032e4f265c6
+601ce049e75add41e71d0f0a0716303f
+68fe262e65da9401f247c08231787be2
+1c2ed24cfd63198898ef5bc51d7a093c
+8e35bd8bd1d423c4b0182be954d69732
+71ebae9c6b385dc32df250a9bea9db28
+3ed2368cad1b83366427728611882d2b
+4cf6038bdcb3cd30cad38dad91f06382
+8e35bd8bd1d423c4b0182be954d69732
+a1c98c415b355b6cc58338e9e8ba2a5d
+94bd995f25c62b1473727646048de1ff
+90d3dcb573bca7c07bcb6f4e21fafc66
+18f62e7c6aba6d1f21aae503fb55e952
+38fdf0f5d9c34c53a8bdc238af501cfa
+64cc87696bbeefde4480a5575f839ac0
+c5a2bc4722c8eda6201b1d55decb3363
+b1eedc171a86d7f4708e465945693415
+320bd2fb2b393dade03c9fcc51899827
+b873d9e67458ba336d92aaa7c4820241
+89fb4937ec959eedbfb1b51f1002d3f2
+37de4120e47b37f7cd35e13ee4f3542a
+513022556daadae07e0875077e8faea0
+4a30d618787597982d93531e9463a8cf
+8a70a3c1193b81a51f647fb0698a3734
+d3f2153fae046508e5f7ac7b6c446d32
+1f4a014454bbd14c0014da86982dbee4
+9d66d95a7ef8bd5a8f001798c4ba5ae8
+7383f33925c79dcb9516f59453a355a1
+c69df1115ef90701fcdc23dc4b876bba
+0e193b595f00cb8b4a667f45c57f18b6
+8a70a3c1193b81a51f647fb0698a3734
+db8fc9bfd64f3f280e2a08714b11d4e6
+a5638a80244b3f7d9acedb284c7a51b0
+8d7141055337722b442a5494387654b1
+13fc166915853ce2b96072c50196a9ac
+8e35bd8bd1d423c4b0182be954d69732
+5a4f722bcaac427c9695d4221167b323
+13a62187b5c9acec7890d10c9745bd60
+4b9a443562c0c326aeb8eade12d2e39a
+8e35bd8bd1d423c4b0182be954d69732
+0d4409ae6ee4b550b238f37e68141d6b
+6f382fac32b134a3627e03d72522cb8f
+5e1674ec7750dfd5c7381ce8c19fec89
+6f382fac32b134a3627e03d72522cb8f
+00fa6dd5314fa6c9340aa0c8dc3be8f0
+8e35bd8bd1d423c4b0182be954d69732
+eb92cd71bd72f07682ca8cfdd6479bbf
+00fa6dd5314fa6c9340aa0c8dc3be8f0
+8e35bd8bd1d423c4b0182be954d69732
+692971a55c3b0374a5c02371805129df
+59912dc34063922df7a9318b3f716842
+8e35bd8bd1d423c4b0182be954d69732
+d2652880970c7e520d9a294217518a3a
+8e35bd8bd1d423c4b0182be954d69732
+d3b74f8e1989020615374f13df56d37b
+cd2119650117fee81343a2e704b860fe
+cce521a7e0a73da709e5867539f505e0
+7f01b93791be0bee3ceeda2c9e8888b2
+cebb06b969fef060e66beb71db6fde58
+21bf3bd7324c95948ed6d148baaf1c7f
+03682168cca135f190bbbf7e1a6bb163
+83bf5247e3803959a770676859a0cb5d
+de7914eb8f440aa19bfb5897f48b8641
+292a2b73b75ccea1f8f704ef90f3e574
+d1611fcc921febff3f3877b74aeba0d3
+1b61f4d1f4209ef842a6d2969d5a5fea
+0266d67e9655dd09c776d86bf290f952
+0c3dbe4dd3e05074de42aa1a17aef595
+f599ff51d8f937b79826794b8005d3b2
+3fc9090d16e75f544478572b20772b2d
+fd0bdbf0359eecc1c847951167634534
+2d319fee20f4e377d74e4c9f11ed90dc
+0ce4603f05e789593c332bcabd89e761
+428f25c747026082e9bc75a7f239f6a9
+a9a601ec1574407475f3ede37b801be3
+75af969d2fc0b3fcefbd1ac2cfc9ee4b
+bbc4387b645add5fa23f0c608549a98e
+8a70a3c1193b81a51f647fb0698a3734
+7e01fa1eec6f1cd59dc071f9b9733fe8
+bdbd150108a794b8d7bfb7cf991fb9a9
+df5d0bda23c4bca9abf08257d8f8ccfe
+e114f7f5bbb1972c2b734072bc3a0ae6
+1012122452ada231f9b4855d602376e9
+c9f24708b2284ad45ab514b03e7b35d1
+edbbf6cd2a78815f80ae58868a3e9bac
+53aaf24521d2a1793d144df012c39055
+d670320dae200d86eb31f24aaaef5bff
+8e35bd8bd1d423c4b0182be954d69732
+adb825a591bfb836758cd515d87e69ff
+a93a036ea60370b90c09d690f1e8bc38
+7ffd5074a0719b399df4597b187d88e4
+ea8bc5ec999dd0c8664eb841ab4bf696
+1f9fb91bf2adb29e234f0033b6323fc6
+ec56012eecbc15a03f26692e1d584c8f
+3289a12ae210777d149c299c46d145fe
+7a2631593665569ff9d47a1fac786f7d
+d11976a1873bd92abb4e8e5c43ac9856
+c24440df6e71ba2ba3db54b60199022e
+22ea17dee8206438f1e86fa9b9179e51
+d05b9d048b6f9b3dfd8d818b68255a84
+54af3ce439e9943858946a0e6f45ebca
+dbc51d83dd5237ebe473fbdc681fc6d5
+0ead3360dc6c01386cbf8d9a213bbba0
+3a5f81fa5d5d931708433756acaaa94a
+b78b24c869542ec4ebe6898acb108f0c
+a323a15fa94fa2fadcb373a6dc53c9c7
+d9844a32026fe48e218bd57c2b930fd0
+3b0f54ec94d98ea37b03a219747d9d73
+3289a12ae210777d149c299c46d145fe
+02fb57d6f0b3eb8b99c6f5a8c97d9fa3
+9388ef6cbc0ef01d7f887f0e566282a9
+73b5efb6752d1e483019e6ef353c93dc
+3a5f81fa5d5d931708433756acaaa94a
+b78b24c869542ec4ebe6898acb108f0c
+3b0f54ec94d98ea37b03a219747d9d73
+c43c1c7fe40e5d4b3c7b0223a5de730d
+3a5f81fa5d5d931708433756acaaa94a
+b78b24c869542ec4ebe6898acb108f0c
+3b0f54ec94d98ea37b03a219747d9d73
+3289a12ae210777d149c299c46d145fe
+c24440df6e71ba2ba3db54b60199022e
+e7b219e531d0131302cbb581ded7723e
+182f151e8a1a7e7b131536d61085665d
+e21c75deafd4f5ff3bbe7ec7fd69593c
+3f9f3b779f5bbd2a58aaca4b20280277
+8ace312dd12fae78d08088dccb622bb6
+a06a140039cd02ba98900b479022fa03
+a3213fa8480674bc56b8fbc16d04fb5f
+5fc56584c549dbd35364c3fcf56a5b14
+f9cf2897c2aef80d470aed40fb438747
+1725ece7e59a4c48ecba7362cab6f842
+8e35bd8bd1d423c4b0182be954d69732
+8fe8817a784dd0f0cb5246302168d934
+e4b5edb0ce0e21b8b00f5eaa27d150f3
+00aeab5dc6432b72de7971fc88be74e4
+16fc319ebb5afbbb89932fa6a224fe96
+7cca9d838c6efeac21658c19ad57c57e
+13a76f7a425a65e16e430181fe1e83e8
+34e8321b976f70946a15076184bf2162
+55fb3a47d33616dad3925809a5cf623d
+f453c61b22b2053cda500e2e96d50ed7
+12e23ca1172ea6834ac13eae84a77075
+802b21f87c21661e1052994483d93a5a
+5c19e4fc068b9bd64f6561ec0044b304
+3f736ae737119133a0084a94f4bb2962
+fb3dfea6fbfa38115e895807592730dd
+a6b38ca7ba4aa9ebdff3296aac927f57
+aa1aa528f416ea76b06a0eac1326819c
+802b21f87c21661e1052994483d93a5a
+5c19e4fc068b9bd64f6561ec0044b304
+3f9f3b779f5bbd2a58aaca4b20280277
+3e36ca47f02179a142f81a78f7e504fc
+17aecca37e23aafdbd6964d09225b1fc
+c24440df6e71ba2ba3db54b60199022e
+80402c6479871cd5a85832869ae963ab
+5acca285e37b6777d8b845081faa67fa
+72a7c49803cd4abde16f17e79643af5b
+af12573ba1a5222ca9ad002e4d8343aa
+3796992687e359b9c4bab31792b3b11d
+6657ff44d33b296b8d0d823cde8abf67
+01fec09e4f9eb7ee624ff8cb00fee7da
+17aecca37e23aafdbd6964d09225b1fc
+8f0ce8b56057bc5df2aa786191e19332
+1c66ba0098b541854feb7dde59600f6b
+1dcd0ad03dff22d1a91219c5d5e67e68
+bec2d26fc008e4a936a9d35b1d6704c7
+4965299a4211828aaadc6b2cb1d8affb
+80ea8f0de2459ca7847cdd3eeea643d1
+5c19e4fc068b9bd64f6561ec0044b304
+c7dbde180cb3525d02726110ee815b5e
+13a5a45eb3007aaf21441d3f1cc4832b
+3f3cf041f3b0eaf0e22a53f249896759
+9b58592276970f506a0aaaf066eb4b15
+9ed32495063db242f05ee6c1c396c86e
+80ea8f0de2459ca7847cdd3eeea643d1
+5c19e4fc068b9bd64f6561ec0044b304
+c7dbde180cb3525d02726110ee815b5e
+c6d6f504380cf10aad2a30c2cf92ddf4
+6f9786ad08d3c03fd3d66b2e88970641
+839c5635d3a4c7248641e4f8f8275e07
+80ea8f0de2459ca7847cdd3eeea643d1
+5c19e4fc068b9bd64f6561ec0044b304
+c7dbde180cb3525d02726110ee815b5e
+3e5f0e18962c2f6e26c825b6f62dc35b
+8107e4595fc4f358172bb8eeeaf1629a
+d8586bcceb3ef57a1a466bf591743a96
+9af13eabdfbadd16988c2946b7a2ca12
+70311f8c300e57eaf3e0da0325fe9f0e
+4074b63fa3ed12def2f6881ad8b4a10d
+1ba6d2dd54a7fe2a67daed25c41b4e3c
+085a0603c229100063106ece5227cc09
+fab995fc4e26d58275cd5c311f871e8c
+26244199797b05bff728b59689101341
+c897fc99018586ad8729cec0e6b9f425
+a09434ec2318d6f3b37772d12e6cd6db
+9ea114c3c50140fb0dc9f0b1a252da6d
+791e8054a11723d419ac934c8c47865f
+d6974c3e26c3fc0a36a213219e7a8643
+07b13c06c3f07a4b014295a84c776a29
+7f60e6a63779e2002bab98c9fc443dca
+1fc9e4cd68db11a29e3729011fc97cf4
+15ceae8727a3d9a991b4a9d510934db8
+95b64600ae3a59412be694e5b0cb8499
+fdd37a82b1f65cc7b80b4a87a2627462
+15ceae8727a3d9a991b4a9d510934db8
+728870df30ed7416f43ed576b6600815
+a2a12fb0bd1cfb24585a22ef64baec9d
+7e9d7208435a735e251d5b645aa2caeb
+0e037317a778c85b6b40c39eb623c470
+1f50b67c43fbfbfbaffb22080fd22fd4
+4d04302de3e0cbe7911db461e2d2f467
+17aecca37e23aafdbd6964d09225b1fc
+42f39b5b2ad0179f74d82a5ce0446d96
+41907d539da480feecdedf3cde8f5e97
+477cd0239bb5a2f41a93559348ba90df
+aaa0e6f96d12e84158b2a608b5aaaf12
+1005fe9fe3878b9cedb5c7138ae7f013
+447ed7502c115b34779e5b4f2ef01407
+477cd0239bb5a2f41a93559348ba90df
+3017d33ec2500516819716dd370b3dc7
+7299d1431ceca5a6c97743d9ef2f42fe
+2e11de64e0ef05cd085b8a938d87d7e8
+3017d33ec2500516819716dd370b3dc7
+e1653eca4809abbfe89f2a73b3e664e6
+3017d33ec2500516819716dd370b3dc7
+3017d33ec2500516819716dd370b3dc7
+3017d33ec2500516819716dd370b3dc7
+e1653eca4809abbfe89f2a73b3e664e6
+4bb28893faf4f0655198a9983a4f34e0
+71becbb0994200926e59eb549b6d9f84
+2cf62c4fca5c2301adc91eb950517d2b
+67a5d9a1808e1382b8791345624e5b27
+e7dcd69c34a333378f37c0cdf1dba487
+99b251a0104d6ee5d403c54f51ea4df7
+59dec033ad0d574c5e44e5efca8e1a8f
+5d445166aa604209f5336d36c4236e4d
+99b251a0104d6ee5d403c54f51ea4df7
+bee384f3a06cec93e550905ffea92866
+e85077e4477c5891de412f6c3f5f1b04
+3e704dbb845f029ab4778156f2d1d008
+e21cd89e45e37e84464428a45b51c536
+415fe72b64c28e126fa4f9cc625b4037
+e772d26fd1a3b9ebe9143665eb873340
+76a7f8565a8c964b4d07dace85dd4f84
+94a130720e7bd55af8c53717f8d9fa01
+15292eab5b66f3bb9c07fe876615e57e
+e85077e4477c5891de412f6c3f5f1b04
+48882d540c17e3b7cf11e37f8dc2f6d0
+201b919f7045007486c72c4708753f68
+c66c33ef2d1d8c11a1fd62d30fe60023
+e7dcd69c34a333378f37c0cdf1dba487
+1e8bcc6499b9bfaaf7cfd888e3559255
+743d62160e9e5ae73922a6caa887a210
+99b251a0104d6ee5d403c54f51ea4df7
+8a70a3c1193b81a51f647fb0698a3734
+6aaec7e00c75182f7a58c854c021ffdc
+f7279eb18f8b8c2f455d73616823006c
+b4592b39f8acda39de61fa4186b1d19d
+aae17f7350338f9746357a877096b559
+15b5a21ea7c689b66c43764fbae223ee
+5d445166aa604209f5336d36c4236e4d
+73cc48d5eacbd0a9aa8b5b6bf390c504
+b767136cbe4a1f889664da3ea046470a
+383b7802d7dd0710188dd8c3825fd3ff
+415fe72b64c28e126fa4f9cc625b4037
+3e8babb1864a94643c1712d6459228a0
+fd2526f9f1e71366090be0463bb789c8
+461bb86792b5481d338ecf54b28fa71a
+3c44449165173f40b21919dc8fd8d06b
+48882d540c17e3b7cf11e37f8dc2f6d0
+201b919f7045007486c72c4708753f68
+73e3fc7ad804469f9894377720e2fa1a
+d217b293fec9bc591ddcffb2b9e7f0da
+7f9a08d2afdc7b16eefe72f6ce74d3a2
+5e47d3fc4453b22921cdbe13707d18ee
+371db1014ca75ded68cace0df7088e5f
+a2a12fb0bd1cfb24585a22ef64baec9d
+23b07fff526a004c6aba5eebdde6567e
+7177d1c64c959ce38a8c6b83e205d9ee
+00701be606baff6d0529f4ff64e6a73b
+73e3fc7ad804469f9894377720e2fa1a
+e5259dc5a071c958f060af33803b8491
+0bb5a240d752cf65e34eb2e8d2801634
+7f9a08d2afdc7b16eefe72f6ce74d3a2
+3f9f3b779f5bbd2a58aaca4b20280277
+3e36ca47f02179a142f81a78f7e504fc
+04f9df52466423548983cb87d9bdeb54
+17aecca37e23aafdbd6964d09225b1fc
+9f587ed19792899185bc07e11510ab86
+8e35bd8bd1d423c4b0182be954d69732
+d5e34a226169f950d5b0009dd4498700
+73c4f83acbec8fbacfe25e087d4b12a7
+c24440df6e71ba2ba3db54b60199022e
+ed55d3f080b89d9b73cdc00b6298f2a3
+14d6b58400486ed6012d39de6a38b354
+040f5af6ece9cb482b5d02bc184faac8
+be7500f28671addf8b1e019d3eb832a0
+8e35bd8bd1d423c4b0182be954d69732
+1759f85fae722a97ea7ff97b146b2fed
+e1f2672146dd8269e3a27d03994934b3
+0adc1faecd23c17cdd956ced14189ff4
+055d3f28e91af0407bdf7076cea7dd3b
+1446775c6950d8780686d5ef326ec467
+93d182895d1167a1145eb6b9af50987a
+8743c4a92d87cb3829a95d5013a01ef1
+7f966562d8d0e5cd5df958ae779d5145
+8e35bd8bd1d423c4b0182be954d69732
+8dbeb9ca18865b84b6265f655bf20032
+6883d484aabf7a294e1f8c3d67228681
+311747e7b607f0be7f29de4922dbda3d
+b7e892994c4a72854bbbeefe8c7e35c9
+53a08f9d1c484aa6ee4aafc4f5afa461
+04e70425ae0d858de75670ceb33816ce
+ca780a14c05cad1384122ba9d0b4463b
+1ca6b25fbc4b63b405b3f7472b14c5ce
+b0af4ff39d8246cd3509fa26690d85e7
+5e4aa7fa36afd00143d5a2ff149e8a31
+7b6cbb85368158509f2b1a6513a7ccf4
+27cfa51cc6690a220fdb2f54f6c4806d
+951f7b8c22c6fe7d280475ba18b15f4f
+158d28a004c19edcd72818e87cca3b03
+292e6ec873c2f1152f7c8f030b03497b
+6c18921acf1709d66972a92c4a7e920d
+2d2b588337348712bb264cdc79132b83
+dc52ae12a43ce43ea1c18b4f9832480e
+93dd1f1856ab3692d2ea3b62b7e7e011
+ac458b4a6ae7d675c88b890cc583ab7d
+8e35bd8bd1d423c4b0182be954d69732
+c1d5d0e1a52c899255d2ccb550900c50
+d058efcee26e952851dd6b21495941d6
+af2555753f3ab2096524c7540a96913a
+a45d759d4adce67d54a053f7ff5f99d7
+291667df47f85c6b110d0b68c018eaac
+a00fe6199eb328ec64c87e5056c08cf0
+5c83881eda7f8e993beedc77b5fdc724
+8e35bd8bd1d423c4b0182be954d69732
+fec73ffb6cc4562a3c5f0be74367423d
+eefb4baa8f85411baece20ed14539bfa
+14f9b023f90889e17471d3ad716f46f7
+c24440df6e71ba2ba3db54b60199022e
+04e70425ae0d858de75670ceb33816ce
+8e35bd8bd1d423c4b0182be954d69732
+52d5bcf505dd09d4f0ac1994f270f6de
+82e1bec1ec01c5483b7ede933ff5a96d
+04e70425ae0d858de75670ceb33816ce
+a0a53163497d4776516602feff46a28a
+df49ab0dfcd25eff1378f9e07a237180
+de688a4d8b70fbeb793d9d4656321ecf
+e152dc1dbfb84202ca9664e6d21d4170
+48c239ab918d8a6d6cc9e6df2cfa883e
+7422e8249703efb7cf90cb1e866599a5
+7c3ee0839c62e90a2cf7df29e6789d26
+c2821cbf0abab4ef21d6dfb60642cb96
+49b6d6dc77912e307638415f57a71a66
+0d8ff497f64deb24ae8eff5b6d04e408
+43baffd1dab7cc9ec49bd7cd7a1a933e
+0f615c6b4904c7abc85fe1bf83e214ad
+c24440df6e71ba2ba3db54b60199022e
+fb5ea1f3aed9799590dc5247e5030104
+901ba683aa54f62f60c1207b48a12854
+8e35bd8bd1d423c4b0182be954d69732
+23d9a8f005a8aebb3d10550ccd44d0e5
+e0129036129d6924451bcfc100d3b388
+941f0ac5ba76ccb2664a8e34a7ca1187
+d108939fe6c30672badd765acc956c4a
+19e4445dd76000b9b15fcb4dd7759062
+f95fcf1e441081743a9c89420775b102
+8d343d07d1003e55de5e289ccf400219
+719569bf4b16285feced7cca55e7099b
+aa605f966dfe4c1a0bd383e244a02111
+9ace7be4380644b0f5608619d6af6b28
+941f0ac5ba76ccb2664a8e34a7ca1187
+96b92762be7d6ba1a8e20f6b290d3c10
+995230b3a4ea67efe57b7fdd6812c24e
+77f339d687b45894173c9fdad98ab2ec
+9864131305052e7b0f64527355d4db22
+3289a12ae210777d149c299c46d145fe
+c24440df6e71ba2ba3db54b60199022e
+b9e27f751a57ccde1d1ed9f70fa56b42
+57dc10a558d23fbee485976dbd452038
+c24440df6e71ba2ba3db54b60199022e
+0c4cd151138b8861b796f16d56eec908
+fcc0248d0be56e5cbad3dfde0afdede4
+4d010c11f4dbfb83f57b546e6e0943b2
+6babeac2ba5cdd16fd9451ca4ba49d49
+c7f6be061c7be9e4dfd534558555a22b
+d4c62dd5997d4edfe09458fac62724a6
+e143cb650661e27e935bbc6c75fa11a6
+b98dd3ae2f9e2900fafc1b121cc1156b
+221c3cd7eeb1361493e461321ad11375
+e60de804001a4e84b71b95fb94c2566e
+b3fcd2ee03bb4f0fa23d204042e7fdae
+3bff1813a3c0dda3f984526760edc6d2
+a64f0a72ca40e857882553d570a3944d
+fef8eee2c9cf20cc090d6c7c91f35734
+cd041e0e69a47fdae8513def918fddfd
+70dac5b622ed9fd74a4aeae659a11373
+8758ea105eb1702d61bf39f662e11ee7
+58a3f3158ab38546aa555d317e67f845
+88dca273a765746d838ff640506a1b2a
+3289a12ae210777d149c299c46d145fe
+c133d927b59451c7f1f5290e793c8bb9
+6140edcb882b02c35cf6dfec49a2ddc0
+1529490838283407d3a855bd840a3393
+a32c80cebbd609b2ab3a08da7438d9a7
+c271134bf5e2dbe80b99f355f15feedd
+57d60b492bc8acfe2389880a89a81f10
+be3bb731c2fa3fe37b8618adab15604d
+00bafbb2890782c56aafaab36838a203
+6dad4f4d434ae153e666165b687948fd
+fb15e47dfc5260144a0403a5fb139881
+bf19c64fd5ef2a2be0ee35c162e70d27
+ea933664c09da9fccf28807105acb5f5
+037b40bd526262416486691f1237d3d4
+e21b15eb95c553b6b692434cb09e570d
+cf3b6c7076dfbffa8f18000ded252775
+c24440df6e71ba2ba3db54b60199022e
+9a01ceafbff982c0d39320fb2152f095
+c74b130d9fc051b75c814bd410da4981
+3cfa1ab0900265f14c31c4da09831319
+c5a9aa9624206f3c20160869e4cc723b
+40a9fc382830111dc22e94114d35e7d7
+1ab74ead031a02fd50dd6fbdd192b955
+4d2983a66f65cc0fa2db53cad321c0e1
+ba4b409bb54c5b236f1fa659be37d26b
+d9aa8887313044d7e89d9124382e1048
+7ac7c2a749f33881354b5c93e5eb32df
+18cd3758bba2c3ab0fe91bba5a8f9af9
+1fa24312af4364072f49604fa79d0f56
+b4ca6563d3f03050d702865c57ce8147
+26319750afaf767cedd76f17ebf3886f
+b4e9a13649bb8fd16ddbe20ae03bed68
+d535e2bce4d57017a561658755e737b3
+62c634cfad3f6bd58d7fd9f95ac6af2c
+4cc32c82ae40d27b1214843f637f5a8e
+6c10642463386999816b5eb788c5d168
+554131a54fd8401bee511cd04a3f89bd
+ec93e04b0ae0b0078623c14c39ef06c7
+12b7055e052bb485b5d26851edcc4280
+fe4e08c1afd1fbeadee2a847dda1b0d1
+0580a40bdb51a694ecefe87947123fd8
+3e1a89b8fad38856e3a24dbc8f6231a0
+9969a11ec1b375417218cea610e5372c
+126d4c24e4e45af563835d16105e7197
+0bbaf370fb068e433551f9e931cff4bb
+9b8201427d8495bf603e93e120c74fd2
+4cc32c82ae40d27b1214843f637f5a8e
+538096794687f59425b6938cffce9644
+d053044bde12006261123c4162f4ca77
+550fef7cd55b107550bb53f96c8815c9
+3039561bdd0d8e57fd5a0bd38edd68e7
+037cef035af7d9cc3ccce2ce77d97374
+6e4ab0310e96c79bcf7b9daf5cfbec74
+b4d6899419ee7aedf6ece583e1fc82eb
+fa5109df3173762ee9b7f3c428eb28d0
+e4b1707252459bc003841b342b08ac66
+60b9ab90929e69fa9d0f94d255d8cec8
+2e6203c7e0b11fb4fa03c682e9af59ef
+c17dee9b0cc1a7b14e0dbca780d5cd84
+31ae4ffc4eb6145a2bf149b61da918fd
+4dd36c0932d6a2ed1340fb785a94adc4
+0f27dd847b6c8a0be883087633b3b748
+4babbea809bcdd419753dbd9ea1700a8
+169fa7301e7c9d857bd4fc3e822a684c
+4fcb7a42c58a35a1f9d56a90d8f813cc
+52d549e8e7253a2b0a7285dad20ded68
+53cad64b499ea766748ef31e58b263b8
+bffcb0368822bfd60209c8e3faf441cf
+69f36278401b09c4f066d07c569e5126
+323eab18b5b878221150c74a85619d94
+5da880f69ec665f3115d8d7f5b2482a8
+e105199249186e565965e687b9f5224b
+754826978dc692717ba02745f24bb8b2
+16fc319ebb5afbbb89932fa6a224fe96
+c24440df6e71ba2ba3db54b60199022e
+3b82224bf86a5362a3ffdd0c2b82160f
+b3054b34bbfce64a49cadac86256a4a0
+ebbd0b5b2568c3faaade010cd4be1da1
+52933e126084bdd10d656e09c6730466
+a497dffa718ccf3885339f0e4556bdf0
+73c2a26d5cca5b662e7d4a12a5defb97
+ad6ee08dac6b7c2b9e20051e7123d5b5
+2feb197dbab3013db716e5b2874deb3b
+927126892af3ae3b09994dcdd7de4a9f
+02f6bded5cfb9faf11c05c50bcc0b511
+7a301dd1db2ea84466a96ee72f99ec7e
+69b890ce0242ac20866e15459e963e02
+b80f1298043c71d83eac9824ba10fff1
+774692284071d61c4915c676865f28c0
+7b82c59f1ac1ecd7794475ff016f3b25
+48aef16b4339e7270163dc542bb57620
+a9ecee6416b347bc4c917d8d6640fea8
+6dc893475f5f49ea85911d2d46fae474
+1f833efb9db322e9398830f9fdef9f7f
+75aade785cb8d3c8624d78a70bb4b791
+ae3754a9e2744c043d87ebec06b30083
+140cc55794f7c3c2e335b33ce06c040a
+5f1f01e016169cb135627628124815c0
+8e35bd8bd1d423c4b0182be954d69732
+8a70a3c1193b81a51f647fb0698a3734
+db8fc9bfd64f3f280e2a08714b11d4e6
+77e9ad320d2271594088cba4689fa353
+fd13f2328339ae449e18092f0d15c594
+f7094037017f74bccb5e36f0a01d111e
+21909267e41b93fc09e21199b0f800a5
+038e7990b4e13858e242b812d488eb21
+80ea8f0de2459ca7847cdd3eeea643d1
+852150053b39190f43ec5055717805a8
+df30dc28bbea03d28eb5ce6da878339c
+bc7b7f1e6d06f0f34a22e4fa38be702a
+cdc5ca78af79585b246f5f112ad2a5ba
+0bfb0a32d94cb1eea7a96a000bd1464e
+b7a85c61cce6c9a4aedf75607a02216a
+0ec9e734f1919f3f50d8f8e2de636067
+97bee327a71f275d008c76a28f3e07c7
+28422fdd4a99f1510e229e06d2721869
+50b6544f50f0a1b3eca0824661461927
+8484a197431df5cadeb28a74042fa1cc
+9086402b158ebd1490767135c9e4bb78
+e46c7f293f8463ef62b4ae647db9b360
+73e3fc7ad804469f9894377720e2fa1a
+73e3fc7ad804469f9894377720e2fa1a
+73e3fc7ad804469f9894377720e2fa1a
+73e3fc7ad804469f9894377720e2fa1a
+73e3fc7ad804469f9894377720e2fa1a
+602b93d59a8217e9fc4c13c5b97eac7b
+b70670e7974af0113405372b9a375357
+a3e58105cbac404bb4268595ac3c2136
+3beb1fd3546bdc41a345e8704d77891c
+ae609644ff76f15a015d58c16ba84576
+cfda7e23530f39122cdc2f55b5b84e40
+36af4498be9146ddaca8709f03b3d606
+b96564768d8acc23114392c702c0b9f2
+04ee19c731863f90e465de5139662d62
+5fb7e5bbe43b2579de3dba83c596185f
+d5ef5933b54c7e21c885b6a02f53bfdf
+d54230d59ad1b86a3bf8a773a9439a97
+841564810fb850d43ce34f0aef1bb076
+5334eea7e4cf53aca580c54aac12238b
+7e19792843d8171a06bc99c0737799e0
+6689665a5b1fec37f1c4b9611f45244a
+6f7f215aff58faa4fa0b8c0f76c026d2
+307be463241104aa550ab9b093fd88d7
+3aebdd20a4b222c976960e106f3fb6f3
+69c34c8a388f1700b5dc831ceb760660
+a361288007477ef931ba74a5cf6e1817
+2079a0ef85be57b7b13daa7beafcdc3a
+4e5866148a472f74b75c5d8601aae689
+296513e3e77f873483e249b49feecc33
+4816c490c7402f9c8fb0263ec4347992
+9dcdd884caa3c7ac1017dd2164396f38
+6a50fc4ec3065582602d31d3a0642e1e
+81899c585cde82f8384a3f89485c5fc7
+7494ce0a00e6d6344aecbe221eb09340
+20415de8ee7f21c846a9ccd0a601b631
+49a5430dfa9063d22d04320aaed9c28b
+4d98111d296486089679132e0c093e20
+85d9162b607a8e07ddac21392575a25e
+9fddee3df4ccd560997149f7d03f6ef0
+ac0ab5e1b0cdb9decf28e3f2305b8fd5
+e4a6e1c7637c77c04e786deaaf40983e
+bbe82be2497266c041d522fb19d95f4e
+54a36133de486e93d4f292af4bb03107
+2b17d90ab9071008fb64e59b656736b6
+069d629b72ce3f40c730312029bc47fc
+357fa4e6ae532bec68f64597b47294ba
+027ca133d15cf9990ec8aecf6435adb8
+cb87d0d94c57eeacfac143b1a91c289d
+5f9d70b665b1d8230cc77aa46ec52600
+6c55a109f9f56d013393913aa85674df
+c03fc4f9f07ddcd3f16ad2eacef3b56f
+ba869818258ce1988bceb9926103d4ba
+bd1c688fb8ac9a2952ed43ea99efb0b8
+b5c3d95110dafbed342e972230a27f16
+6701daaacbe6899588ccb120aa2f75f7
+cde5d3dbc506488804d12107683db64b
+47aa3f381832f7e26908452c93f16585
+b00f977a5cac2e94c5db8845f5393762
+77d36d6648d3b415fe77d03c6a698e8c
+75f1ec81ca8cc00d5f09243347d8a51d
+ff441b20abd0575845c059d18374f3ee
+5519bc266750979f80ab7a82d0b6ed0e
+7b3a5ea54b64e23f416f1e5a073d2b08
+15aa4c88e59a71fc002aae7e2e5c52f7
+b3b97ec60aea63d08902f587ccfd44de
+b3b97ec60aea63d08902f587ccfd44de
+ad5293e4b5b3cfcb2d7d69feacdc9daf
+744b8ac607a13e66fdbd991d147bc7c3
+f1ac0d7b83bf55232cf02e2950790d85
+8268a28b8a7e0c2761cd8bb8b12c1f46
+6e8887fec629f3be1fc9c052cf02b9c8
+a5ed9efd26b4f6b88f27486d1d8ffab3
+cbed67942f78847f617505889bf2e144
+491d1dc83b6bd35cd20b493541e6ccf4
+3bb7883bf437a91843cbe4176cb1bd9a
+a2943a4c4b3e19ba4e6da789a4559934
+59b40cd335baec91b74df42113062f0a
+e7f304ad642e6ef5753a00fd12483538
+bf70054943e412fd976803d78466cdb9
+6bb12063669309a50b5550c0efd1e2bf
+507fd8118c3afb62497c7ad872c8a4d9
+f773b9595507fe04b6f61873869675c0
+08d38b41a519a2db4c82fa4f842beebe
+ae874e5e81d22c619045a09048521752
+9feea1f6ea468a8cd10f9430d5436247
+946252ccaf002375c38615958b0174c4
+3a955aaa9ec5a3c62e474e24be7b0348
+41f36740bc209d7589dedc04c8185e3d
+d6ef01b8c3587f5397baf23c43f23f9b
+f038ecc6679cb013562f05899d783433
+a7b51c0a57108e68f287224bdd5be3f0
+d6ef01b8c3587f5397baf23c43f23f9b
+1b80cc573e168e80452e003ebe138f8d
+f87e84ac52544ee6a0d2cb81d92aeb04
+71f66aa1a6c14abb472500d228d108a2
+f4028fe905e99f594cd22967ff65ffc2
+71192b02af6e3ebb8c054c6d85ced6ca
+7d292b29882d48d4f06a828b5ead5766
+7d327d85f04c90df0ec9cd07f3865549
+e8e0243092148befb9078ea9d29efd20
+c8193b0a54ca78e8c94b95d484499dad
+83e1087f4e435ba98e016e6901fb774a
+1bbeda2655579ba3ff8a42eb1c7d4ed0
+755c44a264789cffbbf6e3080fe5c329
+d181a178cc7d540558f68e5feea2fc65
+add9ed0e85625c66ca945e60fd4212d1
+a08b7d142676fac9eb8f3bc0e2cdc382
+1f5a426772bc539ff541fb49e161a3ff
+66796e8061dd18de37f9a9d2bf7088ec
+a0208f6e0836adcedabccea1389546c6
+f5f938e4cf169591edb0a3f49a01c0b0
+84c2f177e348d4e838d75c80c9078616
+1443f3f3f02b7fa66d96999d5a244742
+a2f8a3db2fad5bc5abf13052a12d26ca
+2a2fc48b3c23a7ad2895f815db6db331
+a0208f6e0836adcedabccea1389546c6
+8c308e69fd495c6fd3e1ae19e17aacfc
+4303bb9edbbd3c0298c5f537119b30da
+c88aee7ef28657783c09584d50551b65
+762590a7dda7c8264c3d70aba66d8eb4
+b102b0842ccedc8ad1920e5426052059
+c8a5428702e2aa349d7ac9be1c65dc2a
+e3fdd56e5971903530c7aac65c50159a
+ff828aad454f68bcf63edd743b703a1d
+93f0c8c04af94bab6a62618b836f729a
+3d98ef84d6d1063e45a0c44406e0bc6e
+348967bfb68c41ef72af2014830c50f2
+dc8dab983327cb3124db8c878c89d4bd
+dbc60836bb6031ef6e61998630db5692
+f9db898c6c314e1429b0b01821cdf7fd
+8ccefe61c2c1ae09817bcd4663a38016
+93158465cdc687c29b74fe6112d8474a
+eeaba871422108aff25329a1016ae5d3
+3e8d9da55105f5b1bb0b3eb327da8d05
+99816e1f879b9f41ba356b5cebe3f3d7
+615f305e6b19cd9aa7a2389fc792964b
+c09871bfaca0fd080f3c7d78cb6e7107
+4ab7461a07ee4c112d5ba6957995dd8a
+c5c1e8f09cd84d794c5016a5f058dcad
+56bfb1a54058023eddabecfafff95f72
+afcbc0bb57c9fe28cb78b8822f1a4587
+2d9a7af79d409ff618a207f487a6931d
+500876340216cf1b7cb8b2a023b3361f
+9e2aca9c630e0f9922d9930d6aca92d0
+82f045cf7d4f420083dbd1585f46f758
+172a2f3db2ecac1131ed74c35efced90
+a0208f6e0836adcedabccea1389546c6
+5a6610c399975f08cc750b8f7c0e63d3
+51b6fa2a8dbb8046b89059c0b236ad0e
+8a59a67091ace824b2bbd40f9384cff8
+45e4016efaa48f36482c65c05584ae11
+20fc0f8cac110fb10f02ef38a6015788
+76d4c9de1125e49bc87b5cea0e398fec
+24ad1837017281fde6a5959ea82bf6a9
+db14f0be8956554be1e3ed1209e23e79
+0b3a205cd5a936fba28192d892c75205
+c68f53a1e251f009741d848d59bcfe2e
+a9033fb36fec25591c95b75209155f23
+76d4c9de1125e49bc87b5cea0e398fec
+24ad1837017281fde6a5959ea82bf6a9
+01b930e9cdee979cf4feae4c2e445263
+4a0fce8701de95fdd962b93f217c774c
+80e46456065662f51b204a6b7772f2f3
+5b7f3c2600ac18ea0ab1d693dd124674
+90028815bedfbeb87dc32b238a2e5140
+29e1d20b1c6cf8a1f7379ef8bb4da5bd
+287d2a4c1e2124d7fe3e97067ba9aed2
+ecfd351bfee1d98088a32f2f5126a7f2
+8fa8a82db73ff11b620d612e4c7aab18
+3f71723e97f506ff787224b4d725cb69
+74b5362932893e5aced4d90e9c7d127b
+5ded4305de2d1d06d134f84e0f617183
+7e3d6e4f30aee0b4f04bf36502d5ec47
+d56d2b835296bc64fc4edbcfc15b6e62
+e2fd943f07996bfccedf3d14976d3cfb
+bcc4462f30fe40d5d1d5e3c772abcf69
+37586d49e6df806b261a6847e7d4bdb4
+5545c64c55c3a9d27ed95e32140f9b48
+9f58f4f9786a31a4f4c5b11b1144f922
+e3d4aed6825131babbf5ff4970641069
+827dcf985ea810370e55cb49c405ed53
+a5834484eaa8002cc9463d9cb0f8fe21
+fb1f85139f6a670911257c1a70e8389f
+01a5b066e92df1d7c6aa3e3028b0fc0c
+ed02700821e96fe59ec6fbdda4c67e50
+31bfc3c39cd79395fdcef2e86ae2d261
+d1b3b750f2a6177dc953172e6e730964
+141703c5486f4b1f4f9516165aacacab
+8f8a644dd9b31a415e171db4aa911183
+9f83c6ae65946a33a4d23836434bbb42
+fc4bbb3c68aa0533d6c5086ec2e884e1
+2dec5b65715339fbb4730261054cc89f
+3b89ee7763a2e8ef4edc251564e47d40
+5a900db809958a8d844e825bc6c14688
+2ae63f035a241efb39c7c32adbb469aa
+ea50b5ddc1b796fdf756aaf24ae7d053
+f8994bdc196a8c18798637eb66a34b92
+644304d50b7a81749624b02488a02018
+c6e5976fd57cb6c6117a0a613e126944
+937420f8c7bb71482611c15f2a3a65a9
+3926ef33d1cedb641d93e636aeb8d592
+0b956c6446a52f8d119ffc9c97929004
+5aca7c90759b6cffa0f35a3ba84f35fa
+2ae63f035a241efb39c7c32adbb469aa
+0b956c6446a52f8d119ffc9c97929004
+5aca7c90759b6cffa0f35a3ba84f35fa
+84f11f2d486b1c99a55183b2909cd21b
+96c007bc55d9388f92d69ceed48372ad
+c0c505ecc00bcb30f943210ba77b97bc
+0f97bfbc1991f7772bad6a1799194811
+e07c9864f948a971225f3ce48bf633ad
+cbbc2f82db96e6a1397f7cd495117782
+f9d41873351d5c3d5c11283cd5ba914e
+3dcca6af331a27e7c6bd3809a63964a9
+4fb398c11256060e6c25a0e0ead8b67a
+57ae15c3b541eaae00ef4af7c0e7b742
+b7a72537a66c11fe0bc5e9a6972cb8d7
+077e79012db5f69eee1d765647495091
+5941268b87052757391ad9133e2b3a21
+62d616364062e0174efeed7667993e40
+0b265a13a179ba78f5400b8014a25913
+5643ee3ae7de3fb478cf391b09879fb0
+4fb398c11256060e6c25a0e0ead8b67a
+57ae15c3b541eaae00ef4af7c0e7b742
+41cd1b012797865e274d891d2d62a257
+077e79012db5f69eee1d765647495091
+4c4cde3222df105ac8ec74b95e11d249
+e3a326f9c3a9a80d815464024af66729
+a2d94b1b7a43419e73af18201ca5d83f
+aac260c88ae2c2ca5459e5649a931b8e
+f17995cfbfda2bb746025f25dbd0793c
+40ceef2f89177b621f43e04ee91df1d8
+3a8baaf47e52761427ab9f495b1b3c3c
+679057743aacca7c7947ff32435fb232
+ad853dbc5648f840ef6311456a89236c
+f6b7daf65c9117ce2340216bc08a7838
+bb5c44e255d2f046222092761da9d871
+3f50afb6ec8fb215119954d95b342d3c
+a0ba21c49113b67e1c99aed61b9e0a71
+f2324442f25ee22098a877a762fe8e25
+fc95256df0eafd7e8c562ef12488407d
+d99fb7e0b20b5d564fc17339963475f0
+4a997c7ee2905b44b67a45a9390416cb
+553b4e80183ff15c54bd33ac6ab42627
+647d0a4ac34bd2404858d5e7efc647b5
+0e72b867db52a1cf16716a7c5517242d
+671376e10ff215694ba0921a25872541
+76998d670b8a1f4cafd38d55aecd98c1
+f747a97703e0135a57a349febb11c699
+1ce474ac02bb1fef3449ad8bf89711f6
+3c5758baad3a7b2954e7508f6817e754
+e1d183a1da246eb327c4e95f90631c67
+bfbb1c9c8909db869d28ce3c5c8ab911
+7e096ec818b85264cac86bca2cdf575f
+4daceb8bebaede39f7d93c4918ba4e36
+6f380b6c8efb22622a262fafdf8093f7
+0a95d6c0e852c4c88272aea04e6c21fe
+a9ff2c84171e0d55b7de5c59aff19f0f
+6da5595dc59cb225d31df5d351c3dabc
+07364d02ff12a5c503a90f93b653ca21
+deb6a3f1b2db4719d5ffacbf660efa6d
+e01bdcfa959a9425db406620801c16e1
+460384e3fff347ca6a0fb2da8c57fc5f
+4706216a060009f7a38cb05022c9153b
+ccabf2f3b763a3706323507c4b76450b
+fb720aefe4fb3fa238d0ee746a437ef3
+63b75627fe780b732fb94a793522de3d
+a0208f6e0836adcedabccea1389546c6
+8858bb4b9c9b72caeaf7b4c14925a55a
+a84b761790de141aba9e5469fe2f81cb
+a0208f6e0836adcedabccea1389546c6
+f32f22375dcdfe3f96706d748d6a249c
+f2760dbd7c7d8b5ec4667e7ee4a695b4
+4888009791319f630233f6948c8fe0ea
+3735c57a54a8380bce886b8bf67e9c3f
+5faf810d4b7abf5c3f2e5dd5b0af52b4
+2827a5e1e8c99335818194556ab76c54
+e644011df387ee2c43389d5b5067f3d9
+8d4c0994b43a4fccabb16877672e161d
+b51a8b070e38aacc2ab53469e565816d
+b3589673f970f3071edfe9a291690404
+a7f2d0ba4b62481974c6396e0810a2c6
+3488a50748902ce0033db32a1e0cd189
+a0bff5e33d03720996fd36cc80d2758e
+715d286b7354cbd1adc1b097bd655de6
+d3ffeac13a26fc4b694f678318d12837
+9496503ec7d4d52570a565d228d56c5f
+07fffcc44a66969c93e6aae15b10b970
+44d4685adc54fa7a2d8fe8b0d2ef3480
+e00c1a02645128dd98231a2848157b5b
+687fcd87f21d2f365e25ea0737baf5ae
+0354b5efacf600590ad08d363fd365b6
+e8aa3e2174355d11ca5ec34f6b82d178
+8ec822b4604f2350d42a3fdb13a52b61
+5d73127e9773b88b298d394453bc87a0
+b697897ef25025a7ade6cf9971192ecc
+9e59e5796a21b26d13c38c8cdf356771
+3adf28ab5f34431b57e88e1df5191e44
+a0208f6e0836adcedabccea1389546c6
+ea63a4ed44e30a0b895c47568bd2a3db
+d6304fb6e45c7cc2ff08182282f3bc01
+e4cb00c9780267977829ac3a42d9162c
+857e6905b5b6acef15e7ecf9166c7c82
+7c9c5e0f9e1c2f41c1f71056ca96f097
+a82a853b856636719867762728d41c5f
+a0208f6e0836adcedabccea1389546c6
+9632e4104a9181257483aa68902c4b1b
+2dfa8be2ffcd9c761781dcfebd53c043
+0d6b2cec72fc4e589c45e758cbba487a
+1e2795ef408752063b83ffccdce63a6c
+7ee90ac309e70f4c59b3fa270a954c46
+43d3496e56e84289b73285968d3ee345
+370531c0a3d2d0e0a85a43bef574de02
+4e4bd8b5a3e736de05e562ec345219e8
+20bf727a6de9f0e101da40f49ff74d07
+ef7cf5d0916dc7c7d9cddba95e55dd39
+4791ddc66da4225fd9f55a34fb30db6a
+aaed41115a7b11c6f6ce3265449d69a9
+a105cf4949abebcddc74676d7791a7e6
+e9c8da6b001747415fe8595c7b4770c3
+80e341f4d9eab4f0bde7c29c269358bd
+ea644642a42c5702fa0096cf1c790698
+6694393837d4287ee10d25bae25e670b
+9266a7c63b2554f82b846a26b1689a10
+36364060c3e0f659b68045e6f42b4f87
+8c5bcb89fde58cff5d8c294c46b32701
+f3260be23bb6bce793d5de1a094775c6
+978c41983417573d297b4d80e41d94b3
+764aa88e6192219d200128f32fe41453
+96d22ff28ec23cc4fa164e3f921fdc64
+074f90c89a87ad85606af624cf70a6b6
+c1cfbb46ef6b27a1f98dfeff48db6393
+71aa0ccc03857f3c7e0433ed1606516d
+b3109db57a9569f03ce4778d4f872177
+ba14735d4c6f97e1dfc905acb31785d1
+7ec83af1300a7ba6576877eaeaaf0901
+5c14776dbe644aac4df5fe515a5be0d1
+268881e4802c921edab63f5bb511a374
+100d8df86ccb251a9cc20e8df6016bac
+723f0edb1c1f74ac1ab3a42b8a96d0fa
+2ec2a3babd0f6981145572af43bcfbdc
+0e3756a07f64362e480103b436d041e5
+b09f389fe08b0782efd911947dba5ee4
+782782074166c2bd6728f2104975c55f
+89e0488a1dbcaa722bd77da550b9bb52
+6fe3dd898b0a7ae623ddee132e3f982b
+47721121a606b686c0d5341451955ad3
+287711823a6e6c80bb8aaeb74bb0c9fc
+b6aff8ef2a7e86e37f0528b1e848b62c
+69edc434c70eddf75e4652ef62f15f0b
+e0d8ee253c0c9311155e7841ce70dd28
+d42e893ae75d45a0ec46a0fd69bbc9c8
+b2c71b607c0bb657fb7a8847ff4f0672
+e95e97aca0c0328f3cff72ca56fd7d7a
+ca7b0d227dcfadb8bd3fa04c464153c3
+057d00e085a3dc201374f6f39ec6d7a3
+433cd0a682163264c566ccf35c673813
+d75df399d8ef3678e64589ea0c169710
+49fc5380bb47c4c1aaa24ff040c12dd6
+9b593cbaaad4666e26bcc7cfceb40c64
+d7820d18b8d1124032aaad36b83388da
+fb759bd9183b1c9585475f0dfd2c9533
+3bea796871f96d9b30f0817e7dab9b07
+8768d85e58e9b8c8078cfcda60905a50
+ac8f4ebeae8f6742a7f2eebc6b2779fe
+97325a77d8d4dd0f02bdbe5993855e87
+1f3fe1156ada64f9530651796236c13a
+ba5818456bfc9f3181853bc7b0aa367a
+322a12431ba541f55af02b544bc6042c
+6b8fc7406ae7df8a8a24c9ff1dfe0eba
+457847ca912d73b3ff2a718053f8e116
+9cf484906a50c6f49e0195aae2a49f93
+2e8a7beb8589e50816ab45daac43cce2
+631ee363debe9012240da54353daae6f
+65b0628b8f20cb03d6d00ec52f0f1a04
+a6cdfa963ba7d48e4d03f3f446dd25db
+616297e86f40f6343c64145561eb1127
+292c704fc7dfa47f7daae5ac894c1a55
+1212311549dee36dabeb823f81a5427e
+7c3077647e9dea4b21b01f0c170e3d06
+0357736c79808b27e1d9609d547c7d87
+6be0333cf4e198a574cbd90554475586
+4d79507f6926bde64892aa0789c035ff
+54ede8e1a879be6075ee9fa7c2c6b41e
+1741bd7f83a101afcf847f514be7a2ad
+aa730fc4ac1b0291c0c21a9544f0ba6d
+370b381d72bf4f92cef16bf58a27ab00
+80b7a35deab0908e2cc91ab84e1e9f22
+460e1f188a16dbfc4be3be87026638c7
+264605b5750431c6f1d60b6a21a847fd
+3979e61c2ad1c6a950068f79e4ed20e9
+133cb5d7037e42e1365c88d54b467d69
+dfaa1f6b2aa32794fc22fb7257eab590
+8adcfcab28a2ba5489276d99b8867c9e
+15b7f83750f4f2df9b2bb51e69e6c07e
+1c32ea8705b6c23c9f25cd86c5da49f8
+f12f681b0188464671179329c78e7bdb
+53f2ed66ff96e6c4cad4d322fcf3a6cb
+e3f43c8c2947a32f2b3125ec6bf8cab7
+a26185b1f7d905165bf3d96d2a7c46fc
+ccdc244b217b084ed230ff5a49b39113
+96d3b92f562ddde4dc027ae65cb707a2
+5faf5d5645f7bf47d409119d8f8aef1b
+535117253eded5e84a4676122c16d494
+a5141ce9c803c262a97e2d3113509453
+b538c6226a90a4f539606f4fe1943c3e
+1d8cd42f9cb62270e61bfeca73d681cf
+e0b5122299c34c8aacfab3111cec152f
+e93bb8ce6f432fcd39d79a4d7a73f5e7
+0855ea40249ad15092b55fe89cd7003b
+020a6158be78ceaa31382d3aa3d289d6
+e0f8d689957dc90cbacba80f03e55f1c
+0be87a191d2e4fb2517316cee2438fb1
+4ea402551cd74f81336b835a9f051d43
+0a8c37f6b916a71b08c9b5ada7563d4c
+cffc66384da2db5b72afed77c1bdbcd7
+b9465c9120cac0a6c216e1f07d02618f
+928bef8101344d2ec8c68d7f65fc4d3d
+3c21bc80a496788411b0df04e42048a1
+34b330009f636120d6a7966f0078f5bb
+1bf0a790a5905066b758f94416d3e343
+235f19b59ae83ec65cba802b24eba880
+5838f4fca82a9d5d2c797b69c0ee261b
+820543a5a9985a9bf7541b206c04e3f5
+496e4491547c15787de934498e4736cd
+e8b4f8ada0909360168de26febd63693
+b8b4be00b8f787bc3eef55a31087aa78
+d61ba71d7611c5094679cec5652a0765
+5c5be562ab702b01fdf469ed5d57919f
+5c5be562ab702b01fdf469ed5d57919f
+535c06bab892f5b0518f98462ab6a6cb
+535c06bab892f5b0518f98462ab6a6cb
+eef4d23da8efc1777a6d527ddeadfb26
+3586990c07a796e0230e1ab29e8ea76b
+2bed0cf622d11dcd1131591764fcf42f
+fe458ef44c8130a5ea0de12dede3a677
+81d9feb419e2c16834c8352d77e134de
+cf004bc3fd5de1600459a9654bce205a
+5d0bdba06d9b6bb3117ed4d1060d43cc
+ec988b4cd693d7448907798912332173
+55c6e16b29e1a6cf6a60aa35dd48c5dc
+5617ddfb34e8eaad25ca62ec968b6788
+cc6d72b1520f546a7b57d64f8131a2b4
+033235141336dfbb7aed6a5ff93fce58
+a83491644b3c7ffe74466462aaf84337
+3d307f5f5c4dc14ce53e197c329f7cd2
+c2c8e1360469e3bfef31f5851d5a0ec1
+30114f0565bf2e0bb990c0e7a4142338
+30114f0565bf2e0bb990c0e7a4142338
+58945cb9d8a710700703cae2fb2c807d
+a0a15d477f96abb2067a8b4c126bf527
+a0a15d477f96abb2067a8b4c126bf527
+d3c2c7e3fe1b2b4d33be17d6f602da31
+3339aec8955171c76969f3bc4a69a12d
+3339aec8955171c76969f3bc4a69a12d
+70f22da822989d7857076dc21ee1faad
+70f22da822989d7857076dc21ee1faad
+8e76d866b5cee80a34de58e9092a2b8e
+f94d7217cda54d685c7faffb211314f0
+ff103112ab0207198b717b7423a5947d
+ff103112ab0207198b717b7423a5947d
+ff103112ab0207198b717b7423a5947d
+891e9708440513e3fad60ec245d7777d
+4dd973e2046f415edac65af7da5814ad
+51f23b513484efcbafc0d0bc8ebc56c9
+6b3caf636641a19567fbfcd2cf2fba39
+eaf0df8c91b20faa8d2bfb9ffb6eec70
+ec40d571829dd06ae1d4fea611e2bdcc
+32cef648213ef32bcab459735741e140
+382a2b6d07cf0e139ed5f1f596a8af63
+32cef648213ef32bcab459735741e140
+020c819da684fb2989777dab6b0f5cd5
+c9ca7028fdfe5ed28be9850ea325f335
+6c288a66c6a211e6e42f7856ab86bcdf
+1fe0c067f754166c8eb7b08ad3cd63cf
+e186c1e18e2cd95251fec3feac6a0877
+5c15dd0e3420d4736b1f4d18c7f057fc
+545d9f017b804032bdb5c9a9922a5609
+5c44fe6e34afa4f5a095ce4be571f3ae
+93c3edccf17bc1185e7a91f04ed2bcc9
+5c44fe6e34afa4f5a095ce4be571f3ae
+8c840131bd06efab0dc113656f5bdb99
+2752d534e4e70eccf7dcf0e7db040a11
+d3d4e3c0b8a1096e079317f1910fa3ad
+c023be71a39a16a98b96205d5490373f
+8578941ac806badd062f4b4511952a17
+8578941ac806badd062f4b4511952a17
+3948b6f849a46b8d69f6ee5bfc2d6a8f
+9558f880b49c3e2100d90ffd69222042
+3a79da3816863a9824246e27a2cdc207
+ed163e5cffe0b1b6a4fb3a0f92292f3d
+d9e8f14866e9fc528d9c930f343af4c9
+b057973f9f3e451864791a69dbef0b09
+78b7fd575a7c307c969d1be32d1f4ee1
+6f5689ff1a985a30912c4fba25014849
+729d93a1d81e79d7dee4b5649445747e
+a2c346c9f325f35137c31f7700d9a1b4
+e8745895d1c9b1e0d942569c26c8f74e
+84568a09d41f8249659a467f2d0e1068
+c06576fa714c8a0cd77642574a44b719
+9106b1a7a2a338cc3c99513c382e035a
+fa60e94ee8e2c6c112adf37dba0c16e9
+ca48a30eb966a9bf58b48f6e47f224fc
+9106b1a7a2a338cc3c99513c382e035a
+fa60e94ee8e2c6c112adf37dba0c16e9
+dc9416d444427ddc0ab38f6fcf45f7b8
+a16d2e2dbeb1a1796df7b18bea025118
+723255ca120c2f53aa084ae3c2149f6c
+9201c11083ba211c628eb9266686ed56
+245f33e8321c70248cf7d436e4a5b74d
+5cf79161703b0250e52ff625c618f10b
+5e97f956c0f774b01db1caf87aa6ec52
+c0b1453f0458d3820414e91e8db3e562
+0e2243b98dca8d9972c3ce17e44bb720
+65a829ac6a58fc9fead1659ea9219c59
+68772c2f6b6fad5119a7a19ea30be442
+34dcc0b5e61d8ca7e1d392db14e53d50
+ed8dd75bd65369c738a942813366191a
+c920a2c669709a163214788e7b565270
+4d2efbc89d736234bf8e96d86ad87733
+838a58d4045698ce96a6fe8565e6eac1
+d5b1b216f8121b1ff847e3b50933b897
+838a58d4045698ce96a6fe8565e6eac1
+48901610498a8387ab4a1752ced38854
+838a58d4045698ce96a6fe8565e6eac1
+fb062c4bc05c9532bf7b146e8bc7f0f7
+39e8b15ac37f4fd6de8f875c9fab4c34
+55a84f8268c2b47669e78d8d1b221435
+9f2027f4cd11b20c31e5b342c4569e69
+287bfad5448b3a6c983ba7f01c13afd8
+842b3516356ed28f0513a00a7fd4efba
+e6eac5b0ba02fa090aa11490a1d02e3b
+6d0baa6fe3d7839aee27fcc27616f670
+d5c147b480a73f2c8cb137f1f11d9f89
+ec65aaa8e88149bb3ed1025b747645e5
+1448744831adeed84780e995219e726d
+6e4621e22905a793d36e2c1461aa32c4
+ba37f117793a41c63cfd2f434366d3e9
+90630f38ee2e5bbcee8b16642a8f3ca0
+4d5c46085db506e44df9cedb321a955f
+8fc601804ddd5e861020b35831afb312
+2855cf3d73607b6a99732fe034c0aeeb
+f5291ee1f588a402694f858f9527b453
+a2791f9ba7d27f60872cfa5e53ec38dc
+a2791f9ba7d27f60872cfa5e53ec38dc
+a4924e143ac7308594edb8f82f117923
+b2f0a84ac96cd841dc1d8165a2b38fb8
+e2235fb83a39f39579bce5399a28aa95
+f4e3d064a35b099d4cef581f3a4485fd
+fabdd42f9a066d4b0d121a1072286c49
+5cbef70738620ceafe48511d54d99de4
+feb7c75bcf3d8239c38c95987c540033
+9582b54cd1286404f71b39c577e52aa2
+578ff87e218aea1d070b9b745ba9b5ac
+b6c9a5090445a7aec0384caa1bdde44a
+9b05df8f1b73ba28a7e8dbee75cb2739
+e1b46a53bd0d71e8ef8e876b272945e5
+cd3eec1b689c8cbcd1cf457ec3fd68bb
+62136db034551446ae406ddd36d8faf7
+1009044286bb673fd7fc29befab06add
+c4e8cfa8b23cfbae8aca0d99858194ab
+1f860ecf8641371024dbf0c60775ce85
+c289486dbd575dcf1a43bcd6056f839e
+c289486dbd575dcf1a43bcd6056f839e
+a078a6c8b9835c0111f77c5fe6d5dfcc
+1f860ecf8641371024dbf0c60775ce85
+c05f337568d34dc4a1f82caffe32a813
+759ceee0dff121613ee629179806f9b9
+50d4d83e9219f386c84cfe275924f1c6
+b2434b96ee638414d198dbd4dc871ea3
+a1cf6930ea1bbc9d10c3c2d4124ee443
+b96923aec4e1813009140e53b234695b
+faad9b3160e6da584399d3642ceeca40
+4d3fb6386f4795d073478b537c0687b2
+b96923aec4e1813009140e53b234695b
+7530242e060cd9f27005c1fe9a4c8b00
+3f6b332c191b523466736e5cc7fddf0b
+b96923aec4e1813009140e53b234695b
+122c1541d11e9568c26f4598f9a90de5
+cd3eec1b689c8cbcd1cf457ec3fd68bb
+cf55c68b6314aa401ea6d4d2d03ecb16
+e1b46a53bd0d71e8ef8e876b272945e5
+e1b46a53bd0d71e8ef8e876b272945e5
+97934624e08f6278a46a4bafe5acf405
+86748ff682541221d13351b4bb97f9bf
+7e60bbc912a39f4ff5549a6a9b260755
+d0b84f57359fea61783222b909143b7b
+86a8aaf2c6495b5e3fe89a57196970e2
+366e7215db9d90d6207abb59a75fed75
+34bd40d4f66005219ed36771b76b23e4
+9fcd4f5ac077b3bfe064d4df54d46197
+e1b46a53bd0d71e8ef8e876b272945e5
+4a770f9512455d005bc47959c8ac1875
+02c3c3fbb2f0c32d8fa05b07f0268dd8
+939987a385aea71dac970e7a1025a72b
+28d286a69f7f189d2f4ac260eb9c4a1d
+41e5c166630d1329724a1edb05ed63e2
+f16561b1b10a6f442bb46fae7132e079
+f16561b1b10a6f442bb46fae7132e079
+229390722c9db3b4549e7a3d10e6f5f6
+62e5353ec58535bd8d00aba88b6ebce4
+01a9b7a32adf8258292268faba8c99e0
+a73646fe8679d3accdbfd0ba7a7eaaaa
+c6278dc7817471e8db5b232855ae4218
+7e907402ae5a70ef1ffac4cd78605ce3
+6de4ec7e8f429e6b263db49323b4b86d
+7cc9864518d0b7e76826835516d32061
+c00f49435418509e6f31fb382dded2a0
+351e8f3a08a5cddeea20ea55d8309683
+2e26a1359dd428c61f1dc1c0b6cbebbe
+65fa04f02435b3b27c2264ad4a999d0e
+c3cf3f7085ae4050911e5ed5e0dc41cc
+7e9dca09debe819d5694f5d4a2d2d9b2
+b5a4c77fbc801d6bafd94926124d93f9
+4c150e5c7c95e3d5d54baa09f2c0842e
+ed6bb46e4f9608f2989bf4fa80676acb
+413e940c2ab8b68ebd09e4d96053e930
+d102b4c675ad774d064b2c61a5db35ec
+fd8e8d2625b54ec92794e0982fa2c23a
+52f53d3ea180b66cfd35bb5bbec7ea9b
+05547182626ab145e7dd9e70fa4152f8
+f05512af5662eebe583043ce4d02bbc9
+b5a4c77fbc801d6bafd94926124d93f9
+4c150e5c7c95e3d5d54baa09f2c0842e
+354fe9f918c62a128f7d0b0f91b0b3e9
+2de42cafe937e9acfd1604fcc9e10dcc
+70deffd17ae75fa6486004bc42b20f56
+d904df57b65c92c367ecf0348318d73c
+c8d3f2d452c2340a8681977d0b18260e
+f80ff8a725cd2e694e7832d7f5814f70
+55fa77efc00d88430ab823fb6a03243b
+85b36e3504561a75e0494fafc5aed95b
+d8c34e28039ae9fd61966735b6de3450
+17d8ab9e3e961c6e858680427d13a2cd
+313bd5e4100dc9512d93c614a33c5261
+478405dda2805f9bf8a2c856d7c07cef
+74beb7631e0b83c1c876e0403f2b723b
+a7cd37d0611bceb9b5f6e91311951b30
+6d66fcb2ac8983610e3dd01371c84df5
+76b91f822af0b15740bbfe44d15eb7ce
+76b571ecd270669a47ea216eab78d38b
+2df8dc780212fe1790bba0b13fb2b4d3
+65fa04f02435b3b27c2264ad4a999d0e
+aa2438477b686a45ea4d0d9b20f8401a
+abe01dea6febc59575a2d8a6c1f2205c
+9deac208195dff924f55286d7366fddf
+761fa9f20de7acd7baa59a60a30c7c4c
+035c39c4149afe96354e69ad32449ad6
+6279536ce3e2e8f0e4e8dc8002c71b3f
+c9f087f15ae37587df36cd6fab6ca064
+f13c57cc0ab1f9d0921a3cf88d309577
+995c2fc4588aaf228b4b6dd0c1948aa4
+a22b5212d5f0b91f992163194d8b89f0
+0d4c950a914f7190efbff125588dede2
+36293b95ffe569d719fc60b3a7baab1f
+9f8e333a52b727435ff8175c8f369a9f
+fad4ba250e14529d041f936b97e446dc
+bcc33f6575278205d5dd16c6885c3198
+7e51764e70b615695d90b2bba98a2149
+c21d48279fa5910758dc620b9307ecee
+5c86618fe93608adae322f3788eba799
+e08eddbf11545aa478e4f5f6522a60f3
+28ae411c8a563584ee7ef88d79e14be5
+d73e39ea3bd1748521a7df1a5d8ac6c2
+e564b9e612e8296cdee02302fb646c4c
+15cf473d72c82d4e8dbd7ceb4434b2f1
+3e70e5f37cf562cfc98523f74783a2c7
+a84d699a5fa535efebe6b0b356ff2c1e
+46627a26b60ccf1508b3ecb693d854d6
+3aa4060b8192241d1b821fc72478b3b9
+96398237023b3257a481a5ff45bf011b
+03804869eef1dd631739453ac62ad41e
+03804869eef1dd631739453ac62ad41e
+4de19a64dba65e59ee92a21452525da0
+e33fd79e261ee0f59532ba5f0d2d789e
+6d1921a926d9a3f4287c6d54bed49877
+aacac10424a1ddbc6e118372edccd052
+117573904242ddba7765b2347505cfcd
+5628753f89d48a6388e9ca95a522f663
+5628753f89d48a6388e9ca95a522f663
+2e8ca335cc5165baf7b49de4bbcc8285
+02fd87a8c3690346661590e147bd83d0
+5adda0ac8f97620dfdb78453d34a85d1
+d3f8aa5f4193fe36e13037866c503569
+01f6bae556d6113f87b0752ffd863432
+305ed0ccbe28f4a53ce34d97d84134f0
+6cea982bbaa8a8b8ae18a24cc3d18c85
+5b53609faf9324369b88f1c6411d8d2f
+6db88e803b1994db80407e6eb74b6250
+3def0a37d763b151c80d7575456ac22d
+4e957326015511e27476555df9288d5b
+cd905cbe9e6b290a76d983ab3044858e
+96518a38d2a2de0b584293165925d4ac
+06e6da670819cb1e7a537d7bdcecfbba
+5117678a6499c701a91b30e80b3a6d7d
+821b1a92e5b1d6fd420c3767bae0e1c6
+ca34682add5797ee5ebc387318d9d5b8
+23022065850e54522f093a1ff877711e
+59f087c2181ad8e6544b8652278e6fdb
+1a480692d61d2775a7ddf6885a166f5d
+a9704c29ff47c6b67503baa600ec8196
+5117678a6499c701a91b30e80b3a6d7d
+d1ea2530463bc3e4fbfe3fcf1a56d315
+292921fe88731310de1ea0b768d441f7
+791328188293fc6149dfb1936420d248
+145cda7a78744d9dd2c8fddf0f61c398
+77b4fbb0f20028aeb9bad852ab3c23fc
+38c2c35a5717f943d8f99604657506b5
+8006700981138862f66b331bc08d3a0a
+9480f856e3f3b65edda02f1165be6b78
+e4c137e6dcea96cc15d2d7702fa4b21e
+22c651b30c78f02714cabeb5a54fcc4c
+5d7e6ee54f4c5a2e04679a2bd92c8045
+4bc9f968ee05a5ea2bfbc5bd4c11e06f
+d010d81481e325ae4b53a6f6aaadfd0f
+16d3e734925e6936e6716261991101db
+a899514fba96969a62fcba3e642b20cc
+5d7e6ee54f4c5a2e04679a2bd92c8045
+e565ffe0d169b47048769518c614ae79
+eb41af5b24b0512bcaac0b38be4abcab
+8861fc148fa8517fcfc4c4909b98f06b
+4e54d1f6aa40e7d996c9dcd9091268be
+c08a53a27bd5c90e8186bd8249a4e6e1
+a763f0fdcbfa65bf368c390b81bcede5
+8861fc148fa8517fcfc4c4909b98f06b
+a41fdde7123168d2f3c7a31c0ad6a7d7
+4a52defb20c4db1a4802a711289fbb4c
+4e54d1f6aa40e7d996c9dcd9091268be
+08a18ae5565515d84d2ae257b2523ccf
+1d6bb760dbf3fe8b020f6e59c0f3a725
+505942f557d5f00588633e92274787b4
+b67aab2a3b3902e0b8053913a64522a3
+8f4b4b6a07a52de8eef6caa5099e0c13
+9c578141d99d14a87441bec91882ca61
+6949e1d89766896b18048e8664eb04fd
+b42c33276bfa1f7d12383de7543789a6
+ddb9ab165676ceb34de56d6101251322
+0b192adcb1fed4bb96ec33cf281e55ee
+db32e7c3c1ef154c129617f5472b3d25
+38f820bd6bd03cd4361d62baf142a66e
+8784503c40ce7d0bf053b8c8eaf81845
+07d2be20e21621157b1ca5376d3f0423
+075106038845efef48860b68cd8ce6d3
+58eab2706dd20ed8bc93a21e07f6785c
+c2bf5087bf1f96a30087bda8eb598bff
+7183580c7da307914b671c7b7109e107
+84e82910c7164f8c8376d2a0549c0e05
+ce08c0be058378188c572436a78f8ee1
+8708d7ad553c03ced3ccfcfa5927ab20
+8d057599b68417dd7630d54149d7603b
+5e811ee2a68d1adc9710517e7865c142
+1a0b5e48f08a17871536b62f3228ef6e
+a5c54357203503036823c14da4f6311b
+90f9a0b753ca8753744db67d9f287a42
+180b91f6e7ceb9083612ea66d59a93b8
+ae048638762e6a4f30764e4533a5c195
+a68ebfc73490f70268a53ee37124a225
+b681af435006867693dc4636e6035557
+b681af435006867693dc4636e6035557
+b681af435006867693dc4636e6035557
+b681af435006867693dc4636e6035557
+ff78f940cacef67dc03550146b940fef
+ff78f940cacef67dc03550146b940fef
+ff78f940cacef67dc03550146b940fef
+ff78f940cacef67dc03550146b940fef
+5865c1296e62b19f893403f29d9a4ce1
+5865c1296e62b19f893403f29d9a4ce1
+5865c1296e62b19f893403f29d9a4ce1
+5865c1296e62b19f893403f29d9a4ce1
+5865c1296e62b19f893403f29d9a4ce1
+5865c1296e62b19f893403f29d9a4ce1
+e08bd2498a0b7c49abfceaca91ca8d98
+e08bd2498a0b7c49abfceaca91ca8d98
+e08bd2498a0b7c49abfceaca91ca8d98
+e08bd2498a0b7c49abfceaca91ca8d98
+e08bd2498a0b7c49abfceaca91ca8d98
+e08bd2498a0b7c49abfceaca91ca8d98
+629bedcffbd8d3818266a34071d85503
+629bedcffbd8d3818266a34071d85503
+e68bcb68f8a4feee23acdb6faa6180ca
+e68bcb68f8a4feee23acdb6faa6180ca
+e68bcb68f8a4feee23acdb6faa6180ca
+e68bcb68f8a4feee23acdb6faa6180ca
+b883396c7138e6c71f5a87ac2e8eb72e
+7cc5ab03adda7b6ae2a1f72b7043793b
+d5803ee9f3cf3644387ba008f2557ac9
+5f9e0ff8f3610144847cb2b4c69beaaa
+49b464757f086995c367b75188a51ecb
+33bb881ab3798df55f751cf569da0d5f
+471b7a0d4d0eeaedcd1adc91d1bc0a79
+ecd5a86d959acf07db333282ccf8196f
+d8bce423a8d66c12fa05fc343c24603b
+8e333d7aa6d399981959e49cada6fa91
+6ec414e4185ffa4632d2bc6cdc8084e7
+44e6e191cd449cbb6ff8bb6fb2ddbb77
+166a3109f2c7dc3de4fabed2ed03ced5
+f38e9cb68f286a7a8338ed0fb58b1565
+236052a512eacae7ed45195e5dacea40
+c89422161664338d574b052aa288d8eb
+65cf8a32b0efffb9c1a05356f549b557
+45c57cccfb176a2b56cdb5b8dfa766c5
+012e17d58328e2bc3618ea83db11c820
+2c9d56b67a853ef19302202c0c3a3c33
+92cf208180bc8f6382850f54e86f94a9
+5930d29019327590f8e5758f1c96eae2
+2e243ae20ab9d8ab0b71bac57f632f13
+c452910fe47282f7ca3becee113ecdcf
+6d557368752241e3185ed6e77edbdbd1
+57eabe8fb887f307c8fbc26751685f11
+00fc9ceeda6cc3f23c86b54af6e5215d
+ab26a9dd226382ec881c44704b322eea
+769d8c4fc6376bed35e8ad7a949eaefd
+bd02eeace32be5707dc8e901c27bd8b1
+a8b61875acb6e7fa14b66748c149999e
+a8b61875acb6e7fa14b66748c149999e
+d78383241bbdb7556fc215b51eff94e1
+7d1da55e90de635b8981794d56c3a799
+af5ca2ce8a9422bfeeb0d9af49705bf4
+e5f3a8caa4d8f89a064b5e1db95d6d7f
+29c19208996d8699d6ef717c323f8bdb
+632083a53d4004d08fa124e82913da7e
+521c532d8127d29d9d8a83fc7951b9cc
+d72b6333cb528658fc6ee0e670dfdeec
+0a01fe4c4812ba86c68a9a13dc9cab98
+423b86cf2720dad32e889d1a2571bb1e
+405a0dd73385d001eac2d3137038d4c0
+c618977ce6502537a63b0f6ef552d415
+36bb5ff71ea010e72d30cb3defb610d0
+a73b4f5e6a71adb88bfe92eab5d729f1
+39f388ed3cbc550effb50f1a3eb0bd89
+4483c28578a8992074390f48516d66ab
+03d599353f69354b1111488c73f5008f
+a73b4f5e6a71adb88bfe92eab5d729f1
+8365c48344a9b2b6a0b883e56dc455bc
+39f388ed3cbc550effb50f1a3eb0bd89
+8365c48344a9b2b6a0b883e56dc455bc
+4483c28578a8992074390f48516d66ab
+33e726f08cdccf945ad7838e8e72eb64
+a73b4f5e6a71adb88bfe92eab5d729f1
+24657de57bde5de8f73fdac1203e0fa8
+39f388ed3cbc550effb50f1a3eb0bd89
+24657de57bde5de8f73fdac1203e0fa8
+4483c28578a8992074390f48516d66ab
+aa355bcf78d9721f5577f14ae800edff
+781b7d77dd7777d6ccd8505a0c0c1a99
+0e4b37f32afdee8427baaef6c1e71235
+185c68196b84694953bbb42276464b7b
+ec2c1e8d897fc28938ca5ef6be1e4e57
+a73b4f5e6a71adb88bfe92eab5d729f1
+39f388ed3cbc550effb50f1a3eb0bd89
+4483c28578a8992074390f48516d66ab
+50fa284bef8f5e2484e4a4f9e44281f0
+d6d720725d3ca26323471c3a8b625147
+a73b4f5e6a71adb88bfe92eab5d729f1
+39f388ed3cbc550effb50f1a3eb0bd89
+4483c28578a8992074390f48516d66ab
+d994cf8e1d2de07391d7b3aab8f4d45c
+85c77019d02683d68c09d58f21d3ecd2
+b5de48d728e32e1a1722145abad6d2aa
+a73b4f5e6a71adb88bfe92eab5d729f1
+39f388ed3cbc550effb50f1a3eb0bd89
+a9049aee561790809aa204e52a9c1c15
+4483c28578a8992074390f48516d66ab
+ea4ff82979f964c6e82288898a94c7e6
+7bd5be5dcfa701f59ecf6a13e986f2c9
+da0db0efecd0fe02466ed6fcdd61ce3d
+672ba75f10d8fdac6525f98f1b9ebed3
+92d180883ae246caa437f7ad35151712
+1e12e56f803535a4a23c6e9f73281de6
+3ff963fe5044b15e50b749ab787de116
+f9a10f431b9ea93015002b270ce5347c
+db8e13308bc332df3f45ce1cbb232445
+a3dd12ca42e641e28270c2367e9f81b4
+346d07a057b638b0228428df5544dfb0
+1e12e56f803535a4a23c6e9f73281de6
+83074853c568e0157dc227fa15635c75
+c872f2dea8dc4b18b026a41bd5ed9827
+1b6991a77a2df1c7e571e831e10eebee
+f116940a44a97ec29d87497e66bdfb64
+9354068e626453f8b9f47cc4584f9fb6
+e494f9a266c6ef6e808e0707244d3043
+3b8357e19f097834ac9b98d04005b803
+663166002e2f691d4492b50f6b5a0846
+0b3093c8e02f9ad91eae34a8fc024928
+1e12e56f803535a4a23c6e9f73281de6
+044834b4e91ce67acb1b7f1da6a662db
+663166002e2f691d4492b50f6b5a0846
+db7a346291ae8152d3c81b420f621d2e
+1e12e56f803535a4a23c6e9f73281de6
+64cec462f4e71a20ceab172aceb2d982
+d7f287b74497d31b6a1bd61ed1733ec5
+993861a89b457fbd0d355602febdbaa8
+4354922c14cf5087d719115ca09ab76f
+84a66c14bd8ee7281a59642d5f59a5b9
+db8e13308bc332df3f45ce1cbb232445
+1e12e56f803535a4a23c6e9f73281de6
+b9fb7ef46cc9f6101e4eff5b2ea4b67b
+29b20a08fe5ea4d76cc9e1ecfc1df528
+fd1d43861a1bc02ee7ddee278a524133
+29b20a08fe5ea4d76cc9e1ecfc1df528
+fd1d43861a1bc02ee7ddee278a524133
+5878a6f27aa040a9c40c523954362174
+43f2d4437f720f52bbe89c1127f53d57
+618469d5274f5edb8cd623b756e9153d
+9fc104471271d4cb94608034b92697fa
+911045fccb9c71ddfd58f3a7ecb948b5
+c6face443bb9a1875d0b367f8df88685
+6b1b356dd20afeb027a3bf18eff7c036
+a909b5d8a64313b3ac0ac2aa872e081e
+db8e13308bc332df3f45ce1cbb232445
+0a4fdb0be1714426eaeeed4a1f8b1d81
+1b52cc642d523004e46e48661d05edc9
+09b540ce05dc4d3dff4aaa5d9b1195b8
+63be36b0bdada9248da5addb28c115ba
+ac22bc0f6dfec05948ebdf5a348d91eb
+c09d90bc6bc3ac2b85897bbcb2666998
+4c75b3d0a698e5245a9113121e994b7c
+c7412f9c09504cde695d9c269378b6d7
+11860b9f3281f7017943518679259115
+4c75b3d0a698e5245a9113121e994b7c
+64b48a367f0729a037f03216308fe14c
+c7412f9c09504cde695d9c269378b6d7
+62b7158fff30af1edb2b931bd8b50728
+7951248b8b530daee029c1ca53aeaba5
+003f0167b1ee49d4e4e40e368df537a1
+ef1a594f730a30e77ba47907e5a0149f
+65411121c0e297998478ac36dc85db4d
+61569db398522d147851cdcaf57f3595
+0f904e8e9eb601f52815e8e6486d9b8e
+71cd61e83e18aefd73331b248d42dcb5
+992ba6f391ec4b78e1a7b66a44743578
+8bc2203c0788568603c0c825c0d9c19c
+dfbdff256c5264804bd773685a3c8264
+68a10b6e562ba47bb298158905407b8b
+bdba150ea20fa1d0f5d507946b7c103a
+0757ee63ed776b98b8d8161bcb6c2cb7
+5a782eb4d8ab6357eb5b0143758dde85
+b0260076d558654282fc1a2e6a9ac8a9
+cf4177251e164ddc4e08373f1ea89612
+606da58d4a7f2d0f94650a9c5acdfcca
+61569db398522d147851cdcaf57f3595
+0f904e8e9eb601f52815e8e6486d9b8e
+ed72279d2e2ed36c84f063bb1cb72a86
+17a341f935fd6b1652ed9f7f8bbfceb1
+2ab0ece4455a951f5f6e5cac981ff472
+9edc3c28a9a5ce22d7d727131388680f
+1bc77a09e343930c0a8d14b8356a47f3
+5fc372f23415fc841561d578d63cdf44
+7bd05625cb84a65d09af3ff8d0490d6b
+8b5ce4efd6ca2d174200eba2db9dbe68
+e569a403753e46cb05217e7adb15f7ec
+a94b2373d769aeafa1d1e8fa422d4776
+4ada68bf9e0c04e236bdc648d27869e0
+e7999206a81fc64d943f71aca4990592
+f2a3c20b829ab8e6e7957ed9899a3d2a
+af43789955dc7db1bbeb6c25ee030521
+b75ef4fd558f16aa7074fcc5935ce270
+07c41679e065ea286866d8da49731c3b
+69e77760e75c4ecf0da9986c8c11ed49
+c36f936b72bb567882364d81c31cc603
+4f44d98a6cb5b6cce7fcf3364f2ac1a0
+978105881a82028e2cbe0314c5e5f4cf
+978105881a82028e2cbe0314c5e5f4cf
+e13f6e2c96ae816404d76fe7cd040de2
+978105881a82028e2cbe0314c5e5f4cf
+978105881a82028e2cbe0314c5e5f4cf
+e13f6e2c96ae816404d76fe7cd040de2
+8fed8e062adce793d9d8d41d69d2f8ea
+978105881a82028e2cbe0314c5e5f4cf
+e13f6e2c96ae816404d76fe7cd040de2
+e3a6165aa82d43ff7a442ba21f76b3a7
+2c6a6d13cb7d7042f762bd500458d6f3
+9365d4b232e0870988b3785df8f298fb
+128f972b2d541789abc51c761de94ab6
+c00c42e47dbde12350dc4cb3b4ea128d
+f252c9fef76b4d5cba0470acfdd7e148
+e4c1d0026545d0a225c113b62ee4db83
+10373ac0bda6c1985944c9ed97cf0625
+496eb5b31ba6b1680d88d45f67cfb280
+4d9dd4d922383d8a64ef9eb1702a1a82
+bba19cb87c286391aa11e36445f6baed
+97d0ab618af40a5fab356d2dcab68248
+65f1f1fe13f7593cfb47c96ac73bc7ce
+b0aeccd0674db66dde929e2d9c1aebc1
+b23340ff49dd36a5ed545425404f60d6
+61f0400086de540644108ae3911dfda3
+6beff5ef7cfc42a466698954526380e7
+6beff5ef7cfc42a466698954526380e7
+027fcf18d6c2917a727371c42fd15669
+2ba66ac960b84ee714d16b89e1e96cc7
+725ac621f1dbe8f4a96724ca694a4359
+6b5252f71fd59c6a3769d18aa531dcc7
+2f660214a18b51542cec0f9f4770a1da
+a491a48326207534f0c52d35f66de752
+92d3117a20f9a318787f8e82956e1ef7
+4d0af7e689dc6ae48e9cb657b65287df
+827053a645241dec06462754b5f7b378
+1ca9f9807740aab2c5e3c64696724316
+493da00a069dfad65c3fad7202c1bd62
+0af97f945ea142909463a04de0bc589f
+7c870091584080fc81dfe3d3eb0bed97
+30f1d3f22147ab61adbbeec81038b4be
+2328438f163b760e91500ec559e53059
+c1f24c34ce0065a4709d914d9aec2253
+c1f24c34ce0065a4709d914d9aec2253
+e1ca48a07a9a6c49a4aec9bd50a19172
+3b7abc4bc0461fd1e1fd473e5a3d15d4
+26df2624db87b315ececb6adb5ac6172
+ac3887e928986d06aeef995eed1a1c4f
+80f983c632d17b5452fe37803b0ffae5
+0b7d9f7c5da2e931ba5d4a77d0cefd5d
+99e2a9b7efce18982f21746d2f91f9f8
+abdc63ccf1e75ad7ae18bfaa6ca22182
+428319fb12991063d87a9a4315e6b08a
+b689e0b099a7c17e034056b519f44c79
+fadab7526e7e72a7b298f82e07af8b7d
+dca382e7dfaf6783234c6fc9b5b921a3
+217a3b8b73e31998ec0e99c61651aa0c
+0849a2fdb443f7e21b5878cdb4976eec
+4f6d60fea1d2ff8d1e2e354acff670fe
+97eb5776ef88b8bbbdef306ac6568efb
+898e5dfd0fab32a4af3adf03045d347c
+56f25978cfb879e641a94879314d2d44
+a89ad3c501536bb1dbf1343bed230dbe
+23f906919436963550c6326d7f9688e4
+f8897d6f56770db6ccb65675b5f2a08c
+f33a2280f760d233a5ac8640e4b80377
+cb8045ed068a931383457b8c9cb72a8d
+0b63c9fa2de91c470064e2d5d8f8f7bf
+cd2ec95546f25d799fcb9fdefb35c284
+7d38068153d23f1f0ffe79eff4a66914
+50e26168a0b07161a15465ba429726af
+7fa73df71bdb3a6979701b458a4f5549
+8ff34006019194bc2bff9197ca29e84a
+95526a74a1d687e7ea84dd58f6abc97d
+8a8f965c03a7f81b1d53c7524f46ab06
+cd2ec95546f25d799fcb9fdefb35c284
+8ff34006019194bc2bff9197ca29e84a
+322a6caabf420609daf23af6fafeeac6
+75a5e733d43f815edbcde1a43d1bb99d
+7aec5fb732bf356f62c8a39eab40b8b1
+1734b16e83d2a17773940eeaae1fe9e3
+089019e3c1199e776e87d9bb285c1000
+04956346c9053d9518473a965af1cbcb
+315f02223ac9404966370de5b294ed64
+e1b66efeafd92de24ef1c0a4311f6c19
+4258c170d23ac2fb2594f3543746ce4b
+adefcde28e2b2cb22949baaed4dc546a
+fb045f63ee481609464ab36f6220de2d
+5a1c77dfbe99c24e376df4b9f22e8ef4
+947c176470c8e39e9dd4c29233cc6635
+0ab9c3310cd1eaf327f7c5f3a3e80486
+c8f142971380d0919fb05b64929ddaf0
+cc7b8d3418ae1ed0362ecd8b9573ed48
+6e615ca43ea2a97f4945445336d5b7eb
+364fbcce71daeed4c5c294bfbe40420d
+cc7b8d3418ae1ed0362ecd8b9573ed48
+66e70450feaec8931cb7023f0e31caaa
+2786467f080ece0e04319cdba4d65466
+4430e6e884fda66f2bbe663af25fe0d7
+f26aa6c82377bf1d41289d0d1111b148
+95eb1cc513b1f70d1534aa09f4db541e
+a5b52b4057673549928c78b341e54582
+cd2ec95546f25d799fcb9fdefb35c284
+4f6d60fea1d2ff8d1e2e354acff670fe
+954a2ef8464461570ff224f0479510c7
+a6e8cb1ccc861b721fc60cddbc7fc6bd
+bab005b72a2c579160a1a146ddc25c77
+a2bdc6f53a2501950dc699f707243aa1
+947c176470c8e39e9dd4c29233cc6635
+bcb5d47097c9937fa168d7e6f1ef4b65
+d84a278ab051c70ad52a6a289f8672d4
+0a5855d6bd33a29c86e415b8a9775f9e
+5a1c77dfbe99c24e376df4b9f22e8ef4
+947c176470c8e39e9dd4c29233cc6635
+f8826ee544377be91265fdeaa5c91f82
+a09c7f63861c6ce65257b97f82dcca71
+003b2a4a77b1a514637c8b471d2e265a
+24992a83dfc11e2c3f900f6e4c2d4fcd
+99456b6007f0d70041e77a588dc6b61b
+0f4da7677782e9f32b8ef07a8373a146
+1bb3c9b2b684102cff5217a2969d77e8
+4fd22f05431bbb4e5c03d20535dbf7da
+ff27facdd1feaf19b71d069cf82335aa
+5aa3b7a7814a829a64383650707f608c
+a88dff4306ebfa94e3d8521897c03166
+417f6eab3735b0b2586c019f69a2674d
+b8b178ccb4708577e20233efc4b57246
+3d583353a083a24720ba85a95138ea52
+ce6e1efb83d7ec4b7cc86c1e9eb26edd
+28e230d500b68462346c0dc382aa10dd
+31cae08a9f8901ddda06bfd208d54175
+a5bb37029f5661a00978255ff0772846
+ca06ad9b32508b190532fe9f3c6e9234
+4e814452f81caedcc7f5de090ddea815
+1ec0d302ecc2dfce077d2a945e2b533e
+f5c5da0d9acbfec05f8a800cbfa8a7ac
+43999c3cb99c039c97035b191efd7e28
+42b459ec5aca8dde3c1095c2fa014025
+f6840bc1bf5bf4ac6053c73082965b31
+aa2f01da2e82bfc50a274bdce777a8cc
+c8448803442e3f14e08b405d1f574516
+0d5180eef7e4650059bd50f9a4dcea30
+82d7002b6881ca7d0f6b03bba6dc89de
+e62d3c4ce82f7d29b2a049795678de11
+84889588fdf7381e289007615e0285cc
+b4ee3ead916639b54f88b65102e75b2f
+077472c16020faa50b2d63c12e28c6fd
+919f3e73fc2d3c0b49b1b9c6cbcc19e2
+8aea62346ac0a80b61c1c1b26d871073
+5576a81e6700e300141b5eddfd5fdfb1
+93f9f44ec61ffbc22d396e9778b87380
+64e8c85050aecf4e33c534cced5de46b
+d7716ab855cc28464ea15bcf1c429cbd
+859485ec344a506946c0a30b76253f32
+f1b7c6e8b142e6ad25b6750e835e75e8
+bcb7dea649d0046ce750e5394548cb92
+c605e3defcfc02481d68552299a87e62
+2dbcdc298fea2a0f5547ad8a2c61377d
+6ca1a3ce196ed933e1cee8081d23b1e2
+ed05edba6f9734a2801135cd0642dd4c
+d5f7ba4e99dc9a29d5b9bd77ea6a88d6
+01a60a18e683bb49168bc1ba11a7f13d
+ffef4fdeeea256618402b832cecdd427
+fa66391e6d5109ea70b48fdda3094c62
+c43701ac319486e661783113897c7ba9
+41ef4d684e79dc7405e62cde8ead8d2a
+71c3f445767f35cb69c35fe2f0b40141
+a1616b0ae1bbfb5fe812c53e69186ecd
+2c7befa1be8644e1a36b459264fd0ce8
+8c3892545927cd562c1f90d123682deb
+d58ec2927399209a5b31cb83b374e9d3
+44631c49e06df97dc4a23bc99d6a0c71
+41ef4d684e79dc7405e62cde8ead8d2a
+ab27f155f43c3980571266aa8cdd8aee
+a3d6c55ba80506dbc3d2eb482725fc77
+2c7befa1be8644e1a36b459264fd0ce8
+8031ce4c1d44149afac8d7d3c522f040
+b0f00f5c1ed4317095f01ae5c911c704
+fae578ef43c9bb1d9e554397cc408955
+2c7befa1be8644e1a36b459264fd0ce8
+fe6718ea2841a392876c26bcdb9fbb13
+24c74d6350af0b15f5333b7742ee6e74
+85e5eb7706a25c6debb3c1032191d8f1
+4a43695cf7b781c12a1d2f3184a6f6c1
+c8e94479b045df98711d7e0b02a9bae1
+d3cf4a71dff1703319e55821ab2c80ba
+aae1ed6a0f6dc654d98b12bea966bf8d
+7e99e54d68946b12d21e77afe216ae53
+c92589bd97279ea329aed442e8b917ab
+404af5d0502e114f613fe1f3f393541e
+a8c2ea37a5babbc28f9d977bf93c33d8
+8795092e5a7b94eb623b7d5d4c5b265c
+70f4c00d2efdb986383d03f221978601
+2c87d4d852120e39a9d44604de00a5dd
+4cc411c0434c0769552810ee92e8effd
+0fa21fd4fbdbacaf117e2ca45018aa78
+3e7c3763a3901fc3928c1fc6067e994f
+51a6add180fddce891fc75c5e4bd8fce
+2ece043f5b2b5e11036758e9dc4bd164
+b607e31067c40b8ba7bcfa3085de425c
+fe4aa37860355628b4ad7f5d5f5a389e
+f4d82de446d75c52475873cc8d684118
+f76e5ce5c5bc4657bb8950f89c7518c1
+7e73e5893e9febe4516fd696e14938ec
+dfd6d0ff74e179388ce8bdcc727fb207
+2ece043f5b2b5e11036758e9dc4bd164
+b607e31067c40b8ba7bcfa3085de425c
+d03c116eaa9b6da2fd431f18317ae0f9
+33d53de042c8463597ae07fc4db3b5bb
+cc156b272aa5863a2d386abc402974bd
+c96a2fb6bc1b00a05bcfa713505155b8
+67dcb0015ef6dc3a7382f2af721d4a40
+71c0756d5f5265dd8662228c54ec646e
+63ea29245a3eb474150cf25af9723511
+ed74410c37f33fd4a1a0687ccc7a83e1
+1b84ea285e17f0175bc13b8bc7c00668
+b6c488041f42edadda08812997e6d947
+df73238f67abdce0047a2e16b7d56196
+ab164a53acf74a9f26418762d29cde00
+bd2c49699701ca07c0705abc8e8e96c3
+c1b0662520455428f8a2a7913d2e8359
+9ec733ef7464c6915ee530c2984198e5
+34e1fd18e7d63be2fe9ddf81a9c4bb61
+9dbe767d21fcf06beff5b1d33c2dfe74
+2701af4b43221d43a38461d9ef600ab2
+0a6f28293d16b863c714bea78a5e53e4
+b2f4cec7ae4428939de954af6f76410a
+10079ad4ef0ae90b882ff62c1ade02e5
+71984a23ae325c37b2def4a2173f6451
+a124cd9e7eb4644c3e48ce747a1d12ce
+da054a9159205a3d612997a8604af74b
+67b8dc49294210092bbedff26daaa4f8
+3ee93d4cef221901f1bbd5b6deba9fdc
+e29fd1739217caf7c8c30832f004a5f7
+41a8517bf846ea12d53f0e4bc049a7b0
+6dc75a1f20bdf6b9bbb9e41eb8d86428
+a6eab69c05325e878a0087062b730fc9
+de415b5fee582516c895cd8da91c2600
+c8a84682f7010ce73832ab074e8100eb
+2cf0570f11aad6fcf39264985d2b26ba
+570b0f45ea7fc0e68a76d7dd285372ed
+42c18afbf20af4230f9200b7b6fb5216
+42c18afbf20af4230f9200b7b6fb5216
+bb26456d205b3681fcc9a33863c280f2
+bb26456d205b3681fcc9a33863c280f2
+028d361ae0a7026d94df2a3423bc4549
+d92d78eebe90e0c1b35c4c31dba9064b
+44f2ab6641fe2fb5aa88390d50236655
+44f2ab6641fe2fb5aa88390d50236655
+e7716db9e7f9541dec4d43a504b6042b
+a2ea91d9db9d80ad86546467c1621dc0
+45c51049a84c02925c161f5c70705e61
+e99eba9c5f25a16638157907e78a6230
+8b43017924fa5d3fd0b37804f068c559
+9b523f0d01fdc7bedef1d1134a8f50b6
+85bb3d1d16b67a99e96b47a637918ed3
+653243854faeece7afe4395f2f52a97f
+242d73684cedfebbfd68af2d239ceb35
+2587e770b72cd4a4ad09a27ca59b8322
+8510c0f15a5415043c3045779c2ecd0c
+5c997ae8bc5f2166039429fe232f8588
+dd05ccb1b9b84a7e0c770ed74f6a2656
+586cbd7cf30116eb20298f8af033ee1c
+8c9fa41f3b0e5d6969b5f921b6b736d2
+b01d4a5e118894014e4a9cad2cb9da05
+653243854faeece7afe4395f2f52a97f
+f999911f8f175242e71c71a7c6483767
+a6715019d8a8d959b9e80bb89060907f
+bb91e9ea0ec55e871e1ff7c03ba016b8
+877a503ca815a507111d189c4f6b227e
+7cb770d00b53c16db160c6eb529d311d
+46473fee2f7fef0561ca3f8c2324605a
+5f323ef40a67692ceb3eec706fa701ba
+15be79b4cf67ba1aebd6bad2988d79d2
+fd7089d5327df934280ec75c108e7d91
+e55acb259af7d0dbee5f686568a087cc
+653243854faeece7afe4395f2f52a97f
+3b5650ab3b98007339390dd1f7720207
+2dda7b3995aaa698eec18ee49d23207e
+356876b5aa58ebe6659b4e3d9fa62de3
+4dbcf6bfd9ed8eb17175cdbc8916a4da
+052a3e9445f853b88f2bb8ff0c532c93
+fcc5be9c4ab3dc9a6d351ab8a638b2c8
+f9bb627a1a92d75a5953057285eedc53
+69ba578a31840ee554ddce8980b11001
+1d82476ba4a78758de8b59df945675ce
+ab2bd7c565b1ac1b8a25c922d46ad470
+1795bf26d38645a0b468ffe45f53f650
+93e13829f650bce819fa639f6c429b80
+6337843750efbc63af7fec51884d4769
+58162640c7ed1b64d5d70fad7d8903b2
+499302755c288aeeb38cd8f3ae50157d
+b4cf036fd1e76049abb577c10c86024f
+e2bb0fb982c270a896f227ecb0d0e8b3
+6ae656b16ace4f29f274fb53f69abf29
+e727ad4d9a2635ed72becfb0694b29cf
+a17a3c4067800642c856658b55ae9576
+3de9d22fb65a2cc4040daaaef9b9bc8a
+84d0f280a8512434fc7c8e147c574a17
+3ae04a4361e56c16d8e6adde3a0d3f5d
+29004e3fe2c7eb0c61671c622947d1ee
+415aa41d13aa7a3e4a39c116602b4c70
+cdcb91d858db55b250de97dd7b3aff4c
+b319b35780f5511e7ddb35f14d00ccac
+ce975d38c9e81420c9b046acb2588b8b
+7df66e18a825b9368c89124665aa7e69
+74b003f3d30b80185966af7b620c86e1
+fae7ec395faf52d16c6a00b96f9a7b89
+a66e9b1c6ccecd850b36088d4c67a893
+a19195a5c711f1d0b8a9fc985e09f16d
+79123f029f04ed72d30a6ff2cc1970ee
+6c7c2c6104c04048e96b85e09104be95
+613fdc195552d1102b10559827addb57
+0ad3d8e0d00a4d3292ebd9a5551d0727
+c6d244fc4d07b43ea02eac49615b9f53
+b5d1a0964c6f10d0f0295ec8b08ddcae
+a7876195f5a4c7799084e298484374e6
+ba6392aa10d0c248a6dfeb64dc8ed671
+89f2f6c4c63d9e127148d17e5a0cf1e8
+9020e92741282ec61ea3ff50172b69f5
+0276f7a11d3cd5e1bbef5709d1ebbc6a
+0c96371cc4028ce24e8afcb1b2565fd9
+a782f7a286f382c6137b9a5ccdcb6ade
+d64d4b2f891e7b39318d2aa1cbe7b6a6
+c9d0077cdd0c7d04c104bf9137f644dc
+b0fb712220db693f43f36677a81ac1e2
+9da02637c3ea08102f0dfc3eebd3d3a2
+d3ef14af11fd73b16da524959a55f5de
+e6fe89ae5b6c1021b304faa678d6bab8
+d92393ad190db6ad877d1083ec7aa117
+5cd10b477a04475a2623f23b7fef9e74
+474610901269ba4e8292b4a0c19959c4
+d20c262a82a2654e5161df5b9af5cf0d
+98f844b0999a6edb9b4dacea2fddaca8
+e6d7f43ff784bc720dd117df8af8a473
+45e87a72bce0d028a5207abb0eeb20fd
+eb111158bd327fcc9d2221c568ac6c33
+118c5afcebb6443a0bd90767eb5d3a95
+4c3333e83a98e9eb1fef994fc474df60
+822a56db830a9e271f95b76253903622
+3ce020ff392f949c7aa5bae5ea66ba5a
+653243854faeece7afe4395f2f52a97f
+480be0800fad568e708c4d5609e2b58b
+86faed4c4d8774a2ddbc753465da9419
+d4815e164ec981439535c4a89de3d705
+3685058a96c1e460121687b9a198a5ce
+1e0bac9b8a0603ee3b85bb10380d058c
+fa176c2f53de4878e2fbc23f10d4b181
+19438e08ee4a5dbe3dca8238e3d8c486
+086ea2930696fd29849db69d04ba6aef
+d9ca3a8771f4a59a0101536bd5ba03bc
+b8728381b3ad6ad714e7ddebdd5f145b
+ab3af46bfea5be561aec97ed5d196942
+f7139b2ada81ed44f1cca4affa2b2828
+bbb7de47405e3a2511ed1d8cb9e472a6
+9e937a51c35b60f3249d488e69657a78
+e0c303c3d88e395ba88dc74853149803
+9c83d839cb677ca4d872361c7115cd8a
+3f215eb0a527ebe118b4e6bcbaddec76
+310f7bf9cf18a2d524eab8c2e4a87267
+b66c2e5a7816bd66284b911ad62aa007
+ab4155fbb7c643f4bd83143ce92c440b
+4c3333e83a98e9eb1fef994fc474df60
+807a81a9a13e1c7687724a36cf22c3e8
+8122a940dfd594b8ba53d518c97d0cb0
+38fbb02a578e4d585105f9f299c4d554
+241546566f8d103ae4d255baab24b713
+5b7e8abc3fff00c0aae4efad9f94f08f
+d8e3209031168887937c4e409a1ce9a8
+63a9958f63ba942df71f780d4ba03fda
+d9a9843fa776c4a9f3f3ec1a253c3d48
+b47e97d234478699c348411f93f2a411
+584dedc4bddc1eb9ab711f93f76fdda2
+baa4ebdbafa4e2d7e3d02d7025e4f533
+0b47b91b7feff69b212cba9fb2aef294
+aa7a727f6e410dbc2b1cf6fd6115078c
+9d712807d13aaa533c17443c719f504d
+254769551835030452df02a7353ba3aa
+810c15e76a4074295fa02601015607dd
+cf852bf35af77dfa7f65e6918571f91c
+bfa73cb7ff8938c3aa113d139dd2ac6a
+6a440535cc04b16a2d215d840d686c41
+5e458c79c1c2ea2748469dd5ef13e667
+c2069821a37297a581ca08d18b92e164
+24ab54442d7c02979b9d7631c43656c8
+b4849eea1b5bad8351d8faae6116473b
+af4d9ebb9d0c0c74bbd6e9fdf6ecafa9
+1632b75dd0fda04fc02335edcbfb0696
+bbf04763efecca7a2b8e16a72a2293d4
+7d0b795cd3cd4472cf24391f507db1bf
+35ed9d74b4dc237bc35e49f075b306e8
+3101a2ae3554a0cf3e52fab1585e2996
+bd2e2c7cc966eb62892e3aa66407d5fa
+2bfb952ac52f6a05bbff80b822b34504
+e91fa6da1c3b39d5ba8f2484f965276f
+69084d14a8a3f7416bd153364e31418f
+f5e1175298fda6885573f5df10e8b0e9
+4e75c24aa73ba335cbe06737e989578b
+7b904fab5155393f1e18215081956e28
+d9284b15d62ecb5272cb4da5d8b0948c
+1e59acfcc7ecf373330855081f9175a5
+ce041c0fd5111269b25ac04480a44d10
+48b6a71d13a2a51df154c8f6b6f3e06c
+e2bccada465f053e668808e6ce081e17
+89ab086d490ec06afd0998d049c09540
+861e745ceb95044de7607f5259ce3ce8
+c6627e752eb2dde8a3f090e3314d56ed
+7c95a79de9821349f009f0bc4920d76a
+a4767ac016e910c80aba1fb10b09a7be
+7136ff8437214e3d2b26112ba568fed2
+8fd069bc4e03029fbbbd46f2e8da0148
+0ac3338f60e567c18c9820bb6dac6911
+c2b27586d9feb788ded7df4d0ce24fc4
+810705adfc798e3c7f0ed1e666eacb72
+67f33f18851eaa6ae130a772d73080eb
+dd82ee0fcf602b9260766bf4ccaf7208
+7f0b371d95bd6287b98270fbabb36f8d
+2436b5e0a7dacaf26770ee1510196750
+22886ac00a90ae533c5eb5d72c7e74e0
+f8abc00798ba5dd53fcd4cc9b3037e13
+61bc37202388df1b2ba5b7487b174885
+27a0363d75cca39093562ce2d25d8aad
+1839645f2b2a8a2b8ecec0969e201c11
+2f83977603a512daa0f6e5465a63e895
+1d82476ba4a78758de8b59df945675ce
+763693b6f6cd399cef89a5fa4be08913
+e83e0b4795452babfbf4f6ccdc1fa4c3
+f38a487f39243a3be6a0f40db60e31b0
+95a3e3b336b6ea5c4ae329c9ecf8ea55
+dbfbb58a65d38ea46476f2397a520a9e
+58162640c7ed1b64d5d70fad7d8903b2
+b793f323c072a557fced8a5b43ea2aa4
+0ba0ca79a6c2060bf8d9fb0a7615b9bb
+67970c81ddde5390538b2be248d5aa68
+1536980127b31b2567834bbcb427244e
+cf90d2dc141a51c935fd1ea84a56e976
+a8c9b3f9804ed8312266798a42de57cc
+21b799c704a5233ae612d9f5bbad6fc3
+e846c6beedf7939f4ff4268a8a1bcc7c
+b39deefb31f66f0bc2b116c2f1e062d9
+8256afb3524a8d9404bd05010b49d6d3
+d601ea5ac05a3f0853ef0e83e48ac944
+75c9589cf479783698f9e7f7224b603c
+650c4864a3868e711eff44f87668427b
+dd82ee0fcf602b9260766bf4ccaf7208
+905acf066ed670d6fa282617548d526c
+d414686ef690756322a34519a39ac5a6
+cedde092f70605179c063b349624b818
+2cdd96ef7045df7a106aa0f2f4add744
+5fe1dc68e40d2becedb52ee03cb5513e
+ddcc1a47a631cea7d295aeab58ed3173
+c1e6ee70ce9d367c55dc616339227630
+30593d845e3592228dda72379805ed06
+9a6561a344ba48f22ad99a0cc0bf98af
+d53305080ab935f63cd27276bd2bdd55
+5cf1c3cd2d5f34457d3e87da8f8a03a4
+6f728d66613888f6536ab16670798cca
+6cf5ba80682ebad185596c0c8f8d49ea
+653243854faeece7afe4395f2f52a97f
+d56436dd174ddff31f01503a6ac42fa1
+dd8c89ec7882c86e35bd735258d8b2cf
+8c7ac60bd2c8dc17b82cf083575def72
+8046ce1fcb508057a88cfe17c3555fa3
+7cf2642d8b164d984acdc7e23badfef8
+6fc65e6a7453243030ae032a2609ed7c
+6547d739f27f78a3a401ec31e8346363
+38a987e9509c13d107e848ab22c5100b
+fa20307d15eacd671012c9227cce81df
+39fa9e3efd43da9d33732d313517f162
+c5795f79321817cdfe22f20044ecfd9c
+d106e5a27490712b64da52af193cccaa
+5fc26bbbd7e8fb79f9e07a517a26413d
+da84fce62bfc88818db22454d3ba0086
+9d698e98b9c122850cd53e3572c6872a
+aaaf55765a9b4c1a1710fc62f69d56ff
+e1d3ed97db3b47830b1e3074ca893af3
+3bb9733444f2f038bd8065775713ef43
+5c5262a162a92d2daf532f7831a0123a
+ee22a824e4d217277d23c6961ca10153
+70780ed85ab3d39ff7d36b195b654845
+7a3588671ef736386af438668d4342aa
+4f4bef2e3c4d85716fcae14570623768
+952a4e84fa0bd67b08994ccf2e11ec16
+b6a74d9f816ce72cb8142821d96d2124
+7b728d9eb8091afe72b58eb732430287
+ebf5e9b0dd51a6bbfd15b2ffadc131b4
+71b134eea121d03ba862d79c2059ac87
+6db1926438e7db3ed5ec3dc99022b742
+68923cc05d2bb2e2003b27f305ed817d
+b08ae9996d020f68c9a6a080f3e79217
+f70e98ef897cb114bc3b5bc56ed069ce
+ecd88209aa123857e05662daafe9525d
+a9d747748fc4f5bd71de77b306e87da7
+e49f4ec3125b128080630e8271accdd6
+e95f7698c13cf4ddedc417ff2a9a2d35
+e3454c908cd16b397e7125697307148e
+a3e6de0b6d761a58ea4d1041a31141f4
+328844e64bf83be68e173972b962fac2
+ce64c18e1a3f7abb00e8187add8d5587
+27cfe0c5502bb8bd238f0901596400e1
+6480bf8ab642754bf06ad7f5e16d9412
+3f0800611b68e23d82e9e5490c81ca73
+e61451b26df080d3c7c9ff5a16707ec5
+60ab74174d52602c8e2393d68e6c2580
+71bd5c7d718d8c551372095885f23773
+a8c6312a08187e95808a4b7d5bd8293d
+793ac608aedd525a05f7a41a49b6a63c
+d28c13f8d8d34facc3fb23b3310cbd36
+928f360f66fa93f11910e1ad2a79642e
+339f6968ac01c4277cdfceefe5ae5158
+13f1c83d80a43390f9894c42502e7b67
+22bb063b69d87cceeef2f3874d80ba35
+60e55cd45cebeba2601981c3d088350f
+115c13a74e6225782b341be143ee6a2c
+675e46ecdc7ebe8478be99bce1e40943
+748c85f4a1f94c1ddefb5c79c8050626
+7d2c1551c14545ff0ef57014831db824
+0c457f7f4cbcdb9da345e9632de38d2b
+c52b5eeb94f76f96726ae84c1ce827ab
+dcc0740414e45f9f993128c647df1ff0
+f34bdedcf6dc73389922c0c286db15f4
+b13a39b0c80b63a81ce61ad8fa52b4f5
+3b9bd85f5a42c43da211e3992b7424ee
+3b9bd85f5a42c43da211e3992b7424ee
+b6849680b11c9c713d3969c9c459db5a
+64249205e6fb68edc4d50d0533049567
+e773af20fcdc012543b51ea34d9fbb69
+e773af20fcdc012543b51ea34d9fbb69
+e773af20fcdc012543b51ea34d9fbb69
+ee5c58184167d5ee5ecb52752cc2d76c
+68543b11d06c13a9ba81cfe89797b003
+582f6141e0bf9856f2e7ab636ad331d4
+ecf9fcac41e1f543ef3eb9b7376adafa
+d8359e54b63ff1b8d6689211f8065cb9
+48f30468366ebefacd654822fd5d18a6
+39c8bb66f2d8f919abc31b9ff8142f57
+e27160f43402013dc273cac229b82381
+fa12b6a57b214a40b8334068062102d5
+277ab90281121ec7f6b243d0b9431de8
+592b365ab498a17baf74b363623e7d65
+713d89457d757cca482e6eeb28cdbe45
+009c06b8dd9e9c3cae4cebaae042cf67
+742e072bbb3d373ed817d9b1147d1fc0
+de4be96d82be7690f0d8411995315d74
+3353bee691933f5e3bb3624e7c2a0648
+a8453fa132f00c0811e2862ae99951b1
+f6e7d12091c8f556a62ceb0dbc679a1a
+b62b40fb0975390889abdc521e86cb54
+390b20e53df4e7cc5f9fd98d24c35a07
+ab4371f91fee14223d08e19701523719
+490272fb4e6b2a4e865b2120304d92b5
+b69c1eebdc3b1dee037623ab2a3212f5
+3fbec3635a9ed291d15d4f54665371a4
+7ba817432d40d4b5e3e98e8e8225e01c
+750300007b988859aba5490fdd3669e8
+305fc61faa4dd114e50577152b9bd4dc
+bd936962fb7634d967b7ff056c3cda00
+b83dcac195579858d3ad201cb094f7f6
+726fc0b9db622b25e9bc4676cc39d4ea
+5179153ee75c221b18002b69a371395e
+3f363e1247dcaa806147656f29d76161
+51525d3e573f1fd5734ab7f5f3b10225
+f2ac9143cb1954e74e89f5e4f55114ae
+c49ad9e06c9e4da8a8279d51b88dcc7c
+d530e12da6cfe00098d46ee8c5cefe41
+8b373c3ec0f37cce4498ba07790541fb
+e01f8b483b2c16b0a588db3578992312
+e01f8b483b2c16b0a588db3578992312
+df1bac165f445c20bed3dabde2967d1c
+3187881fef34f83f77f0e1599a4359fe
+0965159219ef617970cca0aa726ae525
+580c207fe06dd7185ddb4fa203f6d352
+feac45d612cf17d7743e991a6669f788
+5b27da40cc920baf79f0b185a1cbe8d3
+6abff623b82a282f4edee14ffa868ad4
+ceecc6e2b4567047bdb672f654a831b9
+68620be02ecc9a200795b499c4723839
+c5c3d36fe0d088bd51d20c8e3c983c85
+1edeeab43315eb178c665fb3576813d6
+6156480ac4d5975e11bd1756ccfbe27b
+ce68db78588bfcbdd8c642c2478b046e
+57af0300c201f587d9fc99f38e50695c
+b2dc8bc78fe0856fc3b60ee7a5e70dad
+3b1b325e8588887b5ddebfd35088695d
+4c5cf0d841bc57a8a2712f0ffb8d0cef
+09cfdb4f860fcd80fed5cdf575c2a2e0
+3b7e82c64167d17d488bad6ab8d85293
+fda0bef8d627f7f51a7be148e6cd06f4
+3e240550f1860fffb9300dfb0833808b
+1660c82941499d8063ea8352cc980bce
+4605472639c72ea565906b931077a730
+a32db5c5f107077c451abcfd692c05fe
+dde66af11042a8ba7a5bde232d62d809
+e33588e54df381a066929c148324d083
+da2e5e3b705aadae49a50b93fef1c1d8
+65102df5fc36f489cac9da02e9295eac
+31dcddcc20397d13bdb7f9ac06d88fd9
+018ef9ecc1c0231df7e524c782c304cc
+16011d973c8f7c20b2b289c64b360e67
+ce06b6afe2470d444c2bbe0a29c39d80
+a974d6fb7e019c26a7c0711e6806b384
+88e2c3406f94764e6f9e9c0dea243d27
+1e081e4980404c07775ad9e46613b4e2
+fb4ab632882edba8b7721c00a7b87ea7
+6ab4cce66cd13a3562ad84ceb6a18c0f
+1e081e4980404c07775ad9e46613b4e2
+1ee7f9c56cf3c6697f6afacde90b636f
+88e2c3406f94764e6f9e9c0dea243d27
+479e31621cc090b2cc2a2c1c3e247cf3
+146501619cdfac1eed2e0d4c2dfa6548
+cc97538b190626d4707a722fa5b0dfaa
+4482cc8b6468bb7183fa6715d5007c73
+d5850f6a35928135a12ff3ca8dea9f24
+230ab831b43c765d4405213551509e63
+223699e89890be6044e686191a01b30a
+bf19884c03189958bf14cf58ff2f80ee
+31830a635e74f4c340bc4bb5ad3c90c0
+f7ce222f5036074bac6c390011c55580
+a083e1c9aac8b77c2ceeee289f5b729a
+11d6797ed16b0a39109b203a5899c2ea
+d190645b612c3e1ca57b37828d268ef4
+757f25e12783b0b2597d5a7fd70c9e6d
+e8e8a12961cf1665e51c3be3e442c45f
+e9f640d49004b64e7e20d25eda12ba33
+7c006704d2d47f3c0410afa6f194b288
+e9f640d49004b64e7e20d25eda12ba33
+45bc97cab20b17ebd090860e4c415adc
+360969bc0d53c0dc48767b40a2569ef5
+186bf8dd7709f82789b24d7211cea808
+8477ca16476be3c22229f761062d768a
+8726fbafd25ab6edb90325c08bdc1038
+cb8d718d167fa4f0defa10c98796a6bb
+cc07d374be9266ca891203123bfb41d9
+91c7925fd6b1e7d3d9ed2a784de18266
+ac03e0fd21f4a52fef72f73559c8c75f
+e8c5a720b4e04a0b219645c53bbd0a90
+8353d7746f645609fed0e2fa83eb437b
+dc65b1a80810404e2a263b7d5cfc2a0c
+56fa6b33a3ae569bd3f234186a58b8ee
+d4ad8f9d0eab1809a421a8ddedaf5bb4
+75603bff653451706c9848c27018cb4e
+80ea8532d0ea1487f50ff81f964060dd
+2f071da5af1669448ab5bfbbfccfddbe
+a3468e90fd415d9c9b3b498190b2eb94
+d8d3fadac43952a1c18922a8c3de9efb
+ca1617456cfe1ff60ed37b5380b46c2d
+b4ab0de0e1f0bae61745f7b3bcde2ff7
+517e95acac131891aad30f9f7fa1af11
+e53b1f9d4270d53ee91f52c4ab06f9ee
+d96e64b2c48c624f6060dcb27c47eb84
+92a786cbca114c052dbda3146796c681
+97a0a01f8a5a97aa6ed1ba79642bdd10
+75089bc3cd926b7706cf20dbf475a6e7
+23ddd557d2797b26cfa48bfc051f275e
+1d0aaa5027048b5aa76c84179c2db6d5
+bd5ddd95f206a08df2fd3819de13ee48
+72bc3502b62eb0fe98b2ae7d03876528
+ba95620576afcb1022aa65368e1d9db8
+4833041d43416a12f8cd6f0e8f45d106
+9344101912a013965f156450c33fdace
+35f53679841cb25689840e993ae27dcf
+6e89a5d043e41be7958c13b10eda76bc
+6e89a5d043e41be7958c13b10eda76bc
+93989449f0a08e59d4e18a56c46c746c
+6c2d8f1fc8427f7d674b18d2aed75b49
+78730777e70f3ddc7d84effda6cd4294
+3a3bfe6486a5552d709a69a6912869a8
+7ce78f085930543aba33029ef195ddb8
+8f0f402d5004ea47ff6c683993b729a6
+ffd930592a814cdad4a470eed966c6bb
+f77c2e03ca38049852df0b21a8e36cf5
+fa416e8758de32bbf9a9761d6e7d2a5a
+43ef1984cd053dafe599fa2ba20f377f
+092dd8eb9ba1d8c2259f57f4e43f7bdf
+e1c5ca35a647032b2022b29ba0d3d69a
+5b3fd343d2c36ed6de4678217be77342
+dc2b39567fd6b5925954021331341ed5
+db505efae40811f4109538607ded4e04
+4802bd4efd52ac72ad8a2f2fedee2c35
+2234b67996a3081fc2118fa751fc95e8
+20ce0e2a9ec83b9f4f73ed5f0e5919fa
+3f4f8a7a08b08b5b8820e65d786dd1e1
+e8ea4636c95ce150268cf43b6147ca42
+ac8975f70a47f9e7312c817f30a61422
+13936ae04e0993607895acfebefceedf
+035f1719523f52edb185c5ddecec5f43
+9a7a5c15a3e59d5ab746d16f3b892809
+8b89335a40bd78f9a1a9c56302b2aea9
+a04f3b728af652dc50d068d33c5a6f75
+faefe3ba165a8e07d6fb835bbf865a3c
+91a1d0a1c6769d1398271cbb993bdafb
+b1598307b001ae7687164389306cf9f6
+33a8c5b159e0ab14461f096bd76b001d
+6ee960b00cb8bcc613c59038c2dcbe2a
+b7f7e8eade06ba639f7f26b13ac79023
+4189b01d2d94ad295a634b7926a198d5
+34b835f5a9b401b385dc4f2a465a9c36
+cace29d100db104addd518e7b1e2f703
+ba96779473a3095da0b0fac2c880c25b
+a5388923e53b5c1645161d27bdb8448c
+6de317be6d5408e1f5866a0d053cff27
+d92fd02a11dce2605103891176a4db73
+f7f09c1fa5a0d77641857dd3b4e470f1
+654b297c1fbcd3a58dc41a454c60ccf0
+efa76524677297267c4a1c94491dbb39
+85e0097c92ec4afb128a52233d4b00f1
+8e06cf78104ee4ed5234b6d2a31a8153
+34f267344d330674560e742277d0501c
+be39c512d3f9bd23b881eb2b432fe5d1
+009774e087c7d857dd81faa7ed5289da
+974a054433d73b8ffbae6052edc8be6a
+05b0c385e56e95dfa0f65e1670fecd28
+b935978d4f60447267ec2bfeb49b5319
+c62105554f7a545725531fe7bec5740e
+d855d29fc92e3f8c3a5492604f838911
+b5a4f2af73dd6a30506c63bb143ee41a
+4b9376817dc756397fe74c580340ed35
+c094c199b05d47bf6305fdeebcbb7b5f
+1a289e2c4290d7ff52710c347aa5e71f
+cfff5d0a4fd5d94d3006310859d23d61
+d2932b81ffc2d2d8996a77cb240466be
+e8ea4636c95ce150268cf43b6147ca42
+3fa7f806a014d04441c4a94b2152a7af
+5e49890de2801947e8713beda1863b2e
+f85800a23d5cdec947e0a9861e0ed263
+f13a96d795a9e0d622d92680577add0d
+942c78439b48d160f2eca597590a88a8
+9368370997cd54874b5419d47411c41c
+5c8b4dfad08646d7ec75338ee7938762
+c8d58a8eb925728989e18db8ad001ba5
+4c4a23ac72ab92a134b60a328ed6d913
+fb1cac9b33c1aaa2ebba661820c524e0
+c0b33ca6fbae13d59eeaed21b610a612
+45e64c4e8b1fcbe71adecbc865005d72
+5218acff6feb22c9a77a15da860f88b1
+84e1bbbe8c932ad50d37b51fd1681252
+e8ea4636c95ce150268cf43b6147ca42
+79f99aede155165b70c6b343bcbb0bc2
+20286ac5fa706b76fd800d2b35651abb
+1c67cb6114ae1e3d6360ca768a0576dc
+6d7f871e8140b17ba605db8fe3170d23
+b62b562e67f31671f702b4b1148ad55b
+0c98d3885895c7cf6a4b1479097fd31d
+e1a845e2d8dec6168f0b385e08acf698
+d3d7f2efc894acd41454aa36a576fdb5
+88ce178c132e4855ce7c2a1265f4a8ad
+8375849c88d232d0bd67cba8fe02fd24
+d180316f6517af5efad30a97967e79ac
+4f6ef357e438dfb1207d76fdb8c1f27d
+8813b587e71757f2b0d27e21f2107056
+8ba5d61a6daae0a42eae102d81185576
+1664020a7ca05ba9a77304732738f91e
+599fac857b9343beeaa885668da26f23
+83f8ce8c40828b8af34ba9cf29b15bf6
+11454c036896072ca704207275191b23
+15bedb4c86eedbfdbf1d31ef9ae1109a
+fe76ebc8431356e667f9c2e2d342ebf6
+d4037cc5947312fab38e7b957846a4bb
+e02b661381b151bb3613044356e64d66
+2324a8780c8199dfff88b93a55e6f242
+3195b786158001699302798a14641541
+f9dd34abd6e7af2ed7d1f1447a980c31
+de82fb017b29566259bba984f3a57c70
+fa066a803da6f1eb29350eebe23ea899
+526c52e1fbbeed77c791c53bb8f8af21
+b9d9655b892e3f9d866f3e68324cbdfd
+38f1de9e42a5dea6c78145887e268585
+493ce1342541e6ee008c63b803ab35f1
+b46a26d2b1a3ee0f054d708b1c0204ef
+b4565f4ab909dec362337c4aa03374e7
+dbbf770deef956eb58e8d93b6e4079a9
+425d2a6dd28fa682c344471b9ac6fda5
+ef4e45b5bdf2bb8bc44f4c82c8a95782
+f64d0bf43d0c95994e4f07d6f1dabe71
+16cc155a558383a62c793c457d635fb8
+83438b0ab5b41421cf32f4abaf767825
+4da9176f2fb346acbf002b2044dfa140
+9b26d569f7681ae521fc03c31962a7fd
+51e40c8c3f0f27623f8612f6842b7e84
+e8ea4636c95ce150268cf43b6147ca42
+97a80af43b8d14916539029c8fa33e58
+aaa303cd6be55e30d74c2d68e95ddd6c
+5113f501a0fbff0758564aea78d0fe8c
+093f7149ce4c96e78063a4c26f403a73
+0b671f048bec10e2f7d78412b78876f5
+c7bb4aa3fa439ac4edcc33215d7c2844
+447ba9b040162fea9157171ba1b28dbd
+0fe8e1dddb835e287013aa5b0dfe859d
+c50a0bfe339e6ac6aa66123a395d12f5
+424d0fc1433719ea5e49b328ede85daa
+5ae1af52eb1f726d7105ca2937461c04
+3991e13952c38413c8a84b56cad89419
+a5cb946323890893953e85cf545a026d
+671d75454b333758febd0e6ebea8f0d4
+4bbcacfb4b7d52b6955616552b140cc1
+bcc62846a45d355cbda6a509062111a6
+fa1826202eff15221aef9efe0280e193
+2dc8f8294491a2f68465a48a4d085309
+ff54de7338f90c9eeba1e8aae654fb0e
+b05c4a57e051c4990c6449d2f44471cd
+841ae7358f4c6114e6f1671d8a1bb765
+c3cde3c2b2c1ff47bcd1fd7ee0365dcb
+a81cd2fa9e23546f650497e9426317ff
+cb3ba051620b5edafb23cc135d1eeef9
+dd8f47091c1e23c5423421f0dd540ea1
+822a74158b1dfe3fd865dacf00c83300
+b46a26d2b1a3ee0f054d708b1c0204ef
+5875e863b048bb208b35c1a1c9f7338d
+7b8d6a3ece4c596314b81af171cce39e
+6166d7f7fc76cd99cb78a328208f3e76
+b3a51b48ff1b167e732f4bd4f25fd31e
+380e4c3a580fcaa92fbc7129ccfcf333
+7975262647bb23327a3b4c4cbe0d253c
+ec98344105eb289a878676dec53f09df
+419a06d1d3386c7a9fe5ae8cca4b50e9
+f65df21ad4a20d240594b3d38ca90308
+ba50185e1cf7975b1fa476d2a342b882
+f1b27b485b41728b509000e1a38d5040
+9c9f7cde70dc650d85e36e58e084557c
+e8ea4636c95ce150268cf43b6147ca42
+58bd564c73fdf7e11a225033c9786eba
+9c9f7cde70dc650d85e36e58e084557c
+8285e5139984485bf47345d617624d04
+e8ea4636c95ce150268cf43b6147ca42
+09b7eab39a57d5b0640f3d164ceb4696
+281b1ccfc8ebf459382e260a1d63f2eb
+e8ea4636c95ce150268cf43b6147ca42
+9c9f7cde70dc650d85e36e58e084557c
+6d6e1e221e2ef42f5de7f2786adb3858
+152821e51c79a9b31130a079fcdeab60
+76f8981a010b92094a24f315de962f2f
+7087e9468cf012038634d5ddcee19c2a
+ff53b6578d53ecf59acf5c264965d4d7
+5de75736a54fc097aaef16b9faaf9120
+576892ad5cb38db8673b20638350115a
+34b4760cffd60a45707b0ec35818ed34
+52fcd0c5c7e6948d0aa80baf97d537ea
+58fb96bd7b90706baddf12badc26d4c4
+61615fae1029e45a408ea730f161c52c
+467ecebbb4dd09fa917f3f417fc25f8b
+8248b94063b470fccace196cd1bf4edf
+87ac13b59e95662afc0605aca2e9e1d6
+86ec03599d40b6c20ef418a731b80e5a
+dbb3990dc44d82cad4de833034e079c1
+de764f0bec95aa9bb2777a8614c8d629
+86ec03599d40b6c20ef418a731b80e5a
+efe8fb37952c727a52bd57d27326448d
+41601da383e12e2f29e4b6c0eda7e882
+5f98e3f23a1dacc3ad6b059eb525e51f
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+f7f09c1fa5a0d77641857dd3b4e470f1
+40412d3c44cb62ee0300cb19ecdd5108
+d65253084a7dceb06eac450c4bf4bba2
+048f59297ede3c6ebd20cd8dbdc686bf
+3b32892d5c490d58ff7fcbbbed0b0b22
+582cc8ae4d21f2e63c6053bb9c826487
+a674382e48ab86ae4ad01becb0111671
+d2bb3e8b86a1a4d15e5ea93b9b5d88df
+3fa7f806a014d04441c4a94b2152a7af
+5e49890de2801947e8713beda1863b2e
+c95b472567835a5c3709fb5df7e4a621
+c05ad53d8cfc9723806d7340a5324203
+f13a96d795a9e0d622d92680577add0d
+527aa0caadd4b04939a3f5dc3adfa1ea
+11a8035cdc2d15b5af4c22b3b8bc2410
+6fa7c985d378ba3947a4c47cbb4a294b
+2bcfc74672c82d4a523a7c003d68340e
+2a2a6a0ecc04c323f1286344dd1f1a8f
+a89674bbf0fbb01298a75a0f07c7b8e6
+d7167a9afbb28ab05877ea70fb2789e7
+31b7781939f7427983c12374b7cc3b31
+ff0217fde72d82b4213a9d8f1b903674
+4e7eaa2d3af71797c4e63475b13372db
+31b7781939f7427983c12374b7cc3b31
+2760bc52969744a6b05136c68e9a39a8
+31b7781939f7427983c12374b7cc3b31
+2760bc52969744a6b05136c68e9a39a8
+7432611adc2c0f204485f3105b8fa883
+c05dec50e5398b8f6019f9d2c0a6aaae
+0427fec1715ab0f87cb62f88cc5ecfc2
+709ee52f87ed0a0132ea312b48e78217
+2c548ac6f96023820600410a08a423e0
+c027e3f7fed6c3901094f303098ba55f
+cb231c4bc998ced92227eb745b63b8e1
+746144992c876928cd11f5849f50caef
+2b4bf574976348343630ffdee91d4368
+462c5a82c91d22a72520fed9d071aae6
+16216c32b619af551bf7580af6a0b301
+38c07792910b72b167bda44de6264ab7
+f7f09c1fa5a0d77641857dd3b4e470f1
+be218f2bceb0d4f66db4d5ab538a5ab1
+f13a96d795a9e0d622d92680577add0d
+3b64bff90b45295c481fa9229a5279ab
+e11858d9821a25e97fcacbc4cf6bbaec
+9368370997cd54874b5419d47411c41c
+9467f029bfb0f36bb9265a64e203dc05
+83ae8a49118dfc5cec5baad66101700e
+a30e2ca6a8e9f37ccc43f7ecd1dfd27c
+8aaa7a05815316f596e81ab52c1cdb87
+3fbfe326796b90c024ee6190c5662340
+a4a27e5ba18608c607c21c4da887ceb6
+a969da482f78095d272ab7d717db021d
+f254c06dfa221c1fb5129f7f449c7873
+6fbf6ddff3839aff5a4e6cfcab90e605
+c05ad53d8cfc9723806d7340a5324203
+9648f1d22d94eaf497e1127c7a33425b
+75574217b713c473074272da095b10af
+c05ad53d8cfc9723806d7340a5324203
+8bd4d75917b68a8ff8cb8307f7034c8f
+3dd75b2bfff0d30ef1f87c2b2c9cb70a
+c05ad53d8cfc9723806d7340a5324203
+5c16ebd035f872c9c49931e23581d453
+588ec8231422c61d05c7e74b30b108ef
+7f11b515648b97bfffe2d143a86fa4cc
+6a7c464d4b75546806ba68be5eae9fb8
+cb7594e93c8a653839e17867ff388fda
+73ccd139e6e8563e0f60e9e1eb49993b
+8c8534a909b25112553fceeb9fd3912c
+eeb1601632b1f2603eb4ff7aeb08d913
+c872cbae93b7eeb8c9c14e38ecb69051
+455d4e0f648ab5c18038bfdffde80f56
+8d0fe049e7e48a723f19e38991a3403f
+dacc1af3d81d0820671956a98ed006fb
+e8ea4636c95ce150268cf43b6147ca42
+5d2b7f2a03c8afccfdff9056b58487f4
+9818ad14d17210011f00f7aa4b2fa59f
+ae9f7b22da89c674c91fb477be46fb2f
+85604cf04cc4bb764973624486f65cee
+7c70df4d55a4a199b65a2919cb757aa4
+b29d9e00f00fa01317398e616fa8a32e
+7606797442f39da8bc8a7528e0c01bbb
+e8ea4636c95ce150268cf43b6147ca42
+942a38e4a0130a5db8235f4ef8b9f68c
+fd41f5a0a0faa80398a42a682463cf45
+ff9554267f6712974814b2a74940402c
+c281f943298b8b67c878f0c0f81b0f4c
+871822c0354d5211a9289c5d3bb876c6
+b289a2e43f73328d168b8967f5933ce9
+58d4ba9c5dd6bd78cc794f9ca906f025
+ce80cf907d17a9704a61349c30373076
+82f8eff560b84556cbd14b6a3f21104e
+97614ae3dd91e516f03276c9355a60b3
+2671f7d65061cbacf169130f8de1d2c0
+67d7babe3ec50a00e9669ab26b858087
+14936b7bb03bbd4d160492a1f11955a5
+e8ea4636c95ce150268cf43b6147ca42
+2e55292b62ca4cedc24ffca3d58fa725
+a34e9432bba9ea98e9a0632aaddac4ab
+0365563ce19512f91d472015330925ac
+6826a54f285694ed6250c8670ee9a6be
+6826a54f285694ed6250c8670ee9a6be
+a506465ed6398bf7be7162ba54566dad
+998ce4cb9c80d5021dd0586143820e54
+e9a2a17c899f1a87504697ccb37366b7
+08653c51b0cb0ec299c8eae9fb26af5e
+f1caf7cc29a3235b86e109a0d667c8b4
+9c8691dd3acef613ee309df97e124a0e
+2b4bf574976348343630ffdee91d4368
+5b27d6f7e4b4b4797c9419bac6a29187
+5b27d6f7e4b4b4797c9419bac6a29187
+5c93880d36cbb5a90325b2c7ae7c70be
+38c07792910b72b167bda44de6264ab7
+1527987f9bdb55c384df619e04175ade
+8ff995510b0fdb9b634abf02554e7a97
+f7f09c1fa5a0d77641857dd3b4e470f1
+8abbb0b27d35589a72a797f055327d72
+cb7594e93c8a653839e17867ff388fda
+10ccabfe8c4d4e69fa2a267d8804f799
+10c6634deeaa95e9b604d13a49ab97a3
+2af3467797499bcd687a1e0df37e3626
+7292d2e65d941e7edffd7b09ba1454b2
+e8ea4636c95ce150268cf43b6147ca42
+6bfe3ab1950d45b2393c18bbb1c7c4d1
+de1fa4b5a6b21237aede05ac533434c8
+774aad3361bd585fba9edf554fc04f47
+5b27d6f7e4b4b4797c9419bac6a29187
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+db9c59b4a1119b0df8419c033aea5593
+05da9adbb61b802510edc94415b6ab7d
+1ef71617c48edb585d1312adb8f7e2c0
+903334ccf8855ab5a2bf795670706b7c
+dd3e906a26d5d291b824b3d378339bf1
+c46851c5dde8172b995d4af1cab817f2
+d9a489f85b60cd5e4bd4bfc530639069
+49eac4528cc1694b5e2541455bc4284c
+07c1b9bf10f47f392896b8bb52c931bb
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+3fa7f806a014d04441c4a94b2152a7af
+43339102de067f918efb6e426d63e764
+c6ccc0491f0da41838406193b5f119a7
+5dded12b5bbfa38ee76deb4df5d9f151
+db9c59b4a1119b0df8419c033aea5593
+9024e069c9dfc2baeec989d2d4c5a22c
+3eebc8590ae7e446ed48ed06f007ef04
+1b8902e363de623f65e1405788599d1d
+fbd71dda574d650cfa102217ea5f7fa4
+dfdfbbed8bb1ecd6c6eaddd3f2b501eb
+31b7781939f7427983c12374b7cc3b31
+73d80fe002173e99d37ccbd16f28d589
+05da9adbb61b802510edc94415b6ab7d
+e385b11ce35ef3964ba848936d9a575c
+e329f6da281ae47f411d9ed7998791dd
+e8ea4636c95ce150268cf43b6147ca42
+db8ae9860ee16a64b7ad563f5d4f7ce3
+1ef71617c48edb585d1312adb8f7e2c0
+d391acc37e661b12d094fbcd14403449
+903334ccf8855ab5a2bf795670706b7c
+95c56c0f4703e04682d89d484d624f80
+c46851c5dde8172b995d4af1cab817f2
+aa4d70a5f438190c592f6d15b1466994
+49eac4528cc1694b5e2541455bc4284c
+8fa87b2f87cffbe47dac5f5e7962c92a
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+1527987f9bdb55c384df619e04175ade
+35aa47bef39e8d3d81839e67f095cba2
+3fa7f806a014d04441c4a94b2152a7af
+f13a96d795a9e0d622d92680577add0d
+8b70f5bc7a509fb900f1f205c4b6a8dd
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+f7f09c1fa5a0d77641857dd3b4e470f1
+41ab5cc6b96a4ad75cdc38a0e6f302dd
+e2cd6241863799bef46a5e2e6a964c9a
+22aaefd9ce45a6c1d1db4ed8201246b7
+3d50210bbb718b66ad8243353f836b10
+c7363f683fc20c1399688ba592422a83
+ddf4414ddf50f541c563d3cb161ff7cb
+ddf4414ddf50f541c563d3cb161ff7cb
+67a0faeb2ce3b3082f7379ce5701a9f3
+e8ea4636c95ce150268cf43b6147ca42
+ee4dd688adb63c229089ba65c075ed2b
+a414b66a47b624fb408ab725e2b9f2cc
+2884026bda631f584aeb3d887ef5f194
+5d53ed5fb858e36ea26557fe52238349
+2c3a33a9d3e61d07c6c4ea3b5ca35351
+1bb6d228c0b69e23b84d47fdd6cf62cb
+9c69fad337fc810c23bfa6b25e495438
+e8ea4636c95ce150268cf43b6147ca42
+6089317dd08dbe305ba5a9557ea6b984
+3fa7f806a014d04441c4a94b2152a7af
+e2cd6241863799bef46a5e2e6a964c9a
+3fa7f806a014d04441c4a94b2152a7af
+e2cd6241863799bef46a5e2e6a964c9a
+3fa7f806a014d04441c4a94b2152a7af
+e2cd6241863799bef46a5e2e6a964c9a
+3fa7f806a014d04441c4a94b2152a7af
+e2cd6241863799bef46a5e2e6a964c9a
+6bfe3ab1950d45b2393c18bbb1c7c4d1
+0bf3ccd481166522d8d965995b5440df
+ace61ac2715defd91ff8d61207dc5baf
+7efb030aa0e297aee9dd7de79ea4197c
+38c07792910b72b167bda44de6264ab7
+3fa7f806a014d04441c4a94b2152a7af
+5e49890de2801947e8713beda1863b2e
+7efb030aa0e297aee9dd7de79ea4197c
+38c07792910b72b167bda44de6264ab7
+bf4885789f22fa3735f8335e10038bb0
+54b478a57cebe5b20efbcdb8cc5a9644
+3fa7f806a014d04441c4a94b2152a7af
+5e49890de2801947e8713beda1863b2e
+e2cd6241863799bef46a5e2e6a964c9a
+8df0f4a81c7082fbd4f6a9bfcc4da67a
+d9fbe57e7e62be3a12f38ca2f014d641
+88c9df6d6dfe790617aae03c0d371fda
+7853e2ac5aa85e0c09ac024f7b8e8455
+0455f8afab63c63ffed484a20d8a74b7
+e8ea4636c95ce150268cf43b6147ca42
+8264ca8d2a63203b8ccdfb5249fc4820
+05196764880713d3612a74cc35640a72
+409d2a79f0491028f3e8ef3e141894da
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+3fa7f806a014d04441c4a94b2152a7af
+f13a96d795a9e0d622d92680577add0d
+f9b87cbf8bc07aa5f55fabadca169313
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+654b297c1fbcd3a58dc41a454c60ccf0
+3fa7f806a014d04441c4a94b2152a7af
+f13a96d795a9e0d622d92680577add0d
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+654b297c1fbcd3a58dc41a454c60ccf0
+3fa7f806a014d04441c4a94b2152a7af
+f13a96d795a9e0d622d92680577add0d
+5c93880d36cbb5a90325b2c7ae7c70be
+38c07792910b72b167bda44de6264ab7
+214369748e86251dda1061686479d72b
+38c07792910b72b167bda44de6264ab7
+030c3135f79ea056378453443706800e
+0cbdaaa75ad46e6deb95f8d9a48212c7
+ecff192e00c56eb539835918a044ec35
+242a3d63af97735318594c7527d9e9ee
+df6e527c9b300485e7c9b553038d81e0
+d39b8007a685cc34f3851a132864d314
+c9c8f972a120767934b062e83aefc6e2
+1bc91d57dbfcb84867aede76c0d01a32
+3359424c560ae6f4198c66c7e7387ac9
+86f8d99f5ea7f85f73a58cb9ca973c49
+15d700eccc5881ed2c93b6fdcd93eab4
+1bc91d57dbfcb84867aede76c0d01a32
+43339102de067f918efb6e426d63e764
+5dded12b5bbfa38ee76deb4df5d9f151
+db9c59b4a1119b0df8419c033aea5593
+05da9adbb61b802510edc94415b6ab7d
+1ef71617c48edb585d1312adb8f7e2c0
+903334ccf8855ab5a2bf795670706b7c
+c46851c5dde8172b995d4af1cab817f2
+c57b11153a4a141a2478d8514ad2baa2
+38c07792910b72b167bda44de6264ab7
+fcc572e863cc8c4f2e0b9a359e615f30
+030c3135f79ea056378453443706800e
+4674536bbdd793bd558175a2c308af14
+0c814679ab784b5a2de9a47a0605bc43
+2ba01998b377d57b902221ba6fe5534c
+16e140a68a5eccd743e8f46b9b71804a
+88909af9d1dad29a309d5509f54b388a
+4b6bac9b7acb3807c0e337881c25a4c8
+da51d36f226b47cf9ccd18563a295082
+875d7c89b4ad978a308eb721138cb3a0
+26c1579ae1b9d05b52a8a38549060ac5
+26c1579ae1b9d05b52a8a38549060ac5
+6de6cc7a2530db5af36e4508ed6a2130
+c87cd53b196247a01ffd4b4175251bdc
+e8ea4636c95ce150268cf43b6147ca42
+5517a8f6594ec282dfb66a59929d8973
+9c09717a3570aaa7a791504dfc683910
+9c0b7f0fe1dff6ca56a92882d1a07d78
+85b587df6489edccc847577716de1fbb
+a1ed512e5919714346f4a22cf20c0d2c
+21057c085b0d21d018d7c3d97f5589df
+0368d02f3042c04db97ce235b9c676a1
+7a029d119d8e9a2a70bb0675944011e0
+c46e7f3f5e6b750cb679fa347f248256
+c05ad53d8cfc9723806d7340a5324203
+b838c3db9264c1adb714636226e74aad
+0ed2ec0930b4fcd61944a27df7eed767
+920ae8f50f7982305ab0ba51cd871a05
+12cabfa13030f73354fce09dcf511679
+ed453c5619aa7e8130375d534ca83a84
+f1af324134813ee80d91931d53c0f8a0
+988dc36e630fa089a8b87270076141ed
+61dedfb10821835cfce85f4f821e5543
+a0a11c5b26b1c69f71a1c79e945a13b0
+c366a245ed1d5ba3e513c3025c3b662e
+a796ae00a870891ebf64cdc744cff882
+12cabfa13030f73354fce09dcf511679
+ed453c5619aa7e8130375d534ca83a84
+f1af324134813ee80d91931d53c0f8a0
+988dc36e630fa089a8b87270076141ed
+c85fe0afe1772f244fb91d37878a3651
+4a04866d32238a79a223f1105c025a64
+02a7688cc35fa19fff437eaa8cc20486
+f12f71be65a39c1ecff8f8aabf59debd
+31abe3f375c4351f5592174bf84a20db
+8a77ea855d11fb1a541efbd1bc8815c4
+4c4f53c4787ea3a3b1493eae5dd6cd98
+654df013835436c112711db4c865f4a8
+df6e527c9b300485e7c9b553038d81e0
+57dffa5fbea887cfcbe8c658ab022d7f
+0c814679ab784b5a2de9a47a0605bc43
+000fd13fd4c1bd21327aa6b633897daf
+021b2085e27a9a3d70c7379243f4c281
+a477bfb4ee02093111c26f1c4755f414
+5b27d6f7e4b4b4797c9419bac6a29187
+cc810140de7ca984f237eae5572b7d44
+ce58b23335773fbe6256b789e7a53b8c
+38c07792910b72b167bda44de6264ab7
+58491f4f124b18e71a5a8bcd7506cc45
+3fa7f806a014d04441c4a94b2152a7af
+d0cafe7fcbce00269a891045ccb65cd7
+0dbfec128d0f94a6022601e1c2533da8
+f85800a23d5cdec947e0a9861e0ed263
+4f6ef357e438dfb1207d76fdb8c1f27d
+cec983bc64550f458cf3879f3e6be766
+15bedb4c86eedbfdbf1d31ef9ae1109a
+c6b5c105379198493854137a67554713
+d0723afef756d5653249d60ed5cb137a
+19c7824f08f18258c3364d2e8a8095c2
+988a6048fd6628745f326a7430066c34
+9e62d046070b47de96edc5b1faedf826
+c7b87591b321d9104616092bccf2c443
+5a93872ef5e5abad15497e3fe8a6d29a
+2e1b7347fe28305f3c3303f2baa3eab1
+2bd3653e3c647e3b49e76ac063401767
+39f698ef508a4132bad833e40851409e
+6248cc0745fa0d24d9d94f8ef9eb0ebf
+1da5dac989c175afbad2fdf53f3781c4
+83539ce8233225f9ef3141cfa7dc57b3
+fa019f5718cf6487dd44bd58a879c9b7
+894f05ffe9673713e72b004fdb689509
+ce3207ea1bde8aa486cde570f5ef4375
+eeb13f526aa547cf3c8c97ab500b8577
+4ebbc4ce15ef76685a849ce0f2eb024f
+8b781c220c8b1c3008198064165d55fd
+3acf449c3fee611cb434f5b3f42b0448
+152476b42ff402925a3da205e40e18e7
+a3c2137162cedf10bc120eabebf99743
+bdddb42e728f90a0c722c37541e67e7c
+e8ea4636c95ce150268cf43b6147ca42
+8b5bfab366582c9551ae4c5137654350
+a1b535908082a015fa59c16db6bc9eec
+47cf884c8023fc63d2df7fd4e97d4886
+86ce5279e6e01f004094ed7faecedee7
+96cddd130f7625eb92def8458beb7589
+4b208acb689e8a459884170549ea3dee
+2562540e3aa1a4696270c51b88298861
+9986b4a189fe69a9814106bfbeaa371f
+576d3453d44aa465c8e6a6388496b34e
+a42c541789a5c647fd0ba65538a2ad58
+0bd311ffbbdb7f591569082833371820
+a8528224a41bb5e8cb07249308a6e377
+f4606f280a59631649e85bf41d44ce29
+bdfa9df52db7d987c6f069639a66b754
+c628ef1b9faf812a25780c84a6cd87d4
+b1ca7e0188827bed0e2ced9b668c2eca
+bfee08dc78d65b741bdd1bf1f1cf1c96
+ac8d3bc913328a625b1f31e743ada6e4
+7f8b117118186d32aeea2e47b221af37
+40ca1dd6784ebc1773e5be9ea7ae08b3
+d0b006ed8ca148da8f5871ad1e9c31f1
+625345c2c55e9b4e4d61269063e5d192
+05be978ee197ec446da4742f779448c8
+a498ad2b82057010422c18d81bc3e1cb
+0fc10324d697a048be6b066aa9df8dd3
+41c35de9312d3cb4c0340ab44fb022f8
+9d607003f2481f21dae818f8095d5162
+e8ea4636c95ce150268cf43b6147ca42
+53e39bfb794e7abfb62d8bcf8f40f222
+f39c82909510d5cb0aaf1c9fa22cb8af
+2f2cb4687acdded91d240d451c15b82e
+888f40cbf530fb10e816869ddc12dae6
+3acf449c3fee611cb434f5b3f42b0448
+a2745af46be7d9761a14f5af9d8fadef
+9920a16b10002f45905698c6c3915e0d
+933070b127cb34d98b8064833be95227
+aa76618259d0fd1d41963fa5bae0122b
+c85adeb514181c793b9ad527db9e7938
+3e4c8964213a004d7bba1d3582571055
+45915e239a59b94273d9dc74113de254
+023d0987d60b7a1fba57402b9ba38b45
+20b9b4cd592a02cd2e629ffebd3c1854
+7726b9697ac878a37132681d90d36752
+c5a9290ef9577356b468232d0680d2ee
+5071a4fdff58301676fde5c6b892ac21
+e1b5708edbcb7297738d370fda402df6
+36cd0919c70bfe1f45f7050028476051
+38c07792910b72b167bda44de6264ab7
+561f0f98fab5fe53f4f384447409a2c6
+c7510f7f574b6bc2eb537d68840cf542
+cb3ba051620b5edafb23cc135d1eeef9
+e361899fd046ff5882f8d7eed671a18b
+430274cf441adcad58a6c9bd5c4d64a5
+31b522c8e8848b0b8c2d660efb66e2e0
+e8ea4636c95ce150268cf43b6147ca42
+0737f2dc9671d7155e9127b62ac830c8
+d90732892d00f724d436e00ce8fe77bf
+73675e11a55c226b47b334cafbe17bf4
+4155dc1fe90f69c1777024d530a10291
+518d4150e5b2a8ccedafafb71c229bda
+94eb406d30d0d76dcd86b22786a3e1e0
+f9b4eb22e3c050818dae4715d8a1efc7
+d2786b700b50e2be18da068f028441a1
+0744cc2a547c30badc815c1ebf8b4aa9
+8323b1ed8aa6733935b866c51099829c
+3b86375c03e16d307b63395c1fc92662
+b5585f278f7a9c01e726ef4e4acfdc99
+014d692f655fd2eb64ddd19e1458f3d5
+b8d66975f6ce82f42ea9ec4ad02d061d
+11209e2d78dba9b9415039d14a780cc5
+526e20ac6d5de6a0e5cc3193166aa53b
+6c2f6c0044be092296ad6d6bca295c13
+2cbbf5067a4954129964df9424020996
+2ef1ac396285ef47f721d34d81394ac8
+e04feb4a4636110e8b0935032ae0cf07
+5804d7942312d6cfb81964d43c24b434
+865ac3ffffaac8e9761bc30c9843c5fe
+baa45fd711d057c838960442de38b4f9
+7bfb38194f95a3155d0e5c4ef8b5f2e1
+273a6518eedc33125aabfffe98e5e56d
+1c7c16822a9d33f8eb316819eb014c2c
+e7989f4066e5f1aabc537f6a2025846f
+44aa26c31a6db4ee6b62785236e3c19b
+6b0ea4e9ff4d6c19818cc4c0de383c09
+b597bf3f88b3d9f8dc40ef50e6061552
+6b25997d219fb541de781c6b77bbade3
+d7feca764e3b6891c78445e9c281b74f
+52e15c7c6b191ef7464318ce900c5c23
+bfe6d4ca214a51d108eef0a686812a7b
+17cee8bbe70c833a31013883e617e250
+1a5d16746c6667726ccfad1ac28ed606
+ecf6c89b384d2af3668a74ac1e420c3f
+4d1a6564c55a56f4ee9652e07aa118d2
+7acde40b996648e3507727a641be449b
+78dc26bc39feed7ef5dad6b46c71f9fc
+50a94121022aafc6653d78929dd16367
+9e69d41a192734882c0e5b5f12821ba6
+419814856aa02b1fe9b7a448173821a6
+01b4bc809e6d0a33574f2fa60a7ae814
+816af1f36ee405d36d8e04622e97b866
+406c6ff80a7687f6db38640128a4a803
+5a9f1bf248f8df5164b4fd13ba78c9ed
+287ecdc6657f5ae391a6a44c4a75cd7c
+9d2f7d268a79a0e84d7de54b4e7d6f1e
+2710d7cba565d4047f6d98ca37964c19
+5cb138400b3064aad334180e8d4834b4
+24b44ab89b5329b7c9229dc4fb691789
+269372b2f561c90f964b22afde1dab0e
+a728968b016c83eb94c852375e1a18ab
+f62d97e9c6542fba5ab06a27efe88794
+b174b3119ed727d3e261b368b6a4cfda
+750aabc603bb602b4ecfe968fec937d5
+21499a96815a54820756de2a88884603
+a70941102240818ba00ca7c4c8d1f7e1
+2e87129fd1d9ff564b4e9df01f1d5503
+8dab25004a0f7f8c3c5a21c97337a81c
+60ec7ad00eb0148c7be8c2eb9fd9646b
+07e6e31b7163e946f50876f9b890296b
+d55b21727d8e267b991394c45c225867
+a5313b0bb28cd9ce667a0e15b453f898
+3e008596754e7a497227a9ff6fcb1a86
+b15a4fa5fa536d40a21dac0afcb97ea0
+37a05e3f3ceb4bf41fde5920fd2836a7
+0f0c518b7d3b815dc5bf95327b03ed0f
+816af1f36ee405d36d8e04622e97b866
+e762de580f5c41f51c39a7583958b0fa
+06a1b7c1b45bb2a16743dbce5bf0f05a
+fe2cab8dc31d6c261e73e983beb4957b
+f58bf1c724c3daad7fda38f68cbe824a
+aa4de6596beb070b09db2244e864702f
+f9ca953cad293b7075f6428df356f0fc
+d051a437b4b573e8196a859931101e73
+ff4c9f712afdeebd0956836cacb5574f
+5264219e0a4b79f953e5362b05924a4c
+b814166d3a6b6793ee426c27257c1a67
+ea476bf8712aaf063d10900c5a9c56a9
+5acfb5c71ba046300cb1afaf6b7a7317
+ba9cf3b2eae976ea879839981d9e2a4d
+9307c07421dc660c21a77cfbcffee7f8
+06838311a9fa4d08fa2ed47a921f875e
+fd4482f7b1f50372c50a890dae286c6c
+0d69ecf5d8817033457b817ae6a9823b
+2763942640e8b7a9b29165a4efcf825b
+805a7baa4d2fa6ffa03e57edd84852c2
+c912a842588054c29ead6a62993210c5
+c912a842588054c29ead6a62993210c5
+c912a842588054c29ead6a62993210c5
+c912a842588054c29ead6a62993210c5
+9ed42d00684fabb33d0934846a23e032
+331a567540fc08f7d513ec3e90cd6327
+ce5bb04fa6060129ffd958add5cd4f90
+a4d2e29e961c1fc72e2c1a77545a9166
+6afb5178496a7aba69e41b1c327aa7c1
+1ce711c587ae5a159e38521a59c3736a
+0da43ccd89215e2aa2454cffa7ad56a9
+a682358c6ab18a347b44a77ffd58ce7b
+76c95ea279b7cda3771131de197b3ac3
+0bd3029fb064981d53cf77a67a5ad749
+1b724fd3c0476b77be6750f8e07985e6
+cb0ff670e7526071363182646e8db431
+d6e7e01ea972a3e1eeecdc3d883dc3ae
+488f1dd99834675ae6b3bbd74fad59c0
+6d695ab0902d55992ac2e8c7cb659fdd
+70f0488b76352c8a2ff0ae1da9f2aeaf
+761d89c7acde64de36ac916316d233b2
+7df1be5923526b72d2d8e4401acddfc1
+488f1dd99834675ae6b3bbd74fad59c0
+9333dc5f1ffae403a113b27a006ab0a3
+c72a3c7b04a8f7cab78ab60fea7781fc
+71359f0fa440da44f85d207e71e470fe
+dfbd136eda8b1fa83472da5e1248aae3
+cd34b73bbf21f52360bc30b0068161b2
+c2b279021da7d101169c6be3a5825573
+48fba7c886116dac08bc1c36a960fa3b
+59fc2ee36896971b1e53deff88fd3a71
+3aa1bf40632282e0e67f51f184cd1308
+583f53530ab8d3d484b93fe3009dd212
+2d115f5c4be29610c5e1130986b0a5b4
+d90620c11cf0a50d9e087445723ab051
+a3a007f75338ab232a4c82f1f9584014
+ee833d748e585d8381aecc7f8ca52962
+488f1dd99834675ae6b3bbd74fad59c0
+b885a31fe34dbb8b5d5eb368e79288d0
+58d79f4c4695242a0ec3bf2971bc9e63
+edb0ec24bbddbf139dacf579b2ae0cbf
+7a9a12a3456ad75b8f3008278463c798
+488f1dd99834675ae6b3bbd74fad59c0
+5e9d823ca1e9090438817240640ad5ef
+34d0a9b4ea215e152c0878665a936be4
+b3d5c480da85c765d40056855da31737
+93da98936a3617c761af172b6ab3f5bd
+ee1f872a10bfcffc724f6e9728b3bf11
+466897911c37873ea70cb3d049509c57
+051b541f66fed6ba584228b697473dd0
+488f1dd99834675ae6b3bbd74fad59c0
+ad062b7c53dc12205f90c2145ae3196f
+2d38c8f2b5e4cca22b31350cf65d1a8f
+4b962fe00e9feb033342821e638def34
+e141ea1b4ba009ee19d2cffb18056d77
+81b2da1d702250c2aaf0920d6ecb663a
+6c2b52b8dab3cc146aea37722462c692
+3dc88b7c0710abbb84626c3169c4deeb
+feb1269af6792bb43752d969eb4d50a8
+466a60f7d0a619f1e276c1a0bbefc46e
+220d708be3a3f8e305c086e182e4a0df
+66a306728fa3db5cb99aea2e96286520
+c08f634b4cc9364e94171cd3ef8ec7ac
+a68d5b46740b9906ef2031b1b9783ddb
+615bf2df891881e38532b91b3a9ead5d
+5b5415574a56da2f3cd9cc7b4de2a3d1
+3241ad10228b8642fb972c6793ff7dbb
+48cde162ce8350a990e8c8fceae68e1a
+7b662db4dc6e1f1cef038fcfd3c1dc54
+7a9a12a3456ad75b8f3008278463c798
+7ed906e27b3ae435b3217db62f3ad251
+89b0d24c09f5ad60e6da6e072930515d
+bd66e4411cf609e97608a6f20a45ac05
+9f5ac45286d6170cfcce749456acfa17
+e43f5c250df4f7eefb527f2f9cb9bf67
+460cf9070fcca7ecfcd8857108771c85
+8ece47e56e2ecdf94c5240911a307704
+f1a06f8fd5b241061c6517935fa3e701
+f86a206eeba29babaa54dfc8a5762295
+19a054fc3ef1c16484d5f94a5dc620ec
+8841b6bb2a40b9e06cbe56df10856d59
+42f44d7952936121cd7f1c79d1bc8049
+af1f3e597e1aa9f89b2f7e7492d8c8b4
+9412d1ca5ff2849e2cbcb3c3077074bf
+cb274b80567f48a9eb48cdc8c02e1def
+f937831604eb363b4fdb7eb4b0f98778
+9a05544ee5bce18c8059d18ace0c66b2
+1cf46106255d5af013e4fb48dd1cea3a
+1a317b0dfccaa05cdb6cfb6bd801f98e
+d694ae5c26d7183ef1c0c56a91506531
+cdea7e118f518b379832f4fbd8b6989a
+c8ac601ad643fb3576db4558cc68280a
+3b1570634b7cda426d6299b1ae521108
+d756d6b37de1c1d57a020ade5e048b0c
+f9a561f360b0e2b0cca79d06e9fb8d77
+9f6b48793923d2f779bac35ce26cca2d
+c1a8b9913c5b782f3e5c42aa69e742a9
+d7584b35f943e1e50c5331bf2e20bf84
+82530756ddd47fcc96c420147bb73302
+a0ae87f9b71f21f5dbfef3e259a7e7c5
+a84f58ed52cf2a99281620bf6404fd80
+ed2a24af5c52de4acf20052ed251a77b
+7cb2c6f421e09b22c9b05535b47c7537
+03405a3bca06c97445155261f44c9dfd
+00d072b5ac72cdae3f2b4197898f0e1d
+4acb2c042a7392d1f5d91194c98804ef
+98608887a233b6bda16ed92c9b5fe03a
+3eadba630dc349a9b53dea7e7b72d5b0
+cab5933c505bbe2d97e5be8b65f2c560
+62e4f64d83255c5647d69ee13b278fdf
+2a5f03bc096206e23824736840dc31d6
+b39e08c7043f482fd27fbd9c6a09a74a
+dd59391801149109233a2852cbcf09e5
+765c593fea114f6c7b7fe72a111eb8e0
+4ea957f72f6731db8e129808220417ad
+931986f29e20f7c1adec4a53005947ff
+a857d5802a9d86a5a9e719f859198582
+34fa85726c1f3c3c6a410c63f1850e26
+173b4c82f99d2650a0b29aee127096cd
+2df50743cadb9fb33a9e7c07f6dcaaea
+ad5a354e7c10588689a9db88167d81ac
+d0e66c4d7830ac995e3b3f93859d12d8
+757bea743ead192ce8915795271aed55
+db52d2b376c1d00d1dc535a0ab07a10b
+15e81ade8510ada564e2b9cbcc7d636a
+2df50743cadb9fb33a9e7c07f6dcaaea
+2df50743cadb9fb33a9e7c07f6dcaaea
+2df50743cadb9fb33a9e7c07f6dcaaea
+848247d4fe3827ba4a817b08a2803910
+b18d2ee3cb882dcd2c8c4d09358766e6
+a5d5be9d09f7594bca616648e6a0fda8
+02253cb2a8aa53082b85325d2428ae3f
+43f7ff9e2f7373dae5882eade29b01a2
+34b4b09b0169fb6467755b3c4d493a71
+5775a12fa037ac821e04a1ba36befe37
+35f0cbda40ff66a822d6019349db9f77
+77dbef20f96eed67e56cb2fbe2b24575
+192505ca95738d785c6054ae3beee3e2
+6b80fc376460c6bb0be8eff8dae98710
+34b876dea0728c70546f04e91d703093
+ed85d1380feb2760b169bb2b4c8aae28
+2b49d57c4ef097721d0dc657b03aeef1
+a502dca825f423374d406632d7034cb5
+635cdd6cc72878c1d8765edf6c472fe5
+0b680a137c5e85394c72a4a0d0061b34
+b447cbb4c226cba611e585fc4e704a26
+b9ec1bf014b48c1a1f19826034b0475b
+14a61697cce5b0531a1cdb07e93390ee
+24a0eb57529ff231d9cc05adad2d92bc
+f616b66dafb34b3bd60cc0aa3c8c4a04
+4777f7c4213c6ba8b5682cee441b249c
+51f5cfad6c6d7c59d8cbcf9fdfaccc16
+d1c7a3f4ee9ad1c6d0b1e254d664b1e2
+2fa32ef818a2026b15f32879dfcbe633
+13c9324320202c6bbfb8e4a8cc4a27cd
+46721a3f1c3c288590faa1183774bea7
+d264411f0b9c11c62c86747377c2a3e1
+172952b63fa06abf127ae16ba436cb84
+1ceaf5be70e8b7c12227aa748abeafa2
+0b58eff5ff57911ce7a37e401142064f
+33e03d7b6e3241416380fc0b43ca7dc0
+33e03d7b6e3241416380fc0b43ca7dc0
+16027775e7bf0add38345a06eca84232
+16027775e7bf0add38345a06eca84232
+89364f2a308fccccfc7b8d4dd085a529
+cfa5675acd24414c57e6569d5ea39e51
+6cd8450b7a5f45b3e93285d05277658c
+409a401b4f4dc8dd3c97f57a8bbe575a
+6a1d4ab01f1fdeff9ac2542b91943f1b
+6315c36dfbe235496789c52bd74b0806
+df631a3635049e7a2206242b8de5729f
+cadfa79f3c95767e52a153de74d211b8
+6158f009542b7630f1dbe89397653def
+fd25a678d55470bb03e89f7a4173d420
+b7768409b26503d887cd4f86c5f62bb5
+7318cd74c9b1348dd80789abd3e8b3f1
+95bc46e41724badaf9243e3369095b4e
+d2a671adc69e112f42bd5d03c72b45a3
+a053ec5f8bb4bbac6dbd7444d03a5cd9
+503e3c0227acc34aa21881d27444abf0
+023b3a225cf3f9e21671f6aab7034146
+5615c223136fb62cbdb99af4ea7a7eac
+1562356711a7c56f085b2ffb8c64bcce
+cc9d881582714463664f96b414b9912d
+42ce1c7279a035b08ba150095639e952
+da99f0342f45c1956e5676ebc6d481bd
+4253c62674e49b4bce57690a7d341157
+cfbd9163663a53381a189e26768b53b9
+f8ae376621d77a7942acf02c4261987b
+61fc6eaac225d3061420b6a46a5057cc
+999bf220dfeb445d244d05d38baa2dad
+b2cb13eea99764252e6b5adadec0364e
+cb73ef40e0d7f65befba0deb948ff90d
+7364c8dcb0a33391cf956dbf79eb208e
+8cc1259dccb8452a649260e8618f620a
+3a9936e548b71bde26e558c6086cf3ce
+74151ac61d0cb26e46eea08e4d029501
+e00de731aa335ff40be55814d1b7ecec
+9def957a592a6d069e41ef9cecdf8e30
+0d80de8abc12d745231e6b5f4b445ef9
+283932475c5efe421a6c7cbb210497aa
+89b09e9cdf5eebd5eaf445bf40dc8745
+beb59926cd65d87156f8e8c99f99c3a6
+647cc449ba1ecde334e2aba26162697c
+c0a50499147e6ffba78c98fd2c4a529e
+73011c59606de4480f7ffb666d88328f
+503d661167f2e427e4dd419aaf2f0440
+2f0891b0577dbe10abca1106a4ae088d
+c202370a615f3c820c9b7a0a16680c88
+324d4e15a7e0a2e6b9254fca15ec23c6
+77dc25e8fce7c6ca4d3830cad19f2fc6
+68f306a4cf8443deea6625d35675f132
+f28f8fa7d9287fe9517200b812e4f5e7
+f28f8fa7d9287fe9517200b812e4f5e7
+a8ebe84966ddf9c5ea12c59c39b3a67a
+7d4da841277ecac95b854ffa336463b1
+6e925a296835faee0ed4121cbdab9fa5
+6e925a296835faee0ed4121cbdab9fa5
+0a7b6c500e55c35dad87dd645a6fdc46
+3f48faeabc9e1b86375568b656b9b18b
+b75244571197aae89f4c62eaf685fc6e
+b75244571197aae89f4c62eaf685fc6e
+c2fbeaca21eab32b003c4c2892c603e6
+c220c4154c07db32848e6854fa45906f
+0e6920adeb56193b3dcb79536d579f23
+0e7834a96a2c6d96aa4c930be53940dc
+d5a64aea2f3ffd2b9a032370258008ea
+ee4bda6e69bb8ccf50cd4dd46e20ee1f
+36e4de599440a2ec5b17102ddb5eaf8f
+15b6a39b88443467f6ce37d44c61f2f4
+0e7834a96a2c6d96aa4c930be53940dc
+bae779e06e276c2fbc2699adf0b1ad69
+145fb68cbf55d23bebc43b70fafb7906
+75d2e257dc7405c900f8faf992fbcb30
+44f1d9815b8d67580d96fe9d68ea803f
+72e24f90fc4474ebef1ad58404e6f994
+ed44273e6791b7d1c98277fc41955290
+ed44273e6791b7d1c98277fc41955290
+fe98c50fbd7590f0241906231c3b742e
+10b8634f637297032c0462db40a7e941
+10b8634f637297032c0462db40a7e941
+5a099e5e07a9661fa1e0980e2ca4c02e
+5a099e5e07a9661fa1e0980e2ca4c02e
+be1bb1592bf248c6f9d4e57338d48615
+be1bb1592bf248c6f9d4e57338d48615
+db4053beaff17a234dc20cd16c428455
+db4053beaff17a234dc20cd16c428455
+4c1a87015f62bb45c0063b424126decc
+4c1a87015f62bb45c0063b424126decc
+396a94e1649484886fd8f2238090b537
+396a94e1649484886fd8f2238090b537
+48f549ce639ab397b94edf017b67bbae
+ac48cd395710f6ca4a1085ff2d36291b
+ac48cd395710f6ca4a1085ff2d36291b
+0ebfbbb159c0430c13c7709bc7c60014
+0ebfbbb159c0430c13c7709bc7c60014
+c98631c5a83a42863f646fce0fa4575b
+2248f7b497f6367c769838984908a11c
+c1478e90e40bcb8831ab11af5b200428
+620b2ea3f999cf20e9e2cffcb63999e8
+23f8b48b8159809f8853013874e86cb0
+2248f7b497f6367c769838984908a11c
+818bd98d487b607754643d892736018a
+0c2c8f46574482c5ebadf7451d5b2e39
+5ca4e5e88b08f6d3e6504e4788f54539
+5ca4e5e88b08f6d3e6504e4788f54539
+a7352293060cd5d965d08e6738f519a3
+a7352293060cd5d965d08e6738f519a3
+bb39152fb4d7f91ed1da5bfe87926492
+bb39152fb4d7f91ed1da5bfe87926492
+6825ace39d3b3c69c9ed5f6f532d4bd8
+f3798e2e8115b4a5fad11ceb4326794c
+135865d7d15301e59eeab29731f7fa50
+b914a1a3ca798077926878c4463f1471
+07e346ecdfebed3811bfa8c56f17e848
+8ab64469f9189d46e661ab82b79add9a
+b5fa9edaa78e59caa370e6102e14ad7a
+20c4e0f9b88735089332e2f540554c07
+d5244bd7cdbcdde28687ac51cfe107ea
+92530d42827ac0a135187c76d7cf1474
+0d282daed86826ed0a356e9e1794c394
+4b34b1a02202a0ec3113b68e2f994d8d
+3090b1fe8729322efa274324e6807d62
+dd8ec5ba0b75874f44348b036491cbf0
+15f796a3e47571b1d02a380b89fb4b77
+8e2cb2daa1565f8bade2a6ebd97524cf
+8e2cb2daa1565f8bade2a6ebd97524cf
+2c9f2c5d57f399bdb7003e83af3a8449
+2c9f2c5d57f399bdb7003e83af3a8449
+1b7f7635f39f47ed6533dd7f414891d2
+1d5785ed38cd9a1e9aa10bd5aa64c9da
+1d5785ed38cd9a1e9aa10bd5aa64c9da
+e59c91d69820fcc1f66a81c23afd2a88
+e59c91d69820fcc1f66a81c23afd2a88
+1323fe306328a051ea276d25c64327d7
+1323fe306328a051ea276d25c64327d7
+b45abeb1930e880c2850eba03ade6517
+b45abeb1930e880c2850eba03ade6517
+68c96209dc487ec71b00b385dc1d80a9
+68c96209dc487ec71b00b385dc1d80a9
+7faae3117fd0c865642ba1454b0036c3
+4a0e38ce4d0717f24dedd7560a096de0
+58cd4216074928a8ed4311ad1491bff8
+45b197098bde71a066c09414f20e4316
+d9d39823f14de5b7de1f3728ffceaa94
+e5f763ff369909f6a3f06b2e9e8c10e5
+d1c4b3ae93b2a97279952a6272dece71
+bccfddf6b606ed767b459065fc01d908
+61ba4e84bc9b5e3ae098df71a63fdf55
+0f2d8b0c4001f2dbd7e0bdd533eac250
+1bfa36a396adc99bdc9fe7032de082b1
+0a9b54fd91f9e4260ef2530449f5dbf7
+d479d7851dde40c9ba021ac1656fe59a
+d479d7851dde40c9ba021ac1656fe59a
+11c12803f331cd36eafc0e3c6d2279ca
+11c12803f331cd36eafc0e3c6d2279ca
+bba0ebdc1156079f771007dab558615f
+cb0d0b64442e64f76bbb2ba9f152fe33
+6bfbaa0faf23b8a5e819ec088bef66d4
+f65ee71928f91027dd50c5962ca5715c
+d00f88434efa393a2998f2307cb6366c
+c9491a62119061998a7b34707ade328e
+61be2fef218387d76f521f06d78e7781
+967a0170ea4286599ef5c3b7db3ca822
+790baa1dfee094a2286d030e5f721b92
+29c3e4aea10cab954c7d808d9c644ebd
+29c3e4aea10cab954c7d808d9c644ebd
+85c8377f852bb527d80f3a90d7decb98
+22e681ffb5031b19eae9f15eacde035b
+22e681ffb5031b19eae9f15eacde035b
+2d9d968eacd4309c298770167873c49e
+2d9d968eacd4309c298770167873c49e
+bb6c93fdda39734cdaff7ee8a332f44f
+32431280e0cd2856748b12681b982c5e
+b799a560c4f7d127cc6881c3145f8971
+b799a560c4f7d127cc6881c3145f8971
+219c59d29617af0f39117c01d929cbbd
+4220baaf193baca2acbde36ffe036971
+a36c43d062e87118a22323d74c5f381b
+5dac223cc25360f93931498a8c9331cb
+325026747a3346408b05f060537bb8aa
+325026747a3346408b05f060537bb8aa
+325026747a3346408b05f060537bb8aa
+77135767f28098042cc2d392f8f39fb9
+ddef5a14fa04e8ae0dc410e6b08c00cb
+1d99bfd4053e9eb972be1b013323f801
+de1ccc4462eb9c942e63b38bcfaedac4
+1aad965a6589f796dcf21c82ff1db1f1
+de1ccc4462eb9c942e63b38bcfaedac4
+9bf2dea9f2ea38fecad38d5e0723d240
+37a94c6bba46c800b3ee8d8064f2f9ee
+96eb6d4c0a849c1b15b8a1f8495cd9fa
+9371b63c50eef027cd922a7991da77eb
+15ffd9de5d89908108f69720a67fb894
+9acd15e8b3c8133f788243b565f0d026
+ce68b762df8ddf2858612923d9f770f9
+de1ccc4462eb9c942e63b38bcfaedac4
+f3e330529179fc28638f71c3ff2f1308
+8f2c518357e8a45d21131d46675f10f4
+de1ccc4462eb9c942e63b38bcfaedac4
+ac2d690f46ee9c15bc259e44351e5814
+df7f24c2c6be48f9f97c93c7205b26ed
+a9364dea2b839e9f2869fc90fe27a34d
+6e007d66bb4e008b52f54aea2d08d982
+3152eb6405c106a74146e549706a2228
+2567c0f3700cbf2c0c7a4eda420cd399
+207d1c2b1e8cf2c818c6f61e9ed44665
+ac3df63d4e5e4f7bf9e0200091933c95
+5ce53ee87240a76f508ad6084fc9e2a6
+5ef84fc2adc80fa44a6ae22adc0726a6
+9cca91132200540fb2832d5ba780da8c
+ce935433ac89bf56294c87e563910b84
+541ee0406e54146749f972dadeef0d22
+1fffa8179b7d08d811ed3d1a08c5d8e9
+1fffa8179b7d08d811ed3d1a08c5d8e9
+408bd3d2a535855648efcab874d3fa75
+63b2a984c2b36ac0ca4d60a38bdfcd4e
+f65c6e21fbf975cfbe6cd3e8ec7fba7a
+f943bef98e0cb3652ed19c502584add4
+5b62d5a5311934b4b357c0bd087cbc3d
+11e7b143e4ed3ef11f9fe70adeb88070
+42b014a0ac8a891b61d09c8cf78f368a
+f432a5856b8a4fab69a1ca80e2611a20
+7a6448b46ec8854e0fab2fd78430df33
+9704fcc9b534c5e33d4f4b6c9f9c5ed2
+dcefb9371e371e69de9acd753c036a61
+3c1a06cef399688bfdd875c81de1f667
+6b9c66385b3a7c75d3d52646926344f6
+812642845cc493abc6b66f8316ad8e3e
+d6bc257587f22367db12a06b256d0b5e
+f969e33c2f241bb80bf062029d428966
+b0ef5934b8cfc738d699d9881c92fd8b
+83cdc850d87e8de8cfc71ec9c11ec6db
+7893fe9299de352c57ecca6b64ea7771
+a5c9ac475ecb908646152ef976ef7b48
+740c7180cd78b4aa06b1716a523df71d
+e773aaa8236b54b6af8352e9df722f50
+b91fc73f6bce6a94a805dd2a4f44d8a3
+c6d47cd2e8a5af1a4b7d0eb36d5d3f73
+e7fdde9f677823937ac092335c7dcde3
+aa1c590f0b5bb52faeaaff6cdc597481
+51775b3a4ab419b9afb395ff6d495478
+b28a32a4259237590e1cce1421ad7e06
+4416f9bd47ff5ea3cc49629505120c50
+65f8eaad504c2f5fbade1e383ec98296
+2f46b882661349338075e7b5b796db02
+bdfa71f9b300319c27c68cb52be6ff36
+bea8af1996de3d0fd015f35beafd9499
+1c5302d90c7aca44d74f285c015b93b9
+0a4e824f15c1dbb23e9aab010e97de8b
+b851368873dccc7525d40b6fe925064c
+a57a1a88e18dcf3f0ae277e3b17dacbe
+caa03f47cdf6c9707fa85e952828da0a
+4668c7d962cb4e8342d50b324a719100
+5cc2a6a94f0e8bdcef268ce8ebc67dc0
+030d7c374c784683d5aa0e0d52895727
+5fef7d18142840387d2e5197f035d915
+94b61b53c74c079ed7869c50cef7fb28
+ad92ae2c9cfc48ae62e20c2d0b1d1b98
+7dc0f5803011c7b83dcb6f6d4150c3a0
+f9ed88da5ccbaef77aa1d4cc0150c38b
+ce6468ab54b06a2cff9cda9f88dbc5fb
+972a98dc14189a7f46de184ab73bbc7a
+e292e90d63db63f5d30a6f61e4a6b611
+78640241b96603822f180cbc64209416
+8782e76634d8edd920051fccf27bc002
+6202cdf70b0c5d2c3823c082fd01a65a
+43d14d67bdad170c8cf1a184a071d429
+6aaabbf9ae9a6deafc8a0cabdde4941c
+85c0cd72dc422ee0757e5f0e3ad025de
+2a84661143d4866813d735d1079ae64c
+df48e49fc417729e5e4885d2d1a24569
+94b61b53c74c079ed7869c50cef7fb28
+cf7716b717ac68aa19293525675002b8
+5bec15466793a46f3882337a13eb11a8
+93680c2e2eceefffe34740e301d04575
+cf24050b7a47558d82c5e59350a6c61d
+27bbc53a786007bbc92f876f9306626c
+5e544830eab950d43aef213e8ceeaa8a
+f666a5971c04c0adde10d64f49915f2c
+db48c9b741b7c6b929ac7642f67d452b
+1dfb70ae69f4b4ef5f0722b963e4c1ad
+c39174ffaee80d112a3cb3e1da9a90e4
+079e769a07e99800b6436dfbf0a4badc
+150ce18d874b2e30023092c16604e45b
+95715c4f8682321a3ca5bd950bf2a992
+05333a73d5e0ceba04d6482f70e149dc
+79e7401801ec11030a522af05750ff1d
+36dc1b3efe79a72dad18d1153165684e
+44bb8c270c69db432fc09f61f7c36467
+b727ab9f36396f97c5ca3a84b39dbfe5
+3aeec6926bc68dc841ca3bda7ae25bef
+6d9017b404226dbe76226776feac9305
+94b61b53c74c079ed7869c50cef7fb28
+a0bcead692894598c9a17dfb71904a89
+10f877e5de5e79ceb6f0ca0e71c0d154
+479501e563191967335865a8a2a5ce56
+43c8c79f2ae332ba00798114e6987ac1
+13a6880bc30b47eb1552110ffa35e1a8
+6cdf86a8249e6e49ef9198dc0d81a061
+a675a22b9b82afb1950245026c289fa2
+43c8c79f2ae332ba00798114e6987ac1
+cfb28a2419ea650cfc94d7e7d1d7722f
+bac9b90a2ca6ae0f6ac9288c6c1c435f
+6ed6fab16dc4202ee35020b414dac0c7
+577ecfb5b4ca23808ae7e154b38ec49a
+51df53ea2b795d29d259d7722a3b3393
+00e4d90fe3d5c0e70a267ba6ba7b04a4
+91e3eb08081bf8b98a59703a3457d018
+826717ef0b651d06949d6ee3f18178f3
+7bd9be4448edaef2a72b34f698128878
+2095ae0a6d5680e07877da24b71cf17a
+306b41b54a150fa011106f8439a5c2c2
+1f55db9445a2b3c38bd70d4b82b682a1
+6362b032025c7fda974362b9764bb3b1
+7778228cbe4f1a1d1cef7f7a33734bc9
+2f9d3fcbc0a950eeed6989be88ce8ca8
+2f9d3fcbc0a950eeed6989be88ce8ca8
+406d42d6dfd26f431a7aa70fcfe0de44
+0b22d5cd262943234fde4a663af0f144
+37fad61d2c6c8579189a7277bf2c9a96
+9adcf02d787435845c65ac1bb0e3b72f
+2c2fe5eb88c9291ffebfe1cb8f8034f8
+d4c05ffe441aa96bc5816ae46e7078a4
+f912c252f7ad2fe260422e72745ee73f
+e9da5a1e366eb58a6c09b2bb36cc1d9f
+9f750221648dc8645534d31d5345eb13
+0b785ecc540924baeed34821cf258b4c
+0b785ecc540924baeed34821cf258b4c
+a3266ad288614398fd5926ac344f521f
+55e2a96e0d6e867fd65e53e5cf4f459e
+13a6880bc30b47eb1552110ffa35e1a8
+94900b7b7a6e97eb884fa449bd78df33
+684ecb8a707af7e73a3c59f121284371
+13a6880bc30b47eb1552110ffa35e1a8
+8934a57b55f07a255ec9e00fa8fe1b6a
+94df5561c6f5d3e5b6c9964fcab97881
+6a75e853cc81e8c0de02033ec5f5f6c9
+bec52d3b0649acda79135641e22a371a
+c05de231799a8fda5832e2d8e1ecb3b6
+a47f2d044914746ac05c7fbd26be3a01
+4c4141d0c6ae781c825d3b512b0dc412
+ebbcad170679abd4570099ea01a84693
+09dd5355d7fff40c0213d2b942e44ca5
+4214d68530c193f341dafae15141ea05
+55692298aff25ee3d700c846a4b9381e
+3b1cf81b2480b25df7e373cbafca67ff
+09dbfed51db90c468728347988e46918
+d6e4efef9e82e323d67b7840dcc8f43f
+ec3f4655ee53ef5feb1b9da4a55040a9
+94b61b53c74c079ed7869c50cef7fb28
+c98a9bf894abd42ea40fa7792a60b81b
+f6477d0bda9c6708bc5c3cf769f15e28
+4f929330800fe5ef5422265e3cc5688d
+b31ba49df5f20f45c65f885950b29feb
+2a68e0fb12960a9fa9fbf495a46610a1
+ff77555a6483d54137b32eb40b817282
+bec52d3b0649acda79135641e22a371a
+e4b55a00286ff55c9d84c1b3bf473558
+8230a8afb8b806e5defabd2daa240071
+00db26ad4886bd82bf9982a64b9417ce
+463e0c3bf10c01fcc0d97761950bbdb8
+31a9446270d965ed6edf8fee519b0b66
+94b61b53c74c079ed7869c50cef7fb28
+a1ba222177d801633a6311e03094fa7a
+3f9f72e3e84ed8e347ab0883d7d1ec04
+38c33043332830f5b08085714f90427b
+f5926ed9fb852427ed1c1e0619be2335
+8bbb4e7462c0562ac3d871627f433b8b
+33b99b83c7b19e2c090abd3bf459529c
+c4fd2070bd8fe6506e98c49e403e161a
+36244a767790a20ffb341d594aab631a
+8ef077ced682f546c498a2528489a0d1
+04bbf3f1a7e2dbcdecf3b887f8ac8ae8
+b8702f7af41a0d2c62529390b6663d05
+8cef6e93e2e12bead647e5680134e65d
+010d8dca685364aba6509a7b40f3c704
+7c94452f40fc69ee4f5f0ff4e2ee34ff
+31dd89bf9835ab6f356525f47fc6874f
+9917d5de6288bdb6cf52dfa0f9593d96
+19b34b9cf86a108e19a0d6ccb02b1250
+7e2594712bd2ea71a6edacad583e0727
+65f42ed222be69251057602f27a895b6
+f9818ececd57b849912f076f7b0fc4ea
+cbc33e87ed9e8b8da99d5936d0f622ea
+758a94d73f963fd65db7f63e4bf66e26
+c01cf69b6348ac3160a459cda3f367a3
+196edb90863901fadf6f4b73a676a45b
+34dd50fa2965b6afcdaf42db05e7c044
+3aca9d661fe168c7fd269c1999f856dd
+98b3bdd104a914eed48f61f507b29022
+f7e7ca5d59d48e7600f01755dec26b30
+e5271e0fa15fb2310a42aa0d05502204
+a0a45c1bd8735c6a1e509e2ae0e366eb
+c531359f59d83d3eafa97da53dd5eef9
+c2d7f5424060b0572ae051dd778fb3d7
+59ad00d9bf24594fe88ccaa848772660
+94b61b53c74c079ed7869c50cef7fb28
+431640390f699aec1cabf94442f9cf8f
+47d188301c62f62ed96358dfb6a325b1
+e8d082194f2e99d36ba85b99a1502e55
+343346f455adcec24c349acda7e3bb5f
+2c0d6cf181904a69a61625426b5f1d47
+a3b29674ae035f75fe59c3c6b79cb150
+77f738d080be0d910a7e20874ad9af36
+eaee9522c35894e2da76a2b3f305754e
+0017575ee2cccee321e4604d1f7aee49
+5209b116d7f0ec67941efa54728d3032
+0e2addafa82034aec8e4647f681bd83b
+a412417f7638dd2daf95264e569e4288
+98f714043c1cdc22b277b955c1d8e1aa
+cb725ae11275afd3fd4a4147eb4c0a1a
+c799b5b679e3b685e42bc63cea00079b
+d373684a0bb7c56fe1cbc824f2c18f37
+b26a31f1ab37639c5a9f497ef2471d48
+ed0cc1b5e380ee024bca05f6015f0726
+a412417f7638dd2daf95264e569e4288
+1d83d36e3ac70dce5e115247ea4318cf
+a357549d2a6e1c3e275cc09454bad502
+5eefe9cc24b9f46ad38c0335095997e8
+94b61b53c74c079ed7869c50cef7fb28
+a357549d2a6e1c3e275cc09454bad502
+9d2d111228cf7afce7662feb69ac715c
+8757f64724cb285f480a1b71dd10a50a
+8f40409d783fb3469843e4281ab5be01
+6ef1ffecd6d77bc0d9880afbc46718b3
+20921a65a4f158ec9196b872c2077bd5
+5d0d8de7ae14a853cb64e36661a0d7ff
+f361f9ef4541cecf1bc95edcb97da694
+45dcc185b68122581d468a3841d56d97
+fd22deb318e42609f0a9bde187819eb3
+f1db50e76b7a87ce5f0bd7f894c4096c
+8da9812d53ade660e3503bb8d663f881
+006bf262ffeb8ba485e79ae643872d23
+36244a767790a20ffb341d594aab631a
+8ef077ced682f546c498a2528489a0d1
+04bbf3f1a7e2dbcdecf3b887f8ac8ae8
+b8702f7af41a0d2c62529390b6663d05
+8cef6e93e2e12bead647e5680134e65d
+29f934a0d95517f2ebc61b276767c58a
+d8c92b221b65e0d265a64275afa0fc48
+cacc6558079f67a839058ccb069619d9
+f67964a0c9489b6c6592f13f8659591e
+19b34b9cf86a108e19a0d6ccb02b1250
+7e2594712bd2ea71a6edacad583e0727
+2ad8fcb185e42810704faf95325a3b5b
+6e4595eba211d367ecd289414a62f066
+0fb3627d10836219f83f783ba6e1dab4
+6c3bc9725e58a6cf54a26ca398ccdd9d
+ef82e9b6c843eb14146ab99d3984591b
+c691d9b14370d55760dd1f9f8cbf0134
+e19395db852d28a80a233b16b150590a
+6eccb8f1e7d15688a771af65392f37be
+94b61b53c74c079ed7869c50cef7fb28
+d43162fa550f5fddbcbe182752a0bb12
+96c1843f0da9bd2ce2e30313a4fac5c8
+189d4e6abf00b5f26509fa1e73f658bc
+de6747e5d12859d750c8b6af6ed96a10
+8de52144e3d098212b90f3100162b888
+d23b532b00e7fb76bdb0cba9b878187e
+77301ee83208ce3a63b6d618bda4931e
+94b61b53c74c079ed7869c50cef7fb28
+0c75205a7e4b69b79dfede90cea5ba22
+7e3c914b3331727d1fd0995f9b123c15
+f7bee7cc5d0b9a9228ab803afe0a6d97
+76900caa166a76d1281c4c957d81f3c6
+889d85a454cbfb4e669450fceb30d072
+da048f86abdbc28394a013f22a86de8e
+e836d7a1915df0cf44a0d4ed3df308a6
+5c62c8b827e4a5caa8ad6e2891506f8e
+94c5a0f0d3e5c24cf15a548828e5d30d
+bab4c048719c8590e6f9f385e84b13f9
+f26886cf83b6fd0b0a851e5553adafd5
+15d9df61d832a1a0dd0f5bd4b46a60f5
+bab4c048719c8590e6f9f385e84b13f9
+4d5ab1d1839d5c6362a29dd3e9ebacb2
+93a455abdb78c6e2587c89a9cea7456a
+1ba9b22cc16dd3cf12475e762273ea4c
+6bafd9e80d601e5ddca18a425ce8a33f
+6bafd9e80d601e5ddca18a425ce8a33f
+910f3abb807c843a60f64440721a4aa0
+93f7be6091c904f3faffe8dc8a46783f
+a412417f7638dd2daf95264e569e4288
+1e0381fc92a3c861dbb30f6b0d21260b
+3b603f89e6325aff9b4d9a77181f1db3
+4015f92e1fe4ea793ef7d172cc3b0188
+1e2ade8b4aba6717f622c60b3b326ab0
+85c2347c28afed4ab8f7f5d5a117cb8f
+fa9639b513b205057f8308e8b3f86aa6
+f71c6c46b42c040c5ee6dc77186c0d44
+21b01e0471978dff1ee14a7ac3be6e69
+943d7d90399508f338d89e85cf2ff422
+d28110b124068c02e806a49d5948b558
+6ef1ffecd6d77bc0d9880afbc46718b3
+94b61b53c74c079ed7869c50cef7fb28
+cacc6558079f67a839058ccb069619d9
+61f9d4a2a30d7ad38b95b6d31c90a25b
+2d5962d99afd75c1a61160253940b81e
+c2b98752f48e197995133b3c3ba7fe1b
+be0ef003493034ae58661329fb818381
+99d401a685563b13a8d1d3a3006ddadf
+5ae7c6492b664d705513bcc04a6ce2d1
+7b9aa77fcf441311b54beb38f813a5c1
+3663b8f3404a988b0c8057b62219457f
+ecb7a2602d213a0dd8fb3186af1f7677
+0f2006ca9b09ede5535468c837cd0b00
+a7e71b99031cfc0378c4c8cb0285f664
+1fdbbc4763c1ef8b8edd2e3bb5132ddb
+03512c234bda9c97e74edb3567776f38
+0fedcdb903e1b31651fe0d11de99737c
+e9f7ce1da586586e712526018e61377a
+208905f1e5cad11ce75776b333884f6c
+94b61b53c74c079ed7869c50cef7fb28
+1eb94b823fa1c78ff3b24ceddaa0fb1e
+cf831cd7501387406e0bdfff427e1e16
+8b5dbf95930affb5bf9d36e73fda5b1c
+2e6d8c5465be1739c85569ddfb6b9582
+b4436732c7f66c80806cf2e1b44ad1bf
+e73ed083681ec5e8363c2b1832f5efe8
+39a4009fa57d2a3ca9ba008d527df2ab
+0b22d5cd262943234fde4a663af0f144
+2812806a3126d6962d111788bf966f69
+854ce6728cb99e28cfff08ce801a1b5d
+0b22d5cd262943234fde4a663af0f144
+5015116334ea61c5d1b7a23ff46a8b4a
+12e2b5c4d03a999c5eb439946bd95524
+ebbcad170679abd4570099ea01a84693
+d19aca3dfa4661b4393a7dc6639eb196
+f71f0ec82fb568b6656a62af9df7cb60
+037bc3651003f8cf83b27c02b64853ab
+17d2f0db689564f458ddf0fce22d57b1
+a576b39684bc15cf14bffc276bfb2c8e
+c45510037f3cda4692d330ab56a2338e
+01b60c26bac175742dda5f5abbef94ca
+b43b7f6d543fa8a9fac760572f5e05c3
+80b1b494e0a97c154aa9a2f214cdf6e0
+2529d2388b370ea0cb1162858009cd32
+d8928f6e126ec7fff56d78c3a91e8d9c
+b39389d18a0fd780dd83e615cce18fda
+0b22d5cd262943234fde4a663af0f144
+1f530de611ce54cf0d78f661e363e67e
+ba76bd4ce19849e214bfcec287971e16
+6bafd9e80d601e5ddca18a425ce8a33f
+ce7e91e968d717870ccde583c6196818
+89857519f5834f2156109e1fd76f831d
+63bfb180142321a58d3f1d4af94cbe14
+bfb2a028368ec7762925703544521a72
+6bafd9e80d601e5ddca18a425ce8a33f
+6daec7f84c31ce6311b2cec40120f5ad
+1349d40e96d72a34c33323b871d90820
+cbd8f648f01deb7ad566fbb8bf859329
+70ba5ce914c793455595af08c12ed3f3
+eb8a6038aa139dd241fe53dedba9e8af
+6d36370d44272650bbe66969c5aec5ef
+0825077b9cb40b3175ffe7e4af28eaa3
+d93a2cb797bbba8df15bac2110dfc9fb
+9ad3707b8060f940148bbbd8d2a65c14
+f002da2a70b782125f636bbc3a241377
+ec149c1adbf770e5a38de7bdc6b07a0e
+b1c330ba209f3e5b4e8de87cbd685539
+332992f5fc5c73dcec7fcffc78e301a6
+fa24edd40ca097f14be76fe299f013c4
+5f527cc388c7ee07595d36756c3e54df
+b83a9ebb3b7686aec9aff0f5129a3fde
+8008b1d6ba9fe1578f18bbd2f99f4600
+e453938c40a3fd0aa5d0e9b411230a8e
+703ef18c2d2b2fca867a355808ac7134
+e4797649464d674a5aaf3302c87f0187
+513c286d4243643a1280c9f6100ff39a
+9060771028c9cdf5868b8fe19262bcd7
+390443b7f3236845c1ea5e4cbed0227b
+d58774c16e84ebe77d7767e76b62592b
+cbc17b5d5a6b421da4195c65b30a40ef
+91c15415e1e76d05fddcb3fbe7073a78
+b672937d5d5b9d705e5718dfbd03ae13
+9d9e2a507a0c0fe52cfc403679449ac9
+c4ce4a479a69c896ee101dd3aeea0952
+cf70d04c71819eb8e7d8c75d3d1ed55f
+1e533f4cda3c5c1a707de425051c55c6
+b672937d5d5b9d705e5718dfbd03ae13
+9d9e2a507a0c0fe52cfc403679449ac9
+c4ce4a479a69c896ee101dd3aeea0952
+e8078bbb8b918230b656538db1d6435c
+df9ef1ff7b9188c3dc28cbd499f33d0c
+bc39b84f84dfd94b4fd82c9384aaaa1b
+f3df552bc65af8042adbaea454bc2818
+70afe9b00b4d57114a6b3abcdf8b4998
+10a4eb866f4235fc6c5274e954c59adf
+111bdff598bb537084b85ab4ab2b31ce
+5817d19779a8d42ecad6cbd3176c4397
+fcdbf710e9b5652666657418ad1e69d4
+acd4ad22233058c1ab90d36609560a79
+d1bc8c874fc65b4f2027c103c1647068
+d74ed619c3ef2f079b65e7211a78130d
+33affe5b4fde5bdf9b9f13dffd2d993d
+31bd6569e498ec008e6a316ad2ad7716
+80531f45eb42709d513fd2a2a0b5b88a
+b022ffd083e7a80fddc7cc2969950bde
+9bcb86cd0a522aff580a2368d0a861f3
+363a067869546dc1f976a38a5aa7c013
+57086b8565c0bcaa94d9622cfcc493e9
+efb5a1320eb5b5c46c267bfc2ceefeff
+5ac049e5c5acab9116ce8a59323c063d
+92b991dde83d2547429229141be3086a
+94b61b53c74c079ed7869c50cef7fb28
+7496c11149676390f292367547ebb38a
+246d1c6b88d19061fe1b5c489670bf14
+823c9722a7e004fe5c319a9d265cd683
+86f3af2b41ca1043fb28b775c7bed7a2
+d4fdd63e428ba6238375e49ec7ee4f90
+ce05d49b02d1523d71b506c49eb224f8
+44566615df05b69977027e841bc571e8
+00a517bae4a8663aea68bc42bc75ea72
+94b61b53c74c079ed7869c50cef7fb28
+638d27bdc44bf82d5497434ac786328f
+373efd6a54f4c34eaef7cef88825b772
+93e857e06f017ee4c176e18b6b2fbaf0
+995ebfe307f6fe6840b95a593a2d5fce
+00d392c287b9e48b72032a816e9c3fcd
+bb88dfa9ffb47cdd357cf51fd6eef2b3
+3995a259a3c31fa2fee6a816e34ad088
+87aa60761e6a6ae4d4e3e284b67ceb21
+6858097f1bb88ebb307afada7013148d
+cacc6558079f67a839058ccb069619d9
+43ae4a71e5644210498c8411725a3fd1
+94b61b53c74c079ed7869c50cef7fb28
+a2d8d3f5c5ca6a8e73b4d51096950575
+69fa3968d17b3cfcc42be28b9a78a6fe
+051293c57fa36a830860ef312c6cedf7
+58c8bb644c76f7de186134c2dc75b62f
+cd96faba634900be1d73e3ee2e582469
+2f671b091fba50ad3fdc378fb2aadbac
+50bad9950065c40e75f66a1c2e08dc9a
+6ca097dda52d82fb17af0c3337a57342
+b10a326b7f4c941282033e71744e6825
+b1c96249711526794098d550e7f481b8
+74a8c222e6d55e37d26189694cd7f287
+bdca58d86f22ca605829a0a406bf0119
+1d92f34f24b281dac34ff9edfe7255d5
+99b94e36299270924b3e01ef1c6794a9
+8098c769c9220cc75dc0d1c00bfba82a
+4064c3c048087a1769f05a9d904840d7
+70ba5ce914c793455595af08c12ed3f3
+ae53a7b524bc7f90b9bf5b3699ca2ebc
+f242be521877c56d8073706e435b36de
+10ea48e003e6c4f011f29795fd2a64bf
+e7a0953d84f42236a22a560a599d23f8
+0c7cb7ee989debc97f4b41f5173e9205
+8d0bd75645b386bb920185c932f9f7ad
+c6a711dbd0b372c7a663793c86546176
+378f43ffa07e469c7e0d6f515d2f99eb
+e9e1c16e03d58e478708ea98a4563d16
+0a7db606eed171e2232c5f98e5fbf48b
+b110aee4aa2777f2533288fb0e75e5b7
+2a66fc3cab29eeacb71d75cc3f56fafa
+3b089737b4a1a48334dbce9f38150540
+8372f667d3af17f06c3b7c166aa4dd98
+d23c5c2301eee636a4533e4a12334e6c
+757721b8bb00f20cd3ed0a13a251f49a
+5c14dbb0e78ee5b04146d05e30fbbe1c
+e9343ff5e1dbdebfae8bb36ec41b3fa3
+d27cd8e0c76bacf3c2d125b803ed154f
+3b895f4f24ad66f84415d3aa92f2b5bb
+a66a7bf5dacf0add6013db12ef865ebf
+b2bf8cf40159ff3efa9f12745106180e
+b944ed63abe617088cac64784829d766
+e8dd9b25fd56b898cceaa75b6d697759
+fbb9af3baca56fb35d3c27159b83a077
+023e0a6045a6e20afefea641eb936f31
+b74bffa611ca145ff16b01b9102d1283
+30ead6058e9642dded37a883c2dcc7c4
+b74bffa611ca145ff16b01b9102d1283
+f5e2144577aa2447ea50faf4616c0b6d
+47f1520c36b734022bd8827fead2b618
+f0d1d91a3a017c71e5854f576012bf23
+c48aeaf99ff1db1f2da816391a0f708f
+c279a04363631fec7ba845dd46a4607d
+c3807eb53e1b7818a9425beecbd601aa
+378f5c3680106a6715504a86ff943ee3
+121a252b15ea69ff8c378da1d08d17d3
+378f5c3680106a6715504a86ff943ee3
+22125a3884097d0c69f9c834353023d3
+3e28bb7cbac85b6f1bfa283aab60c5e5
+dcfbad7eb69d79cbdfd37338a666bbaf
+c5c3f9ee67f0f2f5a471fcae01b594f1
+3eb1284098673d325036616d5db2bc07
+ab7508003f86b70b4638095cb7035e33
+5e4937bb80066cf8fd75a4313c457767
+6c90632f5420ec1fce624afdcdff37ed
+0c754563c133b4290a092ac99345f320
+df3e2b613ba01169acf1779d8ab0c53f
+280c53c216798cefeab68556889434d2
+4f26dc48b12df7513ef72388c36548b4
+c51bbe826af1aa885ec3aee5bda37ea5
+17305866821a3bd26406b09c3dc1522b
+3c0f9f4eec8a35bcf7599b974e9eb23e
+33313b5db7661592f50f011a17d891ab
+78653224cf8da16c3231cd017aa751e7
+316490d0edb14c2632adecfc3a5d1022
+d330a53099e05c8881d42d9057482188
+a66c3461a3e980645287b65864871280
+4e46b59dc01add019bf79a3b5e0a1cb2
+c55d5c5e1e9a61d67e961e3a1a67fb49
+de1b0b272cb2905e770b8f008f27300d
+5d6bee4f807e08f4ce743be442f57219
+d751ea97b056e71a9b7850db51bb57f4
+0e057129a06996b5a3e794bbb00fe269
+9b43d9eb594e9a81215fba2258bbed46
+d820c47d688d7a247de97c5c13f040af
+27312200a513c9d4864c69362f220aac
+f3ecac3a70fa10868d891a9909821939
+1379d467f108720a7402036031d4bb19
+467dab6cbc6b823026ad2e2062c69414
+480c11cf65dce1faa5ee4f99ed3dbe69
+e3c85711dfec5388103cfc76c2e7d349
+ae73b90378fcb23e365c85fd08cc6c24
+8a86023521d99110dce5c3795112ae6c
+e086c6e8abbcc82e9b9519692a4c3e2d
+c4ae1973d13327f91bc92012b3f82c5c
+af186cede2470141ae1d830f68748211
+adbd94f36fc7a4054183ebfa5553d33e
+e919d526ed9e800d739dc9b2d1de6bff
+e919d526ed9e800d739dc9b2d1de6bff
+10892c02906e20da48244c412d97735b
+d9122c7390d8a4b1aa8bfc86099bc383
+9db41b6602abada5c3a4e0a2f232547e
+68a8b52edc4c487747fe3a311060f6b2
+ddb73afa2b9acae39bb3293e9639e3e7
+52ed2875266a140befd279ad87848620
+dc6348d587a2f8d731e952608c305e3c
+8f2c4d65326095ea15bc23d596c6d927
+c20304261947f180f129fa7cb5dbd34d
+a3bb7729a3c879c71e1a2820ab1d5886
+92b69e60be8e0180031c1605968ef36b
+9997e6d34946e0b8a91b426ecfc147ce
+208963e31f13b98321dd3f66494e51b0
+9b5a33ef96e062a8751db4eb57b43301
+1854e08901df5b63776457c1162c5853
+9b5a33ef96e062a8751db4eb57b43301
+ffdfe1bacc7398baf7c3da6cb07f4eaf
+a20abc88618cec21a0d258352dc1e9c8
+56f4e60f0b5cd49afa7c0e151a9a8af6
+acfa70ffe19684c82ed1eb566a1c395c
+599bbb6d9b084bcede3e35e987d965fa
+2cd2d2c34eca42bcc8ae0eeaefda246b
+2cd2d2c34eca42bcc8ae0eeaefda246b
+b70361a3cb8f81485f340ee62aaad08b
+1c419c6c3fa8936a90e0af362a7137c3
+9b6d01bb5596277852cce48934af8dc2
+b7eb691e103bad20832e255ecd7ee609
+41eccf79fb847c1e532cc98c65cb01f9
+69cb5c6ccff9f273d67cf684002f239b
+274cce1ef4798ca10f0f92dbeab0d064
+02ed651cf0f04332220d241127abb393
+3b98c4c5b525d40e614f34d2b5c8bcf4
+20a9ac73c265b224d269d899eb60289b
+f2729d37d861d6dfa76f464f59c501bd
+3b46e0f1662269076faea2d6f9c9148b
+0d0ef7d6fb5b85d8bead4b02be67c093
+25ddf89ef08d1dd50a6813fd343e7da4
+91bd3d19ca958e9a9024815d8978efaf
+d3bf0479ac0a7ae1d94919fc535863bf
+304af67827b8a33db548ca1f4522453d
+47e2ad4837c6809c8309aee145318f2a
+47e2ad4837c6809c8309aee145318f2a
+47e2ad4837c6809c8309aee145318f2a
+47e2ad4837c6809c8309aee145318f2a
+3cfb877147bee9e909cc7455331b3d6f
+e0e4c874a84abcece6cacbfc65e07b13
+23784599f2637aff8496cdec5417b402
+8980180b8a2353f9585cea5843aa1954
+239652159edac519bd2b523e21aff777
+239652159edac519bd2b523e21aff777
+224177a4e310e2b48714237b514bc9f9
+baa3820e3771efb1052f3dce0bc6c3b0
+2334730eb6dadc444ce0a7c6c0fd9cb3
+9d3f2ffd5ec788ecd1381f3b8efe8e5a
+459ea2b684e2c34dc0a1a1880cd7e4db
+004feba5c5a52db1e80670dd465d4b27
+62c4521c379f2d13163681039bd11f41
+be4008a1020e4ac765ae19d0c88d02cd
+7b67de7295dc0de1c772d32407f0679b
+6718bf15b0f1ce710180a216f8363e06
+33f4c6cef4fd939b44e95999fe87f2e0
+cf64732f76230e81e4501ec1ed4b7937
+b219f1057918f7fb618f4b4f9cf20f30
+5b132a1ac8dee79b75576dc0aff1996b
+f7b76afb01d58a59cefe8d9dd58c046c
+7b267d449933a54a2218e7fafd35d28a
+918442bf92bd0322d4da3a46a564af07
+a766f062f870023f350d99f2158c4c0f
+cf64732f76230e81e4501ec1ed4b7937
+37fa2a6789909d46c1e62c8bf9848070
+a1daff66ea878825d2db3c209ae1133e
+0b53716f914d49c388d8495d293e2783
+4c38c6120fb1a3be0bdaa0b36a760190
+6ab412cb7e3b6290fe9f6ccee7493039
+a02e9e474eadac5b8f1a73869786e9e3
+96b66489e013427e161db36d5b229001
+d8e818f662e21083bec843c922108e3e
+7f3f32e0b0ae5967675cca5bb1ddb4f2
+eb3969c504f72494e97486da50fd96e0
+0b307696f21d4b8fc0bbbf871415787d
+86f6343059449b2bd59e35c5f2a0e834
+35e2091e1f8cb046c09ba498cece9574
+58fa376f756033e7b2136be34ce284e5
+78a9bf15861fadce332f531c8d52d08d
+853593d3f56197f94233c810f4c362cc
+61269b83b6d539a49b37cd2165e7ca45
+2a0e402543f09908da7d2755d3fa449a
+584d5167387ebbc657acc26594be4147
+66b41975f062ff81dedc3c1d761f7d3d
+d049717112daa4bb904c63ffa079f8e3
+5d4f7056e35b602c1e4a8c6ff0cf70eb
+1d20adb36a50b22c97008cf091deaebd
+dcc680062ce735a3bac078a9d776f577
+70daccd52181a56dd0263b359adc7755
+fd960cf49a8812c5bddee753b9c31fbc
+c55d7027c3479af060a99d7559783e5f
+aae0603ae1c0b6f7c18f3217f83646ae
+50ec53e7caa496d3763721c469ec2efa
+9b0bdfa45f25c3909ce98b4e4a28ed25
+66b41975f062ff81dedc3c1d761f7d3d
+d0a059dba580677759a0ef55cf9cce3a
+52df32d7fd6862f9e8fed4115829517d
+d2964d2ceae396db962bccf686cbaade
+0663cd35b98d912eb737dc2417cc7f3c
+c01093944519fedc1fd5de5464df1737
+c658e307a1c560f85d3dc32b0c922179
+8f074cb5d97c1e02dc8e974b24075276
+87eef4eb6459ef7cbb53a5eeb89f59f9
+df970c32ca7dc143ea729aaf35a61593
+3b6a3ad65ae21d77290ea2e2b8093ab6
+105a852b214966be3a43de256d42d242
+208f1aa4a6eea971a6baf662864cd4c3
+f5617da11142f4a4bd68954d2c9a315c
+ce429f593d5313da0483c9ff3e5b6ed8
+b33b9e65b9fd97f48719a3287f978a0a
+9d722631c4ec8a0c14c0a28dfa6408ff
+e91b3d2f59897e6417da5bc28f264fa0
+517b33c60155547f7ab8c42d431dae13
+35ca4d9042b21044eeb425c3ae306d31
+f4b8c65f9031c40fb4d6a8545fd61f0b
+df682b295ceee481a06ca4e50620fd76
+646cafab603f95e254dbd6e167e725f8
+a35a15e1660cc76cebc56509a96c9e7f
+26a78126c7194cca25a2dc2a2ad74989
+8c5790524a6673894edb1a4f09c62445
+0663cd35b98d912eb737dc2417cc7f3c
+743fbb0d033b63c93f7c24f8f51cbb15
+135a3f6a430d44e32b08bcdd887e87cf
+68b397388a564e247fdf05f0652a9a59
+b06fb55c51ea60401eff33eca1aab50a
+77e7331615ebe57c9f3f4291c56f2060
+02001c06959823a330ad72480e11d92b
+92f774909e9f068cb07e782db21e66dd
+0fdf6d969fdbc0554f1fc081c84fa40f
+904d79c131440e8d595551c12951efda
+581988f3d427811d583e1b0700b52e0e
+7f2884463914b5d12262f2897fad8763
+0c19d3cd8224cfa01961a8a6c85f9800
+51cf42fe37eb4ddb384a57fded0db0ec
+e8059b8fb1a7b897fb885325d5eecc76
+d12e7a4a31786edd35f523c991c219bd
+ee510d1f6565fb64327af9e1a105203b
+18b59dd960124e0b3be86ff3db8ca717
+692c220cded2755beb41d52db194c8de
+f794f00b57aed66789af22093d1265b7
+77e7331615ebe57c9f3f4291c56f2060
+7e1914c4d33f16961c9f18297eb68dff
+3d8de413364d40ca6782039f0eed3687
+b88aee607b4da817ad8f89372402c917
+5ee1dabcd58cdd34b95b298f4692500f
+db941ee534c0292195dc7915560637cb
+8e1700abed0198b48f1673104ab61d39
+36dd3731bf150c83b16e66709024a767
+95689f04ebc02a675536c0302e5446a0
+ce70422745eca163346212503304e572
+4d857c6eac28b1deff973d32b9ff40ef
+6388845b8fd6ece8b93fb40e495471b8
+03b0e86501030081cce005d2ae8f0e70
+5584797d820282bfd16becaae28a5e68
+87631cae6eacf9229c18dfe703b7c14a
+11fff8132425377d1307c64d05e63164
+0a485d6e5284cf0f90a2281d9935c371
+be7eb399762c1d5836b4880cd1288d59
+a147ff33397721e53eb179d11fe4a559
+88366ce9e042b85bf429effca7ce845a
+96f45b8f0de150f4a1c05cb063948e78
+af3ce7919bf3d868ea5f822a8833e900
+02bb331b96ada8537b259d9dcb49a955
+a1aae857d0e08355f55f339fde2ec0fa
+e03165c670b45311f51812241c9869e8
+3ef0b8b77c4b58c832b620aec6d2f638
+5e455fa43b3dc60b59cac0fc0ec04f6f
+815fe1fb21643195891127531e361678
+a414034ee942fa0f89509d427cb728ca
+dfa150c4964157ff2684a4058d4d4b2c
+cbdb418428c3349472783e5fa964ff58
+8a57ae7e8b0ecbadcd9f171155eee407
+b84e71e2ff881e8b48faace306bfc4b7
+edb556eabab709a6600054f75c0abfa8
+b5235dba490894bd2b3cb7b6a793b7b3
+5404a9b650bae14a54a31fd5ea9f2ce7
+f811e75e5654fe1090bddc639c518197
+1bcb678cc8d8fea002583a69240f23f7
+9e3f169ac0d36513ee49dba88dc37ed3
+791cbd53796653a4e37b5e8225777b8e
+d09968a2bcc3679bce35de8a736165f1
+8b0a7dc044e02ce421b17f249c88a401
+8b0a7dc044e02ce421b17f249c88a401
+494709a8005292f928b651eff8fff380
+8fc471c5bffc081daeaea10df7d3a7c3
+dfeb73861f6de95b4c3f69b1ae95a750
+dfeb73861f6de95b4c3f69b1ae95a750
+dfeb73861f6de95b4c3f69b1ae95a750
+63919cf881abdd865ce7cf2a51f70d48
+98ee788c47eafb2d3e72259db1b6d13a
+af0ab21264f80a43aa8b0f723cebd155
+1816a49dc692e4cfccd7a9435d21f9b5
+3ee5272055bd83df8ea7179bba494290
+1fef156e2fd83e0f081dd2f99da88a3d
+487a53f76c19622fb8a4050f6ce64522
+9d763b031e989806e645f03a8ec0e0ac
+bdb6c38d56cff6ac1c0092da911bd81c
+e641d410aa0514ffe477c9d3c903eabb
+41e6ca5ed8010f8e70d5d41c0aae86c7
+6fdbb762b5da59f00e6b05ddd7cd396b
+97a465fa2812c8f793147435d3223241
+9ff89e7767932e745c29cf197f234760
+11287d7a210b7833afc13ecd95abb679
+8c75e7476858f6169006b1bb09d14d6a
+aa9b0566567c4870b4a6d5e74a205bbe
+a26e8cb36940858c3963f7d8c5022b4d
+0c6462053f6f67eba001f319b4f6a991
+3cb5c61986f5528b6f80e5893f6ba200
+feb5f3344600da43db169c44332881e5
+f67ec08ef7a86ad1f913699926e32d2b
+1e8782185a5d3c85e619a699b5476f52
+d0a855edbf3f5045f7a614c9fede2358
+609ae18bb261a039dc404c5fd635d7f1
+7bac9d397ee56d3cfdfff9db2577316b
+c8c5716465669678a5584d0c2678f96c
+812ffc458a390b642d7c8d3af315cf5b
+a14d3921b2624d981a5244ba7496c7ff
+c206a0d031ea713f98f53006e9b6238d
+345f9cd7540a6e9d594b9cd1b896a870
+9e00d8dd56c3a1bb8e943ab4e19f4a72
+e57a6aee6214fbe83370eb0cdd7239d2
+5bea2903013362182d3efc963638d7ad
+e0f61b50a9364dbf8b7a16568e2cdc3e
+6307a74c866ed1a9eb6e92b70e2563bf
+91008c513d575763d0ad1ed7c15c5f04
+df279c1a918209418c158bbd28d7ee48
+fe6d0b9d8037165f3d6da57105f93a02
+69d934735ed472e99eebcd440ca24168
+f19db186fe109b2d027cec97e13139c3
+1a81dd665d7e4d98ccf524a2eb4e5222
+d058ebf301045639eeb43387dab56b33
+6749897d5803957ad582fc102c7b8b05
+1bc5c0f3fcb5b17b262b0cf512c58009
+57f4fa87524522902e86d5bbde17bce8
+e66b84a9f2581baacfd707856de7f296
+2d3d9ef49d4e60abe88bc58255c20f0a
+49ebd5560612666e5c50294f4128c4bf
+d01ce1ef8d30ffc774953313894d67b9
+1e19f7848c22e659b1d26fe5e07ce08a
+1f7df7c7cf0bbae7dfa78e300f92a3f7
+20e071434baf1a3d80fd6c3f6174434c
+4be74e639c6a14cf5fd8d53301edf9df
+341d305b7e355a09ab4455bda71218d1
+e0fb79246ccdceefbf34b15870d07241
+f95c0430b38ea012a16e39d5c569469c
+01d30bb1431899197522be96b1d2057f
+cd8398608bd222ea438ecc1ef1da1c54
+dc6fc805acb9127166ea5314551b926b
+b2bedbaaa095da021a5068c3a1ec6549
+4262aea6b10fafc32a692922469288e6
+84b78c06994c08737d5ff3df8641a726
+7477fa97e3ca12521d1e1a78cc72d554
+c7315d9f2e70ea7faa47cf6139b0a916
+c1b820c23091a164ca293729c02c5bcf
+a63982420eec94755f8cbd408dc51510
+1828e06023a8c46d045b03404642e10d
+842b6a6b60a2ba5a5b58a193cc73dd84
+2163025b2b7a465053adadcedf143ec7
+e2f6c4f93388a070b972b87354727806
+29c68d66bfc206801d435081e8689909
+c5bfa691bc81547c874b35e70d0359e7
+b2f02d144f8d324d299d2a855ad92cf9
+b9062170c9c366e80c576458af096c93
+0c409e917c53043e7dc740dcf9d85c1b
+c89daa66ce8ac8e3e14afa6789028a5c
+8a3d7cf14e4fa34b165b834983641990
+1828e06023a8c46d045b03404642e10d
+63d8ae583c895fcb5877d5a42e9b4ee3
+cff99d97a5db8ddbdc97006478c6a29d
+7dca2848208443bd906716a70828e261
+23f3fe316bcfcdf130c999d0dcdd2de2
+bdd47a7cd06225ac90a6d976b7586054
+7e0854c39ba87b8d77cd60752f1c462a
+db9573d5096b7b437f3e4ac3efd20d22
+f71b04754880977b59ae5f6663b3c1c5
+ec0c2589f8559773dd9320d51f797004
+d5cf2137bc7e00c9acf5af24aab5e027
+0e87c65d7497dea249ab113f6d65e18b
+ed79c59fce3749c8e9728783ad6a642b
+1828e06023a8c46d045b03404642e10d
+989b7df30480938b5d1b361de110f62d
+b7690d832750d3c4ada4807618c4f108
+bb2030cdb206cde7b56b8cc9610a8f44
+dcdf691d82d1be05cd2c987a744868a5
+f08a3c4dc571378a32201a946d2d2612
+b9993173964c5e8a9b47ad5802d1da6d
+70bd68a3447cc928c78a167694a2f834
+b2eda6bc938f536c1a3429b0140345c8
+3a39041c2cc4f3652e2665072a24fedb
+b18316017c6a11c597c8ca5566e23883
+5a1ea6d3ffe339b93169c89021f4cc62
+1e41728f716e26ad5d9ea23e689dd5c0
+d29ea4eef53dd87120506c26d08b8a1b
+87889e7601b39a0725b6906bb80cb66d
+28658121fcca82810811132e57340131
+2d54a04c76c5a1bd4a75c6e2133083ec
+480cfb1489c9f81e36cda4843f8a8370
+a376ccbd229b295367732befe1fc5da8
+f10d8b8b7c3b56282717051da67df56b
+f50ff2b0829034307e6371c3d183b968
+8c4b2ab56d299a408a13dcaf011cc2f3
+83b1cde1e2b631f9b208d98252042b3d
+7ada149dcdb674bf49874e40d9705fc7
+55edcd75e20f968f458a804a639c1bf3
+ec069bdb88f57a5ea3941afb51543bde
+79caa737eec29ef298965e9283526a6e
+d0ab3332e49f339cc8cd772619605372
+2b216e4fa9400ec936f5ae58209b8e5c
+ea8af1488dd99fa05b550165a6e2e675
+71948e22f784b6ee66c3ad4c516f518e
+8908ff06e82ff4706595236c9af145ae
+b3ca01a30cc0512ecf0acd7fc3b6d2b0
+4c5c7c59979a54b2dab81a3811944b5c
+8a1e38ad249d15984bd11bae5cf4776f
+d6aab708ec49b2673ab06dc19a794c65
+9eb55b814c58df0072f3181fa7057212
+26bb02eaa5c6121eb1e5aed2baa4cf97
+6e89743abcb1f9ce133d079c3f03ee33
+d01ce1ef8d30ffc774953313894d67b9
+d01ce1ef8d30ffc774953313894d67b9
+ece89692eaf349ff650b995061535ff2
+645bd2f9d7cb15992701128f30648a35
+dd6aefa9af5e371aa5a877532bf99a1f
+b7a115ad736744299f8bf730b82b744d
+4b733c3b8b53cf6517d9682562ff81a7
+aa3260610bd5b05a308fd245a88ccb38
+1ee181aafdbedc2fbdaa9a2d1e5e371f
+d01ce1ef8d30ffc774953313894d67b9
+ae5ee97164974b2024733f2810c82b53
+341b360999c6808568e0d07dfb83adfd
+bfff9bd75f1015f347bd0443adf87164
+e2af1f8dfa9cc113fcbdfd2a7d40492e
+1e87e2803b81fde7b257ddf2b8a78aa5
+a7b5ed3d31b6c83444e3bf0acdb74310
+91c7ad4d8f5ec47f61038937ef502c55
+d01ce1ef8d30ffc774953313894d67b9
+415cca99c5f8a8cf4429c4daabcb28ef
+415cca99c5f8a8cf4429c4daabcb28ef
+3423b3f824a8dd38bbd1c9dac62001a7
+732e9eeae3af97453a3daf69f54000e3
+83d0c31eba383980ebabb94da49f5b2a
+c6ffecccfc5e3081efb29e90bdf6969f
+5e205261049365e154bab912aaf381b5
+d95ddd6e15912e0d457fb81e25e5349e
+2c0ee616bd9e1c3cd7c486daa0ba7e6b
+e27f263414970f87c057e7ad578d6dc6
+211d7d9b2127b41e5cbf56d3011edf9d
+3c87796b253e6d7b1f327cb9609d935b
+cbe8d8ada8d0f9df04f3517ba294b22a
+4fe845cacf6aff1ca7fe92582c4f3a24
+7ad8ec0e6c82125059d23fb23af7ff53
+b0c7352ebff7516d7c5f29cffa438673
+94142fe648d0ed0810a8462b606101ea
+1e87e2803b81fde7b257ddf2b8a78aa5
+51aea249149b1ea1835c7693564f81cc
+af2117066759c834103b2d526da65c70
+8e53df4e6b82a0320c09a36a2a694970
+a88c44a28a05b30ae72390fe385f5532
+ccb0f7cb2f3ca59d5f6b2557785147e4
+d8e1b9dca561ab938bf8a9613f1d149e
+7ad8ec0e6c82125059d23fb23af7ff53
+8a82adb6ea468fe1c65ebd8d33372b6f
+89412b1294f872801ef33ec168220311
+bbf1e13c0bd38f1b41447d8536454268
+5f3b1dfc94403303e221350ca0a979c1
+558771e4451089afb6d2696f3b10374c
+323d968be5811c5d6d74ab14736095ea
+3089ce5ea30f6ea7723b9869a90329b2
+108b76074f72edb3205883a0a9105f26
+80de2d56f8b801e4901bbbc6f3d65738
+b2bedbaaa095da021a5068c3a1ec6549
+71dd53a442cb8288659c0b86da03d06b
+a08ff0a908226484ee3d8ae9af665baa
+7018637ef1d03f612576f3e8e2a43651
+0c87046e987a2b6eb81d2fd90da461a2
+1fc4ea1d3bc77f6e28aca3407c76a87e
+31eabfeb58d6908e1c852bab97160b3e
+56472031b3a201023025c95d7e3ebcdb
+bde79276b0cc3f3189e8a2815937a243
+f41dc11dd182885dc8c78f9387ecf210
+acf8597f67171c0d7c921f6069b28954
+f314e6cc0a651170d9ec707b1cbf97bd
+cce3ee71f7540a6ae5bcb1ae24efa824
+96b0e314f52dc4a0347561513135e20b
+cce3ee71f7540a6ae5bcb1ae24efa824
+656f648d5e2843f74e8c8b1d774a05aa
+36b66fb8a94c8725357b69a7dd66a84a
+86767d6fd447f2ed056ba78fc6600fc8
+cb4b026ae93c3e3c5a44bddce4ec18f4
+a2c4426aa6dc80fa978aad6691a14916
+c81aa57d338295512ed24a754bde9d0a
+0ad7a5fa94f1be49b25746e9a342c729
+faca899db9ad76f54985d800c97e2e3d
+e5037ea744769b04b362ee5f8112ff73
+a15303c668e2e70fc519955e63cab2a1
+cf8d145fcb0153b8027911c3a80dc4de
+8c44d7d6e34a1eb190cdbbbc39139bbd
+93f6ca91dea57ed53994f430d3083405
+37be346c1cbdc4b88646a2586fed44b1
+5536ea43b5aa532c5cb55c92c867534d
+7cc53155edd922d2c045b58d3eab51df
+45307bd2447d1e96063cf78588437dfb
+374a07a4a199dcb1ee0be48bdff36bef
+bd80a4f970a2fe66bc69ed2f4b4a94de
+66321b3d626d3b13fafd0f177a8aaed2
+9fb23ed49a75dec7a0b7c4d1f671119a
+a6e12a6befaa40e1a18084753dcdfe18
+4f54ecce03109d1b5072df2ee435eda7
+0d913dae7a09883df71e1fccb73e8269
+972fc7f9d1c9204ca65ab3d4e3035414
+9c910171a59e19d20eba63970ab43d4d
+94fbf030c7759d19038c0dfe02e0e54c
+828c1fb573167751fb0ac3707c9a122b
+9ba80d80f336c5daaded3c729a50aaf9
+3eeb923fd9ca758900cfa38f4f591458
+b672d045645f02a8bc569e750fc64299
+c5ce7e084020b611b73da147537ba923
+5b126736baa635420ad08b50512dcfd1
+f464180b07079e4d89a6fcb154a4d1d2
+7ccd50c8635f8b0a83496a1e008d2638
+47f382b6ed7d8f04de838f856787e424
+a6184396eb6af53ef2ac3a75308600eb
+714444d771181c770cb343af50716963
+6f52353b4c5d0c0e6e4123bea9c01f7c
+46ab57d3c4110d90b8835d4bd20292bd
+eff1933b9092c84c4b745351d5cc71a6
+8dd05d93216cb26c06715707a9751a20
+5b98b97c58ab85c200e621dbd504634e
+b2dd69a7b8560e100e4b7680bf8ef5e6
+8a1476ed318c8d188623c4f705736513
+953b221d4ac4bc8ee17d82b7ca0d50bc
+3e7b5aebf6fcab5951eaa55628015dfd
+7c73ce0544ed594721688ca8ef1eccb1
+459de9be25c03b7505fd6855ea54e1c5
+99f394a20bdf73e49c8f34e7aab6dd2b
+31e3a2c4acf555c53f3e67036b971903
+592d67f0546af7cb9c6a41f26fa31546
+12aa4e60e328e824827ee20bcd2e5974
+71ecf22067543c94829cdede5cae2350
+9b3d8be80014ca731791fce7da49a560
+63d679f7962472b9c8798430881bf8c9
+2b85082b232e02a08ca2bd0e6a50c37d
+f4cc346466bf1017eff49083fa103565
+72ae9bf66b4f70f3d4cc3fb074a38333
+45f8b9e76062471dd619f6380d8f4b04
+7a72229608ebc68efad557b3b459c82f
+d3db386539c958e08cdf751fc8e6385d
+a985814c24c43f50f22ba4b9ba061e65
+0263aa2039ad6719e59ebd2f90f199bb
+64fcd09b71d07c996c7e9f1c55181530
+0897c6217d06e99bded777a272368c8a
+89774ba656b671d14efafbf69df93e2d
+4bc1372a61224cc57a51c82459b65437
+b232c3cb726b98961337128494bde73f
+377eda2b20be8f705393adc41ebd132e
+a9dfa8f83338d2b712e795891bfa16e1
+9a191c842cf372f50ce25f4c19ce0a10
+9b6a582792b1b0e69ef270d087236455
+e7b9de4d1686b3630e5eeafb457a8ed2
+0c9bb209c2ffc7778b99accb24c03ffa
+ef2ed8dff9a116f5c143fa342824b8be
+0967e2f051337f147a15c8b7007f860a
+316d07354d945cc15673d9e7c46cd827
+c4b757648fc0ada5723182cee763ae16
+2329837f834c29ba36e7c086729fb498
+28a74dc72a992c6bdfe9110dd54d84f0
+65f34f8304df9148e319991b0efe1c17
+a4b2fabc05be94fbd8376c2870321c16
+97747af740768c290eafade8ecdc9f95
+ec92c53bea45cd001956196bc5b378d1
+c8af7a47cc0e6d7b32c76105b93bb25d
+005d9f5430f87cfbfef4e73129824d7f
+b10e01d2f7888fc68e7729f3649cdbfb
+d753d2eee37e91fbe243038c5070f4a0
+fba1b0b59f97cd5c350f3485d0fce263
+ec6434f40180a104441c3a216149bfef
+d753d2eee37e91fbe243038c5070f4a0
+f49d3dfa9287f426acb296e5dd3242e0
+2c69c51cada0124ace8a0863f88c95a9
+f4c71625af16c4bbd2cdf930c5d71018
+1b1f79ac88c875d62f66281cb0f5aae0
+b2022881ea2a0ec4a34a60418d3ffa3f
+2329837f834c29ba36e7c086729fb498
+9e8772fc49ba2b1c9e1f9dae923013fd
+666d19c77f9e08fabb31759c82e79a59
+0bf3bfb93fad998faa6d7ed0b3d464c9
+25a3ff0fe2d905866c710fb073cc5e29
+b69ddfc8762a1cf16acd70df3077fe4e
+b33231521bbc6cce29a51e7afca61317
+17f134a0f2a47c034e6d97c4edaf58ab
+08407b661c9f888c685a7653a8f1015f
+285fe7eedc3bc8892672a26ed1ad9d4f
+e667b6f1efcce64c8235f05b8b2650aa
+2001382ae3b0e5076031bb7f1a04ae09
+a75c586113a0d2ec65800bfb62986cf6
+2446465656a0fe563695aae78f5d11ce
+94656d6cb5297c001ced246b3d62d19d
+a170f883c8bcd3b795b1b684e0632017
+def001c10aadc3e84a7a84888706adfd
+99e6e10c13a4f5894b7d13fd2bed8cba
+a732adaa6c2596b752f00eac5811c41e
+15de56d1db8274be3ca634332e8bf70a
+7de8fc60a44d4176d96a27fef5a3da78
+0789a91a0c925f061d0a35797980de98
+b759133a8855ee1d1af83d09c206d5ee
+41c3ba476c7003ddac5609212f5d701d
+0f242281d7b68f7175239b7cb539ea7f
+9a1bb06a099a51009aaa19682b467cd1
+91d7ff2632d176adbd256140da060f92
+2ab530eb5c52b5d14b458365ea081f1a
+90d95ca9f16e858e1669373e433807bd
+25a3ff0fe2d905866c710fb073cc5e29
+e92a4d95e7cb4e674eee5eef2247bf9e
+fee4e66230f33d9ca1ee392ed319acc1
+573ae7922656bf9b699dfb253b74466d
+927551da0d50f9054282373eee4e71bf
+80e78e0eafb799c5f96baa9376a62d15
+9c34afc389816ba060f623682e6718ff
+b79eb8865bc77eb38673850fbedb8d39
+f4ba14a5d990eb0b764c87d210e83618
+e61e12d79f24ff88190a73010ee62e37
+2cfbf38af921a3ef4eaf5c1ec4f13741
+7099392690c5c4577a490d147b4f90c7
+de38244e0c4570b4c897b586546b8604
+2366c1bca2b899e55c3dc52629b013d4
+4b47040b9ffd0edd3b3dfbfe921580da
+515d99dd2b095afbddca439673da3693
+df872882d7e9fad3eb4b3d27a61a5331
+eb8031af2952e40b704cd9f013144f19
+b7a213b2931b9349e0d8c63b5bbe5da1
+d753d2eee37e91fbe243038c5070f4a0
+4ae785f2e1c9ddf10475788938884fe7
+8d2a97dc8075df2e64c8b91e01ca8cd0
+3412ab296cd921b8975c9224e8577bf5
+f6ca241d0dc7fb8cabb432323c0b25bf
+faab84127e87009fda4a491d8a7a5b8e
+8e3fac61d334c2b79c4adfb9fcfe2a84
+b10e01d2f7888fc68e7729f3649cdbfb
+431a7544d0969e76683c246ddaf2b9a3
+f6ca241d0dc7fb8cabb432323c0b25bf
+faab84127e87009fda4a491d8a7a5b8e
+2aa303032ba7322fb40ff229e8c35d97
+201d9aea947a5b82fc957d0d6658e443
+df6c9a76ef96978fdcc1cc21800b0bcb
+9d4a10505c8e448ed6af83a3813097d6
+561b0cd3100a8f60a1477e828abfcb70
+0cb8ed771f29ee2ba7da1836b9215743
+1b6d2919db9c36f6477931b5726985f3
+93286304564a07dba852df65514d0843
+03442bc596008bb61b6b80ca3a728ef3
+fdbff305b4dbdd3b4cd7e5032991cd9f
+da02683ea175d0bbe58e6142d0ba7140
+109183b79a7521be014e3df5fd9b78fd
+ff543775dcb68426cabe25a7b8fbe5d0
+ed21fe9748c685015a4bc31c70efff2d
+fdbff305b4dbdd3b4cd7e5032991cd9f
+b7dca79fc1f396095b934c9eb177a9f2
+f6490074a4d8639809078ac03568f049
+53996a2b240148fef2142cb1d1c3f223
+9c09486c97f7d186d08a49164281a939
+790b3c7716c315dd4091dade64abdb84
+d584445cc9b94f51bc2dadb55bb86895
+ade8eee399e164ef9dca13fb2d7f2dbe
+e92a4d95e7cb4e674eee5eef2247bf9e
+4fb4b5d8ec5721bef4f5dc17c61118d4
+fee4e66230f33d9ca1ee392ed319acc1
+a06503278b8a5ea940975a75bf0cdc6f
+3c74edda1e23c1dfeb7e7904360594b9
+f1db01d388abd5ec8b1d8cdda3495667
+ecf4ef7318a5c72ff2eb6f6d67542fd9
+66ce84c4b4bea57670934b885e379665
+16d604f1ae47523c61196edc35ad373f
+b12fcaa881373cb40280341e3906cce4
+2eb2b37961998f2cc7bb06b25db8498c
+71659ca892514de85dda9b9112169365
+1f224a2d6139e4229bcbece7aa72a0d3
+649be7be6224a964345c53ea6ce8cd73
+c128e3d8fef5a858b9e37873acaf5f83
+f58ab70e662beb3187a858ea4ad18204
+3b71334b7c3132d954f745c3d4c54c7c
+f80b01273786a8005ef5a58a64316793
+0ce3993d2dd3aa2fcfa63bd4e96dfc95
+f935393a255026993680aaff54a0a4f7
+6de6e4726bb7737834186f4c301ceaae
+a6aa542d71b711501ad88b34773d9b2d
+05ed1f034cbfbfa75fe8a963ec2acdba
+2ca92dac348201c74952a2378e85faea
+b6fba63eb3c0173bebafbc33ec2e1f1e
+2ca92dac348201c74952a2378e85faea
+032fd38b9dc9336fce06d9c02eb11b25
+2ca92dac348201c74952a2378e85faea
+29db4ba4d16e28650ccedf9c88c7c657
+2ca92dac348201c74952a2378e85faea
+8c6f0d977e128ac0315cb9926e488737
+2ca92dac348201c74952a2378e85faea
+e364cacd9fd424fa0fd890f03af67160
+d2382fed8faca063c718d8f9b7c87761
+24e9a68053265b07d318c6b529fa3b54
+2245dd94a3b89771b34a1b2581b21c94
+978e614ec1131aff8b4ef7cb5e2d342c
+d36ebadabe1c14443ad1548df0ced7c0
+753c668b40360abc3662fa3850ef1020
+fee4e66230f33d9ca1ee392ed319acc1
+9f1588c4981ed7ef94b5f8c92f2fe82f
+fe522edc004482a34628a5d1cf0d2372
+a592dca29900d2f984620a8aaccd3272
+47e82040b92ab659f931810f87b8327e
+595fba915d2ec32c7130f2176a07f5f6
+71de3e167ad07a4aa87ebc6fcedd6988
+6bf963990b343e1dde0919ae6c8c9978
+dfd631270653889cf6bc46b1ec40678a
+a1e4739911f6a003631602d643171c06
+eb01a10c2a96f0d41c6bb822939957d4
+b2786560f69d2b3d3ad89ad26ef6ae34
+0d60cb6ebb9172f730ee441d45d05c2e
+5f34239223563c8ce054913a55d89a09
+e6e0a827cf363f10bef7328fab8a8d75
+ad616b07ba8977ada8608a443b9b9e7c
+ed5f56e3969e44a889c139d2677e9033
+9dc6059b62b47515bb700e11f953d5b0
+f38d5d85edac5950e0826344c920739d
+fdffc19145812b0258c594c6b93d9bec
+d1683910f0d0a1bea5748c8d53a3ba5d
+767654295b60b025258e1986457f7011
+d1683910f0d0a1bea5748c8d53a3ba5d
+b11eba42dea3c55ea4caf2be9f265088
+47760632c0fec1d9be67e186fe173e80
+c84c8b74579bdf836f43edff5b234e03
+316ce5896ed28a1aadda5834c65fdac0
+f42869705e587ad04f80ed60cd7c9a06
+d1683910f0d0a1bea5748c8d53a3ba5d
+48fcef4706ccf4b6e9765a845f3975b7
+3f5c22c3570ded45e9b40d1a22d77098
+24e9a68053265b07d318c6b529fa3b54
+2a3b6a4da9ec98745ea2a5b3ad65bb71
+f2ce7ed2d052b2d4ebdf707cffbe7c28
+cf78965fc0fdbf9b65c8037f862eece3
+0dc6024f2cd4c2d9db5b8ae68775ca2c
+99e6e10c13a4f5894b7d13fd2bed8cba
+f39a3e01aec1f37fbd9dc47257848e87
+ca94396a48917fb36f5cdecdce027667
+0dc6024f2cd4c2d9db5b8ae68775ca2c
+99e6e10c13a4f5894b7d13fd2bed8cba
+423f454829207db6fa4c81d752406af0
+b27e3363b86de7314b651870ba107365
+b24431f270af98bc320050db7c3a2335
+07b39ace354679726ee28980a90e311a
+9f28e871e7cba03b0b7efe1bb288c21b
+e5b851a3e5684ec8ec2329be89636f87
+cc5bb3e3c755470d050eea561fb06536
+a5db463b6229fdaf81913970ea109d1c
+11e424a6909defaa6c7bfb0330416142
+23de47097c2d48153c20404a17a8a49f
+c1d9be11aab7a301af3af5f524012b08
+f1804f9d76e03b6f00d6ba9a5ad8e3fb
+fd157f560a282adad978d9212d739cee
+8afe4ac57b9311e4c9d4b3c0681b2719
+efc8a11ae9def99525d5923056504b3f
+c852eeb9d963ed117e62a6a553f0b306
+05259015af60f8d61cabbfe1ce2f3299
+580c0873f202d9496357159ce10cd97b
+ff227e1387dc534669f098059cf8e0d4
+4b69dab21e35e59e27c8584751d0da1c
+1cc997dfb2290ddd72065557b0622be5
+02c4d7a828ee28f160e554135ecb0ad8
+1b1f5a031c5ac54d71b86c09954a6e8e
+7400a3aede0ad7c562140eedf856a411
+edc001ca7ceb679f255e66934a6ba046
+a6ca1f1a82e5896cae2cf4fa2313842b
+ad473558032b6de331e4f398f5d97abe
+a4df76f85e9664fabd03e1299c521a58
+e0e818abb30500c32205b0bb3b639328
+0e8de3f5082c7d8649624368d4db05ff
+f4f360d4df568e92b1d5c82fe770c3f3
+56d85b8feedcee476d304cbb68e8481e
+ad3747f11f81f9bb0744400c854e0930
+22fb7049dff0e021372c32bb6307c6d2
+a3dcc8fc1862feb578dd8d9bbd4e483a
+fbd4b7730bd1fa66b6ccbf7d90413766
+c57beddfc6cba61b20e4e7bb3ac1c007
+73861369820f653979802c1f89e78432
+5b242810a64bce44fa5855823481640e
+e4ab360ce27a68ae8b3284ebdad444dc
+3ba65cb4b04cc1f6958e8f4040a643f4
+79100f64a856688c9034fbf09b4dfb8c
+856b55fda31bd55b3984a55353f8a0d7
+a72e89f9e767d39e5246afca17d60ce7
+eea8765d13514285a4cc3c87b521572e
+702fa15d9a84c78f3d3d4ce5fe9d8b68
+aef889cd9c38b76493f483817e448dce
+8ce1ea84a8ab4f0184cb29dc61e4e65f
+64da948a536b314d47bca3a1d8459bd1
+0cd9a0d0b7d9c3d8791963502ec6cd8f
+cb12d7dee6bd3109a1053e8db96e394a
+b9a91613edba3e9e4c57ab9a2e3c26d9
+9f836ff5a7b28c40124e43d6bff6f5f0
+d032f6423715bcc26e4e33a5e5cf3e27
+8221945f993935edd62bb4b0990627e1
+72b2a3a82b1d44f43e9a82142b029543
+c608217293bdfbca0569f43d9261c9ab
+72d3144046fee71e99d4769b29fad7c2
+9614ecf9e5217b18703b1538913477db
+f95c3cf13805c2580d54ab236b900bc7
+c2bd0066db06826c02cfcb3f65148870
+241e248f597792e2312aad990e501d66
+a71179a4e4eb55bd0966a5a6bc97dcae
+289968eb48114a791a4f49aa95d9b73e
+05276d26d90e12cf6c8201d60f7b04fd
+a9aaf8ba4559378eca4d465ca829bfd1
+928890cf5e04ad08822e3a152dd7526c
+b5670f0641f7c8f846515fcefb3e03cb
+bd7b0e8e9f84725f990fc4482fe21f07
+85945f8a867ae38c9f76133bab6caab2
+ab0a54226ed6c61082c5732fed9117b0
+8901dd0a2b2165546ba1ee7d076d40b9
+837352cb5db093a54bc2753c79409857
+060e21879c0569798a9fa65e4b315249
+060e21879c0569798a9fa65e4b315249
+d7ec493514c4b46cb15722b6cf527d89
+47a8095cf0314e5fb31bfe5d8f822b67
+0b45a37646154cf332f285439f0521e4
+a4ac9e0ec5f59242caa56e370041ea74
+5587868cd48f3631203dd9944415a817
+d60dbe681d2131a127ea80e7821c58ff
+024d7bfa1c1253327c7418be72811207
+edfaaa100d3fbb087af913073836c9fb
+7c99aca290ce2eb10007fd185e2865f4
+eb8d383bf56a5dec552a376b9360727a
+9a75a48b91aeceda556d701d30c07e28
+dcad6c3019e6d4667ef7262aaa3cdd29
+39c89993a287386170083d39a98180ed
+d4702785947d8ffbc33c865002831737
+dae1d1c0a489edff6d6f07740881bfb9
+727f12ddf60fad17c3e64dc17460adb8
+b633d11f0f8f91e834c455700510f50b
+2fd32c28cfdaed3bfc8efcb19e9af412
+d6140c66a718a8ac74c7a4017fe26435
+e674cac78ed79bb33f6ceebaf6dbdb45
+cf69b36c60dc004e40966ff30d5c4c99
+fe2c9ace4450effeec0eaeae00d4de81
+48a01f73495e2d68ded953df61eea5bd
+3463183a527c613243fce799200a2bc5
+0da20f9ab320c3a2dfb974a4cb26b732
+60222c99d5478cece49f84e500186ed4
+af54bf0bb1e1bfba17ff6792a52df455
+84e6311e70f3fb1e38e22f18a8ece2e7
+d38079935ab0cc00e80941c47de1e50b
+d348fd7227f6524b073bf6fefae52215
+8b12be8eba1105fb69294d57ab419469
+d348fd7227f6524b073bf6fefae52215
+4d683c8d430eef444b6b96294ac48ee8
+abf10f76694000f35f48a52ceafbcec5
+f1947a1eeff0f5efded0ffc2932de002
+2d94689785a722ab0c39fd3a539939ef
+ab3d43d9d2a8c7ec05579c422dde532a
+adbac3f07fb1efbf10bc6c754b6f62e5
+75c42f5d60e63fbf918da3de4302dc23
+d11147b3d821a4d7fd0033ce9600e6c3
+fb83fd610549626f27ea9976fb1dd422
+edfaaa100d3fbb087af913073836c9fb
+1db9718e611872d59c6986a4412c8528
+c4ea3126d9831aa7319a71f7b4382ae6
+f1c61d9f2f46a5d9c67ff4516d8ed68f
+50e31c24246fc9e2932bb0e36af4f751
+8d3ae2eb7ee39d7327b3ffad5dba6b89
+5af090b3c43b1dc1d98bf52f6ddcc58d
+dd9a937248cd4edfb954b21bfe172789
+979a6b55d7994d1bb0cbb5fc2eb087ab
+e74c5c7adea694a63653073ed0402188
+7939be5ff197f3a27eff2ee5c54f1083
+19ba06568fbd2a6390e82af28ad2b17f
+b5516ea35cd2c5477eab5833d4a62f86
+2cea4f5d1e7828cc156f02ea849e304c
+655697431223dbd4e1bc414048a2d2d2
+1709ea8aea03420c71e6830af75c9a6d
+96d0c4376244ad22da7c58015dfd01a4
+fc6cf02462884e9e441fc2de9e6b4bf9
+3a73cdced44dc584e8b37d95dd79b26d
+d436af938991d8b1ce6cf3e7296a132e
+376ca9e1818c134150f5070d053e5aab
+65d66a382be249c1bac2054ada661707
+bf03c4252a663191fb9d965e59630e48
+6aae7d2a73253de13ad812a93d5e2bcb
+f61ced95d40065a64d279fc6890336a3
+7789c7b73dc89f734221478adc72ab92
+17c2c6ec81c31cc8d3a656cba815f83a
+e416cd2ab8ee8966abf9ccdc0fc7a1fe
+ba22e075a5be118d12492cf807b947b0
+2c49cd2ee19f2f583b086735594cc896
+bd8aa02388b1ce231871336a32fbd143
+74c242a145e9ddd149220ad0eb3e6518
+7e76defe87714fdc69541fb80073d66a
+88338479f0c70c41df5959c090625f32
+11f4e38f3a8a8c2f4be4c1c3f651dd73
+e44e741d0265fccd5e8ce28d9d98641d
+155198d8776b5297c7418015a55a6924
+c7d5034b265217eaea4a9ea798c546da
+86e24fe7b2d642eb4937a40eb77d2e9d
+788da1b3c2fcfa80122a44d1a89dca16
+c7d5034b265217eaea4a9ea798c546da
+be74cbf3dbcf6a28b6a7b3d79681aec3
+f6d5a7b475094e614aef2494edbe1149
+50193af601784f2b30de54e123fa6960
+d6140c66a718a8ac74c7a4017fe26435
+b53b56c2aa00bfddbfd0d7dbf8363548
+c6572885609d913e5083746c2d19c687
+513dd25a046de231870f1e46bad587ac
+5ac58fe18cdd91968a406975b9eb4051
+3f9811501151a48b0c9a384236cc1ba6
+6875d480747d1cb853536284cb67c04e
+06ff75e06e71ecea6a542123682b338d
+6f19859e92b90b6e3fa633a4e7ccf714
+b1d4dda9ff776bb0b7e0ce41f54dc167
+585842929205736224fac1867281ce9d
+a95205f9264d1db1aa0cb9bde411dafc
+4d897f6bad76f5167f5668cb03056765
+def1d24f090129c409922f49aca4ca33
+9ab58a58489bce707b9ef0cc7c4190a8
+86c6b58c9bfaae85a8a8965ac26cef05
+77b48f514b3ff701e38b236596742406
+d185dfd42ce3522d5f95c729067300f0
+98fcf81520e8075c737b2f9376561c4a
+d185dfd42ce3522d5f95c729067300f0
+97f609c318fc3a37acce23770606baab
+e4cb4be3a16baa195f3508d0ad6abb41
+41395ce7516e22ce62575da4cbb6b47c
+c99a48c47c80bfe2e856409e6c9d2768
+f55e7355bff0974d2cd3cfacfba3d4e1
+d4f95f7c610ea9195f21e3cca373339c
+920cae6cb258dc75efc57a556d89b5cb
+3a4d6e7b69c970379987e3d8b2452666
+7983d3f5206968fbe57bc3b6f7265dbe
+2267799aed7c6e962f29cad99b484ab2
+89d3f63149966d2a09072288bb02c7ef
+d6140c66a718a8ac74c7a4017fe26435
+89d3f63149966d2a09072288bb02c7ef
+d6140c66a718a8ac74c7a4017fe26435
+5b77f27b0da3c20bea64487a41214bbf
+5d6383c8b2422640d465f4576a7a0758
+412708ebb8a375f1d57ed331c2a604ca
+24571129c1dc514ebfe81d5d346a68f7
+7e983b215dbc756a6daef03457c80a9a
+d6140c66a718a8ac74c7a4017fe26435
+26bd7183d39db3a87dba688776941173
+20e161246b0aef396f4a3744ccd64ec6
+bb52764a2fcd1a4d829e9d9633afdc79
+3856d9c4abb8a5a076f0dd2e2fdd44d9
+bb52764a2fcd1a4d829e9d9633afdc79
+c9593194b2690a36804116520a86dda1
+bb52764a2fcd1a4d829e9d9633afdc79
+3d784032657cbd0413d08f0aba002141
+289655dff9f845a4b9dc4d8b791dfd2d
+a9d86bbb1e1de8563a7f0d809a833f58
+9ab2fe03bb3fdf74c37ef714f2cd25d8
+2cfd07b2614af2af3b63c10e7881b10c
+afa461acf7f0bd21393c233a3b7f9997
+5c3637f3ba9b611a742920fe97e3fa44
+e7d5159dee6ddc25aa38e9931618c3b4
+7734e1066708eb02acd28cd18b6d3c5c
+2a09d3f85e39614167843dc9bf37bccb
+a7a8075156b5f2673214de61f40e25cf
+3f8925ada127ef3b488b960f8911a096
+b48a5a2b8aa704c2ff9a9b547ec5e394
+d3c8a76326d9e0a3c6277df6cc6954f9
+11b34353e71c5f0a06d1d35174d1622a
+57a192c98dd82c3548ef3b62eba38fd6
+acb1175acdf4235accd7d0d739a6d3f4
+ebebb0b12df85e3dca7380e09bb8d85e
+11b34353e71c5f0a06d1d35174d1622a
+49491a18c30d57260b00976655902233
+225f4a328fe3545af71cce7ed9ae0023
+5b91e9f14374b977fd73065766a07593
+71f06c24f3511d53f64e82a540cefe1b
+5d5995fa0bbba9ed4acd4055f52dceef
+e17b5131613385d860cba73b80cb5ebc
+9e9b1087b1ce1e94443d267602ed2f1f
+11b34353e71c5f0a06d1d35174d1622a
+3175f02acda8a2aff29955a5771f0763
+158929f20e1ee3728f5e452beecd57d6
+ac3dae37b2f48cb72595b4f32ed5c47b
+11b34353e71c5f0a06d1d35174d1622a
+f73993ee238698a8ea70bcd2b46c6b77
+6f73fdf5aad896b3d035134c387805e1
+8f3f5d86f284b7d966aaefaa387d3aa7
+11b34353e71c5f0a06d1d35174d1622a
+39844001dc990516ad260b3eb008127a
+001d3080fddfb17ee7c0efc0b6830852
+a04ef7d010294c0c701f58e523c6bc0d
+e750e0dec6be3c5d655c7e101f57f178
+46edafde700c93c9aac3c5214f8a1f81
+f66cf1109fa4c6fafaf2911337641318
+9c4d5b693a237ef047675a15b0a41a3c
+45a726c83a6702f94935256a1505c922
+b21d061f312776f92573df3d705ce7a4
+444441a0182b07bf076080f266d0dbfe
+d6140c66a718a8ac74c7a4017fe26435
+adbac3f07fb1efbf10bc6c754b6f62e5
+7c5a0f85342809498fcd92de836ef39c
+adbac3f07fb1efbf10bc6c754b6f62e5
+ac4ef9d9c3ec007ab431dcf1770197c7
+7f5fdde4fda3a6b4145702e1246b83e5
+b2565757f824ad09d7904a75a46e92d2
+0bf5c239017547f9de4667932014849d
+adbac3f07fb1efbf10bc6c754b6f62e5
+0cb35b26cb53e861647994fcc6a23349
+fcc62a1c3aa36f07a63e19370507debe
+9d37c9c983d59f94320f6c78fa8087df
+8dd85144a69e72fba6fe66e4d295552b
+a3ad87cfd93226d962276b157499a40b
+51e2d5b3afb65eb198764e2e453e563c
+484928ad55ef77b1120bcf86bc81eb96
+e7eba9b6dd206159350a3a3db45084f5
+f17699868c8218a316c04fefcaa3011c
+3270501fa7da5cfec174f37c5ec69b32
+4962b84094d9acf606300b5b7f2489c0
+02b2096e76c670822483cbc6fc593333
+871682757e34e75189171c269851f2ca
+93fc4d58135096e7ed2c040dd16f0d37
+6498a1dd38b2b447add06acd25dc2c9d
+62bd9305b330c0c2a8ae050104606608
+27f7fdd91f7f267123ae0dfd9438f6c7
+4962b84094d9acf606300b5b7f2489c0
+04d36c9c00e337fb926cbc6d49c8bcb7
+10352414ce58a28d441ef4d1d22c24b8
+14fbd6d547411efa96b1fdbfc8f1ecd9
+9eb0ef4893c183a8f1be70d5c4014bf5
+2b6e07342bd67b1dd16636ce65620dc2
+291bc1bf4557f43f8a7a834c21b602d8
+053f176f490baa119d63efd5354e6e2d
+40647628c13b1391af071311fbf8a4d9
+774f18674e12b41c0f63b7db37937ec7
+c1212fe4686f09570f08e445870ff89d
+013da1d044b4331ebb7a46b02c28def6
+4ab25265bf30c3fef77a6d40569c915e
+5cbcc2deb34c7d8cc6d22453bcee06ce
+1aeb171bda4b47d6dd3d9777d36ac00f
+9189cb77b4662a90c8ee548e530b1f05
+85e1f36a90c375735c0078bedf51b25e
+fda918fed1463f836ecd8f5e7d7425b1
+6b7c66a6d8beb8077cda87e43015a56e
+339f78f883934535ad56363275ec4166
+d2af83c9797d82fdae39995e2b31a3a4
+5f7bc2d20ba4a01d868b50a1cfe04a65
+275782613b2cb480c7cadabd16279952
+ed0e713f5f3db275529e3ea71d012a38
+a2fb242824d690e66517440320a78bd5
+3c038a7ff937509930f65c1d9d579ba5
+214f22d06c4f179e327003f095290e98
+d9e4d34c12954b6bc9ec6b34185c25ac
+382ae70fb5653cf1851a4df788c1c527
+81e9cfa0d1435eabdb6367575b5e9ea3
+0f579e850a6a4fe86defd1213969ad0c
+5d1de169bce4574a25d55f318494ccfb
+58d19753015e919a300aa7e85dc32252
+d6140c66a718a8ac74c7a4017fe26435
+bb52764a2fcd1a4d829e9d9633afdc79
+9ac536d886c4533a435c8acfe99331a7
+d11147b3d821a4d7fd0033ce9600e6c3
+65c97bdafc82c2171dbedd62cd15be04
+7d37dc41172c86f73e059ca6ee509ed6
+c22a516ccd841d3fd0689d02618cc5fe
+dc0e9d04e17cf684ea02e6aebb78ff08
+95bfc93f8398c0cb2e401b6f5ae6b861
+47e037566837d421841e897842f34592
+95bfc93f8398c0cb2e401b6f5ae6b861
+ea00ed74d1c59fe911f5ead03ee7da3b
+ea9d169fe46e8498d3552194f1198f4b
+a6aa4a9aac09bdad91892de48b9dba5f
+493ac058c6c3d8ae7a09fd9633c82d35
+2786d6319501a1623870386917a76c70
+188240f36b469cf4a7421c1f5d3c69f1
+99baf1da690e7dcf26244cc627c836e6
+1dc82790806021d4b7a2cc0515f82d6f
+605ef13150ad2b8ecc7ee1f2e1781e17
+7c3d9e1a045497ab121ae2870ba62a35
+7abb63c16381a84f9558cd6c1a0b3e0b
+9b74527b68c65436286b21766473e097
+99443a7e5e4e68c2a405fdd1e3890616
+00b909cc58f0d16cf53af3e528a6eb85
+206bc66bccc43920c3e46c6a6fb89105
+8482768a384174f6a938f38abedf4025
+356e05f5f8d823b251a9002564598876
+2807a52d093a1dbf821c62c45b54a5e2
+b77de638405b4e09b74022986ab794f5
+21b4477ba32f0395ee69d41acc3e2f4e
+5df9f7d192a9735390b95caf5eeb4c3a
+69f9a353044590f9b43683348828659b
+519e6c39fe445d40976e1acf2ff663e6
+26397545ad4f3c23632ea6d74b6c0bba
+d671196dc0ddcff4bbea13cc7d2d27a3
+8688811d48e30839c6bd52e560429431
+62fcc7baf5af5e10274b70021ab0eca3
+144f055d9e5a4ba5d73daac225df3070
+904534ce17511846b879937569e9415a
+c95e25d9b96215b73bcce400575fd04a
+e0b186323e8ba4b0a5bcf831b5772058
+654841852de60d74fff4c1de9fb011c9
+0de3eb43a0df5622672954425e897212
+1d434277085a728f445956c4fcc14477
+0b7eff17491ddfd901c6e619d49f007c
+ea57e6ae55eb5ed12e81f235fe1f8813
+1df8076592121fe24e9e7ab7e075d096
+a4e1569c96dd64cc50ac081fef83b28c
+45e350f84a10a796ae7cba95b4ebcab7
+4168b5403ebeab7d58706f0b314f2181
+c0a06053c1b9ea520720090cb3d1d493
+f93b9744e3ff8a796fdf41cc53caccab
+3ab4b1589ac91a934ab944452b5c41dc
+e17a27f47080e21e880e40f8154e5359
+cc66247c0d8ea6984f4aaa570b540cf7
+8f910f7199c705c4e7eec19c088fc5d0
+dee67f3c37b0cf942bfa657889bccc27
+f3be4819d8c99098d698ed6224f25259
+695dd1e242d5b8fd3eeadee3f7881f1c
+6e0bca9d8dcc4d58c584689fc8c0f28c
+3408527de2c70c396a33af3a6b24e0a3
+ddc0f4c80c2de7858ef90b0f1393ca9f
+2c7185e661536bd9d40df811a9c07319
+5fb5b2a18efaa5f67b8268e70b3333c1
+5b4054142321f1dfdaddc2b66bd9d656
+ae6353d1dfaf11c46d4586bc5a880473
+27379cf1b891a74c1f14f789e804154d
+a76baf32a3bde83be17d8e501fdb7b49
+76e61b2802082a2e2ea515c9bae1bb86
+a82d34e99197f7fbd7f37421dc5e43ce
+216b8eb7e74dba33be6f6e76939bf3e0
+0a2ae2e8b80266009d460f958d52684c
+10fefd6fc9851668ffb8bf275b8392d1
+16a7493168759a4cc9cb0ad2932ffc21
+bc8afd55e7618e74607dcfeb1b3f7da5
+6b49a301c7dc514384cc2180e6350cec
+661c6639a9793cd7f7262a277bec679c
+a861099d22f7ac49d63bf2d3b88059e2
+a3329072ab4eb657e5ce7bce76b8658d
+e0f978ea4ac7dda97b486be34dfe82c9
+acf05d6177aedab999756bf2232f4cce
+423435a7c7c0cbecdee5e095b7ed0fc7
+ce4d62089c33f93ad1ebb38ba6433383
+4592c750831bcee1513448bb0a188c9b
+9e521435ff142b8b8298bd683ba6c99b
+75f6c269209c5d41dacad5d658113d4a
+ac9c21aecd42d8b817b718d223f7c4d0
+a3cef168478fed15a149166579c23e74
+0e44ee98c3c378011897835df0ca6806
+f710ffdae40637608e74ea1441822f56
+cfb8d6c4b7e257b64fd75a8978ad2437
+2575613d104c8d802a5678f27f39c7b1
+037fec69d53d381e57fdec7e1c7d04e1
+4b96e84ed48bdd50a8ddb09a1702d982
+04c60382602ea6f7ff79293edfd92b89
+44f5b6fedc2f25af12bf7d6298744efe
+32e5f2a10b8bfbd3df6e8001bafef98c
+cdcb2f8878a20fe26db672de0e45da91
+10a1ea7ff2e949af5f56429be3811ee7
+c1b83692f30c1776b5971ac00a3b8431
+e971e6f04c7d47f28904cb8b5c2d0210
+e3c7a4c4012d45142b3e044566f7b614
+5077a90924d31c74db3e04a528172f03
+f8bffad60a82a2b6d7551e78d28036a2
+13eda72231b953a16bdd28f719f448d3
+c1b1ce73bc437ea4ffc84feb94888105
+1700e58bdb20d931fcc03d03852e2c0a
+c7855ed70ef12e31a2c4f71616b7b446
+40bf8a41a34caa4b3955fc0fee457200
+1e9aa23d569414beedfc031806dc1f13
+9fab6f695daa1ead77206bbd5469d131
+3aa635eeadab06edea8054865ba8146e
+ab9f0dc267196e887fe411430105f6f2
+84839e1e0f8c640894aa62dc33565cdd
+556afddced59a9e411dcad3e7bf6ad7e
+7a5a0225cf903525a8d4a6cc52253fb7
+8e2d3f245b7b809b44b99dd025eb4927
+06775a99326e81acb17aa51111c41945
+9fab6f695daa1ead77206bbd5469d131
+b3b88fe6f34c9f31214c771de387d427
+ab9f0dc267196e887fe411430105f6f2
+84839e1e0f8c640894aa62dc33565cdd
+556afddced59a9e411dcad3e7bf6ad7e
+7a5a0225cf903525a8d4a6cc52253fb7
+8e2d3f245b7b809b44b99dd025eb4927
+8376e5b72b96656dc95c14de2813545b
+9dcca348fef422084ae35a81f861bf6a
+4da478ad9063b27eed7a4d0330eed4b2
+ab9f0dc267196e887fe411430105f6f2
+84839e1e0f8c640894aa62dc33565cdd
+556afddced59a9e411dcad3e7bf6ad7e
+7a5a0225cf903525a8d4a6cc52253fb7
+8e2d3f245b7b809b44b99dd025eb4927
+e8102bbc54b80b172f78d39511c27ca3
+a916da4040eaf87fed38cb6c96816c17
+b8f5d6470caeeaef9a6978b584a6eae0
+556afddced59a9e411dcad3e7bf6ad7e
+fb6b0b9881d39cba279594484686c7a8
+8e2d3f245b7b809b44b99dd025eb4927
+ce15e07572e447f6572417958986ea7d
+d226cac7fe9cfcadbf175f0597147c69
+068f0566fff5170c87d777adc5a69a0f
+dc7a962d2656af75f66f2db208fef039
+b8f5d6470caeeaef9a6978b584a6eae0
+be34a5fbfdabd117897518294ee3e56e
+b57cf2c1322821ba514d96f6f4d14ae4
+8e2d3f245b7b809b44b99dd025eb4927
+26672cab90da19fffd7447f1e1f73b02
+86f9f036adb3c577a890392aa320ddf1
+b8f5d6470caeeaef9a6978b584a6eae0
+39a5d15047cdfb5c0350be7d315e7f1d
+1300342588fb362e1fa7443ba646f35e
+bba2ebf57491bba246fb5d848159b41a
+b8f5d6470caeeaef9a6978b584a6eae0
+7f38e690c8e46897e3c452fc74df41ad
+bcad31725eb3657feb24344fb793f71f
+91a23934b6c0657847c278e889e44cc0
+77e53c132b6bc60a71ac6dbc247f525f
+c832f8a2834eabc30bfc4c6bd5695ade
+fa2e351910a31cc9ee7a12fd69417429
+2ce4697720d274ff13e135a4d3a1eec8
+fed14de04cbaa723c531a2ef0c61d473
+20be105cd6e0df1b4389c94a0bdbfd0a
+c04d057f47762dc42a2d96c8dad49e71
+64e2f655ef8423c9cc2f103d63bb094e
+effed4a8b1566c4733cbdd9b77588464
+334d8df21a2672f36722524b0ebbad1d
+658a12d389471c65877b2bf223e2585b
+d910927548183083692597d738c2892f
+553ed0f1ee18dca4ac7bf5b7bea2f710
+173e042295ad89739c2a4e58fcca3b9c
+49fb4d127cc978dbe0f47e7eca17a47b
+ff8972aad3dc5c0dad53388e0975424a
+0fd7a18c66229efc192d49f3fd045dcd
+32229fc987045c0573b626b8b374cf12
+a91087ca0762fd05ce408882b8001c2f
+e91db63089618a5683d70310eb2a3945
+6474d872b082ab6d4890ffb7891947c5
+7cf767b5f472af03ddb1967566480a0e
+dd9e7a1be689ebff7f923afdceb9cc66
+04e2e49947727a2ed5ae3e465d1a8984
+62ccb7ae1f661b428e312f46154c2c33
+470ff1948ba16e4b2f8b43da1b93747f
+fed14de04cbaa723c531a2ef0c61d473
+7876c146e16919b5c8ef81a1fca93d70
+bbd1680cac5d80a48cfa5e8935060126
+1d93ea704c8ddf37863276d4bc744d62
+f34f8bbaad76e400ba95ec05e7260c41
+ef0058229848657969a10d561d0f3ec4
+b9c461349c1b6942ee8e24ad22cda418
+2eafcad5c9e9dfda98c918dd955b7008
+1d93ea704c8ddf37863276d4bc744d62
+67e170a631af4eb24cd92dbe6049d82e
+8d54d4aa926fcb7aed041bb67012f123
+1d93ea704c8ddf37863276d4bc744d62
+8858f1597512acf6cb37edc1a3e42436
+46cc631a9e93ebde3b01efc53218c576
+7e9bae2820980fdde36e516d924d05bd
+1d93ea704c8ddf37863276d4bc744d62
+4ed88b607388ce229d3eafe86f1a3b68
+39a5d15047cdfb5c0350be7d315e7f1d
+c1c20a2ee3f4fb396b2db7550f7f913c
+0c6042be5ad27eee43fd34a5ce2f8953
+88a8bd75ad3b2768c17893c6061b986a
+5904ad938ecb58771205a209abe9a803
+d467b29ff76d41251e78cac0b99ed5d6
+15d07748dd3b01cbf4175d04c84a6e32
+5555ffcd1b39b133a35e2dfdd9eca785
+1d93ea704c8ddf37863276d4bc744d62
+15d07748dd3b01cbf4175d04c84a6e32
+2eafcad5c9e9dfda98c918dd955b7008
+1d93ea704c8ddf37863276d4bc744d62
+2399624b583f66a7620cbd13dc11c66c
+60ec63ba09ba2a982fdfe555bd8cb7f0
+ca11e4008b6d7b24a3b949921453216c
+f2069a8407ac14338c206f9c23329cb9
+e6f7ae7813d23f44c88cd4d17a8d3010
+81ab556277850e02afcff31ef87dc300
+f3cf6252156e932af36cc16057120538
+838f2d7807e9870864f9e9b3f32d39ee
+efb0d940355faba29e7eb80f89df41d6
+657823d3b3feb51c82365f810e5dba8c
+7af6dda09ad7beedf548c12836469714
+20a2798bacbe5e6b88e5af6573eaeb8b
+0889a7d98fa747908fae1d384c3dac1e
+1db2a7df5f8cbc8bab9c802f3fb9ab61
+55fe9f7721f911f75edcb66cf6621b6e
+850575e1dc83c8f6f4b22b60e2476a41
+e3c4edb63a9b7cd2c6636713e97ee74a
+96c36d12ab07ae12da88d9f1d005b085
+22c4a2ac2da01ee60d2cecffc7780a71
+e92d244525b0ca57dc03fc47fbdac25c
+55120fa2364f276098d39b38a9987cb6
+254c003460acf7f73c0899829b0c01e8
+0be27acf6f16a14bf225e1c12bf5fafd
+e3ba40f681124ee3608d640da11b6887
+9a770bd7a133b49416963a2deea8c7e6
+d5aa7c53870d9e647b55362ee8f194bb
+b491594f1d2e7b26848aff750f19051b
+8a3a46b446f09dd5e61e509e6114a16f
+bf21e55998e6d38641bd7bed42e15787
+d0e42d5bf439c26f2112c8ae334b6c5d
+42ebc4966a686a2ae2f300300f8e242a
+9a770bd7a133b49416963a2deea8c7e6
+2bb2f7cbbeffba083eecfb1e58cab7b0
+1d93ea704c8ddf37863276d4bc744d62
+9a770bd7a133b49416963a2deea8c7e6
+83ca8efdea1f19970745e462f058a6b3
+f80ebcaded95ff0ff0447da3780955c4
+b9c461349c1b6942ee8e24ad22cda418
+217a681537d606e8f14db154cb64732e
+7d560d6acba0c815b1840b428df45c23
+024f2205f50ee7229b4cf50b573f22a6
+9a770bd7a133b49416963a2deea8c7e6
+f8da719fbb41edcee9fc2e046c31bd48
+1d93ea704c8ddf37863276d4bc744d62
+726eebd945fb60fa4467f7794fe6d0a7
+8d54d4aa926fcb7aed041bb67012f123
+1d93ea704c8ddf37863276d4bc744d62
+6e822df92db8406a857420aecef1d249
+4da478ad9063b27eed7a4d0330eed4b2
+1d93ea704c8ddf37863276d4bc744d62
+dbc2f3f646fc3c4e9277e9d58b24cd83
+39a5d15047cdfb5c0350be7d315e7f1d
+0813da956a8e9378bbe64de089e491c4
+8e2c8e772607fb1ebadf98f18d9e2dbf
+5129986e898e44b1a7dc66ad74d6cfe8
+9a770bd7a133b49416963a2deea8c7e6
+2bb2f7cbbeffba083eecfb1e58cab7b0
+c87d8a165c0cc6669204fdbe4f0c5f7a
+b53d0a6dfe9559e8cc73dcc0c9461439
+607aee4c5be3d5294f403ae2b152d9d8
+cbf7e098277abe7b468ef5d632296f50
+ed416fa9227a05f1715ed7ce528102de
+d3fba6b0a4a0e2b8fc51a732be6f82bd
+25902ec349a915ee53e1fc57199a5242
+24aad76684a499ffa8b102b3c031cccf
+f17514187ebf6e506a11ea46485426b2
+af2f76242afb62413481c0bce84a90f9
+3a858b8a44a836785cf7a484bc8b5337
+088701115d6208c3374c2bc0e575c9b7
+24aad76684a499ffa8b102b3c031cccf
+acd2c801f1f3f42898ce0eafaa2169d6
+4f5fcca7db00cfe36e8836df864d2a4b
+242fa5829f2698a7f0e24a9699109337
+000a7557a78d554f395f772ba86ef194
+29bb3d5bdadf4c7330f37025b611e385
+7e9bae2820980fdde36e516d924d05bd
+0e1fd85b636482fc25ad33bc9ebbb4bb
+6fa19d00acba8d1849513b4769589183
+a5e43c388b7371034c80c0028d51ed2e
+00607705f3632d9a8ac797765281b4b0
+bc9d353a73043b80d496f5b15c64dddd
+61b12acc3095880295e1bdd72d3074d8
+2e1ec6c2931d4aaf236a2afe5a0ffb7b
+409ceca0f5c7f9ffa966c987c2a56dfd
+969afe9d87e916431db673a8cadca1d9
+ab31f47c839a36e31fd192dbad4df5aa
+59d5dfe5f4870f59eb904d8ecc09fdf9
+494278bac78555f081fe5ba77a2fd6d2
+3f2f6e593c145d82e717b99e552470a5
+61eb2ef688d52396f4a999962c507c26
+ad17b93e6a0f6d39f94cac5046e84636
+069868445b0ea3c2469e02c6d06918f9
+020c8a93ba28235c74ba04745bb8d493
+506f1bb654aeab0fd1b8aa17d779d90d
+e3736d311c8e36dbf78c5f5eff56d8a5
+3421d875f055c0ab2993ea3d813409d8
+48383dda494c07d31dd4c5e57f3d049e
+6640929ea280498691a79c6131032c35
+cd0326226bacc6f2947997e2f533928b
+6cfd384b03926d086c023519575c7bea
+2219d0b9924fabde9ad7baa764cb228f
+89534790cedb0d01d217d262656a964b
+195feefd339efd5c197dabbeb2a2f99b
+541954d0acc4223304294b939ecf187a
+791ef0db5d4e8491a784db93d07e28ce
+4f9692c901c21a8c99650322dd6190c3
+cf9d7741bc2d4715fa2a73fc706faedb
+c362ad95b2169a7c13cd4f73f57603d4
+a7a2545aee19ec5d09d988fdabdcf38f
+4d2f2f37a9c0529ed95f463608a33327
+58565e9afd6d6687ca3ea3cff5fa2fae
+2bd30d54705bee396f93c4d16d0bb836
+3751f3923fc8a1748e04e3687e49a28e
+de409d650dc86222fcbcb1e0ec631209
+bdd159925e57d72dbed480e6de6897fd
+f8c4e81a1cf7dcbcc383ded2b6fbd6f9
+48011f4d016e3581f76c48b73332d4ed
+74b04da572b5cab29edf3985e02f2404
+48a693a2272dc79fdb48d416e229d12f
+2a44ea547c310cd10409a87704260330
+fcc68a0fbb5d0ca9150057787fdcecb7
+97c5a08450c37fc3b8a94a1d29bfc18a
+edb9c0c5894e39819272adbf7975e15f
+dd38fbb6d015a805d33f59d873a856b8
+b614f48920b62716f06591e2c7acbf44
+892c0140ccdc9c99ede3d6ec7a73ffc1
+ffac26a3d8b6268b175ac131bd7c8562
+c2b70295a62708e8859485eccd64a426
+f4af14fdc4c5f0958a71e9a58b28ef4e
+da970a466af38bd633feeca687bfb48e
+5f978dac5d6fbd751c966e5eb6964f83
+f38a2624fb2d87f108e9d9711ffd9666
+07918a930234125939cf6cc4808587ba
+e0543d1db0a3d1f85e1699581e0bca15
+b9c461349c1b6942ee8e24ad22cda418
+c11167965f5a186a0c58c09a33c8fff3
+1d93ea704c8ddf37863276d4bc744d62
+a84218b9933914a25903bb3f11845e44
+23af4203888eb7c2dee74f1218e02a3a
+fec63f19015aa18f885b59ca890db759
+dbc5e0b51485bb5d53f25c488bd8e2ba
+244bc40d7e799fcb3adf2b0ae3d0886a
+e97755e2e0d8d63fbd47fcb21b97c9d0
+3be78276c92cd624b7ae8d27e77439e1
+330d3b8a5c0395f613ddec23ebd2dd68
+093d83eb9b85c46321b2d25af1906ba2
+76fc3c0c3e6212365ac4ce83b4da40cc
+39a5d15047cdfb5c0350be7d315e7f1d
+166e6be6c83e281dbc3bbc893e97d03e
+0f0eb63276228b3c830a61f872ee6b57
+923ff56631fcb8908365e53e7ae863a8
+eb557e86628e83268dd581445f3402f1
+aaae6f7251beffb0e136656bb248b792
+9fab6f695daa1ead77206bbd5469d131
+16856e22cc2663a0c8b2eb487e4fb692
+c5e6b2d803c61069d9a1c4768ca766c2
+9fab6f695daa1ead77206bbd5469d131
+16856e22cc2663a0c8b2eb487e4fb692
+19cf63896ff0f4302f17952f0a3fdb90
+6ca48d2e6c55f70ccd46765dca97ebf8
+bd7964fa5c22f0f455087a6a11f1c940
+0a00415ada0f7d446cc16fb046b9c1c4
+7e9bae2820980fdde36e516d924d05bd
+f0c5dc1db96f356e5e10bb9c92147036
+7fdbaae6d663cdda2e4a2d0201f77cad
+46bfd20cc816de82e3132959467786a4
+c9fe1f1607bc822b3f2312ff117b4c2d
+3aac096a5f6e254270cb5132929878d6
+7fdbaae6d663cdda2e4a2d0201f77cad
+8c141a794df1b8fb2faf64c190316a9c
+4ba724e63a4ed9e8e2d137c9a50d2bd6
+62ef9889ec1878a87a3eb4ab649678ea
+0b2880507b070753e4aa249d1d201138
+f9ace8b9b2ccdd38fd21d8950cc6ecf0
+51245e522197dce2a64d7cbee9608889
+82d138224f0c3ac7179481d1918684d5
+205cc0a4be0cc1ffb8ed553d5224a318
+fec63f19015aa18f885b59ca890db759
+a5279d38a9d1c0d346ee5134dd358003
+7fa6da26b0713a68184c23dc19316088
+39a5d15047cdfb5c0350be7d315e7f1d
+026bdc655cf8bbc179a7787cb0368ede
+31aba9eca53e9ae182aa2898b70f9e21
+12cfc9c06455bc85375e2e0d17be3a44
+f26484576b73f398d9f04da3bc8b0057
+e2b3fd15f2c6453759ee79ce963d1ab8
+8dd7aa6eb3ab1e398dcaf4aa8f8de0a0
+12cfc9c06455bc85375e2e0d17be3a44
+f26484576b73f398d9f04da3bc8b0057
+bb356031dcd6b35488743c93871607c1
+8dd7aa6eb3ab1e398dcaf4aa8f8de0a0
+cb4eeac0d1d404b178bc59164c6bfccc
+2d9e007fdf34e7c17414e788d0f6855d
+ffff3490efeadeba02b9f91974e747d7
+25793a13563270c8852dc2fa2f738d4b
+8556406fecfe57829dd9ba0e2b2f2be5
+8732c2c00ebaa4553c1684a8d3efdb19
+c224d23afcb1e811f0a102a05ca772b6
+f996d145a4ca6ad4a1b37ac6aba1682f
+2a684a48ae80e75412c286fff3eeea8a
+36ee579603ecbfda0e75f57400500cb6
+cd1b93219abb3e6c4b9e48626e353c56
+b9c21335535f3911e947d91e6ae1993a
+3e537917002b6f5b2cac2715460f6787
+895f5b9d6d345dd7cb2e7ca5bad2a9dc
+0f5fff6070d4f42d6ecb81e7ea77df1d
+1d93ea704c8ddf37863276d4bc744d62
+cbf74b27f6dbcdf1edae26758d0da5d4
+15d07748dd3b01cbf4175d04c84a6e32
+fba3d24debe2a2d686894e3bc8610e52
+1d93ea704c8ddf37863276d4bc744d62
+39a5d15047cdfb5c0350be7d315e7f1d
+0b743a5bbd2cf46adba5bc0baa2b7df5
+48b3999edb3ac6ff02a1130188bcc14f
+81deb070cfcad0237eb69c417fad2069
+15d07748dd3b01cbf4175d04c84a6e32
+fba3d24debe2a2d686894e3bc8610e52
+1d93ea704c8ddf37863276d4bc744d62
+0192f06b9ee5e42ea97daf7bf5f99456
+15d07748dd3b01cbf4175d04c84a6e32
+1e312d39e14f34260396157cab39fede
+1d93ea704c8ddf37863276d4bc744d62
+1f9c3077bc4402e0d76a0911b14bdb16
+0a23a325b638923c7f785d2ecbe593f5
+fec63f19015aa18f885b59ca890db759
+1d93ea704c8ddf37863276d4bc744d62
+c53a250f2253028f5b5e1a444f842997
+ecf8f52b9d11fa27f89cf1b90de68ef3
+15d07748dd3b01cbf4175d04c84a6e32
+fba3d24debe2a2d686894e3bc8610e52
+1d93ea704c8ddf37863276d4bc744d62
+44a1bc0fad4f593433bc2bdcb892ab56
+eb83eb21ccf181f1fea1d07e5d6d315e
+15d07748dd3b01cbf4175d04c84a6e32
+fba3d24debe2a2d686894e3bc8610e52
+1d93ea704c8ddf37863276d4bc744d62
+84efeff7a39c5481bdb2e33fdb8555ba
+15d07748dd3b01cbf4175d04c84a6e32
+2bd1d644d6839dd5d3c49ed5069d7f2a
+1d93ea704c8ddf37863276d4bc744d62
+39a5d15047cdfb5c0350be7d315e7f1d
+e83bcb92803b707dc16089a8649ad98a
+44e342e5be82e95853945f4af8b55a69
+b026ed7df84b47dfdfa72a7a2bf50406
+1d12d26f42e42fac1bcda5e3dd6a4107
+459ff361a4705e440697ffd9b565eb6c
+2a94d09187e1420027cdd2f698278551
+0ad40735c4396703275098f7e6710dc3
+1a51056fc1ba614300efa2d2736059c1
+f2d01c2e733cfc7cb4e62e21895ab927
+d5bda7aca96267a29172b9cde6585599
+b1f2b5edc616fb6330c089c58b09321d
+84bddb3c04e690100c74871314770289
+e2f198356d8528508cc9f87121fdae7b
+526f47456ad94e4209464846702a467d
+d7e52bb73e91d54e5da8f6baf5035ce8
+a5a22d27dda3b30f9df8f9e40655061e
+39a5d15047cdfb5c0350be7d315e7f1d
+423a2841db4e513d1146126cb31b02ee
+f9e44b9a47d1177315d35f7f7b9f8904
+81bf4797e5f970e61bd37fd34e74f6b8
+d418ee2748730e2bc48f5e492849dc9d
+e4143441f564885b07afe84ca8084ba4
+f13dcdcbadd9e34f673da61920625e52
+cb4363d066ee173b4ed97f02e9fe9019
+8b687a995a982371236d1213b01a06cf
+abfffe997cfc4874ef7da70504b8e509
+9fb18bd6afe3d61ac49a9eb1b5871ef4
+6cebd2f17d1cab34062d3a900fc7c0a8
+a729a3a5d59e8685d36d5fbfacda3d14
+890a25664731c1282cf67d07dc7f6bef
+74f14bc5518ec4d1b499ba2e7646fa80
+148d7ba717747ddc4622d843384318c1
+0bafdc55c07a87d938b903f090a5de45
+72a1332d82641916e2d85329f565e139
+148d7ba717747ddc4622d843384318c1
+1adf006183ba39e329b778d7898d9313
+4668aa7462a0f5f08dbf0b7f69b43343
+1d93ea704c8ddf37863276d4bc744d62
+c90224ad1da35ffd19582dfb21978e55
+611d3db35dace5ce7e88f162998cc396
+1d93ea704c8ddf37863276d4bc744d62
+924f7b16d283c7204951b4cf558ab65f
+1d93ea704c8ddf37863276d4bc744d62
+1080276c95004fcd026828442d9eaf31
+223ba85a9b13bae12536f5860b56fc8d
+f6c2f2dc596f7dee5dc945c3dd172244
+7fe19db2384477e1c6e0e186ff1fe1bd
+13da797ff4827bbba04ab899a4200973
+f1a56b9c7352bf2ff009706d0b6b2376
+b026ed7df84b47dfdfa72a7a2bf50406
+1d12d26f42e42fac1bcda5e3dd6a4107
+459ff361a4705e440697ffd9b565eb6c
+2a94d09187e1420027cdd2f698278551
+c42b4e95668f255ee36ee778d39f3b02
+1ccb54b2e53a4edc2ccaacdfeb0b51c2
+341b0fff11d4ff38c06336c4770dd715
+5d88ff9e8c89a90c097322486e4a5360
+d07584655c0969d7510f7ea046459ce8
+30d6d1eba4b28e5ab1abcbac62bf7f82
+7e9bae2820980fdde36e516d924d05bd
+f01d5f2896efd92589afbdf6ceec20d6
+ef46be4ac37f864196b8ab4834697d6a
+906dcb54ac6ca47893d1599acabcf06d
+7fd57c4fc0ff08f8546e4473dbd02a1e
+50d8dc37878fc43ab76584a6f07117f9
+e259e9dfb9d4ce8ff20542dcfa6a4fcd
+b96abc790652ddc69f839b502f9bc9a7
+a31fec54d377fde8c8dcdcb632513c44
+d96c963fb010fd031e145d4bf46dfd8a
+2975fe8856a85b8e3bf298e1f152a2b6
+6b10056d9636d195b997c5e3c7497b65
+0858f765594fccceae0532bd06adc982
+566c8bc875b2bfb26e58d1a1de8f8d94
+2975fe8856a85b8e3bf298e1f152a2b6
+54d5494eb84e10a810037008fb100c6a
+7256116f406ff1db8af31a899503a197
+7c15f7dbace265e0beb3b470d223c9bd
+5f87e6c8712ebc8c9381d44901cf2ae5
+4755aec82b7b2c0e298aa597066f0a24
+c55bf4c839275e684c0415d88f2c647c
+81587b4610a283e89f6535e95141b361
+1467379debebb7cdeadc8b3025171068
+1b3e2d56fde80809d899d4d8fd0252fd
+9a50c75e1b4d8f289b10a7de7047b1ab
+ceeb7cb54df0317d1de6dedb90367174
+877253846334770dfa54fb01e790a287
+dccdc1c4de955296e181ff88a0b1b51a
+8a46d39960c1d08e30fe0394964edd48
+fadddad175af98966490764019c53b73
+0537a6c630fc075804b207971c4669e0
+e6632d678b6f577246b1a798dcecffe4
+d0724827e70de9b7a1b5a2c6f16de59a
+33ad34e0a05409623efecc09963e6c29
+7f6fe22b4a6d144bee1303541b9b3041
+dff8a5e1518cd887cff80f49669b94bb
+8b79837d3138f366935ed12546e0c78a
+963195919f15b58448162a5483fecc88
+8ad3831fb4ef0f276f60e5bfa1921bb9
+1d5f8c7845cf37530cb014565b8b24e2
+cf0f70e62a1742dee6599ddaaa64dd23
+5378f13d556148d62b60a2bb373bc087
+54fb58dd13402b13962f741be4af30b1
+da6dbdf33aeb977b1c47dd6e71b41b23
+9523bff9b9b4ebeb567c86b68677d37c
+fc6d36aa493fa980adfa761807ecf03e
+a66293de33396ec0edf979fa8353e983
+6ef4b3a4209dc5067ee1b2b73b84619c
+f234d8e35240281f2ef05c4706d7621c
+36fd39afc3c9d9dcd4c5b792867ad253
+78fc8193e92fea1bfea5c44aa4d1e3a6
+426fc3b45a5f83db43ed8a5d844084e5
+1a80192f390d6d8be99514c595dcaa07
+48718f4a73e33fc47aba3a295dca4df8
+0cdb17027fc8a0af4d0062a69bcf1964
+f698371a99a9910e1df25b0917d845a5
+4f63eacd8e541880ec96ea5b38c85ee1
+3bae59e2ea2a8df7a1db7efee1e3be42
+b93e03d90eb74b3c633d0a75f1e41cac
+22d119ee068032cd10fa4ea4457a95de
+631380561a80604f7b8b5b7b4a8a0520
+71b7c28a76bba41bdaa8fd9cade52c41
+729359444c0bd9b9ac361898396cbf54
+af3473ef7753c51b460139fb5644c1a2
+6b23676f7fcf600d995e8c8678f0f758
+1e606d998cf2ba2bbe3ffa5e8b35cca1
+5abef6eca46cedbdca02cdc442958ec6
+be416047dc928ef492a67eebcac98fc1
+94c9a089267533c418a7a4bc3ae528c6
+db97961fef4bb448cc42dc9717bbd8b7
+78fc8193e92fea1bfea5c44aa4d1e3a6
+426fc3b45a5f83db43ed8a5d844084e5
+0cdb17027fc8a0af4d0062a69bcf1964
+0e170eef243ee8d1dcd8ffacbcf96993
+c6f34f58b27d7dae1154358a50032422
+c5078efac75c273a872ef9df1d4962e7
+3c80ad4db58b756a4d046916c818dfbf
+a4746d58f03e53f26e2887c896d8ce15
+1847632e10292b3c9e60e560fd220aa8
+74378ba777c2fe6699a5de06bdc88eb0
+e7bfe3f41c65d430bd1df9f0a830972a
+a5de210937516fe905fbef625eb15138
+a5de210937516fe905fbef625eb15138
+5b1f7cb9e185d891dc469dd7f10ab9f3
+2143bebb7b4182a4e6e028eb0cc053f5
+471968f8a41414ab2316a8304a6fccfa
+d16b49243535ccf3f3e34e3b342fbc44
+2f6bce42b16ef4236072712f84fa817d
+bb93254c093a22c341ed7e0256807a05
+bb93254c093a22c341ed7e0256807a05
+ce54edf285a4108ecfde11f39541d985
+e277d2af28a1f864e241ffbe03023f83
+41736b5a2f98d33f2a7acc429407ce5b
+5b42100beb4309b60f2a354c5b6de67b
+2fcf387a31793f005eb7c66c74478781
+0b9f14bff3210bbcc05a7157d0d2053e
+c96db2ecc74a4ba25d56a0d60eebc711
+c96db2ecc74a4ba25d56a0d60eebc711
+1908dd35a9d10d5f6699ca5b5f7f2ddc
+6b2e615c7b2b6e3f301e836f0428e505
+158afcda98bacb3c67efb1ebeacd5b59
+c4e1c205484d0bee1d16a30ad7d63b78
+f50b7108e4b7dfcd64c0103169e6cb3f
+a4f7efd993deeaef8db7126cac341a43
+3f1ddb6a71bbec571c4a46f4f697d71a
+0f35dfefb25d1a43ffaf45651240bf51
+d398a3b34a24f68d8abb90df4460f8d0
+f9d05e9a003494bccd51314f05b59bdc
+b5234f38797c968812c8900ce7edc0aa
+2faa1ff0c0ff88dba108939051905bba
+90c96e23be12128ca401305dd082aa53
+428b0883a4e2b5ff1ce844694f045b54
+0d59ac24d365dd29f9f881762506135a
+22545f053994c4806852af99fd73f863
+436285b6e95865ea1921297094cfac73
+ebcf3f37a3ee0c625bcff7b254d7ea42
+eb188ebd3bd39e479ac4e98f24f4017c
+ac5203db0012c08123f6a27f96241cd5
+154b2d27edcc3b353f4058dea8249374
+1f1d1a176783abd3d32efbfb4341ae28
+436285b6e95865ea1921297094cfac73
+9327406ad1e2526f0adbe33251054414
+1e741b0f28509a8d2c5d0e3afd6e09a7
+72fd4ade3b126dd7294f2b913b530f00
+6277900b2484b4902977e8ed9c62d78c
+61436a6aba023f330da098c112edd5bb
+0902c2055b2d46e311190dce3c9eb331
+6c1bd1e5adb195b7fa23f2a922790308
+2159f72a8692797713dd75b954022bbf
+7cfe3f77ced5bb65b02ce8603bd5f09f
+8471b121844874b6cbce04da3915002b
+1bbf16c7122141038d183e804210a50a
+d348858d02a33e66c37214fb5f6ee387
+776af6f90bb3d1fe53542bfe90559c4d
+5689684841c3859504f315c26e68ce77
+5e723ff8be16bd28939a273bab770729
+f273d4b1bc3ba1bd4ce64351922f6b88
+10e57e37599938d4be5de1a3a2b54fcd
+659b7f26f873fb468502e763c182ee87
+ef8571671fde634b28a32fc8ad9c369e
+e4c43fab367911e2811c9590fb870cd2
+004c5c403ec425a9e6a342e4587d46f6
+c1e5e47025a669c61ed2a046518e2a97
+59ef728141e0234b5bf770aeca221aec
+e0bf232d38a39b922ffa0f15822693f7
+97cddeda687323ddc048af4c2705447c
+94e35e7750ab221d7503daa24efc2ed1
+18941c4d9193790264535a54eace590c
+522f6992675980b1f31de7e78c79b2ae
+1734d8b78e01644bad800f917ad974ad
+e624a984296f580e98c5a7ef5852099e
+909957dd1c7350b377b5b3a5789eb23d
+a0c2a4a58a59e2ad976aaa75886bfe6f
+5a9af697968550d3eab3e5bf9a4bfb2a
+167cf3aeda46a85ce612755c7bd7f87d
+d7b267ba5cd42fd6d439830b049ac0fe
+984365493373d0d75fddc5a16228e493
+82e55dd55a698007a9ffa87171822bcd
+a0c2a4a58a59e2ad976aaa75886bfe6f
+5d7f870b79dced65f2c4ae15ef38657e
+4534cdd850d3cefc697ef3b716745991
+fd8398c041ef2c0dec1b9eaef1f31572
+c0242707f847d76b81ef8e24d223ec42
+97549c35c421f1752a23160d9a6451d8
+8a1f40f6c86bd9d36fe96d15fd787e20
+72e3d3376917fa25b8d959df0bc80e12
+116e768b215757387f8e589fab3d95d3
+b4b1a95764c00a12712b22900ab0269a
+167cf3aeda46a85ce612755c7bd7f87d
+984365493373d0d75fddc5a16228e493
+d5ed1fff7ba720979263a3abc57d68af
+12a7dc0349d5ac22250e350917265830
+984365493373d0d75fddc5a16228e493
+b2f83a5638da3c6e9185cd935a9b543e
+8c8936db8d10f641c2acb88e3395905c
+d86c8eb7651fe5eef768cb9f7cdef20c
+8cad243f8907418a1e94f661663c25b1
+9037f2adbccd0009891647f4ff4411d5
+058ea0a9c6a35691fc140ce825ea9ac6
+663b96254a0056d4044d9c3e3643c406
+af5cc7bf7b65e07530b3b440932e4f98
+e037dde127e9bd2b418bbf60c512b2f1
+700e6df6854e1267dfd90d7d7f196fc4
+16506203c3ea3bf22d187ee2f9d5edf9
+e2fecddf6fc8c07a8b2f13af5b7b46f5
+8876e484490de22541f6d5c567b941b5
+a51798c7e4a3f35505e96747f8216cb0
+58f447f3866948e9d3073c4a277fbd5e
+f984582e26958ef6804f8dc5385ba3aa
+c18e500bffee123bafd6ba81afecd34a
+2dd59bfada2f28a32ec097ab8d611793
+cd9abfdbb80f5ecd36475c4b3c92ef25
+3a5919e62404b5f22d47521474ce0445
+b426055e505999c241a4450506590f48
+ec9b9db1a3b8809023137bfc8b519678
+5efe3c2d5651be50de7a77420c623a6a
+39ec2d2b2f5c2d677edf5eb458d1234c
+167cf3aeda46a85ce612755c7bd7f87d
+984365493373d0d75fddc5a16228e493
+d5ed1fff7ba720979263a3abc57d68af
+e2ebbcbff5e3aa38786edc5950eff386
+e338a2f6a286332cfa8f9a868ea3ac31
+dc0cccd978590d57e2aeec3892c5ab59
+12a7dc0349d5ac22250e350917265830
+89f9669fe16d9e5d2d644855c0a6416b
+a093f03b05492bbbfde53e40261012c6
+c80c5020f4ca379e366ab5e3e478cf5b
+40ba4d6504f1744040ff6207fae2c1b6
+40e11a7e53ad024e8720675389664a4c
+1e5e32dd7f019a3b3693d36e00b437fd
+984365493373d0d75fddc5a16228e493
+97549c35c421f1752a23160d9a6451d8
+b7cdc00acf3d8415246b077b5695cf8e
+9c5b5e158ffc055cd19525a75a1812bb
+f214851935ebfeef482a44bace907c37
+541982561f551920a0a9f72dbe961037
+b2f83a5638da3c6e9185cd935a9b543e
+d62a598cb24bdcf7ca38bd5c452bc11c
+5b633bc42def72f6200e0787d78cfdf3
+1e567aec7214e2b571e7ed77a8c7e798
+b77a09228ffb85e6a351e751b02ae1d9
+face593f43fa50cf10ea448c1c6cb836
+12cdc21c66b74a814b3f24d043d34ce0
+1c7140a6332b1b747aa73b115f286dc6
+fba51b95e16d542e355da67b751eb548
+9719723db7ff9570d4cc1bb5bdfb0646
+18aac94ba5722b2972323a9f2a935173
+face593f43fa50cf10ea448c1c6cb836
+12cdc21c66b74a814b3f24d043d34ce0
+32a79fe02407f21e6a8b58082ef46ac3
+fba51b95e16d542e355da67b751eb548
+27c405fee93b216c1b2beb35db3a01cd
+a0c2a4a58a59e2ad976aaa75886bfe6f
+2d367b757f6cc9700d9d5f7b9ee083b7
+aa81a429ba27a88ead1b8dbb0b16fc6b
+86c9c22829afdf9e78a98373c9e878d3
+03229dfe526262ebfb29611225deab9c
+0cdaa6a3a7b5b1e4f10accdccc45280a
+7c336f06e418d143fbe7f0be61456028
+4300ba9d73679bac6e15285a438e3020
+ff92071884060e4c843cb60233f1d601
+7c336f06e418d143fbe7f0be61456028
+32b5b03b2bebb5a77561a2a661c11719
+80a1660e5ab060721cb7129381778c20
+00e866c6f2745f385467978c5cc2a4a6
+b2f83a5638da3c6e9185cd935a9b543e
+b69a6e69f54aa8cff69cd05ba296dafe
+666769a8236913b3304614bfe258420b
+be2bc375e02740ffc8a7e505a5c84a05
+6fbfda9bab3ffd05f5fb9b3271efaf79
+699eac3823f4fe655414d4f32ea6fdd8
+1aeae7bd15c5dfd8d8acbc567a7a9fad
+284d05155c7e9b7038bfb4dd430e99c2
+04964e3225a13255adac41568a2e9a2b
+b2f3e08e00f59ecc8087608de12c34b9
+d5ed1fff7ba720979263a3abc57d68af
+6ed2231673c9609aaf6a398c7d3bade6
+f8648758ce49503fe3fceeb8fc91ba91
+b2f83a5638da3c6e9185cd935a9b543e
+b2fa64a125766cc4f95db5ff69220c45
+d5ed1fff7ba720979263a3abc57d68af
+6ed2231673c9609aaf6a398c7d3bade6
+736a8b28ee304336a184d29ecfc321e3
+2c2a0ef53c21b738ac4761a0b78a806e
+6a537c533782730c4e544266b4eff6ee
+e9805e01a9d56d5ccc6e81a34b81e71c
+071fc4078639719660501d9c4b7bc67d
+b2f83a5638da3c6e9185cd935a9b543e
+dcf8f976cfb42f93345cdd4a97c906b3
+bbfa8af04ae1c80c0f8ffe1833acb6a9
+07549dad0dc30cd29078d96688ee7688
+e6f014d29b4b27a1aea20f768e92fdff
+b2f83a5638da3c6e9185cd935a9b543e
+e8945f7febf08adb6d4cad78e825d639
+0a2eb21380c24e0314e82003f3f26b18
+31348481355d9bfea8d6b423f9bc03d1
+11fb27d4fcf85b275f8d33d4e516284c
+5fdab892a4ef41c71ebb7b65db6e2c9c
+5b43d1feb9674536fd65bba62bb4f072
+9a99619ed351912af884076de120e039
+c213ecb402ed7fb32a4032fd075ae459
+d2f1f8249e2836ea44dc9ef89d8cd561
+8b785446fe58e41affa65075773ae505
+e45530d972285c88a0eb3c5d724df816
+a3bb867354739d59f2af57881a495819
+7cad501fa393d231d8be717c0dcfa777
+ba9f011174d2b1cc966a11e7a51ef545
+7f538ec1780f66a379cb79d750a88990
+a49d13e8d9d08ee17ea7478bf01963ce
+91f7ff8c91418bc4d134b760208669cc
+8d40b56db6788ba9876e96cc6486848b
+354c504a40477731c205dd27e34e05ec
+51ad9f491c22c9b98733404a735e29af
+0a9b77864e2ffb9d0762031e8cd88b32
+6f94698c0cefe108b8ca3e07fa47ec7c
+da491b9c25d221efe3a9474023a02c21
+28393b930d9f4695b12341f11a9a6f47
+9b88d2bacea15f8a7932dba520a3efe2
+693e8b92be5bd3ad2d0e688df68a8bd9
+eb45b43eeb7b0cc2cbdd91e7ca6e6a54
+989624a324c923ea40b02b7008f0a8c6
+006f58150bb31964b855c9a002981ae3
+9175b5065f1a17da90d70cb4fa4381d9
+cc41398c3ddddb764272171734f53866
+70bdff64d244aef76a182a7d66cac0b3
+7f8b8d2d299d7c34f5b21f3a75e92646
+ce5591a5f82356ffd805c30320c7d01b
+ef921b1ac0c22412ba66f3e6e08b1794
+22dac8da3275b2cfea29d10d5c816de1
+0713e94304049c4299680744c098bdc7
+d4e8b1e6dae99a280c2fafc96e3cea4b
+a76ed6adb25c9856bfda30fe347315db
+1e087bc579213316a21236b8f40d6174
+13cc71af0a50dad8662c538543336d8f
+57575ccb1ceedc829de4122c186185a1
+65e323003b6210712aafd87a61df7614
+98b2ed6ae8d5a0ccff47f9cb1496b606
+f1d55ae405e178c7b30b5e20e3254d61
+7463541f109692b78eb1b43c50d0f69d
+4524bf95ec8e25d49d6a0a760629ba6e
+c256e42cf69f8dd6ad190a737f5cc597
+8f18ef54b03b3ca2354e9735e6e9d7e6
+d9fbeaaff0e973775c71c1763ef88b58
+acf84e3bbe067290c07128a0519a9c50
+e1299baeb662d242035a769e448cda6b
+df93e8c673616c9bb8021e877028d630
+afb9a11c4382c0c51503deea7389cdfe
+ce8940de4745ff10db766204094a36bc
+bdc2f085873b11c03d554bb3cb323c9a
+329dbcb02b208b57dd12aad435f536f8
+cc806805055d38b7b34fa6c15e90bf83
+c2dc2064baecc9528c3b639c0a0c70fc
+3d5577a7dc7a4ce425ec1a912b120b48
+d7b9980eaae1561df7b3e07257d9a378
+e53f73998c4bac363a33d941f09560f0
+707e8794a30843636bc576dfda741442
+175313250cacd9061587615d879548b9
+dd59e84e0d5802960aa3413c792faacb
+a5dbecd471ed265fec6b64032499527d
+34c4ba692f858e830ee08ddf5931e445
+77ca846cf7039d05e3a28820d4b67ca3
+980054e116b7e39b68a12809a5365fe7
+9dba6ebb99703ff89a98c4d3b00d3583
+636e00fda8a0e8a576bdca0cda9f88e0
+606b4fe7f725ca99f1d132b856254063
+8ae69095f723c323825a6fddea5e101a
+09e9a309f2e706152400f222ffbb2abe
+cca22a129ea2a714e7e2fb21a28d39ff
+54bd65d88fdffed97f6d167b6a7f26fc
+3efa1a0ecde660ae97526f092ba156fd
+6862108d44e41d88fdcb5091e950646d
+f671f4da082afcb589f1c7b8f3dbbe7a
+dc1e4354964236c68b258de5d73103b6
+9c5f80d49b0f338c27f530ddfb8eca11
+b5af2d4794e79cc68d7ad167347d2d32
+d01dd7d0bbeead4c4c96f7155c2c613b
+e6763104f65bc4666d1414ea64a4ea5a
+d01dd7d0bbeead4c4c96f7155c2c613b
+1d8daca05c3c61720e7d7e694407aacc
+d01dd7d0bbeead4c4c96f7155c2c613b
+1d8daca05c3c61720e7d7e694407aacc
+c21b8fa904cf8143bf751044465a1d0c
+63665fb68408eb5e360698d75958ee94
+926b26e414ced0204201453324023c05
+04f272908a248a5ce7604577f71e7d4c
+752fe94ed319aa24a79b7d25475f0444
+b4c976e77ad88eb3b8010a081c3c19cd
+5c3483011c79ff0292a340877c64ce11
+85a1fe8b2d7965d8a963dd75a5730a34
+da753c7d3bbb7e20a87646103daef954
+3f1ec40146f2b947dd0a7c9f3c6d7277
+00635941bcd48064657ff0b3a3fe4206
+f5579df6dd3f7dec888f77b9b7c8520c
+0c107ea538d044e01066492c23855c75
+c02072801f0eabedcf6fa0056f5b33cc
+2935398dec19c579f3a548d5a4c9bf92
+d5b42d4f7dcf750371475f95e3b593c2
+15bda541ace8b26cbdb56865aed4f156
+00dfcfd934756fb7952143e3730aa264
+675d5067c93711f3981688f2e2743478
+f1a7c8915d1025b709cd822f24287fb3
+fa68dc059f221ab9dfe024333207a2b5
+6f1cb7e06ea99d7db1864d64d7fa12bb
+81e19938a44a6cbff913f4dc383bab3a
+471eca62dd7b9a9fd43084ddc6c2f97c
+d4c103713be755d349df4bf377c2b327
+6456ec55c83020887d764fd646968893
+0c68e2954736c59c88edd12d7f2aabb9
+c03cf186abd7ee3edc45d3884e6cfbfa
+342f683efbc35551bb16269f3b7b66a0
+7a3beeeae9b723a1b008952dbe614582
+07c3942164313e359cef96ba9a66de13
+d0526e18281953dc1e98453068799805
+a031148c3611d1f16d6a414c19dc3a85
+0e7433c32d0f59a8ec5a5caf2bfd1648
+553dacc8769274d305b129338180138a
+4c45cc01b1f280bf9ce327e06e8a7df6
+5675065daf0b9ce338b412b5410d50c7
+4a0ff3d4f5789ae61f51bb6456f14195
+bba25b3804bd1af875bae6a4f0cba142
+79e17d8612e628d7b84f9a672b2a63b3
+eb2b9e9b6b7bfda14ed1fc0aeededa40
+bc49095e6ca4edf7c5e1f10c704081d6
+bc869975610866810e685e0334f8614c
+41909f79866e628ee8e5a8d10e50422f
+269de3fe2aa7e27cc7c98b6e3b77a427
+30c32a1d762d5223037dcf7a52be4799
+4667f09d001fe727df0d3563f07a9d9e
+9b8d0a2019dc0e3967eb0d607ef4cfaf
+7231bd30c6ed22a11a5aa31066ef7904
+8b3090c701731cf2ed750ae995a1929f
+7fc33deb3802846d55da51436bf88ef4
+4b93e6c50c51bd875eed0a74d0f5435b
+acfae6ed1f6201644b2d4d6115f83889
+a54b1a9e1ed91e638849f578c0d6a988
+888dcfe19a0eca60da22128d741b4a8f
+54a90c6110b7207e3638d33c07363cf7
+9d918400a3688ef31d85a6b44db54425
+f696b2d530607c62404feb70a64a90e3
+cc01af3fb1c824b0b65a03d16ad84cde
+f7dff37d5b350a10d11ced82b351ef28
+6e65ed9d989b1538938bfadbfbb0a470
+fd7e9dc51844523bb917a09247155966
+ac73f203b90245e13a53b137516e7e05
+1d6ef89b4978008ab3efeb758ae9da13
+3bbf76231517c9f066dc82454876aab4
+c8ce4c242985642b45f95e6a4df3d42d
+d610c219af3f3b8b8db3fbc3e42ad64c
+c398a698925652f8fd87e151fc18b9fb
+2a67c3d985815c4cc1c2302536a6664a
+5d9bce084c12c591345f97c5c34df191
+6fd552671094c8e0633ff81f6a7d9b6c
+50e56b978623afd20ba2c0bbdf931037
+ba1645e472a9127ab89cd80ed602cac1
+d359e28c3342e1f27809bd3deb85a119
+b6541cab688332b26cce0ab27f100033
+7445e54d612114b6c515939f90aaa846
+ad517b2d2ff001ca97ccc9ceb2c0f34e
+bcb32188225f1bc8c2344e5a21635286
+c783fa078ba0b409e5b259c4a64cd477
+96f57cd702752010193def56b42ab8ef
+bbe45356689aa98c6677db2db37f5da1
+cc01af3fb1c824b0b65a03d16ad84cde
+8a0e9adf732adde6f0b63bb1934f7c32
+068202717a7589a7af04821e2d87d07c
+77ca846cf7039d05e3a28820d4b67ca3
+8b24d98c4a41a13e0c30bf4575b14b58
+efd30e825c5da73bd8dc843dfb61d789
+1f1041bf003ba0d1c76dfaa0fa1ead2a
+6eb9b9827a9ee09141111d9bd35b9361
+a016d4e0739d83c3409da079598b1928
+dc6735f54d83b29db7b87c3c850da35b
+78e8ca4c7ddc02403a9c495d8e4bed7d
+31da4bd3783af4f13fced213b840146c
+46d7a1fca40534d7cfa990b91583fe68
+b3fb2b3bdfdcedc3464bc2587525c4ec
+83ac8512c5bee0cdfde2aaebb0a35e58
+cc9a479276c5c36aec7474a71ab9a133
+7bcd3b82f372990807c3cfed7f94e5f5
+7a336f489a3942ba0bb901d1ba8d05b8
+dd2a633535553ad895f96cb184a6a50c
+4628e69181d363b4a637294f06e06d2f
+10dc67348cd436d3222afb724f7ec0ab
+f8c98f4cbc0db43adcbca60054b5f22d
+dc6735f54d83b29db7b87c3c850da35b
+32c0b64249892912e36295f130c0413a
+50e56b978623afd20ba2c0bbdf931037
+88ab78225c7593573985beafd4d7cc09
+256c5de325d19688868052ceccf32d90
+bed2054aa1ec1000e3e68ee32a136a22
+d42de54179c646a15425d6ad5e8edc66
+cca0dbaea80c803e476f5b7c7b879ab0
+d25715835d1355f4486d34cd637cea82
+c7345127feb13ab4365fd9137d6639be
+bbd8ed8357e1ec0e7837f19feecf237a
+b49d06ac21058cd50e9db8fdd6e46d71
+28c7fe4a9267c1d6ac91e0f719941482
+a2e05b34b5d5d571285959d1ccec48bb
+95cb535cda194dee6bec3878dd15856c
+e5ffd96285dcdea44cd3e19859d468d1
+c07394281334846f2e197280a900de83
+fae7cdc0cd5e4bc7c51415d0634f1747
+f8c98f4cbc0db43adcbca60054b5f22d
+3867e8731c4aca2786531ee7dac693d5
+dc6735f54d83b29db7b87c3c850da35b
+9523c014ecc02b500d2a307dc587802a
+c0773b6b9fac64af23f15689d9f58538
+fa2e364b07dff11bff2ae5bf909238b3
+261580efbe1ddde38d92298c15c2c9b5
+1c66ba15e148a9686219cbd0973d61e4
+f9fb89f3be3186ed6d0c203cb9ae3548
+644c07ae8cf5d701e0b62d154c77b0a1
+de83c3ed4dd1bf297a350d082b52aee6
+445d6ad1d2e3143700de89364febe386
+1bcd85e41019cb86eebada0863b8f97a
+dc857ed5be47abe126ff1709814e93f0
+064cbdf9adb8f68d7bca4e3cc1abb4cf
+9f2f61b43893acbb572e064c7574f1c2
+4ab34733833e416161a7273ee1f57702
+cc01af3fb1c824b0b65a03d16ad84cde
+77ca846cf7039d05e3a28820d4b67ca3
+ba00f903f611ffe509b4c7faa72d6908
+12f25e19d299bb2bd11a33aff7954201
+9e5cec30928e607e204c7ed1862fc712
+c0ad7a8e2ed3465500d38168446ffdb3
+f8a1da0c0c5dab4a4089f55768a0d00b
+c76a1d3797180b0f2ba498e68f9f3091
+cc01af3fb1c824b0b65a03d16ad84cde
+e2975f5496ad6525c2720115fc8b594a
+cebf88d09e72f3f23f672d01522469f4
+410653765f715aa0160149ce7e1d7300
+a055858bd7f02edd884acc56a2cf9300
+6b1359b4bdddb016f2586e0ba25ff637
+7060897beb639da81d4ecde3acb13664
+435ba46bb8081cbcfd176d3bfbdda335
+7e8d3b0984be3cbdb6fa765ec7e16f04
+1e30a55215ab948b276b59b12924742a
+e2da2692b978bab53298cf42c8486981
+087be56cd282e1b9f16f7979d19bc27e
+a0121ae6b10ac802c137a88da736a396
+144037df0de88269e1118dd39b45defc
+bdc51b65398f8d5f44a3f8d974fd3da1
+cc01af3fb1c824b0b65a03d16ad84cde
+f561e9e0dfa29231ce47512ba6e59666
+644c07ae8cf5d701e0b62d154c77b0a1
+d2ce91f8fa7f30179e58a9ffabe40e1d
+f9021d3fcd182ec145a61c8906b42e1c
+036aa8e28c9a846fd0be307a93ab42d0
+511011ef12f5ebf753f3b88d206ee7cc
+1e0ada8841add85b915414c382416a0d
+42c237dd3e5177210aa4595e093efa66
+44f730f0fd250085c0d69717b945fb5b
+faa1889870853f69edae610ee98b9a3f
+42c237dd3e5177210aa4595e093efa66
+3a0a3742f40dde9317168055f01b5190
+4b4957d0c8b567085a87bcf59889f6ea
+e1b25122cb1ec5c856df1472e7af5be4
+95e861af387d86e577ea0c7c37057fe1
+d5e97f3fac36de90a113d9fedaaed670
+e1b25122cb1ec5c856df1472e7af5be4
+95e861af387d86e577ea0c7c37057fe1
+ad7e6efdb4578f657c014712927b3fd7
+77ca846cf7039d05e3a28820d4b67ca3
+02e7959dddb6b0aa0f9d2ca25b6fc2f4
+81241e9e135a71d95e1cdef0859f57d0
+04d820733e43d1d0f09b03c90f1503bb
+024a7d0be9b3bb7a203380ce81409c1f
+5b3bec69422ae5ff6d8ea632cf46af18
+6bf3c1f4a9f5dc5c69528f1e173f289c
+d482d44075bfc0fdf25a92061dfbf938
+919e8319fc79805c0fea8cc058b4181c
+6ce6286e2d480b8adab1e26070b1e1f5
+597a3d9ea27c55fa62a23de84f6462dc
+9a649ba6ef61ea41be9795879be25565
+7da098f8ddd900540fd6bfc326adc331
+62222158f43cbe94487a4d6dcfe077f7
+e55130574f99eb5aa88a914f8a5d453b
+448a51940f6312ebdc20c691f4da9efe
+ddea39c159337b3861e6eab695abd8e7
+bcafa9c0eab512f2dc054baba136a309
+b1fa57891c0c5fdddc32ad5c73556b00
+3e337e40306076b85e1233fbcf79d6ce
+74ef58d1c342bb18079e5c41f5103f53
+8f844f39edb0ece81c20f29af04aa466
+1c5c657d2bc25c2c12ef8836b0ec57ee
+aa3354ce4390d98adff3731c897367f5
+076a477a3ecc5326bafae25eb921e885
+73c5a007eb802fce38aac9e1d93e6dba
+48ad016044d3c6fddcac72638493b721
+f9598f28e4111163f04fff08ec3f3ad4
+0fbea3ac2edde5ba699aee2f2dc5f56b
+133b119d5675351e40461499c148d5dc
+154b66ef8d8242158239534be9e9759f
+367a6141c52755d38b778fe6f8524bd3
+cc01af3fb1c824b0b65a03d16ad84cde
+99ea3a03fc428f7eb5385e9b851516b7
+3fc83cce0898d36228f4dbb95b0e1a5a
+05eb5cf6719e5c3f0a1ced376708d7b7
+961084c21f976d51d5f36ed1fd9866a2
+0773dce23c7a6e0de20b9b22e279351f
+dbb2c1521afe6e847ceb7e96d98469af
+c0be473ae35d0b01e872f720fc8bd548
+8a70385a4cc91f1db608c53796dc0910
+cdb51ce41a13ba732773b2ab88f5d266
+3850d91edc9ca2a0fbd3bf93ae212189
+cbb9edab8eedcdfe31e6c5722105c26d
+932b2ae616014f1aff397e1f8cfff2ad
+e52217b19442da75bd2f3a106df92341
+b0810ccc4e3ecd8ac4cc836b2341cfcf
+837375e7195a5c814f1e07a203736169
+c295221ac719bd46fddab9918f4ec714
+a81bac8f9c1cf1bcbcdc348d5a02b3f2
+76021a00d6307ea990b7cb69b9f41172
+16071b9a092aa0d8a0c0324534ab144f
+3e2e7fa470661d83abc56e205b56fb34
+47ad9e2a399ab071a97c328064e2f28f
+77ca846cf7039d05e3a28820d4b67ca3
+0a605aa4920fd7eb896b48545ba0544c
+a51db20c4fcf1802cd069d2fba8499a8
+77ca846cf7039d05e3a28820d4b67ca3
+3e2e7fa470661d83abc56e205b56fb34
+928a2b79987cfd7bb06b0a2e8e29c29d
+0a605aa4920fd7eb896b48545ba0544c
+47ad9e2a399ab071a97c328064e2f28f
+77ca846cf7039d05e3a28820d4b67ca3
+aea5e8a09d7504a91d41ae3028b1b71e
+c353e95c60526a589542bd62818cc22e
+29c65677cb68bc7be6ee8cf087ccc0e3
+5aa0d16788fcb08c4702108604e8cade
+8465a70c03d72d2c6d0f585029c65904
+4c00fe78ba87d17b137d2b95deb1d9e2
+77ca846cf7039d05e3a28820d4b67ca3
+8b3090c701731cf2ed750ae995a1929f
+0ca2e617281f152486f201afe64876cc
+74ad78fe8f8c64bcbf235058330c1ed6
+510b7bae484eee5adc9eba8bc325a2fb
+c51c46dca101df6f57537380ff8e0ee0
+e8ff0c94a251d21e674460062322b6f4
+5aa0d16788fcb08c4702108604e8cade
+711252f1bc44e3eee4142f9fed2be696
+d7b11d34dd2ad0ec43bfd569835950a4
+c2a435b10652e9f0620b34ef927a7e15
+0f95ec56a5f79ec0c4f2b125e33a52bd
+8ea666351a1396843dec30d3fc009325
+1066544dab80b9abc1cff72e794c4ccc
+607561129c1d26aba98105f89914fa8e
+95e2dd4ccf48b3690d4bfd8d4a65d0c3
+2c31b0b7bd7b21afd18e530660ba4ede
+f58b62ff8a4d7016cac31c5fee0d0472
+11be28ce989462afc9837356f0c9466a
+7e59bde321ffc0bf8a7a8da71cf67cab
+defe75832ae2d0d1e66b107be0a4bef8
+8b2b73d9fb451d51e5bee972d68b8c8b
+2498e8e557ac99f3027507ca419f61ba
+0e36837d6ad87a6919cdd256e3d29f6b
+02178fab8eb853f8246033890e87e7eb
+73bbe1de1ecf6b6c7502e489ad354a80
+793acb7fcad7bcf470de201a65df8462
+e90d92a426b7a8da204d70ba74a296af
+502396b155bde044c55da4dcff910eee
+644c07ae8cf5d701e0b62d154c77b0a1
+908758ef29448c09956dc50481651f5c
+38417ebe26d020c9f3deb6783f568243
+a29c764284c9d27483823bb9fe3df2ce
+fb85635b3461903878be534ebe8407bf
+f031d277308d49afd34d09acc1bc2d0d
+49055d60481ec7937b8f01791caa0878
+3584f930168658ea18be15dc084fa707
+3f694ca0a20d53ee3c5ec36e03deb01e
+029c9528c25aaaea696d68927270e4b5
+52042315db8bf54242b14e6cc2cff0de
+bc2f7365f19099cfa6b6e3a403fea03b
+8fc700b043b0890a58e6f52086cae8d2
+e851ba775fa900c95268bed390245b21
+b18eb8167a14c6bde5b0b74678b9c04b
+8cdfe0fff3f7fd56df203dd0429a7dd9
+3ba9d6f7f9576b8a3e3440872d6f37f3
+0efc955c4651593610b0ada90cf8f513
+90cd5eb871fd89692bea792739c76327
+94158545212cbbeeea6adaf6195823d4
+0d93718e028fc43acace19e0bbb5d452
+4361db2260906d595e6c367ae44a18cb
+82c9813006abe214c43a8b0912002c01
+80a493548a7c981b498ebd861ed97b90
+041a2936bfa91e9de1c6535238ffa788
+ed3f2a7bc135e498a1e42f726a946812
+6ca9e1e11425b6b06dce72f7b272c82f
+e8ee0d88dd32fba06f8073681c1fec68
+db2f2d7d1e80f0daf607495913021bde
+12361783cd5ea7a44781e6794c287771
+831b05d2e0e356e9ec245aeef75e20e7
+088fe87c177385f303e969a6f0988882
+fed91f9456d9947281cd7a53f32caee4
+db2f2d7d1e80f0daf607495913021bde
+2a8d30859c043fd373e0026711dd1ade
+a1c65ede7d61e1bb874a6778c438fb0f
+db2f2d7d1e80f0daf607495913021bde
+a5dbecd471ed265fec6b64032499527d
+8ae69095f723c323825a6fddea5e101a
+3efa1a0ecde660ae97526f092ba156fd
+09e9a309f2e706152400f222ffbb2abe
+c9ce4e931efc3dc6aa12b7a59dfd60ba
+6f1b2cd0bebad89a32cca501c73876a9
+d91aa42e5bc1f136db7bd9770ffbbaf6
+7be5bd3dd8a2f81b0eea76806bdd3be0
+13050848a305dfb1fa21ea765a188ed2
+19e1c07ee415825a0a1b90277f7508f3
+81ecf6ed02218835387a9b6f2fa805e6
+44de33627a1da8e1e33f172eac72e6c9
+afab57072295ef6ea9397ba418d715dc
+0bdfe4144e2cc39939c00e578d1be273
+bac4f9c447a54dcd227b62835cbc9a5b
+c9a1a04253cb4a3a4d9a12c1113d9795
+b1721c37c4724bc604f4f8138142f1a6
+ec9aa4acb14f51711d2961ab6143781e
+bb774d4d36e364d04cad92e391e1098c
+ecae93971606ada9eaf5b140050146ef
+c39473cd8d06d8afa9220edd8a0970c6
+34c4ba692f858e830ee08ddf5931e445
+61d79f70a9eb6572d13293d434f2e963
+19a42e950b342822daee9b7471d61621
+e5998edafb94ed10847930982dc4c72e
+50081e8f521ffca9c69251f8a025c34a
+70c8a636e32e2bdfe204a762cb31d6bb
+b82140627fa6b1e88d4343929c020e34
+eb558d093e34e966b5019d13e4af1994
+24912148818255032de2ae146f01b61e
+7fe5e009b26754344d46a9fc324f5736
+8bca118446040be2a796ec04bddf8c79
+2642920cf3f0e9d18a5abbc00ad05b69
+5acaf585da28771d8da9e2f34de18bc7
+83423edd56d8a3f37786e412e8881a08
+2642920cf3f0e9d18a5abbc00ad05b69
+a031148c3611d1f16d6a414c19dc3a85
+8bb29b55e9467ee7aa2eade45f37d7e2
+aa9356d3b06fbb9aaa58d0aaf451079d
+187ec1bb328df6874b8ef18c4f56ed8a
+e4c3cb698b0e651c92ee498a4ddd702e
+24c2c758dc5e516884c26cdec45c2782
+f5c9975ea84eabefb6b1c7da75e27a3c
+c094a9387efaef1e0c16e8e89783d836
+3a98930c43dac1387caea4dd12d58126
+659d19782db6d44bb182d0d8027d91ba
+1ab5c83601f998bc2a6e223a848ef7e5
+754f1c51d46f84be2a93db57958b7249
+22b60311b9c5203fadd13b987af9362f
+aa08e41dc8b6e27a27b4085ab7401c1a
+cca22a129ea2a714e7e2fb21a28d39ff
+d4d0ca53749e6d5bdc76c0b87d75f58d
+dcccacce0aab79d30d0477e833195f85
+858668204316cd555ccf8a91ce96684f
+a2571796e0b0538bf805329a8e368f33
+002f4817cb29e18012883184cde5f8f5
+ed4dc99bfd986c441ae60e477c82c6a1
+9f807713ed8b27a26270c85d9511f2a8
+73265f523f84be4b9ace47a6d20979d3
+44ffa6e642e9ea504c4ef2f38f7f9e65
+6ae64be93de32d0094ec301952ce774b
+6991aa505c76aad64a2e7318dd264542
+a841c18603c868270314b42e21631e68
+77ca846cf7039d05e3a28820d4b67ca3
+e049f286d04e6e1382d31ebea650c29a
+d63c83762cd873e61926170064aff9ac
+9cdb603e7d4b93c4d40021ead9ccd653
+a031148c3611d1f16d6a414c19dc3a85
+b33c24fc170a6cccc6046aa5657999f5
+499f973424c69620b9f93a8f44996f64
+b33c24fc170a6cccc6046aa5657999f5
+d610fb3a0abac06d102d6034e4ec3c9b
+78c139108ad89519143906e24946a06e
+217c823caa6da2ba5228e58203463c47
+2b21a17dab2a5a77f83117ec77cb0db5
+0f6ebf3ba151bd2ffe643df0f7d14478
+4833afa6707a9c790fd3613eebd4ddfe
+701b0acefd76fca4853b05e4fb967ce8
+434dbbac94f728592fb2ee563600ff6e
+969d65d74a2dc8b504496607acd885e1
+3ea700b7d8423e69283a6f7d2c180cd3
+523d1f55041e5b025b54f550387d3ca1
+cb1b37d75cd57871c56ec9bb9d079b0f
+7fc065d63d1adbef8ecf2ec0f1d27705
+8ae074994eca15967f5817913f93bd23
+db3c377033bbba261e5cf68e14657f6c
+32521755ed43e9bf43629367fb058155
+c2ac5655b72a2c25689f4c2afad851de
+20324ef594f70c6935fa9adc02bed606
+9914b708d749d49362e4603a125aace4
+09b1d572a6a097a11639187b4505ee5f
+6d4a6209baf04924a8d59b2afe480491
+8d24b75e1f3256ac88bea0f5edc74d05
+828c1fe64d32665bf1ecbed21e3bbc66
+f2e78d0c8ce4f39065884480e0476950
+3b7022ddbad6c0dff0f4d1655b2a32d2
+3b0e01cf4253473485e884f3b9ba54ae
+7d30263291458db73fba8354547c5373
+6acef721028a3cf413c01aebd82fa874
+5821cb708eb734479902da481ccd4428
+d267156072338ab172066255e48619b3
+66f4bbbc6ea0891a2668ef458fdb97c2
+62944573d319451eb8ae40468e3d28b1
+65b86c57c8e4a3b43a8f42d38ff49221
+2db262837a128b344c80784db5da26c7
+3301a13fe2c3519fdc32633c5e83e14e
+8ba274fc2e724924cbef31d1f8f3171d
+7f94e4ee021fd83d4a4965482312601b
+86498fe463c3bc7ee08c7f7b01da25e8
+8a625839bcc273d842133ebab6ca324e
+32425017d0bc58e858446f0918f9a4a0
+01f55f651bd334a731063194650dd579
+8649883f74a38cfd86279c980fdf3832
+fca964165716dc0195394b3821df497d
+910531a6fb3364488110a7c71d5d4576
+e85607bee92688140f6fb2f67511d050
+25947e086a544d2d6e9ec480e0358db1
+78e2b8e8cb5bdb901a4e0405b36c2582
+39ca29adc9f523389d40993b4d673484
+47e7886b8c3e2cfc58cd6ebd0034911e
+48f44304d36489c1fc584914eebe8d30
+962f00d3b95caf3b86e2190255a3de9d
+23ce90c4050ac1e6c1b114f127815030
+2415cdc197b9417a444ab5807929b247
+f06eddf17d10d96e31cc69cc18deaf44
+ea1fbdca4be66b48db6c6109b96f8ce8
+447b9121e8dcd527de9da63efae6e1e7
+70d00dde61e20b1822a752499342c68d
+e7457334832edc61d60dc5e7a3244c8d
+649a73666fb64f9f7fac414f221bee13
+c435c940a36ecdb418dd7bd32f149910
+d82fa97bd93d12f7406fbb40abb29993
+1f3f38fcf06db55df1d0986df5ffc2ab
+6690472d6f213f22404d4be3ddfc264e
+04563a3e5532b6497e54acd2e9a3dc43
+5d9ae73b991ab06a9bea174ef1451471
+9c7433935bfc296252ba394a4f018aba
+1f669f459fbb8b79f84d2390b118d81a
+16aa35eacff10ff741a0492c373281b2
+4d1fee2984890e4e9ef0d3fab94caa33
+e84cbd5d95821533c7b8e9f82a82a1d8
+45b20fc4686b242c305999f62e22976b
+4ac0adb6f9902821a599fd55e7019cf7
+0b52c931fde886067c44bb9b76a22afd
+f63af86d74bae15de403acb4153c7cf9
+c688694c741a66e6bce48ea47397acd2
+5f8a832a135fa5800730a430f303a922
+bcd7e0c22d2fe0327ca2da597a3d185b
+0238fe3f5346f3e535f341e371c004ac
+f192995aead6326a6adc8765dd27abe6
+61e8c25352b616550264a00de412f629
+2bd562712398ea3b51e208a7ae0ac39d
+0b5198bf0497187cabaf1d4c3859cfa4
+086ed3df84ce6a0c65b43fb14a93ae28
+f68856710b4c87e46414190fd7ce145b
+5ebbc26ad878089e5894ecbbeaa8685e
+f8b6b7db19411324892fb6068cc03804
+f3a32ca2195c0681378df5df84484dfb
+f004a212a6dff21b21cc55f3524e31bf
+eeabe6712848df026d10e81116aa3dbb
+ce9839b65052163a3c7383e39b1028c7
+37335da843879b73b40681aee93bd168
+4d9258cef7d4d4fffd039bfd567e4be7
+6843e1245077a3f9e07283ff1e5e1119
+49968381623061a1e844cc4bacf8cf7e
+c28285c92eeedbbd3f2d78d35e8461bb
+65e0f14390984b3a60c121fc8ce40d28
+753e8b74b3edf968bbeea25ea94673af
+afbce1fd87efd0f4c0a21e0089b945aa
+6fbc840f00ea95f03b2fe5b09fc57685
+d5944f4716933c8fe0b564656d9e1e9d
+98d3a9769e54c38f562cba9fabdc6654
+fb95833e5e80f8123d426e8c423231d7
+fe54be016e43816cece41eee67a8faa2
+efbc7e4888daed79f31ae7bbe4c0d76e
+befcb844e18da033f57d70b53e865ca0
+452b4eed49c4a53a1f34efb49563a42e
+3f05abd6967bc0da8e74821dabb18047
+a1169db0f9b7bba2e2fbd403b26b6c16
+afc558780313e48f18f865d11d94845e
+82743871e22d511875f9a6a598c48e78
+c5e7c3922fdedbbdab0d7aa4d146db33
+c55fdcb4416c1e2e0d2e497c8d21a23a
+2235c179e34457764cf730c2eba4b34a
+62b63fe2d8dd9930aa47fbfe49cd50a0
+4631058f7b5615eac2e902e5d33d7d7f
+c55fdcb4416c1e2e0d2e497c8d21a23a
+62b63fe2d8dd9930aa47fbfe49cd50a0
+4631058f7b5615eac2e902e5d33d7d7f
+fa66e76c943563d2c63ad5ff7368cec4
+e3f319a2733f6db0314c05267a8872e2
+0cdf68b1a2c85ac211c941ee8359687a
+2dd6cd38379f3fcfa0d07f05796e7333
+1c7eb9272478e0efa6d3e98e21fefd0e
+5e661bfbd2a0195ef9cb01d55728f478
+25426829b76e7ce2aafceba02c1983dc
+b8fe9f278552c6177cb5fba3bdceb451
+b8fe9f278552c6177cb5fba3bdceb451
+c1b27dbb62594102ee12374735ef30f7
+6c3f1fc67d2e60490159a8bc93279559
+ec6ed116c601e5e765a4ca16afbd6f0e
+eeb009cc56f38823c0eaa19d9ef61fce
+af4cfe8c138b7ce5ef3ead91131456dd
+c13aa272bd314c61a8303672f0d459a4
+a89d83ac47b33fcf0201099d02403680
+342f89cbf11b18f009c3a271b0fc0e36
+79eace05eb8e1cc90e780d5f52885006
+28da43f496247d83c7013037ca04d4d5
+da38abf2f98060110119dc107b2fed96
+28da43f496247d83c7013037ca04d4d5
+0431abcb5a6d5ea03904c1ef5d27b003
+c27e31d58813afc87c07e20a8cdb45a7
+c27e31d58813afc87c07e20a8cdb45a7
+3c0de008dfcadefd013ab01ae6fbd9b7
+8404f1aa0dabe101ea4729a593e1245f
+38396299f9cd563dd7c0065e01b75de1
+7fa0311f544918221c2a8d5627490466
+7995a2ec779f68d814a71ac822a9d535
+57a99a51912aa7f1733baf3777d926a4
+009a7ac023fa9b6d5caece9600102f75
+9a702979f38d316097f3bb030cb71284
+18f8ec13ed5973948468f3a009749369
+9a702979f38d316097f3bb030cb71284
+dc236a522c71c74d9c09f9dc7c7afcd6
+620e66654e977bd181b887c46d6fb621
+e0f479096aeaed9bae7c0a41d6c10826
+405e83323d5accac913692bb8cfccd81
+5cbb0a146952b052077fa317336367b3
+0a229fe63ec834f667b0f0c6541dda31
+e88db0b68cf459a2a390a6c4739294c5
+781c03ad638448c90887116ba5f44475
+6ec90317d0239854b06cadbfc0c6eee0
+e6bdc44ef00bd4ff80e3963d5f49ba89
+b87063bc01de0023381d02d668d4ea2b
+f9d3a68ec3e80601019bf296a24199a4
+f2a24b40cddde338528166a0c1116a3e
+c5ccf86d9a78db1681020b2c6039d297
+b6654e5f628dcf2174a9481fbf38d3da
+72012e229ac11e6654e672a526699e67
+3af8a9fdc23169433905c59620fa6fa3
+2b99fde2c1d9df2aeb6783baf43f8cc6
+edbb77f6897886a998e5b07d6ca24bb2
+cb3d4fc6279d2d2500a1ac4004051506
+974e3959e2d4f3c222d7d18bfef21fbe
+84dd036bd72c2206215e2bdd76754f7b
+24f67d9bb49d283c3c4c8deb24bb21ce
+038d210969c4de8c806c6d799c415148
+038d210969c4de8c806c6d799c415148
+9293f14f8f3de0c3b0bccb1445fae4b6
+9293f14f8f3de0c3b0bccb1445fae4b6
+90c2e068b79f45a64e92f0f6251bc1cb
+90c2e068b79f45a64e92f0f6251bc1cb
+9293f14f8f3de0c3b0bccb1445fae4b6
+9293f14f8f3de0c3b0bccb1445fae4b6
+ecbe22cde7a542950a866f3a1721862e
+ecbe22cde7a542950a866f3a1721862e
+9293f14f8f3de0c3b0bccb1445fae4b6
+9293f14f8f3de0c3b0bccb1445fae4b6
+9293f14f8f3de0c3b0bccb1445fae4b6
+9293f14f8f3de0c3b0bccb1445fae4b6
+02fe1f44feefca49bd80653d01603676
+02fe1f44feefca49bd80653d01603676
+12b66c2c6349a17ef1f107df6c522550
+12b66c2c6349a17ef1f107df6c522550
+253da86ae3d583c8ff6b1c9064c8ee05
+253da86ae3d583c8ff6b1c9064c8ee05
+02fe1f44feefca49bd80653d01603676
+02fe1f44feefca49bd80653d01603676
+058a44d030c6908339a003844f8324cc
+058a44d030c6908339a003844f8324cc
+5295c734f87ce6e2cc8f4e7a9998c5c6
+5295c734f87ce6e2cc8f4e7a9998c5c6
+dba232816dcd576981095efcbf685dda
+dba232816dcd576981095efcbf685dda
+712420ed0f9ad81779befb7920347bae
+712420ed0f9ad81779befb7920347bae
+253da86ae3d583c8ff6b1c9064c8ee05
+253da86ae3d583c8ff6b1c9064c8ee05
+08b56332bc86e2379095318c92216369
+08b56332bc86e2379095318c92216369
+d085e270ef76838de8a5fd3c5d1d111c
+d085e270ef76838de8a5fd3c5d1d111c
+e42213a383c0c0151017f4eee9fd5c83
+e42213a383c0c0151017f4eee9fd5c83
+a6ec1585bbcd804425cdce5804c7190e
+a6ec1585bbcd804425cdce5804c7190e
+3b9e9363dab5ab82074817e8d18cbf2e
+e7932e65069e7c282cf674dd78680c46
+2f05ea73c7bf2bb5933fe8332266fd8a
+989aa9e54cd4a45e8a89c21e7db1cb3d
+49f2afecccf28032c166043cbe171493
+65c984fe872dfb2ece0dd6e8d87ac97b
+e6d9c9753f44c3f442a14ffa4507d5d9
+c5ccbde6712f2c34f2ec22f3eb233106
+fb1c8adbd89303abdac841c6f68a8e21
+4da3ab429538701fea8a5fccc0068072
+3f3b1f1eab83955d25c6479a74c3489e
+9f26e5261e2612fad90b4d67df09b976
+015da3cc52c53491a09c082ccdb84c16
+9e520396e68edaf955b102240f25ddf6
+09d2a533cf784f3a4365005066ba89f5
+a77c5560f396943830e2e22626ecf069
+2cb00a0c8235e944881c5b0ea20da831
+9db75ede9b28ca37aefed150ffa7e778
+4082e8d3691cd43ea65b84cad7a64fbf
+57a1154d2288e8abd32b4134327ddc4a
+7d9abb4a5d41c9efdf5122cd7ebe166b
+4491abba46172b3f160950c10e0dbf41
+73bfbba82ede33c06ba244d720419887
+c84c189548cc943e3290e69b517333d2
+9e90d132b5cb60447131d6e3c887c0b0
+e54bd84bcab670a1e7f8d8b3298fca75
+ac1541399cd95ed2bed986d2ebf8d5de
+5aa60ab1a1d015c04daa76f7edeb33a2
+963279bfec094c0b06dec4cbefad1327
+b8dac0b1ba039193f9d83a0327cbd492
+69b7daf23ba69722342c8bdbc0eb7b9d
+93e54bdd8478626cc49b1e0636d8640e
+7031490ef117e8b34fc8e85e4122f7b6
+dca4411ca209bf5d4ba258c4e4b8cd0f
+63ab7564413ab6255af6d06637ca7536
+3faf5605255043e6af5f55fe7fe56597
+3faf5605255043e6af5f55fe7fe56597
+3faf5605255043e6af5f55fe7fe56597
+7cfaa89a7caafaca031fc0c55969aa84
+7cfaa89a7caafaca031fc0c55969aa84
+7cfaa89a7caafaca031fc0c55969aa84
+725015af19c6808f9287f13906bbb834
+725015af19c6808f9287f13906bbb834
+725015af19c6808f9287f13906bbb834
+725015af19c6808f9287f13906bbb834
+57625f8b31b07676f5025b09d2ddb6ca
+57625f8b31b07676f5025b09d2ddb6ca
+02fc47b0f51dfdafaa76931257992c3f
+02fc47b0f51dfdafaa76931257992c3f
+c4c745bb705a1548ecb335667317200b
+c4c745bb705a1548ecb335667317200b
+c4c745bb705a1548ecb335667317200b
+87c0034837749027e8937d7a8a5b162f
+4cf0250a4c957ea3ccd9e0e93079bf11
+554f73725570d20a7dbbe478af04ff57
+0139468ee4b61d59d5d2248598e0e41e
+aa86302d1853c2c2a0be609e7cd2bdbd
+47fd36d88479d99c4a4656e3e3580019
+76ba686337d7d1667e4d028574f4e561
+5c273d2dbb557dee2f49536169d606af
+ec891dfff7b42b13668a8093e2cf42bf
+0fac721f470fde89a91f28c39fda83db
+dc310f10374184709ed03b33d6c0d314
+3a2a785e4bc16f041774a3b012b6bea6
+a1ae64d775d940c84ce1df065da2d4da
+8ff3d325eaf7603b505b35be75542eb6
+769b057fb000ea945568abadf67387cd
+7fe9fc5155648d629d5cb26ce913b649
+32800bd3ab0a9dd71123d869ddb442b7
+6016f6a2b48b2da95cfc2a97884d7a78
+d7f0e6b78cbd7ceb54c68515e7e6e262
+22dec3fa648a1952a1a11025d1ff65cd
+64ad44aa5420766f5aefb354ff4aab0c
+ef2ed725756d9c01bb3471cb84bb534d
+4a2aee8f49cbbeed12529d4ecaa1ca55
+bb7880a07b4c874df198ead2d4bd4064
+cfa61088c9d9ceced75c605578fe8d4c
+1de721d0eb25ced71bca1ebfcca2d163
+c81ff7c6393d48c3af4a4d84ff636222
+168a98f4c23a7cbbe6481a9c4c556fea
+86364b610f32c45a1b860767c9ade1c1
+a2a3d8b581862764d857c925cb7328ae
+0db4b324f585a3f76962c1163a53c071
+cffe66eddf4fa0ffdc62666ce19286f0
+1687bd5dbad39eafb5e168b56ed42c91
+b1b4316bb2033e2e05cb9a9dcb6dc469
+16a75e3364f26c8df22e7c52b4dee431
+8abfcf8f51578bf72ffad3d41cfdf95b
+ca09d88bd3b63a0d1eb8ec3464b43c49
+ef94d675851713a1d579990442017722
+a7f747782e6e3591b8bea357a1890810
+c8324544bb5a6cbcdc38e606a5d7273a
+a3875903baa581f42ef237578788703c
+417b8aa7dbc47479d59f8f521415131c
+886e46e4482be237131c4c601ddc4264
+f279544a3196b861c2dfe8aa82a4c5f4
+5a8e8d995bebd257ae260fae6511ea04
+98d64868cdfc86e0b924ede3c5409471
+bba0e79fa1ca3f35d5e9e25609862a3c
+102f5a28df08044f64b8ebf067328408
+c0042a246eb4a73ab247595cfbf368eb
+8763ee3c5fbde103293503b53262a126
+7ba23e564f31aa4e8251bf803c2807fa
+0cb0a551f94f0786a68b243a4008673b
+9a94e87f62efe1dc036932e1614aefd8
+437c8e838645f9abb98392be32341ed9
+83dc51dc47254166dd5aa96454a47e8e
+35d3e121098552eb4392542cdf783f90
+cd6b424a925755d21b25c93c9b5a0a63
+9da8a2d49344ab548ae9ff952f5c3dcc
+b6e8ff5682eee52e37ac28cc8178707e
+5caac02315ef0e524bc3f038d90634c9
+4337bebdcaa7023418122da0d4942b1f
+207de7b279d475ee7c90ad6bd721412a
+a73ad580647a546fa526d6738cfeae53
+14c69a73287798418558931716f786a8
+a9e8741a87a45d00a992f6edad2a2be4
+f6c4a9ab04a97015e29d884ab5b4bd72
+325193d2a3a07650fc062a19d60813fe
+69d84dd7a6468f92ab74e10b3adbdc6e
+19ef51b849f35135ffb75c323b215011
+2643b286d2093a5520456a2b85e66388
+ec6f707c38ffa8e619b65d72d9528f50
+ebb6d73287596e14418bcd13793fffe0
+ff674b71e298b3e8b8ec559470475d03
+93309227c36cb6fd6f3d385cfaadefb5
+dc2dcc782ca636ca9f5001e9eb5954a9
+8198e47eb77e111fc771a041a6e7c93b
+e9696e6bb8033219396472ec91a24cf9
+359ab5f2fb9fdd78b78c881398767557
+4a643984da45780bba4691cebb4050e0
+aefebcdd345f009c3cc8410752ee5a74
+1fca6a09a7d05250a977e47c021e44eb
+b4dd0e539e942351f1ac4b8241ef2764
+9610ef7c52594afad38a2eb1c0cd767c
+2f5a8b566d0aeaf96e995dfc18c61a17
+3e7ce5e1ec751f92c315abef0075e7ef
+395e4cebb3954a988394363be2e441c9
+c99f8abaead873328971c7382c3d5884
+69d84dd7a6468f92ab74e10b3adbdc6e
+487656678650f2ef3e6edfd499606e29
+b48df83102213a533d7a52766ca21ce8
+69d84dd7a6468f92ab74e10b3adbdc6e
+81f8a0d550f6c5d45bb888d185730d3d
+c65df2d319fbd10322be701f0ecb3332
+b33c04382122ed3c0a3ab1a8f4ae0ce4
+0fe444e287a7fe2d60c69fc97ccaf93d
+8fac54423de1f8a8fefacdbfae04b4b6
+b8050a1dfda29fbbbe484b5fab88b83a
+a00c3b41a482898da543b21c41292748
+69d84dd7a6468f92ab74e10b3adbdc6e
+28aa8276b74cb04e119d629acbc4cf2b
+277cce8a87b75e732839b6b642c08b70
+3e755f9a3c11af2c6ce8e715264131cb
+86e1ba300191089b189b6f292a01e32c
+63ca18e3a7f60cf47557ee82bc51bd69
+931b0dcec44cecb0a99a19b677e6206c
+281c65fea089569b939441f0510e4cf7
+69d84dd7a6468f92ab74e10b3adbdc6e
+eedeed9322d04d12e1e4b9c7074c881d
+77576fc39a858678320167eaf5729354
+c02363680bf1162a07448c14a57e73dc
+70e690a75f5c0530346e54c04b0f0fc9
+f4c9adc1b0db9eed42d9e44137141539
+5a661c1cc0477a2915755fa446a663af
+14b714708c7a9e4d2566c173c9f99aa9
+bc7b1f29dabc4370c0ce4d728c5f7c41
+092f06619c0f6a85d7eb392daf53b65e
+7bf2fdc9faa76430645862814630d871
+eb358e8b7f891ea156ae990a01ca2f14
+158aebe5459be4234ea70cf8459fcb56
+5e57da640f240ba60c4c69a0d8541f7d
+d5e0ae2e0f8415d1b018ec638be45d32
+b50cfd83f99a2eb1155dbed375604e96
+1fa85290ff9193ca68ab4b5d251baab9
+dbf9bfe63c65bb0e6ff53f23aa36714f
+800c0b66dde4725fc2794f9f27f47929
+2efa8b97074061384c7cf1fa4d076717
+63a793bc69d814dbb5e1a4c9b828b49a
+e62806cd8e18179e75bc29bc6ba3f83e
+51d9c0e9566b520d38898777c44bbb30
+d20ad89466ec7b2bd036a5b970477ae8
+7b0811e42ba8210614bbd04f22d3d4f2
+ca6833ced4145b6c60d10d48ce4dc202
+6bf26fe07dd953dcf9a578351825cb3a
+74815fe8fee932fcb4bf42f349bb899f
+fec09f8972359deeaba03a960882b6e0
+fdbf788c0231744044f993d93425d9d6
+f800a97d1572e0167253b9e1bfc4bceb
+8174611aec64ab1f1050fba0fa75b3a3
+cd6b424a925755d21b25c93c9b5a0a63
+141abb1886335afc25fd76d4debc00d1
+8e9a54b2dba2ac400f00dce5cb7368ac
+32604d560294f63da16c33945de373a2
+81533ce21d3815c0172b72d6a11a17d4
+fdd16d95653320ca33c116ee3e01b9c2
+2566c3ad20674738b21f26f89afdd60d
+dd8ad14bf258ee1d03107dc507d1afb1
+0578c9b6391b55c84581793f09f9d1ef
+8f5ddc8f2410adc94a9f8d9ca269b004
+b518a5dbdd56eade7a28ec3e35915451
+a6bd1677974272865a692baba9f7233c
+00165165bc3baffc23b41df780f423ac
+12bf8ec42be7bf3125ccbbab935e55ac
+eec85873c82e118b940a55dc2063cc45
+b662f7bc21a81a631410c7a166a2b7dc
+b8050a1dfda29fbbbe484b5fab88b83a
+aa5e12e5a9df59ed4292a78abc9cbbb6
+2a5914a1129eebd4ceb5fc79761dfe13
+59b36242ee4ee4043099f3ad344be2c7
+50f33079808070610700683c60100143
+cd6b424a925755d21b25c93c9b5a0a63
+ad8ad5b167f6b4c01baae6cf6a357835
+a079ea4d78b9d4dec10adbb20b425bb4
+310ad3484fc57cacc1bd9db843783d46
+10676b8edbda4874fea40fb4f183ea25
+6a1c5585307fc364764fdbe94a9ca9c1
+084ba3db7539dcbe423fbceb7ad37c59
+6fab76596fc4c09214ce7a1beeedf9b4
+62ab111f3708943cd68691f804fe247a
+265e17f40ab627aa1e11181e2a312bb3
+ed377a8759a4c05d03c3b86b5b949654
+988c6c9d2531651163e5f32b8ecc4dfd
+560c1ffdeaae2b59b082a7348badba33
+b6d43a3b6a96016ce36af7c658777fc0
+969f4071aa0d24bb565442073bfbf282
+eb48dd53f2301d1eaf7defdd1081bc27
+642d0429b47641025a8784397940021f
+d230e871c4fec6add2f0b32a2e21027e
+1a6a4af2b8f9af7a688f13b08392b21f
+50f6685fca5811d65158c4ccedac69e9
+def96cec9af7965f2a568ebd83a2be52
+13cadb0f8d2b814e563099ee35fc32fe
+ed377a8759a4c05d03c3b86b5b949654
+988c6c9d2531651163e5f32b8ecc4dfd
+488e4a6e1e353fe0fc24e722c1e8e8bb
+9f8d89b98e97227f654ca4f868e117aa
+3353ce03bb7f035becc0d977cac8ca87
+a22ef55bbd2b7da77348d121920811cc
+59b61274e23b79fb416c15185c954b6f
+c3d4d19759f38c46e6ac7ab0a5915348
+2b26c026304d10a99a3f81fefe644b85
+be9e06c49f539cc47dc111c13c0e5b5a
+dcbc6817f5b4ebf6a8b350b704c4f676
+6118c88a7f1d5998ea8a504773fc1a90
+93b35e80bf0dc20430e883b1cce19c5b
+ebb1a51beff634663c6d075a0dadf3e3
+f6b020f6991e6714954a0a5ba9b0526b
+ef6a3a0accb333653bfdc6e2721db573
+86e0526903ff607d31116afac2f9c05f
+760c1e70613d38717622478493fd766f
+f67606a46743f859a5de680218e70b58
+a952bdfba3d760240492b70443195cbc
+d806851ef52ae2b2cd74627eb9c60d5a
+e658af5080dcea152286c088da220965
+cf9168f6ad0a33a4a0420566f89d4322
+f67606a46743f859a5de680218e70b58
+cfb4511dd5c6a557d19cc1af889c109f
+d806851ef52ae2b2cd74627eb9c60d5a
+b2c449118950c0c49433108b7f448985
+b482447f36f7fd811ae4f6f51c7043ab
+367d1360f41182d52632d62b9c032c05
+cb626b52600ab21731dd35cb94687e95
+f67606a46743f859a5de680218e70b58
+dede96a5aefbdd48149f6cb26ccaf67a
+1025852db2952411af0e0ca342906dbd
+bdacf8d414828b885d368b9fca75be2e
+e741743d3dc41a15545f1c657c4983a5
+eca8b6487312a0b9e5b8f80783d4a08b
+f67606a46743f859a5de680218e70b58
+15f2128e0bd30710e1bd980e03e5cbdb
+d806851ef52ae2b2cd74627eb9c60d5a
+15bdfc82aababddcf059899450ec12e7
+f67606a46743f859a5de680218e70b58
+3baf20892d9d4c2e088e124f16abac1b
+194a0db89a744b2b6fcfbc1f7a3fdc06
+e9696e6bb8033219396472ec91a24cf9
+dede96a5aefbdd48149f6cb26ccaf67a
+1025852db2952411af0e0ca342906dbd
+a509f713dfe3c0a3d09d7d07e9144276
+92e6772aae96cfbd4b671a0eb6ff6ee8
+eca8b6487312a0b9e5b8f80783d4a08b
+f67606a46743f859a5de680218e70b58
+c1c218d8891200319c842a9d9c2686cf
+99594c15a919e203fa3a9de2058a58be
+4af4ad7bbdf4b0ce869b9cde3d3e0fd1
+26d51ce3443478f81752bdcb6cce8595
+41794161688e25f9b6c38c82b08b3229
+f40c5a6fe57b1aba960e4023a797b2f2
+7c0d31b3ad7df5590058b99ea8e9d9db
+ed377a8759a4c05d03c3b86b5b949654
+d2f259d566a94132843fb0903a17ab0b
+e4ea7d4bf490b7c8053b67ad34b17c53
+3d20750fa8049eb2fbeaaa7350ce66d8
+e7130053c4fd445da0ec826aab70e03a
+8227d3f9b6ffb29d4c39544f20f7c9bf
+994f412285bbdaa52b37f5685a1bdf24
+13a814dd2663f733e56205a1338c87bf
+1f3e0cdc3879aecbaf7dfcc6c5e224e7
+7249886e3b84f1ff09d2a583ac0f81fc
+26313ef619096286f0addcd12db67dc0
+e21e59d7cd3f93c1437daab6b0961c2c
+557ea74c8da96867c151c706884bfd2b
+3053b893376d424f964913fe8e7b9034
+f3051bb7fb102c77065c5625a22bf874
+b068298b49b382460b12e995ec62a6fe
+7249886e3b84f1ff09d2a583ac0f81fc
+d8610dbf18d3c27727e3803818545803
+90fea0650bd0a241deaa3bcf89b364cd
+297f865a21d236c3733ba8baef6f3ab2
+b6d6da664609b4ea73b5bf2b8b34a140
+e4b242a13cca2ed4ee6545235112ac3b
+4cd61ea67c61fc8d1ebfc5618014b404
+3f014ef83a984af26efe4f1d7157e646
+69d84dd7a6468f92ab74e10b3adbdc6e
+40dae63f52e539e50dc82a4c2c6ec143
+87bd274275aafdf2b878cced9bd41a5e
+6b5c686c07a2754b6b2e18ecceafda68
+fe28147bb13dc95600014e772768520b
+9e58b25c2e2f15939e198d4edd452e0d
+5a1fde0973db714e8452690f1b956108
+b8050a1dfda29fbbbe484b5fab88b83a
+2a267e9e36ce41151bf5840423e21c5c
+d20aeabd771bf01e62f7100f9425c7e3
+1dd5cbdd911c90d33dbdc23aff6d45cf
+e6aa50265a257ed09876a4b1f4fd81a9
+beeee9e3b2e0a62ddcbde54a5b5dddf9
+399695eafcc047dc03ce24a31bd1892c
+373b729f14c5596ad08d9008ae802481
+b893abfa314cb3ecddda2fa480c5e6f1
+9c06571ecd8074de388e3b332b4a78c2
+e8cee6fa638dad9373a5cafea0994fc7
+6554073b1cd9a4f708beb6a994630f6f
+6211ad871a9c8a4b256b83c59661d47e
+dd15c98149c439f534f67158b2b1dcfe
+276e03b140365ffbdeda7a71ae672350
+1e57692f4c4009a1db512789b8fbf156
+99dae9a1b2bc5478207361a19ff97da5
+c4d1965686796f499b6b0e74093c3b88
+1fc8ec936d91315afed269247ef43911
+40983355d22e3cf3789c276844fa0281
+c3f5eee4c99c22a8add4d8f566635877
+133b735ba8ac857833f1df0e0c5b1398
+690a823072b60054aaafc6b87ea28e7d
+739732ef33b8b6192bd91703d157ef2e
+4c69b898ebd57c273c1ebc855d66591f
+0391f8f7d310bc52a205e2ba79d1e31f
+3b64de6046863f58d32fd848fb4c8703
+66e154466fecb0c6c350d26895e5de96
+699d9cc1971ce6499574eedf24ea6a33
+dd735c71de4ca53b276a2c576f52c516
+ba3fa3838370435e2b9ea6ccd4d8e6c0
+ffeaa4b849b18dceb87899cf0625cda3
+32a79815e9bec793d04d5fe5e15cf3a3
+1c73eb25d7c73dd600f5717f4b962d1b
+dac942cab7c68579ce5fbf5a32a7f6cc
+1ba2d93f26571629b22a2716487bd98a
+c4645dca17d23a30bfb464ecc6df968b
+081ca6e4caa5fb99b4c295951ec5a543
+0ee504133d5724c4a33daa69e1fe3ad6
+a6444ab9a21b79a07c8237ace16a9ba2
+0b663ddb7e08188327b870d89a4feae6
+2f3cfb574d488d39701a0ec5717b74cb
+3598923ef7849c86e1ba5964b4941b8c
+9cf03288438ace86128899c8eaf422f2
+bac062dded7b42c9141e5701e29cc76c
+1687bd5dbad39eafb5e168b56ed42c91
+73a023ca5a6ac8ebcfad7eb1ad42a907
+18d993f685d54e367812235b067caa17
+b9a7834b3bfec620340453babc99c281
+983acb8b0b41aeed2beae2d79e6cb2ea
+fbf7dd19e378209d30b4d768152867a8
+f75cc6cd30dc67130dc0a23c35dc74d4
+93451a20da3ac35d7382597f4497f279
+f1ec4d410b7044254377c4f2aa45bf8c
+53c94504a5f713ac81a731a8425d27c9
+621c5f3238f8a2cc570822a26655e61d
+25e629cc4349083f51afb0a27c459562
+dbee32a6d5e929ef80525a4bd926bc54
+198a6e47cc3f41d4bc7044aa017b5e75
+9cac18d4fbe9a69d51b585c91eb231db
+ffc72805544b5273f7b9aa11ab61cd34
+2cf968c8acc90d7731a7033e0ffc2fda
+9ab67a82dd57608a6d07a1ea4a8c93b1
+d667747767cecbff45f62b5fb683a653
+4ffcd77027ac9f7db946fdd5dbf55d6c
+e3142bed6184ef24cdbbc9c65a8bbb61
+931e3b51be9346a1cc2db2b71b238f6d
+db297e841a292090ac5e370d9d09aa01
+9b7b160d2dad408faec85d1b6962f928
+05d5e6b8b78d0c2ff01da6562fe1bbaa
+08eba130000ecc8dab5198d98871ea93
+76ce8409b56dc4b6cd7e4219db3f914b
+6ff16d1d4c3e73686f91c7c2530a12c0
+554a59dda6c49071036488f6ab1ea0cb
+9789596b336fcadceee3bea8b163ca24
+1ed5a256451f2b3b30adb65294db45a9
+15f2cd8523060ce203a21f186f96c4c3
+9b7b160d2dad408faec85d1b6962f928
+fd10ca2e2b2213e6116bf2647e67dd14
+9498ff464a8de76ada2fe3f133abef44
+328f78c776aba34557e894d8555304c8
+3f3966aac8fef927e63567a27e7630df
+8d2eee6f69b736565814d07ad9430698
+a89c83725078e7257452bdfddc381dab
+bbe4c32877d5bd79deac8d1ff4a61e14
+d557d158715362244bcda54fffaf1955
+029a912f2f5adabd921f0344aa278587
+a7103f4f6b17881477a6e736aad7dd04
+4963fdf9bac3df8211fcb4b2cee7f78c
+eaa9bc69672b7ba7edacaaf96555b228
+8181aea9faa1356770b91bf3f341cd33
+8d61f145c4ea0d14877cf2ae5626803f
+61cf95bbf1affa89e1ab99cbaf8217c8
+165f25bedbe99df4601771be3e2f1f73
+9453931eb274be164a975bad0d422b09
+c7a3441a6ca854c4951fec13d214e72d
+d4cb2c633a5653ebf788b341b5b06f94
+b092e61a9db656b3cb4e9dec9c7064c9
+388a36b775cfaf3cd808d4374ffc4805
+d1b68859a43405f215518a4282552b6b
+37fa62f3b0f4af1e365e1e9b52bd370c
+dc239419afc6a87bf8c1d5a956ca6dd4
+dd652cadf7531587858a8a5db27559a9
+3a533db963836f69007dbad380903a83
+5e8107c19e2ff38e6fb8abb514327c1b
+1596b41f0c23d1afd571a920516d566a
+02b1c5ce4d32c6e043cb8271fc6d057f
+e227fa98299ebcc7edfa9c700d572506
+012847f546a0c8d4c5ddfa7f0885a814
+9fd06efd31b15121082e2a7a4175c8a3
+c867cfdd944f6c1222b8b23bb88ea0dc
+1d360686138bd3c0d58fb4f4a1acb7fd
+76fbf601db7b3d5a7a6e3154b86d0f00
+ff1fac7b132f9a0145067e3dca696dab
+279e8aeddaada17d266253b25d4e0919
+5c2ff22f447389e16b112be04fd402fc
+efe9ed07da0b9db4e17ba1dfd1024b86
+8eb8c9e1428408459ec66d9ea30c73a7
+ca5dcadd74c39d6efc1e195eae28cc13
+8dd0f4496328d4141b01f68ddb196253
+e5149412cc592a77b2c0e4ce6c633f64
+ea460c6deb18847847f765f1c2e4fd80
+794a96f9da634eafbdf1abd611d2c1e9
+fc0f0ccd4917c826d9e231b685834789
+0e40a0e37a080b3cac6a1759065bbfc7
+30439a0096f790079a76933d5425f3c0
+b24f20fbdb842c447a1bb468d38258da
+9d048fba63fc599ec283b2c28365c36f
+c678c7a24473725ee41e74bc3b710b2e
+7448ffd7a2143ef39345941bc074e531
+b6cd86984113dcfc9a3b1429fa18e70b
+da1793e47f2e0378c4f72f91755a5d07
+022f012e956f9b0f4786ca64976b55f0
+43ada4092bc1f68f31c653d80ec1ab10
+deb051a79584e60a1b4d4176d6b5c13f
+66a96bf08a829ad0b1de670c9d569d69
+cbeab508460fc9cc5d7f0b8e36636020
+facb9b79ad62eac23f734b3239327426
+d0e5eac446a7e41ab4908449701c5c81
+69d84dd7a6468f92ab74e10b3adbdc6e
+4130955fe6ebbc17cb3686ee91cdb5ff
+dfe559baf7385e6b91ca447ab15e4c9c
+d29284be83ecedc47d364e74b57599f4
+ebf79bcd1716157bb44c5d55665f80a6
+9a5b404d414076ff90bf54a50187a91a
+fcf40bb6405b08069b92f495fde8175a
+c4a644ed8ceb01c37f58d3c307d93038
+c0ee939580ce109b0b0600a5084da35f
+345f3de98cfcc06a33734cad3db44687
+a1e1bf8db0472f88ed086fa82c616fdb
+dd5979ee3be588b33e18d302e85e3840
+c16c7146bd1ada928fb2ee6fa7192155
+e4aaf794ace5422783a2daee2b357f23
+2ab180a4b981e86d9f802799a17dee3f
+0d8292a3e9c59ae2256a1322fa4d667a
+69d84dd7a6468f92ab74e10b3adbdc6e
+83eaae61a5106a0b6653b871d4b95d7b
+ed368a56e46e0739e07cdf4c09fbb090
+9482251b65d9db75696ab31b95e5f9df
+50d722ded7d33e3f3a7cd31bfa3e619d
+545f3d92f5e1e7f7b1d263ebdfa2e1ba
+f5944900cca6e753e4e0a118322024f5
+ecad992a82278d21a5490c795e517cc2
+6bbf9ce3b4b88b23ee8d0037376f0ac2
+3d20750fa8049eb2fbeaaa7350ce66d8
+ae7bd11f1b54472e621094d09be36b4a
+652232fe6ce10a9a3c5f3d02c8a2f5f8
+9729a2eb76ee6d80129f8c408f0a8557
+032a4448e4c8217de1e5b95d25230920
+f4466d29fc674218a5e2537c4299f308
+0a96fd692e431084baf3dcecb3bbf75d
+a42dcee1862eee5aa47b9e92aaa794e8
+98109a29bedac3f0ba7b99085884720c
+88e56824d363818045ef42a806479ab4
+e9c67b68790726e337be3bdc990052e4
+7a125a0299bfeb51e45e628b4a2fac9d
+47a865da6ab5462f1ac6af8fb81f28bc
+00eaa5ae3f8c2d55ed295b94832156f0
+3f014ef83a984af26efe4f1d7157e646
+e04bb66be419d980ed64e3362ebdf4d0
+0006157de5861cc97c5c7ba9d175e8d5
+69d84dd7a6468f92ab74e10b3adbdc6e
+a01c42a11a870e279856b8855ed11065
+86327e930d515591337f543aca12b1d7
+c52bf6321891a4988af1bdea7c529f8b
+cf62932e6039bca771c3f0aae6cef481
+ca6733a0ec62645142ec8aa68003791d
+1bba30db376afb456c7a631b6d6b2096
+4c81492047f19b5bdde63f348556381a
+69d84dd7a6468f92ab74e10b3adbdc6e
+3cb1bad53b3f27357e32364b999db0cf
+6102e0eccc2ccb6bc6e82b5b85f90616
+5d9e04fcaf20f7817d7aa79bf08b6e04
+1cf5a12e57aee2171bd7527a5beb5441
+42478edc4550d4c44beeef48b6d988fb
+5111850a14103d479214a72560f3426a
+09b99e3e8b3f28e32443c329bbee7bce
+03b189a371d37db1990e36d9b234720e
+01083f89911fff575eb77b2f080ae942
+ace453d3df2e14ec83f1f49dba772939
+f3e213079dfa44706d33c772c9ffda78
+03f96c36f3697591826d4e2125ca9189
+1cf12e5ea1859cfa3eb7226e720e57ee
+289e4bed2e792872b1a0cfc1f4749b78
+03f43d5b6cf4bf5cd5375915865be1a7
+d66ac75b045af8a9c4cc41b1053c020d
+43911b1e43f33e54b8a557410994ac3b
+1fc283fb5cf629a844285905ae109bb7
+5d9e04fcaf20f7817d7aa79bf08b6e04
+87105a48998051195f62d3f5c2e163cc
+3f8a1a80eff0911365c135e971c78b00
+ed0f5c4e141462c241fd9db9268ef843
+276e03b140365ffbdeda7a71ae672350
+94bd3d1ba7ea7e3b27c4a19ed8cc5689
+a13552011126c2ce1bed94e3f8a1995c
+70a57bc80c5b511e7823abc8c215dcd6
+54311a0fd1bff291b22a1a4b89358072
+1a661014c32c83ef1a7a87a51b4c3a0a
+69d84dd7a6468f92ab74e10b3adbdc6e
+25e9c556ff62db1b2b6929f2ed8bee11
+12b0653d23bd6d61f4d8bdf88883bd6d
+69d84dd7a6468f92ab74e10b3adbdc6e
+276e03b140365ffbdeda7a71ae672350
+80aee1f747ed57e3994d952d337684ec
+d596b866705ddde966dbcb2c5b97d280
+5716d384e339fef1f6f756fac93c29f2
+3e53a2a94734f2125ec3c1e259b32a13
+008b752644879812a3ad51d25aad77cf
+7079902b202957736a86e210a1258ec3
+69d84dd7a6468f92ab74e10b3adbdc6e
+e77c078a95ef8e83d0a76ae837cb1c94
+2efa8b97074061384c7cf1fa4d076717
+a84aee3c60eb2bc602be7fb114289b8a
+3e42a0796307f05d9de231d2ce26fb86
+f1de05918b39e0536de85deab6a9b831
+70a6bcf7815b7277b5e12c2ae92734c2
+652232fe6ce10a9a3c5f3d02c8a2f5f8
+4c1ade6b8ed4be39ebd9f1f7b3311a39
+d3390946718f299cb3b8aafc3465f68f
+69d84dd7a6468f92ab74e10b3adbdc6e
+3ad75250b5519f44d9b484fdbcbbaf2f
+fb6a5bd02bc2f04115e06582be628bdc
+45089d49c2fa4a27f85ed4fd4750c677
+56afb2f30b18d9a845e279c8c0ac0e86
+74cd89621d18adbc335ffc29b0325b6c
+419939c0b375069aaebafabe0d6c35a3
+41432390383f4dc83815b5c168897d21
+4b997d4f879c12431653969b9a55457b
+026be044ca296e4b9b3367961f804488
+59a3eae2cb70ecd459a45f3a9000472b
+69d84dd7a6468f92ab74e10b3adbdc6e
+f50e9c8025a653437c31d69a5b282fb2
+e2eb3b4d2ec1b800187407244639ce50
+5aeadfab5a3e18bba6b6e75cd2106bf8
+987be2b6cca12412e811ce7ee77bb32a
+bfbe40717fd8dfdb6a88bf641491e6b9
+35219d9c8f3771010f900cb6f039715c
+ef9371911a1bb456f3aa09778bce7202
+e4cb23e2d3a81935cca56e394476ed54
+e5cb72f0f5e8d820d425b6e12dade581
+ec5a5dbef2958d2b06d1d06570f7e1f2
+553b26364921ab7502f35d7395cdeeb1
+7249886e3b84f1ff09d2a583ac0f81fc
+e5d95a2f9e332d0f790fafd5a9e28de5
+00c821f0978861bfb37aebdb0aca9de0
+a80a52f1ad05a182dc4dcaf404ca5748
+620b2cd3224fbf1011ae97f6ec041a3c
+d1c63e46411b627c764143df16601cc8
+077cf3e731cd588de47b31c23ff9e24f
+046981a8cc2b02837af7143416f463a7
+ebaaaf82dffa37c6209ed1a13779a0b1
+9d5427abe58d22cc1691faab298ba73c
+d505449615c160f282a51c4f144d3e07
+37094bde09fd964b49dc0ef94ce71340
+7d8b41c5c2f2adb1d8504413461bd258
+39a4505f39a10dca895ae7125c3c3b7c
+92a5702cc66e09c8c07c059a508b2841
+0a899bceacdc95e8135f93386e6503d9
+48e7b2d1b17c75b6e6a1f1cbf20942ec
+e1568b5bb0c7e5da45439c0a13980310
+6c35f0b3f690bf3204feb0587dcf16c0
+812a1e8a08d97b477d5eae813ffcb366
+18d21f7d885367fbaaff0f3adb86522a
+868d0b44e1c78f9d8fb722eab5e7dda9
+084e6f22deb5acf098beb37c7f385093
+92a5702cc66e09c8c07c059a508b2841
+b8050a1dfda29fbbbe484b5fab88b83a
+bf50e3bcbf6a0bc490d7aa14de69d2a8
+5e426320feeccdb889ec6918b36db69d
+003f867f0cfe2d533a2f0ad951dc5f24
+cc32490ca756dbcd4db9295b55fff97b
+7e286f0f6afe7582e2b37a6ab639e7de
+425e1ffa1f91494bde8e5bc7b6e06d2a
+291a809e1f962a5827c28a6696129fb3
+3ab44cdb2034c56993a8c79023db94c8
+31fe3c8f6658f161ecf861f3522a2b43
+d736d98929f42a99d83fdf6068e1ada9
+98cbf262eadcc5e45fd8fb3996a7676e
+6299ccf73c26373aa6e898be28429c4d
+0710c215f1c964de65c26d5447bf5e24
+69d84dd7a6468f92ab74e10b3adbdc6e
+de14cad0305fe2f8975c1c9649d2be73
+94b013c75e0dc02a3335b0d4b26b075f
+47754860f8f5dce890be8467a0c3e60c
+8ff7f25a12b698f6a6d8a6ff79c5e188
+a39961e7753e70d50680b2b6f22934cd
+b8050a1dfda29fbbbe484b5fab88b83a
+b92a5b76469df44c2d69cde7206d4ad0
+bda5cac8c62f6058dcb8bc720ef39fed
+d037e86c31a207e045a061147fd0f55d
+7d8b41c5c2f2adb1d8504413461bd258
+94b013c75e0dc02a3335b0d4b26b075f
+47754860f8f5dce890be8467a0c3e60c
+31fe3c8f6658f161ecf861f3522a2b43
+c55c80191d15ab5171aef4d7f1369100
+cd53d3020e6c8f8fe718d630d552b7f4
+745dc0f9d1320806e22758a3c7045bc5
+1d5af34f39ba787ae261192039ea98b0
+92a5702cc66e09c8c07c059a508b2841
+763bc6831789bf7e39666e7c11013c81
+ded95be49b8c177ff7a1d16cafec6449
+611cfeac5030df4131f7ea3e79732d58
+5c182cdd3cf0d1ccc3f9481ff0919aa2
+50b499c9d713d35ff449417184191411
+9fec67225c15b8dc5d27e51efd47c348
+e79898fd2b358312141499b1f8f30135
+b8050a1dfda29fbbbe484b5fab88b83a
+b92a5b76469df44c2d69cde7206d4ad0
+3516439ea13fc07d8d322a81ac00e166
+9a526224e3a056edbd7543f78d70320a
+da726f7839f131874e49e05658841255
+d7c9ca30556e4459b50ebd5765d0ea2b
+1c4fb3ffcfdffc1b6a438ba62e6a9774
+fbe8a74479bfea0d603b36a0283198c7
+022a7830cc39644134d0c22f074b6d51
+5bd5bc8f15250d855cabd5249c274a70
+ee6de5fc68373fec0d9d716d6dc54ee6
+aeb63d1e3a65fed20cfe55eeaa453f2c
+5a1fde0973db714e8452690f1b956108
+57ba60232bdeee9db7ad5c52d454ef41
+69d84dd7a6468f92ab74e10b3adbdc6e
+8fee66f41736202e9768e8dd142d6c26
+da166959f41e0586abbc1f2a9d148fc4
+807914adb09371bec11dc5a9c4185aa7
+b84581befcecfbcb5fa35d4eafeac555
+9948c373105bf14bf9c2d11cb826b40d
+59b0fcdbbf05490dce6bacf94e9f66ed
+e6f9491483156335efc20047dbda575a
+e3af16138e40a225658780c7a08827a7
+b22233b3ade9d0711bfc0969cc6f57e6
+e956feb98f2352006c7dfb39cd163c1f
+5b517b8029143bc0b9c3911cc1508b06
+862c289078364cd6a303438d4585733c
+699c216b44b03740ba6a6a0497a70b59
+0914cad3ee8723ce35e54c5ffd525cf5
+ffd75aa24f0c51bba67c565f61c22ddf
+69d84dd7a6468f92ab74e10b3adbdc6e
+a952b93dfc9931ab3a1fc33ba229eb07
+99594c15a919e203fa3a9de2058a58be
+4af4ad7bbdf4b0ce869b9cde3d3e0fd1
+26d51ce3443478f81752bdcb6cce8595
+7d8ceaf7e3d8d5560b70b7fce253d1aa
+b679b78bc84b396fee7655165b3cb68a
+b8050a1dfda29fbbbe484b5fab88b83a
+323126f83db14ebe9d87332aabe84b07
+f40c5a6fe57b1aba960e4023a797b2f2
+4caf086e8771c7440523de2ef88ccfd9
+a2792438082f7489f73f078b99c45614
+aa79b9d40c23a85f1bd55aaf57b6b66c
+9ffa952a7205f59140094a7e71219c74
+1fa2958999913b6c3344b27ac1825024
+eadf825e50a66425093403e36f81d3cd
+4d858ee4746ab47e082ec39eae179b74
+363b413ded91f2361a266994a0061d3c
+908aa6ee9ba9a3e1b6889f79f5f0a6a4
+eadf825e50a66425093403e36f81d3cd
+f9f1a82b0825db5bf615eda3083953a1
+4d858ee4746ab47e082ec39eae179b74
+503e7804c4cde4e18214b6f952f75279
+4d858ee4746ab47e082ec39eae179b74
+4d858ee4746ab47e082ec39eae179b74
+7aa5c8ba5b6bc541a55cba8a81f0c87e
+2c8a7ba62c9c446bae92053ff180640f
+4d858ee4746ab47e082ec39eae179b74
+76f917b252f88b719f72f3f1f71d89ee
+16a0a5e9011065f16faedd4281b53549
+df53eb634fe6f11822dc6ef7dd0cff4a
+caf82d49f8207b967cf9b3d78ff6a01c
+5694a2d24cb84172ab73005b568b70d7
+936f608bc8e2dfe02088f9a2dcea30cd
+809cfbc60acdd9d28a0e6cf5e01d5c4f
+29aebdb9502e280d3d242280003ad2e8
+99b96b4f1c558ec6f10cde67cca9d2b1
+62cb79c39e2fa613f032fc9680df9606
+bbcf1eecbe8070148a9c25d349fb1cc1
+ed07089c0c2e63ce70f8e95cb8e74560
+503cb054318999acbe83bcc42e0cb6e6
+dcf17c43a298a523f7e12d20828c1c5d
+f12146ad62c04ac790ef1b33441e45f0
+446f0490e34a622cfe584d9cf76b3eb6
+d8f3e9da0ed75cd902769d246d9bc21d
+4f89b89ab06fdb7243638392c28ffb19
+69d84dd7a6468f92ab74e10b3adbdc6e
+bb52282f9c1ac3166ee604498f37710a
+f405b63c2ac3e4744c37bdb19ae3aace
+807b0020c735b92dcb708f95ea52e353
+1a8850233280b6f980b676c2c0a6e2ce
+0a44d197863a49192406a2d4fe82488a
+1bba30db376afb456c7a631b6d6b2096
+cd5b3780b71ab41314f54b7f9b8feef8
+e38ef09fc475cdc6a685fc67633777d6
+c5a9240c7c315fcdc744856852dc5a43
+0a6ee6474b1a94609a1265244b2dd7e7
+df3b329446d11f062f26ac2c55c6e4e1
+5bdbb7223f289faca6cc930e14736623
+35fb440881d5ad68fb4a96e20b982017
+0a6ee6474b1a94609a1265244b2dd7e7
+5249a551a43148e78b8ac3e745312a5b
+c5a9240c7c315fcdc744856852dc5a43
+0f5e13c405c8eb7f91a39949b2fa26ee
+2b162c289b2bfa02aa1c12491909b03b
+fbffbd7a565baef9f1eb29a328e67711
+25339e114c9ac2b5d3dfdf83c0081232
+e2c7df51879650cdccdb035264378f7b
+a548b4057e681f5a3bc652a886dab235
+2cd833f10d2c8de458e8d273fa9dee14
+5950142a35b4e371d5fac6f8c5a737b7
+69d84dd7a6468f92ab74e10b3adbdc6e
+8037ca3896fff3d31636f262df9a5551
+65f6f5c463952f8263b4f518e18445d2
+a1c6541f62adfd26ec41ab7f2d4c127a
+9e3f656aaa123d113072e3a238549024
+e56305890a86cb629f338f1e4a056035
+68fa973a058f42733bb2ce7c6d4856d3
+e3ec4f6fd08b2b18e84053186fc32c31
+7e423805a67210354889c650bf0b1058
+a8318d37add84e3614a8d394b2a1aa5b
+9c898db31929dcac3dd488bfe663e854
+cbf71e6e272f681880068bce97dca81b
+30d372f4e6b772c25e609a929cd7b151
+8b75fcfc54611fa782c876de31d26723
+6fec9fd9abb2abd96564b576391961f1
+6c1b4ad6660fa2493e998105cfb4371b
+29fc9d35382a36928285cf0de8557f66
+664ab6533f469392862adcd998911c88
+983acb8b0b41aeed2beae2d79e6cb2ea
+c0ae449df56022791eb639ab84e90baa
+69d84dd7a6468f92ab74e10b3adbdc6e
+3cbf940c72e8bac6528434d98c620b08
+985a1bd4ce9650e6e48c615d7ca903c4
+d585143be0e3fd1ab2415763c2197420
+d3cbe74429a3b79e5a9f9d9967f79c65
+1575ae31bb5f0c1864d1a3b789eece73
+1784ccbb44a2e7ef5438c054d34b02e9
+74fed0ac745a29229ad906a6b3feb8a0
+2f647bac8435fb68185c36d0c387a99e
+e0d6882c2e337f3556e7a876c281e884
+533afbe9ff14da9813edb8829dc15d1f
+bcdd0d25534a160132482f1ff7811b55
+6fec9fd9abb2abd96564b576391961f1
+31090b385bcc3082d59d6ed4a10ba83b
+0457bd6b5d44160e563f758c0a63893b
+f91879826e432bdf235113355353e2d9
+ac42efe7b13b08daf8ac4afa61723f78
+0a6ee6474b1a94609a1265244b2dd7e7
+ffaeeb987ac1db8a10fed4aa12dcd35d
+bb2e7800f46ecb0ea96fc88bae59fce4
+947085b40754556bbff2d1c2bbcc3c6f
+bb2e7800f46ecb0ea96fc88bae59fce4
+56ca15aefb95a2a73984a599d3dd956e
+ff91b2d9e53e5d17553790c43ea97504
+c192c9834bb819422a30d744a8d36844
+a8fe1bbcf9798c43e1f94de93843795d
+96e567577d87223ce8c644137aa79e9c
+61630e1461ede081a8e04fce6f58f45d
+589c6d4ead654d9ed0754cdd03a19982
+18d94e709a4baa9faa3b88fe90716c1e
+2105641e37314499498ee91947f5a0c7
+ad7f74f65f2c08e8c0fa0bb8dd2d20b4
+4d786f426e25482093ca6e1284fd82e5
+3954afa6ab93b3a3e2449c6491d32954
+5112702d367b5df0d68b01b7b005d4da
+25d1ce3dfb048cd9b63e7a22c77db961
+56ff947488a47448828c0c6a5caf029e
+83b5ecc154ff191175167bfc27f79bd5
+adc7b8a4d25d89b6c8d0f4b49850f89d
+2458e3671587fe4772a310c0352a582f
+b4ab343e793734e5a1a3a55424b09e46
+69d84dd7a6468f92ab74e10b3adbdc6e
+08487a21dc3a15a259eec1e61e84ec02
+29aebdb9502e280d3d242280003ad2e8
+6c857e43a871dc6b4af3af4db272ab80
+ffaeeb987ac1db8a10fed4aa12dcd35d
+0e18739818fe5efcd53fe6c459c7a13e
+cd4edab79509541f9817ca8ef30d9e28
+1d8006aaa1109faf81491b263ccf00e1
+e084779bcbcf4f8a9185a41de4f8887d
+717b073999c7eec62ebd8232abee088b
+92077ff3e5a9e50094220876061526be
+69d84dd7a6468f92ab74e10b3adbdc6e
+45eda34b49c3aec2625e0a823d42f66d
+93451a20da3ac35d7382597f4497f279
+05b2c3cc6dd607ffb2faa7370e6facf6
+7b61a9bf3f41d1bbcab7e4e36bc63ccb
+c69535e17e2197f8098d80ce95c27779
+1bb54c1a3890848e13f41f9a138d1d71
+6c9792ad5460cefd4126e47f8f3a6462
+f946948ca21380bad0dfd6d8bdc50895
+1f781a2f81997733462a9989651fed81
+e7cf93ef45bfacb8f4b0bf178360a647
+137e434fb4f93097e6da76d2ffd063b2
+94b897861a37844e4f354b941f7cbadf
+306416fc0e72e50ed9a9e2645fddfc8b
+ffc72805544b5273f7b9aa11ab61cd34
+7244a6c858cc18d35e126b2c2f7c2b2c
+51ed56df964b85ac3b2db2414c248b37
+a066db8bc78b670a8cc5a519ffba79bd
+344e19366c1959318f1f37c73245936c
+3d6bb1a95a724cdc93ac8a9bb1711a91
+938849370a0b4a227e2b41d6d32e9da8
+554a59dda6c49071036488f6ab1ea0cb
+c484eb8e6e81b1dbabe9de28287df3d7
+51ed56df964b85ac3b2db2414c248b37
+344e19366c1959318f1f37c73245936c
+51ed56df964b85ac3b2db2414c248b37
+328f78c776aba34557e894d8555304c8
+69d84dd7a6468f92ab74e10b3adbdc6e
+84aca7015b1de3e2811cb2ead2a9c364
+db84baa1086bd38f4b811a1708d08c9a
+0ae4cfd891857350e58c9e4c207343b6
+3f3966aac8fef927e63567a27e7630df
+8d2eee6f69b736565814d07ad9430698
+5f043ca991c88a5cc0a8314fce615c28
+05d21852f46802a86f7d7eba70153877
+e10ae959ce82fb239bc0a2e4afcecffa
+cbeab508460fc9cc5d7f0b8e36636020
+df6808ab97b102518ed53693ebc2f3db
+3a815508b03ae61646eccca93541f0a9
+ca4f3e508467c12a13dfca3638009929
+69d84dd7a6468f92ab74e10b3adbdc6e
+b4f312796a4b53a962b568e3ca34ce63
+66ff55770b91a40917768b3e27434794
+5c182cdd3cf0d1ccc3f9481ff0919aa2
+5a1fde0973db714e8452690f1b956108
+93036393a9927564f89fdc997515cb8d
+021e75e3d9fef01b06cec7707c81e93d
+371ded7013ea9ab9c13cbbdb8cbb4c38
+1c73eb25d7c73dd600f5717f4b962d1b
+686f032f73cee472030ace26f0b1dc5d
+3d3e4935d3e64f8f11450642c56714ef
+c74b61cd6c7944af8de66bbbe1c44fc1
+e3efbec5274c44d6403b58c4547b9175
+0d47fd5bd1f815501e784681c49edc8f
+c74b61cd6c7944af8de66bbbe1c44fc1
+65e46f28d6b544968300c808815b8d6b
+8cf8e28f58874b7cec556033adba59b2
+a8e18ef8a16ac2a95b74cbafa1ccabdc
+ed0f5c4e141462c241fd9db9268ef843
+5a1fde0973db714e8452690f1b956108
+fda92d4667c7161d2becf4c94f77967e
+2b6885dc1e7bf17272df45956baebc94
+8ec8d6dee80bab9a442cdbcdb3d72e26
+606078d2842d29951f9f77c81ca910a9
+e8805b0c9dc760c86b2abf51a9a6dc6b
+27715a47ae1f3ba8ef7bfd232086acf2
+1373e32be3909d2598c7e4a40ecf7332
+1a661014c32c83ef1a7a87a51b4c3a0a
+69d84dd7a6468f92ab74e10b3adbdc6e
+76f275794de2cf9560df7ba717589f88
+69d84dd7a6468f92ab74e10b3adbdc6e
+ff27aebc2b5177287b00f36b6b46d107
+bf63543b712dbc18fe707204e489d574
+ce9e6ce3715c07c005120b8d7de432ef
+22c61370ced947b7883dfd40594b3f87
+e8cee6fa638dad9373a5cafea0994fc7
+bcc7782abe443f0e701c096ec5674ed4
+8251d36309fedde381f252b38d1d0614
+5a79434dc66e0aab0c217e5a988d2009
+83aaa8fa09d13c4639e2659cd7d6f3df
+1bba30db376afb456c7a631b6d6b2096
+97687da38d9c3ad24065ca9f9eac770c
+1bba30db376afb456c7a631b6d6b2096
+7683dc51376c9b5d449097c023207d20
+01b72fda9624b9681ff133ad2dd31e79
+399695eafcc047dc03ce24a31bd1892c
+fdd1e449b9b7fa2c60249011ccabb577
+ee77bbe6946721b65cec2914381f33e8
+373b729f14c5596ad08d9008ae802481
+6554073b1cd9a4f708beb6a994630f6f
+6211ad871a9c8a4b256b83c59661d47e
+99dae9a1b2bc5478207361a19ff97da5
+c4d1965686796f499b6b0e74093c3b88
+1fc8ec936d91315afed269247ef43911
+c4b0c359a2c8c7ff70ab2a8c62fb3ddf
+b9a02c78e17f99f81bbb29a0ff6b99bd
+dd2e83a5fb9cbcdbf415846b8b1afa84
+66af3de62919377536de526abfa33bc8
+c3f5eee4c99c22a8add4d8f566635877
+b245d7a75eace1d480f8d2922ddfa742
+69d84dd7a6468f92ab74e10b3adbdc6e
+133b735ba8ac857833f1df0e0c5b1398
+b245d7a75eace1d480f8d2922ddfa742
+09b99e3e8b3f28e32443c329bbee7bce
+1d0e40b1caecf11f53aec71b4cd572a0
+8ada7df415521290880b12ca679211f5
+690a823072b60054aaafc6b87ea28e7d
+58288e1f51d0d200ada7a7cca76778cd
+015c9378e7f8b3f207d2407885099267
+2f9aaf91d2d0bc74725d97ae110115b4
+1541e3ea1f52387672049ce675106ecd
+5520d6d647b86d6235f0208f689c16d0
+49f4b515d1bfb4f72ddd63858bd1fcdd
+9db57dc352d07c74e670daf5eca1f404
+2c8a7ba62c9c446bae92053ff180640f
+226c463a1d7b1331230b26287ade293f
+d3b27e6c304e5fdfcb044c61277fafa1
+fb699fee543284d41cc61b3067c6cce7
+fdd3b5781156e298beee7c39ffed8092
+00e4223cfe15f6fb4e16b82aa634b060
+5f00cb26ff63b512056cfd1185caec89
+69d84dd7a6468f92ab74e10b3adbdc6e
+4725343ddd7f027d254c3a4399464d2b
+8c4662055a7a4dd198e98c5447866234
+83daddab54aad9a1cd6d119f3edbf475
+694dab069853b14781df0be8acf4a297
+44ae137a6259e461ac47eb6f92206fe1
+0f118663177300de20c50dc8ca6c453f
+be5ed5cf8672e018625ab9cb18325e78
+270ce3509726342ed007a7c0f050e5d0
+b56e660c4c65e342564272d2d60c018a
+012146196f0e962ca907a61f4acbbd29
+651fa50260bee2668ed0803ce4be0f02
+cf109604d93ffc873799e093d80356a7
+f75b03c7b05cab19d0524ed0b277ad88
+1784ccbb44a2e7ef5438c054d34b02e9
+8213adf16e2c5ae50e3b6fc29c4d2d7b
+1c73eb25d7c73dd600f5717f4b962d1b
+27284efaa9d7396063e966f55fd5b87d
+3100c79ed47f9e341e5e7549d2a186bc
+a02245c0ba4f1b12877f836f2d2cdc6f
+8e72e6eb78ef45925ea0829e95c48d8d
+fbc1dde6a1776d3699f4783dfc66d057
+44d623b080dd9f23c44b333a60f92746
+ac9398a2df085bb5f15d0b8180d528c0
+f47913aab821bd621e0c30e7ba19cab6
+c79512de4c14df5ccd4527f109d0e10b
+647ce86d83ef7aa3da7a93ba2e24ceed
+5f2b3d725e3b92adadbfdb542f44d342
+a6e88f6d0cbb478d1450d67d9964fadd
+4235f46ffe387712030a988f01a3cdac
+1524a9bf91ef783ed21ea40704c7756e
+f3de0014d059b2fe8060504a5fdda8d5
+0c8b8cc2c198b325e9f3ef79febfc143
+fc5b0938774c4ddc106f1d01ca90f9fe
+e50edfdb2b4b75c3fd1dd482e1cf53d4
+d87bde3ff5b20f5378d2b9d89176f7c9
+86d027ce526041d447fee0d7dfc22d58
+51d9c0e9566b520d38898777c44bbb30
+d20ad89466ec7b2bd036a5b970477ae8
+7b0811e42ba8210614bbd04f22d3d4f2
+0f9a29725111022c071b630176a2ab58
+0adf30cfc8e591bd4ee931ab0a8e0c95
+5f6a4022f86c8bbf5ec8e7e7df4f77f3
+961710f0d8829992bd603644ecf6f34c
+bc37e1669bf125f55f9ec23107b57274
+731e86fe55422ea8a9b4618cbbb69e7d
+b734a3cc625dfeebb2f0753752b955d8
+cc8d2c36cd8e25146b7c41a6653d3652
+f9ba0ad0fdcd15243343919e90f42643
+8d38518c189e267e1a9b50c9fc62f785
+761446383cfa7bcd00e1fe7b2fbac8f6
+fbeaa754ab93648f0c7b66aa01d41e14
+847b4fab6a1b99876e62f77273b70bde
+d32f571960d18d8f6c22a5c7a45c259c
+3ffc27099e249fcabc8f9c55af0e8582
+ae3bdf3ea7f12d1ed7ef0016e39f7def
+f26bacc29453055cfff8c8a3c970fc2a
+3835cd56e1e3687ff9f74d9e71edaf9d
+6ef81c2f1344af0294625779c97d853d
+845aff3f38cac50a9bcfc1015dacc636
+2f27c42dfb52c3c7462eb9a6189b59f8
+d5d118ca868e20ef01f1266fda492446
+14551903785872b9642f68869b711337
+99ed2dfab050befad153f92e54e3bf51
+c4516ed86153ea3081d66e7326fcb639
+20e235dfac30b5d2f6fa61be500eacd8
+65f7e2fa2053786267d7163864a5e789
+3249b1bfd467243e1907b4f7040b1ed9
+72a4442a0d7e5896a8db12d1fef3daa6
+a941b91c4182962d9b84d26a61bdcacd
+4a739e8ee1fc040121392570cd81ab55
+717a3f5d4f0b2aef23d5796961ab7693
+e21c42a8b1de3ca00149c7302f248f81
+a7ccd638a67db6b71c77311b44e854a4
+04e594f04ff38a8ba5ce19693e3d1f82
+e3a60ef8fee45be8ad77deeaee6e3a4d
+bba524c967790327fe5ad3da3c0b337b
+72be7a3f6d0b3c2758bb829ea3d98962
+0e00604f701e2a8eb6a484c7575e8e68
+0cd07c6d60a18dec5f95fd1f281b8376
+c02f4abffb5e36e25653395e83389bff
+5713bffdb2ff64aca5729f9edd0d2ed4
+5e55d9872260246e5723140594899ae7
+172ba24c19c733117c7b448829a1e684
+234e3e3eff937f6afbf156b56691bd87
+09ede72203835930c4580e2ac91389f8
+610c97b6164ce4d25ada381091102e47
+0535cd173995a3cf6ebf54afee014dd2
+563904db2786ae7c9cf25a79ef82135a
+1b0f5d4737dfc52fb3552c20053c9ec1
+d2a4aa232eca2d071027d9604bcf2519
+5b103283637d719d78cd92fd547abaa0
+85919cfd04ace0eac0a40032d048e96a
+d121683385988ac65c793918d42db0a2
+c4d60e48efa0c7c69197e2c15be800cb
+7b40a7b554f884e79564e603734b4aba
+44d242137b46611bd646d41471929e18
+a7df712529eb1ea340e167287530ccc5
+85919cfd04ace0eac0a40032d048e96a
+44d242137b46611bd646d41471929e18
+a7df712529eb1ea340e167287530ccc5
+1aa6bb24588eedddbaf2afa8d63187e8
+aeca44b1c0156cbdb1ca4cfb04e04e0a
+5631c6dc90125c60269382c82c320a7a
+6b66482b57d9f66ad2bd042fca221713
+6b8ac2e6d95681882f614980796db51d
+f279fb8639d5c166f2da2121ae2c9fbc
+68bf2afd3c37766774eac98ae90afa2f
+1ff614ef39ab4cb5489712afa428a287
+7e672f5f13698fe173029ea0e19e79b8
+1ff614ef39ab4cb5489712afa428a287
+8ad95def89d6fe029c724d3e2bf043bd
+9f94f2716dc356598e5e70d8d43b4684
+3fdcf0282b31c1a1e658c7fd735f15de
+f2345049ed20db6f8d00f7bc24b05194
+6878981623da0d344047607a949eebeb
+97addcd328d90d8b3ba8742328074b74
+292b0dcc7f7ba073b80dd314bff01df2
+88f76069ca8d47b10290bfba4d308f61
+d15713d58ce26a8ec8cd94bf80ecd3bc
+c4dc725f0a0d6382e918dfba26184f3b
+092de9fd339fd2cbff5d70e02e29b89d
+d3b5003ef42faba623959a9ccbc319d1
+fdd648276224729523e51a3a99b58254
+09e1e7b8913057ba1389659027d2f645
+72a1364634dc510851d15b96a91b5e7a
+c34eefdc8adc337adcc8a6c5b48d7c67
+759e2ee9a72339e62141d5a906ce427f
+2d15593898b4bb2d71f6de2e4cc6b313
+1afce666b45352b9bfa86707f65a0462
+91c0485ed9b8828e0c4a9aa00b9ceb2e
+be9250efa1de21c0471963feaacaa739
+b88ea2f9bf87cf81ab6bd2c9dd44a73a
+ba046eebf39f9322f660cea092400fbd
+3662381b1e0172a579e037160bf2db9f
+c7e50ccbaa2ab66b65c65a609ea2460f
+b509a3e749fc8ed68d6f26263b727b1d
+54e2e8edb6879892d3f5ecefd26258a7
+5b06e4ae93226808cac9f0da521e72be
+2d8ecec01a381318bc8bbbc37209ce01
+8af6456568455a9db9dee3b5c0a534e4
+fe43e6f71e2f023b70f2ad68ed436263
+df5270b22c23c0a8ef8446f635b1b921
+e20af2cfb63b555ba79d5a0c146875a9
+4468cb4e5dc41e1f47a7e61bc9e9f433
+4ad2b00664e701a4006ac9faf29b6f7c
+b0deef07205fe00422cef5286bbe8bf5
+6a79f7a0606dbc1a874a3204b7feb375
+5a09335fe38f12436f445cff9004d3fe
+d4d7af66f6b408ea4b2d5f23a0cf4420
+c912d3508586b9130883b16fa62d0b46
+4561ff92991d09214598705c30d92272
+c5689d16da94be0492532b81c439a8c6
+a95e2ec178531d383bce0a36c8ee88c2
+8970093704894c5b2b8c173c47c5c033
+64708aba775eee0625f4571dfd180640
+f7af654b80edcfc87b98595256bdca90
+a609142c852536524e606faa2563d0fe
+218f99087f51972db9fdedab63471df5
+f7af654b80edcfc87b98595256bdca90
+8fd63786e5ec81adcbeafb3ed5cc15e4
+68f5615dcbf14183ff91f086981ede66
+9fd938c24d581c1b4be7535fde493967
+56291c0651c7dfcc8516c15106e02b22
+c55c3622de5d7d53fe104cdc2d1a58dd
+6c72decae0f29637648ff062bd153930
+4c113b27828d8fd4062fd85225117683
+48687956e1306538ae4a77bb092483ab
+d011c08d38bd1cedc4e7953b8a0cd494
+492f8ca2e2600ce494e51f30b05a3989
+5a1032c3a0aca3021a184df3014ffaeb
+c55c3622de5d7d53fe104cdc2d1a58dd
+2b8852cc63cc11c43927aa03075f5f65
+a63fb06eb13318f6517d951d6fd8c163
+06fe73cc4ab70826a192e4dccd93ac79
+a84dd3249103dad6631e0af9c2470d14
+0c32be5eda6e0270bc082c352baec7c7
+75fa4de2042d751460816a9d0fdd2d1d
+2ac9b8c6bb75d250c756a089d24976d0
+34dd36bdf759ebc456229602f3ad29ab
+98a7efad1597532a24c6276e28d9495d
+ae93b0831d4550f30e3dce0114760454
+3d30d4a7e102d11529332bf9d19c2b1a
+3983fda2dd546d85e3593cac14a6b592
+3ab2e8fba249d909178246e7d5a141e8
+0859f4d1ae0bbf096001b10de41ca02c
+a2ff36d1d353e7264215764e8678a4df
+2d060d3f5b7eadfc1ebaa731a5bfa541
+99a8d89adde3ab647979d72f955af17d
+2fc80aadb0d8fb96f02bc85c1be1e910
+d750cf7ca3ecd4951b22a82dcfc423b3
+6f622be0f5ca52860de0a55ba2fb43ff
+5be07e5e47b1183ef2dbae44bce3db41
+8aa91f4db1bdbb40768808be1f88a304
+c00cf1906518c51be5242fd91e5678ff
+4db404e81ff7ff8fb9c0c562b6f9f929
+508f22c28a2932bd95df25197d31b934
+62717200e1eab0ad8678fc94db5a2041
+2c627100a09ff69027f7fec8d6bca10e
+b2b363e6cdad7dcbb51fa0679b09c0d4
+68e2282e051168954634aa19e4948ab7
+547c8cbaff6b66de8423a71e26d82933
+80de092235bbb42fdad45750c6b95097
+93324b3f5dbf8805419cd60e9461147f
+0feac665dc24a78982ce9570e9e1a325
+0a8734c7c80d4922493a24166988fd1e
+f39773798fd95a4c3db4ba09c5944706
+f5e39fe80b578c6be73fb3a3d95a852c
+1ec0beb48f59ec1ee8dd4dc9eed4c6dc
+bec083116aba9eee06fe2a29cb8ce36d
+5fa0f0ac3e27fca90e10c996766290b8
+39148ec4c31c07806d325bca18075dba
+b57dc9242749aae09e1d84e268b2c109
+aa641904492c416571d1a12227de521f
+b379b580aafc44abe32211a2fcae17af
+70ed89a65dd60a6a10e840bc8580437b
+f6a3512d2764e801cc6ed766cd009dd7
+ca689ecf3eb5d8c9706b6b112b9100ea
+7920f1be14515b2db905c32ee4e89cd3
+12ad4b7856fabd4781ae7d3919d49f0f
+3809603c88f04a434785157da25c0b89
+62e52cd0be11f85affbf530d5414cc37
+3a67502a8d420f03fd2b2b268c26cdfd
+0feac665dc24a78982ce9570e9e1a325
+41a997113d4cd953f91f1d92787ec91e
+beb33fce7914dccadd9f293850b5efda
+64059fcb42e042b8632fe48aa9727a3c
+2e123102cc71f92483970f997f68b0cb
+bfd707820f94db457ff447b15ba3be5d
+a6f81e4fa1323340c3f66c1e068b3069
+7be78f70c6c527d2a4d4f8e57ca36188
+9387a34219b7fa9bddeb7ad9efe443c8
+13ef6f6e1c7ee8c6e0f0ff1654eedd31
+56657c131d40fc890b1952e5c607f803
+2f367a0689eb974f2f9b7d9fb2da9c78
+e349cc965301cf64c5340d826f31c606
+57701cbf489375a3e937dff5e775404f
+213630a7bce8d0fbe06e31ef4d9e8ab2
+35662a6cb151d7285ba7a3f0a728d4b1
+0c7fb4fa15b074afe631b5a2c4cc4d56
+011384c7af584af697ba883ee1e81226
+e7a57e33186addc68d0f4f26ba24dbc1
+801b183bd6f78bb6fcbd25c77d45d23c
+1d857142cfa15335e09a487bd43d7a7a
+a97b14f17864959691bcc567f206a83f
+e7a57e33186addc68d0f4f26ba24dbc1
+e568d76fc67f2383707bdf2fdae0e159
+07bb5f568353de7fe38bc3b8b5a13b89
+144c36332fc7d1bf9868ec64c24a69fc
+862f8e07a118e1b009d0fd62f289329c
+958754a3b0552ca74adf10e10ace68be
+79893e5797eb323488fed6e307c5ec74
+156de3496b54bb4a109999cca991bd3b
+2333e56bc39d7e0e862cca576ebf43e7
+1afce666b45352b9bfa86707f65a0462
+20437180fe1f6b8bfae9e36cee38b079
+7e8ce9ed4f3e3da54b5c171c59229d3d
+3d562055c90f991b406f9ac42621f7d6
+bcee15c80cf0caa7df827c5c6c752267
+2771f3a8fc346907a6d33e8b6bf3e3be
+be9250efa1de21c0471963feaacaa739
+ba046eebf39f9322f660cea092400fbd
+b509a3e749fc8ed68d6f26263b727b1d
+fae2e5f4bc4a321c194f15ab1764442f
+8ce5b2c404be11617c3be8be885a1645
+54e2e8edb6879892d3f5ecefd26258a7
+5b06e4ae93226808cac9f0da521e72be
+2d8ecec01a381318bc8bbbc37209ce01
+8f4e9c88d52c217ea6e0a26dd088471d
+8f5dd8e2489da6aed80d184c016b02ab
+88f76069ca8d47b10290bfba4d308f61
+d15713d58ce26a8ec8cd94bf80ecd3bc
+ac6d7bc34a5b82299d6bd2dea899a4b9
+701577e5da09c904b7ba146e0e847c12
+c64590d2bbcf4749f73a376b5dbb5cbf
+9aa22d6b03dfe6425eef063781fc794f
+b47e59ac60ee61fa6eade5560c8a43fe
+2763dbdddaa89108ea06c6a1a119bc98
+bb413a3c8aa5878595b40f96ef61e790
+ee745dc93f3b71b7770d2bc902da0160
+26cbbd602174f40bbbfbb7b5fa4224da
+5ac21be8cd565186790ecd458b34c92c
+e860d8240448544a081e21ada573f205
+e860d8240448544a081e21ada573f205
+ea1c3c9302e5c78ba2d28739baf28aae
+ea1c3c9302e5c78ba2d28739baf28aae
+ea1c3c9302e5c78ba2d28739baf28aae
+d57ec33af4bb922987f13ebc02b66d71
+dfe6ac0aab205304811985f83c93e75d
+d857711d82c869e832f027e55c333760
+7d387b91a3b2f28da790a6c4ba86243e
+70a41a28accc4df61377f500a28ebf97
+dd3a1959ae351cfdcf28c24d72d55234
+d51ceac895c89200b94e8298ba9f9c10
+5cee7ef6fd8b38f64cce8250a5f840b5
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+5cee7ef6fd8b38f64cce8250a5f840b5
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+5cee7ef6fd8b38f64cce8250a5f840b5
+0dc1f53414a20745cc12544bb68588b3
+d51ceac895c89200b94e8298ba9f9c10
+0dc1f53414a20745cc12544bb68588b3
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+a5ffbecdc318ae6b8c4b607f6898eede
+a5ffbecdc318ae6b8c4b607f6898eede
+a5ffbecdc318ae6b8c4b607f6898eede
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+d51ceac895c89200b94e8298ba9f9c10
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+d51ceac895c89200b94e8298ba9f9c10
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+0d098b07b19e8d4c2b9ce67be4b1f4c9
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+5cee7ef6fd8b38f64cce8250a5f840b5
+5cee7ef6fd8b38f64cce8250a5f840b5
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+5cee7ef6fd8b38f64cce8250a5f840b5
+d51ceac895c89200b94e8298ba9f9c10
+a5ffbecdc318ae6b8c4b607f6898eede
+5cee7ef6fd8b38f64cce8250a5f840b5
+5cee7ef6fd8b38f64cce8250a5f840b5
+0dc1f53414a20745cc12544bb68588b3
+62b75825015dd3d81bf10bdf19a21c8e
+0dc1f53414a20745cc12544bb68588b3
+6fe67d155a8c536f3797972c92e963e3
+66951db48f07e5d04523e4631ea30c40
+61a4d6cebb865c9777f27eec4ff9763a
+e9e5e6884994692e71ea4e69d98efc28
+a5078df5a08c15af25994d51cac582fc
+699ff82d4b72ddfc97418b6178100d58
+699ff82d4b72ddfc97418b6178100d58
+0ebc788d831ba2cb310986cdede2b600
+834687e70705f381c268e069376d5bfb
+77dbe275bf905728a3575eb4b348d2b4
+f47dbaf11ef0f9f0a37f48a77bfdab62
+060abe2fc46d50bb5a0a5bc3c7b7181f
+f61fa5599d1c183769dfe89651f0cd7f
+1c8db3cfde8e0b83f34f869420aa20ad
+c60bb44251a11601bd9b9abc4fda123c
+8424fdf5998f6702dd3ef4af053879c5
+e42ab2bce7a65e7a7320acf0c1938521
+144e605b3405d6e716ac11fbedf647d9
+7ee9fc1799eabf643be2c9cf57ee589a
+776f158f449867a710271b7966fdb391
+776f158f449867a710271b7966fdb391
+60fe447fdf5d57ac7fd7abb0fe487208
+111ca6c31467248129006fe286b755d2
+18bda9b7ad53f87c8a71ddb6cce78683
+c2b843479f4c30aaaa1d66c4e255de8d
+96c87ef7cb66b82eb70f581d907188e4
+018082a06f0d4a4b5a7061b0b87e27c3
+8809c7d3679a049f8a5c13a3e17453f2
+78f402a4615e5e687fb6dac6278c1d98
+1069ac5c4317729d17363b199ebe7752
+c2c3c4ec6ff59153a11894717cf95fba
+060c16fa89325259a20efdc491ee510d
+b6795e2ca64b2c539461b55c40815dcf
+23ae6c741a1c61e1225321b380d375d8
+9677ae08cd013006858eb00709259620
+9a41da7f2a9ea716150abbfcff275042
+3ef5189510095893f34fbc5cee5bc2f1
+e0d12c9589316c7ee445111673c2d821
+79de5481a43aed7b36d9ef61cf1bdb9f
+0bd15fbe5ab5388ab6b64f753711e10e
+69fdfd23ba8c565b505881bd601792dc
+f31b7d3ce6f21cf12066002defe1ecc0
+cd1cec2a90c41024563fc2459d3d20b5
+0b4edd03360b30f38d92ecd9734cf52d
+600a8e05d8e271b408a375f22efc4284
+41b44f1e4fa5e0857075a8ff8cb19bdd
+cc3f4b78f9991293e15485e83108e056
+97adeedf55f9412afcc464aa80c65619
+ba89272f727a5fca0c0591c72ad85a77
+0f1a400de22706200abe799ed07bf01e
+a326ae49e7ff0dc41f65859cc9308102
+0d4e1eb5b4416a262f9f78a273183c1f
+0684477b53a79325d2a78316a24d9aaf
+42fc759852454bddfa29796ba9cf1351
+08b342eb7d84991e128219a040e80a20
+11599bf479ba0ee0d6a85830d9c869a8
+e3a34cafdb2e4c1f7233a1ef23f4a7cf
+75a42d908b25299ed517ef26f65cfb3e
+b3adeff69ed6fd81659a7abb419152dd
+fb20d136609721ab30c0cdd8f7062f54
+689cfdae7c32bf63fbf148a3e4cba8d6
+4e14cb380e2f245981d41c84d46c63f0
+268068c180d86346a16728732fe082ce
+7d501b3b1215c7d9b390ff857bbff548
+afe9924c1bfd5fe06b69b423569ac3ba
+722d68e9b232ee7139d0b20dcd268d57
+7d501b3b1215c7d9b390ff857bbff548
+1e9c97cef8c1dafbd6531a8f34a0d64e
+0ef4416f9aa82ab46e75ca0872620bc4
+04c9c23c3bce2479d2c05db2f72426bd
+1f89fbb31a0d002b4b28a67cf1ef40f9
+92efc6f0a272705ad581cb48adcf107b
+dcdb6b1afa8c78c828489964b1b1b42b
+977ea18373f1b9fc771489b1d278acca
+f1b70285814df7847b7e4fa0eb4f2141
+b1e05334b47132a1dda1a0080c10df9e
+b8633fbdf2e5d04d82999386e645afb1
+cf3c9a552752a8dc49bdd222b6cfd11c
+fcdad80d98f8282a4c4f18499f8ebd1b
+839a709e836d4c56e0008a81340b5e85
+fa04316869aa44295e52513e71ee0c07
+689c3dd0c1b33169e8f01da65fbce2ec
+881ac5a9c44bed816e41396038abaf63
+a664698f853bc67bd732a67c1f56fd0b
+91f1911aa95f22949ce1be33b9548e7a
+0ad6aa884b7b44a14be0e3b84d7efb71
+59cff264b4dd61c81559bfb085b24d89
+291ce74c68c5f9dd569efc79ebef1bc6
+83594f101170b31c19a5da3b3838d9d1
+820e23453c9c22c4545cbcd325a289c0
+dea5810c399b7e2ccf5c51e322991268
+c0f2dbe3ce8cea154a1427ed449a046b
+5a6b73611e363884d27311ca8a53460f
+3ff73486b5fdf981899d39e1c9f62280
+a21476be071e9914f1f28be7d401aa87
+5c618468be29f887c4ed054310be0021
+cc8e5f6442f78a80599ce4c451fb48ff
+f278ecc93279380345cf1b81f787b4ba
+848638caa668eee2e88d7ddfa9558963
+11ca63a13ba59b6e091cbcafac4bdb7c
+0f64a170aa60e2fe46137c637be8b98e
+5ca9b4b5014e08a3c991728e781012e4
+27f233bc9e3bd925b3a4133177320296
+20a2795657cff9af5c44d8ce8a5f4f18
+a3e2d0669be3bddf14f0e463be1579a1
+1605619e6fc3f8ff861801daaef655f7
+10dfa984a27360abe31ad272d4050130
+cb39419f1b2abdbed847f5494529d6a7
+59f72da6356639f37a3c32c9b470080d
+ac7419b6e6135e28c344832926b78866
+710229148726d3ccd9b34777e5835d93
+05e601c398be299439dfb1696a3842b1
+9ab7d155af988ccadcdd12141f89fbee
+2a55319acddf488e17e0c37069913db9
+ef5b87ecba9931acd2ecce67cc104217
+a8a8d05debea283184de241fdea495f0
+72d5a4e5e560024346c0c10d981cbd58
+61c65b0e446de6a85636fa3c3af27870
+e152fa7e46da397256c1f606b1ca57dc
+b4d046f4c330cee25f3b872776592f30
+9a4f9684df3c6450fe1d35a2f509c7a4
+ecefc7ebb03cc09c1fcd965bb70a4df3
+426c4d54c163b11828e9cbec650315f7
+9cc3d26a383a3697f5ee7254aa6e3597
+cb9ce34c7f0ee0973903fcc7dc41f66b
+ed0d88a93e1e14803988c0d4a57e771f
+361391c5883af460f858bb5c9a27dce5
+4c810e3b427bfabe8593af9e9ddcbc3a
+8163c2b646882f6d536415165492da1a
+50aa3c61f473bc59b588cf4f35228a71
+5027fe37199d882391900bc9c7b856a7
+24aea58dd939caf5a096dc6faa53a38b
+39acacdadf17ae1e0a133c9db1953c5f
+5c618468be29f887c4ed054310be0021
+59cff264b4dd61c81559bfb085b24d89
+b0ffe7bc9b3e2b272ef9b38b19dc8198
+e8845722214eb967cc0ba8ca8b491c5a
+7068ed5785dd34bc0e3feadb5726ceae
+5178930ca1006806ce1c93ed99e47faa
+8e45b03eb586a4a70bc3bbe6ea535864
+406e0f97fa9e81166212c23fa8191064
+295f0bf34eaa6b13053b63d15f3ab70d
+8ebf741ab837ff8d7018ca94fe11bb47
+801487c23c277914e18b042621c90ff4
+f08ccabde21ab1144017611970f2ba12
+807a17b48a958dd5b08fee5fcc245cdd
+20a2795657cff9af5c44d8ce8a5f4f18
+6b29a271bfc8ca5b3f4472e0d5d01aed
+89eb6e1f09f53d04a16886d75d19bda4
+c51e98271c4ec73247f7c7124cfd97bf
+7538af163bb4747e72c3a572f525c384
+499a84821fd8a2d234dfe8aa6918450b
+dc319fe9230a587ed61903c15ac4051f
+3b3e6af057c19cee572f7223916ab007
+21edeec8d3efc3212855be401c5fcbec
+067cbd1056d635049031b88c07ba915c
+0ece361c7fa23488732eb2ae43a6a9a3
+0922b7d6ee7a01d298ff9c62f3582c7e
+9bcab489fc968bd9b87363051ef23631
+e2b7a08590ffd8c80e814ecd8e3f0516
+2feaf36b4108bf9410cecbbc8ac16018
+7634fc96806a31d8fb4d9a79e5662878
+8d0d3440d9ab33c43d86168fe3731ff6
+ee7bfc4859d06c73f74572c7a0a4a257
+ca668a07901666777b8d06b15aaeba04
+e4d95a79244af6abd91d9254e2bf34f1
+a48c6cadfc476f32bb080c6e62c1a411
+50fd6aaa49a6affe79cde2e2b69312ad
+6af9e302d73562c3d723428e36315230
+118e7f8720144424362614f119d20ed5
+823318430c5649de2c2c41a01e28ced1
+5e33ac8bbd1c918414eff92ec9811e5a
+0f3a68e0b7c159e6605e81f684b4f9b2
+38850cf47841a1e06a9f76519baccc66
+a2fa949a376c70405c7862be1d536de2
+12f511d7983ee8056da49817d4a53f65
+c9f702e50c636c2aaa66c3e7bce8e02a
+87e38a4399ba8bf20c5a037390448239
+7b621211b4feb88d96d83f89c26a9f6f
+e859433502e2b8454389bed2cd02e973
+1d530ca9023093f546990d74a98234eb
+e0adfb863d86fb8fadad408518f9dfc8
+e62ff0f2a89159eebcb6a0bc8aa84a02
+572986cd30181543ad08bf31e75eb8ae
+406f68f069230fd55b84d27a7e2b36ae
+b138475c8c42f0cc4b562d6476fb17be
+10dfa984a27360abe31ad272d4050130
+d36c8011142c003255c18d409210c9b1
+6e358dc21ecc0643586f2c9300ae02d5
+71a5e9dd54c8803b0d2cbb8608b361fe
+562398cb5a6f99c7d7176109fc0ce615
+73f421ab6099db3eb432cddb34914e08
+68fd895e2803fb60352f2761633b58cc
+3670ca73e9cdf82d282d58bf8831fa4d
+20f92fbf42d611a45bbe0e7a9c308eac
+d7879d5e984eb4bdcf95004c5818b45d
+b1747ed74fa74fd89f7910610b1f904c
+8fe2f4c7461e2dab81553aba71bf87cd
+e14d482a46b3c83016525a94bf372afc
+34bbe0efd7609c7f250b7ee4a1c2e001
+85c3ea756768025d54973088a330975d
+d949b296f634ec3bc32dc5905d109e5c
+092e9275c6a2dc85aa13b55afef6dceb
+6c7cc80cffebd76ae03e07aeaec9b24d
+42f31fe4d3e7ce33b56d823d29b8ed5f
+0f77f39e40febeffabffbb571fd67abc
+7d09d96709b3bbb2af03df70f2fdea7f
+98f1d2b31d6fdbd9d292cf1719a15c87
+55b53353d791806d9d11e09f5c842d66
+9a547bd8d700ae180a307471538ac470
+f8233df8b41430c2b6c978c71a1f34f5
+50479b59d67ad163e7fde1df6602835f
+48e7cc5808d063c6e84f48c1713297af
+bd04f38fe550ef44e792b6de56ff7ff4
+ad15918a28eeb5ce8e60b0f41ef88cec
+59cff264b4dd61c81559bfb085b24d89
+46abae3c8d9bca3699dab4fc17362487
+c9a6570ea446ee6ad379e9e13547692b
+db8b0454fefc99c14b35fd106210377e
+dae5616e7ba1dbf412a9373d436b455e
+8ec024ec1294119ddd8d6c00e221bdd6
+7a0cb2b932ed7b57fe7f41cfa3a66be2
+ebbce16e0c9b220a88e3c379f53497c7
+59cff264b4dd61c81559bfb085b24d89
+37cde9bdcec3d43a6eed8da0a219d868
+7fb1fa8327f3f2c9e707085f7f4e8bac
+17f14f59deb714a6f34a43e20de2c34a
+e46ddd2206d9f0a7a3c777c1ca3dc00e
+7e1ecba1e635f0ac689df323e070283a
+534bf38f7a3b50acc6f55e1246a41567
+4766dd023386a75823a521b12b6484fe
+642945c35d538d8710ee32342b195935
+7fb1fa8327f3f2c9e707085f7f4e8bac
+bcb0508d9703c917593de3d56af221cb
+5626d5c8d9c015425d8834c221ce986a
+bd2a70fa8c4dbfa7d0baf7e8c499c2c4
+42688acba64955a959f75e4a4881d70e
+bd2a70fa8c4dbfa7d0baf7e8c499c2c4
+92f64c8bcc530127f55657c2d6c0e644
+539325e0b4792646d3ffa37dc819eec3
+07ebbee9883986665685ba9d2f265627
+a8514a90b0f431b5091efaa37487cbae
+b882e744b1b614cb66fb7123271a8efa
+84955868e38caaf754ff4ea5c3b38d69
+c7c67007539ea143d4589444d4813fc1
+4f963736189ecaf0d22868646e088781
+f75081b28757c03f1adbf9a46afe8d75
+5592d83ce7709b70130c461ee888c91a
+19b0818d494ea666ee0899e0ced7b27c
+24a92e85140978fddf08c04d93746ded
+f0a159221a57e2cdf95981a405581206
+ba114e8a53357a2daaa5dab2820abd0f
+da42d9a2a70340b1d79924113d88c046
+04bee9c75d6a26f472026d0d241beef2
+1619c9e9a11c28a81ad4ce930d9e387c
+58f138611c860a7e9bebd49675c300c2
+59d6bdbf54ad4eeca583e3597729e1b9
+fa0f3e1cc0075a5a25ee45c0490bd246
+b161a9e4525530df29246d8507337977
+4ce802e83fa49c37fd339d35333094bf
+c4ca0737f436c5c3943c80c6e7ec97e9
+11ca63a13ba59b6e091cbcafac4bdb7c
+60a50f197f58d685b0684f0c2f500f21
+7349e27768be06b46a45e90018523683
+3a2e813c48b6d59b9f8018b855d98454
+34e29fdf13fcc8e59db4d548d8fe9b41
+f2c27f00faa9dd18ba966def0581ddce
+ad5d267c7ac5b0bfe7d01e886403a2f7
+6e949bae5f081939dd5ab74857331c4e
+a82ba288d71250258dc8c7aa2089c0a1
+994f5c67d708cd5b44c97ee4ed435195
+37a8c399ec57a58a29ce2fceee3e2744
+40f7f76464a91a12337f47b3964db15c
+c4bfcc0e8d0a495c42686e007801e287
+28cca878201be67de3e564eeb025d2b4
+e5d1f7fe413356b86fc4a82e1da6dea2
+6d0de19db79c736ce15b4dea90f22a46
+7897ddc8e7fc3eae2f86e3ba2c63f6b8
+3d172b72fb59f4dd0107def484f785d3
+e0cc6bacf427a18ca2b9dabe7ed8fee7
+156afe034717f81e906fdfa897642edc
+7f7d6c490a0c5378b334fe4deb2d0e10
+05514a47f06f245b023bc51905f2958f
+c772f18c215f7398e1edc708e5ca243f
+ba90f39ac09c4124aa7272a4df3e9a40
+21c6cd880dcc79475bea1e844c1c1cda
+034d3d2d06901e0a4eb1d6368d51c61d
+632700c96863cab5b4bb22b6175c8f56
+f57b60e139b617ab260d69fb43d84aa6
+f482cad9ee442ba72da0d4116d69bf60
+3099c9e49f232bbbca3964c5f76ef6fd
+59cff264b4dd61c81559bfb085b24d89
+8cc0906c2030e4ced39145906ef70bb2
+f94004f37cdfa4d1c44c622ec38e8d7f
+64628aa25c724f30af9ec20107ffddd1
+f446f6e1e844231112ecdc7bd53e7b1f
+7bce9356324cfa3c81b482d1f19ef7f1
+5c618468be29f887c4ed054310be0021
+41862722dfb9bbcffe510af9a85f7816
+cc846385fdfa20478b6ab6d6dcd2b9de
+2b57bd2e53747ea8adae2c909747f170
+cce3ed638e724050d510d4d5d0ee3f9d
+f12606f1a8cdae243cca919c8bafe658
+7fb1fa8327f3f2c9e707085f7f4e8bac
+57e505d2a7263bb79e06443f7cc0cb3d
+cdf342ffa3c7825fc6a6d03228fa87ea
+636eddf7a7e71638c88ca5eedb789e62
+8ce6af0ba335d52455fd333125ab52ce
+6b81deb4f347cf3499c400af4f0d4f46
+9e0aa5c0f11a855ef4ca781d5d0b2bfa
+b8c5b3740b31a69577724a64ecb59636
+468f52a06547dd252a9e396cf5d220ba
+d676ba68a25b1ade749f9138acbc2ed0
+ea78b5c73a01febdb2dbabd617a10569
+eaef58a39aa25b18b3be84aebb84b96e
+44ca85665cf169e66d675a622d0f5ca3
+59cff264b4dd61c81559bfb085b24d89
+f1056a27cc995360ba04f33a7e2252b8
+d044c9281405abbd2d2463c2b25e9fae
+7e643f91611e44654b96e0846604f141
+9a4f9684df3c6450fe1d35a2f509c7a4
+921094af2e03d959ff0a26cdaf631b17
+48e7893c598a45c5565a54fb2533c204
+08469219d622a1c0ced1d696096ea048
+da09373e7b77f055d92df80c8ebbe632
+4cf0151bd1d0682e894f4946ea3de0d0
+b30d28da33b435b2d8da063a8500d806
+59cff264b4dd61c81559bfb085b24d89
+2193d1fc13a4d7df7cda6dea09a77257
+fbd97e7ecd684d5712be2eb7ccb20bc2
+c68e927cb775e97f6aee4929e71f4a00
+49065a32c5e08c173c0611876166579c
+6db8f6f4c3deffc3d361341ead13f792
+549a6719bf732433d610577ee2f384c7
+50cd99eeebbb9933219df5ed54ab375c
+5dcc854a1cd638857a74accc6d09e78d
+d4e3d62c3c0209c8cd098b3b75e19634
+15d2c0dd9af452045fbbdbd2cdcbb0ff
+5dcc854a1cd638857a74accc6d09e78d
+b775dcfdb741bd5cc96deee49fb5423c
+e089a28d35b63353336004810994fbb0
+c8ccf40ddabf1ee7be7aa233b074b02c
+6b41f9fbedc9d02e4dc59862ed3abb00
+db15689b50d5d903b08b5407c641cd2d
+b0a7f0808b11555b6ad89f554a74a79c
+22405d6ec4ff23c481f49949ea8840d0
+1ae5cbf85095868ff5d44d2209122f5a
+2153b78874ba9583943db5502a8136f6
+f66c2be44e0926a62b01a20a9d209c98
+b1e434613a69ee7b8babf789895d1287
+3cb45b19ad8ed9515ecd3551e92f52b5
+84395e79a0a2227ccf37e78f00eaa411
+23fbd8f6c5c1e796a0ae72a4f8e4579d
+31b51be76e671fb7b0b8b2760276cbb1
+012de418e304dd8b079cd2ddb8597e2f
+af1c2ebdaa520ec09f7a7f06ba77b3de
+4be76e7a46043c2bc970757f5099797c
+099a819641910ddd56f342a6f41b2ab2
+5c618468be29f887c4ed054310be0021
+4c59a589e2ccc107a54f486ce7020e9e
+445d15b9948de5df8655d5af481f7563
+ab81a8466a52e1546dbb8d3f83c3aa04
+91611a2d975b392221ac738a89ebb8c8
+c1b9c3ab98095ac327b434d486a5abef
+2bdb665b3ae8f10cf93855a916af96ea
+59cff264b4dd61c81559bfb085b24d89
+877fada5093c3f99c5dee6c6df6471b4
+ab81a8466a52e1546dbb8d3f83c3aa04
+c1b9c3ab98095ac327b434d486a5abef
+0e1fcb74e77a151ce8c054568f7fc16c
+9f16bb66e8f09e56a538720e552c3923
+422019b1990f14515d959ddf9184eeac
+762693ab97af57440b8b6523971f3906
+8befe09c395aff472a2209e9b2b8f583
+7c112958d9c5c402aa7a6e341eb94928
+59cff264b4dd61c81559bfb085b24d89
+04ccf83a4a847ee1d33f6a8dbaee7d50
+9afc73fd2a78f01f1e3820ed71cfe43f
+b317d2e5355acc24fc8893342a5f55a4
+2d07a7c02df8abe5ed32b96db56ebf24
+b0bc1753dbc8706151853fa01fca8f88
+55fc4069cbbca7e9f0dc2c9fcae99025
+54dc4cc874bb58d645cb1afdfa254155
+4ad4ae81568b2538b74ceb378af5b05b
+b0bc1753dbc8706151853fa01fca8f88
+e85c9196d6b371a2a11adb2330bea97c
+5a0f9267c013c234fd4062951c696fe5
+42d54058336e9ad591ad59c94ec48c2c
+6b4bc47fa89b87c434002c7843c7c558
+ee4b6622c297640a423b5c5c3b6499da
+43ca37aaf8bcc67fd1979d3ab7ce7d08
+0e160af3378385dcd4dd60c2b633afdf
+472c0d832d082eb88a4ce73e2ce21e76
+1a46fb3722138f0cbbf640c170b0baf5
+1f5104359730d86df25c04bddf22bc31
+9ec215f861ce065eda17612cd5598ac1
+ab8f6ee083997ac143fbbfd78f9af956
+0baa578a9f55740065e1c775ed6dac2a
+ad24d79f2ef6f968ca00fe2c3fd28cf1
+8ad716164991b520bd6a0d541dd902bb
+687b7d13d324b2a4097fc0876420d26b
+bb34a0e9ce3a22056ccebd4243bb8ace
+107850f33aaa963bfbc942be37ab962d
+bb34a0e9ce3a22056ccebd4243bb8ace
+4f5b6d5ecc816bf102f350098a88c147
+24ef7f38848af455fe761958a54e5809
+76feeae2ce4afdc613aac99b367d67e2
+8701698982b96cf5cbd4345610e2064d
+18d560d6dcd01f50a0327524fb9e9859
+e269cb16d9b3771cfea37d0af518caf1
+0fd40844e62a9864840bf5fe916cae1c
+a362044be0783142b0d7ac1115bd70d3
+2adaf08b820bd8a8a3fc2a4f1623614a
+871f3c69e9c79ba8cfc0e2b6733ef22e
+6540aeea7f2ef921b5e6a3723a9b4ddd
+308d307a45e93d14396c8fd14dd8c4b6
+b5d8d5a550b2e22d039217bfa83a31f9
+2da9bbfbb7c3664e238b33272290500c
+11ded315378fc6f01703c8dd491f2680
+6b45b0ccad0d35a8e7965ab5d711db0d
+dbd1643c5f3cb522cfa47aac6e1eacc8
+3f0a645ed26ba90e2f2f74205b8022a1
+bdbd93f2b9a0b68838c1610482504c94
+560d8e954e0890b4ab83f24cb929275e
+cc8b15186955e04250c30ae4a26827dc
+4d7c0464025b8e52d629861376dfbe9c
+a9eea967a487bf97178634fbc017ac6d
+f95c55f9b3eb8c11aeaf6e37b2147bbb
+18e64ecc9c775d2abcbbf3cd7cc8850a
+c8bd198e6594e0841fff4f42469fbe9d
+e8971a435246428784763e2f0b095860
+da6367fa776e1cac6239b359e092e165
+ca050ef83311267e5858780d75a6367e
+c8bd198e6594e0841fff4f42469fbe9d
+502bd741a196e87b6b1c2107d2c8715a
+e84111326046bf0fe51d3b5d99a9e48e
+6d1a66f92d1b9c5ec47686ec7bcbaa8e
+af8dd88fc5801aca9a6f934e5a65ea97
+a2a2a32cecfe34b29d80887e7ed261d2
+4911cfbfa9b33276bde78a1ea0c4eb0e
+ff6e79219ef7e9bacdd03197ee16535e
+cbb0b8ff8ca7256162b698ac45bc97fc
+105bcf0ba532516e2d915ba922a16ee1
+ded073f82c49c87063f58a0584bfeebb
+d0f3790b06e14e10bcaf933200bdafbb
+66570aceaa0bc8b101b732cb6db565cc
+b1ad2bd491801bfd5241c76425d82007
+59cff264b4dd61c81559bfb085b24d89
+b3dc060d3abe1af6622b063dcf8d0b32
+f5b6776da5bfa43a6253d95e7fe1381b
+fed2d779eb6fad1fbf9e618621974e7d
+c4d809c90dea03d30a8a5b5929bfd7e0
+8e0a73b4218ade49461f591cad6a8343
+b6d8e73c2741c5bf5648bcca3d3084f9
+d023c4249e8d9ead4ce19e31c02641b5
+7ed65471b0310d2be544a06fbb8ee972
+f5da0c1b0f00e657057d40e028b5b1c4
+612732f36049f85816e82409578e0686
+59cff264b4dd61c81559bfb085b24d89
+d6a8f455015f3249c37452422ddcc357
+28cd0c9220fb7b6096e34adc4b6527da
+a06c70e9fc58a40194e47e8ccc06c652
+51ffaeec25996af22eaa1cc879509bee
+f67d58e0566587e9645b05596af05490
+2135174e267bfef42b9d86a762116053
+1d9256a0e65d657da65b854a06e5c546
+15139f5a7bdb5524455046eb747f886e
+cfa6e589740a4c7d8dc6f407c8db6259
+ab1f01608cc99c2d5d2655a9fa5204e4
+b54e905a36aabe252335231ed9ef2264
+868591475cfa4c1e912e666ec15baf45
+53273313e02c15e0128b4b58669425cd
+4f6b983da6155adc3983438fb869c867
+5fe070fa520cfb29c7a6cce3cacc5317
+451b2ac5604ce911c254bf5780813079
+8e5e78eab314ed2c63b2700123f9975e
+3641fffe18d8b1bb66d8e7746971cd99
+b6e928f7622590a94baa5ff88421dd28
+c94d010c0288bf0b2a3dfe7b60ae127b
+405c2744be28b6439af04659ba39957d
+4ddf8dbd98fbda921f1da6ad929539ae
+26c065742d623fe27c872fb975c8da28
+223f4ce10631076a882ea00d448f8303
+8fd3a05d0624e8390d5b20120b8f7483
+27fa06ff91035fa386b236782570d27f
+b36a3247151d86826918211182cc2e53
+ef1dc03ff26af1cd19b12480e6e489cc
+a042afb34ae612361752c9b44b9e96b4
+b4a7dd2a33150b62dfde0633de988b11
+59cff264b4dd61c81559bfb085b24d89
+c7c1570334bf7e12dfc8f0e773ebfcdc
+c4473e09c23677858e080d63d3c34b76
+6f7f20ffab28a29bde52ec9255b6c426
+b9728943b18baf28c2ee89b5f2343c21
+62cf35f1f1b2e7915648431cf9cabb48
+9c059f5b377fcf4ab91f13deaf65615b
+15dae25b7f53abb4a729abe58adac755
+414b78401098497744937bedd8e35285
+01a1c0136ea09f0aff683dcc492ff2cd
+16eb3e65c7fc117d61ab0c1d0260eca2
+bfdba1f0e06c6db618d7029084b1740f
+6eb8ee90af62a180a1d32c3fd7c60fba
+405887d93343a9678d67c362b643439d
+a33dab8a986727cc63d8bf46b040f682
+7f9b22e4350e9cd1a37949e8822573b7
+7ed65471b0310d2be544a06fbb8ee972
+f5568fa43834a42c28a4cb09405ed124
+c5ef2869e8d658ad4e671804b948b465
+d8b7a67deb97d8f71e85317b01db5aec
+6b3e4f5009094b1df7dd6f32fcdc5829
+de47f288bb56116b5294c027cd878402
+9d37e454bdb74cbee3c4f0c8f55396a3
+7d501b3b1215c7d9b390ff857bbff548
+59cff264b4dd61c81559bfb085b24d89
+7659fdb1d98bb8275ece511173f3c8d4
+91ab14fa6a10c3141d3ba155cb13862c
+f0712d255ccfb136e4b6c9d77635a782
+0dd1d23d6aa0018dfc6d967e7b2f070b
+a1c486e69602f761b0af7e9000ca5df4
+57dbb31becd8fd59ea481f6092f04307
+65f65eb4b56ec72fff37ca92ede1f0a4
+1d1d61a3591d016a4b1eaed5d5f22267
+cfd24ad15b663ebb059329e617aa2623
+c0d8a4c2c2c584b39b1a26f4e32a55eb
+701510a2460de626923cccd9aee6c886
+d7807ddf5354a52171bf34aa30b68d64
+f52d4dc37a6170d5fdc2f00e7585120d
+52634a74bd9b3186ec704759a0f9487b
+7d0d017f6f80b1e6ce34e45fba861be5
+cc16d8ace8b96e526bc4f58230bc3fc9
+d404073d6c6adcaea272524b8bbe1cc5
+5c66032be2789cea559e71552f270f88
+a6e3526944a3007a1189838a51a901e7
+cd1a5d7062140e4ee82e31eb9e7939df
+f915e263ea0e78c856aae1ff22e1bab0
+aed91e9693d6a1d30f57c7c592e07bd7
+ad31c588a9faa628263bc799715c68c3
+37aecf56783dbffa678e9ee9a965ede5
+48af058ef8683f72f344119b0818d09d
+0aef75bee70f4c297d92e96731beeec2
+4061a439829f2653e586c5998d4c014f
+373ba58acf3a649e8d2fed1ef35b81d9
+e7b6671230c9b4114dcc4298ad4ea5d4
+fcd7aad98fd88f6f4972050caa0566fe
+9f3d2420b3a7e8464988a2df713da0b3
+2814e663e33d32073407c22ac7c43783
+46ce36d044c0e707109cdec860728972
+72fe93f3d4285992a83ec6d435235d6b
+3037808e1ac0b996ad16b508112932ac
+e62a3f1204d7dd90dd879bc06f2dab68
+b624132dbf4aff2f56fa0d947ea1dab3
+7d501b3b1215c7d9b390ff857bbff548
+21f103af771896991c1843d3aed3aa02
+e318273c54f2f923e558bd6b35a205dc
+50881b1361e517c3e3f77e59be727e29
+e318273c54f2f923e558bd6b35a205dc
+9d710ea0fc11cc494ea20bca21553343
+f7f3be068eb22a8c2054f3d9c7ac031e
+2c3a36610c915d200e2edebe8d566405
+ef1acf719cf745abecbc87c3accab12b
+978d0ade5b6dd02dc8c80d520f8b188e
+7d501b3b1215c7d9b390ff857bbff548
+59cff264b4dd61c81559bfb085b24d89
+60dc9c0f61c08dc107707c1279987781
+60dc9c0f61c08dc107707c1279987781
+e2079bb14d5590f74a79111fd1ecb0f8
+a8821db6cc4a87315a314ba03ea03b25
+31826b04db06fabed04e412fa41cff85
+cd54a0d6bd3c78ea705527bc147ffe94
+775fced56b9f85d0273c6378c41f94e7
+0a8447714dd405f1276284ccbea2c151
+a03314d93d81b8f99bfcd3e32999fbd6
+99ea9bf068f094a9569e61b1c4c391e4
+96a351be058e6c30d22f2687d5a605c6
+66ea742d9b7b94c86dff876960211456
+cf6371c420fafac489b558e39f5ce682
+66ea742d9b7b94c86dff876960211456
+f0984cb5c37af737f9e0333de33379fc
+3e4ba359005d147821305f83343287eb
+59cff264b4dd61c81559bfb085b24d89
+36f005a1140d2ada8706555ed2339507
+612732f36049f85816e82409578e0686
+59cff264b4dd61c81559bfb085b24d89
+7d501b3b1215c7d9b390ff857bbff548
+59cff264b4dd61c81559bfb085b24d89
+7d501b3b1215c7d9b390ff857bbff548
+a49e8a0b7b1a23f9057dd447927fc63e
+59cff264b4dd61c81559bfb085b24d89
+66ea742d9b7b94c86dff876960211456
+0299eab1f120869aab22eb9c86abf8f7
+32be70915b53b5fb2f6d5691b4cc209c
+3376dc6bf968fa65aa93d663072ae613
+168c2f6acc32dbb99692788e5b908031
+824d2c0395569d26e4d777f903c20eaa
+4105a225ef3839e2e6a4ee1edc68fb24
+48945d8c25c11949eb899b728a1c9a10
+fafb607e080128b50418be1075c51422
+2d6c8655d60643fb586f17fbfc19a03f
+73dea99a366e4054b119bb3dd437ad57
+ab5c06d6ea6d75ce54603c6f8653ee8c
+065dfcf1b4751dd9e8167059ecc57a13
+7a03d8e50e9a99ab8bcefb26772c34ff
+3e93a71895297cc70870719602d40bd1
+c3536d7942a78fe0d9188a1bcde15888
+4cbf48e075e2de48e219cbe053140f72
+efc3369c9a3e028f27b01ae80f8d7f78
+5fb9337f5287b5121812bbeb4d73a2a7
+82422fa093dd33575dd458f1926a5bb5
+c2cf81a40d063125625617a0b58098b8
+bc863c30b1ab7f0d0d06077bcfee03fe
+7bc42053bd208b0644d113f1e3f8ca9a
+425e466c7df99b2e1ec56d9d58fb51d5
+008d6a4f1e37a35626fd50891dce2e3b
+64bfb3276fefdebf1ca041e7aa0d9fe8
+a975c067a74debd0deed73c613c183a6
+7f9b22e4350e9cd1a37949e8822573b7
+567d62cf2f49b8a203c6e77317a8c8c5
+7fa0bca7440eae5898eb11bec46194e5
+28730a4874106e3a7b23729159e3f70b
+499476cc6b4851f3ecdd8cfdb3a3a876
+4a1fbe377b67cb72a531f325663da043
+0245da947673da3f4092601264e097a4
+a9e5592d4f2fcaa6b2136d253f81036e
+4cd8008692e0f0baef710b61f6b44367
+59cff264b4dd61c81559bfb085b24d89
+21e04d0d24e2e97b780af77a710f58ad
+918765707af8531d6c22b1b7935bb6e7
+228ee4fb5f3e48d20666570822df2219
+f72cb2c24f1fc13a14a7bdc1e07bc6bf
+6e59d70458c041a0ded49353d4739297
+d2ca84eda7d858f62926d6a847119e2f
+cc8854f3c95d723dd04bd3fc33746865
+be9ddd32df77428c1297b7e6ae6b8956
+2c5f197878c432491351c1bebfeb9170
+b5b0b177b071f3d4d6da408d701a3145
+a4bf87dd7c6fd1c9526f57efad53a06d
+698d361afd95d4a870aa756d940cee32
+32aa8bfaddc441235bb6eaba6d415c2b
+1f9f8c929bc550907a4318526145784f
+6e88e62277bfdebc46e45185f07a2081
+67b562e7d39c3849822c0d7fc8b0f34d
+a0687249907aa3b192b62e04410f8c63
+062f8b63eae1ff133cb158f0277af168
+3531f521aad111d2b10bc32919ff9195
+484811e5496a369f83d5f05383a34820
+cb6416feff3d368a147f4276b3d54dc1
+1de2dcc4774a5cd4ef52b47f3fe13eb2
+2010f0c4863c8dd5a42a06bb285230ed
+2aade5bd944da7f2c78800ffa214c9be
+19396c133833f864184e9f9e1e9d3b99
+b7b96c6ba7119d7887ff18ea3eb1f3d1
+f926c2ea056494cdf440bdccf107f38b
+2de91143848b6f6f66da21bde75c923e
+bd848e9e9e2fb4ec7c510e1a790f6a9c
+7a64e0fda6bf8e5ae5a8480a538f402f
+ac872919c73e9db70b7bbf2b7aca37da
+c369d534618ef3b95cb6591ab94474e8
+de3d330ee893fee140face587634b55d
+02d4b8bab8bca3e43c727c2c6ae25b8f
+aa5df4eeafdceff0969b2a2cebdb3707
+af52b529cf4ef795285fafe479f8bb60
+83d9c63fbe1bf1d52a3ba9d7961a59e6
+6d1dd84581ce5bc6d494384642c3bf0a
+011a8c8a0b5de73ead48ff7b666787f1
+d13b163d81bfc3b6d308a957c0af8627
+d3a1e9c9824d69a8f3c2f7bb4e97b97b
+3875dbfbd75f4caaad87bae2ded4ff68
+5ff83501972686e88209109cae4663a9
+bb64fa21fed63d14f37f0e75b4a4a6f5
+d13537dea01935d076d81e5da694dc8e
+9eeff115e13e9ef7ab048ec21b6fc333
+f99708588acfd0a972d1b8046271ce42
+871998618c428f7f839e47b8635bdca4
+1ed6a172e86cc99849efd21d13316946
+4db7c6bf9fafd7bd8e38eeaa7a71da46
+b8c2ebf459190c44a155846492f87561
+bf5318a3b67696ab3a01082dbe1fd993
+29c36e3fbe08f5cf6d5a632bc61f284c
+81733020459952ffd38cba12a291ac14
+048098c4cc3a0143b520dec3d9496845
+11ab5ca2ead636a1f95bc0a1ec6b72ab
+cf267b8ebf7a49ce5a1203dc7283f322
+cec0fcadcaeb3567a27a4f1447f9c934
+a13ab532fb335408088cbbd3ca651e1a
+2f3d16e3bcf5af7314b4bc7217f2bf03
+7feeccfd102bcdf50f424a6027efbfe2
+c374ab518219c4c0af5f40da8d99f06a
+299de66579d38d5e6036707ff0f525ee
+f0026b24bf4af24eefb52060171bf168
+a170700428ff22610f00435f3a10c8bc
+4859162537d013cd354f7f76741a5674
+e41c3210f414da251f8b41c4e8dfff86
+764bbd371323742c044d05ccf168d549
+6e42907d5d494ac0aa15dc4b3378cc71
+e64dce8e9e0180e0050fa603d2ed0186
+5c157129c91a958236371691ae8ed51a
+1f9fab1a50223a5b7f28a3ae09fa5319
+1ac7df44051c17056cef11ea40e060d0
+4633f8eeee0feccdb665e02b31c292b1
+45319ea40ebac220a207452b4561285e
+c456aec32c183175bafe2a74429960d7
+03d1f7ba8ab9d59c2d099cbb5f3a5058
+229f9bb05d957246dd2be6e42198dfee
+f6ef062be849ea3308ec2d8b98469c7c
+d78152ce9693278a7f78fa6dc7a3e48a
+9e131e48e03faea2af443cf49f1d43ad
+784331bc71c6c669604696d404041a7f
+3597293b9d35e6d086d7b4ff0d64697a
+e6023100bfe1d6049f7b5e6eb2c4e7be
+3dce15498663f9e547b74764a0c68f77
+03aef56cd79ec5ee0fe672a4e806d3a4
+bc1ff683d93f94b42fbcdfbaa2d4a83e
+782a2b074b5eaeeefc73a7c7ddd84bc0
+09a21459c4dfccff34624d21e596fd0c
+8ab409a24734fe52dc6a5448c6b5f188
+35904b31abd6a91d4fd7f46a93adee3f
+9c466a8b7d803c8dfc2f74e1e90dbe34
+21070e8dd2220a5465ea4e0abf2431f1
+ef6b58d66a06b6de5827f76b3ef1714d
+3ff9e70388e9d7061d0f7f5a353a40d5
+1e8101d7838219ec97a70d7772f72694
+62d91ff9b4d0967cb368c0e867844993
+222722499963248fa427243d3628b244
+d10e6f4de0163577624e042bc5541b55
+9440417933cd3afa724460ae6ee1cf43
+abfe7ddb6578e4f4ee4ee35c6152df7a
+3f71012179b6c38a3a184c1cc5d54bc8
+d06861574f97e93b19b5a7f73ffec31e
+ec0e30f3f11ed7f4c2b832939a0039d2
+ad6163d7edf90892793e380d8ea03ecb
+269fb9f1dbc7f9ab470d6b658cc3890d
+ec0e30f3f11ed7f4c2b832939a0039d2
+269fb9f1dbc7f9ab470d6b658cc3890d
+ddb3667aec5bac5dd50b55ea826e7ca0
+1611c356b9dd39b99e3d138d60aa8275
+ad37cd796458a2ce57bb988529dc1d23
+6bf51205ddcaaaa684a193d3389de3ba
+b79a88e03d6ff369efa83eb2da250731
+fac2bb2329a56c38d5339faa6c095edf
+f275bf232c10ad06b69d31d08dc14ab7
+6e0d69b030a1e4bfda55366ca30f776d
+5389a84ebeacf5c28979e932ad7dbce8
+a1a293d0ee7302ab41f780d496793aa9
+6bf51205ddcaaaa684a193d3389de3ba
+1a479da953be61f7d44c50bc96d240d3
+f733da98ae48318eed8f448efa3d2bf9
+fac2bb2329a56c38d5339faa6c095edf
+d0a162ed6d2c184afd870caa3ec3ea2c
+f275bf232c10ad06b69d31d08dc14ab7
+af508bc26bd91fe2f742d64434fd9f8a
+6e0d69b030a1e4bfda55366ca30f776d
+e9159c1b032c6bf0ff0f9ad2b2f33eb0
+bc97cefe35ca2b881e463c896f58738e
+beb94591cfce9f56fdaf538443c054e5
+32134432d8d43b0c5fcf80a6617975a9
+e6b5cb47a64b36a030d04b65456a2999
+6fbaaa40f66eadaf3dc267ec3d5ba0f8
+9beb1d7d1d446b41c86b71cc446b7a27
+9beb1d7d1d446b41c86b71cc446b7a27
+bedd445d7889f3d4c971288fe0a68541
+bedd445d7889f3d4c971288fe0a68541
+bedd445d7889f3d4c971288fe0a68541
+5dea7c9a2746465d7c6d2ee86b621ba0
+72b61fb356cde51c78374553619ae04c
+4b6f0048a0e93117fe395385d2adabe0
+9e06ee22bcdf8eaedddb0506f9c22b54
+be036055bc49e51329c0ac70d1fbb440
+90369cf03e3a2f8796f7c4146cf86cbc
+9be2977e5521a00dbccc70c4df91ecd0
+392e57f74ccdaaab46c8595888647e55
+b701746a151e7eda0de73eb72a473e84
+74ea9febe1cd2230b9bc2c462acd785c
+2dcd404c167a6c7d2df34996765c2a43
+7ee22b5cce7e9a1d88da939a60eb0004
+f6b59ff1ef5d39292d038d2b0b667389
+eb2092373b83e2f343a8c6e6a9c7e062
+eb2092373b83e2f343a8c6e6a9c7e062
+cea59bad24a61deaa44180fdebdf7860
+2e7a7f9c7cec469ceea1912ee5f71cc0
+527674d9076f177a30a58f0651b63391
+e3a700f2829bc60a5de385e50e0e21c8
+e3a700f2829bc60a5de385e50e0e21c8
+e3a700f2829bc60a5de385e50e0e21c8
+7975c72dbf836cbcd3b96887c754cf86
+8d6766fdb9e76f24aba0a3bf01e06fd4
+de684c0b7f30cb87b1af000875678998
+388cbe1f3fb4feff2d187aa61ef7e4f0
+c16b55e31b7566ecfb1183dabbd4ec28
+85e005bf9926ef04415158428792b10c
+388cbe1f3fb4feff2d187aa61ef7e4f0
+c16b55e31b7566ecfb1183dabbd4ec28
+e8e0c3151e82c4f498596dffc0eedd44
+a3f55a8ab654325bd9b8f89de21035c4
+0ba6930d34b8843736df35c8f87b7caf
+4f2703106faf040df01fe3721016de58
+0b81ded426f6d2e6ae936383e4c90467
+09f9643e73cf11662f228dad7f9d1676
+66f1d31362621062db2de27013435dc3
+d24911e0f076f2f728cd065dda04d12e
+0ab2b5e98f865c72c0ae3c7d29049c00
+35bb39b432d451dd90011b926c88b46a
+6fcf24280aaa1fc594ea2277b628b3fd
+35e3cb2f546eedf759a823b6b6e83efc
+991a2e9c8ffa9cade6b5bb90ed8d6190
+aa9b17b17cc07cd22c7f2c932e138ea2
+f524c7435c8ba61a2850f0c2ee69a5a6
+f9936982e049acfd7c2ad8f529eb9f47
+8135cd64df9c04986bc28317ab1c3fd6
+b5f81a9ed059278ad56acc78314ae6a2
+5ae77a496c3ea403e751d797c437fc16
+8308ba403922aa273ba13596a0728383
+84b477ab4907cc69544b6de9e4724999
+6afc7c4557ba1f4c6340df58a3c4b678
+0a5d5ebe92c9ce66d59d5d31f46fa0f0
+129eabfbb151cda8a8c5ed12eb3395fb
+03995f5cd4a6c597a0db8848d17bbd45
+741b6e51eb7d5ee865f653539add4e5b
+c3daf81465c41d9bea77c2faa08caa48
+9921e8df084d839557cd73eee4291aa7
+9cac9fdd2cb5ff6610185c1b0e1fdc1e
+c82393a301fb725af3f9d5381cea03cd
+71aab1e25ddf5eebb6c7d799b53e23fa
+752f1952b514c305f153d6288f84523c
+98e12745130ae71079a5332ed9fb5576
+fde1f13d99ee724e653b0a49762765ef
+6efc8e4814020979b66152047703c307
+7d4dd1b338e3797664e8928e3c701f6e
+7d4dd1b338e3797664e8928e3c701f6e
+7d4dd1b338e3797664e8928e3c701f6e
+c1678753392d58845dfe7326eb060ed6
+5294421ca0f8b5bec79fbfed8630d755
+148f5453a0a56a497665e6d9b2d9495e
+5245f2871c0737c513599b4c330c1c77
+6a4a4c33d783bded1b2cefa3c2fcdf40
+7c2178327aa56b6ef7c9a14506ed57c7
+c6fba9c690b1ac6a2841675761abf038
+70ef2fb82705f6acee3826cfc48fb2a9
+d6e6b3de78af41baedb4d63a5a6721bf
+462256b5a7a1839d13e31e4bf79abe55
+2cc15bc66d1ee67ed2a0bc3f3381953e
+d89bf42587a2ea0474adb3c0abd34364
+66b8e5db40eeb0aafac5cfbc058e8c21
+2ad843a4a6c5c6804d65da706b5f96f3
+089fcdc3980849ecc031ba04c2feb133
+511f36f45a823b83dd6b3e169fd89252
+25314e3387fbddd6d950a2b1ffc4d14f
+80651ed7c854706b3164787ac457ab7d
+918ef5570475637859039c029e791c69
+3655176ad980d4aa2c35526bfe8a62ba
+93cc6efea1dff323afd1ec7f131607f0
+6c840c6bd007933b706fef91fa74be0b
+8dd1b7adc96dabc7ef91207acae0eb67
+833a2d7f5fb28bbc5f022cca3611dfd8
+c86494e5da78a1f28f15fc6a7f90aca7
+3337ae0df23c32b267928256ddc0d8de
+7be6a412a518a9d23312892a1daf475c
+7be6a412a518a9d23312892a1daf475c
+4970eae6ccdfee28879ab885823940f7
+13880ad210bf852876625219b1347119
+bec078cac15d64ac4ad21b77d34cd36d
+bec078cac15d64ac4ad21b77d34cd36d
+15312233cd6e2298cb3f61fea308337a
+15312233cd6e2298cb3f61fea308337a
+3e55e51d07ff2ebb8d0c1ef0f642de51
+749f379547a27285a1882cff53b77b10
+3aec5042fff6b59a04acf8874d827720
+4ce846e20de2f13f5a823b4c74d9542a
+6ec2117051e27edc28fcd858d7ca6b88
+d4f0f859b1adce5af40b78da1e7d55ec
+3376e609a4f79c442802c18aff364ac5
+879efe51268bf615cf42f34c5a1955ec
+118123f0f330e73d5c7a103dc32666f9
+bb50b7d3bd5f2970ee7e23a5a96a6c9a
+80387d2215a8c53acece0c1bc96b02ac
+f8172bc38baf256563378dee23d150ce
+a2239307a7298385fb90eec099a03cc8
+5604a3ecebff250b964805dc8863aec1
+b17f645b3f0e0f8d149979a0a77e896a
+eedffd78727cfa91e2937b19b0c87818
+d838c43588db7148d50dc3c1696f70ed
+8674a506145bb1e52051e69bfe66a73d
+acb608157775ae0f128c03a8946b916f
+624ce4e77c991388842d017b92c1a2bd
+37ae0c86d3f71c75949bfbc9a952fd05
+d3bc438d87b6c2f27853449ffe605536
+e4a1e8ccccf6504f8e137133e27faaed
+0d74d833db3c7493b301f7e962a8c493
+2b2a26d90c972d7955ccef4d75a070fc
+06f8d7d3144c466cef0879b5a80b9322
+402ddbd6cda0841cf505c43313f5d80d
+63224cdfd3732db123d6b287d9b3bff2
+b7d02786bf8c66d134ea4c36815ce94c
+2a805d269aea14fe9ec08be65213009c
+a6777c7fc9d20c423dc68e8493f2c23e
+f589f96cc71dc5177ca973cf2cc12e76
+005368f144a7c455548e6a0544963e7f
+f61fed0ee3d770b40c1280bf951ed81a
+8f7298a65df55e94b9ef5202afb5cdbd
+7c86c442be994dd8f96621dcd475c6d8
+761368fc08f568c8e7ea2dc209ee0337
+b9aa00f116aaa48b8c4415253890fd5a
+30b0aed21c6283dbce078e34d0071a33
+8382ffee0e169313eb5f792c108cefa2
+b7811365774c0fe51e1ecc4f4621284c
+35d15d651a47fefdf485d9f503bfbde4
+8674a506145bb1e52051e69bfe66a73d
+534db8aa392ce66af6d5d6e902f88fd6
+2aa4a3b7410f15b9c15ec93c455a5c5c
+81daa2a61f3467d5ad98f289b061e120
+8674a506145bb1e52051e69bfe66a73d
+b5d1476654ee077596753925965373f0
+3d39dbb7dbf724e40f1084975421aa2a
+b672f261f8b59e099b68e79583009b31
+4bef059fa69075229af47618874f6e53
+e4fe656981ab2b2e603cb614ef26b0a9
+3dd2ca4b951cc8efcc6d9a6799aa022a
+3854bc72fd5a2992cf2c8013725583b3
+f9fcbca44b8435eb66acd5d7a4a75524
+908d459ff0beba01dced4139235f6bd2
+3db82108660821ebd297db1e6cc7ecc8
+b020e80073f7fa42735b29525bbf7aac
+fdd54187ea6b0835e342a11b5dbdbde5
+4bf8f798d747c4b74827018b9e4dd10b
+4a2101309fada8cda048b40c2e1e0e04
+f2e86587a0aeb209a1813446bac549da
+02264ad5906b11efb53cd6330f6489dc
+98757ceabc91f8c108b150374eeb7101
+1866ff9da50cb0867afbd61452676ef5
+504bb3752dc6780a8b07acc82153b4ff
+6bb9a76b464eec52265f1dedd235fafd
+37ae0c86d3f71c75949bfbc9a952fd05
+9d23dc469973a1da284d46875e53b95e
+8a3b7c3224fe6f8aa2105f4bd952232f
+35cd929d1a9e389a46ff987f88643ccd
+8302aeada90095e7f6ba670661cf5c03
+37ae0c86d3f71c75949bfbc9a952fd05
+2a63b99df8c631df2f90a794f07fc942
+72b7d6bed40e3671cafb5431f6552f4e
+f1ce949cd97414a1a172a032622bff32
+4e5c773b5e90a605ed33be632f133006
+baa5dc0861b00eafcb01215f840d3065
+d078c9436400d3a09058c639a28b743e
+50837fcbf15760cb7807f7fa882334b0
+8a3b7c3224fe6f8aa2105f4bd952232f
+b10bbaac29b05a7bdb251df580394f35
+4100f9e080a646b5b0f0ea5c38dfb35e
+b5946077f2abe2cf3db7eeebe9074f51
+1adfbab0c181cdea227cb0efd1ac1295
+7e87dbc41f0fa338255cc3230a0b31d4
+91570e8d85964ca3d15594a7d66c0d68
+d1e8d8b032c9dc3832e340e8e7524d06
+1d59ba447912fa856a67ed63581a5f07
+3cc47b853acbdebdbd5167cab55c2a4e
+33056a7025d68bfa0d1d333a9e3aa5b1
+6dda1c2d54670a3680a3f689b3013654
+9c7e8b113e4d18659fdcdac5fa07cd25
+d5e645e21991b116f771f21c5b88d1ab
+2bb03c31549b7bd5879c85c74489af84
+3cc47b853acbdebdbd5167cab55c2a4e
+8943593e7f87928cdce71e2b970aadff
+0b99b652d3d2661ef2f506b75042b8fc
+ec59bf4af0970ed0c3fcbbec32bee133
+82bdca5a314f06e11369dc3de5461038
+8a3b7c3224fe6f8aa2105f4bd952232f
+d4f05f3b3765874383c6b2cac3c3bc6c
+8651099245e03ca39a1e796e13f52d49
+a63e6f4a307ce7bd2f85f64916f98ab6
+a44325791a099c8c4cd892d2789f0055
+d5e645e21991b116f771f21c5b88d1ab
+5009b1addeda9ee64bc31c5ea7511703
+bee00769ded97a095ea024656e6b36ab
+be476aaf15822e6ee1fbf1455120d0cd
+3e6553228b29cbbe71d3a72d4859ed5c
+c255a41597e50cb37111c15b58015b5d
+80787e5e23a175c16438cd47a8af345c
+cf3b332b5730594ea4f917d7adc9f829
+2b45eb69e852cce7ae5f3ac4f1d8e887
+2bb03c31549b7bd5879c85c74489af84
+3cc47b853acbdebdbd5167cab55c2a4e
+8943593e7f87928cdce71e2b970aadff
+8c305a8d8c7e9009f6b613b4bacc837e
+79b938fbfef0200879326832674184ba
+b01370b3594dbd1d52c2a14993d152c6
+17010b051f7dac9b545c192df33a4124
+65410cdc7199c5e0a28b909f5b906d48
+cb0df13559481f8a54b01c34c4e48303
+bdc9e513cf55bc831a5596ebfe6f145f
+1074fe8008c35f2a6816653fb8e076d6
+b3ec7ee8661bc6c45571a2612a12a69d
+5bd28e21b9e35b299f1a8f17c860fe15
+09ba010f80df252512bd1b7e245cb78e
+27cdcf57dcf97c62e87446efe37dfdf1
+4528340337e2cff5be9d1e1a638e2012
+1ecb4236877c1b96921c8376615e949d
+fb396aaa69605d81c663e3724828d8de
+2729e1f2304718eebb0761b6cec53add
+5f2837d8856bc69bcd70915254c50a3b
+50604d95c4d7e862e8ad4cc11fa42f62
+f9e7ed2e6574952220f9cf6265c409a2
+63ce0cf35f38977ebdef9de5a032692b
+504bb3752dc6780a8b07acc82153b4ff
+0af22d3d04adb719a1eca15cf4551d15
+bd51194349aa9d023e49c0e59293c205
+9ef33af18ef875ea5d0045d727a67cb8
+7f621d04a735f1f5af140c67da9c4216
+16b75c12ad715445de8ea8d0e62ffd6c
+982f61e4d8ea65cf1d0e93944b2bd668
+d8b4959627d4e4224a14f2b85bcb1983
+17536c0cd440e30aa7dc1edc5b7302d8
+fadd9e3d97fbcfe6221e5304e21fdf5d
+6a6595bf372d51fdc926682cdfb68ac6
+6c1e5a050e2ef10227a912108f421b93
+b77843fe76d672742598c6e0a3ac5aed
+2f51760d65fbb139e57ade1a6bcf80e2
+352c311d87f39b1502524c3975390021
+8a3b7c3224fe6f8aa2105f4bd952232f
+31cbbb316c64e8c10e3214e9f1ca854d
+605ef43cd4a51eaabce4269198de9ddf
+d45106d63df4b5c61f59f1c01db90628
+0f71b9ff04475806a36ca544c7a4c7a8
+38692963bb1f256d7ec0c16a17b3fbb2
+a14884e1e7185fd673a75247424fe1e3
+b237266ca4c12de6cd1b8c094f54747e
+54688fc9b5da3c9629e4a3c03097b4c0
+8a3b7c3224fe6f8aa2105f4bd952232f
+52339145c1358f2c3daa0ef8db0a3d1f
+e70c0246970bd79d9bef2de0523bc329
+de338a56f27dbec5378918ad5b745682
+f45026c0eac2ef68a6328e6a0dd666df
+0496033e6ea598b2ecbc2fd180a4922f
+70c9aafed120d7d2f5e4f375409e00d8
+30179b546ae33f091091d57bb5a265c6
+460e83bd0c97e6ba08222bd1666d12a2
+10523723c0e5dad94bf2c99ea7be7101
+4903d45b6e375c5120309adbdc787a26
+97255380c158580d049693cce8bbb6f1
+bdc0af7c975e638aeb2ddc5ed455847e
+8e02b41f1025443d32388f6f121d4a51
+d439aeba76a993d7ef9cf6059df5fae0
+5af3d73319813bed7a91d3cde9c9a953
+41bb0b187b2c96c611185617522d35e4
+41bb0b187b2c96c611185617522d35e4
+243a1397d57c5454a6a8705a629d8811
+6d22eb1eb48ccbdb809169feaee11217
+5e53d1825ed5f86f8d614c0b85918707
+faa061ff8d6f9fbea81215218e4e09c4
+61a3820d0cc13af70a6576bbe303cb04
+8a3b7c3224fe6f8aa2105f4bd952232f
+b18819d4fbfc7d270929de753f03f0ad
+e02c0a320accb71a198caa7597d2481f
+215b091ae464570c0688b40249c804a7
+13513f057db143624a86ab6bcad6aa0d
+deb42ccf024b5ba802b1829ad72ad584
+31d64f4e104a52eca23df11b67b1241a
+1cd8bea48300a4eb26050785d39cf3e8
+ee4159d5a1585991c57a01225a9b45ef
+a029414c0b9f58d7479398415165f400
+e567ac766689bc7f608b23c17852827d
+56025658f2172aed1a3b7fb77a0fb042
+a4ed805f7aa037e85b7fcfcdba7ccca5
+d4d933124d393077b43ceb340b0610de
+3c1a70019d141192bbd08b51a4aed176
+352c311d87f39b1502524c3975390021
+422e4fa4725f13f5f33eb2ca4bf7aa3a
+046027bf3c4def04b69fa0174ff6c765
+556e4df342c0931832da7c100af266cd
+bdd164dae2b93af0d28bacf83cadbdd5
+cb67a35c8562ad248720136789dde80c
+d89d0768efee4538b638b79b80e16214
+6a460a374a441ba6927ad7d74c75fad1
+64199d5776e3c6a1a16e8f75a2c7c7ed
+e57cb3134d339fb6f67779e7e81258fd
+e9da8505e9f64c1436dc38acc0eb42e7
+8a3b7c3224fe6f8aa2105f4bd952232f
+62b390d23ff0b3d65225f9d036f56d43
+63e526ccbf3899ea5eb75262fbc82b00
+8adb70f0b5011463d2d332d10b84f05b
+dfc221d21f5139d321afc48488aa7636
+c180cdaae0011e3febf0eb4dc949240c
+0822ccf2ea129a5fabbb06c31b52cfe5
+65f31a51a1a69461d22feb9fb10b8479
+3f1a9479fd0189f61e48b811a7b010fd
+4b89773cea56eae9d4f34dfd8a8fad3b
+74f44699f9849ab9a0a1578fc39ca175
+6414734d0a09acf11c8aa8939b6480ca
+7cb84570cb8909876db6e5786234bbb3
+2f10263e805afaf4a400a9be356c5fdf
+64199d5776e3c6a1a16e8f75a2c7c7ed
+30af7b5bfcd15ae548af3eaad78cc002
+6a460a374a441ba6927ad7d74c75fad1
+6c91de973c5aa1bd7c3b642be2752e39
+97c536f39fbf2c98cd5d4a3ad5ef5f49
+e6c44a9e2faa196a61e883c23aebc233
+b237266ca4c12de6cd1b8c094f54747e
+5314a8edbfe46c4cce9a6b29ac6eef09
+837196a9ad78841b2ad60e6f98c1aa84
+3dc517244e6c301423311d91e8dcd13c
+8199b0f085fdd41f178fbce752e3074a
+752e96e4e423fc6b9807170bb4f30021
+9b74b5134c7c4cf3cbc5232886bcda69
+af1cc8aa1d873369a0c9d9b5edb54cf5
+b003f8a7d10b142b606ae46ecfd87280
+f0e6bba682f7c3c0ac5c10438b1e8cba
+19f9741100d0c982bea4c9d28a244016
+7862c2da2e9b250fc2524ea8f9b956c4
+10abccc450ffefce780c12a55c400f38
+3fdb5836bf59940b0a2e294831d1d603
+89743e142a239cbb4df264574168952b
+872dc95f945fe786eefdc659680d5903
+47bbc1b87cfd0936a82ab624e95fbc23
+b8c3e31bd02f9e5112545960c08f6cec
+aca6138aa3e30e47a88a7beb5ecc7099
+2bb03c31549b7bd5879c85c74489af84
+8791f2456f3dd04947d29720a7e558a1
+b448e2f759f54ec45f959b6293dc2f81
+b448e2f759f54ec45f959b6293dc2f81
+b448e2f759f54ec45f959b6293dc2f81
+0ff56ca13ad57a6807720736196996b0
+330b9e32caa10669ede129a6ee032e32
+4df816c4abda3db017ea387d3befa005
+069427d1e9260f85806490224a2b75c3
+6874aaca2e15c0fb8c831cabeccd4e25
+92a1144ea38eb003ed7bd900ee50f5f4
+42531bfd08628aacb283e0c8aec46707
+6b95089cc70eceac37611b80242ef5d5
+4a46642890cdc1fd05434301f0952499
+6f600dd84e1f05b1478523d9dd627021
+e8579cd33f61313756663e75082eab31
+a3ae5c47bea0ddef4fdb5c56a18942c2
+e6f03babe57a6209b76b27d5355e8987
+c67b901f3df73bb804db50df8de9f659
+6162140c7e601c0af9f05bbd5f9d36a1
+a5c646a82ee937c424e3d60e3c4e8c54
+10f3be3dff37f40076ff1d2bc410bf25
+5049ea71f58712055acad52a6e4bd7ed
+014e62635d78fa40256b1c36a0a086eb
+848916c1e29083843a6a6ce8ec42e7af
+0d10dabc1b333df0b5542be4a9389af9
+7ea6e149b5b1bf6e0bf567b3f53c201d
+0d10dabc1b333df0b5542be4a9389af9
+7ea6e149b5b1bf6e0bf567b3f53c201d
+e91a62771ce75456f3ee759601510bca
+30a4d2010f5e2e3ba200264df60c3cd8
+03ca44b0a5a072fd2382157bf71e0f6c
+7584c85a6a6518c088934129acc2a175
+bd8851bd7483b41635e2ecd19982983a
+1af54e0801c44102bba834c237194824
+36fa514163c73406c944a285286b3114
+f4440f61e0886846ee5d0c9a9ef2af66
+6ce1af48e38b88ae023e2a4f73ba094c
+1d4e66e553a03c934c941bddde16ad99
+5f66da778d1fc456e64f10c666a8bedd
+6067fcbe45f1020420d5347aa0b8f281
+156413a83c47bb8956cc9a19ae274991
+c6933ab7eb44f2d580731dc0bcc034e9
+552d0aad61cbbd05d6fec75963d7be87
+27fa02b50d793f432cc16f3cba47edd4
+bd8b3ba6fd01aa9fa62937ffa03603d4
+09c591606d905c0b4df7b9d4156ced6b
+c11c795d3dafe838bdbd54adf50899c0
+552d0aad61cbbd05d6fec75963d7be87
+adc90487391b26b880c00a1eddffdbd9
+0233671bc31c0611df5e7c327120179e
+d35cc063a357b1d7ebafb2f79c06cafb
+552d0aad61cbbd05d6fec75963d7be87
+a0fdfdd2b66384b631fb8ecbec4588db
+70ab2c5ded6f3c090513fbe98b1beee8
+213a651741ca304f565533b743dc8c2a
+a7a4990824c5d9b5beed0fb605b86480
+75ca6a62f27f67c246f00e845f77a99d
+8c9acda76411d0114f0b906e1b3537b2
+2ca0c1e7efb29cbf666264488f72c173
+552d0aad61cbbd05d6fec75963d7be87
+686b7cd34872a38fd32fff7cce24eb87
+55d6ac00639f8310a1b6a86830141dff
+a2943bfb9dca4d19369b3836aa36b088
+354feb33868a27532f87b5730eec1756
+d4f4a4096140c9437a1c40505a3bd153
+5220f473089851f0c96508297eed68b4
+d25692dd76e4bfae4fd8c3947c398369
+1677d89405cef10bb6f12a5ff06b8558
+8b3b59d5842f8090fd0e948ff1c1babc
+4629e51253f776eded84d4a5ba837752
+7bbd73665534a49154cbc8cce67f5095
+d30a88c1a0d2b290d18e6bd0e8e1f8b6
+82a97f35a5246416178bc66d8526eb44
+cca4602346f34da62eab988613f1e078
+2e69e1c9bd749b12eb30e560e52a6c12
+25fe36946beca9f54fb6530a12b25287
+cb8db3ea66aca4f7915e15c0dc9a36bb
+eccca01b33d0f18ec2c8af8f2df8105f
+81e8891119563946a8d5864ba6dec138
+217c672a30ba5df4b83d33ff848ee4ba
+fc485ec304683f1e403f0d512ec0fb8c
+e4bfdcb15c2f33f65c75304bbe788f30
+039cae25b51dfd19511484fc4f6f6636
+0624d0de96ded6b12f9e5aecb5194cd9
+445e535ef549336dbd1fb93129fcf110
+93bf3faee4269bc6d34cd138eea5f15d
+460f72fac2872beeff2eee50f6760dec
+af0b5147937acf40cef85791d488089d
+fa43b7fcc8b33f42c760c3f23e87e20c
+a839577f7139749e60168fa1fde3565f
+911e0f37c099a7c2e4d3f4ed822c7ba6
+1b411bba88d2485c2ebd38c27e154fdd
+e10d7fa59b6fd3b9c4d580e1de92b280
+27d71db24a5e43ed396539088bdf69d0
+5ecea1d6f693e724bb9d9a3a29e05942
+bfbe3a55950486872e4f774d067b06a2
+acdf8ab27c44145dfdcf0e8ce06180e8
+af3d8a20d91a2d4435b3dc1d37a7657c
+c72aebe804044b41452a6f6a1ba039a0
+a6fb3003ba5ad8b51cffb887242f47af
+06ad88f6b920d528ccf3c42fd335e863
+87adebd2fde5b31ad26cad9633356e47
+c5cf1435c6b94b78892a09aa1882420d
+7f2aac65f9db06ae4d0f1d07b795ae8d
+c1ccada7dc9649dd890fd1cb804f0891
+84cb3ab9c52a284aa378a4211600d273
+533ad3cfddbbd9297216dbd83276213d
+7399fbcc03a66cd3f45bcd21d5b0fc56
+904304b265fd1681f2b64c7e41b7494f
+aca9881f02ee203619c676d81c8ccc57
+d9e200a972af3c3640dcb05db591728d
+aca9881f02ee203619c676d81c8ccc57
+88fb5c90a5e2cdfefdea117240092575
+1462b8cf7778dab37abfca1e9c48d3ad
+6a5c6e868a7988f93fc3738b71042a32
+28459ebe27fce6051d76cb117261c484
+e232d6f53c0a48ebac84dbe6f00b05be
+e232d6f53c0a48ebac84dbe6f00b05be
+1462b8cf7778dab37abfca1e9c48d3ad
+bf2e3e1c4b38923951310e14d0894bf6
+e232d6f53c0a48ebac84dbe6f00b05be
+1923e0052f14a9b464d403ace2436ca9
+2d498c441474165923071880fadf228a
+28459ebe27fce6051d76cb117261c484
+8c912371f225f4f922f398c13176cc10
+28459ebe27fce6051d76cb117261c484
+1462b8cf7778dab37abfca1e9c48d3ad
+28459ebe27fce6051d76cb117261c484
+fc07a4b7af5574d7d0f8b143dbebcf46
+227898181b67cbed648e28cffc3e8325
+33d79533f11a7204ceb4773697a63614
+f9cbb6c161e07b0b0f3b967e22c2456a
+2cccf1f0da3a03e62d8313fed1e0b7ec
+3e9e8c14ba445ad9be67ae5816eb4ad4
+72dc8e2ba4dff995a4b49e32beaf4324
+bc140cac7e7fb47055eeef613c45b7dd
+afe72556c455ada1e67bc045348e9e28
+d32e71ae39de412d3a1a4c7da8df6477
+1a3cd9d6c06eb382ee43440c262fae99
+3eb1abcfb97c1dd0eb7d1a3a6ea8aca1
+cee9defb69e438e7eb55a1c57dbb6992
+2da9aadf2c11152b109fc934379966c4
+d5c70eea102a348316bc8ac7ecafef01
+1d47e03d6f13cc1ff579a1aed3007d97
+825dabaa957a5268736671caaa10ec07
+825dabaa957a5268736671caaa10ec07
+825dabaa957a5268736671caaa10ec07
+dcc34ab98a28f5ef7758345e0616f125
+03684998c76ba6e028d89dcd45083d4e
+5008b8bfb758abd325270c162c498c41
+01a53b9de4767d6f3aa07d793fc05fa5
+8401bc19166329d4cd49c11a6b5bd6ac
+df9522f24a0c8c47af1d82ce5d6db73d
+95243fea1554cbbec6d601c8c116d260
+2e9617f36906f31f47578b1b71db1e4f
+446ab83c48e0175b157ee60eca60ac53
+20bc2eb63c8c35a9837949a983ef1945
+1c46ad874b6bee533e0ef77a087ab217
+46443768b8ff981317ab67b5d42e1605
+04c788c04efbdf8f8cd3ce8fbcbfbb38
+ea1f64e99db2fe4a6705a8ba1b1e66fa
+30de7d7e3c1648f894fb1103bcf8c2ac
+ea4364917e066e5fdf28e719cc89d2e4
+da705230370ea4671b81a2377cb681c7
+b0232bef93460f285a26d4ebc5434cba
+094e3adb9c20a37b413bc43ce24348b2
+22013109d5ceb3f9919bb5d7f82ccd5e
+07f01bac2bd6c6134e88be879797bdb7
+4f6f7d250c126718c655fb0088047d69
+a8527a10c34dcc0509b6e4f7ccb3f959
+0faf34ec243ba594f01dcd3b34a23625
+1f850c626cb7cf1084a8e36655040f29
+a227d41f3d4dad8668b30b267240ddfd
+ef1d5ba03a8023b730e4b7e94c71e882
+19b49e6312ae7564d1bc2c97b673b99d
+453db16340b4ac1f93db6889923821a7
+567dd03e4d859c9ab54e332a4bde8141
+d917d87845686b30faf4cdb4d0c9b70f
+abd99309614d38d35a2e5605cb40e9df
+704ede0be1ecffea27812edefa7dcd26
+10d9b8bac58b9ff7f6ed074774d5a6a5
+abe951d12e8db86929cd8044f886a00a
+5610c943d76a8f1d9ba9e1c960aa1089
+91ef2ca18e9d1f45ccf65be2aba03319
+5290030c41a87473a741cab0b099e4df
+6f9b8e36b802c02c9542cf4c500187e5
+ccdd1c47151f64539e1757a210ed6b3b
+4cb7350e9a2a935c809c7c506547bc07
+758fa260612f51d26c43c96be140118a
+490d5390f781cbff00456718312c195e
+63b9568c4be3cb629859430277ca6bbb
+538e650e9357273f3b026f9a8e2d7fe9
+83280892919f63e4b065e3590f6f4dd9
+eb2b0baa5111c8c0169f8f7a101108a4
+fc65b6a05bd64e177f6ca13d8b451ee6
+d747286e64172e0e61592e4d4c2d2ff3
+af52b44d11a0bc887a5a9bc6ae84eefd
+8e61e617c1292b458a79497f4d96e537
+315687d19d03892d47d73c24d2b47bcc
+e76c14b735643fa8343ca69fd7b453ca
+97d5cce02026d7f704c5ea11077b8ab6
+add34a902a4578504e3df5b1f41b336a
+719b75419ef25941fac08e28ceb14bd7
+d5225dc61cb66b9af7958ea4a613a5ae
+86988425944985bd1674fcf725f60cce
+2f71ec50989605513ba9b41a43d47116
+b0d289c44f2aae6dadbc275ab0b35b42
+b827cd1ebe5bad51ede3650b3685070e
+dbe1682868b491d81b96cca972e276fa
+3157f9e2842fba1a1ed97acf2da6bf6f
+fa13c7a76b517932d222384afec24aa6
+5346d0b939f59c419e5418e5e3b131a7
+9afa3ca2dcaeb7a54137ca2ca3f28722
+2346e024c9f177e66f6976fbbff38f37
+e05678bcc1a8a46a56d4f1893fb32c3d
+682720ef52a52e4e622b6a56f055bcd8
+d65224b0160fbf2f582758f3fdf78c9d
+5d462c3129a3e7c5371dc094fa7e1cdc
+7377a191cec9340d9e65b9113f00c723
+7ed870caade8db5f2008dd8fe3fe6325
+7db2e865e9c0e391eaf03bc67dc47a64
+1282953f4d6c0dc21c86eac205d4401f
+34f9ab6b2a9b62d5bc68eabf30c0e554
+2826d93b062cffb7cb1375335ed7243b
+1a5047a60fd3a45273bcbae4c8c8d2be
+8442b399539cef078a44c10a92b5ed81
+21d88a2c057c4230351a5e927be8b930
+f43fb311df9b909314845127e1d3bcd1
+2573c616e297214ea36fd5f4d46ba609
+a318ac95b1c07d53d4dac8f551b77986
+b4df9ec5a35049e9239251222f15bf62
+476e192f694d2b8e1b93f3af764b664d
+51cb2f15b028b4359df011e143d21f61
+63bff52ba45c190ced478a9927a6f0d6
+c73ea7ddd0c18cedd8579c5844bb2a40
+15f01b6dd7ae5e6fa84fe1980dcabd14
+322627c8acd044463824d77d00e24799
+d98fa277e05b5577e90cfed7c00a6300
+aa384cfa336599efab5cc1c4abb6a4d3
+fdd1c3096b9e3e3c38b887df95802004
+9182f74440d9d3614ca84675ed242054
+e6503bfd2e22515a861d7918eab332e4
+aa384cfa336599efab5cc1c4abb6a4d3
+ed2d9b93dc04fc3b1cab6b21afc8f54f
+14ade1aa99147966d030f08acbe9fcf8
+b253843c12768b11544359b41c176558
+34fcc8a2e4200f630e7b270fc03a21fc
+a01c1d40cb9e0852ff1c3a6d3d42e72c
+eeb9d09a74a3cbc7dfee6d9ec981031c
+e31129007cb7abb66aa57f1b51a4570d
+4c7563bebf037b45a6d304f369694193
+8234206252d99621f5b9a58158fcca30
+738dafb2ef00fec5b7764a05e42e654c
+95c4676d8fa72c6decc4177d74b890a9
+1969ba928f81ad54bbaf6a104c13e62e
+2fb7956c79f2d1ea43d9d0d2efda5191
+b5e7848a258308972da3d5e964360daa
+9e3892ec655450c63d2cdd26fa456b37
+297fd7352507371c2eddd696d8251624
+e206ce04d67dc3dc014cc48c9cfc908e
+782f9a4c9da788e0da26e6a5a1d456ba
+8b2c031d695f6261e21e6ca8874f65fb
+5d7939901c5132ce381da00001e2fdb0
+1c38993e3287c3b0d21ced50fd917ab8
+8bd863d095fca0ce5d2e18788b23023f
+12834724d5ebab8faca18b11a99594cd
+27ce5be678f15d06e4bfcb115953cd3e
+38426d80bb1a1796339aad943e909eb8
+50ca09fa48a6b37ea57c00ae792046fc
+ab4314d178c384ece4eefc2ad927bf14
+ab4314d178c384ece4eefc2ad927bf14
+2d032a58fd399ffb76f9b83bbd004b6f
+32f7faddc0946ab277b647ebe5ad86ff
+8e0113c1f7866162b60adeb54def4f9c
+03f9273ad8b3cc6a900c9fb641c8277e
+eab826bfd13dd4e531bd53dc7adf2dc7
+25f8d5b9b288371bffba5b6290bacf4e
+6b4250db34f97f2871ff4c493ae52d7f
+a62f6ff213d00bda680562eea8682cb7
+81255f2556495541b9dae7f72163d94c
+41a5c6d9506e33a7096899f58063e5b6
+4a05efd2fbcf68f841f352ed51108b5d
+ed3842cb2d367895ad53f068b0c098d0
+379a0d6f38185d7177a24b18254c44c1
+e32412d7a2441947b45fc6503cdfad26
+a8feba9b413152ddb444c3e81fc175ca
+e32412d7a2441947b45fc6503cdfad26
+854256e69df93b1cc8e4dbfdaef5812d
+d214c1a5f73061381cb717eccc3c8338
+e32412d7a2441947b45fc6503cdfad26
+bf29e071fa5f15fe08026df7bcd80b6e
+538c0776ca1cc1a5631439b7e42d17f5
+3529128443f68ce8089c121e190de72c
+0aac02475bc06defe03653864b5e7b0e
+16f117102297a1b510f8922b8d6e010d
+e66fa70a3d49276e4f3fcd1abeb014a2
+94fdefecf95af01f2fe7461b79330fe5
+32976e078392ef30f58af673ba9ad7de
+13469a5ef285c27963743c6394985166
+7926f1dce89c06e82454538ba1a83048
+e3cd9168933e42b950cf6b81d539afd6
+0452e055c1b7fefb73a4049797f98d87
+7a7c49d3ce3c98326d9bc1cad1f6f834
+31ff3e9b6b118434222edcecb2946d96
+ae28a734edb1618be36660fa085e34a8
+56f19b3b6e2e15de7558e428d40bd8f6
+9f63f752dc2415d115c9212a96c2cea3
+588023dd71e4ce9b7560785fd7c41c59
+413755d9196c2fb853183b596d3f9ef5
+0cf951915c323583c1cce1c8c3da065d
+c6da536170ba61d806c1a9eaed0f4f4a
+bd473878eb4fe4002404b8a36efc5e05
+126f231951cb93a5cd3a00f1f39a66bc
+bd038f5f008b6a2617c83081772288d8
+cbee871fab5c7d7a30f408e56e5221c4
+30dd0ad6d5d9fa5ebcf3dbed10775d9f
+f0410bf2c2c4b000e79d9626c6ded5c4
+987d15d2ed1433f071abb97f5cc535b5
+7e11eea735ea60e4160990fceda7bbe3
+db70db28e1ddf2d47681a43932c5df65
+0485452cd06224a05c9100d8402ad826
+eb56178013c77d2270c36f33b31b9f2b
+0485452cd06224a05c9100d8402ad826
+2e1c78abc21d1d2d91ea2f4b35f48e5c
+0485452cd06224a05c9100d8402ad826
+bd038f5f008b6a2617c83081772288d8
+0485452cd06224a05c9100d8402ad826
+d1bb035841fbe4e00c0a7f62d8690bed
+0485452cd06224a05c9100d8402ad826
+511ff953fbeb66c3ccdfb32746d34101
+052fb12811d5328a35be50cecf28e47f
+cdd73f5df4d10f6b46712ad6f79e3ae8
+e3a0775b244266c79c70191ef86ebf6b
+25f378577275793f9f627bbf2ac7bf85
+d7ee569cd24506b4ad8e2f83f31ba4cb
+25f378577275793f9f627bbf2ac7bf85
+7148dbbe066692347fb3fe52dc7b1bfa
+a95adcfb4bcafb709259c0c3476bae12
+a1b9e2c95888141eb3d2674559999a64
+7148dbbe066692347fb3fe52dc7b1bfa
+25f378577275793f9f627bbf2ac7bf85
+f9d69391b664a0b8042352a61ebacf2d
+25f378577275793f9f627bbf2ac7bf85
+7148dbbe066692347fb3fe52dc7b1bfa
+fa791ec53c1370c735f202cfe4bf91a3
+68572fe6177da66a8154850febb3784d
+16aa2bbb45c94c42c161a3c699a9ea42
+7148dbbe066692347fb3fe52dc7b1bfa
+cbd3ba35e9e76826aa5a5a8e934d1f40
+fa89041f956dec22577833d8b381648d
+7f21562fcc45072906da50d2425e9f45
+9bea1eca1258f9b474faf6fbf1af627f
+d4ce5d83262e2aca36aeb634ac22f183
+4327cd6b61a20c688d3f7781a79fb3c8
+3484ec22c7ff6981310c964d2f6e1f3a
+5acd00ed92bb8ef834b595dcc78cb026
+03cc52d7cc988df2c95b582201cd5299
+460657be2f5f350057704ee4ec0fe917
+8498920b0b5fcf6a01738b0b95f5625e
+91684c2461ade8da1b87389470822437
+b90b76648cf421edb815955b5cef7ff2
+0eeed59d8a9a769d8ba1173773af2b89
+6daef73f5f531d1ff19345b886c66786
+83b411675b4aef31f95e2912f7e88ec9
+dff3a73ac2e74a9f6bca91153b2ba419
+69b14b96d0ea67c53669ccdadb4f4d6f
+2bea42e21cb65226969b02156804a828
+c6a51b925ca8717daa9c4b84872c8e82
+b769a53654a952387eed56e7acfe0e81
+139ea8e9dee71cd206a00b55fae33531
+9b2b9103fa50360efeb47e583f8c15e1
+97ce7be8ac01261e53a1139e16e9d0cd
+fe625b561d70b446550ce9085d84d6c7
+1906ee2afb1eb2e72de3422fec77743e
+5a73d633543e90eafb8db33f43644472
+856dedfb9bc2086375db2db9bcad0dcb
+0163bbc0593b1fd3a0106021e54a682e
+9020b0d4b8f0611d4734f4ee09588a16
+d24c25164aeac83aed78d05782999611
+d904f24121a5dad59db8126d66eb8fcb
+c22dde1b953cc793129abacf53bc305c
+ef37fabed0e1ea1469050574c54384f6
+f8421e9257ec959dd953701224ad11df
+2a041435cc676ee13caa4b9ed8b13581
+f8421e9257ec959dd953701224ad11df
+7639276ea51b36094d7da4746434395a
+35ee69e6b4ccc33049e50dfcf0102a1c
+78022e171b7e0fb77af2a924da07f9cc
+aa99e622b2aed86f99334e40af59fe5b
+b5b1eef5e9ea7fdd20d8ec1abbcf7179
+1c9bf9e8b208db1fdd562ee87cf2717a
+7c8ce0431e92a1808bc41817d961c4cc
+5603636c75842a8e67488b1613d6b48f
+5e185b9ec7aa349a6d8f88dd9ce2f3ae
+1605f72db0031a8e76d15d4b9b97b089
+e3302454588e5000e5fbacc2b406b291
+df87576a1ab3a2366c35b9246b81eda1
+aa99e622b2aed86f99334e40af59fe5b
+d257dd13b9066f5e58c61fd811fad485
+57fe155ce091ff4b7703bc5cc34b690f
+4eb43928d9f2b6fc36f0fb5ff3a7e0e2
+32e251f9d2f16f718abb237eab916c6c
+71dfad8ea4652728e0cfef65671adbed
+78022e171b7e0fb77af2a924da07f9cc
+782d8f307fd5953205791ab1bd56436d
+efe2af4e6785a7ef6275e8081dec9826
+30e06a4a89088df8496dccd9a861cfc8
+4fc3f6c3204d67ff584ed9b1693f187d
+79afdf06346ad5a850f3e93547c188f5
+c26d7982993f140409914df4c0a5b201
+89ff0e9e2f3de9fa7ccea689d12951dd
+30ce28f1d7e4f6d31772d40295d93987
+9ebe22a57b02842dd7609c8301838164
+c898a02c6a27fbb46b1934e768d4c97b
+3ad55138186b5fcec191ecca5489fb94
+795e3f7a75d163e01ea5dfb820b6404a
+9648c8a74143e948ee3ce5d5e9ebe650
+19eb44a68a4a5baf7bbdaad1dc9734a3
+3d0aaf96ac56afa934f40a46f2fa0067
+57fe155ce091ff4b7703bc5cc34b690f
+19296b3e3173103da303ce91b4f1519f
+4dd83db04af7bc8742f0bbd1025fef18
+aa99e622b2aed86f99334e40af59fe5b
+603b8431f0763072cb9ea746b508d867
+457e5b6ddb2040affceefeda083ad886
+9dfe572ab43a8b345354fbbb5642e626
+782d8f307fd5953205791ab1bd56436d
+782d8f307fd5953205791ab1bd56436d
+d71f9e9c2f90be750a83623f60fa0764
+bdb4fb62d97298121f1bf19814e2ddd5
+a04913918f20745947bb12fc85abae3b
+aa99e622b2aed86f99334e40af59fe5b
+045245746ea4b81368ff4bd56e57c4a6
+241ac4b4fd15e197c9a94b88831d8daf
+8b789cbee04ecacd57d586e738ea63c6
+09b0912339436b5a69cf5959feca0584
+13939b35ee591e7505d119ee50b33ee3
+457e5b6ddb2040affceefeda083ad886
+e3302454588e5000e5fbacc2b406b291
+0da9130063f64d36a5a59d3f28382e93
+3b8d385a038588a0cd81a1c4def5613c
+4cfc1195acbedf9598a959581a09a76f
+2015a0a400ac6fa9d3f67f84d3c662a8
+9082a35652fc211c697ebcb2ccdc1153
+f45e76a3e1f73c2fe45f54509e9b7274
+a600b62b121c08d1594e9540e6e15b53
+5faba79e2cb1424719aa09b8ab39f5c7
+616a3fc0b756b04fc3e27d58c0e02e85
+c1439cf504287dfd566433c6b04cf68a
+782d8f307fd5953205791ab1bd56436d
+83047f5ca5dfe53052a0942b15177917
+fa7e439b2e2c052651d16db34067952c
+d31b8142623174dac849f435b0d0abd9
+73076c09be354deecb3e2ad029e39606
+754b1eeac4c78e2ca531dd8f148dbe57
+a9d72c136029b47bcacaebfcd8902c5e
+505e1207561c0f0f8390f5893f033a78
+b1019c6ca302e05cce999c3efb57f604
+756a934e020ec11d479530749173fa05
+fafd777e8dca801e5b0fbaffc749e652
+df396ae0549c4c727234535e041275a1
+2617d878f70f4f3ccdfd46919a192a66
+7b536903be86e078fd761e813bc7c947
+88e763bcfa6b37dc8241875077e3df79
+5faba79e2cb1424719aa09b8ab39f5c7
+54a4875cfd9e8ce53fc5d766a03fdb3b
+a4065fdf9e28623eaa23f50b205160d9
+eedaa6ebad23a66061515a1c619008af
+5a38a573c720c9fa346bde029a0ce590
+1a8a8bcad4bb5e3679fd8dc5657883d5
+460cbbbaddf4d9fe8fab3609566d3e47
+f4c70f7660edd9c09033e2cc47f8188a
+2a1e29ecaef313ff0c8c6191104aefae
+c3714b151ae128f0302ec96b913e4831
+838812c894b942ee89155149ef9aec3b
+9eefb58743c16a74727544689c6daa7d
+352877728be988e5f8770f6d800b0fb8
+8b491bb9294e4fac3880cea88c5b6a71
+311f9a8db54858352a1515c96d6b526c
+91bb9b20560ea7324e857f96615b3d19
+013855305b94e5f24515929ebdf305b7
+104d165936816018a069ae4afd1128da
+7fee9184be24532066dcdda64afba720
+df434f0e7ee9dbc5d076e8eea5e99ebd
+4af60baf483a076ce07f677cf7597da5
+37ec57f22597c91fc0dfd1c7b94ee9ec
+75cff91234db8cc435b44debe7adda5b
+8ece3f6f4916461c90d22ef2c3c8fe37
+4843ec146f3f7dc30e5ce92d28929883
+2dafba352c901769107a83aebe4214fb
+1d15d23dc633797069bb8a64436ecb73
+fad02b1db337bdbdcd877124e35e23e3
+fe61bd23a9a30a7ce19c7c1b7a48a5a6
+7aeea3801b9ff9516f2e826643288833
+543ee2fc8cdba9b76134badda8fb7a5c
+6c6df73c60e6361096c8821f64df41b0
+4dc256c1970f6f74d3e760ef7d1834e7
+15f0fbd917d0dc41482eaed80e6149b0
+d0f3807b7a7a1fc405bee8955dfefea8
+6bde3826545e7a2c6206913f54634b4e
+26a1b4b39420e288e4c8776da825bff2
+f55d9a4beecd24606ada56c54162be1b
+acd3613d2c2634b7d21cb9a2523e8267
+ea248fea728221480c9a9b28cb9f27d3
+0ea27a37cf3641f4e9075650d72d056f
+7f31508e6a6a4e3a0e4770488829fa6b
+4aeed8745fb00d7c1403cba3ac784e53
+e5a4cec665bd6844f99749f42da485f0
+f27633d1f0cd569db5603f49c678b90e
+9597fcd8434e6f46998ca6e7f4a2fd10
+0bfb58db99b81f4476c85de8140948b2
+1201de22f2f261eb0deab14fdde04fd9
+0d85208cd59e8e96df93cc746dedd3e4
+315cb2d0030fd49f99175bd54128b8c3
+ceacf06abd22dbf451b25aec73fe1d41
+4dfa8199f1aea4d82a46ca1fe74b331a
+bf0f9898a6a7b85e9d23d93da08bd249
+95541e6d47a8d24bf90c353444d3bd5f
+be8240d42f48cdec3c484aee08c6cd57
+d71553c8878e05d54f10f3ac3e9198ee
+207e329d67760a6ce8ccd3fef08a068f
+ab86ec8af4feb6dfef7db6a2f5064a17
+4d52d8c5285300d8d3b92baa6c330415
+8dfcf42e3c5f511f352455dabf6774d1
+2aedf86b7a83ee899d4b4080e50da6de
+ed584a49eb1d6b2ca8c9012c7dd9bdfc
+8d5cb5a27c0adbdd8fcae67bfd6c7275
+0b49f52312e3dd36848210a08d06c91b
+64c2119c3447d1cff2244bd9d5b5a102
+37586fd4e58fc8a21c6636842e06ca76
+28218782adff44d6c55eb8c2a08b8b97
+271bd364b60bc3d1b6a56f3b8a70bfe5
+9bae8bf9ff71bf232af4eb438f6c8063
+d79ece32d392ecda367b8897d6a61882
+c6ec8bdbf568c7b225b564e227ab11d5
+24ac3b6932dfc337f42218f816e2a68f
+e88e37b7c8517a5f4e043bd5baa915c8
+c0134deefd4d905198187d718c0be6a0
+c1b6b32167b5801cebcf53e59ec9d250
+72614b58134fa9af3cc88888ec7a0904
+321b393e91d54804b7168e39b1934d8f
+1391e4995401e0c33d45c3f2869a48d0
+ebcd4351634920da1323b68d08a99dfa
+ff25b689d6ac813390bb4a45f350acaf
+39498fe9f3c0980bcbcfb44e0518a0ac
+2033922ee7daa34f85057a2ecc29e21c
+493a704e39fced4855191dc5fef2e327
+ac2da459483f4fe123867e67daf91827
+c9693dfbfa4294be378758a46c041d66
+6ba35c842b627648192d7a6d857cf248
+0be2d890dceab9591496e926f1568c1b
+f6c503dbf75d344919d326e1d44e12c0
+24c7dddcecf7fb037ee0a4fc44f267ec
+cc058fdcc63ac7c3167feaa953a4169f
+e83aab8f9eb97805243d12165879cd1d
+687c142da03480f092a9a735f62034f6
+636f2e1ac2fefab072678ab19d98666e
+a8a3740c175b7c68c79a0877ce1e4afe
+ef156be70375670546a23b02e4d9ad1f
+c4982206d23d813f615f994d875d7e52
+49a6efb4015242b1dd9cdb2baaef5021
+f5dcf2043eb01249eec16d8c81b372b5
+ebcd4351634920da1323b68d08a99dfa
+4039ad88f752a80e76ac599e4e82d512
+f38dd9fe48842624218a7ab7a5e34991
+4817633c77ad017993fee9e64850a240
+6282e8ac87e5cc67e7bb76a3f4892488
+de4f7645fccf2a431405c78f47edd9bb
+538fd984ae818577f2a6aae48c19468a
+8d06fd38a31a17a67ea49fcdf05a5100
+224958b4d206cb4b474aff0b8ee7e367
+3512d2f0d614c569d43bacdd02e591b2
+570ce0c89f233e1f218c01ee7878c947
+f28f90323620dbe7adac56114d805844
+6bbf7350bfef24a03e13fdf08d73dbeb
+b09ead6db3a271d57b77bc50f8ecdcc2
+2fe43262c4cf4f723f31312ef7efd10e
+9d3a20d840c7c8f27f21385c5fa3cee7
+e573cf41b30e09b65565f8d2b9f408a3
+d0d0134610af1e24cd051cf5bbc21bbc
+4037642b137b4b9b2a9f53b8489ee9f8
+4037642b137b4b9b2a9f53b8489ee9f8
+e363886021b434913f108b18d550025f
+1b49d1cd126dbafe8dd6506c173eb329
+0eb7123192b021c8473465b935f0a877
+7b38243680ee79cd92223d9dbf3c578e
+61ba5cb54c6bbea3cc53d3bf11a42e9d
+c06ab534508db102abc8859ec9ecc7ec
+717213cdef63f43066a58974b68bc294
+6faaad9416d80a43520d62a949a0f393
+b2d3a77fd4c670200c33b5b675fc4559
+020c2ab48b469215578cc6e3e9b700b1
+2c0407f8a5485d2065cbfbda3fd8f3e9
+0a91eb1ea781bcc54284cc72746daf73
+5a5a27c588775ff8549aa9af1a2ee836
+ca5a9130850610a528eabb54a7343d0f
+81ee1ad1c950472a0955ec4df82d32d6
diff --git a/poetry.lock b/poetry.lock
index b1c3d5f..40dd4f1 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -29,7 +29,7 @@ visualize = ["graphviz (>0.5.1)", "Twisted (>=16.1.1)"]
 
 [[package]]
 name = "cffi"
-version = "1.14.6"
+version = "1.15.0"
 description = "Foreign Function Interface for Python calling C code."
 category = "main"
 optional = false
@@ -46,6 +46,14 @@ category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
+[[package]]
+name = "colorama"
+version = "0.4.4"
+description = "Cross-platform colored terminal text."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
 [[package]]
 name = "constantly"
 version = "15.1.0"
@@ -73,6 +81,14 @@ sdist = ["setuptools_rust (>=0.11.4)"]
 ssh = ["bcrypt (>=3.1.5)"]
 test = ["pytest (>=6.2.0)", "pytest-cov", "pytest-subtests", "pytest-xdist", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,!=3.79.2)"]
 
+[[package]]
+name = "entrypoints"
+version = "0.3"
+description = "Discover and load entry points from installed packages."
+category = "main"
+optional = false
+python-versions = ">=2.7"
+
 [[package]]
 name = "enum34"
 version = "1.1.10"
@@ -93,6 +109,40 @@ python-versions = ">=3.6"
 importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
 numpy = "*"
 
+[[package]]
+name = "flake8"
+version = "3.8.0"
+description = "the modular source code checker: pep8 pyflakes and co"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
+
+[package.dependencies]
+importlib-metadata = {version = "*", markers = "python_version < \"3.8\""}
+mccabe = ">=0.6.0,<0.7.0"
+pycodestyle = ">=2.6.0a1,<2.7.0"
+pyflakes = ">=2.2.0,<2.3.0"
+
+[[package]]
+name = "flakehell"
+version = "0.9.0"
+description = "Flake8 wrapper to make it nice and configurable"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[package.dependencies]
+colorama = "*"
+entrypoints = "*"
+flake8 = ">=3.8.0"
+pygments = "*"
+toml = "*"
+urllib3 = "*"
+
+[package.extras]
+docs = ["alabaster", "pygments-github-lexers", "recommonmark", "sphinx"]
+dev = ["dlint", "flake8-2020", "flake8-aaa", "flake8-absolute-import", "flake8-alfred", "flake8-annotations-complexity", "flake8-bandit", "flake8-black", "flake8-broken-line", "flake8-bugbear", "flake8-builtins", "flake8-coding", "flake8-cognitive-complexity", "flake8-commas", "flake8-comprehensions", "flake8-debugger", "flake8-django", "flake8-docstrings", "flake8-eradicate", "flake8-executable", "flake8-expression-complexity", "flake8-fixme", "flake8-functions", "flake8-future-import", "flake8-import-order", "flake8-isort", "flake8-logging-format", "flake8-mock", "flake8-mutable", "flake8-mypy", "flake8-pep3101", "flake8-pie", "flake8-print", "flake8-printf-formatting", "flake8-pyi", "flake8-pytest", "flake8-pytest-style", "flake8-quotes", "flake8-requirements", "flake8-rst-docstrings", "flake8-scrapy", "flake8-spellcheck", "flake8-sql", "flake8-strict", "flake8-string-format", "flake8-tidy-imports", "flake8-todo", "flake8-use-fstring", "flake8-variables-names", "isort", "mccabe", "pandas-vet", "pep8-naming", "pylint", "pytest", "typing-extensions", "wemake-python-styleguide"]
+
 [[package]]
 name = "flask"
 version = "1.1.4"
@@ -193,7 +243,7 @@ idna = ">=2.5"
 
 [[package]]
 name = "idna"
-version = "3.2"
+version = "3.3"
 description = "Internationalized Domain Names in Applications (IDNA)"
 category = "main"
 optional = false
@@ -201,7 +251,7 @@ python-versions = ">=3.5"
 
 [[package]]
 name = "importlib-metadata"
-version = "4.8.1"
+version = "4.8.2"
 description = "Read metadata from Python packages"
 category = "main"
 optional = false
@@ -214,7 +264,7 @@ zipp = ">=0.5"
 [package.extras]
 docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
 perf = ["ipython"]
-testing = ["pytest (>=4.6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
+testing = ["pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-flake8", "pytest-cov", "pytest-enabler (>=1.0.1)", "packaging", "pep517", "pyfakefs", "flufl.flake8", "pytest-perf (>=0.9.2)", "pytest-black (>=0.3.7)", "pytest-mypy", "importlib-resources (>=1.3)"]
 
 [[package]]
 name = "incremental"
@@ -285,9 +335,17 @@ category = "main"
 optional = false
 python-versions = ">=3.6"
 
+[[package]]
+name = "mccabe"
+version = "0.6.1"
+description = "McCabe checker, plugin for flake8"
+category = "main"
+optional = false
+python-versions = "*"
+
 [[package]]
 name = "numpy"
-version = "1.21.2"
+version = "1.21.4"
 description = "NumPy is the fundamental package for array computing with Python."
 category = "main"
 optional = false
@@ -295,14 +353,14 @@ python-versions = ">=3.7,<3.11"
 
 [[package]]
 name = "opencv-python"
-version = "4.5.3.56"
+version = "4.5.4.58"
 description = "Wrapper package for OpenCV python bindings."
 category = "main"
 optional = false
 python-versions = ">=3.6"
 
 [package.dependencies]
-numpy = ">=1.21.0"
+numpy = ">=1.21.2"
 
 [[package]]
 name = "parso"
@@ -349,14 +407,38 @@ python-versions = "*"
 [package.dependencies]
 pyasn1 = ">=0.4.6,<0.5.0"
 
+[[package]]
+name = "pycodestyle"
+version = "2.6.0"
+description = "Python style guide checker"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
 [[package]]
 name = "pycparser"
-version = "2.20"
+version = "2.21"
 description = "C parser in Python"
 category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
+[[package]]
+name = "pyflakes"
+version = "2.2.0"
+description = "passive checker of Python programs"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
+
+[[package]]
+name = "pygments"
+version = "2.10.0"
+description = "Pygments is a syntax highlighting package written in Python."
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
 [[package]]
 name = "pyopenssl"
 version = "21.0.0"
@@ -424,11 +506,11 @@ python-versions = "*"
 
 [[package]]
 name = "scipy"
-version = "1.7.1"
+version = "1.7.2"
 description = "SciPy: Scientific Library for Python"
 category = "main"
 optional = false
-python-versions = ">=3.7,<3.10"
+python-versions = ">=3.7,<3.11"
 
 [package.dependencies]
 numpy = ">=1.16.5,<1.23.0"
@@ -475,6 +557,14 @@ docs = ["sphinx (>=1.5.3)"]
 qa = ["flake8"]
 test = ["nose", "mock"]
 
+[[package]]
+name = "toml"
+version = "0.10.2"
+description = "Python Library for Tom's Obvious, Minimal Language"
+category = "main"
+optional = false
+python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
+
 [[package]]
 name = "twisted"
 version = "21.7.0"
@@ -532,6 +622,19 @@ category = "main"
 optional = false
 python-versions = ">=3.6"
 
+[[package]]
+name = "urllib3"
+version = "1.26.7"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
 [[package]]
 name = "werkzeug"
 version = "1.0.1"
@@ -584,7 +687,7 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
 [metadata]
 lock-version = "1.1"
 python-versions = ">=3.7, <3.10"
-content-hash = "16f12c8e94641924c775fe31dc6cfb88cf7d8f9971309b3c725f46228838502f"
+content-hash = "e96811282bf71b4b204929d33c3ae62dfb610bbf0640577724c998e96deae27b"
 
 [metadata.files]
 attrs = [
@@ -596,56 +699,65 @@ automat = [
     {file = "Automat-20.2.0.tar.gz", hash = "sha256:7979803c74610e11ef0c0d68a2942b152df52da55336e0c9d58daf1831cbdf33"},
 ]
 cffi = [
-    {file = "cffi-1.14.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:22b9c3c320171c108e903d61a3723b51e37aaa8c81255b5e7ce102775bd01e2c"},
-    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:f0c5d1acbfca6ebdd6b1e3eded8d261affb6ddcf2186205518f1428b8569bb99"},
-    {file = "cffi-1.14.6-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:99f27fefe34c37ba9875f224a8f36e31d744d8083e00f520f133cab79ad5e819"},
-    {file = "cffi-1.14.6-cp27-cp27m-win32.whl", hash = "sha256:55af55e32ae468e9946f741a5d51f9896da6b9bf0bbdd326843fec05c730eb20"},
-    {file = "cffi-1.14.6-cp27-cp27m-win_amd64.whl", hash = "sha256:7bcac9a2b4fdbed2c16fa5681356d7121ecabf041f18d97ed5b8e0dd38a80224"},
-    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:ed38b924ce794e505647f7c331b22a693bee1538fdf46b0222c4717b42f744e7"},
-    {file = "cffi-1.14.6-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:e22dcb48709fc51a7b58a927391b23ab37eb3737a98ac4338e2448bef8559b33"},
-    {file = "cffi-1.14.6-cp35-cp35m-macosx_10_9_x86_64.whl", hash = "sha256:aedb15f0a5a5949ecb129a82b72b19df97bbbca024081ed2ef88bd5c0a610534"},
-    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:48916e459c54c4a70e52745639f1db524542140433599e13911b2f329834276a"},
-    {file = "cffi-1.14.6-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:f627688813d0a4140153ff532537fbe4afea5a3dffce1f9deb7f91f848a832b5"},
-    {file = "cffi-1.14.6-cp35-cp35m-win32.whl", hash = "sha256:f0010c6f9d1a4011e429109fda55a225921e3206e7f62a0c22a35344bfd13cca"},
-    {file = "cffi-1.14.6-cp35-cp35m-win_amd64.whl", hash = "sha256:57e555a9feb4a8460415f1aac331a2dc833b1115284f7ded7278b54afc5bd218"},
-    {file = "cffi-1.14.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:e8c6a99be100371dbb046880e7a282152aa5d6127ae01783e37662ef73850d8f"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:19ca0dbdeda3b2615421d54bef8985f72af6e0c47082a8d26122adac81a95872"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:d950695ae4381ecd856bcaf2b1e866720e4ab9a1498cba61c602e56630ca7195"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e9dc245e3ac69c92ee4c167fbdd7428ec1956d4e754223124991ef29eb57a09d"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8661b2ce9694ca01c529bfa204dbb144b275a31685a075ce123f12331be790b"},
-    {file = "cffi-1.14.6-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b315d709717a99f4b27b59b021e6207c64620790ca3e0bde636a6c7f14618abb"},
-    {file = "cffi-1.14.6-cp36-cp36m-win32.whl", hash = "sha256:80b06212075346b5546b0417b9f2bf467fea3bfe7352f781ffc05a8ab24ba14a"},
-    {file = "cffi-1.14.6-cp36-cp36m-win_amd64.whl", hash = "sha256:a9da7010cec5a12193d1af9872a00888f396aba3dc79186604a09ea3ee7c029e"},
-    {file = "cffi-1.14.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4373612d59c404baeb7cbd788a18b2b2a8331abcc84c3ba40051fcd18b17a4d5"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:f10afb1004f102c7868ebfe91c28f4a712227fe4cb24974350ace1f90e1febbf"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:fd4305f86f53dfd8cd3522269ed7fc34856a8ee3709a5e28b2836b2db9d4cd69"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d6169cb3c6c2ad50db5b868db6491a790300ade1ed5d1da29289d73bbe40b56"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d4b68e216fc65e9fe4f524c177b54964af043dde734807586cf5435af84045c"},
-    {file = "cffi-1.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33791e8a2dc2953f28b8d8d300dde42dd929ac28f974c4b4c6272cb2955cb762"},
-    {file = "cffi-1.14.6-cp37-cp37m-win32.whl", hash = "sha256:0c0591bee64e438883b0c92a7bed78f6290d40bf02e54c5bf0978eaf36061771"},
-    {file = "cffi-1.14.6-cp37-cp37m-win_amd64.whl", hash = "sha256:8eb687582ed7cd8c4bdbff3df6c0da443eb89c3c72e6e5dcdd9c81729712791a"},
-    {file = "cffi-1.14.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ba6f2b3f452e150945d58f4badd92310449876c4c954836cfb1803bdd7b422f0"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux1_i686.whl", hash = "sha256:64fda793737bc4037521d4899be780534b9aea552eb673b9833b01f945904c2e"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:9f3e33c28cd39d1b655ed1ba7247133b6f7fc16fa16887b120c0c670e35ce346"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26bb2549b72708c833f5abe62b756176022a7b9a7f689b571e74c8478ead51dc"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb687a11f0a7a1839719edd80f41e459cc5366857ecbed383ff376c4e3cc6afd"},
-    {file = "cffi-1.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2ad4d668a5c0645d281dcd17aff2be3212bc109b33814bbb15c4939f44181cc"},
-    {file = "cffi-1.14.6-cp38-cp38-win32.whl", hash = "sha256:487d63e1454627c8e47dd230025780e91869cfba4c753a74fda196a1f6ad6548"},
-    {file = "cffi-1.14.6-cp38-cp38-win_amd64.whl", hash = "sha256:c33d18eb6e6bc36f09d793c0dc58b0211fccc6ae5149b808da4a62660678b156"},
-    {file = "cffi-1.14.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:06c54a68935738d206570b20da5ef2b6b6d92b38ef3ec45c5422c0ebaf338d4d"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f174135f5609428cc6e1b9090f9268f5c8935fddb1b25ccb8255a2d50de6789e"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f3ebe6e73c319340830a9b2825d32eb6d8475c1dac020b4f0aa774ee3b898d1c"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c8d896becff2fa653dc4438b54a5a25a971d1f4110b32bd3068db3722c80202"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4922cd707b25e623b902c86188aca466d3620892db76c0bdd7b99a3d5e61d35f"},
-    {file = "cffi-1.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c9e005e9bd57bc987764c32a1bee4364c44fdc11a3cc20a40b93b444984f2b87"},
-    {file = "cffi-1.14.6-cp39-cp39-win32.whl", hash = "sha256:eb9e2a346c5238a30a746893f23a9535e700f8192a68c07c0258e7ece6ff3728"},
-    {file = "cffi-1.14.6-cp39-cp39-win_amd64.whl", hash = "sha256:818014c754cd3dba7229c0f5884396264d51ffb87ec86e927ef0be140bfdb0d2"},
-    {file = "cffi-1.14.6.tar.gz", hash = "sha256:c9a875ce9d7fe32887784274dd533c57909b7b1dcadcc128a2ac21331a9765dd"},
+    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
+    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14"},
+    {file = "cffi-1.15.0-cp27-cp27m-win32.whl", hash = "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474"},
+    {file = "cffi-1.15.0-cp27-cp27m-win_amd64.whl", hash = "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27"},
+    {file = "cffi-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2"},
+    {file = "cffi-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962"},
+    {file = "cffi-1.15.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382"},
+    {file = "cffi-1.15.0-cp310-cp310-win32.whl", hash = "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55"},
+    {file = "cffi-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0"},
+    {file = "cffi-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8"},
+    {file = "cffi-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605"},
+    {file = "cffi-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e"},
+    {file = "cffi-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc"},
+    {file = "cffi-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2"},
+    {file = "cffi-1.15.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7"},
+    {file = "cffi-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66"},
+    {file = "cffi-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029"},
+    {file = "cffi-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728"},
+    {file = "cffi-1.15.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6"},
+    {file = "cffi-1.15.0-cp38-cp38-win32.whl", hash = "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c"},
+    {file = "cffi-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a"},
+    {file = "cffi-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df"},
+    {file = "cffi-1.15.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8"},
+    {file = "cffi-1.15.0-cp39-cp39-win32.whl", hash = "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a"},
+    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
+    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
 ]
 click = [
     {file = "click-7.1.2-py2.py3-none-any.whl", hash = "sha256:dacca89f4bfadd5de3d7489b7c8a566eee0d3676333fbb50030263894c38c0dc"},
     {file = "click-7.1.2.tar.gz", hash = "sha256:d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a"},
 ]
+colorama = [
+    {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
+    {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+]
 constantly = [
     {file = "constantly-15.1.0-py2.py3-none-any.whl", hash = "sha256:dd2fa9d6b1a51a83f0d7dd76293d734046aa176e384bf6e33b7e44880eb37c5d"},
     {file = "constantly-15.1.0.tar.gz", hash = "sha256:586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35"},
@@ -672,6 +784,10 @@ cryptography = [
     {file = "cryptography-35.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:1ed82abf16df40a60942a8c211251ae72858b25b7421ce2497c2eb7a1cee817c"},
     {file = "cryptography-35.0.0.tar.gz", hash = "sha256:9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d"},
 ]
+entrypoints = [
+    {file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
+    {file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"},
+]
 enum34 = [
     {file = "enum34-1.1.10-py2-none-any.whl", hash = "sha256:a98a201d6de3f2ab3db284e70a33b0f896fbf35f8086594e8c9e74b909058d53"},
     {file = "enum34-1.1.10-py3-none-any.whl", hash = "sha256:c3858660960c984d6ab0ebad691265180da2b43f07e061c0f8dca9ef3cffd328"},
@@ -681,6 +797,14 @@ fake-rpi = [
     {file = "fake_rpi-0.7.1-py3-none-any.whl", hash = "sha256:2ca5af521c095fcfd1d368a4e96d6b4445b3ad673470d63f0867d3411ac38ceb"},
     {file = "fake_rpi-0.7.1.tar.gz", hash = "sha256:9194842c49ad17afa5b492c52172d7e15790563e36a01fc5f525b606416e00ee"},
 ]
+flake8 = [
+    {file = "flake8-3.8.0-py2.py3-none-any.whl", hash = "sha256:bcf5163890bb01f11f04f0f444f01004d0f9ad5fab10c51104f770acf532008f"},
+    {file = "flake8-3.8.0.tar.gz", hash = "sha256:e2f33066fb92ac0a3a30ea509f61e325f2110b2e84644333a3ff8e9e98a2beab"},
+]
+flakehell = [
+    {file = "flakehell-0.9.0-py3-none-any.whl", hash = "sha256:48a3a9b46136240e52b3b32a78a0826c45f6dcf7d980c30f758c1db5b1439c0b"},
+    {file = "flakehell-0.9.0.tar.gz", hash = "sha256:208836d8d24194d50cfa4c1fc99f681f3c537cc232edcd06455abc2971460893"},
+]
 flask = [
     {file = "Flask-1.1.4-py2.py3-none-any.whl", hash = "sha256:c34f04500f2cbbea882b1acb02002ad6fe6b7ffa64a6164577995657f50aed22"},
     {file = "Flask-1.1.4.tar.gz", hash = "sha256:0fbeb6180d383a9186d0d6ed954e0042ad9f18e0e8de088b2b419d526927d196"},
@@ -782,12 +906,12 @@ hyperlink = [
     {file = "hyperlink-21.0.0.tar.gz", hash = "sha256:427af957daa58bc909471c6c40f74c5450fa123dd093fc53efd2e91d2705a56b"},
 ]
 idna = [
-    {file = "idna-3.2-py3-none-any.whl", hash = "sha256:14475042e284991034cb48e06f6851428fb14c4dc953acd9be9a5e95c7b6dd7a"},
-    {file = "idna-3.2.tar.gz", hash = "sha256:467fbad99067910785144ce333826c71fb0e63a425657295239737f7ecd125f3"},
+    {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
+    {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
 ]
 importlib-metadata = [
-    {file = "importlib_metadata-4.8.1-py3-none-any.whl", hash = "sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15"},
-    {file = "importlib_metadata-4.8.1.tar.gz", hash = "sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1"},
+    {file = "importlib_metadata-4.8.2-py3-none-any.whl", hash = "sha256:53ccfd5c134223e497627b9815d5030edf77d2ed573922f7a0b8f8bb81a1c100"},
+    {file = "importlib_metadata-4.8.2.tar.gz", hash = "sha256:75bdec14c397f528724c1bfd9709d660b33a4d2e77387a3358f20b848bb5e5fb"},
 ]
 incremental = [
     {file = "incremental-21.3.0-py2.py3-none-any.whl", hash = "sha256:92014aebc6a20b78a8084cdd5645eeaa7f74b8933f70fa3ada2cfbd1e3b54321"},
@@ -865,63 +989,73 @@ markupsafe = [
     {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
     {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
 ]
+mccabe = [
+    {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"},
+    {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"},
+]
 numpy = [
-    {file = "numpy-1.21.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52a664323273c08f3b473548bf87c8145b7513afd63e4ebba8496ecd3853df13"},
-    {file = "numpy-1.21.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51a7b9db0a2941434cd930dacaafe0fc9da8f3d6157f9d12f761bbde93f46218"},
-    {file = "numpy-1.21.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9f2dc79c093f6c5113718d3d90c283f11463d77daa4e83aeeac088ec6a0bda52"},
-    {file = "numpy-1.21.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:a55e4d81c4260386f71d22294795c87609164e22b28ba0d435850fbdf82fc0c5"},
-    {file = "numpy-1.21.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:426a00b68b0d21f2deb2ace3c6d677e611ad5a612d2c76494e24a562a930c254"},
-    {file = "numpy-1.21.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:298156f4d3d46815eaf0fcf0a03f9625fc7631692bd1ad851517ab93c3168fc6"},
-    {file = "numpy-1.21.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:09858463db6dd9f78b2a1a05c93f3b33d4f65975771e90d2cf7aadb7c2f66edf"},
-    {file = "numpy-1.21.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:805459ad8baaf815883d0d6f86e45b3b0b67d823a8f3fa39b1ed9c45eaf5edf1"},
-    {file = "numpy-1.21.2-cp37-cp37m-win32.whl", hash = "sha256:f545c082eeb09ae678dd451a1b1dbf17babd8a0d7adea02897a76e639afca310"},
-    {file = "numpy-1.21.2-cp37-cp37m-win_amd64.whl", hash = "sha256:b160b9a99ecc6559d9e6d461b95c8eec21461b332f80267ad2c10394b9503496"},
-    {file = "numpy-1.21.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a5109345f5ce7ddb3840f5970de71c34a0ff7fceb133c9441283bb8250f532a3"},
-    {file = "numpy-1.21.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:209666ce9d4a817e8a4597cd475b71b4878a85fa4b8db41d79fdb4fdee01dde2"},
-    {file = "numpy-1.21.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c01b59b33c7c3ba90744f2c695be571a3bd40ab2ba7f3d169ffa6db3cfba614f"},
-    {file = "numpy-1.21.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e42029e184008a5fd3d819323345e25e2337b0ac7f5c135b7623308530209d57"},
-    {file = "numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:7fdc7689daf3b845934d67cb221ba8d250fdca20ac0334fea32f7091b93f00d3"},
-    {file = "numpy-1.21.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:550564024dc5ceee9421a86fc0fb378aa9d222d4d0f858f6669eff7410c89bef"},
-    {file = "numpy-1.21.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bf75d5825ef47aa51d669b03ce635ecb84d69311e05eccea083f31c7570c9931"},
-    {file = "numpy-1.21.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:a9da45b748caad72ea4a4ed57e9cd382089f33c5ec330a804eb420a496fa760f"},
-    {file = "numpy-1.21.2-cp38-cp38-win32.whl", hash = "sha256:e167b9805de54367dcb2043519382be541117503ce99e3291cc9b41ca0a83557"},
-    {file = "numpy-1.21.2-cp38-cp38-win_amd64.whl", hash = "sha256:466e682264b14982012887e90346d33435c984b7fead7b85e634903795c8fdb0"},
-    {file = "numpy-1.21.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:dd0e3651d210068d13e18503d75aaa45656eef51ef0b261f891788589db2cc38"},
-    {file = "numpy-1.21.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:92a0ab128b07799dd5b9077a9af075a63467d03ebac6f8a93e6440abfea4120d"},
-    {file = "numpy-1.21.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fde50062d67d805bc96f1a9ecc0d37bfc2a8f02b937d2c50824d186aa91f2419"},
-    {file = "numpy-1.21.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:640c1ccfd56724f2955c237b6ccce2e5b8607c3bc1cc51d3933b8c48d1da3723"},
-    {file = "numpy-1.21.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5de64950137f3a50b76ce93556db392e8f1f954c2d8207f78a92d1f79aa9f737"},
-    {file = "numpy-1.21.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b342064e647d099ca765f19672696ad50c953cac95b566af1492fd142283580f"},
-    {file = "numpy-1.21.2-cp39-cp39-win32.whl", hash = "sha256:30fc68307c0155d2a75ad19844224be0f2c6f06572d958db4e2053f816b859ad"},
-    {file = "numpy-1.21.2-cp39-cp39-win_amd64.whl", hash = "sha256:b5e8590b9245803c849e09bae070a8e1ff444f45e3f0bed558dd722119eea724"},
-    {file = "numpy-1.21.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d96a6a7d74af56feb11e9a443150216578ea07b7450f7c05df40eec90af7f4a7"},
-    {file = "numpy-1.21.2.zip", hash = "sha256:423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc"},
+    {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f"},
+    {file = "numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5"},
+    {file = "numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898"},
+    {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823"},
+    {file = "numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca"},
+    {file = "numpy-1.21.4-cp310-cp310-win_amd64.whl", hash = "sha256:1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a"},
+    {file = "numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63"},
+    {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41"},
+    {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377"},
+    {file = "numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73"},
+    {file = "numpy-1.21.4-cp37-cp37m-win32.whl", hash = "sha256:81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f"},
+    {file = "numpy-1.21.4-cp37-cp37m-win_amd64.whl", hash = "sha256:32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469"},
+    {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e"},
+    {file = "numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f"},
+    {file = "numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f"},
+    {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333"},
+    {file = "numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6"},
+    {file = "numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce"},
+    {file = "numpy-1.21.4-cp38-cp38-win32.whl", hash = "sha256:bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd"},
+    {file = "numpy-1.21.4-cp38-cp38-win_amd64.whl", hash = "sha256:170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd"},
+    {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d"},
+    {file = "numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4"},
+    {file = "numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162"},
+    {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880"},
+    {file = "numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c"},
+    {file = "numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0"},
+    {file = "numpy-1.21.4-cp39-cp39-win32.whl", hash = "sha256:b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2"},
+    {file = "numpy-1.21.4-cp39-cp39-win_amd64.whl", hash = "sha256:e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8"},
+    {file = "numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf"},
+    {file = "numpy-1.21.4.zip", hash = "sha256:e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0"},
 ]
 opencv-python = [
-    {file = "opencv-python-4.5.3.56.tar.gz", hash = "sha256:3c001d3feec7f3140f1fb78dfc52ca28122db8240826882d175a208a89d2731b"},
-    {file = "opencv_python-4.5.3.56-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:9a78558b5ae848386edbb843c761e5fed5a8480be9af16274a5a78838529edeb"},
-    {file = "opencv_python-4.5.3.56-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:8d3282138f3a8646941089aae142684910ebe40776266448eab5f4bb609fc63f"},
-    {file = "opencv_python-4.5.3.56-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:881f3d85269500e0c7d72b140a6ebb5c14a089f8140fb9da7ce01f12a245858e"},
-    {file = "opencv_python-4.5.3.56-cp36-cp36m-win32.whl", hash = "sha256:f1bda4d144f5204e077ca4571453ebb2015e5748d5e0043386c92c2bbf7f52eb"},
-    {file = "opencv_python-4.5.3.56-cp36-cp36m-win_amd64.whl", hash = "sha256:6763729fcfee2a08e069aa1982c9a8c1abf55b9cdf2fb9640eda1d85bdece19a"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:68813b720b88e4951e84399b9a8a7b532d45a07a96ea8f539636242f862e32e0"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:c360cb76ad1ddbd5d2d3e730b42f2ff6e4be08ea6f4a6eefacca175d27467e8f"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:437f30e300725e1d1b3744dbfbc66a523a4744792b58f3dbe1e9140c8f4dfba5"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:e42c644a70d5c54f53a4b114dbd88b4eb83f42a9ca998f07bd5682f3f404efcc"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-win32.whl", hash = "sha256:f3ac2355217114a683f3f72a9c40a5890914a59c4a2df62e4083c66ff65c9cf9"},
-    {file = "opencv_python-4.5.3.56-cp37-cp37m-win_amd64.whl", hash = "sha256:7f41b97d84ac66bdf13cb4d9f4dad3e159525ba1e3f421e670c787ce536eb70a"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:cdc3363c2911d7cfc6c9f55308c51c2841a7aecbf0bf5e791499d220ce89d880"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:18a4a14015eee30d9cd514db8cdefbf594b1d5c234762d27abe512d62a333bc3"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:05c5139d620e8d02f7ce0921796d55736fa19fa15e2ec00a388db2eb1ae1e9a1"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:831b92fe63ce18dd628f71104da7e60596658b75e2fa16b83aefa3eb10c115e2"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-win32.whl", hash = "sha256:e1f54736272830a1e895cedf7a4ee67737e31e966d380c82a81ef22515d043a3"},
-    {file = "opencv_python-4.5.3.56-cp38-cp38-win_amd64.whl", hash = "sha256:b42bbba9f5421865377c7960bd4f3dd881003b322a6bf46ed2302b89224d102b"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:5366fcd6eae4243add3c8c92142045850f1db8e464bcf0b75313e1596b2e3671"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:54c64e86a087841869901fd34462bb6bec01cd4652800fdf5d92fe7b0596c82f"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:8852be06c0749fef0d9c58f532bbcb0570968c59e41cf56b90f5c92593c6e108"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:8b5bc61be7fc8565140b746288b370a4bfdb4edb9d680b66bb914e7690485db1"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-win32.whl", hash = "sha256:085232718f28bddd265da480874c37db5c7354cb08f23f4a68a8639b16276a89"},
-    {file = "opencv_python-4.5.3.56-cp39-cp39-win_amd64.whl", hash = "sha256:205a73adb29c37e42475645519e612e843a985475da993d10b4d5daa6afec36a"},
+    {file = "opencv-python-4.5.4.58.tar.gz", hash = "sha256:48288428f407bacba5f73d460feb4a1ecafe87db3d7cfc0730a49fb32f589bbf"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0eba0bfe62c48a02a5af3a0944e872c99f57f98653bed14d51c6991a58f9e1d1"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:9bcca50c5444b5cfb01624666b69f91ba8f2d2bf4ef37b111697aafdeb81c99f"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:8f7886acabaebf0361bd3dbccaa0d08e3f65ab13b7c739eb11e028f01ad13582"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:d4b1d0b98ee72ba5dd720166790fc93ce459281e138ee79b0d41420b3da52b2e"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-win32.whl", hash = "sha256:69a78e40a374ac14e4bf15a13dbb6c30fd2fbd5fcd3674d020a31b88861d5aaf"},
+    {file = "opencv_python-4.5.4.58-cp310-cp310-win_amd64.whl", hash = "sha256:315c357522b6310ef7a0718d9f0c5d3110e59c19140705499a3c29bdd8c0124f"},
+    {file = "opencv_python-4.5.4.58-cp36-cp36m-macosx_10_15_x86_64.whl", hash = "sha256:887a61097092dc0bf23fa24646dbc8cfeeb753649cb28a3782a93a6879e3b7d2"},
+    {file = "opencv_python-4.5.4.58-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:22bcc3153a7d4f95aff79457eef81ef5e40ab1851b189e014412b5e9fbee2573"},
+    {file = "opencv_python-4.5.4.58-cp36-cp36m-manylinux2014_x86_64.whl", hash = "sha256:92e9b2261ec764229c948d77fe0d922ee033348ca6519939b87861016c1614b3"},
+    {file = "opencv_python-4.5.4.58-cp36-cp36m-win32.whl", hash = "sha256:0d6249a49122a78afc6685ddb1377a87e46414ae61c84535c4c6024397f1f3e8"},
+    {file = "opencv_python-4.5.4.58-cp36-cp36m-win_amd64.whl", hash = "sha256:eaa144013b597e4dcabc8d8230edfe810319de01b5609556d415a20e2b707547"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:26feeeb280de179f5dbb8976ebf7ceb836bd263973cb5daec8ca36e8ef7b5773"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:4a13381bdfc0fb4b080efcc27c46561d0bd752f126226e9f19aa9cbcf6677f40"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:ac852fcaac93439f2f7116ddffdc23fd366c872200ade2272446f9898180cecb"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:02872e0a9358526646d691f390143e9c21109c210095314abaa0641211cda077"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-win32.whl", hash = "sha256:6b87bab220d17e03eeedbcc6652d9d7e7bb09886dbd0f810310697a948b4c6fd"},
+    {file = "opencv_python-4.5.4.58-cp37-cp37m-win_amd64.whl", hash = "sha256:a2a7f09b8843b85f3e1b02c5ea3ddc0cb9f5ad9698380109b37069ee8db7746d"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:c44f5c51e92322ed832607204249c190764dec6cf29e8ba6d679b10326be1c1b"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9b2c198af083a693d42a82bddc4d1f7e6bb02c64192ff7fac1fd1d43a8cf1be6"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:637f4d3ad81bd27f273ede4c5fa6c26afb85c097c9715baf107cc270e37f5fea"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:2fff48a641a74d1def31c1e88f9e5ce50ba4d0f87d085dfbf8bc844e12f6cd54"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-win32.whl", hash = "sha256:8ddf4dcd8199209e33f21deb0c6d8ab62b21802816bba895fefc346b6d2e522d"},
+    {file = "opencv_python-4.5.4.58-cp38-cp38-win_amd64.whl", hash = "sha256:085c5fcf5a6479c34aca3fd0f59055e704083d6a44009d6583c675ff1a5a0625"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:4abe9c4fb6fe16daa9fcdd68b5357d3530431341aa655203f8e84f394e1fe6d4"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b614fbd81aeda53ce28e645aaee18fda7c7f2a48eb7f1a70a7c6c3427946342"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:215bdf069847d4e3b0447a34e9eb4046dd4ca523d41fe4381c1c55f6704fd0dc"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc34cdbfbab463750713118c8259a5d364547adab8ed91e94ba888349f33590a"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-win32.whl", hash = "sha256:9998ce60884f3cda074f02b56d2b57ee6bd863e2ddba132da2b0af3b9487d584"},
+    {file = "opencv_python-4.5.4.58-cp39-cp39-win_amd64.whl", hash = "sha256:5370a11757fbe94b176771269aff599f4da8676c2a672b13bcbca043f2e3eea8"},
 ]
 parso = [
     {file = "parso-0.7.1-py2.py3-none-any.whl", hash = "sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea"},
@@ -961,9 +1095,21 @@ pyasn1-modules = [
     {file = "pyasn1_modules-0.2.8-py3.6.egg", hash = "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0"},
     {file = "pyasn1_modules-0.2.8-py3.7.egg", hash = "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd"},
 ]
+pycodestyle = [
+    {file = "pycodestyle-2.6.0-py2.py3-none-any.whl", hash = "sha256:2295e7b2f6b5bd100585ebcb1f616591b652db8a741695b3d8f5d28bdc934367"},
+    {file = "pycodestyle-2.6.0.tar.gz", hash = "sha256:c58a7d2815e0e8d7972bf1803331fb0152f867bd89adf8a01dfd55085434192e"},
+]
 pycparser = [
-    {file = "pycparser-2.20-py2.py3-none-any.whl", hash = "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705"},
-    {file = "pycparser-2.20.tar.gz", hash = "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0"},
+    {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
+    {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
+]
+pyflakes = [
+    {file = "pyflakes-2.2.0-py2.py3-none-any.whl", hash = "sha256:0d94e0e05a19e57a99444b6ddcf9a6eb2e5c68d3ca1e98e90707af8152c90a92"},
+    {file = "pyflakes-2.2.0.tar.gz", hash = "sha256:35b2d75ee967ea93b55750aa9edbbf72813e06a66ba54438df2cfac9e3c27fc8"},
+]
+pygments = [
+    {file = "Pygments-2.10.0-py3-none-any.whl", hash = "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380"},
+    {file = "Pygments-2.10.0.tar.gz", hash = "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6"},
 ]
 pyopenssl = [
     {file = "pyOpenSSL-21.0.0-py2.py3-none-any.whl", hash = "sha256:8935bd4920ab9abfebb07c41a4f58296407ed77f04bd1a92914044b848ba1ed6"},
@@ -982,25 +1128,30 @@ pytz = [
     {file = "pytz-2021.3.tar.gz", hash = "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326"},
 ]
 scipy = [
-    {file = "scipy-1.7.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2a0eeaab01258e0870c4022a6cd329aef3b7c6c2b606bd7cf7bb2ba9820ae561"},
-    {file = "scipy-1.7.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f52470e0548cdb74fb8ddf06773ffdcca7c97550f903b1c51312ec19243a7f7"},
-    {file = "scipy-1.7.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:787749110a23502031fb1643c55a2236c99c6b989cca703ea2114d65e21728ef"},
-    {file = "scipy-1.7.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3304bd5bc32e00954ac4b3f4cc382ca8824719bf348aacbec6347337d6b125fe"},
-    {file = "scipy-1.7.1-cp37-cp37m-win32.whl", hash = "sha256:d1388fbac9dd591ea630da75c455f4cc637a7ca5ecb31a6b6cef430914749cde"},
-    {file = "scipy-1.7.1-cp37-cp37m-win_amd64.whl", hash = "sha256:d648aa85dd5074b1ed83008ae987c3fbb53d68af619fce1dee231f4d8bd40e2f"},
-    {file = "scipy-1.7.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc61e3e5ff92d2f32bb263621d54a9cff5e3f7c420af3d1fa122ce2529de2bd9"},
-    {file = "scipy-1.7.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a496b42dbcd04ea9924f5e92be63af3d8e0f43a274b769bfaca0a297327d54ee"},
-    {file = "scipy-1.7.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d13f31457f2216e5705304d9f28e2826edf75487410a57aa99263fa4ffd792c2"},
-    {file = "scipy-1.7.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:90c07ba5f34f33299a428b0d4fa24c30d2ceba44d63f8385b2b05be460819fcb"},
-    {file = "scipy-1.7.1-cp38-cp38-win32.whl", hash = "sha256:efdd3825d54c58df2cc394366ca4b9166cf940a0ebddeb87b6c10053deb625ea"},
-    {file = "scipy-1.7.1-cp38-cp38-win_amd64.whl", hash = "sha256:71cfc96297617eab911e22216e8a8597703202e95636d9406df9af5c2ac99a2b"},
-    {file = "scipy-1.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4ee952f39a4a4c7ba775a32b664b1f4b74818548b65f765987adc14bb78f5802"},
-    {file = "scipy-1.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:611f9cb459d0707dd8e4de0c96f86e93f61aac7475fcb225e9ec71fecdc5cebf"},
-    {file = "scipy-1.7.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e101bceeb9e65a90dadbc5ca31283403a2d4667b9c178db29109750568e8d112"},
-    {file = "scipy-1.7.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:4729b41a4cdaf4cd011aeac816b532f990bdf97710cef59149d3e293115cf467"},
-    {file = "scipy-1.7.1-cp39-cp39-win32.whl", hash = "sha256:c9951e3746b68974125e5e3445008a4163dd6d20ae0bbdae22b38cb8951dc11b"},
-    {file = "scipy-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:da9c6b336e540def0b7fd65603da8abeb306c5fc9a5f4238665cbbb5ff95cf58"},
-    {file = "scipy-1.7.1.tar.gz", hash = "sha256:6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764"},
+    {file = "scipy-1.7.2-1-cp310-cp310-win_amd64.whl", hash = "sha256:dc2d1bf41294e63c7302bf499973ac0c7f73c93c01763db43055f6525234bf11"},
+    {file = "scipy-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97eb573e361a73a553b915dc195c6f72a08249964b1a33f157f9659f3b6210d1"},
+    {file = "scipy-1.7.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:359b60a0cccd17723b9d5e329a5212a710e771a3ddde800e472fb93732756c46"},
+    {file = "scipy-1.7.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82c5befebf54d799d77e5f0205c03030f57f69ba2541baa44d2e6ad138c28cd3"},
+    {file = "scipy-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:54951f51d731c832b1b8885e0a92e89f33d087de7e40d02078bf0d49c7cbdbb5"},
+    {file = "scipy-1.7.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:30bdda199667e74b50208a793eb1ba47a04e5e3fa16f5ff06c6f7969ae78e4da"},
+    {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:e3efe7ef75dfe627b354ab0af0dbc918eadee97cc80ff1aabea6d3e01114ebdd"},
+    {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:17fd991a275e4283453f89d404209aa92059ac68d76d804b4bc1716a3742e1b5"},
+    {file = "scipy-1.7.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:74f518ce542533054695f743e4271cb8986b63f95bb51d70fcee4f3929cbff7d"},
+    {file = "scipy-1.7.2-cp37-cp37m-win32.whl", hash = "sha256:1437073f1d4664990879aa8f9547524764372e0fef84a077be4b19e82bba7a8d"},
+    {file = "scipy-1.7.2-cp37-cp37m-win_amd64.whl", hash = "sha256:39f838ea5ce8da868785193d88d05cf5a6d5c390804ec99de29a28e1dcdd53e6"},
+    {file = "scipy-1.7.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e08b81fcd9bf98740b58dc6fdd7879e33a64dcb682201c1135f7d4a75216bb05"},
+    {file = "scipy-1.7.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:7b1d0f5f524518f1a86f288443528e4ff4a739c0966db663af4129b7ac7849f8"},
+    {file = "scipy-1.7.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cac71d5476a6f56b50459da21f6221707e0051ebd428b2137db32ef4a43bb15e"},
+    {file = "scipy-1.7.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d175ba93e00d8eef8f7cd70d4d88a9106a86800c82ea03cf2268c36d6545483"},
+    {file = "scipy-1.7.2-cp38-cp38-win32.whl", hash = "sha256:8b5726a0fedeaa6beb1095e4466998bdd1d1e960b28db9b5a16c89cbd7b2ebf1"},
+    {file = "scipy-1.7.2-cp38-cp38-win_amd64.whl", hash = "sha256:8482c8e45857ab0a5446eb7460d2307a27cbbe659d6d2257820c6d6eb950fd0f"},
+    {file = "scipy-1.7.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1ea6233f5a365cb7945b4304bd06323ece3ece85d6a3fa8598d2f53e513467c9"},
+    {file = "scipy-1.7.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:d86abd1ddf421dea5e9cebfeb4de0d205b3dc04e78249afedba9c6c3b2227ff2"},
+    {file = "scipy-1.7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d25272c03ee3c0fe5e0dff1bb7889280bb6c9e1766fa9c7bde81ad8a5f78694"},
+    {file = "scipy-1.7.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5273d832fb9cd5724ee0d335c16a903b923441107dd973d27fc4293075a9f4e3"},
+    {file = "scipy-1.7.2-cp39-cp39-win32.whl", hash = "sha256:87cf3964db0f1cce17aeed5bfc1b89a6b4b07dbfc48e50d21fa3549e00456803"},
+    {file = "scipy-1.7.2-cp39-cp39-win_amd64.whl", hash = "sha256:a80eb01c43fd98257ec7a49ff5cec0edba32031b5f86503f55399a48cb2c5379"},
+    {file = "scipy-1.7.2.tar.gz", hash = "sha256:fa2dbabaaecdb502641b0b3c00dec05fb475ae48655c66da16c9ed24eda1e711"},
 ]
 service-identity = [
     {file = "service-identity-21.1.0.tar.gz", hash = "sha256:6e6c6086ca271dc11b033d17c3a8bea9f24ebff920c587da090afc9519419d34"},
@@ -1014,6 +1165,10 @@ smbus2 = [
     {file = "smbus2-0.4.1-py2.py3-none-any.whl", hash = "sha256:8b1e70cda011b6fb3caf8377a1084f73a5aa99392b78529f140b0a3f06468f6c"},
     {file = "smbus2-0.4.1.tar.gz", hash = "sha256:6276eb599b76c4e74372f2582d2282f03b4398f0da16bc996608e4f21557ca9b"},
 ]
+toml = [
+    {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"},
+    {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
+]
 twisted = [
     {file = "Twisted-21.7.0-py3-none-any.whl", hash = "sha256:13c1d1d2421ae556d91e81e66cf0d4f4e4e1e4a36a0486933bee4305c6a4fb9b"},
     {file = "Twisted-21.7.0.tar.gz", hash = "sha256:2cd652542463277378b0d349f47c62f20d9306e57d1247baabd6d1d38a109006"},
@@ -1083,6 +1238,10 @@ ujson = [
     {file = "ujson-4.2.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74961587e9c1682d3e04fe29e02b67ec9c88cb0c3406ad94cc617d04c6fa6db2"},
     {file = "ujson-4.2.0.tar.gz", hash = "sha256:fffe509f556861c7343c6cba57ed05fe7bcf4b48a934a5b946ccb45428cf8883"},
 ]
+urllib3 = [
+    {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"},
+    {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"},
+]
 werkzeug = [
     {file = "Werkzeug-1.0.1-py2.py3-none-any.whl", hash = "sha256:2de2a5db0baeae7b2d2664949077c2ac63fbd16d98da0ff71837f7d1dea3fd43"},
     {file = "Werkzeug-1.0.1.tar.gz", hash = "sha256:6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c"},
diff --git a/pyproject.toml b/pyproject.toml
index 82b5d3e..76151ca 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,11 +16,22 @@ jsonrpc = "^3.0.1"
 smbus2 = "^0.4.1"
 opencv-python = "^4.5.3"
 scipy = "^1.7.1"
+flake8 = "3.8.0"
+flakehell = "^0.9.0"
 
 
 [tool.poetry.dev-dependencies]
 fake-rpi = "^0.7.1"
 
+
+[tool.flakehell]
+# Inherit config
+base = "https://raw.githubusercontent.com/life4/flakehell/master/pyproject.toml"
+format = "grouped"
+max_line_length = 100
+show_source = true
+baseline = "baseline.txt"
+
 [build-system]
 requires = ["poetry-core>=1.0.0"]
 build-backend = "poetry.core.masonry.api"
diff --git a/sheepsrc/app/components/editor/blockly/Blockly.vue b/sheepsrc/app/components/editor/blockly/Blockly.vue
index 9b20305..39ab016 100644
--- a/sheepsrc/app/components/editor/blockly/Blockly.vue
+++ b/sheepsrc/app/components/editor/blockly/Blockly.vue
@@ -73,8 +73,7 @@ export default Vue.extend({
     // noinspection TypeScriptUnresolvedFunction
     this.workspace.addChangeListener(() => {
       // noinspection TypeScriptUnresolvedFunction
-      this.code = `from __future__ import print_function
-from robot import *
+      this.code = `from robot import *
 import time
 
 R = Robot()
diff --git a/sheepsrc/app/components/editor/blockly/blocks.js b/sheepsrc/app/components/editor/blockly/blocks.js
index 8a2df4e..2761640 100644
--- a/sheepsrc/app/components/editor/blockly/blocks.js
+++ b/sheepsrc/app/components/editor/blockly/blocks.js
@@ -1,3 +1,10 @@
+
+// Block colours use HSL. setColor takes the hue value (0 to 255). 
+const movementHue = 0;
+const gpioHue = 210;
+const visionHue = 90;
+const markerTypeHue = 70;
+
 function loadMovementBlocks(Blockly) {
   Blockly.Blocks["motors_set_power"] = {
     init: function() {
@@ -11,7 +18,7 @@ function loadMovementBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -38,7 +45,7 @@ function loadMovementBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -65,7 +72,7 @@ function loadMovementBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -76,7 +83,7 @@ function loadMovementBlocks(Blockly) {
       this.appendDummyInput().appendField("Stop both motors");
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -105,7 +112,7 @@ function loadMovementBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -115,7 +122,7 @@ function loadMovementBlocks(Blockly) {
     init: function() {
       this.appendDummyInput().appendField("Zone");
       this.setOutput(true, null);
-      this.setColour(0);
+      this.setColour(movementHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -221,7 +228,7 @@ function loadGPIOBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(210);
+      this.setColour(gpioHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -237,7 +244,7 @@ function loadGPIOBlocks(Blockly) {
       this.setInputsInline(true);
       this.setPreviousStatement(true, null);
       this.setNextStatement(true, null);
-      this.setColour(210);
+      this.setColour(gpioHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -249,7 +256,7 @@ function loadGPIOBlocks(Blockly) {
         .appendField("Digital value of GPIO")
         .appendField(new Blockly.FieldNumber(1, 1, 4, 1), "GPIO_INDEX");
       this.setOutput(true, "Boolean");
-      this.setColour(210);
+      this.setColour(gpioHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -261,7 +268,7 @@ function loadGPIOBlocks(Blockly) {
         .appendField("Analog value of GPIO")
         .appendField(new Blockly.FieldNumber(1, 1, 4, 1), "GPIO_INDEX");
       this.setOutput(true, "Number");
-      this.setColour(210);
+      this.setColour(gpioHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -296,24 +303,109 @@ function loadGPIOBlocks(Blockly) {
   };
 }
 
+function loadVisionMarkerBlocks(Blockly) {
+  /* Year dependent marker blocks (2022) */
+
+  Blockly.Blocks["vision_marker_type_arena"] = {
+    init: function() {
+      this.appendDummyInput().appendField("Arena");
+      this.setOutput(true, "MarkerType");
+      this.setColour(markerTypeHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+  Blockly.Blocks["vision_marker_type_winkie"] = {
+    init: function() {
+      this.appendDummyInput().appendField("Winkie");
+      this.setOutput(true, "MarkerType");
+      this.setColour(markerTypeHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+  Blockly.Blocks["vision_marker_type_gillikin"] = {
+    init: function() {
+      this.appendDummyInput().appendField("Gillikin");
+      this.setOutput(true, "MarkerType");
+      this.setColour(markerTypeHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+  Blockly.Blocks["vision_marker_type_quadling"] = {
+    init: function() {
+      this.appendDummyInput().appendField("Quadling");
+      this.setOutput(true, "MarkerType");
+      this.setColour(markerTypeHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+  Blockly.Blocks["vision_marker_type_munchkin"] = {
+    init: function() {
+      this.appendDummyInput().appendField("Munchkin");
+      this.setOutput(true, "MarkerType");
+      this.setColour(markerTypeHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+
+  Blockly.Python["vision_marker_type_arena"] = function() {
+    const code = "MARKER_ARENA";
+    return [code, Blockly.Python.ORDER_NONE];
+  };
+  Blockly.Python["vision_marker_type_winkie"] = function() {
+    const code = "MARKER_CUBE_WINKIE";
+    return [code, Blockly.Python.ORDER_NONE];
+  };
+  Blockly.Python["vision_marker_type_gillikin"] = function() {
+    const code = "MARKER_CUBE_GILLIKIN";
+    return [code, Blockly.Python.ORDER_NONE];
+  };
+  Blockly.Python["vision_marker_type_quadling"] = function() {
+    const code = "MARKER_CUBE_QUADLING";
+    return [code, Blockly.Python.ORDER_NONE];
+  };
+  Blockly.Python["vision_marker_type_munchkin"] = function() {
+    const code = "MARKER_CUBE_MUNCHKIN";
+    return [code, Blockly.Python.ORDER_NONE];
+  };
+}
+
 function loadVisionBlocks(Blockly) {
+  /* Loads blocks for vision code that are not dependent on the current year's game.
+   * Marker blocks (year depentent) are loaded in loadVisionMarkerBlocks. */
+
   Blockly.Blocks["vision_see"] = {
     init: function() {
       this.appendDummyInput()
-        .appendField("Visible markers at")
-        .appendField(
-          new Blockly.FieldDropdown([
-            ["640x480", "(640, 480)"],
-            ["1296x736", "(1296, 736)"],
-            ["1296x976", "(1296, 976)"],
-            ["1920x1088", "(1920, 1088)"],
-            ["1920x1440", "(1920, 1440)"]
-          ]),
-          "VISION_RESOLUTION"
-        )
-        .appendField("px");
+        .appendField("Visible markers")
       this.setOutput(true, "Array");
-      this.setColour(90);
+      this.setColour(visionHue);
+      this.setTooltip("");
+      this.setHelpUrl("");
+    }
+  };
+
+  Blockly.Blocks["vision_camera_res"] = {
+    init: function() {
+      this.appendDummyInput()
+      .appendField("Set camera resolution to")
+      .appendField(
+        new Blockly.FieldDropdown([
+          ["640x480", "(640, 480)"],
+          ["1296x736", "(1296, 736)"],
+          ["1296x976", "(1296, 976)"],
+          ["1920x1088", "(1920, 1088)"],
+          ["1920x1440", "(1920, 1440)"]
+        ]),
+        "VISION_RESOLUTION"
+      );
+      this.setPreviousStatement(true, null);
+      this.setNextStatement(true, null);
+      this.setColour(visionHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -326,7 +418,7 @@ function loadVisionBlocks(Blockly) {
         .appendField("Distance to");
       this.setInputsInline(false);
       this.setOutput(true, "Number");
-      this.setColour(90);
+      this.setColour(visionHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -339,7 +431,7 @@ function loadVisionBlocks(Blockly) {
         .appendField("Angle to");
       this.setInputsInline(false);
       this.setOutput(true, "Number");
-      this.setColour(90);
+      this.setColour(visionHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
@@ -352,36 +444,20 @@ function loadVisionBlocks(Blockly) {
         .appendField("Marker type of");
       this.setInputsInline(false);
       this.setOutput(true, "MarkerType");
-      this.setColour(90);
+      this.setColour(markerTypeHue);
       this.setTooltip("");
       this.setHelpUrl("");
     }
   };
 
-  Blockly.Blocks["vision_marker_type_arena"] = {
-    init: function() {
-      this.appendDummyInput().appendField("Arena");
-      this.setOutput(true, "MarkerType");
-      this.setColour(90);
-      this.setTooltip("");
-      this.setHelpUrl("");
-    }
-  };
-
-  Blockly.Blocks["vision_marker_type_basket"] = {
-    init: function() {
-      this.appendDummyInput().appendField("Basket");
-      this.setOutput(true, "MarkerType");
-      this.setColour(90);
-      this.setTooltip("");
-      this.setHelpUrl("");
-    }
+  Blockly.Python["vision_see"] = function(block) {
+    const code = `R.see()`;
+    return [code, Blockly.Python.ORDER_NONE];
   };
 
-  Blockly.Python["vision_see"] = function(block) {
+  Blockly.Python["vision_camera_res"] = function(block) {
     const dropdown_vision_resolution = block.getFieldValue("VISION_RESOLUTION");
-    const code = `R.see(res=${dropdown_vision_resolution})`;
-    return [code, Blockly.Python.ORDER_NONE];
+    return `R.camera.res = ${dropdown_vision_resolution}\n`;
   };
 
   Blockly.Python["vision_distance_to"] = function(block) {
@@ -400,7 +476,7 @@ function loadVisionBlocks(Blockly) {
       "MARKER",
       Blockly.Python.ORDER_ATOMIC
     );
-    const code = `${value_marker}.rot_y`;
+    const code = `${value_marker}.bearing.y`;
     return [code, Blockly.Python.ORDER_NONE];
   };
 
@@ -410,19 +486,12 @@ function loadVisionBlocks(Blockly) {
       "MARKER",
       Blockly.Python.ORDER_ATOMIC
     );
-    const code = `${value_marker}.info.marker_type`;
+    const code = `${value_marker}.info.type`;
     return [code, Blockly.Python.ORDER_NONE];
   };
 
-  Blockly.Python["vision_marker_type_arena"] = function() {
-    const code = "MARKER_TYPE_ARENA";
-    return [code, Blockly.Python.ORDER_NONE];
-  };
-
-  Blockly.Python["vision_marker_type_basket"] = function() {
-    const code = "MARKER_TYPE_BASKET";
-    return [code, Blockly.Python.ORDER_NONE];
-  };
+  // Load marker blocks. These may change for different competitions. 
+  loadVisionMarkerBlocks(Blockly);
 }
 
 export default function loadBlocks(Blockly) {
diff --git a/sheepsrc/app/components/editor/blockly/toolbox.xml b/sheepsrc/app/components/editor/blockly/toolbox.xml
index e292c7d..087f275 100644
--- a/sheepsrc/app/components/editor/blockly/toolbox.xml
+++ b/sheepsrc/app/components/editor/blockly/toolbox.xml
@@ -378,6 +378,7 @@
   </category>
   <category name="Vision" colour="#80a55b">
     <block type="vision_see"></block>
+    <block type="vision_camera_res"></block>
     <block type="vision_distance_to">
       <value name="MARKER">
         <block type="variables_get">
@@ -392,7 +393,7 @@
         </block>
       </value>
     </block>
-       <block type="vision_marker_type">
+    <block type="vision_marker_type">
       <value name="MARKER">
         <block type="variables_get">
           <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>
@@ -400,7 +401,11 @@
       </value>
     </block>
     <block type="vision_marker_type_arena"></block>
-    <block type="vision_marker_type_basket"></block>
+    <block type="vision_marker_type_winkie"></block>
+    <block type="vision_marker_type_gillikin"></block>
+    <block type="vision_marker_type_quadling"></block>
+    <block type="vision_marker_type_munchkin"></block>
+
     <block type="controls_forEach">
       <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">i</field>
       <value name="LIST">
diff --git a/shepherd/__init__.py b/shepherd/__init__.py
index d26603d..fcd0d79 100644
--- a/shepherd/__init__.py
+++ b/shepherd/__init__.py
@@ -51,7 +51,7 @@
     # Teamname should be set on a per brain basis before shipping
     # Its purpose is to allow the setting of specific graphics for help identifing teams in the arena.
     # Graphics are loaded from the ArenaUSB stick if available, or standard graphics from the stick are used.
-    # this used to be in rc.local, but the looks of shame and dissapointment got the better of me 
+    # this used to be in rc.local, but the looks of shame and dissapointment got the better of me
 
     game_control_path = Path('/media/ArenaUSB')
 
@@ -61,7 +61,7 @@
     else:
         teamname_jpg = 'none'
 
-    # Pick a start imapge in order of preference : 
+    # Pick a start imapge in order of preference :
     #     1) We have a team corner image on the USB
     #     2) The team have uploaded their own image to the robot
     #     3) We have a generic corner image on the USB
diff --git a/shepherd/blueprints/staticroutes/docs/404.html b/shepherd/blueprints/staticroutes/docs/404.html
index 3885a6a..cddc4b1 100644
--- a/shepherd/blueprints/staticroutes/docs/404.html
+++ b/shepherd/blueprints/staticroutes/docs/404.html
@@ -7,11 +7,11 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
-    <div id="app" data-server-rendered="true"><div class="theme-container"><div class="content"><h1>404</h1> <blockquote>That's a Four-Oh-Four.</blockquote> <a href="/docs/" class="router-link-active">Take me home.</a></div></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script>
+    <div id="app" data-server-rendered="true"><div class="theme-container"><div class="content"><h1>404</h1> <blockquote>How did we get here?</blockquote> <a href="/docs/" class="router-link-active">Take me home.</a></div></div></div>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/batteries.html b/shepherd/blueprints/staticroutes/docs/batteries.html
index 0b71867..0cd5b79 100644
--- a/shepherd/blueprints/staticroutes/docs/batteries.html
+++ b/shepherd/blueprints/staticroutes/docs/batteries.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/8.71d48d5c.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/8.71d48d5c.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/8.71d48d5c.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/8.71d48d5c.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/charging.html b/shepherd/blueprints/staticroutes/docs/charging.html
index 21e00d2..ed80a84 100644
--- a/shepherd/blueprints/staticroutes/docs/charging.html
+++ b/shepherd/blueprints/staticroutes/docs/charging.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/9.6b325e7c.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/9.6b325e7c.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/9.6b325e7c.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/9.6b325e7c.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/collecting-images-and-raw-analysis.html b/shepherd/blueprints/staticroutes/docs/collecting-images-and-raw-analysis.html
index b3ca144..b561e99 100644
--- a/shepherd/blueprints/staticroutes/docs/collecting-images-and-raw-analysis.html
+++ b/shepherd/blueprints/staticroutes/docs/collecting-images-and-raw-analysis.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/16.ff875936.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/16.ff875936.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/16.ff875936.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/16.ff875936.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/connecting.html b/shepherd/blueprints/staticroutes/docs/connecting.html
index e6d65c9..c9295c5 100644
--- a/shepherd/blueprints/staticroutes/docs/connecting.html
+++ b/shepherd/blueprints/staticroutes/docs/connecting.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/10.c142afdf.js" as="script"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/10.c142afdf.js" as="script"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/10.c142afdf.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/10.c142afdf.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/editor.html b/shepherd/blueprints/staticroutes/docs/editor.html
index ddefc4e..17bfb5a 100644
--- a/shepherd/blueprints/staticroutes/docs/editor.html
+++ b/shepherd/blueprints/staticroutes/docs/editor.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/3.f05d227a.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/3.f05d227a.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -44,6 +44,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/3.f05d227a.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/3.f05d227a.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/expanding-functionality.html b/shepherd/blueprints/staticroutes/docs/expanding-functionality.html
index 20ec745..28ff906 100644
--- a/shepherd/blueprints/staticroutes/docs/expanding-functionality.html
+++ b/shepherd/blueprints/staticroutes/docs/expanding-functionality.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/17.f1fa61ce.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/17.f1fa61ce.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/17.f1fa61ce.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/17.f1fa61ce.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/gpio.html b/shepherd/blueprints/staticroutes/docs/gpio.html
index 6731002..b60e451 100644
--- a/shepherd/blueprints/staticroutes/docs/gpio.html
+++ b/shepherd/blueprints/staticroutes/docs/gpio.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/11.7a7b9b41.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/11.7a7b9b41.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -72,6 +72,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/11.7a7b9b41.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/11.7a7b9b41.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-challenges.html b/shepherd/blueprints/staticroutes/docs/hello-challenges.html
index a17fe68..8b0df6b 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-challenges.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-challenges.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/18.7b70c569.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/18.7b70c569.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/18.7b70c569.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/18.7b70c569.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-gpio.html b/shepherd/blueprints/staticroutes/docs/hello-gpio.html
index 58ad22f..340d44a 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-gpio.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-gpio.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/19.2725f395.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/19.2725f395.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -57,6 +57,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/19.2725f395.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/19.2725f395.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-motors.html b/shepherd/blueprints/staticroutes/docs/hello-motors.html
index 11ad6ae..b00449f 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-motors.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-motors.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/20.8461383b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/20.8461383b.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -73,6 +73,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/20.8461383b.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/20.8461383b.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-servos.html b/shepherd/blueprints/staticroutes/docs/hello-servos.html
index af94e9f..8a0dade 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-servos.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-servos.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/21.a865e736.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/21.a865e736.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -40,6 +40,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/21.a865e736.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/21.a865e736.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-vision.html b/shepherd/blueprints/staticroutes/docs/hello-vision.html
index 0584e85..b1f25aa 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-vision.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-vision.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/22.1c975849.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/22.1c975849.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -38,6 +38,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/22.1c975849.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/22.1c975849.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/hello-world.html b/shepherd/blueprints/staticroutes/docs/hello-world.html
index 0d84df7..a09268f 100644
--- a/shepherd/blueprints/staticroutes/docs/hello-world.html
+++ b/shepherd/blueprints/staticroutes/docs/hello-world.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/7.10bbc0fe.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/7.10bbc0fe.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -31,6 +31,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/7.10bbc0fe.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/7.10bbc0fe.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/index.html b/shepherd/blueprints/staticroutes/docs/index.html
index 0dc1c15..1f3563b 100644
--- a/shepherd/blueprints/staticroutes/docs/index.html
+++ b/shepherd/blueprints/staticroutes/docs/index.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/15.e137ee13.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/15.e137ee13.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -24,6 +24,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/15.e137ee13.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/15.e137ee13.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/init-robot.html b/shepherd/blueprints/staticroutes/docs/init-robot.html
index ce3eaf8..f2774be 100644
--- a/shepherd/blueprints/staticroutes/docs/init-robot.html
+++ b/shepherd/blueprints/staticroutes/docs/init-robot.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/23.860a5945.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/23.860a5945.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -31,6 +31,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/23.860a5945.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/23.860a5945.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/kit-list-of-parts.html b/shepherd/blueprints/staticroutes/docs/kit-list-of-parts.html
index 5a2e337..a26b132 100644
--- a/shepherd/blueprints/staticroutes/docs/kit-list-of-parts.html
+++ b/shepherd/blueprints/staticroutes/docs/kit-list-of-parts.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/24.5a4a4f03.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/24.5a4a4f03.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/24.5a4a4f03.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/24.5a4a4f03.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/learning-python.html b/shepherd/blueprints/staticroutes/docs/learning-python.html
index 6dcd0dd..7449e54 100644
--- a/shepherd/blueprints/staticroutes/docs/learning-python.html
+++ b/shepherd/blueprints/staticroutes/docs/learning-python.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/25.614d2207.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/25.614d2207.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/25.614d2207.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/25.614d2207.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/markers.html b/shepherd/blueprints/staticroutes/docs/markers.html
index c438975..99a5035 100644
--- a/shepherd/blueprints/staticroutes/docs/markers.html
+++ b/shepherd/blueprints/staticroutes/docs/markers.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/26.c7be901d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/26.c7be901d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/26.c7be901d.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/26.c7be901d.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/minibot-assembly.html b/shepherd/blueprints/staticroutes/docs/minibot-assembly.html
index d5f529a..682a344 100644
--- a/shepherd/blueprints/staticroutes/docs/minibot-assembly.html
+++ b/shepherd/blueprints/staticroutes/docs/minibot-assembly.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/27.c8e1beed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/27.c8e1beed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -24,6 +24,6 @@
         <a href="/docs/expanding-functionality.html" class="prev">
           Expanding Functionality
         </a></span> <!----></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/27.c8e1beed.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/27.c8e1beed.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/motors.html b/shepherd/blueprints/staticroutes/docs/motors.html
index b10e9bd..d4841d2 100644
--- a/shepherd/blueprints/staticroutes/docs/motors.html
+++ b/shepherd/blueprints/staticroutes/docs/motors.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/28.2921f800.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/28.2921f800.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -45,6 +45,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/28.2921f800.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/28.2921f800.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/patching-the-robot.html b/shepherd/blueprints/staticroutes/docs/patching-the-robot.html
index 0b63f5c..f4cc525 100644
--- a/shepherd/blueprints/staticroutes/docs/patching-the-robot.html
+++ b/shepherd/blueprints/staticroutes/docs/patching-the-robot.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/29.a8a7ce0d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/29.a8a7ce0d.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/29.a8a7ce0d.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/29.a8a7ce0d.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/rules.html b/shepherd/blueprints/staticroutes/docs/rules.html
index 614934d..6133494 100644
--- a/shepherd/blueprints/staticroutes/docs/rules.html
+++ b/shepherd/blueprints/staticroutes/docs/rules.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/12.38248532.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/12.38248532.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/12.38248532.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/12.38248532.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/running-code-from-a-usb.html b/shepherd/blueprints/staticroutes/docs/running-code-from-a-usb.html
index 78feb36..f3f82bc 100644
--- a/shepherd/blueprints/staticroutes/docs/running-code-from-a-usb.html
+++ b/shepherd/blueprints/staticroutes/docs/running-code-from-a-usb.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/13.3d115c29.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/13.3d115c29.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -46,6 +46,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/13.3d115c29.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/13.3d115c29.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/servos.html b/shepherd/blueprints/staticroutes/docs/servos.html
index dc06183..ab44c90 100644
--- a/shepherd/blueprints/staticroutes/docs/servos.html
+++ b/shepherd/blueprints/staticroutes/docs/servos.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/30.c85838fd.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/30.c85838fd.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -51,6 +51,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/30.c85838fd.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/30.c85838fd.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/the-brainbox.html b/shepherd/blueprints/staticroutes/docs/the-brainbox.html
index 1086152..6fad5bd 100644
--- a/shepherd/blueprints/staticroutes/docs/the-brainbox.html
+++ b/shepherd/blueprints/staticroutes/docs/the-brainbox.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/2.3f5a5b5f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/2.3f5a5b5f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/2.3f5a5b5f.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/2.3f5a5b5f.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/troubleshooting.html b/shepherd/blueprints/staticroutes/docs/troubleshooting.html
index 592efdb..703e5a9 100644
--- a/shepherd/blueprints/staticroutes/docs/troubleshooting.html
+++ b/shepherd/blueprints/staticroutes/docs/troubleshooting.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/31.954154ed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/31.954154ed.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -51,6 +51,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/31.954154ed.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/31.954154ed.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/turning-everything-on.html b/shepherd/blueprints/staticroutes/docs/turning-everything-on.html
index a83e4cd..e0cb049 100644
--- a/shepherd/blueprints/staticroutes/docs/turning-everything-on.html
+++ b/shepherd/blueprints/staticroutes/docs/turning-everything-on.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/14.f1b0aa9f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/14.f1b0aa9f.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -28,6 +28,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/14.f1b0aa9f.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/14.f1b0aa9f.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/uploading.html b/shepherd/blueprints/staticroutes/docs/uploading.html
index b2bdeca..e2b067d 100644
--- a/shepherd/blueprints/staticroutes/docs/uploading.html
+++ b/shepherd/blueprints/staticroutes/docs/uploading.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/4.19a5ef6a.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/4.19a5ef6a.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -33,6 +33,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/4.19a5ef6a.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/4.19a5ef6a.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/vision.html b/shepherd/blueprints/staticroutes/docs/vision.html
index a203ef9..ddda13f 100644
--- a/shepherd/blueprints/staticroutes/docs/vision.html
+++ b/shepherd/blueprints/staticroutes/docs/vision.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/32.ac4138a7.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/32.ac4138a7.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/33.7fdbd7df.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -107,6 +107,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/32.ac4138a7.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/32.ac4138a7.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/docs/zones.html b/shepherd/blueprints/staticroutes/docs/zones.html
index 388e8d4..ac27a42 100644
--- a/shepherd/blueprints/staticroutes/docs/zones.html
+++ b/shepherd/blueprints/staticroutes/docs/zones.html
@@ -7,7 +7,7 @@
     <meta name="description" content="">
     
     
-    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.9fec8c18.js" as="script"><link rel="preload" href="/docs/assets/js/33.7fdbd7df.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
+    <link rel="preload" href="/docs/assets/css/0.styles.1f091d51.css" as="style"><link rel="preload" href="/docs/assets/js/app.38c16618.js" as="script"><link rel="preload" href="/docs/assets/js/33.7fdbd7df.js" as="script"><link rel="prefetch" href="/docs/assets/js/10.c142afdf.js"><link rel="prefetch" href="/docs/assets/js/11.7a7b9b41.js"><link rel="prefetch" href="/docs/assets/js/12.38248532.js"><link rel="prefetch" href="/docs/assets/js/13.3d115c29.js"><link rel="prefetch" href="/docs/assets/js/14.f1b0aa9f.js"><link rel="prefetch" href="/docs/assets/js/15.e137ee13.js"><link rel="prefetch" href="/docs/assets/js/16.ff875936.js"><link rel="prefetch" href="/docs/assets/js/17.f1fa61ce.js"><link rel="prefetch" href="/docs/assets/js/18.7b70c569.js"><link rel="prefetch" href="/docs/assets/js/19.2725f395.js"><link rel="prefetch" href="/docs/assets/js/2.3f5a5b5f.js"><link rel="prefetch" href="/docs/assets/js/20.8461383b.js"><link rel="prefetch" href="/docs/assets/js/21.a865e736.js"><link rel="prefetch" href="/docs/assets/js/22.1c975849.js"><link rel="prefetch" href="/docs/assets/js/23.860a5945.js"><link rel="prefetch" href="/docs/assets/js/24.5a4a4f03.js"><link rel="prefetch" href="/docs/assets/js/25.614d2207.js"><link rel="prefetch" href="/docs/assets/js/26.c7be901d.js"><link rel="prefetch" href="/docs/assets/js/27.c8e1beed.js"><link rel="prefetch" href="/docs/assets/js/28.2921f800.js"><link rel="prefetch" href="/docs/assets/js/29.a8a7ce0d.js"><link rel="prefetch" href="/docs/assets/js/3.f05d227a.js"><link rel="prefetch" href="/docs/assets/js/30.c85838fd.js"><link rel="prefetch" href="/docs/assets/js/31.954154ed.js"><link rel="prefetch" href="/docs/assets/js/32.ac4138a7.js"><link rel="prefetch" href="/docs/assets/js/34.3a249448.js"><link rel="prefetch" href="/docs/assets/js/4.19a5ef6a.js"><link rel="prefetch" href="/docs/assets/js/5.386bc8f7.js"><link rel="prefetch" href="/docs/assets/js/6.eb93e02f.js"><link rel="prefetch" href="/docs/assets/js/7.10bbc0fe.js"><link rel="prefetch" href="/docs/assets/js/8.71d48d5c.js"><link rel="prefetch" href="/docs/assets/js/9.6b325e7c.js">
     <link rel="stylesheet" href="/docs/assets/css/0.styles.1f091d51.css">
   </head>
   <body>
@@ -32,6 +32,6 @@
         </a>
         →
       </span></p></div> </div> <!----></div></div>
-    <script src="/docs/assets/js/app.9fec8c18.js" defer></script><script src="/docs/assets/js/33.7fdbd7df.js" defer></script>
+    <script src="/docs/assets/js/app.38c16618.js" defer></script><script src="/docs/assets/js/33.7fdbd7df.js" defer></script>
   </body>
 </html>
diff --git a/shepherd/blueprints/staticroutes/editor/bundle.js b/shepherd/blueprints/staticroutes/editor/bundle.js
index a80270a..505e337 100644
--- a/shepherd/blueprints/staticroutes/editor/bundle.js
+++ b/shepherd/blueprints/staticroutes/editor/bundle.js
@@ -1,27 +1,27 @@
-!function(e){function t(t){for(var o,i,r=t[0],s=t[1],a=0,u=[];a<r.length;a++)i=r[a],Object.prototype.hasOwnProperty.call(n,i)&&n[i]&&u.push(n[i][0]),n[i]=0;for(o in s)Object.prototype.hasOwnProperty.call(s,o)&&(e[o]=s[o]);for(l&&l(t);u.length;)u.shift()()}var o={},n={1:0};function i(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],o=n[e];if(0!==o)if(o)t.push(o[2]);else{var r=new Promise((function(t,i){o=n[e]=[t,i]}));t.push(o[2]=r);var s,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+e+".bundle.js"}(e);var l=new Error;s=function(t){a.onerror=a.onload=null,clearTimeout(u);var o=n[e];if(0!==o){if(o){var i=t&&("load"===t.type?"missing":t.type),r=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",l.name="ChunkLoadError",l.type=i,l.request=r,o[1](l)}n[e]=void 0}};var u=setTimeout((function(){s({type:"timeout",target:a})}),12e4);a.onerror=a.onload=s,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=o,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],s=r.push.bind(r);r.push=t,r=r.slice();for(var a=0;a<r.length;a++)t(r[a]);var l=s;i(i.s=550)}([function(e,t,o){"use strict";function n(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];return function(e,t){return 0===t.length?e:e.replace(/\{(\d+)\}/g,(function(e,o){var n=o[0];return void 0!==t[n]?t[n]:e}))}(t,o)}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";o.d(t,"l",(function(){return p})),o.d(t,"D",(function(){return f})),o.d(t,"z",(function(){return v})),o.d(t,"f",(function(){return b})),o.d(t,"G",(function(){return E})),o.d(t,"N",(function(){return C})),o.d(t,"g",(function(){return T})),o.d(t,"j",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"J",(function(){return O})),o.d(t,"L",(function(){return R})),o.d(t,"i",(function(){return H})),o.d(t,"r",(function(){return U})),o.d(t,"q",(function(){return j})),o.d(t,"b",(function(){return z})),o.d(t,"w",(function(){return K})),o.d(t,"u",(function(){return Y})),o.d(t,"e",(function(){return X})),o.d(t,"y",(function(){return q})),o.d(t,"t",(function(){return $})),o.d(t,"s",(function(){return J})),o.d(t,"x",(function(){return Z})),o.d(t,"B",(function(){return Q})),o.d(t,"p",(function(){return ee})),o.d(t,"o",(function(){return te})),o.d(t,"n",(function(){return ie})),o.d(t,"F",(function(){return re})),o.d(t,"C",(function(){return se})),o.d(t,"d",(function(){return ae})),o.d(t,"c",(function(){return le})),o.d(t,"K",(function(){return ue})),o.d(t,"I",(function(){return ce})),o.d(t,"O",(function(){return de})),o.d(t,"k",(function(){return ge})),o.d(t,"E",(function(){return pe})),o.d(t,"a",(function(){return me})),o.d(t,"M",(function(){return _e})),o.d(t,"A",(function(){return ye})),o.d(t,"H",(function(){return ve})),o.d(t,"v",(function(){return be})),o.d(t,"m",(function(){return Ee})),o.d(t,"P",(function(){return Ce}));var n,i=o(15),r=o(17),s=o(13),a=o(6),l=o(24),u=o(51),c=o(41),h=o(4),d=o(50),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function p(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e){for(;e;){if(e===document.body)return!0;e=e.parentNode}return!1}var m=new(function(){function e(){}return e.prototype._findClassName=function(e,t){var o=e.className;if(o){t=t.trim();var n=o.length,i=t.length;if(0!==i)if(n<i)this._lastStart=-1;else{if(o===t)return this._lastStart=0,void(this._lastEnd=n);for(var r,s=-1;(s=o.indexOf(t,s+1))>=0;){if(r=s+i,(0===s||32===o.charCodeAt(s-1))&&32===o.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===o.charCodeAt(s-1)&&r===n)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===n)return this._lastStart=0,void(this._lastEnd=r)}this._lastStart=-1}else this._lastStart=-1}else this._lastStart=-1},e.prototype.hasClass=function(e,t){return this._findClassName(e,t),-1!==this._lastStart},e.prototype.addClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.addClass(e,o)}))}))},e.prototype.addClass=function(e,t){e.className?(this._findClassName(e,t),-1===this._lastStart&&(e.className=e.className+" "+t)):e.className=t},e.prototype.removeClass=function(e,t){this._findClassName(e,t),-1!==this._lastStart&&(e.className=e.className.substring(0,this._lastStart)+e.className.substring(this._lastEnd))},e.prototype.removeClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.removeClass(e,o)}))}))},e.prototype.toggleClass=function(e,t,o){this._findClassName(e,t),-1===this._lastStart||void 0!==o&&o||this.removeClass(e,t),-1!==this._lastStart||void 0!==o&&!o||this.addClass(e,t)},e}()),_=new(function(){function e(){}return e.prototype.hasClass=function(e,t){return t&&e.classList&&e.classList.contains(t)},e.prototype.addClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.addClass(e,o)}))}))},e.prototype.addClass=function(e,t){t&&e.classList&&e.classList.add(t)},e.prototype.removeClass=function(e,t){t&&e.classList&&e.classList.remove(t)},e.prototype.removeClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.removeClass(e,o)}))}))},e.prototype.toggleClass=function(e,t,o){e.classList&&e.classList.toggle(t,o)},e}()),y=l.k?m:_,v=y.hasClass.bind(y),b=y.addClass.bind(y),E=y.removeClass.bind(y),C=y.toggleClass.bind(y),S=function(){function e(e,t,o,n){this._node=e,this._type=t,this._handler=o,this._useCapture=n||!1,this._node.addEventListener(this._type,this._handler,this._useCapture)}return e.prototype.dispose=function(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._useCapture),this._node=null,this._handler=null)},e}();function T(e,t,o,n){return new S(e,t,o,n)}var w=function(e,t,o,n){var i=o;return"click"===t||"mousedown"===t?i=function(e){return function(t){return e(new c.b(t))}}(o):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(i=function(e){return function(t){return e(new u.a(t))}}(o)),T(e,t,i,n)};function k(e,t){return T(e,"mouseout",(function(o){for(var n=o.relatedTarget||o.toElement;n&&n!==e;)n=n.parentNode;n!==e&&t(o)}))}var O,R,L=null;var N,I,D,A,P,x=function(){function e(e,t){this._runner=e,this.priority=t,this._canceled=!1}return e.prototype.dispose=function(){this._canceled=!0},e.prototype.execute=function(){if(!this._canceled)try{this._runner()}catch(e){Object(s.e)(e)}},e.sort=function(e,t){return t.priority-e.priority},e}();N=[],I=null,D=!1,A=!1,P=function(){for(D=!1,I=N,N=[],A=!0;I.length>0;)I.sort(x.sort),I.shift().execute();A=!1},R=function(e,t){void 0===t&&(t=0);var o,n=new x(e,t);return N.push(n),D||(D=!0,o=P,L||(L=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout((function(){return e((new Date).getTime())}),0)}),L.call(self,o)),n},O=function(e,t){if(A){var o=new x(e,t);return I.push(o),o}return R(e,t)};var M=16,B=function(e,t){return t},F=function(e){function t(t,o,n,i,s){void 0===i&&(i=B),void 0===s&&(s=M);var a=e.call(this)||this,l=null,u=0,c=a._register(new r.f),h=function(){u=(new Date).getTime(),n(l),l=null};return a._register(T(t,o,(function(e){l=i(l,e);var t=(new Date).getTime()-u;t>=s?(c.cancel(),h()):c.setIfNotSet(h,s-t)}))),a}return g(t,e),t}(a.a);function H(e,t,o,n,i){return new F(e,t,o,n,i)}function U(e){return document.defaultView.getComputedStyle(e,null)}var V=function(e,t){return parseFloat(t)||0};function W(e,t,o){var n=U(e),i="0";return n&&(i=n.getPropertyValue?n.getPropertyValue(t):n.getAttribute(o)),V(e,i)}function j(e){if(e!==document.body)return new z(e.clientWidth,e.clientHeight);if(window.innerWidth&&window.innerHeight)return new z(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientWidth)return new z(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new z(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}var G={getBorderLeftWidth:function(e){return W(e,"border-left-width","borderLeftWidth")},getBorderRightWidth:function(e){return W(e,"border-right-width","borderRightWidth")},getBorderTopWidth:function(e){return W(e,"border-top-width","borderTopWidth")},getBorderBottomWidth:function(e){return W(e,"border-bottom-width","borderBottomWidth")},getPaddingLeft:function(e){return W(e,"padding-left","paddingLeft")},getPaddingRight:function(e){return W(e,"padding-right","paddingRight")},getPaddingTop:function(e){return W(e,"padding-top","paddingTop")},getPaddingBottom:function(e){return W(e,"padding-bottom","paddingBottom")},getMarginLeft:function(e){return W(e,"margin-left","marginLeft")},getMarginTop:function(e){return W(e,"margin-top","marginTop")},getMarginRight:function(e){return W(e,"margin-right","marginRight")},getMarginBottom:function(e){return W(e,"margin-bottom","marginBottom")},__commaSentinel:!1},z=function(e,t){this.width=e,this.height=t};function K(e){for(var t=e.offsetParent,o=e.offsetTop,n=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){o-=e.scrollTop;var i=U(e);i&&(n-="rtl"!==i.direction?e.scrollLeft:-e.scrollLeft),e===t&&(n+=G.getBorderLeftWidth(e),o+=G.getBorderTopWidth(e),o+=e.offsetTop,n+=e.offsetLeft,t=e.offsetParent)}return{left:n,top:o}}function Y(e){var t=e.getBoundingClientRect();return{left:t.left+X.scrollX,top:t.top+X.scrollY,width:t.width,height:t.height}}var X=new(function(){function e(){}return Object.defineProperty(e.prototype,"scrollX",{get:function(){return"number"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollY",{get:function(){return"number"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop},enumerable:!0,configurable:!0}),e}());function q(e){var t=G.getMarginLeft(e)+G.getMarginRight(e);return e.offsetWidth+t}function $(e){var t=G.getBorderLeftWidth(e)+G.getBorderRightWidth(e),o=G.getPaddingLeft(e)+G.getPaddingRight(e);return e.offsetWidth-t-o}function J(e){var t=G.getBorderTopWidth(e)+G.getBorderBottomWidth(e),o=G.getPaddingTop(e)+G.getPaddingBottom(e);return e.offsetHeight-t-o}function Z(e){var t=G.getMarginTop(e)+G.getMarginBottom(e);return e.offsetHeight+t}function Q(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function ee(e,t,o){for(;e;){if(v(e,t))return e;if(o)if("string"==typeof o){if(v(e,o))return null}else if(e===o)return null;e=e.parentNode}return null}function te(e){void 0===e&&(e=document.getElementsByTagName("head")[0]);var t=document.createElement("style");return t.type="text/css",t.media="screen",e.appendChild(t),t}var oe=null;function ne(){return oe||(oe=te()),oe}function ie(e,t,o){void 0===o&&(o=ne()),o&&t&&o.sheet.insertRule(e+"{"+t+"}",0)}function re(e,t){if(void 0===t&&(t=ne()),t){for(var o=function(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}(t),n=[],i=0;i<o.length;i++){-1!==o[i].selectorText.indexOf(e)&&n.push(i)}for(i=n.length-1;i>=0;i--)t.sheet.deleteRule(n[i])}}function se(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName}var ae={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:l.n?"webkitAnimationStart":"animationstart",ANIMATION_END:l.n?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:l.n?"webkitAnimationIteration":"animationiteration"},le={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};function ue(e){for(var t=[],o=0;e&&e.nodeType===e.ELEMENT_NODE;o++)t[o]=e.scrollTop,e=e.parentNode;return t}function ce(e,t){for(var o=0;e&&e.nodeType===e.ELEMENT_NODE;o++)e.scrollTop!==t[o]&&(e.scrollTop=t[o]),e=e.parentNode}var he=function(){function e(e){var t=this;this._onDidFocus=new h.a,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new h.a,this.onDidBlur=this._onDidBlur.event,this.disposables=[];var o=!1,n=!1;Object(d.a)(e,ae.FOCUS,!0)((function(){n=!1,o||(o=!0,t._onDidFocus.fire())}),null,this.disposables),Object(d.a)(e,ae.BLUR,!0)((function(){o&&(n=!0,window.setTimeout((function(){n&&(n=!1,o=!1,t._onDidBlur.fire())}),0))}),null,this.disposables)}return e.prototype.dispose=function(){this.disposables=Object(a.d)(this.disposables),this._onDidFocus.dispose(),this._onDidBlur.dispose()},e}();function de(e){return new he(e)}function ge(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return t.forEach((function(t){return e.appendChild(t)})),t[t.length-1]}function pe(e,t){return e.insertBefore(t,e.firstChild),t}var fe=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function me(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=fe.exec(e);if(!i)throw new Error("Bad use of emmet");var r=document.createElement(i[1]||"div");return i[3]&&(r.id=i[3]),i[4]&&(r.className=i[4].replace(/\./g," ").trim()),Object.keys(t||{}).forEach((function(e){if(/^on\w+$/.test(e))r[e]=t[e];else if("selected"===e){t[e]&&r.setAttribute(e,"true")}else r.setAttribute(e,t[e])})),o.filter((function(e){return!!e})).forEach((function(e){e instanceof Node?r.appendChild(e):r.appendChild(document.createTextNode(e))})),r}function _e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0,n=e;o<n.length;o++){var i=n[o];i.style.display="",i.removeAttribute("aria-hidden")}}function ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0,n=e;o<n.length;o++){var i=n[o];i.style.display="none",i.setAttribute("aria-hidden","true")}}function ve(e){if(e&&e.hasAttribute("tabIndex")){if(document.activeElement===e){var t=function(e,t){for(;e;){if(e instanceof HTMLElement&&e.hasAttribute(t))return e;e=e.parentNode}return null}(e.parentElement,"tabIndex");t&&t.focus()}e.removeAttribute("tabindex")}}function be(e){return Array.prototype.slice.call(document.getElementsByTagName(e),0)}function Ee(e){var t=window.devicePixelRatio*e;return Math.max(1,Math.floor(t))/window.devicePixelRatio}function Ce(e){if(i.e||l.i)window.open(e);else{var t=window.open();t&&(t.opener=null,t.location.href=e)}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(9),i=function(){function e(e,t,o,n){e>o||e===o&&t>n?(this.startLineNumber=o,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=o,this.endColumn=n)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,o){var n,i,r,s;return o.startLineNumber<t.startLineNumber?(n=o.startLineNumber,i=o.startColumn):o.startLineNumber===t.startLineNumber?(n=o.startLineNumber,i=Math.min(o.startColumn,t.startColumn)):(n=t.startLineNumber,i=t.startColumn),o.endLineNumber>t.endLineNumber?(r=o.endLineNumber,s=o.endColumn):o.endLineNumber===t.endLineNumber?(r=o.endLineNumber,s=Math.max(o.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(n,i,r,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,o){var n=t.startLineNumber,i=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=o.startLineNumber,l=o.startColumn,u=o.endLineNumber,c=o.endColumn;return n<a?(n=a,i=l):n===a&&(i=Math.max(i,l)),r>u?(r=u,s=c):r===u&&(s=Math.min(s,c)),n>r?null:n===r&&i>s?null:new e(n,i,r,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.a(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.a(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,o){return new e(this.startLineNumber,this.startColumn,t,o)},e.prototype.setStartPosition=function(t,o){return new e(t,o,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,o){return void 0===o&&(o=t),new e(t.lineNumber,t.column,o.lineNumber,o.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)},e.areIntersecting=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)},e.compareRangesUsingStarts=function(e,t){var o=0|e.startLineNumber,n=0|t.startLineNumber;if(o===n){var i=0|e.startColumn,r=0|t.startColumn;if(i===r){var s=0|e.endLineNumber,a=0|t.endLineNumber;return s===a?(0|e.endColumn)-(0|t.endColumn):s-a}return i-r}return o-n},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return y})),o.d(t,"c",(function(){return v})),o.d(t,"b",(function(){return b})),o.d(t,"j",(function(){return E})),o.d(t,"e",(function(){return C})),o.d(t,"g",(function(){return S})),o.d(t,"f",(function(){return T})),o.d(t,"i",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"d",(function(){return i}));var n,i,r=o(13),s=o(33),a=o(37),l=o(84),u=o(57),c=o(110),h=o(9),d=o(60),g=o(38),p=o(12),f=o(36),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},y=function(){function e(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menubarOpts=e.menubarOpts,this._description=e.description}return e.prototype.register=function(){var e=this;if(this._menubarOpts&&g.d.appendMenuItem(this._menubarOpts.menuId,{group:this._menubarOpts.group,command:{id:this.id,title:this._menubarOpts.title},when:this._menubarOpts.when,order:this._menubarOpts.order}),this._kbOpts){var t=this._kbOpts.kbExpr;this.precondition&&(t=t?p.d.and(t,this.precondition):this.precondition),l.a.registerCommandAndKeybindingRule({id:this.id,handler:function(t,o){return e.runCommand(t,o)},weight:this._kbOpts.weight,when:t,primary:this._kbOpts.primary,secondary:this._kbOpts.secondary,win:this._kbOpts.win,linux:this._kbOpts.linux,mac:this._kbOpts.mac,description:this._description})}else a.a.registerCommand({id:this.id,handler:function(t,o){return e.runCommand(t,o)},description:this._description})},e}(),v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.bindToContribution=function(e){return function(t){function o(e){var o=t.call(this,e)||this;return o._callback=e.handler,o}return m(o,t),o.prototype.runEditorCommand=function(t,o,n){e(o)&&this._callback(e(o))},o}(t)},t.prototype.runCommand=function(e,t){var o=this,n=e.get(f.a),i=n.getFocusedCodeEditor()||n.getActiveCodeEditor();if(i)return i.invokeWithinContext((function(e){if(e.get(p.e).contextMatchesRules(o.precondition))return o.runEditorCommand(e,i,t)}))},t}(y),b=function(e){function t(t){var o=e.call(this,t)||this;return o.label=t.label,o.alias=t.alias,o.menuOpts=t.menuOpts,o}return m(t,e),t.prototype.register=function(){this.menuOpts&&g.d.appendMenuItem(g.b.EditorContext,{command:{id:this.id,title:this.label},when:p.d.and(this.precondition,this.menuOpts.when),group:this.menuOpts.group,order:this.menuOpts.order}),e.prototype.register.call(this)},t.prototype.runEditorCommand=function(e,t,o){return this.reportTelemetry(e,t),this.run(e,t,o||{})},t.prototype.reportTelemetry=function(e,t){e.get(c.a).publicLog("editorActionInvoked",_({name:this.label,id:this.id},t.getTelemetryData()))},t}(v);function E(e,t){a.a.registerCommand(e,(function(e,o){return t(e,o||{})}))}function C(e,t){E(e,(function(e,o){var n=o.resource,i=o.position;if(!(n instanceof s.a))throw Object(r.b)("resource");if(!h.a.isIPosition(i))throw Object(r.b)("position");var a=e.get(d.a).getModel(n);if(!a)throw Object(r.b)("Can not find open model for "+n);var l=h.a.lift(i);return t(a,l,o)}))}function S(e){return O.INSTANCE.registerEditorCommand(e),e}function T(e){O.INSTANCE.registerEditorAction(new e)}function w(e){O.INSTANCE.registerEditorAction(e)}function k(e){O.INSTANCE.registerEditorContribution(e)}!function(e){e.getEditorCommand=function(e){return O.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return O.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return O.INSTANCE.getEditorContributions()}}(i||(i={}));var O=function(){function e(){this.editorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}return e.prototype.registerEditorContribution=function(e){this.editorContributions.push(e)},e.prototype.registerEditorAction=function(e){e.register(),this.editorActions.push(e)},e.prototype.getEditorContributions=function(){return this.editorContributions.slice(0)},e.prototype.getEditorActions=function(){return this.editorActions.slice(0)},e.prototype.registerEditorCommand=function(e){e.register(),this.editorCommands[e.id]=e},e.prototype.getEditorCommand=function(e){return this.editorCommands[e]||null},e.INSTANCE=new e,e}();u.a.add("editor.contributions",O.INSTANCE)},function(e,t,o){"use strict";var n=o(13);var i,r=o(6),s=o(201);o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return a})),o.d(t,"d",(function(){return l})),o.d(t,"k",(function(){return u})),o.d(t,"f",(function(){return c})),o.d(t,"h",(function(){return h})),o.d(t,"c",(function(){return d})),o.d(t,"j",(function(){return g})),o.d(t,"i",(function(){return p})),o.d(t,"g",(function(){return m})),o.d(t,"e",(function(){return _})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(i||(i={}));var a=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(o,n,i){t._listeners||(t._listeners=new s.a);var r=t._listeners.isEmpty();r&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var a,l=t._listeners.push(n?[o,n]:o);return r&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,o,n),a={dispose:function(){a.dispose=e._noop,t._disposed||(l(),t._options&&t._options.onLastListenerRemove&&t._listeners.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(a),a}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=[]);for(var t=this._listeners.iterator(),o=t.next();!o.done;o=t.next())this._deliveryQueue.push([o.value,e]);for(;this._deliveryQueue.length>0;){var i=this._deliveryQueue.shift(),r=i[0],s=i[1];try{"function"==typeof r?r.call(void 0,s):r[0].call(r[1],s)}catch(o){Object(n.e)(o)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}(),l=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new a({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}return Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,o={event:e,listener:null};this.events.push(o),this.hasListeners&&this.hook(o);return Object(r.f)(function(e){var t,o=this,n=!1;return function(){return n?t:(n=!0,t=e.apply(o,arguments))}}((function(){t.hasListeners&&t.unhook(o);var e=t.events.indexOf(o);t.events.splice(e,1)})))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach((function(t){return e.hook(t)}))},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach((function(t){return e.unhook(t)}))},e.prototype.hook=function(e){var t=this;e.listener=e.event((function(e){return t.emitter.fire(e)}))},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}();function u(e){return function(t,o,n){void 0===o&&(o=null);var i=e((function(e){return i.dispose(),t.call(o,e)}),null,n);return i}}function c(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,o,n){return void 0===o&&(o=null),Object(r.c)(e.map((function(e){return e((function(e){return t.call(o,e)}),null,n)})))}}function h(e,t,o,n){var i;void 0===o&&(o=100),void 0===n&&(n=!1);var r=void 0,s=void 0,l=0,u=new a({onFirstListenerAdd:function(){i=e((function(e){l++,r=t(r,e),n&&!s&&u.fire(r),clearTimeout(s),s=setTimeout((function(){var e=r;r=void 0,s=void 0,(!n||l>1)&&u.fire(e),l=0}),o)}))},onLastListenerRemove:function(){i.dispose()}});return u.event}var d=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(o,n,i){return e((function(e){var i=t.buffers[t.buffers.length-1];i?i.push((function(){return o.call(n,e)})):o.call(n,e)}),void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach((function(e){return e()}))},e}();function g(e,t){return function(o,n,i){return void 0===n&&(n=null),e((function(e){return o.call(n,t(e))}),null,i)}}function p(e,t){return function(o,n,i){return void 0===n&&(n=null),e((function(e){return t(e)&&o.call(n,e)}),null,i)}}var f=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(g(this._event,t))},e.prototype.filter=function(t){return new e(p(this._event,t))},e.prototype.on=function(e,t,o){return this._event(e,t,o)},e}();function m(e){return new f(e)}var _=function(){function e(){this.emitter=new a,this.event=this.emitter.event,this.disposable=r.a.None}return Object.defineProperty(e.prototype,"input",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n,i=o(12);!function(e){e.editorTextFocus=new i.f("editorTextFocus",!1),e.focus=new i.f("editorFocus",!1),e.textInputFocus=new i.f("textInputFocus",!1),e.readOnly=new i.f("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new i.f("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new i.f("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new i.f("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new i.f("isInEmbeddedEditor",void 0),e.canUndo=new i.f("canUndo",!1),e.canRedo=new i.f("canRedo",!1),e.languageId=new i.f("editorLangId",void 0),e.hasCompletionItemProvider=new i.f("editorHasCompletionItemProvider",void 0),e.hasCodeActionsProvider=new i.f("editorHasCodeActionsProvider",void 0),e.hasCodeLensProvider=new i.f("editorHasCodeLensProvider",void 0),e.hasDefinitionProvider=new i.f("editorHasDefinitionProvider",void 0),e.hasImplementationProvider=new i.f("editorHasImplementationProvider",void 0),e.hasTypeDefinitionProvider=new i.f("editorHasTypeDefinitionProvider",void 0),e.hasHoverProvider=new i.f("editorHasHoverProvider",void 0),e.hasDocumentHighlightProvider=new i.f("editorHasDocumentHighlightProvider",void 0),e.hasDocumentSymbolProvider=new i.f("editorHasDocumentSymbolProvider",void 0),e.hasReferenceProvider=new i.f("editorHasReferenceProvider",void 0),e.hasRenameProvider=new i.f("editorHasRenameProvider",void 0),e.hasDocumentFormattingProvider=new i.f("editorHasDocumentFormattingProvider",void 0),e.hasDocumentSelectionFormattingProvider=new i.f("editorHasDocumentSelectionFormattingProvider",void 0),e.hasSignatureHelpProvider=new i.f("editorHasSignatureHelpProvider",void 0)}(n||(n={}))},function(e,t,o){"use strict";function n(e){return"function"==typeof e.dispose&&0===e.dispose.length}function i(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return Array.isArray(e)?(e.forEach((function(e){return e&&e.dispose()})),[]):0===t.length?e?(e.dispose(),e):void 0:(i(e),i(t),[])}function r(e){return{dispose:function(){return i(e)}}}function s(e){return{dispose:function(){e()}}}o.d(t,"e",(function(){return n})),o.d(t,"d",(function(){return i})),o.d(t,"c",(function(){return r})),o.d(t,"f",(function(){return s})),o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return l}));var a=function(){function e(){this._toDispose=[]}return Object.defineProperty(e.prototype,"toDispose",{get:function(){return this._toDispose},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._toDispose=i(this._toDispose)},e.prototype._register=function(e){return this._toDispose.push(e),e},e.None=Object.freeze({dispose:function(){}}),e}(),l=function(){function e(e){this.object=e}return e.prototype.dispose=function(){},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"kb",(function(){return l})),o.d(t,"I",(function(){return u})),o.d(t,"G",(function(){return c})),o.d(t,"H",(function(){return h})),o.d(t,"e",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"qb",(function(){return p})),o.d(t,"pb",(function(){return f})),o.d(t,"rb",(function(){return m})),o.d(t,"K",(function(){return _})),o.d(t,"M",(function(){return y})),o.d(t,"L",(function(){return v})),o.d(t,"J",(function(){return b})),o.d(t,"P",(function(){return E})),o.d(t,"Q",(function(){return C})),o.d(t,"R",(function(){return S})),o.d(t,"S",(function(){return T})),o.d(t,"N",(function(){return w})),o.d(t,"O",(function(){return k})),o.d(t,"W",(function(){return O})),o.d(t,"X",(function(){return R})),o.d(t,"T",(function(){return L})),o.d(t,"U",(function(){return N})),o.d(t,"cb",(function(){return I})),o.d(t,"db",(function(){return D})),o.d(t,"bb",(function(){return A})),o.d(t,"Z",(function(){return P})),o.d(t,"ab",(function(){return x})),o.d(t,"V",(function(){return M})),o.d(t,"Y",(function(){return B})),o.d(t,"ib",(function(){return F})),o.d(t,"hb",(function(){return H})),o.d(t,"c",(function(){return U})),o.d(t,"d",(function(){return V})),o.d(t,"lb",(function(){return W})),o.d(t,"nb",(function(){return j})),o.d(t,"ob",(function(){return G})),o.d(t,"mb",(function(){return z})),o.d(t,"jb",(function(){return K})),o.d(t,"n",(function(){return Y})),o.d(t,"u",(function(){return X})),o.d(t,"D",(function(){return q})),o.d(t,"E",(function(){return $})),o.d(t,"F",(function(){return J})),o.d(t,"z",(function(){return Z})),o.d(t,"A",(function(){return Q})),o.d(t,"y",(function(){return ee})),o.d(t,"B",(function(){return te})),o.d(t,"C",(function(){return oe})),o.d(t,"o",(function(){return ne})),o.d(t,"q",(function(){return ie})),o.d(t,"s",(function(){return re})),o.d(t,"p",(function(){return se})),o.d(t,"r",(function(){return ae})),o.d(t,"t",(function(){return le})),o.d(t,"x",(function(){return ue})),o.d(t,"v",(function(){return ce})),o.d(t,"w",(function(){return he})),o.d(t,"m",(function(){return de})),o.d(t,"f",(function(){return ge})),o.d(t,"g",(function(){return pe})),o.d(t,"i",(function(){return fe})),o.d(t,"k",(function(){return me})),o.d(t,"j",(function(){return _e})),o.d(t,"l",(function(){return ye})),o.d(t,"h",(function(){return ve})),o.d(t,"fb",(function(){return Ee})),o.d(t,"gb",(function(){return Ce})),o.d(t,"eb",(function(){return Te}));var n=o(57),i=o(14),r=o(0),s={ColorContribution:"base.contributions.colors"},a=new(function(){function e(){this.colorSchema={type:"object",description:r.a("schema.colors","Colors used in the workbench."),properties:{},additionalProperties:!1},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}return e.prototype.registerColor=function(e,t,o,n,i){void 0===n&&(n=!1);var r={id:e,description:o,defaults:t,needsTransparency:n,deprecationMessage:i};this.colorsById[e]=r;var s={type:"string",description:o,format:"color-hex",default:"#ff0000"};return i&&(s.deprecationMessage=i),this.colorSchema.properties[e]=s,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(o),e},e.prototype.resolveDefaultColor=function(e,t){var o=this.colorsById[e];return o&&o.defaults?ke(o.defaults[t.type],t):null},e.prototype.toString=function(){var e=this;return Object.keys(this.colorsById).sort((function(e,t){var o=-1===e.indexOf(".")?0:1,n=-1===t.indexOf(".")?0:1;return o!==n?o-n:e.localeCompare(t)})).map((function(t){return"- `"+t+"`: "+e.colorsById[t].description})).join("\n")},e}());function l(e,t,o,n,i){return a.registerColor(e,t,o,n,i)}n.a.add(s.ColorContribution,a);var u=l("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},r.a("foreground","Overall foreground color. This color is only used if not overridden by a component.")),c=l("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},r.a("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),h=l("focusBorder",{dark:i.a.fromHex("#0E639C").transparent(.6),light:i.a.fromHex("#007ACC").transparent(.4),hc:"#F38518"},r.a("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),d=l("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},r.a("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),g=l("contrastActiveBorder",{light:null,dark:null,hc:h},r.a("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),p=l("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},r.a("textLinkForeground","Foreground color for links in text.")),f=l("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:i.a.black},r.a("textCodeBlockBackground","Background color for code blocks in text.")),m=l("widget.shadow",{dark:"#000000",light:"#A8A8A8",hc:null},r.a("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),_=l("input.background",{dark:"#3C3C3C",light:i.a.white,hc:i.a.black},r.a("inputBoxBackground","Input box background.")),y=l("input.foreground",{dark:u,light:u,hc:u},r.a("inputBoxForeground","Input box foreground.")),v=l("input.border",{dark:null,light:null,hc:d},r.a("inputBoxBorder","Input box border.")),b=l("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hc:g},r.a("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),E=l("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:i.a.black},r.a("inputValidationInfoBackground","Input validation background color for information severity.")),C=l("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:d},r.a("inputValidationInfoBorder","Input validation border color for information severity.")),S=l("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:i.a.black},r.a("inputValidationWarningBackground","Input validation background color for warning severity.")),T=l("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:d},r.a("inputValidationWarningBorder","Input validation border color for warning severity.")),w=l("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:i.a.black},r.a("inputValidationErrorBackground","Input validation background color for error severity.")),k=l("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:d},r.a("inputValidationErrorBorder","Input validation border color for error severity.")),O=l("list.focusBackground",{dark:"#062F4A",light:"#DFF0FF",hc:null},r.a("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),R=l("list.focusForeground",{dark:null,light:null,hc:null},r.a("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),L=l("list.activeSelectionBackground",{dark:"#094771",light:"#2477CE",hc:null},r.a("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),N=l("list.activeSelectionForeground",{dark:i.a.white,light:i.a.white,hc:null},r.a("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),I=l("list.inactiveSelectionBackground",{dark:"#37373D",light:"#dddfea",hc:null},r.a("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),D=l("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},r.a("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),A=l("list.inactiveFocusBackground",{dark:"#313135",light:"#d8dae6",hc:null},r.a("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),P=l("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},r.a("listHoverBackground","List/Tree background when hovering over items using the mouse.")),x=l("list.hoverForeground",{dark:null,light:null,hc:null},r.a("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),M=l("list.dropBackground",{dark:O,light:O,hc:null},r.a("listDropBackground","List/Tree drag and drop background when moving items around using the mouse.")),B=l("list.highlightForeground",{dark:"#0097fb",light:"#007acc",hc:h},r.a("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),F=l("pickerGroup.foreground",{dark:"#3794FF",light:"#006AB1",hc:i.a.white},r.a("pickerGroupForeground","Quick picker color for grouping labels.")),H=l("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:i.a.white},r.a("pickerGroupBorder","Quick picker color for grouping borders.")),U=l("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:i.a.black},r.a("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),V=l("badge.foreground",{dark:i.a.white,light:"#333",hc:i.a.white},r.a("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),W=l("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},r.a("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),j=l("scrollbarSlider.background",{dark:i.a.fromHex("#797979").transparent(.4),light:i.a.fromHex("#646464").transparent(.4),hc:Se(d,.6)},r.a("scrollbarSliderBackground","Scrollbar slider background color.")),G=l("scrollbarSlider.hoverBackground",{dark:i.a.fromHex("#646464").transparent(.7),light:i.a.fromHex("#646464").transparent(.7),hc:Se(d,.8)},r.a("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),z=l("scrollbarSlider.activeBackground",{dark:i.a.fromHex("#BFBFBF").transparent(.4),light:i.a.fromHex("#000000").transparent(.6),hc:d},r.a("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),K=l("progressBar.background",{dark:i.a.fromHex("#0E70C0"),light:i.a.fromHex("#0E70C0"),hc:d},r.a("progressBarBackground","Background color of the progress bar that can show for long running operations.")),Y=l("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:i.a.black},r.a("editorBackground","Editor background color.")),X=l("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:i.a.white},r.a("editorForeground","Editor default foreground color.")),q=l("editorWidget.background",{dark:"#2D2D30",light:"#EFEFF2",hc:"#0C141F"},r.a("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),$=l("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:d},r.a("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),J=l("editorWidget.resizeBorder",{light:null,dark:null,hc:null},r.a("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),Z=l("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},r.a("editorSelectionBackground","Color of the editor selection.")),Q=l("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},r.a("editorSelectionForeground","Color of the selected text for high contrast.")),ee=l("editor.inactiveSelectionBackground",{light:Se(Z,.5),dark:Se(Z,.5),hc:Se(Z,.5)},r.a("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque to not hide underlying decorations."),!0),te=l("editor.selectionHighlightBackground",{light:we(Z,Y,.3,.6),dark:we(Z,Y,.3,.6),hc:null},r.a("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque to not hide underlying decorations."),!0),oe=l("editor.selectionHighlightBorder",{light:null,dark:null,hc:g},r.a("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),ne=l("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},r.a("editorFindMatch","Color of the current search match.")),ie=l("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},r.a("findMatchHighlight","Color of the other search matches. The color must not be opaque to not hide underlying decorations."),!0),re=l("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},r.a("findRangeHighlight","Color of the range limiting the search. The color must not be opaque to not hide underlying decorations."),!0),se=l("editor.findMatchBorder",{light:null,dark:null,hc:g},r.a("editorFindMatchBorder","Border color of the current search match.")),ae=l("editor.findMatchHighlightBorder",{light:null,dark:null,hc:g},r.a("findMatchHighlightBorder","Border color of the other search matches.")),le=l("editor.findRangeHighlightBorder",{dark:null,light:null,hc:Se(g,.4)},r.a("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque to not hide underlying decorations."),!0),ue=l("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},r.a("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque to not hide underlying decorations."),!0),ce=l("editorHoverWidget.background",{light:q,dark:q,hc:q},r.a("hoverBackground","Background color of the editor hover.")),he=l("editorHoverWidget.border",{light:$,dark:$,hc:$},r.a("hoverBorder","Border color of the editor hover.")),de=l("editorLink.activeForeground",{dark:"#4E94CE",light:i.a.blue,hc:i.a.cyan},r.a("activeLinkForeground","Color of active links.")),ge=new i.a(new i.c(155,185,85,.2)),pe=new i.a(new i.c(255,0,0,.2)),fe=l("diffEditor.insertedTextBackground",{dark:ge,light:ge,hc:null},r.a("diffEditorInserted","Background color for text that got inserted. The color must not be opaque to not hide underlying decorations."),!0),me=l("diffEditor.removedTextBackground",{dark:pe,light:pe,hc:null},r.a("diffEditorRemoved","Background color for text that got removed. The color must not be opaque to not hide underlying decorations."),!0),_e=l("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},r.a("diffEditorInsertedOutline","Outline color for the text that got inserted.")),ye=l("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},r.a("diffEditorRemovedOutline","Outline color for text that got removed.")),ve=l("diffEditor.border",{dark:null,light:null,hc:d},r.a("diffEditorBorder","Border color between the two text editors.")),be=new i.a(new i.c(246,185,77,.7)),Ee=l("editorOverviewRuler.findMatchForeground",{dark:be,light:be,hc:be},r.a("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque to not hide underlying decorations."),!0),Ce=l("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},r.a("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque to not hide underlying decorations."),!0);function Se(e,t){return function(o){var n=ke(e,o);return n?n.transparent(t):null}}function Te(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){for(var o=0,n=e;o<n.length;o++){var i=ke(n[o],t);if(i)return i}return null}}function we(e,t,o,n){return function(r){var s=ke(e,r);if(s){var a=ke(t,r);return a?s.isDarkerThan(a)?i.a.getLighterColor(s,a,o).transparent(n):i.a.getDarkerColor(s,a,o).transparent(n):s.transparent(o*n)}return null}}function ke(e,t){return null===e?null:"string"==typeof e?"#"===e[0]?i.a.fromHex(e):t.getColor(e):e instanceof i.a?e:"function"==typeof e?e(t):null}},function(e,t,o){"use strict";o.r(t),o.d(t,"empty",(function(){return n})),o.d(t,"isFalsyOrWhitespace",(function(){return i})),o.d(t,"pad",(function(){return r})),o.d(t,"format",(function(){return a})),o.d(t,"escape",(function(){return l})),o.d(t,"escapeRegExpCharacters",(function(){return u})),o.d(t,"trim",(function(){return c})),o.d(t,"ltrim",(function(){return h})),o.d(t,"rtrim",(function(){return d})),o.d(t,"convertSimple2RegExpPattern",(function(){return g})),o.d(t,"startsWith",(function(){return p})),o.d(t,"endsWith",(function(){return f})),o.d(t,"createRegExp",(function(){return m})),o.d(t,"regExpLeadsToEndlessLoop",(function(){return _})),o.d(t,"firstNonWhitespaceIndex",(function(){return y})),o.d(t,"getLeadingWhitespace",(function(){return v})),o.d(t,"lastNonWhitespaceIndex",(function(){return b})),o.d(t,"compare",(function(){return E})),o.d(t,"compareIgnoreCase",(function(){return C})),o.d(t,"isLowerAsciiLetter",(function(){return S})),o.d(t,"isUpperAsciiLetter",(function(){return T})),o.d(t,"equalsIgnoreCase",(function(){return k})),o.d(t,"startsWithIgnoreCase",(function(){return R})),o.d(t,"commonPrefixLength",(function(){return L})),o.d(t,"commonSuffixLength",(function(){return N})),o.d(t,"isHighSurrogate",(function(){return I})),o.d(t,"isLowSurrogate",(function(){return D})),o.d(t,"containsRTL",(function(){return P})),o.d(t,"containsEmoji",(function(){return M})),o.d(t,"isBasicASCII",(function(){return F})),o.d(t,"containsFullWidthCharacter",(function(){return H})),o.d(t,"isFullWidthCharacter",(function(){return U})),o.d(t,"UTF8_BOM_CHARACTER",(function(){return V})),o.d(t,"startsWithUTF8BOM",(function(){return W})),o.d(t,"safeBtoa",(function(){return j})),o.d(t,"repeat",(function(){return G}));var n="";function i(e){return!e||"string"!=typeof e||0===e.trim().length}function r(e,t,o){void 0===o&&(o="0");for(var n=""+e,i=[n],r=n.length;r<t;r++)i.push(o);return i.reverse().join("")}var s=/{(\d+)}/g;function a(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return 0===t.length?e:e.replace(s,(function(e,o){var n=parseInt(o,10);return isNaN(n)||n<0||n>=t.length?e:t[n]}))}function l(e){return e.replace(/[<|>|&]/g,(function(e){switch(e){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return e}}))}function u(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]/g,"\\$&")}function c(e,t){return void 0===t&&(t=" "),d(h(e,t),t)}function h(e,t){if(!e||!t)return e;var o=t.length;if(0===o||0===e.length)return e;for(var n=0;e.indexOf(t,n)===n;)n+=o;return e.substring(n)}function d(e,t){if(!e||!t)return e;var o=t.length,n=e.length;if(0===o||0===n)return e;for(var i=n,r=-1;-1!==(r=e.lastIndexOf(t,i-1))&&r+o===i;){if(0===r)return"";i=r}return e.substring(0,i)}function g(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function p(e,t){if(e.length<t.length)return!1;if(e===t)return!0;for(var o=0;o<t.length;o++)if(e[o]!==t[o])return!1;return!0}function f(e,t){var o=e.length-t.length;return o>0?e.indexOf(t,o)===o:0===o&&e===t}function m(e,t,o){if(void 0===o&&(o={}),!e)throw new Error("Cannot create regex from empty string");t||(e=u(e)),o.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var n="";return o.global&&(n+="g"),o.matchCase||(n+="i"),o.multiline&&(n+="m"),new RegExp(e,n)}function _(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&(e.exec("")&&0===e.lastIndex)}function y(e){for(var t=0,o=e.length;t<o;t++){var n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function v(e,t,o){void 0===t&&(t=0),void 0===o&&(o=e.length);for(var n=t;n<o;n++){var i=e.charCodeAt(n);if(32!==i&&9!==i)return e.substring(t,n)}return e.substring(t,o)}function b(e,t){void 0===t&&(t=e.length-1);for(var o=t;o>=0;o--){var n=e.charCodeAt(o);if(32!==n&&9!==n)return o}return-1}function E(e,t){return e<t?-1:e>t?1:0}function C(e,t){for(var o=Math.min(e.length,t.length),n=0;n<o;n++){var i=e.charCodeAt(n),r=t.charCodeAt(n);if(i!==r){T(i)&&(i+=32),T(r)&&(r+=32);var s=i-r;if(0!==s)return S(i)&&S(r)?s:E(e.toLowerCase(),t.toLowerCase())}}return e.length<t.length?-1:e.length>t.length?1:0}function S(e){return e>=97&&e<=122}function T(e){return e>=65&&e<=90}function w(e){return S(e)||T(e)}function k(e,t){return(e?e.length:0)===(t?t.length:0)&&O(e,t)}function O(e,t,o){if(void 0===o&&(o=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var n=0;n<o;n++){var i=e.charCodeAt(n),r=t.charCodeAt(n);if(i!==r)if(w(i)&&w(r)){var s=Math.abs(i-r);if(0!==s&&32!==s)return!1}else if(String.fromCharCode(i).toLowerCase()!==String.fromCharCode(r).toLowerCase())return!1}return!0}function R(e,t){var o=t.length;return!(t.length>e.length)&&O(e,t,o)}function L(e,t){var o,n=Math.min(e.length,t.length);for(o=0;o<n;o++)if(e.charCodeAt(o)!==t.charCodeAt(o))return o;return n}function N(e,t){var o,n=Math.min(e.length,t.length),i=e.length-1,r=t.length-1;for(o=0;o<n;o++)if(e.charCodeAt(i-o)!==t.charCodeAt(r-o))return o;return n}function I(e){return 55296<=e&&e<=56319}function D(e){return 56320<=e&&e<=57343}var A=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function P(e){return A.test(e)}var x=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;function M(e){return x.test(e)}var B=/^[\t\n\r\x20-\x7E]*$/;function F(e){return B.test(e)}function H(e){for(var t=0,o=e.length;t<o;t++)if(U(e.charCodeAt(t)))return!0;return!1}function U(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}var V=String.fromCharCode(65279);function W(e){return e&&e.length>0&&65279===e.charCodeAt(0)}function j(e){return btoa(encodeURIComponent(e))}function G(e,t){for(var o="",n=0;n<t;n++)o+=e;return o}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column},e.prototype.isBeforeOrEqual=function(t){return e.isBeforeOrEqual(this,t)},e.isBeforeOrEqual=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column},e.compare=function(e,t){var o=0|e.lineNumber,n=0|t.lineNumber;return o===n?(0|e.column)-(0|t.column):o-n},e.prototype.clone=function(){return new e(this.lineNumber,this.column)},e.prototype.toString=function(){return"("+this.lineNumber+","+this.column+")"},e.lift=function(t){return new e(t.lineNumber,t.column)},e.isIPosition=function(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column},e}()},function(e,t,o){"use strict";(function(e,n){var i;o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s})),function(){var t=Object.create(null);t["WinJS/Core/_WinJS"]={};var o=function(e,o,n){var i={},r=!1,s=o.map((function(e){return"exports"===e?(r=!0,i):t[e]})),a=n.apply({},s);t[e]=r?i:a};o("WinJS/Core/_Global",[],(function(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0!==e?e:{}})),o("WinJS/Core/_BaseCoreUtils",["WinJS/Core/_Global"],(function(e){var t=!!e.Windows;var o=null;return{hasWinRT:t,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(t){null===o&&(o=e.setImmediate?e.setImmediate.bind(e):void 0!==n&&"function"==typeof n.nextTick?n.nextTick.bind(n):e.setTimeout.bind(e)),o(t)}}})),o("WinJS/Core/_WriteProfilerMark",["WinJS/Core/_Global"],(function(e){return e.msWriteProfilerMark||function(){}})),o("WinJS/Core/_Base",["WinJS/Core/_WinJS","WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_WriteProfilerMark"],(function(e,t,o,n){function i(e,t,o){var n,i,r,s=Object.keys(t),a=Array.isArray(e);for(i=0,r=s.length;i<r;i++){var l=s[i],u=95!==l.charCodeAt(0),c=t[l];!c||"object"!=typeof c||void 0===c.value&&"function"!=typeof c.get&&"function"!=typeof c.set?u?a?e.forEach((function(e){e[l]=c})):e[l]=c:(n=n||{})[l]={value:c,enumerable:u,configurable:!0,writable:!0}:(void 0===c.enumerable&&(c.enumerable=u),o&&c.setName&&"function"==typeof c.setName&&c.setName(o+"."+l),(n=n||{})[l]=c)}n&&(a?e.forEach((function(e){Object.defineProperties(e,n)})):Object.defineProperties(e,n))}return function(){var o=e;function r(o,n){var i=o||{};if(n){var r=n.split(".");i===t&&"WinJS"===r[0]&&(i=e,r.splice(0,1));for(var s=0,a=r.length;s<a;s++){var l=r[s];i[l]||Object.defineProperty(i,l,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[l]}}return i}function s(e,t,o){var n=r(e,t);return o&&i(n,o,t||"<ANONYMOUS>"),n}o.Namespace||(o.Namespace=Object.create(Object.prototype));var a={uninitialized:1,working:2,initialized:3};Object.defineProperties(o.Namespace,{defineWithParent:{value:s,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,o){return s(t,e,o)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,o,i=a.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case a.initialized:return o;case a.uninitialized:i=a.working;try{n("WinJS.Namespace._lazy:"+t+",StartTM"),o=e()}finally{n("WinJS.Namespace._lazy:"+t+",StopTM"),i=a.uninitialized}return e=null,i=a.initialized,o;case a.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(i){case a.working:throw"Illegal: reentrancy on initialization";default:i=a.initialized,o=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,o,n){var s=[e],a=null;return o&&(a=r(t,o),s.push(a)),i(s,n,o||"<ANONYMOUS>"),a},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,n){return e=e||function(){},o.markSupportedForProcessing(e),t&&i(e.prototype,t),n&&i(e,n),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,n,r,s){if(e){n=n||function(){};var a=e.prototype;return n.prototype=Object.create(a),o.markSupportedForProcessing(n),Object.defineProperty(n.prototype,"constructor",{value:n,writable:!0,configurable:!0,enumerable:!0}),r&&i(n.prototype,r),s&&i(n,s),n}return t(n,r,s)},mix:function(e){var t,o;for(e=e||function(){},t=1,o=arguments.length;t<o;t++)i(e.prototype,arguments[t]);return e}})}(),{Namespace:e.Namespace,Class:e.Class}})),o("WinJS/Core/_ErrorFromName",["WinJS/Core/_Base"],(function(e){var t=e.Class.derive(Error,(function(e,t){this.name=e,this.message=t||e}),{},{supportedForProcessing:!1});return e.Namespace.define("WinJS",{ErrorFromName:t}),t})),o("WinJS/Core/_Events",["exports","WinJS/Core/_Base"],(function(e,t){function o(e){var t="_on"+e+"state";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(o){var n=this[t];o?(n||(n={wrapper:function(e){return n.userHandler(e)},userHandler:o},Object.defineProperty(this,t,{value:n,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,n.wrapper,!1)),n.userHandler=o):n&&(this.removeEventListener(e,n.wrapper,!1),this[t]=null)},enumerable:!0}}var n=t.Class.define((function(e,t,o){this.detail=t,this.target=o,this.timeStamp=Date.now(),this.type=e}),{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,o){o=o||!1,this._listeners=this._listeners||{};for(var n=this._listeners[e]=this._listeners[e]||[],i=0,r=n.length;i<r;i++){var s=n[i];if(s.useCapture===o&&s.listener===t)return}n.push({listener:t,useCapture:o})},dispatchEvent:function(e,t){var o=this._listeners&&this._listeners[e];if(o){for(var i=new n(e,t,this),r=0,s=(o=o.slice(0,o.length)).length;r<s&&!i._stopImmediatePropagationCalled;r++)o[r].listener(i);return i.defaultPrevented||!1}return!1},removeEventListener:function(e,t,o){o=o||!1;var n=this._listeners&&this._listeners[e];if(n)for(var i=0,r=n.length;i<r;i++){var s=n[i];if(s.listener===t&&s.useCapture===o){n.splice(i,1),0===n.length&&delete this._listeners[e];break}}}};t.Namespace._moduleDefine(e,"WinJS.Utilities",{_createEventProperty:o,createEventProperties:function(){for(var e={},t=0,n=arguments.length;t<n;t++){var i=arguments[t];e["on"+i]=o(i)}return e},eventMixin:i})})),o("WinJS/Core/_Trace",["WinJS/Core/_Global"],(function(e){function t(e){return e}return{_traceAsyncOperationStarting:e.Debug&&e.Debug.msTraceAsyncOperationStarting&&e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)||t,_traceAsyncOperationCompleted:e.Debug&&e.Debug.msTraceAsyncOperationCompleted&&e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)||t,_traceAsyncCallbackStarting:e.Debug&&e.Debug.msTraceAsyncCallbackStarting&&e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)||t,_traceAsyncCallbackCompleted:e.Debug&&e.Debug.msTraceAsyncCallbackCompleted&&e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)||t}})),o("WinJS/Promise/_StateMachine",["WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_Base","WinJS/Core/_ErrorFromName","WinJS/Core/_Events","WinJS/Core/_Trace"],(function(e,t,o,n,i,r){e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var s=new(o.Class.mix(o.Class.define(null,{},{supportedForProcessing:!1}),i.eventMixin));s._listeners={};var a="error",l="Canceled",u=!1,c={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};c.all=c.promise|c.thenPromise|c.errorPromise|c.exceptionPromise|c.completePromise;var h,d,g,p,f,m,_,y,v,b,E=1;function C(){}h={name:"created",enter:function(e){e._setState(d)},cancel:C,done:C,then:C,_completed:C,_error:C,_notify:C,_progress:C,_setCompleteValue:C,_setErrorValue:C},d={name:"working",enter:C,cancel:function(e){e._setState(f)},done:N,then:U,_completed:T,_error:I,_notify:C,_progress:x,_setCompleteValue:H,_setErrorValue:F},g={name:"waiting",enter:function(e){var t=e._value;if(t instanceof W&&t._state!==b&&t._state!==y)M(t,{promise:e});else{var o=function(n){t._errorId?e._chainedError(n,t):(P(e,n,k,t,o),e._error(n))};o.handlesOnError=!0,t.then(e._completed.bind(e),o,e._progress.bind(e))}},cancel:function(e){e._setState(p)},done:N,then:U,_completed:T,_error:I,_notify:C,_progress:x,_setCompleteValue:H,_setErrorValue:F},p={name:"waiting_canceled",enter:function(e){e._setState(m);var t=e._value;t.cancel&&t.cancel()},cancel:C,done:N,then:U,_completed:T,_error:I,_notify:C,_progress:x,_setCompleteValue:H,_setErrorValue:F},f={name:"canceled",enter:function(e){e._setState(m),e._cancelAction()},cancel:C,done:N,then:U,_completed:T,_error:I,_notify:C,_progress:x,_setCompleteValue:H,_setErrorValue:F},m={name:"canceling",enter:function(e){var t=new Error(l);t.name=t.message,e._value=t,e._setState(v)},cancel:C,done:C,then:C,_completed:C,_error:C,_notify:C,_progress:C,_setCompleteValue:C,_setErrorValue:C},_={name:"complete_notify",enter:function(e){if(e.done=z.prototype.done,e.then=z.prototype.then,e._listeners)for(var t,o=[e];o.length;)(t=o.shift())._state._notify(t,o);e._setState(y)},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:D,_progress:C,_setCompleteValue:C,_setErrorValue:C},y={name:"success",enter:function(e){e.done=z.prototype.done,e.then=z.prototype.then,e._cleanupAction()},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:D,_progress:C,_setCompleteValue:C,_setErrorValue:C},v={name:"error_notify",enter:function(e){if(e.done=j.prototype.done,e.then=j.prototype.then,e._listeners)for(var t,o=[e];o.length;)(t=o.shift())._state._notify(t,o);e._setState(b)},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:A,_progress:C,_setCompleteValue:C,_setErrorValue:C},b={name:"error",enter:function(e){e.done=j.prototype.done,e.then=j.prototype.then,e._cleanupAction()},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:A,_progress:C,_setCompleteValue:C,_setErrorValue:C};var S=o.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,o){this._state.done(this,e,t,o)},then:function e(t,o,n){if(this.then===e)return this._state.then(this,t,o,n);this.then(t,o,n)},_chainedError:function(e,t){var o=this._state._error(this,e,O,t);return this._run(),o},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,R);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var o=this._state._setErrorValue(this,e,O,t);return this._run(),o},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,L);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1});function T(e,t){var o;o=t&&"object"==typeof t&&"function"==typeof t.then?g:_,e._value=t,e._setState(o)}function w(e,t,o,n,i,r){return{exception:e,error:t,promise:o,handler:r,id:n,parent:i}}function k(e,t,o,n){var i=o._isException;return w(i?t:null,i?null:t,e,o._errorId,o,n)}function O(e,t,o){var n=o._isException,i=o._errorId;return B(e,i,n),w(n?t:null,n?null:t,e,i,o)}function R(e,t){var o=++E;return B(e,o),w(null,t,e,o)}function L(e,t){var o=++E;return B(e,o,!0),w(t,null,e,o)}function N(e,t,o,n){M(e,{c:t,e:o,p:n,asyncOpID:r._traceAsyncOperationStarting("WinJS.Promise.done")})}function I(e,t,o,n){e._value=t,P(e,t,o,n),e._setState(v)}function D(t,o){var n,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,n=0,i=Array.isArray(a)?a.length:1;n<i;n++){var l=1===i?a:a[n],u=l.c,c=l.promise;if(r._traceAsyncOperationCompleted(l.asyncOpID,e.Debug&&e.Debug.MS_ASYNC_OP_STATUS_SUCCESS),c){r._traceAsyncCallbackStarting(l.asyncOpID);try{c._setCompleteValue(u?u(s):s)}catch(e){c._setExceptionValue(e)}finally{r._traceAsyncCallbackCompleted()}c._state!==g&&c._listeners&&o.push(c)}else z.prototype.done.call(t,u)}}function A(t,o){var n,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,n=0,i=Array.isArray(a)?a.length:1;n<i;n++){var u=1===i?a:a[n],c=u.e,h=u.promise,d=e.Debug&&(s&&s.name===l?e.Debug.MS_ASYNC_OP_STATUS_CANCELED:e.Debug.MS_ASYNC_OP_STATUS_ERROR);if(r._traceAsyncOperationCompleted(u.asyncOpID,d),h){var p=!1;try{c?(r._traceAsyncCallbackStarting(u.asyncOpID),p=!0,c.handlesOnError||P(h,s,k,t,c),h._setCompleteValue(c(s))):h._setChainedErrorValue(s,t)}catch(e){h._setExceptionValue(e)}finally{p&&r._traceAsyncCallbackCompleted()}h._state!==g&&h._listeners&&o.push(h)}else j.prototype.done.call(t,null,c)}}function P(e,t,o,n,i){if(s._listeners[a]){if(t instanceof Error&&t.message===l)return;s.dispatchEvent(a,o(e,t,n,i))}}function x(e,t){var o,n,i=e._listeners;if(i)for(o=0,n=Array.isArray(i)?i.length:1;o<n;o++){var r=1===n?i:i[o],s=r.p;if(s)try{s(t)}catch(e){}r.c||r.e||!r.promise||r.promise._progress(t)}}function M(e,t){var o=e._listeners;o?(o=Array.isArray(o)?o:[o]).push(t):o=t,e._listeners=o}function B(e,t,o){e._isException=o||!1,e._errorId=t}function F(e,t,o,n){e._value=t,P(e,t,o,n),e._setState(b)}function H(e,t){var o;o=t&&"object"==typeof t&&"function"==typeof t.then?g:y,e._value=t,e._setState(o)}function U(e,t,o,n){var i=new W(e);return M(e,{promise:i,c:t,e:o,p:n,asyncOpID:r._traceAsyncOperationStarting("WinJS.Promise.then")}),i}var V,W=o.Class.derive(S,(function(e){u&&(!0===u||u&c.thenPromise)&&(this._stack=K._getStack()),this._creator=e,this._setState(h),this._run()}),{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),j=o.Class.define((function(e){u&&(!0===u||u&c.errorPromise)&&(this._stack=K._getStack()),this._value=e,P(this,e,R)}),{cancel:function(){},done:function(e,t){var o=this._value;if(t)try{t.handlesOnError||P(null,o,k,this,t);var n=t(o);return void(n&&"object"==typeof n&&"function"==typeof n.done&&n.done())}catch(e){o=e}o instanceof Error&&o.message===l||K._doneHandler(o)},then:function(e,t){if(!t)return this;var o,n=this._value;try{t.handlesOnError||P(null,n,k,this,t),o=new z(t(n))}catch(e){o=e===n?this:new G(e)}return o}},{supportedForProcessing:!1}),G=o.Class.derive(j,(function(e){u&&(!0===u||u&c.exceptionPromise)&&(this._stack=K._getStack()),this._value=e,P(this,e,L)}),{},{supportedForProcessing:!1}),z=o.Class.define((function(e){if(u&&(!0===u||u&c.completePromise)&&(this._stack=K._getStack()),e&&"object"==typeof e&&"function"==typeof e.then){var t=new W(null);return t._setCompleteValue(e),t}this._value=e}),{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&"object"==typeof t&&"function"==typeof t.done&&t.done()}catch(e){K._doneHandler(e)}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new z(t)}catch(e){return new G(e)}}},{supportedForProcessing:!1});var K=o.Class.derive(S,(function(e,t){u&&(!0===u||u&c.promise)&&(this._stack=K._getStack()),this._oncancel=t,this._setState(h),this._run();try{e(this._completed.bind(this),this._error.bind(this),this._progress.bind(this))}catch(e){this._setExceptionValue(e)}}),{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error("Promise did not implement oncancel");this._oncancel()}catch(e){e.message,e.stack;s.dispatchEvent("error",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,o){s.addEventListener(e,t,o)},any:function(e){return new K((function(t,o){var n=Object.keys(e);0===n.length&&t();var i=0;n.forEach((function(r){K.as(e[r]).then((function(){t({key:r,value:e[r]})}),(function(s){s instanceof Error&&s.name===l?++i===n.length&&t(K.cancel):o({key:r,value:e[r]})}))}))}),(function(){Object.keys(e).forEach((function(t){var o=K.as(e[t]);"function"==typeof o.cancel&&o.cancel()}))}))},as:function(e){return e&&"object"==typeof e&&"function"==typeof e.then?e:new z(e)},cancel:{get:function(){return V=V||new j(new n(l))}},dispatchEvent:function(e,t){return s.dispatchEvent(e,t)},is:function(e){return e&&"object"==typeof e&&"function"==typeof e.then},join:function(e){return new K((function(t,o,n){var i=Object.keys(e),r=Array.isArray(e)?[]:{},s=Array.isArray(e)?[]:{},a=0,u=i.length,c=function(e){if(0==--u){var a=Object.keys(r).length;if(0===a)t(s);else{var c=0;i.forEach((function(e){var t=r[e];t instanceof Error&&t.name===l&&c++})),c===a?t(K.cancel):o(r)}}else n({Key:e,Done:!0})};i.forEach((function(t){var o=e[t];void 0===o?a++:K.then(o,(function(e){s[t]=e,c(t)}),(function(e){r[t]=e,c(t)}))})),0!==(u-=a)||t(s)}),(function(){Object.keys(e).forEach((function(t){var o=K.as(e[t]);"function"==typeof o.cancel&&o.cancel()}))}))},removeEventListener:function(e,t,o){s.removeEventListener(e,t,o)},supportedForProcessing:!1,then:function(e,t,o,n){return K.as(e).then(t,o,n)},thenEach:function(e,t,o,n){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(r){i[r]=K.as(e[r]).then(t,o,n)})),K.join(i)},timeout:function(o,n){var i,r,s=(i=o,new K((function(o){i?r=e.setTimeout(o,i):t._setImmediate(o)}),(function(){r&&e.clearTimeout(r)})));return n?function(e,t){var o=function(){e.cancel()};return e.then((function(){t.cancel()})),t.then(o,o),t}(s,n):s},wrap:function(e){return new z(e)},wrapError:function(e){return new j(e)},_veryExpensiveTagWithStack:{get:function(){return u},set:function(e){u=e}},_veryExpensiveTagWithStack_tag:c,_getStack:function(){if(e.Debug&&e.Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}},_cancelBlocker:function(e,t){if(!K.is(e))return K.wrap(e);var o,n,i=new K((function(e,t){o=e,n=t}),(function(){o=null,n=null,t&&t()}));return e.then((function(e){o&&o(e)}),(function(e){n&&n(e)})),i}});return Object.defineProperties(K,i.createEventProperties(a)),K._doneHandler=function(e){t._setImmediate((function(){throw e}))},{PromiseStateMachine:S,Promise:K,state_created:h}})),o("WinJS/Promise",["WinJS/Core/_Base","WinJS/Promise/_StateMachine"],(function(e,t){return e.Namespace.define("WinJS",{Promise:t.Promise}),t.Promise})),(i=t["WinJS/Core/_WinJS"]).TPromise=i.Promise,i.PPromise=i.Promise}();var r=i.Promise,s=i.TPromise;i.PPromise}).call(this,o(80),o(108))},function(e,t,o){"use strict";var n=o(4),i=o(6),r=o(202);function s(e,t,o,n){if(Array.isArray(e)){for(var i=0,a=0,l=e;a<l.length;a++){var u=s(l[a],t,o,n);if(10===u)return u;u>i&&(i=u)}return i}if("string"==typeof e)return n?"*"===e?5:e===o?10:0:0;if(e){var c=e.language,h=e.pattern,d=e.scheme,g=e.hasAccessToAllModels;if(!n&&!g)return 0;i=0;if(d)if(d===t.scheme)i=10;else{if("*"!==d)return 0;i=5}if(c)if(c===o)i=10;else{if("*"!==c)return 0;i=Math.max(i,5)}if(h){if(h!==t.fsPath&&!Object(r.a)(h,t.fsPath))return 0;i=10}return i}return 0}var a=o(60);function l(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(l):e.exclusive)}var u=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new n.a}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var o=this,n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Object(i.f)((function(){if(n){var e=o._entries.indexOf(n);e>=0&&(o._entries.splice(e,1),o._lastCandidate=void 0,o._onDidChange.fire(o._entries.length),n=void 0)}}))},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){if(!e)return[];this._updateScores(e);for(var t=[],o=0,n=this._entries;o<n.length;o++){var i=n[o];i._score>0&&t.push(i.provider)}return t},e.prototype.ordered=function(e){var t=[];return this._orderedForEach(e,(function(e){return t.push(e.provider)})),t},e.prototype.orderedGroups=function(e){var t,o,n=[];return this._orderedForEach(e,(function(e){t&&o===e._score?t.push(e.provider):(o=e._score,t=[e.provider],n.push(t))})),n},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var o=0;o<this._entries.length;o++){var n=this._entries[o];n._score>0&&t(n)}}},e.prototype._updateScores=function(t){var o={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==o.language||this._lastCandidate.uri!==o.uri){this._lastCandidate=o;for(var n=0,i=this._entries;n<i.length;n++){var r=i[n];if(r._score=s(r.selector,t.uri,t.getLanguageIdentifier().language,Object(a.b)(t)),l(r.selector)&&r._score>0){for(var u=0,c=this._entries;u<c.length;u++){c[u]._score=0}r._score=1e3;break}}this._entries.sort(e._compareByScoreAndTime)}},e._compareByScoreAndTime=function(e,t){return e._score<t._score?1:e._score>t._score?-1:e._time<t._time?1:e._time>t._time?-1:0},e}(),c=function(){function e(){this._onDidChange=new n.a,this.onDidChange=this._onDidChange.event,this._map=Object.create(null),this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var o=this;return this._map[e]=t,this.fire([e]),Object(i.f)((function(){o._map[e]===t&&(delete o._map[e],o.fire([e]))}))},e.prototype.get=function(e){return this._map[e]||null},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object.keys(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap[2]},e}(),h=o(21);o.d(t,"o",(function(){return m})),o.d(t,"x",(function(){return _})),o.d(t,"v",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"g",(function(){return p})),o.d(t,"w",(function(){return f})),o.d(t,"B",(function(){return v})),o.d(t,"k",(function(){return b})),o.d(t,"A",(function(){return E})),o.d(t,"r",(function(){return C})),o.d(t,"s",(function(){return S})),o.d(t,"u",(function(){return T})),o.d(t,"t",(function(){return w})),o.d(t,"m",(function(){return k})),o.d(t,"j",(function(){return O})),o.d(t,"h",(function(){return R})),o.d(t,"e",(function(){return L})),o.d(t,"n",(function(){return N})),o.d(t,"z",(function(){return I})),o.d(t,"c",(function(){return D})),o.d(t,"a",(function(){return A})),o.d(t,"f",(function(){return P})),o.d(t,"i",(function(){return x})),o.d(t,"q",(function(){return M})),o.d(t,"p",(function(){return B})),o.d(t,"d",(function(){return F})),o.d(t,"l",(function(){return H})),o.d(t,"y",(function(){return U}));var d,g,p,f,m=function(e,t){this.language=e,this.id=t},_=function(){function e(){}return e.getLanguageId=function(e){return(255&e)>>>0},e.getTokenType=function(e){return(1792&e)>>>8},e.getFontStyle=function(e){return(14336&e)>>>11},e.getForeground=function(e){return(8372224&e)>>>14},e.getBackground=function(e){return(4286578688&e)>>>23},e.getClassNameFromMetadata=function(e){var t="mtk"+this.getForeground(e),o=this.getFontStyle(e);return 1&o&&(t+=" mtki"),2&o&&(t+=" mtkb"),4&o&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var o=this.getForeground(e),n=this.getFontStyle(e),i="color: "+t[o]+";";return 1&n&&(i+="font-style: italic;"),2&n&&(i+="font-weight: bold;"),4&n&&(i+="text-decoration: underline;"),i},e}();!function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(d||(d={})),function(e){e[e.Automatic=1]="Automatic",e[e.Manual=2]="Manual"}(g||(g={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(p||(p={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(f||(f={}));var y,v=((y=Object.create(null))[f.File]="file",y[f.Module]="module",y[f.Namespace]="namespace",y[f.Package]="package",y[f.Class]="class",y[f.Method]="method",y[f.Property]="property",y[f.Field]="field",y[f.Constructor]="constructor",y[f.Enum]="enum",y[f.Interface]="interface",y[f.Function]="function",y[f.Variable]="variable",y[f.Constant]="constant",y[f.String]="string",y[f.Number]="number",y[f.Boolean]="boolean",y[f.Array]="array",y[f.Object]="object",y[f.Key]="key",y[f.Null]="null",y[f.EnumMember]="enum-member",y[f.Struct]="struct",y[f.Event]="event",y[f.Operator]="operator",y[f.TypeParameter]="type-parameter",function(e){return"symbol-icon "+(y[e]||"property")}),b=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();function E(e){return Object(h.g)(e)&&e.resource&&Array.isArray(e.edits)}var C=new u,S=new u,T=new u,w=new u,k=new u,O=new u,R=new u,L=new u,N=new u,I=new u,D=new u,A=new u,P=new u,x=new u,M=new u,B=new u,F=new u,H=new u,U=new c},function(e,t,o){"use strict";o.d(t,"d",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"c",(function(){return h})),o.d(t,"a",(function(){return f})),o.d(t,"f",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"g",(function(){return y}));var n,i,r=o(22),s=o(8),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.Defined=1]="Defined",e[e.Not=2]="Not",e[e.Equals=3]="Equals",e[e.NotEquals=4]="NotEquals",e[e.And=5]="And",e[e.Regex=6]="Regex"}(i||(i={}));var l=function(){function e(){}return e.has=function(e){return new c(e)},e.equals=function(e,t){return new h(e,t)},e.regex=function(e,t){return new p(e,t)},e.not=function(e){return new g(e)},e.and=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new f(e)},e.deserialize=function(e){var t=this;if(!e)return null;var o=e.split("&&");return new f(o.map((function(e){return t._deserializeOne(e)}))).normalize()},e._deserializeOne=function(e){if((e=e.trim()).indexOf("!=")>=0){var t=e.split("!=");return new d(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf("==")>=0){t=e.split("==");return new h(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf("=~")>=0){t=e.split("=~");return new p(t[0].trim(),this._deserializeRegexValue(t[1]))}return/^\!\s*/.test(e)?new g(e.substr(1).trim()):new c(e)},e._deserializeValue=function(e){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var t=/^'([^']*)'$/.exec(e);return t?t[1].trim():e},e._deserializeRegexValue=function(e){if(Object(s.isFalsyOrWhitespace)(e))return console.warn("missing regexp-value for =~-expression"),null;var t=e.indexOf("/"),o=e.lastIndexOf("/");if(t===o||t<0)return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null;var n=e.slice(t+1,o),i="i"===e[o+1]?"i":"";try{return new RegExp(n,i)}catch(t){return console.warn("bad regexp-value '"+e+"', parse error: "+t),null}},e}();function u(e,t){var o=e.getType(),n=t.getType();if(o!==n)return o-n;switch(o){case i.Defined:case i.Not:case i.Equals:case i.NotEquals:case i.Regex:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var c=function(){function e(e){this.key=e}return e.prototype.getType=function(){return i.Defined},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),h=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return i.Equals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)==this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new c(this.key):new g(this.key):this},e.prototype.keys=function(){return[this.key]},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return i.NotEquals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)!=this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new g(this.key):new c(this.key):this},e.prototype.keys=function(){return[this.key]},e}(),g=function(){function e(e){this.key=e}return e.prototype.getType=function(){return i.Not},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),p=function(){function e(e,t){this.key=e,this.regexp=t}return e.prototype.getType=function(){return i.Regex},e.prototype.cmp=function(e){if(this.key<e.key)return-1;if(this.key>e.key)return 1;var t=this.regexp?this.regexp.source:void 0;return t<e.regexp.source?-1:t>e.regexp.source?1:0},e.prototype.equals=function(t){if(t instanceof e){var o=this.regexp?this.regexp.source:void 0;return this.key===t.key&&o===t.regexp.source}return!1},e.prototype.evaluate=function(e){return!!this.regexp&&this.regexp.test(e.getValue(this.key))},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),f=function(){function e(t){this.expr=e._normalizeArr(t)}return e.prototype.getType=function(){return i.And},e.prototype.equals=function(t){if(t instanceof e){if(this.expr.length!==t.expr.length)return!1;for(var o=0,n=this.expr.length;o<n;o++)if(!this.expr[o].equals(t.expr[o]))return!1;return!0}return!1},e.prototype.evaluate=function(e){for(var t=0,o=this.expr.length;t<o;t++)if(!this.expr[t].evaluate(e))return!1;return!0},e._normalizeArr=function(t){var o=[];if(t){for(var n=0,i=t.length;n<i;n++){var r=t[n];r&&((r=r.normalize())&&(r instanceof e?o=o.concat(r.expr):o.push(r)))}o.sort(u)}return o},e.prototype.normalize=function(){return 0===this.expr.length?null:1===this.expr.length?this.expr[0]:this},e.prototype.keys=function(){for(var e=[],t=0,o=this.expr;t<o.length;t++){var n=o[t];e.push.apply(e,n.keys())}return e},e}(),m=function(e){function t(t,o){var n=e.call(this,t)||this;return n._defaultValue=o,n}return a(t,e),t.prototype.bindTo=function(e){return e.createKey(this.key,this._defaultValue)},t.prototype.toNegated=function(){return l.not(this.key)},t}(c),_=Object(r.c)("contextKeyService"),y="setContext"},function(e,t,o){"use strict";o.d(t,"e",(function(){return s})),o.d(t,"f",(function(){return a})),o.d(t,"g",(function(){return l})),o.d(t,"d",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d})),o.d(t,"c",(function(){return g}));var n=o(10),i={};n.b.addEventListener("error",(function(e){var t=e.detail,o=t.id;t.parent?t.handler&&i&&delete i[o]:(i[o]=t,1===Object.keys(i).length&&setTimeout((function(){var e=i;i={},Object.keys(e).forEach((function(t){var o=e[t];o.exception?s(o.exception):o.error&&s(o.error),console.log("WARNING: Promise with no error callback:"+o.id),console.log(o),o.exception&&console.log(o.exception.stack)}))}),0))}));var r=new(function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((function(){if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e}),0)}}return e.prototype.emit=function(e){this.listeners.forEach((function(t){t(e)}))},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}());function s(e){c(e)||r.onUnexpectedError(e)}function a(e){c(e)||r.onUnexpectedExternalError(e)}function l(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var u="Canceled";function c(e){return e instanceof Error&&e.name===u&&e.message===u}function h(){var e=new Error(u);return e.name=e.message,e}function d(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")}function g(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")}},function(e,t,o){"use strict";function n(e,t){var o=Math.pow(10,t);return Math.round(e*o)/o}o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return a}));var i=function(){function e(e,t,o,i){void 0===i&&(i=1),this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,o)),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a},e}(),r=function(){function e(e,t,o,i){this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.l=n(Math.max(Math.min(1,o),0),3),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a},e.fromRGBA=function(t){var o=t.r/255,n=t.g/255,i=t.b/255,r=t.a,s=Math.max(o,n,i),a=Math.min(o,n,i),l=0,u=0,c=(a+s)/2,h=s-a;if(h>0){switch(u=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case o:l=(n-i)/h+(n<i?6:0);break;case n:l=(i-o)/h+2;break;case i:l=(o-n)/h+4}l*=60,l=Math.round(l)}return new e(l,u,c,r)},e._hue2rgb=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e},e.toRGBA=function(t){var o,n,r,s=t.h/360,a=t.s,l=t.l,u=t.a;if(0===a)o=n=r=l;else{var c=l<.5?l*(1+a):l+a-l*a,h=2*l-c;o=e._hue2rgb(h,c,s+1/3),n=e._hue2rgb(h,c,s),r=e._hue2rgb(h,c,s-1/3)}return new i(Math.round(255*o),Math.round(255*n),Math.round(255*r),u)},e}(),s=function(){function e(e,t,o,i){this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.v=n(Math.max(Math.min(1,o),0),3),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a},e.fromRGBA=function(t){var o,n=t.r/255,i=t.g/255,r=t.b/255,s=Math.max(n,i,r),a=s-Math.min(n,i,r),l=0===s?0:a/s;return o=0===a?0:s===n?((i-r)/a%6+6)%6:s===i?(r-n)/a+2:(n-i)/a+4,new e(Math.round(60*o),l,s,t.a)},e.toRGBA=function(e){var t=e.h,o=e.s,n=e.v,r=e.a,s=n*o,a=s*(1-Math.abs(t/60%2-1)),l=n-s,u=[0,0,0],c=u[0],h=u[1],d=u[2];return t<60?(c=s,h=a):t<120?(c=a,h=s):t<180?(h=s,d=a):t<240?(h=a,d=s):t<300?(c=a,d=s):t<360&&(c=s,d=a),c=Math.round(255*(c+l)),h=Math.round(255*(h+l)),d=Math.round(255*(d+l)),new i(c,h,d,r)},e}(),a=function(){function e(e){if(!e)throw new Error("Color needs a value");if(e instanceof i)this.rgba=e;else if(e instanceof r)this._hsla=e,this.rgba=r.toRGBA(e);else{if(!(e instanceof s))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=s.toRGBA(e)}}return e.fromHex=function(t){return e.Format.CSS.parseHex(t)||e.red},Object.defineProperty(e.prototype,"hsla",{get:function(){return this._hsla?this._hsla:r.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hsva",{get:function(){return this._hsva?this._hsva:s.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),e.prototype.equals=function(e){return!!e&&i.equals(this.rgba,e.rgba)&&r.equals(this.hsla,e.hsla)&&s.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return n(.2126*e._relativeLuminanceForComponent(this.rgba.r)+.7152*e._relativeLuminanceForComponent(this.rgba.g)+.0722*e._relativeLuminanceForComponent(this.rgba.b),4)},e._relativeLuminanceForComponent=function(e){var t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)},e.prototype.isLighter=function(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128},e.prototype.isLighterThan=function(e){return this.getRelativeLuminance()>e.getRelativeLuminance()},e.prototype.isDarkerThan=function(e){return this.getRelativeLuminance()<e.getRelativeLuminance()},e.prototype.lighten=function(t){return new e(new r(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))},e.prototype.darken=function(t){return new e(new r(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))},e.prototype.transparent=function(t){var o=this.rgba,n=o.r,r=o.g,s=o.b,a=o.a;return new e(new i(n,r,s,a*t))},e.prototype.isTransparent=function(){return 0===this.rgba.a},e.prototype.isOpaque=function(){return 1===this.rgba.a},e.prototype.opposite=function(){return new e(new i(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))},e.prototype.toString=function(){return e.Format.CSS.format(this)},e.getLighterColor=function(e,t,o){if(e.isLighterThan(t))return e;o=o||.5;var n=e.getRelativeLuminance(),i=t.getRelativeLuminance();return o=o*(i-n)/i,e.lighten(o)},e.getDarkerColor=function(e,t,o){if(e.isDarkerThan(t))return e;o=o||.5;var n=e.getRelativeLuminance();return o=o*(n-t.getRelativeLuminance())/n,e.darken(o)},e.white=new e(new i(255,255,255,1)),e.black=new e(new i(0,0,0,1)),e.red=new e(new i(255,0,0,1)),e.blue=new e(new i(0,0,255,1)),e.cyan=new e(new i(0,255,255,1)),e.lightgrey=new e(new i(211,211,211,1)),e.transparent=new e(new i(0,0,0,0)),e}();!function(e){!function(t){!function(t){function o(e){var t=e.toString(16);return 2!==t.length?"0"+t:t}function n(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?"rgb("+t.rgba.r+", "+t.rgba.g+", "+t.rgba.b+")":e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return"rgba("+e.rgba.r+", "+e.rgba.g+", "+e.rgba.b+", "+ +e.rgba.a.toFixed(2)+")"},t.formatHSL=function(t){return 1===t.hsla.a?"hsl("+t.hsla.h+", "+(100*t.hsla.s).toFixed(2)+"%, "+(100*t.hsla.l).toFixed(2)+"%)":e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return"hsla("+e.hsla.h+", "+(100*e.hsla.s).toFixed(2)+"%, "+(100*e.hsla.l).toFixed(2)+"%, "+e.hsla.a.toFixed(2)+")"},t.formatHex=function(e){return"#"+o(e.rgba.r)+o(e.rgba.g)+o(e.rgba.b)},t.formatHexA=function(t,n){return void 0===n&&(n=!1),n&&1===t.rgba.a?e.Format.CSS.formatHex(t):"#"+o(t.rgba.r)+o(t.rgba.g)+o(t.rgba.b)+o(Math.round(255*t.rgba.a))},t.format=function(t){return t?t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t):null},t.parseHex=function(t){if(!t)return null;var o=t.length;if(0===o)return null;if(35!==t.charCodeAt(0))return null;if(7===o){var r=16*n(t.charCodeAt(1))+n(t.charCodeAt(2)),s=16*n(t.charCodeAt(3))+n(t.charCodeAt(4)),a=16*n(t.charCodeAt(5))+n(t.charCodeAt(6));return new e(new i(r,s,a,1))}if(9===o){r=16*n(t.charCodeAt(1))+n(t.charCodeAt(2)),s=16*n(t.charCodeAt(3))+n(t.charCodeAt(4)),a=16*n(t.charCodeAt(5))+n(t.charCodeAt(6));var l=16*n(t.charCodeAt(7))+n(t.charCodeAt(8));return new e(new i(r,s,a,l/255))}if(4===o){r=n(t.charCodeAt(1)),s=n(t.charCodeAt(2)),a=n(t.charCodeAt(3));return new e(new i(16*r+r,16*s+s,16*a+a))}if(5===o){r=n(t.charCodeAt(1)),s=n(t.charCodeAt(2)),a=n(t.charCodeAt(3)),l=n(t.charCodeAt(4));return new e(new i(16*r+r,16*s+s,16*a+a,(16*l+l)/255))}return null}}(t.CSS||(t.CSS={}))}(e.Format||(e.Format={}))}(a||(a={}))},function(e,t,o){"use strict";(function(e,n){o.d(t,"g",(function(){return p})),o.d(t,"d",(function(){return f})),o.d(t,"c",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"f",(function(){return y})),o.d(t,"b",(function(){return v})),o.d(t,"h",(function(){return E})),o.d(t,"a",(function(){return C}));var i,r=!1,s=!1,a=!1,l=!1,u=!1;if("object"==typeof e&&"function"==typeof e.nextTick&&"string"==typeof e.platform){r="win32"===e.platform,s="darwin"===e.platform,a="linux"===e.platform,"en","en";var c=e.env.VSCODE_NLS_CONFIG;if(c)try{var h=JSON.parse(c),d=h.availableLanguages["*"];h.locale,d||"en",h._translationsConfigFile}catch(e){}l=!0}else if("object"==typeof navigator){var g=navigator.userAgent;r=g.indexOf("Windows")>=0,s=g.indexOf("Macintosh")>=0,a=g.indexOf("Linux")>=0,u=!0,navigator.language}!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(i||(i={}));i.Web;l&&(s?i.Mac:r?i.Windows:a&&i.Linux);var p=r,f=s,m=a,_=l,y=u,v="object"==typeof self?self:"object"==typeof n?n:{},b=null;function E(t){return null===b&&(b=v.setImmediate?v.setImmediate.bind(v):void 0!==e&&"function"==typeof e.nextTick?e.nextTick.bind(e):v.setTimeout.bind(v)),b(t)}var C=s?2:r?1:3}).call(this,o(108),o(80))},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"d",(function(){return a}));var n,i,r,s=o(52);function a(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===s.a.ICodeEditor}!function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(n||(n={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(i||(i={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(r||(r={}))},function(e,t,o){"use strict";o.d(t,"n",(function(){return c})),o.d(t,"i",(function(){return h})),o.d(t,"h",(function(){return d})),o.d(t,"o",(function(){return g})),o.d(t,"e",(function(){return p})),o.d(t,"a",(function(){return f})),o.d(t,"d",(function(){return m})),o.d(t,"m",(function(){return _})),o.d(t,"g",(function(){return y})),o.d(t,"k",(function(){return v})),o.d(t,"j",(function(){return b})),o.d(t,"l",(function(){return E})),o.d(t,"f",(function(){return C})),o.d(t,"b",(function(){return S})),o.d(t,"c",(function(){return T}));var n,i=o(13),r=o(10),s=o(48),a=o(6),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e){return e&&"function"==typeof e.then}function c(e){return u(e)?e:r.b.as(e)}function h(e){var t=new s.b,o=e(t.token),n=new Promise((function(e,n){t.token.onCancellationRequested((function(){n(i.a())})),Promise.resolve(o).then((function(o){t.dispose(),e(o)}),(function(e){t.dispose(),n(e)}))}));return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return n.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e}())}function d(e){var t=new s.b;return new r.b((function(o,n,i){var s=e(t.token);s instanceof r.b?s.then((function(e){t.dispose(),o(e)}),(function(e){t.dispose(),n(e)}),i):u(s)?s.then((function(e){t.dispose(),o(e)}),(function(e){t.dispose(),n(e)})):(t.dispose(),o(s))}),(function(){t.cancel()}))}function g(e,t,o){var n=e.onCancellationRequested((function(){return t.cancel()}));return o&&(t=t.then(void 0,(function(e){if(!i.d(e))return r.b.wrapError(e)}))),y(t,(function(){return n.dispose()}))}var p=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var o=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new r.b((function(e,n,i){t.activePromise.then(o,o,i).done(e)}),(function(){t.activePromise.cancel()}))}return new r.b((function(e,o,n){t.queuedPromise.then(e,o,n)}),(function(){}))}return this.activePromise=e(),new r.b((function(e,o,n){t.activePromise.done((function(o){t.activePromise=null,e(o)}),(function(e){t.activePromise=null,o(e)}),n)}),(function(){t.activePromise.cancel()}))},e}(),f=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new r.b((function(e){o.onSuccess=e}),(function(){})).then((function(){o.completionPromise=null,o.onSuccess=null;var e=o.task;return o.task=null,e()}))),this.timeout=setTimeout((function(){o.timeout=null,o.onSuccess(null)}),t),this.completionPromise},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}(),m=function(e){function t(t){var o,n,r,s;return o=e.call(this,(function(e,t,o){n=e,r=t,s=o}),(function(){r(i.a())}))||this,t.then(n,r,s),o}return l(t,e),t}(r.b);function _(e){return h((function(t){return new Promise((function(o,n){var r=setTimeout(o,e);t.onCancellationRequested((function(e){clearTimeout(r),n(i.a())}))}))}))}function y(e,t){return o=e,r.b.is(o)&&"function"==typeof o.done?new r.b((function(o,n,r){e.done((function(e){try{t(e)}catch(e){i.e(e)}o(e)}),(function(e){try{t(e)}catch(e){i.e(e)}n(e)}),(function(e){r(e)}))}),(function(){e.cancel()})):(e.then((function(e){return t()}),(function(e){return t()})),e);var o}function v(e,t,o){void 0===t&&(t=function(e){return!!e}),void 0===o&&(o=null);var n=0,i=e.length,r=function(){return n>=i?Promise.resolve(o):(0,e[n++])().then((function(e){return t(e)?Promise.resolve(e):r()}))};return r()}function b(e,t,o){void 0===t&&(t=function(e){return!!e}),void 0===o&&(o=null);var n=0,i=e.length,s=function(){return n>=i?r.b.as(o):(0,e[n++])().then((function(e){return t(e)?r.b.as(e):s()}))};return s()}function E(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=setTimeout.apply(void 0,[e,t].concat(o));return{dispose:function(){clearTimeout(i)}}}var C=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return l(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){var o=this;this.cancel(),this._token=setTimeout((function(){o._token=-1,e()}),t)},t.prototype.setIfNotSet=function(e,t){var o=this;-1===this._token&&(this._token=setTimeout((function(){o._token=-1,e()}),t))},t}(a.a),S=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return l(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval((function(){e()}),t)},t}(a.a),T=function(){function e(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}return e.prototype.dispose=function(){this.cancel(),this.runner=null},e.prototype.cancel=function(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)},e.prototype.schedule=function(e){void 0===e&&(e=this.timeout),this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)},e.prototype.isScheduled=function(){return-1!==this.timeoutToken},e.prototype.onTimeout=function(){this.timeoutToken=-1,this.runner&&this.doRun()},e.prototype.doRun=function(){this.runner()},e}()},function(e,t,o){"use strict";var n,i,r,s;o.d(t,"f",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"d",(function(){return s})),o.d(t,"g",(function(){return l})),o.d(t,"e",(function(){return u})),o.d(t,"h",(function(){return a})),o.d(t,"a",(function(){return c})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(n||(n={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(i||(i={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(r||(r={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(s||(s={}));var a,l=function(){function e(e){this.tabSize=0|e.tabSize,this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace)}return e.prototype.equals=function(e){return this.tabSize===e.tabSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace},e.prototype.createChangeEvent=function(e){return{tabSize:this.tabSize!==e.tabSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}},e}(),u=function(e,t){this.range=e,this.matches=t};!function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(a||(a={}));var c=function(e,t,o){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=o}},function(e,t,o){"use strict";o.d(t,"c",(function(){return a})),o.d(t,"f",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"a",(function(){return d})),o.d(t,"e",(function(){return p}));var n=o(22),i=o(6),r=o(57),s=o(4),a=Object(n.c)("themeService");function l(e){return{id:e}}var u="dark",c="hc";function h(e){switch(e){case u:return"vs-dark";case c:return"hc-black";default:return"vs"}}var d={ThemingContribution:"base.contributions.theming"},g=new(function(){function e(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new s.a}return e.prototype.onThemeChange=function(e){var t=this;return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),Object(i.f)((function(){var o=t.themingParticipants.indexOf(e);t.themingParticipants.splice(o,1)}))},e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());function p(e){return g.onThemeChange(e)}r.a.add(d.ThemingContribution,g)},function(e,t,o){"use strict";o.d(t,"b",(function(){return c})),o.d(t,"f",(function(){return h})),o.d(t,"c",(function(){return d})),o.d(t,"d",(function(){return g})),o.d(t,"e",(function(){return p})),o.d(t,"a",(function(){return f}));var n=o(9),i=o(8),r=o(26),s=o(23),a=o(2),l=o(32),u=o(13),c=function(){function e(t,o,n,i){this._languageIdentifier=t;var r=i.editor;this.readOnly=r.readOnly,this.tabSize=n.tabSize,this.insertSpaces=n.insertSpaces,this.oneIndent=o,this.pageSize=Math.max(1,Math.floor(r.layoutInfo.height/r.fontInfo.lineHeight)-2),this.lineHeight=r.lineHeight,this.useTabStops=r.useTabStops,this.wordSeparators=r.wordSeparators,this.emptySelectionClipboard=r.emptySelectionClipboard,this.multiCursorMergeOverlapping=r.multiCursorMergeOverlapping,this.autoClosingBrackets=r.autoClosingBrackets,this.autoIndent=r.autoIndent,this.autoClosingPairsOpen={},this.autoClosingPairsClose={},this.surroundingPairs={},this._electricChars=null;var s=e._getAutoClosingPairs(t);if(s)for(var a=0;a<s.length;a++)this.autoClosingPairsOpen[s[a].open]=s[a].close,this.autoClosingPairsClose[s[a].close]=s[a].open;var l=e._getSurroundingPairs(t);if(l)for(a=0;a<l.length;a++)this.surroundingPairs[l[a].open]=l[a].close}return e.shouldRecreate=function(e){return e.layoutInfo||e.wordSeparators||e.emptySelectionClipboard||e.multiCursorMergeOverlapping||e.autoClosingBrackets||e.useTabStops||e.lineHeight||e.readOnly},Object.defineProperty(e.prototype,"electricChars",{get:function(){if(!this._electricChars){this._electricChars={};var t=e._getElectricCharacters(this._languageIdentifier);if(t)for(var o=0;o<t.length;o++)this._electricChars[t[o]]=!0}return this._electricChars},enumerable:!0,configurable:!0}),e.prototype.normalizeIndentation=function(e){return r.b.normalizeIndentation(e,this.tabSize,this.insertSpaces)},e._getElectricCharacters=function(e){try{return l.a.getElectricCharacters(e.id)}catch(e){return Object(u.e)(e),null}},e._getAutoClosingPairs=function(e){try{return l.a.getAutoClosingPairs(e.id)}catch(e){return Object(u.e)(e),null}},e._getSurroundingPairs=function(e){try{return l.a.getSurroundingPairs(e.id)}catch(e){return Object(u.e)(e),null}},e}(),h=function(){function e(t,o,n,i){this.selectionStart=t,this.selectionStartLeftoverVisibleColumns=o,this.position=n,this.leftoverVisibleColumns=i,this.selection=e._computeSelection(this.selectionStart,this.position)}return e.prototype.equals=function(e){return this.selectionStartLeftoverVisibleColumns===e.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===e.leftoverVisibleColumns&&this.position.equals(e.position)&&this.selectionStart.equalsRange(e.selectionStart)},e.prototype.hasSelection=function(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()},e.prototype.move=function(t,o,i,r){return t?new e(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new n.a(o,i),r):new e(new a.a(o,i,o,i),r,new n.a(o,i),r)},e._computeSelection=function(e,t){var o,n,i,r;return e.isEmpty()?(o=e.startLineNumber,n=e.startColumn,i=t.lineNumber,r=t.column):t.isBeforeOrEqual(e.getStartPosition())?(o=e.endLineNumber,n=e.endColumn,i=t.lineNumber,r=t.column):(o=e.startLineNumber,n=e.startColumn,i=t.lineNumber,r=t.column),new s.a(o,n,i,r)},e}(),d=function(){function e(e,t,o){this.model=t,this.viewModel=o,this.config=new c(this.model.getLanguageIdentifier(),this.model.getOneIndent(),this.model.getOptions(),e)}return e.prototype.validateViewPosition=function(e,t){return this.viewModel.coordinatesConverter.validateViewPosition(e,t)},e.prototype.validateViewRange=function(e,t){return this.viewModel.coordinatesConverter.validateViewRange(e,t)},e.prototype.convertViewRangeToModelRange=function(e){return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.convertViewPositionToModelPosition=function(e,t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new n.a(e,t))},e.prototype.convertModelPositionToViewPosition=function(e){return this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this.viewModel.coordinatesConverter.convertModelRangeToViewRange(e)},e.prototype.getCurrentScrollTop=function(){return this.viewModel.viewLayout.getCurrentScrollTop()},e.prototype.getCompletelyVisibleViewRange=function(){return this.viewModel.getCompletelyVisibleViewRange()},e.prototype.getCompletelyVisibleModelRange=function(){var e=this.viewModel.getCompletelyVisibleViewRange();return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){return this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(e)},e.prototype.getVerticalOffsetForViewLine=function(e){return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(e)},e}(),g=function(){function e(e,t){this.modelState=e,this.viewState=t}return e.fromModelState=function(t){return new e(t,null)},e.fromViewState=function(t){return new e(null,t)},e.fromModelSelection=function(t){var o=t.selectionStartLineNumber,i=t.selectionStartColumn,r=t.positionLineNumber,s=t.positionColumn,l=new h(new a.a(o,i,o,i),0,new n.a(r,s),0);return e.fromModelState(l)},e.fromModelSelections=function(e){for(var t=[],o=0,n=e.length;o<n;o++)t[o]=this.fromModelSelection(e[o]);return t},e.prototype.equals=function(e){return this.viewState.equals(e.viewState)&&this.modelState.equals(e.modelState)},e}(),p=function(e,t,o){this.type=e,this.commands=t,this.shouldPushStackElementBefore=o.shouldPushStackElementBefore,this.shouldPushStackElementAfter=o.shouldPushStackElementAfter},f=function(){function e(){}return e.isLowSurrogate=function(e,t,o){var n=e.getLineContent(t);return!(o<0||o>=n.length)&&i.isLowSurrogate(n.charCodeAt(o))},e.isHighSurrogate=function(e,t,o){var n=e.getLineContent(t);return!(o<0||o>=n.length)&&i.isHighSurrogate(n.charCodeAt(o))},e.isInsideSurrogatePair=function(e,t,o){return this.isHighSurrogate(e,t,o-2)},e.visibleColumnFromColumn=function(e,t,o){var n=e.length;n>t-1&&(n=t-1);for(var r=0,s=0;s<n;s++){var a=e.charCodeAt(s);9===a?r=this.nextTabStop(r,o):i.isFullWidthCharacter(a)?r+=2:r+=1}return r},e.visibleColumnFromColumn2=function(e,t,o){return this.visibleColumnFromColumn(t.getLineContent(o.lineNumber),o.column,e.tabSize)},e.columnFromVisibleColumn=function(e,t,o){if(t<=0)return 1;for(var n=e.length,r=0,s=0;s<n;s++){var a=e.charCodeAt(s),l=void 0;if((l=9===a?this.nextTabStop(r,o):i.isFullWidthCharacter(a)?r+2:r+1)>=t)return l-t<t-r?s+2:s+1;r=l}return n+1},e.columnFromVisibleColumn2=function(e,t,o,n){var i=this.columnFromVisibleColumn(t.getLineContent(o),n,e.tabSize),r=t.getLineMinColumn(o);if(i<r)return r;var s=t.getLineMaxColumn(o);return i>s?s:i},e.nextTabStop=function(e,t){return e+t-e%t},e.prevTabStop=function(e,t){return e-1-(e-1)%t},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"h",(function(){return r})),o.d(t,"g",(function(){return s})),o.d(t,"f",(function(){return a})),o.d(t,"c",(function(){return l})),o.d(t,"i",(function(){return u})),o.d(t,"j",(function(){return c})),o.d(t,"d",(function(){return d})),o.d(t,"e",(function(){return g})),o.d(t,"k",(function(){return p})),o.d(t,"a",(function(){return m}));var n={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function i(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==n.number||e.constructor!==Array)}function r(e){return typeof e===n.string||e instanceof String}function s(e){return!(typeof e!==n.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function a(e){return(typeof e===n.number||e instanceof Number)&&!isNaN(e)}function l(e){return!0===e||!1===e}function u(e){return typeof e===n.undefined}function c(e){return u(e)||null===e}var h=Object.prototype.hasOwnProperty;function d(e){if(!s(e))return!1;for(var t in e)if(h.call(e,t))return!1;return!0}function g(e){return typeof e===n.function}function p(e,t){for(var o=Math.min(e.length,t.length),n=0;n<o;n++)f(e[n],t[n])}function f(e,t){if(r(t)){if(typeof e!==t)throw new Error("argument does not match constraint: typeof "+t)}else if(g(t)){if(e instanceof t)return;if(!c(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function m(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=Object.create(e.prototype);return e.apply(n,t),n}},function(e,t,o){"use strict";var n;o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return s})),o.d(t,"d",(function(){return a})),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(n||(n={}));var i=s("instantiationService");function r(e,t,o,i){t[n.DI_TARGET]===t?t[n.DI_DEPENDENCIES].push({id:e,index:o,optional:i}):(t[n.DI_DEPENDENCIES]=[{id:e,index:o,optional:i}],t[n.DI_TARGET]=t)}function s(e){if(n.serviceIds.has(e))return n.serviceIds.get(e);var t=function(e,o,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");r(t,e,n,!1)};return t.toString=function(){return e},n.serviceIds.set(e,t),t}function a(e){return function(t,o,n){if(3!==arguments.length)throw new Error("@optional-decorator can only be used to decorate a parameter");r(e,t,n,!0)}}},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return l}));var n,i,r=o(2),s=o(9),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(i||(i={}));var l=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n,i)||this;return r.selectionStartLineNumber=t,r.selectionStartColumn=o,r.positionLineNumber=n,r.positionColumn=i,r}return a(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?i.LTR:i.RTL},t.prototype.setEndPosition=function(e,o){return this.getDirection()===i.LTR?new t(this.startLineNumber,this.startColumn,e,o):new t(e,o,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new s.a(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,o){return this.getDirection()===i.LTR?new t(e,o,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,o)},t.fromPositions=function(e,o){return void 0===o&&(o=e),new t(e.lineNumber,e.column,o.lineNumber,o.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var o=0,n=e.length;o<n;o++)if(!this.selectionsEqual(e[o],t[o]))return!1;return!0},t.isISelection=function(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn},t.createWithDirection=function(e,o,n,r,s){return s===i.LTR?new t(e,o,n,r):new t(n,r,e,o)},t}(r.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"p",(function(){return a})),o.d(t,"b",(function(){return l})),o.d(t,"a",(function(){return u})),o.d(t,"o",(function(){return c})),o.d(t,"k",(function(){return d})),o.d(t,"g",(function(){return g})),o.d(t,"h",(function(){return p})),o.d(t,"j",(function(){return f})),o.d(t,"n",(function(){return m})),o.d(t,"f",(function(){return _})),o.d(t,"m",(function(){return y})),o.d(t,"l",(function(){return v})),o.d(t,"i",(function(){return b})),o.d(t,"e",(function(){return E}));var n=o(4),i=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new n.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._accessibilitySupport=0,this._onDidChangeAccessibilitySupport=new n.a,this.onDidChangeAccessibilitySupport=this._onDidChangeAccessibilitySupport.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.getTimeSinceLastZoomLevelChanged=function(){return Date.now()-this._lastZoomLevelChangeTime},e.prototype.getPixelRatio=function(){var e=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)},e.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},e.INSTANCE=new e,e}();function r(){return i.INSTANCE.getZoomLevel()}function s(){return i.INSTANCE.getTimeSinceLastZoomLevelChanged()}function a(e){return i.INSTANCE.onDidChangeZoomLevel(e)}function l(){return i.INSTANCE.getPixelRatio()}function u(){return i.INSTANCE.getAccessibilitySupport()}function c(e){return i.INSTANCE.onDidChangeAccessibilitySupport(e)}var h=navigator.userAgent,d=h.indexOf("Trident")>=0,g=h.indexOf("Edge/")>=0,p=d||g,f=h.indexOf("Firefox")>=0,m=h.indexOf("AppleWebKit")>=0,_=h.indexOf("Chrome")>=0,y=-1===h.indexOf("Chrome")&&h.indexOf("Safari")>=0,v=h.indexOf("iPad")>=0,b=g&&h.indexOf("WebView/")>=0;function E(){if(d)return!1;if(g){var e=h.indexOf("Edge/"),t=parseInt(h.substring(e+5,h.indexOf(".",e)),10);if(!t||t>=12&&t<=16)return!1}return!0}},function(e,t,o){"use strict";function n(e,t){return void 0===t&&(t=0),e[e.length-(1+t)]}function i(e,t,o){if(void 0===o&&(o=function(e,t){return e===t}),e.length!==t.length)return!1;for(var n=0,i=e.length;n<i;n++)if(!o(e[n],t[n]))return!1;return!0}function r(e,t,o){for(var n=0,i=e.length-1;n<=i;){var r=(n+i)/2|0,s=o(e[r],t);if(s<0)n=r+1;else{if(!(s>0))return r;i=r-1}}return-(n+1)}function s(e,t){var o=0,n=e.length;if(0===n)return 0;for(;o<n;){var i=Math.floor((o+n)/2);t(e[i])?n=i:o=i+1}return o}function a(e,t){return function e(t,o,n,i,r){if(i<=n)return;var s=n+(i-n)/2|0;e(t,o,n,s,r);e(t,o,s+1,i,r);if(o(t[s],t[s+1])<=0)return;!function(e,t,o,n,i,r){for(var s=o,a=n+1,l=o;l<=i;l++)r[l]=e[l];for(l=o;l<=i;l++)s>n?e[l]=r[a++]:a>i?e[l]=r[s++]:t(r[a],r[s])<0?e[l]=r[a++]:e[l]=r[s++]}(t,o,n,s,i,r)}(e,t,0,e.length-1,[]),e}function l(e,t){for(var o,n=[],i=0,r=a(e.slice(0),t);i<r.length;i++){var s=r[i];o&&0===t(o[0],s)?o.push(s):(o=[s],n.push(o))}return n}function u(e,t){if(!e&&!t)return e;if(!t)return e.filter((function(e){return!!e}));for(var o=0,n=0;n<e.length;n++)e[n]&&(e[o]=e[n],o+=1);e.length=o}function c(e){return!Array.isArray(e)||0===e.length}function h(e,t){if(!t)return e.filter((function(t,o){return e.indexOf(t)===o}));var o=Object.create(null);return e.filter((function(e){var n=t(e);return!o[n]&&(o[n]=!0,!0)}))}function d(e,t){for(var o=0;o<e.length;o++){if(t(e[o]))return o}return-1}function g(e,t,o){void 0===o&&(o=null);var n=d(e,t);return n<0?o:e[n]}function p(e){return[].concat.apply([],e)}function f(e,t){var o="number"==typeof t?e:0;"number"==typeof t?o=e:(o=0,t=e);var n=[];if(o<=t)for(var i=o;i<t;i++)n.push(i);else for(i=o;i>t;i--)n.push(i);return n}function m(e,t,o){var n=e.slice(0,t),i=e.slice(t);return n.concat(o,i)}o.d(t,"n",(function(){return n})),o.d(t,"e",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"f",(function(){return s})),o.d(t,"l",(function(){return a})),o.d(t,"j",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"k",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"h",(function(){return d})),o.d(t,"g",(function(){return g})),o.d(t,"i",(function(){return p})),o.d(t,"m",(function(){return f})),o.d(t,"a",(function(){return m}))},function(e,t,o){"use strict";var n=o(33),i=o(4),r=o(18),s=o(11),a=o(13),l=function(){function e(e,t){this.beforeVersionId=e,this.beforeCursorState=t,this.afterCursorState=null,this.afterVersionId=-1,this.editOperations=[]}return e.prototype.undo=function(e){for(var t=this.editOperations.length-1;t>=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t<this.editOperations.length;t++)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e}();function u(e){return"\n"===e.getEOL()?r.d.LF:r.d.CRLF}var c=function(){function e(e,t){this.beforeVersionId=e,this.beforeCursorState=null,this.afterCursorState=null,this.afterVersionId=-1,this.eol=t}return e.prototype.undo=function(e){var t=u(e);e.setEOL(this.eol),this.eol=t},e.prototype.redo=function(e){var t=u(e);e.setEOL(this.eol),this.eol=t},e}(),h=function(){function e(e){this.model=e,this.currentOpenStackElement=null,this.past=[],this.future=[]}return e.prototype.pushStackElement=function(){null!==this.currentOpenStackElement&&(this.past.push(this.currentOpenStackElement),this.currentOpenStackElement=null)},e.prototype.clear=function(){this.currentOpenStackElement=null,this.past=[],this.future=[]},e.prototype.pushEOL=function(e){this.future=[],this.currentOpenStackElement&&this.pushStackElement();var t=u(this.model),o=new c(this.model.getAlternativeVersionId(),t);this.model.setEOL(e),o.afterVersionId=this.model.getVersionId(),this.currentOpenStackElement=o,this.pushStackElement()},e.prototype.pushEditOperation=function(t,o,n){this.future=[];var i=null;this.currentOpenStackElement&&(this.currentOpenStackElement instanceof l?i=this.currentOpenStackElement:this.pushStackElement()),this.currentOpenStackElement||(i=new l(this.model.getAlternativeVersionId(),t),this.currentOpenStackElement=i);var r={operations:this.model.applyEdits(o)};return i.editOperations.push(r),i.afterCursorState=e._computeCursorState(n,r.operations),i.afterVersionId=this.model.getVersionId(),i.afterCursorState},e._computeCursorState=function(e,t){try{return e?e(t):null}catch(e){return Object(a.e)(e),null}},e.prototype.undo=function(){if(this.pushStackElement(),this.past.length>0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(a.e)(e),this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.canUndo=function(){return this.past.length>0},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(a.e)(e),this.clear(),null}return this.past.push(e),{selections:e.afterCursorState,recordedVersionId:e.afterVersionId}}return null},e.prototype.canRedo=function(){return this.future.length>0},e}(),d=o(2),g=o(23),p=function(){this.changeType=1},f=function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t},m=function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t},_=function(e,t,o){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=o},y=function(){this.changeType=5},v=function(){function e(e,t,o,n){this.changes=e,this.versionId=t,this.isUndoing=o,this.isRedoing=n}return e.prototype.containsEvent=function(e){for(var t=0,o=this.changes.length;t<o;t++){if(this.changes[t].changeType===e)return!0}return!1},e.merge=function(t,o){return new e([].concat(t.changes).concat(o.changes),o.versionId,t.isUndoing||o.isUndoing,t.isRedoing||o.isRedoing)},e}(),b=function(){function e(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}return e.prototype.merge=function(t){var o=v.merge(this.rawContentChangedEvent,t.rawContentChangedEvent),n=e._mergeChangeEvents(this.contentChangedEvent,t.contentChangedEvent);return new e(o,n)},e._mergeChangeEvents=function(e,t){return{changes:[].concat(e.changes).concat(t.changes),eol:t.eol,versionId:t.versionId,isUndoing:e.isUndoing||t.isUndoing,isRedoing:e.isRedoing||t.isRedoing,isFlush:e.isFlush||t.isFlush}},e}(),E=o(8);function C(e){return(1&e.metadata)>>>0}function S(e,t){e.metadata=254&e.metadata|t<<0}function T(e){return(2&e.metadata)>>>1==1}function w(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function k(e){return(4&e.metadata)>>>2==1}function O(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function R(e){return(8&e.metadata)>>>3==1}function L(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function N(e,t){e.metadata=207&e.metadata|t<<4}var I=function(){function e(e,t,o){this.metadata=0,this.parent=null,this.left=null,this.right=null,S(this,1),this.start=t,this.end=o,this.delta=0,this.maxEnd=o,this.id=e,this.ownerId=0,this.options=null,O(this,!1),N(this,1),L(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=o,this.range=null,w(this,!1)}return e.prototype.reset=function(e,t,o,n){this.start=t,this.end=o,this.maxEnd=o,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=o,this.range=n},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;O(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),N(this,this.options.stickiness),L(this,!!this.options.overviewRuler.color)},e.prototype.setCachedOffsets=function(e,t,o){this.cachedVersionId!==o&&(this.range=null),this.cachedVersionId=o,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),D=new I(null,0,0);D.parent=D,D.left=D,D.right=D,S(D,0);var A=function(){function e(){this.root=D,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,o,n,i){return this.root===D?[]:function(e,t,o,n,i,r){var s=e.root,a=0,l=0,u=0,c=[],h=0;for(;s!==D;)if(T(s))w(s.left,!1),w(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!T(s.left)){if(a+s.maxEnd<t){w(s,!0);continue}if(s.left!==D){s=s.left;continue}}if((l=a+s.start)>o)w(s,!0);else{if((u=a+s.end)>=t){s.setCachedOffsets(l,u,r);var d=!0;n&&s.ownerId&&s.ownerId!==n&&(d=!1),i&&k(s)&&(d=!1),d&&(c[h++]=s)}w(s,!0),s.right===D||T(s.right)||(a+=s.delta,s=s.right)}}return w(e.root,!1),c}(this,e,t,o,n,i)},e.prototype.search=function(e,t,o){return this.root===D?[]:function(e,t,o,n){var i=e.root,r=0,s=0,a=0,l=[],u=0;for(;i!==D;)if(T(i))w(i.left,!1),w(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else if(i.left===D||T(i.left)){s=r+i.start,a=r+i.end,i.setCachedOffsets(s,a,n);var c=!0;t&&i.ownerId&&i.ownerId!==t&&(c=!1),o&&k(i)&&(c=!1),c&&(l[u++]=i),w(i,!0),i.right===D||T(i.right)||(r+=i.delta,i=i.right)}else i=i.left;return w(e.root,!1),l}(this,e,t,o)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var o=e.root,n=[],i=0;for(;o!==D;)T(o)?(w(o.left,!1),w(o.right,!1),o=o.parent):o.left===D||T(o.left)?(o.ownerId===t&&(n[i++]=o),w(o,!0),o.right===D||T(o.right)||(o=o.right)):o=o.left;return w(e.root,!1),n}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,o=[],n=0;for(;t!==D;)T(t)?(w(t.left,!1),w(t.right,!1),t=t.parent):t.left===D||T(t.left)?t.right===D||T(t.right)?(o[n++]=t,w(t,!0)):t=t.right:t=t.left;return w(e.root,!1),o}(this)},e.prototype.insert=function(e){M(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){B(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var o=e,n=0;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;var i=o.start+n,r=o.end+n;o.setCachedOffsets(i,r,t)},e.prototype.acceptReplace=function(e,t,o,n){for(var i=function(e,t,o){var n=e.root,i=0,r=0,s=0,a=[],l=0;for(;n!==D;)if(T(n))w(n.left,!1),w(n.right,!1),n===n.parent.right&&(i-=n.parent.delta),n=n.parent;else{if(!T(n.left)){if(i+n.maxEnd<t){w(n,!0);continue}if(n.left!==D){n=n.left;continue}}(r=i+n.start)>o?w(n,!0):((s=i+n.end)>=t&&(n.setCachedOffsets(r,s,0),a[l++]=n),w(n,!0),n.right===D||T(n.right)||(i+=n.delta,n=n.right))}return w(e.root,!1),a}(this,e,e+t),r=0,s=i.length;r<s;r++){B(this,a=i[r])}this._normalizeDeltaIfNecessary(),function(e,t,o,n){var i=e.root,r=0,s=n-(o-t);for(;i!==D;)if(T(i))w(i.left,!1),w(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),W(i),i=i.parent;else{if(!T(i.left)){if(r+i.maxEnd<t){w(i,!0);continue}if(i.left!==D){i=i.left;continue}}r+i.start>o?(i.start+=s,i.end+=s,i.delta+=s,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),w(i,!0)):(w(i,!0),i.right===D||T(i.right)||(r+=i.delta,i=i.right))}w(e.root,!1)}(this,e,e+t,o),this._normalizeDeltaIfNecessary();for(r=0,s=i.length;r<s;r++){var a;(a=i[r]).start=a.cachedAbsoluteStart,a.end=a.cachedAbsoluteEnd,x(a,e,e+t,o,n),a.maxEnd=a.end,M(this,a)}this._normalizeDeltaIfNecessary()},e.prototype._normalizeDeltaIfNecessary=function(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){var t=e.root,o=0;for(;t!==D;)t.left===D||T(t.left)?t.right===D||T(t.right)?(t.start=o+t.start,t.end=o+t.end,t.delta=0,W(t),w(t,!0),w(t.left,!1),w(t.right,!1),t===t.parent.right&&(o-=t.parent.delta),t=t.parent):(o+=t.delta,t=t.right):t=t.left;w(e.root,!1)}(this))},e}();function P(e,t,o,n){return e<o||!(e>o)&&(1!==n&&(2===n||t))}function x(e,t,o,n,i){var r=function(e){return(48&e.metadata)>>>4}(e),s=0===r||2===r,a=1===r||2===r,l=o-t,u=n,c=Math.min(l,u),h=e.start,d=!1,g=e.end,p=!1,f=i?1:l>0?2:0;if(!d&&P(h,s,t,f)&&(d=!0),!p&&P(g,a,t,f)&&(p=!0),c>0&&!i){f=l>u?2:0;!d&&P(h,s,t+c,f)&&(d=!0),!p&&P(g,a,t+c,f)&&(p=!0)}f=i?1:0;!d&&P(h,s,o,f)&&(e.start=t+u,d=!0),!p&&P(g,a,o,f)&&(e.end=t+u,p=!0);var m=u-l;d||(e.start=Math.max(0,h+m),d=!0),p||(e.end=Math.max(0,g+m),p=!0),e.start>e.end&&(e.end=e.start)}function M(e,t){if(e.root===D)return t.parent=D,t.left=D,t.right=D,S(t,0),e.root=t,e.root;!function(e,t){var o=0,n=e.root,i=t.start,r=t.end;for(;;){if(G(i,r,n.start+o,n.end+o)<0){if(n.left===D){t.start-=o,t.end-=o,t.maxEnd-=o,n.left=t;break}n=n.left}else{if(n.right===D){t.start-=o+n.delta,t.end-=o+n.delta,t.maxEnd-=o+n.delta,n.right=t;break}o+=n.delta,n=n.right}}t.parent=n,t.left=D,t.right=D,S(t,1)}(e,t),j(t.parent);for(var o=t;o!==e.root&&1===C(o.parent);){var n;if(o.parent===o.parent.parent.left)1===C(n=o.parent.parent.right)?(S(o.parent,0),S(n,0),S(o.parent.parent,1),o=o.parent.parent):(o===o.parent.right&&H(e,o=o.parent),S(o.parent,0),S(o.parent.parent,1),U(e,o.parent.parent));else 1===C(n=o.parent.parent.left)?(S(o.parent,0),S(n,0),S(o.parent.parent,1),o=o.parent.parent):(o===o.parent.left&&U(e,o=o.parent),S(o.parent,0),S(o.parent.parent,1),H(e,o.parent.parent))}return S(e.root,0),t}function B(e,t){var o,n;if(t.left===D?(n=t,(o=t.right).delta+=t.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),o.start+=t.delta,o.end+=t.delta):t.right===D?(o=t.left,n=t):((o=(n=function(e){for(;e.left!==D;)e=e.left;return e}(t.right)).right).start+=n.delta,o.end+=n.delta,o.delta+=n.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0)),n===e.root)return e.root=o,S(o,0),t.detach(),F(),W(o),void(e.root.parent=D);var i,r=1===C(n);if(n===n.parent.left?n.parent.left=o:n.parent.right=o,n===t?o.parent=n.parent:(n.parent===t?o.parent=n:o.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,S(n,C(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==D&&(n.left.parent=n),n.right!==D&&(n.right.parent=n)),t.detach(),r)return j(o.parent),n!==t&&(j(n),j(n.parent)),void F();for(j(o),j(o.parent),n!==t&&(j(n),j(n.parent));o!==e.root&&0===C(o);)o===o.parent.left?(1===C(i=o.parent.right)&&(S(i,0),S(o.parent,1),H(e,o.parent),i=o.parent.right),0===C(i.left)&&0===C(i.right)?(S(i,1),o=o.parent):(0===C(i.right)&&(S(i.left,0),S(i,1),U(e,i),i=o.parent.right),S(i,C(o.parent)),S(o.parent,0),S(i.right,0),H(e,o.parent),o=e.root)):(1===C(i=o.parent.left)&&(S(i,0),S(o.parent,1),U(e,o.parent),i=o.parent.left),0===C(i.left)&&0===C(i.right)?(S(i,1),o=o.parent):(0===C(i.left)&&(S(i.right,0),S(i,1),H(e,i),i=o.parent.left),S(i,C(o.parent)),S(o.parent,0),S(i.left,0),U(e,o.parent),o=e.root));S(o,0),F()}function F(){D.parent=D,D.delta=0,D.start=0,D.end=0}function H(e,t){var o=t.right;o.delta+=t.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),o.start+=t.delta,o.end+=t.delta,t.right=o.left,o.left!==D&&(o.left.parent=t),o.parent=t.parent,t.parent===D?e.root=o:t===t.parent.left?t.parent.left=o:t.parent.right=o,o.left=t,t.parent=o,W(t),W(o)}function U(e,t){var o=t.left;t.delta-=o.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=o.delta,t.end-=o.delta,t.left=o.right,o.right!==D&&(o.right.parent=t),o.parent=t.parent,t.parent===D?e.root=o:t===t.parent.right?t.parent.right=o:t.parent.left=o,o.right=t,t.parent=o,W(t),W(o)}function V(e){var t=e.end;if(e.left!==D){var o=e.left.maxEnd;o>t&&(t=o)}if(e.right!==D){var n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function W(e){e.maxEnd=V(e)}function j(e){for(;e!==D;){var t=V(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function G(e,t,o,n){return e===o?t-n:e-o}var z=o(6),K=o(15),Y=K.b.performance&&"function"==typeof K.b.performance.now,X=function(){function e(e){this._highResolution=Y&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?K.b.performance.now():(new Date).getTime()},e}(),q=o(69),$=o(86),J=o(106),Z=o(9),Q=o(32),ee=o(105),te=o(87),oe=o(25);function ne(e){return(16384|e<<0|2<<23)>>>0}var ie=new Uint32Array(0).buffer,re=function(){function e(e){this._state=e,this._lineTokens=null,this._invalid=!0}return e.prototype.deleteBeginning=function(e){null!==this._lineTokens&&this._lineTokens!==ie&&this.delete(0,e)},e.prototype.deleteEnding=function(e){if(null!==this._lineTokens&&this._lineTokens!==ie){var t=new Uint32Array(this._lineTokens),o=t[t.length-2];this.delete(e,o)}},e.prototype.delete=function(e,t){if(null!==this._lineTokens&&this._lineTokens!==ie&&e!==t){var o=new Uint32Array(this._lineTokens),n=o.length>>>1;if(0!==e||o[o.length-2]!==t){var i=te.a.findIndexInTokensArray(o,e),r=i>0?o[i-1<<1]:0;if(t<o[i<<1])for(var s=t-e,a=i;a<n;a++)o[a<<1]-=s;else{var l,u;r!==e?(o[i<<1]=e,l=i+1<<1,u=e):(l=i<<1,u=r);for(var c=t-e,h=i+1;h<n;h++){var d=o[h<<1]-c;d>u&&(o[l++]=d,o[l++]=o[1+(h<<1)],u=d)}if(l!==o.length){var g=new Uint32Array(l);g.set(o.subarray(0,l),0),this._lineTokens=g.buffer}}}else this._lineTokens=ie}},e.prototype.append=function(e){if(e!==ie)if(this._lineTokens!==ie){if(null!==this._lineTokens)if(null!==e){var t=new Uint32Array(this._lineTokens),o=new Uint32Array(e),n=o.length>>>1,i=new Uint32Array(t.length+o.length);i.set(t,0);for(var r=t.length,s=t[t.length-2],a=0;a<n;a++)i[r++]=o[a<<1]+s,i[r++]=o[1+(a<<1)];this._lineTokens=i.buffer}else this._lineTokens=null}else this._lineTokens=e},e.prototype.insert=function(e,t){if(this._lineTokens){var o=new Uint32Array(this._lineTokens),n=o.length>>>1,i=te.a.findIndexInTokensArray(o,e);if(i>0)(i>0?o[i-1<<1]:0)===e&&i--;for(var r=i;r<n;r++)o[r<<1]+=t}},e}(),se=function(){function e(e,t){if(this.languageIdentifier=e,this.tokenizationSupport=t,this._tokens=[],this.tokenizationSupport){var o=null;try{o=this.tokenizationSupport.getInitialState()}catch(e){Object(a.e)(e),this.tokenizationSupport=null}o&&(this._tokens[0]=new re(o))}this._invalidLineStartIndex=0,this._lastState=null}return Object.defineProperty(e.prototype,"inValidLineStartIndex",{get:function(){return this._invalidLineStartIndex},enumerable:!0,configurable:!0}),e.prototype.getTokens=function(e,t,o){var n=null;if(t<this._tokens.length&&this._tokens[t]&&(n=this._tokens[t]._lineTokens),null!==n&&n!==ie)return new te.a(new Uint32Array(n),o);var i=new Uint32Array(2);return i[0]=o.length,i[1]=ne(e),new te.a(i,o)},e.prototype.isCheapToTokenize=function(e){return this._invalidLineStartIndex+1>=e},e.prototype.hasLinesToTokenize=function(e){return this._invalidLineStartIndex<e.getLineCount()},e.prototype.invalidateLine=function(e){this._setIsInvalid(e,!0),e<this._invalidLineStartIndex&&(this._setIsInvalid(this._invalidLineStartIndex,!0),this._invalidLineStartIndex=e)},e.prototype._setIsInvalid=function(e,t){e<this._tokens.length&&this._tokens[e]&&(this._tokens[e]._invalid=t)},e.prototype._isInvalid=function(e){return!(e<this._tokens.length&&this._tokens[e])||this._tokens[e]._invalid},e.prototype._getState=function(e){return e<this._tokens.length&&this._tokens[e]?this._tokens[e]._state:null},e.prototype._setTokens=function(e,t,o,n){var i;t<this._tokens.length&&this._tokens[t]?i=this._tokens[t]:(i=new re(null),this._tokens[t]=i),0!==o?(n&&0!==n.length||((n=new Uint32Array(2))[0]=0,n[1]=ne(e)),te.a.convertToEndOffset(n,o),i._lineTokens=n.buffer):i._lineTokens=ie},e.prototype._setState=function(e,t){if(e<this._tokens.length&&this._tokens[e])this._tokens[e]._state=t;else{var o=new re(t);this._tokens[e]=o}},e.prototype.applyEdits=function(e,t,o){for(var n=e.endLineNumber-e.startLineNumber,i=t,r=Math.min(n,i);r>=0;r--)this.invalidateLine(e.startLineNumber+r-1);this._acceptDeleteRange(e),this._acceptInsertText(new Z.a(e.startLineNumber,e.startColumn),t,o)},e.prototype._acceptDeleteRange=function(e){var t=e.startLineNumber-1;if(!(t>=this._tokens.length))if(e.startLineNumber!==e.endLineNumber){var o=this._tokens[t];o.deleteEnding(e.startColumn-1);var n=e.endLineNumber-1,i=null;if(n<this._tokens.length){var r=this._tokens[n];r.deleteBeginning(e.endColumn-1),i=r._lineTokens}o.append(i),this._tokens.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber)}else{if(e.startColumn===e.endColumn)return;this._tokens[t].delete(e.startColumn-1,e.endColumn-1)}},e.prototype._acceptInsertText=function(e,t,o){if(0!==t||0!==o){var n=e.lineNumber-1;if(!(n>=this._tokens.length))if(0!==t){var i=this._tokens[n];i.deleteEnding(e.column-1),i.insert(e.column-1,o);for(var r=new Array(t),s=t-1;s>=0;s--)r[s]=new re(null);this._tokens=oe.a(this._tokens,e.lineNumber,r)}else this._tokens[n].insert(e.column-1,o)}},e.prototype._tokenizeOneLine=function(e,t){if(!this.hasLinesToTokenize(e))return e.getLineCount()+1;var o=this._invalidLineStartIndex+1;return this._updateTokensUntilLine(e,t,o),o},e.prototype._tokenizeText=function(e,t,o){var n=null;try{n=this.tokenizationSupport.tokenize2(t,o,0)}catch(e){Object(a.e)(e)}return n||(n=Object(q.e)(this.languageIdentifier.id,t,o,0)),n},e.prototype._updateTokensUntilLine=function(e,t,o){if(this.tokenizationSupport){for(var n=e.getLineCount(),i=o-1,r=this._invalidLineStartIndex;r<=i;r++){var s=r+1,l=null,u=e.getLineContent(r+1);try{var c=this._getState(r).clone();l=this.tokenizationSupport.tokenize2(u,c,0)}catch(e){Object(a.e)(e)}if(l||(l=Object(q.e)(this.languageIdentifier.id,u,this._getState(r),0)),this._setTokens(this.languageIdentifier.id,r,u.length,l.tokens),t.registerChangedTokens(r+1),this._setIsInvalid(r,!1),s<n)if(null!==this._getState(s)&&l.endState.equals(this._getState(s))){for(var h=r+1;h<n&&!this._isInvalid(h);){if(h+1<n){if(null===this._getState(h+1))break}else if(null===this._lastState)break;h++}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,h),r=h-1}else this._setState(s,l.endState);else this._lastState=l.endState}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,i+1)}else this._invalidLineStartIndex=e.getLineCount()},e}(),ae=function(){function e(){this._ranges=[]}return e.prototype.registerChangedTokens=function(e){var t=this._ranges,o=t.length,n=o>0?t[o-1]:null;n&&n.toLineNumber===e-1?n.toLineNumber++:t[o]={fromLineNumber:e,toLineNumber:e}},e.prototype.build=function(){return 0===this._ranges.length?null:{ranges:this._ranges}},e}();function le(e,t,o,n){var i;for(i=0;i<t&&i<n;i++){if(e.charCodeAt(i)!==o.charCodeAt(i))break}for(var r=0,s=0,a=i;a<t;a++){32===e.charCodeAt(a)?r++:s++}var l=0,u=0;for(a=i;a<n;a++){32===o.charCodeAt(a)?l++:u++}if(r>0&&s>0)return 0;if(l>0&&u>0)return 0;var c=Math.abs(s-u),h=Math.abs(r-l);return 0===c?h:h%c==0?h/c:0}function ue(e,t,o){for(var n=Math.min(e.getLineCount(),1e4),i=0,r=0,s="",a=0,l=[0,0,0,0,0,0,0,0,0],u=1;u<=n;u++){for(var c=e.getLineLength(u),h=e.getLineContent(u),d=c<=65536,g=!1,p=0,f=0,m=0,_=0,y=c;_<y;_++){var v=d?h.charCodeAt(_):e.getLineCharCode(u,_);if(9===v)m++;else{if(32!==v){g=!0,p=_;break}f++}}if(g){m>0?i++:f>1&&r++;var b=le(s,a,h,p);b<=8&&l[b]++,s=h,a=p}}var E=o;i!==r&&(E=i<r);var C=t,S=E?0:.1*n;return[2,4,6,8].forEach((function(e){var t=l[e];t>S&&(S=t,C=e)})),{insertSpaces:E,tabSize:C}}var ce=o(27),he=o(77),de=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=null,this.left=null,this.right=null}return e.prototype.next=function(){if(this.right!==ge)return pe(this.right);for(var e=this;e.parent!==ge&&e.parent.left!==e;)e=e.parent;return e.parent===ge?ge:e.parent},e.prototype.prev=function(){if(this.left!==ge)return fe(this.left);for(var e=this;e.parent!==ge&&e.parent.right!==e;)e=e.parent;return e.parent===ge?ge:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),ge=new de(null,0);function pe(e){for(;e.left!==ge;)e=e.left;return e}function fe(e){for(;e.right!==ge;)e=e.right;return e}function me(e){return e===ge?0:e.size_left+e.piece.length+me(e.right)}function _e(e){return e===ge?0:e.lf_left+e.piece.lineFeedCnt+_e(e.right)}function ye(){ge.parent=ge}function ve(e,t){var o=t.right;o.size_left+=t.size_left+(t.piece?t.piece.length:0),o.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=o.left,o.left!==ge&&(o.left.parent=t),o.parent=t.parent,t.parent===ge?e.root=o:t.parent.left===t?t.parent.left=o:t.parent.right=o,o.left=t,t.parent=o}function be(e,t){var o=t.left;t.left=o.right,o.right!==ge&&(o.right.parent=t),o.parent=t.parent,t.size_left-=o.size_left+(o.piece?o.piece.length:0),t.lf_left-=o.lf_left+(o.piece?o.piece.lineFeedCnt:0),t.parent===ge?e.root=o:t===t.parent.right?t.parent.right=o:t.parent.left=o,o.right=t,t.parent=o}function Ee(e,t){var o,n;if(o=t.left===ge?(n=t).right:t.right===ge?(n=t).left:(n=pe(t.right)).right,n===e.root)return e.root=o,o.color=0,t.detach(),ye(),void(e.root.parent=ge);var i=1===n.color;if(n===n.parent.left?n.parent.left=o:n.parent.right=o,n===t?(o.parent=n.parent,Te(e,o)):(n.parent===t?o.parent=n:o.parent=n.parent,Te(e,o),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ge&&(n.left.parent=n),n.right!==ge&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,Te(e,n)),t.detach(),o.parent.left===o){var r=me(o),s=_e(o);if(r!==o.parent.size_left||s!==o.parent.lf_left){var a=r-o.parent.size_left,l=s-o.parent.lf_left;o.parent.size_left=r,o.parent.lf_left=s,Se(e,o.parent,a,l)}}if(Te(e,o.parent),i)ye();else{for(var u;o!==e.root&&0===o.color;)o===o.parent.left?(1===(u=o.parent.right).color&&(u.color=0,o.parent.color=1,ve(e,o.parent),u=o.parent.right),0===u.left.color&&0===u.right.color?(u.color=1,o=o.parent):(0===u.right.color&&(u.left.color=0,u.color=1,be(e,u),u=o.parent.right),u.color=o.parent.color,o.parent.color=0,u.right.color=0,ve(e,o.parent),o=e.root)):(1===(u=o.parent.left).color&&(u.color=0,o.parent.color=1,be(e,o.parent),u=o.parent.left),0===u.left.color&&0===u.right.color?(u.color=1,o=o.parent):(0===u.left.color&&(u.right.color=0,u.color=1,ve(e,u),u=o.parent.left),u.color=o.parent.color,o.parent.color=0,u.left.color=0,be(e,o.parent),o=e.root));o.color=0,ye()}}function Ce(e,t){for(Te(e,t);t!==e.root&&1===t.parent.color;){var o;if(t.parent===t.parent.parent.left)1===(o=t.parent.parent.right).color?(t.parent.color=0,o.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&ve(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,be(e,t.parent.parent));else 1===(o=t.parent.parent.left).color?(t.parent.color=0,o.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&be(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,ve(e,t.parent.parent))}e.root.color=0}function Se(e,t,o,n){for(;t!==e.root&&t!==ge;)t.parent.left===t&&(t.parent.size_left+=o,t.parent.lf_left+=n),t=t.parent}function Te(e,t){var o=0,n=0;if(t!==e.root){if(0===o){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;o=me((t=t.parent).left)-t.size_left,n=_e(t.left)-t.lf_left,t.size_left+=o,t.lf_left+=n}for(;t!==e.root&&(0!==o||0!==n);)t.parent.left===t&&(t.parent.size_left+=o,t.parent.lf_left+=n),t=t.parent}}ge.parent=ge,ge.left=ge,ge.right=ge,ge.color=0;function we(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var ke=function(e,t,o,n,i){this.lineStarts=e,this.cr=t,this.lf=o,this.crlf=n,this.isBasicASCII=i};function Oe(e,t){void 0===t&&(t=!0);for(var o=[0],n=1,i=0,r=e.length;i<r;i++){var s=e.charCodeAt(i);13===s?i+1<r&&10===e.charCodeAt(i+1)?(o[n++]=i+2,i++):o[n++]=i+1:10===s&&(o[n++]=i+1)}return t?we(o):o}var Re=function(e,t,o,n,i){this.bufferIndex=e,this.start=t,this.end=o,this.lineFeedCnt=n,this.length=i},Le=function(e,t){this.buffer=e,this.lineStarts=t},Ne=function(){function e(e){this._limit=e,this._cache=[]}return e.prototype.get=function(e){for(var t=this._cache.length-1;t>=0;t--){var o=this._cache[t];if(o.nodeStartOffset<=e&&o.nodeStartOffset+o.node.piece.length>=e)return o}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var o=this._cache[t];if(o.nodeStartLineNumber&&o.nodeStartLineNumber<e&&o.nodeStartLineNumber+o.node.piece.lineFeedCnt>=e)return o}return null},e.prototype.set=function(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)},e.prototype.valdiate=function(e){for(var t=!1,o=0;o<this._cache.length;o++){var n=this._cache[o];(null===n.node.parent||n.nodeStartOffset>=e)&&(this._cache[o]=null,t=!0)}if(t){var i=[];for(o=0;o<this._cache.length;o++)null!==this._cache[o]&&i.push(this._cache[o]);this._cache=i}},e}(),Ie=function(){function e(e,t,o){this.create(e,t,o)}return e.prototype.create=function(e,t,o){this._buffers=[new Le("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=ge,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=o;for(var n=null,i=0,r=e.length;i<r;i++)if(e[i].buffer.length>0){e[i].lineStarts||(e[i].lineStarts=Oe(e[i].buffer));var s=new Re(i+1,{line:0,column:0},{line:e[i].lineStarts.length-1,column:e[i].buffer.length-e[i].lineStarts[e[i].lineStarts.length-1]},e[i].lineStarts.length-1,e[i].buffer.length);this._buffers.push(e[i]),n=this.rbInsertRight(n,s)}this._searchCache=new Ne(1),this._lastVisitedLine={lineNumber:0,value:null},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,o=65535-Math.floor(21845),n=2*o,i="",r=0,s=[];if(this.iterate(this.root,(function(a){var l=t.getNodeContent(a),u=l.length;if(r<=o||r+u<n)return i+=l,r+=u,!0;var c=i.replace(/\r\n|\r|\n/g,e);return s.push(new Le(c,Oe(c))),i=l,r=u,!0})),r>0){var a=i.replace(/\r\n|\r|\n/g,e);s.push(new Le(a,Oe(a)))}this.create(s,e,!0)},e.prototype.getEOL=function(){return this._EOL},e.prototype.setEOL=function(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)},e.prototype.getOffsetAt=function(e,t){for(var o=0,n=this.root;n!==ge;)if(n.left!==ge&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e)return(o+=n.size_left)+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1);e-=n.lf_left+n.piece.lineFeedCnt,o+=n.size_left+n.piece.length,n=n.right}return o},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,o=0,n=e;t!==ge;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var i=this.getIndexOf(t,e-t.size_left);if(o+=t.lf_left+i.index,0===i.index){var r=n-this.getOffsetAt(o+1,1);return new Z.a(o+1,r+1)}return new Z.a(o+1,i.remainder+1)}if(e-=t.size_left+t.piece.length,o+=t.lf_left+t.piece.lineFeedCnt,t.right===ge){r=n-e-this.getOffsetAt(o+1,1);return new Z.a(o+1,r+1)}t=t.right}return new Z.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var o=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),i=this.getValueInRange2(o,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?i:i.replace(/\r\n|\r|\n/g,t):i},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var o=e.node,n=this._buffers[o.piece.bufferIndex].buffer,i=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return n.substring(i+e.remainder,i+t.remainder)}var r=e.node,s=this._buffers[r.piece.bufferIndex].buffer,a=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start),l=s.substring(a+e.remainder,a+r.piece.length);for(r=r.next();r!==ge;){var u=this._buffers[r.piece.bufferIndex].buffer,c=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===t.node){l+=u.substring(c,c+t.remainder);break}l+=u.substr(c,r.piece.length),r=r.next()}return l},e.prototype.getLinesContent=function(){return this.getContentOfSubTree(this.root).split(/\r\n|\r|\n/)},e.prototype.getLength=function(){return this._length},e.prototype.getLineCount=function(){return this._lineCnt},e.prototype.getLineContent=function(e){return this._lastVisitedLine.lineNumber===e?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)},e.prototype.getLineCharCode=function(e,t){var o=this.nodeAt2(e,t+1);if(o.remainder===o.node.piece.length){var n=o.node.next();if(!n)return 0;var i=this._buffers[n.piece.bufferIndex],r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.buffer.charCodeAt(r)}i=this._buffers[o.node.piece.bufferIndex];var s=(r=this.offsetInBuffer(o.node.piece.bufferIndex,o.node.piece.start))+o.remainder;return i.buffer.charCodeAt(s)},e.prototype.getLineLength=function(e){if(e===this.getLineCount()){var t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength},e.prototype.findMatchesInNode=function(e,t,o,n,i,r,s,a,l,u,c){var h,g=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),f=this.offsetInBuffer(e.piece.bufferIndex,i),m=this.offsetInBuffer(e.piece.bufferIndex,r);t.reset(f);var _={line:0,column:0};do{if(h=t.next(g.buffer)){if(h.index>=m)return u;this.positionInBuffer(e,h.index-p,_);var y=this.getLineFeedCnt(e.piece.bufferIndex,i,_),v=_.line===i.line?_.column-i.column+n:_.column+1,b=v+h[0].length;if(c[u++]=Object(he.d)(new d.a(o+y,v,o+y,b),h,a),h.index+h[0].length>=m)return u;if(u>=l)return u}}while(h);return u},e.prototype.findMatchesLineByLine=function(e,t,o,n){var i=[],r=0,s=new he.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];var u=this.positionInBuffer(a.node,a.remainder),c=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,u,c,t,o,n,r,i),i;for(var h=e.startLineNumber,d=a.node;d!==l.node;){var g=this.getLineFeedCnt(d.piece.bufferIndex,u,d.piece.end);if(g>=1){var p=this._buffers[d.piece.bufferIndex].lineStarts,f=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),m=p[u.line+g],_=h===e.startLineNumber?e.startColumn:1;if((r=this.findMatchesInNode(d,s,h,_,u,this.positionInBuffer(d,m-f),t,o,n,r,i))>=n)return i;h+=g}var y=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){var v=this.getLineContent(h).substring(y,e.endColumn-1);return r=this._findMatchesInLine(t,s,v,e.endLineNumber,y,r,i,o,n),i}if((r=this._findMatchesInLine(t,s,this.getLineContent(h).substr(y),h,y,r,i,o,n))>=n)return i;h++,d=(a=this.nodeAt2(h,1)).node,u=this.positionInBuffer(a.node,a.remainder)}if(h===e.endLineNumber){var b=h===e.startLineNumber?e.startColumn-1:0;v=this.getLineContent(h).substring(b,e.endColumn-1);return r=this._findMatchesInLine(t,s,v,e.endLineNumber,b,r,i,o,n),i}var E=h===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(l.node,s,h,E,u,c,t,o,n,r,i),i},e.prototype._findMatchesInLine=function(e,t,o,n,i,s,a,l,u){var c,h=e.wordSeparators;if(!l&&e.simpleSearch){for(var g=e.simpleSearch,p=g.length,f=o.length,m=-p;-1!==(m=o.indexOf(g,m+p));)if((!h||Object(he.e)(h,o,f,m,p))&&(a[s++]=new r.e(new d.a(n,m+1+i,n,m+1+p+i),null),s>=u))return s;return s}t.reset(0);do{if((c=t.next(o))&&(a[s++]=Object(he.d)(new d.a(n,c.index+1+i,n,c.index+1+c[0].length+i),c,l),s>=u))return s}while(c);return s},e.prototype.insert=function(e,t,o){if(void 0===o&&(o=!1),this._EOLNormalized=this._EOLNormalized&&o,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,this.root!==ge){var n=this.nodeAt(e),i=n.node,r=n.remainder,s=n.nodeStartOffset,a=i.piece,l=a.bufferIndex,u=this.positionInBuffer(i,r);if(0===i.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(i,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,i),this._searchCache.valdiate(e);else if(s+i.piece.length>e){var c=[],h=new Re(a.bufferIndex,u,a.end,this.getLineFeedCnt(a.bufferIndex,u,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,u));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(i,r)){var d={line:h.start.line+1,column:0};h=new Re(h.bufferIndex,d,h.end,this.getLineFeedCnt(h.bufferIndex,d,h.end),h.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(i,r-1)){var g=this.positionInBuffer(i,r-1);this.deleteNodeTail(i,g),t="\r"+t,0===i.piece.length&&c.push(i)}else this.deleteNodeTail(i,u);else this.deleteNodeTail(i,u);var p=this.createNewPieces(t);h.length>0&&this.rbInsertRight(i,h);for(var f=i,m=0;m<p.length;m++)f=this.rbInsertRight(f,p[m]);this.deleteNodes(c)}else this.insertContentToNodeRight(t,i)}else{var _=this.createNewPieces(t);for(i=this.rbInsertLeft(null,_[0]),m=1;m<_.length;m++)i=this.rbInsertRight(i,_[m])}this.computeBufferMetadata()},e.prototype.delete=function(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,!(t<=0||this.root===ge)){var o=this.nodeAt(e),n=this.nodeAt(e+t),i=o.node,r=n.node;if(i===r){var s=this.positionInBuffer(i,o.remainder),a=this.positionInBuffer(i,n.remainder);if(o.nodeStartOffset===e){if(t===i.piece.length){var l=i.next();return Ee(this,i),this.validateCRLFWithPrevNode(l),void this.computeBufferMetadata()}return this.deleteNodeHead(i,a),this._searchCache.valdiate(e),this.validateCRLFWithPrevNode(i),void this.computeBufferMetadata()}return o.nodeStartOffset+i.piece.length===e+t?(this.deleteNodeTail(i,s),this.validateCRLFWithNextNode(i),void this.computeBufferMetadata()):(this.shrinkNode(i,s,a),void this.computeBufferMetadata())}var u=[],c=this.positionInBuffer(i,o.remainder);this.deleteNodeTail(i,c),this._searchCache.valdiate(e),0===i.piece.length&&u.push(i);var h=this.positionInBuffer(r,n.remainder);this.deleteNodeHead(r,h),0===r.piece.length&&u.push(r);for(var d=i.next();d!==ge&&d!==r;d=d.next())u.push(d);var g=0===i.piece.length?i.prev():i;this.deleteNodes(u),this.validateCRLFWithNextNode(g),this.computeBufferMetadata()}},e.prototype.insertContentToNodeLeft=function(e,t){var o=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){var n=t.piece,i={line:n.start.line+1,column:0},r=new Re(n.bufferIndex,i,n.end,this.getLineFeedCnt(n.bufferIndex,i,n.end),n.length-1);t.piece=r,e+="\n",Se(this,t,-1,-1),0===t.piece.length&&o.push(t)}for(var s=this.createNewPieces(e),a=this.rbInsertLeft(t,s[s.length-1]),l=s.length-2;l>=0;l--)a=this.rbInsertLeft(a,s[l]);this.validateCRLFWithPrevNode(a),this.deleteNodes(o)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var o=this.createNewPieces(e),n=this.rbInsertRight(t,o[0]),i=n,r=1;r<o.length;r++)i=this.rbInsertRight(i,o[r]);this.validateCRLFWithPrevNode(n)},e.prototype.positionInBuffer=function(e,t,o){for(var n,i,r,s=e.piece,a=e.piece.bufferIndex,l=this._buffers[a].lineStarts,u=l[s.start.line]+s.start.column+t,c=s.start.line,h=s.end.line;c<=h&&(r=l[n=c+(h-c)/2|0],n!==h);)if(i=l[n+1],u<r)h=n-1;else{if(!(u>=i))break;c=n+1}return o?(o.line=n,o.column=u-r,null):{line:n,column:u-r}},e.prototype.getLineFeedCnt=function(e,t,o){if(0===o.column)return o.line-t.line;var n=this._buffers[e].lineStarts;if(o.line===n.length-1)return o.line-t.line;var i=n[o.line+1],r=n[o.line]+o.column;if(i>r+1)return o.line-t.line;var s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?o.line-t.line+1:o.line-t.line},e.prototype.offsetInBuffer=function(e,t){return this._buffers[e].lineStarts[t.line]+t.column},e.prototype.deleteNodes=function(e){for(var t=0;t<e.length;t++)Ee(this,e[t])},e.prototype.createNewPieces=function(e){if(e.length>65535){for(var t=[];e.length>65535;){var o=e.charCodeAt(65534),n=void 0;13===o||o>=55296&&o<=56319?(n=e.substring(0,65534),e=e.substring(65534)):(n=e.substring(0,65535),e=e.substring(65535));var i=Oe(n);t.push(new Re(this._buffers.length,{line:0,column:0},{line:i.length-1,column:n.length-i[i.length-1]},i.length-1,n.length)),this._buffers.push(new Le(n,i))}var r=Oe(e);return t.push(new Re(this._buffers.length,{line:0,column:0},{line:r.length-1,column:e.length-r[r.length-1]},r.length-1,e.length)),this._buffers.push(new Le(e,r)),t}var s=this._buffers[0].buffer.length,a=Oe(e,!1),l=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===s&&0!==s&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},l=this._lastChangeBufferPos;for(var u=0;u<a.length;u++)a[u]+=s+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+="_"+e,s+=1}else{if(0!==s)for(u=0;u<a.length;u++)a[u]+=s;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+=e}var c=this._buffers[0].buffer.length,h=this._buffers[0].lineStarts.length-1,d={line:h,column:c-this._buffers[0].lineStarts[h]},g=new Re(0,l,d,this.getLineFeedCnt(0,l,d),c-s);return this._lastChangeBufferPos=d,[g]},e.prototype.getLineRawContent=function(e,t){void 0===t&&(t=0);var o=this.root,n="",i=this._searchCache.get2(e);if(i){o=i.node;var r=this.getAccumulatedValue(o,e-i.nodeStartLineNumber-1),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);if(i.nodeStartLineNumber+o.piece.lineFeedCnt!==e){var l=this.getAccumulatedValue(o,e-i.nodeStartLineNumber);return s.substring(a+r,a+l-t)}n=s.substring(a+r,a+o.piece.length)}else for(var u=0,c=e;o!==ge;)if(o.left!==ge&&o.lf_left>=e-1)o=o.left;else{if(o.lf_left+o.piece.lineFeedCnt>e-1){r=this.getAccumulatedValue(o,e-o.lf_left-2),l=this.getAccumulatedValue(o,e-o.lf_left-1),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return u+=o.size_left,this._searchCache.set({node:o,nodeStartOffset:u,nodeStartLineNumber:c-(e-1-o.lf_left)}),s.substring(a+r,a+l-t)}if(o.lf_left+o.piece.lineFeedCnt===e-1){r=this.getAccumulatedValue(o,e-o.lf_left-2),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);n=s.substring(a+r,a+o.piece.length);break}e-=o.lf_left+o.piece.lineFeedCnt,u+=o.size_left+o.piece.length,o=o.right}for(o=o.next();o!==ge;){s=this._buffers[o.piece.bufferIndex].buffer;if(o.piece.lineFeedCnt>0){l=this.getAccumulatedValue(o,0),a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return n+=s.substring(a,a+l-t)}a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);n+=s.substr(a,o.piece.length),o=o.next()}return n},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,o=0;e!==ge;)t+=e.lf_left+e.piece.lineFeedCnt,o+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=o,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var o=e.piece,n=this.positionInBuffer(e,t),i=n.line-o.start.line;if(this.offsetInBuffer(o.bufferIndex,o.end)-this.offsetInBuffer(o.bufferIndex,o.start)===t){var r=this.getLineFeedCnt(e.piece.bufferIndex,o.start,n);if(r!==i)return{index:r,remainder:0}}return{index:i,remainder:n.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var o=e.piece,n=this._buffers[o.bufferIndex].lineStarts,i=o.start.line+t+1;return i>o.end.line?n[o.end.line]+o.end.column-n[o.start.line]-o.start.column:n[i]-n[o.start.line]-o.start.column},e.prototype.deleteNodeTail=function(e,t){var o=e.piece,n=o.lineFeedCnt,i=this.offsetInBuffer(o.bufferIndex,o.end),r=t,s=this.offsetInBuffer(o.bufferIndex,r),a=this.getLineFeedCnt(o.bufferIndex,o.start,r),l=a-n,u=s-i,c=o.length+u;e.piece=new Re(o.bufferIndex,o.start,r,a,c),Se(this,e,u,l)},e.prototype.deleteNodeHead=function(e,t){var o=e.piece,n=o.lineFeedCnt,i=this.offsetInBuffer(o.bufferIndex,o.start),r=t,s=this.getLineFeedCnt(o.bufferIndex,r,o.end),a=s-n,l=i-this.offsetInBuffer(o.bufferIndex,r),u=o.length+l;e.piece=new Re(o.bufferIndex,r,o.end,s,u),Se(this,e,l,a)},e.prototype.shrinkNode=function(e,t,o){var n=e.piece,i=n.start,r=n.end,s=n.length,a=n.lineFeedCnt,l=t,u=this.getLineFeedCnt(n.bufferIndex,n.start,l),c=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,i);e.piece=new Re(n.bufferIndex,n.start,l,u,c),Se(this,e,c-s,u-a);var h=new Re(n.bufferIndex,o,r,this.getLineFeedCnt(n.bufferIndex,o,r),this.offsetInBuffer(n.bufferIndex,r)-this.offsetInBuffer(n.bufferIndex,o)),d=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(d)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var o=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var i=Oe(t,!1),r=0;r<i.length;r++)i[r]+=n;if(o){var s=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:n-s}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1));var a=this._buffers[0].lineStarts.length-1,l={line:a,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[a]},u=e.piece.length+t.length,c=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,l),d=h-c;e.piece=new Re(e.piece.bufferIndex,e.piece.start,l,h,u),this._lastChangeBufferPos=l,Se(this,e,t.length,d)},e.prototype.nodeAt=function(e){var t=this.root,o=this._searchCache.get(e);if(o)return{node:o.node,nodeStartOffset:o.nodeStartOffset,remainder:e-o.nodeStartOffset};for(var n=0;t!==ge;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){n+=t.size_left;var i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var o=this.root,n=0;o!==ge;)if(o.left!==ge&&o.lf_left>=e-1)o=o.left;else{if(o.lf_left+o.piece.lineFeedCnt>e-1){var i=this.getAccumulatedValue(o,e-o.lf_left-2),r=this.getAccumulatedValue(o,e-o.lf_left-1);return n+=o.size_left,{node:o,remainder:Math.min(i+t-1,r),nodeStartOffset:n}}if(o.lf_left+o.piece.lineFeedCnt===e-1){if((i=this.getAccumulatedValue(o,e-o.lf_left-2))+t-1<=o.piece.length)return{node:o,remainder:i+t-1,nodeStartOffset:n};t-=o.piece.length-i;break}e-=o.lf_left+o.piece.lineFeedCnt,n+=o.size_left+o.piece.length,o=o.right}for(o=o.next();o!==ge;){if(o.piece.lineFeedCnt>0){r=this.getAccumulatedValue(o,0);var s=this.offsetOfNode(o);return{node:o,remainder:Math.min(t-1,r),nodeStartOffset:s}}if(o.piece.length>=t-1)return{node:o,remainder:t-1,nodeStartOffset:this.offsetOfNode(o)};t-=o.piece.length,o=o.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var o=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return o.buffer.charCodeAt(n)},e.prototype.offsetOfNode=function(e){if(!e)return 0;for(var t=e.size_left;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t},e.prototype.shouldCheckCRLF=function(){return!(this._EOLNormalized&&"\n"===this._EOL)},e.prototype.startWithLF=function(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===ge||0===e.piece.lineFeedCnt)return!1;var t=e.piece,o=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,i=o[n]+t.start.column;return n!==o.length-1&&(!(o[n+1]>i+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(i))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==ge&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)},e.prototype.validateCRLFWithPrevNode=function(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){var t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}},e.prototype.validateCRLFWithNextNode=function(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}},e.prototype.fixCRLF=function(e,t){var o,n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;o=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var r=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new Re(e.piece.bufferIndex,e.piece.start,o,s,r),Se(this,e,-1,-1),0===e.piece.length&&n.push(e);var a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,u=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new Re(t.piece.bufferIndex,a,t.piece.end,u,l),Se(this,t,-1,-1),0===t.piece.length&&n.push(t);var c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(var h=0;h<n.length;h++)Ee(this,n[h])},e.prototype.adjustCarriageReturnFromNext=function(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var o=t.next();if(this.startWithLF(o)){if(e+="\n",1===o.piece.length)Ee(this,o);else{var n=o.piece,i={line:n.start.line+1,column:0},r=n.length-1,s=this.getLineFeedCnt(n.bufferIndex,i,n.end);o.piece=new Re(n.bufferIndex,i,n.end,s,r),Se(this,o,-1,-1)}return!0}}return!1},e.prototype.iterate=function(e,t){if(e===ge)return t(ge);var o=this.iterate(e.left,t);return o?t(e)&&this.iterate(e.right,t):o},e.prototype.getNodeContent=function(e){if(e===ge)return"";var t=this._buffers[e.piece.bufferIndex],o=e.piece,n=this.offsetInBuffer(o.bufferIndex,o.start),i=this.offsetInBuffer(o.bufferIndex,o.end);return t.buffer.substring(n,i)},e.prototype.rbInsertRight=function(e,t){var o=new de(t,1);if(o.left=ge,o.right=ge,o.parent=ge,o.size_left=0,o.lf_left=0,this.root===ge)this.root=o,o.color=0;else if(e.right===ge)e.right=o,o.parent=e;else{var n=pe(e.right);n.left=o,o.parent=n}return Ce(this,o),o},e.prototype.rbInsertLeft=function(e,t){var o=new de(t,1);if(o.left=ge,o.right=ge,o.parent=ge,o.size_left=0,o.lf_left=0,this.root===ge)this.root=o,o.color=0;else if(e.left===ge)e.left=o,o.parent=e;else{var n=fe(e.left);n.right=o,o.parent=n}return Ce(this,o),o},e.prototype.getContentOfSubTree=function(e){var t=this,o="";return this.iterate(e,(function(e){return o+=t.getNodeContent(e),!0})),o},e}(),De=function(){function e(e,t,o,n,i,r){this._BOM=t,this._mightContainNonBasicASCII=!i,this._mightContainRTL=n,this._pieceTree=new Ie(e,o,r)}return e.prototype.mightContainRTL=function(){return this._mightContainRTL},e.prototype.mightContainNonBasicASCII=function(){return this._mightContainNonBasicASCII},e.prototype.getBOM=function(){return this._BOM},e.prototype.getEOL=function(){return this._pieceTree.getEOL()},e.prototype.getOffsetAt=function(e,t){return this._pieceTree.getOffsetAt(e,t)},e.prototype.getPositionAt=function(e){return this._pieceTree.getPositionAt(e)},e.prototype.getRangeAt=function(e,t){var o=e+t,n=this.getPositionAt(e),i=this.getPositionAt(o);return new d.a(n.lineNumber,n.column,i.lineNumber,i.column)},e.prototype.getValueInRange=function(e,t){if(void 0===t&&(t=r.c.TextDefined),e.isEmpty())return"";var o=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,o)},e.prototype.getValueLengthInRange=function(e,t){if(void 0===t&&(t=r.c.TextDefined),e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;var o=this.getOffsetAt(e.startLineNumber,e.startColumn);return this.getOffsetAt(e.endLineNumber,e.endColumn)-o},e.prototype.getLength=function(){return this._pieceTree.getLength()},e.prototype.getLineCount=function(){return this._pieceTree.getLineCount()},e.prototype.getLinesContent=function(){return this._pieceTree.getLinesContent()},e.prototype.getLineContent=function(e){return this._pieceTree.getLineContent(e)},e.prototype.getLineCharCode=function(e,t){return this._pieceTree.getLineCharCode(e,t)},e.prototype.getLineLength=function(e){return this._pieceTree.getLineLength(e)},e.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=E.firstNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+1},e.prototype.getLineLastNonWhitespaceColumn=function(e){var t=E.lastNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+2},e.prototype._getEndOfLine=function(e){switch(e){case r.c.LF:return"\n";case r.c.CRLF:return"\r\n";case r.c.TextDefined:return this.getEOL()}throw new Error("Unknown EOL preference")},e.prototype.setEOL=function(e){this._pieceTree.setEOL(e)},e.prototype.applyEdits=function(t,o){for(var n=this._mightContainRTL,i=this._mightContainNonBasicASCII,s=!0,a=[],l=0;l<t.length;l++){var u=t[l];s&&u._isTracked&&(s=!1);var c=u.range;!n&&u.text&&(n=E.containsRTL(u.text)),!i&&u.text&&(i=!E.isBasicASCII(u.text)),a[l]={sortIndex:l,identifier:u.identifier,range:c,rangeOffset:this.getOffsetAt(c.startLineNumber,c.startColumn),rangeLength:this.getValueLengthInRange(c),lines:u.text?u.text.split(/\r\n|\r|\n/):null,forceMoveMarkers:u.forceMoveMarkers,isAutoWhitespaceEdit:u.isAutoWhitespaceEdit||!1}}a.sort(e._sortOpsAscending);for(var h=!1,d=(l=0,a.length-1);l<d;l++){var g=a[l].range.getEndPosition(),p=a[l+1].range.getStartPosition();if(p.isBeforeOrEqual(g)){if(p.isBefore(g))throw new Error("Overlapping ranges are not allowed!");h=!0}}s&&(a=this._reduceOperations(a));var f=e._getInverseEditRanges(a),m=[];for(l=0;l<a.length;l++){u=a[l];var _=f[l];if(o&&u.isAutoWhitespaceEdit&&u.range.isEmpty())for(var y=_.startLineNumber;y<=_.endLineNumber;y++){var v="";y===_.startLineNumber&&(v=this.getLineContent(u.range.startLineNumber),-1!==E.firstNonWhitespaceIndex(v))||m.push({lineNumber:y,oldContent:v})}}var b=[];for(l=0;l<a.length;l++){u=a[l],_=f[l];b[l]={sortIndex:u.sortIndex,identifier:u.identifier,range:_,text:this.getValueInRange(u.range),forceMoveMarkers:u.forceMoveMarkers}}h||b.sort((function(e,t){return e.sortIndex-t.sortIndex})),this._mightContainRTL=n,this._mightContainNonBasicASCII=i;var C=this._doApplyEdits(a),S=null;if(o&&m.length>0){m.sort((function(e,t){return t.lineNumber-e.lineNumber})),S=[];l=0;for(var T=m.length;l<T;l++){y=m[l].lineNumber;if(!(l>0&&m[l-1].lineNumber===y)){var w=m[l].oldContent,k=this.getLineContent(y);0!==k.length&&k!==w&&-1===E.firstNonWhitespaceIndex(k)&&S.push(y)}}}return new r.a(b,C,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,o=e[0].range,n=e[e.length-1].range,i=new d.a(o.startLineNumber,o.startColumn,n.endLineNumber,n.endColumn),s=o.startLineNumber,a=o.startColumn,l=[],u=0,c=e.length;u<c;u++){var h=e[u],g=h.range;t=t||h.forceMoveMarkers;for(var p=s;p<g.startLineNumber;p++)p===s?l.push(this.getLineContent(p).substring(a-1)):(l.push("\n"),l.push(this.getLineContent(p)));if(g.startLineNumber===s?l.push(this.getLineContent(g.startLineNumber).substring(a-1,g.startColumn-1)):(l.push("\n"),l.push(this.getLineContent(g.startLineNumber).substring(0,g.startColumn-1))),h.lines)for(var f=0,m=h.lines.length;f<m;f++)0!==f&&l.push("\n"),l.push(h.lines[f]);s=h.range.endLineNumber,a=h.range.endColumn}return{sortIndex:0,identifier:e[0].identifier,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i,r.c.TextDefined),lines:l.join("").split("\n"),forceMoveMarkers:t,isAutoWhitespaceEdit:!1}},e.prototype._doApplyEdits=function(t){t.sort(e._sortOpsDescending);for(var o=[],n=0;n<t.length;n++){var i=t[n],r=i.range.startLineNumber,s=i.range.startColumn,a=i.range.endLineNumber,l=i.range.endColumn;if(r!==a||s!==l||i.lines&&0!==i.lines.length){var u=a-r,c=i.lines?i.lines.length-1:0,h=Math.min(u,c),g=i.lines?i.lines.join(this.getEOL()):"";if(g?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,g,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength),h<c){for(var p=[],f=h+1;f<=c;f++)p.push(i.lines[f]);p[p.length-1]=this.getLineContent(r+c-1)}var m=new d.a(r,s,a,l);o.push({range:m,rangeLength:i.rangeLength,text:g,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}}return o},e.prototype.findMatchesLineByLine=function(e,t,o,n){return this._pieceTree.findMatchesLineByLine(e,t,o,n)},e._getInverseEditRanges=function(e){for(var t,o,n=[],i=null,r=0,s=e.length;r<s;r++){var a=e[r],l=void 0,u=void 0;i?i.range.endLineNumber===a.range.startLineNumber?(l=t,u=o+(a.range.startColumn-i.range.endColumn)):(l=t+(a.range.startLineNumber-i.range.endLineNumber),u=a.range.startColumn):(l=a.range.startLineNumber,u=a.range.startColumn);var c=void 0;if(a.lines&&a.lines.length>0){var h=a.lines.length,g=a.lines[0],p=a.lines[h-1];c=1===h?new d.a(l,u,l,u+g.length):new d.a(l,u,l+h-1,p.length+1)}else c=new d.a(l,u,l,u);t=c.endLineNumber,o=c.endColumn,n.push(c),i=a}return n},e._sortOpsAscending=function(e,t){var o=d.a.compareRangesUsingEnds(e.range,t.range);return 0===o?e.sortIndex-t.sortIndex:o},e._sortOpsDescending=function(e,t){var o=d.a.compareRangesUsingEnds(e.range,t.range);return 0===o?t.sortIndex-e.sortIndex:-o},e}(),Ae=function(){function e(e,t,o,n,i,r,s,a){this._chunks=e,this._bom=t,this._cr=o,this._lf=n,this._crlf=i,this._containsRTL=r,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,o=this._cr+this._crlf;return 0===t?e===r.b.LF?"\n":"\r\n":o>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),o=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var n=0,i=o.length;n<i;n++){var r=o[n].buffer.replace(/\r\n|\r|\n/g,t),s=Oe(r);o[n]=new Le(r,s)}return new De(o,this._bom,t,this._containsRTL,this._isBasicASCII,this._normalizeEOL)},e}(),Pe=function(){function e(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.isBasicASCII=!0}return e.prototype.acceptChunk=function(e){if(0!==e.length){0===this.chunks.length&&E.startsWithUTF8BOM(e)&&(this.BOM=E.UTF8_BOM_CHARACTER,e=e.substr(1));var t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}},e.prototype._acceptChunk1=function(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))},e.prototype._acceptChunk2=function(e){var t=function(e,t){e.length=0,e[0]=0;for(var o=1,n=0,i=0,r=0,s=!0,a=0,l=t.length;a<l;a++){var u=t.charCodeAt(a);13===u?a+1<l&&10===t.charCodeAt(a+1)?(r++,e[o++]=a+2,a++):(n++,e[o++]=a+1):10===u?(i++,e[o++]=a+1):s&&9!==u&&(u<32||u>126)&&(s=!1)}var c=new ke(we(e),n,i,r,s);return e.length=0,c}(this._tmpLineStarts,e);this.chunks.push(new Le(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,this.isBasicASCII&&(this.isBasicASCII=t.isBasicASCII),this.isBasicASCII||this.containsRTL||(this.containsRTL=E.containsRTL(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new Ae(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.isBasicASCII,e)},e.prototype._finish=function(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;var e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);var t=Oe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}();o.d(t,"b",(function(){return Ue})),o.d(t,"a",(function(){return Ge}));var xe,Me=(xe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}xe(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function Be(e){var t=new Pe;return t.acceptChunk(e),t.finish()}function Fe(e,t){return("string"==typeof e?Be(e):e).create(t)}var He=0;var Ue=function(e){function t(o,a,l,u){void 0===u&&(u=null);var c=e.call(this)||this;c._onWillDispose=c._register(new i.a),c.onWillDispose=c._onWillDispose.event,c._onDidChangeDecorations=c._register(new Ye),c.onDidChangeDecorations=c._onDidChangeDecorations.event,c._onDidChangeLanguage=c._register(new i.a),c.onDidChangeLanguage=c._onDidChangeLanguage.event,c._onDidChangeLanguageConfiguration=c._register(new i.a),c.onDidChangeLanguageConfiguration=c._onDidChangeLanguageConfiguration.event,c._onDidChangeTokens=c._register(new i.a),c.onDidChangeTokens=c._onDidChangeTokens.event,c._onDidChangeOptions=c._register(new i.a),c.onDidChangeOptions=c._onDidChangeOptions.event,c._eventEmitter=c._register(new Xe),He++,c.id="$model"+He,c.isForSimpleWidget=a.isForSimpleWidget,c._associatedResource=null==u?n.a.parse("inmemory://model/"+He):u,c._attachedEditorCount=0,c._buffer=Fe(o,a.defaultEOL),c._options=t.resolveOptions(c._buffer,a);var g,p=c._buffer.getLineCount(),f=c._buffer.getValueLengthInRange(new d.a(1,1,p,c._buffer.getLineLength(p)+1),r.c.TextDefined);return a.largeFileOptimizations?c._isTooLargeForTokenization=f>t.LARGE_FILE_SIZE_THRESHOLD||p>t.LARGE_FILE_LINE_COUNT_THRESHOLD:c._isTooLargeForTokenization=!1,c._isTooLargeForSyncing=f>t.MODEL_SYNC_LIMIT,c._setVersionId(1),c._isDisposed=!1,c._isDisposing=!1,c._languageIdentifier=l||q.a,c._tokenizationListener=s.y.onDidChange((function(e){-1!==e.changedLanguages.indexOf(c._languageIdentifier.language)&&(c._resetTokenizationState(),c.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:c.getLineCount()}]}),c._shouldAutoTokenize()&&c._warmUpTokens())})),c._revalidateTokensTimeout=-1,c._languageRegistryListener=Q.a.onDidChange((function(e){e.languageIdentifier.id===c._languageIdentifier.id&&c._onDidChangeLanguageConfiguration.fire({})})),c._resetTokenizationState(),c._instanceId=(g=He,(g%=52)<26?String.fromCharCode(97+g):String.fromCharCode(65+g-26)),c._lastDecorationId=0,c._decorations=Object.create(null),c._decorationsTree=new Ve,c._commandManager=new h(c),c._isUndoing=!1,c._isRedoing=!1,c._trimAutoWhitespaceLines=null,c}return Me(t,e),t.createFromString=function(e,o,n,i){return void 0===o&&(o=t.DEFAULT_CREATION_OPTIONS),void 0===n&&(n=null),void 0===i&&(i=null),new t(e,o,n,i)},t.resolveOptions=function(e,t){if(t.detectIndentation){var o=ue(e,t.tabSize,t.insertSpaces);return new r.g({tabSize:o.tabSize,insertSpaces:o.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new r.g({tabSize:t.tabSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})},t.prototype.onDidChangeRawContentFast=function(e){return this._eventEmitter.fastEvent((function(t){return e(t.rawContentChangedEvent)}))},t.prototype.onDidChangeRawContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.rawContentChangedEvent)}))},t.prototype.onDidChangeContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.contentChangedEvent)}))},t.prototype.dispose=function(){this._isDisposing=!0,this._onWillDispose.fire(),this._commandManager=null,this._decorations=null,this._decorationsTree=null,this._tokenizationListener.dispose(),this._languageRegistryListener.dispose(),this._clearTimers(),this._tokens=null,this._isDisposed=!0,this._buffer=null,e.prototype.dispose.call(this),this._isDisposing=!1},t.prototype._assertNotDisposed=function(){if(this._isDisposed)throw new Error("Model is disposed!")},t.prototype._emitContentChangedEvent=function(e,t){this._isDisposing||this._eventEmitter.fire(new b(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=Fe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,o,n,i,r,s){return{changes:[{range:e,rangeOffset:t,rangeLength:o,text:n}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:i,isRedoing:r,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),o=this.getValueLengthInRange(t),n=this.getLineCount(),i=this.getLineMaxColumn(n);this._buffer=e,this._increaseVersionId(),this._resetTokenizationState(),this._decorations=Object.create(null),this._decorationsTree=new Ve,this._commandManager=new h(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new v([new p],this._versionId,!1,!1),this._createContentChanged2(new d.a(1,1,n,i),0,o,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=e===r.d.CRLF?"\r\n":"\n";if(this._buffer.getEOL()!==t){var o=this.getFullModelRange(),n=this.getValueLengthInRange(o),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new v([new y],this._versionId,!1,!1),this._createContentChanged2(new d.a(1,1,i,s),0,n,this.getValue(),!1,!1,!1))}},t.prototype._onBeforeEOLChange=function(){var e=this.getVersionId(),t=this._decorationsTree.search(0,!1,!1,e);this._ensureNodesHaveRanges(t)},t.prototype._onAfterEOLChange=function(){for(var e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder(),o=0,n=t.length;o<n;o++){var i=t[o],r=i.cachedAbsoluteStart-i.start,s=this._buffer.getOffsetAt(i.range.startLineNumber,i.range.startColumn),a=this._buffer.getOffsetAt(i.range.endLineNumber,i.range.endColumn);i.cachedAbsoluteStart=s,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=s-r,i.end=a-r,W(i)}},t.prototype._resetTokenizationState=function(){this._clearTimers();var e=this._isTooLargeForTokenization?null:s.y.get(this._languageIdentifier.language);this._tokens=new se(this._languageIdentifier,e),this._beginBackgroundTokenization()},t.prototype._clearTimers=function(){-1!==this._revalidateTokensTimeout&&(clearTimeout(this._revalidateTokensTimeout),this._revalidateTokensTimeout=-1)},t.prototype.onBeforeAttached=function(){this._attachedEditorCount++,this._warmUpTokens()},t.prototype.onBeforeDetached=function(){this._attachedEditorCount--},t.prototype._shouldAutoTokenize=function(){return this.isAttachedToEditor()},t.prototype.isAttachedToEditor=function(){return this._attachedEditorCount>0},t.prototype.getAttachedEditorCount=function(){return this._attachedEditorCount},t.prototype.isTooLargeForSyncing=function(){return this._isTooLargeForSyncing},t.prototype.isTooLargeForTokenization=function(){return this._isTooLargeForTokenization},t.prototype.isDisposed=function(){return this._isDisposed},t.prototype.isDominatedByLongLines=function(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;for(var e=0,t=0,o=this._buffer.getLineCount(),n=1;n<=o;n++){var i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e},Object.defineProperty(t.prototype,"uri",{get:function(){return this._associatedResource},enumerable:!0,configurable:!0}),t.prototype.getOptions=function(){return this._assertNotDisposed(),this._options},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,o=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,n=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,i=new r.g({tabSize:t,insertSpaces:o,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:n});if(!this._options.equals(i)){var s=this._options.createChangeEvent(i);this._options=i,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var o=ue(this._buffer,t,e);this.updateOptions({insertSpaces:o.insertSpaces,tabSize:o.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,o){for(var n=0,i=0;i<e.length;i++)"\t"===e.charAt(i)?n+=t:n++;var r="";if(!o){var s=Math.floor(n/t);n%=t;for(i=0;i<s;i++)r+="\t"}for(i=0;i<n;i++)r+=" ";return r},t.normalizeIndentation=function(e,o,n){var i=E.firstNonWhitespaceIndex(e);return-1===i&&(i=e.length),t._normalizeIndentationFromWhitespace(e.substring(0,i),o,n)+e.substring(i)},t.prototype.normalizeIndentation=function(e){return this._assertNotDisposed(),t.normalizeIndentation(e,this._options.tabSize,this._options.insertSpaces)},t.prototype.getOneIndent=function(){this._assertNotDisposed();var e=this._options.tabSize;if(this._options.insertSpaces){for(var t="",o=0;o<e;o++)t+=" ";return t}return"\t"},t.prototype.getVersionId=function(){return this._assertNotDisposed(),this._versionId},t.prototype.mightContainRTL=function(){return this._buffer.mightContainRTL()},t.prototype.mightContainNonBasicASCII=function(){return this._buffer.mightContainNonBasicASCII()},t.prototype.getAlternativeVersionId=function(){return this._assertNotDisposed(),this._alternativeVersionId},t.prototype.getOffsetAt=function(e){this._assertNotDisposed();var t=this._validatePosition(e.lineNumber,e.column,!1);return this._buffer.getOffsetAt(t.lineNumber,t.column)},t.prototype.getPositionAt=function(e){this._assertNotDisposed();var t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)},t.prototype._increaseVersionId=function(){this._setVersionId(this._versionId+1)},t.prototype._setVersionId=function(e){this._versionId=e,this._alternativeVersionId=this._versionId},t.prototype._overwriteAlternativeVersionId=function(e){this._alternativeVersionId=e},t.prototype.getValue=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var o=this.getFullModelRange(),n=this.getValueInRange(o,e);return t?this._buffer.getBOM()+n:n},t.prototype.getValueLength=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var o=this.getFullModelRange(),n=this.getValueLengthInRange(o,e);return t?this._buffer.getBOM().length+n:n},t.prototype.getValueInRange=function(e,t){return void 0===t&&(t=r.c.TextDefined),this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)},t.prototype.getValueLengthInRange=function(e,t){return void 0===t&&(t=r.c.TextDefined),this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)},t.prototype.getLineCount=function(){return this._assertNotDisposed(),this._buffer.getLineCount()},t.prototype.getLineContent=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(e)},t.prototype.getLineLength=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)},t.prototype.getLinesContent=function(){return this._assertNotDisposed(),this._buffer.getLinesContent()},t.prototype.getEOL=function(){return this._assertNotDisposed(),this._buffer.getEOL()},t.prototype.getLineMinColumn=function(e){return this._assertNotDisposed(),1},t.prototype.getLineMaxColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1},t.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)},t.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)},t.prototype._validateRangeRelaxedNoAllocations=function(e){var t,o,n=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;if(i<1)t=1,o=1;else if(i>n)t=n,o=this.getLineMaxColumn(t);else{if(t=0|i,r<=1)o=1;else o=r>=(c=this.getLineMaxColumn(t))?c:0|r}var s,a,l=e.endLineNumber,u=e.endColumn;if(l<1)s=1,a=1;else if(l>n)s=n,a=this.getLineMaxColumn(s);else{var c;if(s=0|l,u<=1)a=1;else a=u>=(c=this.getLineMaxColumn(s))?c:0|u}return i===t&&r===o&&l===s&&u===a&&e instanceof d.a&&!(e instanceof g.a)?e:new d.a(t,o,s,a)},t.prototype._isValidPosition=function(e,t,o){if(isNaN(e))return!1;if(e<1)return!1;if(e>this._buffer.getLineCount())return!1;if(isNaN(t))return!1;if(t<1)return!1;if(t>this.getLineMaxColumn(e))return!1;if(o&&t>1){var n=this._buffer.getLineCharCode(e,t-2);if(E.isHighSurrogate(n))return!1}return!0},t.prototype._validatePosition=function(e,t,o){var n=Math.floor("number"!=typeof e||isNaN(e)?1:e),i=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(n<1)return new Z.a(1,1);if(n>r)return new Z.a(r,this.getLineMaxColumn(r));if(i<=1)return new Z.a(n,1);var s=this.getLineMaxColumn(n);if(i>=s)return new Z.a(n,s);if(o){var a=this._buffer.getLineCharCode(n,i-2);if(E.isHighSurrogate(a))return new Z.a(n,i-1)}return new Z.a(n,i)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof Z.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var o=e.startLineNumber,n=e.startColumn,i=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(o,n,!1))return!1;if(!this._isValidPosition(i,r,!1))return!1;if(t){var s=n>1?this._buffer.getLineCharCode(o,n-2):0,a=r>1&&r<=this._buffer.getLineLength(i)?this._buffer.getLineCharCode(i,r-2):0,l=E.isHighSurrogate(s),u=E.isHighSurrogate(a);return!l&&!u}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof d.a&&!(e instanceof g.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),o=this._validatePosition(e.endLineNumber,e.endColumn,!1),n=t.lineNumber,i=t.column,r=o.lineNumber,s=o.column,a=i>1?this._buffer.getLineCharCode(n,i-2):0,l=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,u=E.isHighSurrogate(a),c=E.isHighSurrogate(l);return u||c?n===r&&i===s?new d.a(n,i-1,r,s-1):u&&c?new d.a(n,i-1,r,s+1):u?new d.a(n,i-1,r,s):new d.a(n,i,r,s+1):new d.a(n,i,r,s)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var o=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,o)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new d.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,o,n){return this._buffer.findMatchesLineByLine(e,t,o,n)},t.prototype.findMatches=function(e,t,o,n,i,r,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=d.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!o&&e.indexOf("\n")<0){var l=new he.a(e,o,n,i).parseSearchRequest();return l?this.findMatchesLineByLine(a,l,r,s):[]}return he.c.findMatches(this,new he.a(e,o,n,i),a,r,s)},t.prototype.findNextMatch=function(e,t,o,n,i,r){this._assertNotDisposed();var s=this.validatePosition(t);if(!o&&e.indexOf("\n")<0){var a=new he.a(e,o,n,i).parseSearchRequest(),l=this.getLineCount(),u=new d.a(s.lineNumber,s.column,l,this.getLineMaxColumn(l)),c=this.findMatchesLineByLine(u,a,r,1);return he.c.findNextMatch(this,new he.a(e,o,n,i),s,r),c.length>0?c[0]:(u=new d.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(c=this.findMatchesLineByLine(u,a,r,1)).length>0?c[0]:null)}return he.c.findNextMatch(this,new he.a(e,o,n,i),s,r)},t.prototype.findPreviousMatch=function(e,t,o,n,i,r){this._assertNotDisposed();var s=this.validatePosition(t);return he.c.findPreviousMatch(this,new he.a(e,o,n,i),s,r)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?r.d.LF:r.d.CRLF)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.pushEditOperations=function(e,t,o){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,o)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,o){var n=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var i=t.map((function(e){return{range:n.validateRange(e.range),text:e.text}})),r=!0,s=0,a=e.length;s<a;s++){for(var l=e[s],u=!1,c=0,h=i.length;c<h;c++){var g=(y=i[c].range).startLineNumber>l.endLineNumber,p=l.startLineNumber>y.endLineNumber;if(!g&&!p){u=!0;break}}if(!u){r=!1;break}}if(r)for(s=0,a=this._trimAutoWhitespaceLines.length;s<a;s++){var f=this._trimAutoWhitespaceLines[s],m=this.getLineMaxColumn(f),_=!0;for(c=0,h=i.length;c<h;c++){var y=i[c].range,v=i[c].text;if(!(f<y.startLineNumber||f>y.endLineNumber)&&!(f===y.startLineNumber&&y.startColumn===m&&y.isEmpty()&&v&&v.length>0&&"\n"===v.charAt(0)||f===y.startLineNumber&&1===y.startColumn&&y.isEmpty()&&v&&v.length>0&&"\n"===v.charAt(v.length-1))){_=!1;break}}_&&t.push({range:new d.a(f,1,f,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,o)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t._eolCount=function(e){for(var t=0,o=0,n=0,i=e.length;n<i;n++){var r=e.charCodeAt(n);13===r?(0===t&&(o=n),t++,n+1<i&&10===e.charCodeAt(n+1)&&n++):10===r&&(0===t&&(o=n),t++)}return 0===t&&(o=e.length),[t,o]},t.prototype._applyEdits=function(e){for(var o=0,n=e.length;o<n;o++)e[o].range=this.validateRange(e[o].range);var i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace),s=this._buffer.getLineCount(),a=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,0!==a.length){var l=[],u=i;for(o=0,n=a.length;o<n;o++){var c=a[o],h=t._eolCount(c.text),d=h[0],g=h[1];this._tokens.applyEdits(c.range,d,g),this._onDidChangeDecorations.fire(),this._decorationsTree.acceptReplace(c.rangeOffset,c.rangeLength,c.text.length,c.forceMoveMarkers);for(var p=c.range.startLineNumber,y=c.range.endLineNumber,b=y-p,E=d,C=Math.min(b,E),S=E-b,T=C;T>=0;T--){var w=p+T,k=s-u-S+w;l.push(new f(w,this.getLineContent(k)))}if(C<b){var O=p+C;l.push(new m(O+1,y))}if(C<E){for(var R=p+C,L=E-C,N=s-u-L+R+1,I=[],D=0;D<L;D++){var A=N+D;I[A-N]=this.getLineContent(A)}l.push(new _(R+1,p+E,I))}u+=S}this._increaseVersionId(),this._emitContentChangedEvent(new v(l,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:a,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization(),r.reverseEdits},t.prototype._undo=function(){this._isUndoing=!0;var e=this._commandManager.undo();return this._isUndoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.undo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._undo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.canUndo=function(){return this._commandManager.canUndo()},t.prototype._redo=function(){this._isRedoing=!0;var e=this._commandManager.redo();return this._isRedoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.redo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._redo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.canRedo=function(){return this._commandManager.canRedo()},t.prototype.changeDecorations=function(e,t){void 0===t&&(t=0),this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._changeDecorations=function(e,t){var o=this,n={addDecoration:function(t,n){return o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0]},changeDecoration:function(e,t){o._onDidChangeDecorations.fire(),o._changeDecorationImpl(e,t)},changeDecorationOptions:function(e,t){o._onDidChangeDecorations.fire(),o._changeDecorationOptionsImpl(e,Ke(t))},removeDecoration:function(t){o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,[t],[])},deltaDecorations:function(t,n){return 0===t.length&&0===n.length?[]:(o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,t,n))}},i=null;try{i=t(n)}catch(e){Object(a.e)(e)}return n.addDecoration=null,n.changeDecoration=null,n.removeDecoration=null,n.deltaDecorations=null,i},t.prototype.deltaDecorations=function(e,t,o){if(void 0===o&&(o=0),this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._deltaDecorationsImpl(o,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._getTrackedRange=function(e){return this.getDecorationRange(e)},t.prototype._setTrackedRange=function(e,t,o){var n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:ze[o]}])[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;var i=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,s,i),n.setOptions(ze[o]),this._decorationsTree.insert(n),n.id},t.prototype.removeAllDecorationsWithOwnerId=function(e){if(!this._isDisposed)for(var t=this._decorationsTree.collectNodesFromOwner(e),o=0,n=t.length;o<n;o++){var i=t[o];this._decorationsTree.delete(i),delete this._decorations[i.id]}},t.prototype.getDecorationOptions=function(e){var t=this._decorations[e];return t?t.options:null},t.prototype.getDecorationRange=function(e){var t=this._decorations[e];if(!t)return null;var o=this.getVersionId();return t.cachedVersionId!==o&&this._decorationsTree.resolveNode(t,o),null===t.range&&(t.range=this._getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range},t.prototype.getLineDecorations=function(e,t,o){return void 0===t&&(t=0),void 0===o&&(o=!1),e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,o)},t.prototype.getLinesDecorations=function(e,t,o,n){void 0===o&&(o=0),void 0===n&&(n=!1);var i=this.getLineCount(),r=Math.min(i,Math.max(1,e)),s=Math.min(i,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new d.a(r,1,s,a),o,n)},t.prototype.getDecorationsInRange=function(e,t,o){void 0===t&&(t=0),void 0===o&&(o=!1);var n=this.validateRange(e);return this._getDecorationsInRange(n,t,o)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var o=this.getVersionId(),n=this._decorationsTree.search(e,t,!0,o);return this._ensureNodesHaveRanges(n)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var o=this.getVersionId(),n=this._decorationsTree.search(e,t,!1,o);return this._ensureNodesHaveRanges(n)},t.prototype._getDecorationsInRange=function(e,t,o){var n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),i=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),r=this.getVersionId(),s=this._decorationsTree.intervalSearch(n,i,t,o,r);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,o=e.length;t<o;t++){var n=e[t];null===n.range&&(n.range=this._getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd))}return e},t.prototype._getRangeAt=function(e,t){return this._buffer.getRangeAt(e,t-e)},t.prototype._changeDecorationImpl=function(e,t){var o=this._decorations[e];if(o){var n=this._validateRangeRelaxedNoAllocations(t),i=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(o),o.reset(this.getVersionId(),i,r,n),this._decorationsTree.insert(o)}},t.prototype._changeDecorationOptionsImpl=function(e,t){var o=this._decorations[e];o&&(!!o.options.overviewRuler.color!==!!t.overviewRuler.color?(this._decorationsTree.delete(o),o.setOptions(t),this._decorationsTree.insert(o)):o.setOptions(t))},t.prototype._deltaDecorationsImpl=function(e,t,o){for(var n=this.getVersionId(),i=t.length,r=0,s=o.length,a=0,l=new Array(s);r<i||a<s;){var u=null;if(r<i){do{u=this._decorations[t[r++]]}while(!u&&r<i);u&&this._decorationsTree.delete(u)}if(a<s){if(!u){var c=++this._lastDecorationId,h=this._instanceId+";"+c;u=new I(h,0,0),this._decorations[h]=u}var d=o[a],g=this._validateRangeRelaxedNoAllocations(d.range),p=Ke(d.options),f=this._buffer.getOffsetAt(g.startLineNumber,g.startColumn),m=this._buffer.getOffsetAt(g.endLineNumber,g.endColumn);u.ownerId=e,u.reset(n,f,m,g),u.setOptions(p),this._decorationsTree.insert(u),l[a]=u.id,a++}else u&&delete this._decorations[u.id]}return l},t.prototype.tokenizeViewport=function(e,t){if(this._tokens.tokenizationSupport){var o=Math.floor(.3*this._tokens.inValidLineStartIndex);if((e=Math.max(1,e-o))<=this._tokens.inValidLineStartIndex)this.forceTokenization(t);else{var n=new ae,i=this.getLineFirstNonWhitespaceColumn(e),r=[],s=e-1,a=null;if(i>0)for(;i>0&&s>=1;){var l=this.getLineFirstNonWhitespaceColumn(s);if(0!==l){if(l<i){if(a=this._tokens._getState(s-1))break;r.push(this.getLineContent(s)),i=l}s--}else s--}a||(a=this._tokens.tokenizationSupport.getInitialState());for(var u=a.clone(),c=r.length-1;c>=0;c--){u=(g=this._tokens._tokenizeText(this._buffer,r[c],u))?g.endState.clone():a.clone()}var h=Math.floor(.4*this._tokens.inValidLineStartIndex);t=Math.min(this.getLineCount(),t+h);for(var d=e;d<=t;d++){var g,p=this.getLineContent(d);(g=this._tokens._tokenizeText(this._buffer,p,u))?(this._tokens._setTokens(this._tokens.languageIdentifier.id,d-1,p.length,g.tokens),this._tokens._setIsInvalid(d-1,!1),this._tokens._setState(d-1,u),u=g.endState.clone(),n.registerChangedTokens(d)):u=a.clone()}var f=n.build();f&&this._onDidChangeTokens.fire(f)}}},t.prototype.forceTokenization=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");var t=new ae;this._tokens._updateTokensUntilLine(this._buffer,t,e);var o=t.build();o&&this._onDidChangeTokens.fire(o)},t.prototype.isCheapToTokenize=function(e){return this._tokens.isCheapToTokenize(e)},t.prototype.tokenizeIfCheap=function(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)},t.prototype.getLineTokens=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(e)},t.prototype._getLineTokens=function(e){var t=this._buffer.getLineContent(e);return this._tokens.getTokens(this._languageIdentifier.id,e-1,t)},t.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},t.prototype.getModeId=function(){return this._languageIdentifier.language},t.prototype.setMode=function(e){if(this._languageIdentifier.id!==e.id){var t={oldLanguage:this._languageIdentifier.language,newLanguage:e.language};this._languageIdentifier=e,this._resetTokenizationState(),this.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]}),this._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){if(!this._tokens.tokenizationSupport)return this._languageIdentifier.id;var o=this.validatePosition({lineNumber:e,column:t}),n=o.lineNumber,i=o.column,r=this._getLineTokens(n);return r.getLanguageId(r.findTokenIndexAtOffset(i-1))},t.prototype._beginBackgroundTokenization=function(){var e=this;this._shouldAutoTokenize()&&-1===this._revalidateTokensTimeout&&(this._revalidateTokensTimeout=setTimeout((function(){e._revalidateTokensTimeout=-1,e._revalidateTokensNow()}),0))},t.prototype._warmUpTokens=function(){var e=Math.min(100,this.getLineCount());this._revalidateTokensNow(e),this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization()},t.prototype._revalidateTokensNow=function(e){void 0===e&&(e=this._buffer.getLineCount());for(var t=new ae,o=X.create(!1);this._tokens.hasLinesToTokenize(this._buffer)&&!(o.elapsed()>20);){if(this._tokens._tokenizeOneLine(this._buffer,t)>=e)break}this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization();var n=t.build();n&&this._onDidChangeTokens.fire(n)},t.prototype.emitModelTokensChangedEvent=function(e){this._isDisposing||this._onDidChangeTokens.fire(e)},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var o=this.validatePosition(e),n=this.getLineContent(o.lineNumber),i=this._getLineTokens(o.lineNumber),r=i.findTokenIndexAtOffset(o.column-1),s=t._findLanguageBoundaries(i,r),a=s[0],l=s[1],u=Object(ee.d)(o.column,Q.a.getWordDefinition(i.getLanguageId(r)),n.substring(a,l),a);if(u)return u;if(r>0&&a===o.column-1){var c=t._findLanguageBoundaries(i,r-1),h=c[0],d=c[1],g=Object(ee.d)(o.column,Q.a.getWordDefinition(i.getLanguageId(r-1)),n.substring(h,d),h);if(g)return g}return null},t._findLanguageBoundaries=function(e,t){for(var o,n,i=e.getLanguageId(t),r=t;r>=0&&e.getLanguageId(r)===i;r--)o=e.getStartOffset(r);r=t;for(var s=e.getCount();r<s&&e.getLanguageId(r)===i;r++)n=e.getEndOffset(r);return[o,n]},t.prototype.getWordUntilPosition=function(e){var t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.findMatchingBracketUp=function(e,t){var o=e.toLowerCase(),n=this.validatePosition(t),i=this._getLineTokens(n.lineNumber),r=i.getLanguageId(i.findTokenIndexAtOffset(n.column-1)),s=Q.a.getBracketsSupport(r);if(!s)return null;var a=s.textIsBracket[o];return a?this._findMatchingBracketUp(a,n):null},t.prototype.matchBracket=function(e){return this._matchBracket(this.validatePosition(e))},t.prototype._matchBracket=function(e){var t=e.lineNumber,o=this._getLineTokens(t),n=this._buffer.getLineContent(t),i=o.findTokenIndexAtOffset(e.column-1);if(i<0)return null;var r=Q.a.getBracketsSupport(o.getLanguageId(i));if(r&&!Object($.b)(o.getStandardTokenType(i))){for(var s=Math.max(o.getStartOffset(i),e.column-1-r.maxBracketLength),a=Math.min(o.getEndOffset(i),e.column-1+r.maxBracketLength),l=null;;){if(!(c=J.a.findNextBracketInToken(r.forwardRegex,t,n,s,a)))break;if(c.startColumn<=e.column&&e.column<=c.endColumn)h=(h=n.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),(d=this._matchFoundBracket(c,r.textIsBracket[h],r.textIsOpenBracket[h]))&&(l=d);s=c.endColumn-1}if(l)return l}if(i>0&&o.getStartOffset(i)===e.column-1){a=o.getStartOffset(i);i--;var u=Q.a.getBracketsSupport(o.getLanguageId(i));if(u&&!Object($.b)(o.getStandardTokenType(i))){var c,h,d;s=Math.max(o.getStartOffset(i),e.column-1-u.maxBracketLength);if((c=J.a.findPrevBracketInToken(u.reversedRegex,t,n,s,a))&&c.startColumn<=e.column&&e.column<=c.endColumn)if(h=(h=n.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),d=this._matchFoundBracket(c,u.textIsBracket[h],u.textIsOpenBracket[h]))return d}}return null},t.prototype._matchFoundBracket=function(e,t,o){if(!t)return null;var n;if(o){if(n=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,n]}else if(n=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,n];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var o=e.languageIdentifier.id,n=e.reversedRegex,i=-1,r=t.lineNumber;r>=1;r--){var s=this._getLineTokens(r),a=s.getCount(),l=this._buffer.getLineContent(r),u=a-1,c=-1;for(r===t.lineNumber&&(u=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);u>=0;u--){var h=s.getLanguageId(u),d=s.getStandardTokenType(u),g=s.getStartOffset(u),p=s.getEndOffset(u);if(-1===c&&(c=p),h===o&&!Object($.b)(d))for(;;){var f=J.a.findPrevBracketInToken(n,r,l,g,c);if(!f)break;var m=l.substring(f.startColumn-1,f.endColumn-1);if((m=m.toLowerCase())===e.open?i++:m===e.close&&i--,0===i)return f;c=f.startColumn-1}c=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var o=e.languageIdentifier.id,n=e.forwardRegex,i=1,r=t.lineNumber,s=this.getLineCount();r<=s;r++){var a=this._getLineTokens(r),l=a.getCount(),u=this._buffer.getLineContent(r),c=0,h=0;for(r===t.lineNumber&&(c=a.findTokenIndexAtOffset(t.column-1),h=t.column-1);c<l;c++){var d=a.getLanguageId(c),g=a.getStandardTokenType(c),p=a.getStartOffset(c),f=a.getEndOffset(c);if(0===h&&(h=p),d===o&&!Object($.b)(g))for(;;){var m=J.a.findNextBracketInToken(n,r,u,h,f);if(!m)break;var _=u.substring(m.startColumn-1,m.endColumn-1);if((_=_.toLowerCase())===e.open?i++:_===e.close&&i--,0===i)return m;h=m.endColumn-1}h=0}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),o=-1,n=null,i=t.lineNumber,r=this.getLineCount();i<=r;i++){var s=this._getLineTokens(i),a=s.getCount(),l=this._buffer.getLineContent(i),u=0,c=0;for(i===t.lineNumber&&(u=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);u<a;u++){var h=s.getLanguageId(u),d=s.getStandardTokenType(u),g=s.getStartOffset(u),p=s.getEndOffset(u);if(0===c&&(c=g),o!==h&&(o=h,n=Q.a.getBracketsSupport(o)),n&&!Object($.b)(d)){var f=J.a.findNextBracketInToken(n.forwardRegex,i,l,c,p);if(f)return this._toFoundBracket(n,f)}c=0}}return null},t.prototype._toFoundBracket=function(e,t){if(!t)return null;var o=this.getValueInRange(t);o=o.toLowerCase();var n=e.textIsBracket[o];return n?{range:t,open:n.open,close:n.close,isOpen:e.textIsOpenBracket[o]}:null},t.computeIndentLevel=function(e,t){for(var o=0,n=0,i=e.length;n<i;){var r=e.charCodeAt(n);if(32===r)o++;else{if(9!==r)break;o=o-o%t+t}n++}return n===i?-1:o},t.prototype._computeIndentLevel=function(e){return t.computeIndentLevel(this._buffer.getLineContent(e+1),this._options.tabSize)},t.prototype.getActiveIndentGuide=function(e,t,o){var n=this;this._assertNotDisposed();var i=this.getLineCount();if(e<1||e>i)throw new Error("Illegal value for lineNumber");for(var r=Q.a.getFoldingRules(this._languageIdentifier.id),s=r&&r.offSide,a=-2,l=-1,u=-2,c=-1,h=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,l=-1;for(var t=e-2;t>=0;t--){var o=n._computeIndentLevel(t);if(o>=0){a=t,l=o;break}}}if(-2===u){u=-1,c=-1;for(t=e;t<i;t++){var r=n._computeIndentLevel(t);if(r>=0){u=t,c=r;break}}}},d=-2,g=-1,p=-2,f=-1,m=function(e){if(-2===d){d=-1,g=-1;for(var t=e-2;t>=0;t--){var o=n._computeIndentLevel(t);if(o>=0){d=t,g=o;break}}}if(-1!==p&&(-2===p||p<e-1)){p=-1,f=-1;for(t=e;t<i;t++){var r=n._computeIndentLevel(t);if(r>=0){p=t,f=r;break}}}},_=0,y=!0,v=0,b=!0,E=0,C=0;y||b;C++){var S=e-C,T=e+C;if(0!==C&&(S<1||S<t)&&(y=!1),0!==C&&(T>i||T>o)&&(b=!1),C>5e4&&(y=!1,b=!1),y){var w=void 0;if((k=this._computeIndentLevel(S-1))>=0?(u=S-1,c=k,w=Math.ceil(k/this._options.tabSize)):(h(S),w=this._getIndentLevelForWhitespaceLine(s,l,c)),0===C){if(_=S,v=T,0===(E=w))return{startLineNumber:_,endLineNumber:v,indent:E};continue}w>=E?_=S:y=!1}if(b){var k,O=void 0;(k=this._computeIndentLevel(T-1))>=0?(d=T-1,g=k,O=Math.ceil(k/this._options.tabSize)):(m(T),O=this._getIndentLevelForWhitespaceLine(s,g,f)),O>=E?v=T:b=!1}}return{startLineNumber:_,endLineNumber:v,indent:E}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var o=this.getLineCount();if(e<1||e>o)throw new Error("Illegal value for startLineNumber");if(t<1||t>o)throw new Error("Illegal value for endLineNumber");for(var n=Q.a.getFoldingRules(this._languageIdentifier.id),i=n&&n.offSide,r=new Array(t-e+1),s=-2,a=-1,l=-2,u=-1,c=e;c<=t;c++){var h=c-e,d=this._computeIndentLevel(c-1);if(d>=0)s=c-1,a=d,r[h]=Math.ceil(d/this._options.tabSize);else{if(-2===s){s=-1,a=-1;for(var g=c-2;g>=0;g--){if((p=this._computeIndentLevel(g))>=0){s=g,a=p;break}}}if(-1!==l&&(-2===l||l<c-1)){l=-1,u=-1;for(g=c;g<o;g++){var p;if((p=this._computeIndentLevel(g))>=0){l=g,u=p;break}}}r[h]=this._getIndentLevelForWhitespaceLine(i,a,u)}}return r},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,o){return-1===t||-1===o?0:t<o?1+Math.floor(t/this._options.tabSize):t===o?Math.ceil(o/this._options.tabSize):e?Math.ceil(o/this._options.tabSize):1+Math.floor(o/this._options.tabSize)},t.MODEL_SYNC_LIMIT=52428800,t.LARGE_FILE_SIZE_THRESHOLD=20971520,t.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,t.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:ce.c.tabSize,insertSpaces:ce.c.insertSpaces,detectIndentation:!1,defaultEOL:r.b.LF,trimAutoWhitespace:ce.c.trimAutoWhitespace,largeFileOptimizations:ce.c.largeFileOptimizations},t}(z.a),Ve=function(){function e(){this._decorationsTree0=new A,this._decorationsTree1=new A}return e.prototype.intervalSearch=function(e,t,o,n,i){var r=this._decorationsTree0.intervalSearch(e,t,o,n,i),s=this._decorationsTree1.intervalSearch(e,t,o,n,i);return r.concat(s)},e.prototype.search=function(e,t,o,n){if(o)return this._decorationsTree1.search(e,t,n);var i=this._decorationsTree0.search(e,t,n),r=this._decorationsTree1.search(e,t,n);return i.concat(r)},e.prototype.collectNodesFromOwner=function(e){var t=this._decorationsTree0.collectNodesFromOwner(e),o=this._decorationsTree1.collectNodesFromOwner(e);return t.concat(o)},e.prototype.collectNodesPostOrder=function(){var e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder();return e.concat(t)},e.prototype.insert=function(e){R(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)},e.prototype.delete=function(e){R(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)},e.prototype.resolveNode=function(e,t){R(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)},e.prototype.acceptReplace=function(e,t,o,n){this._decorationsTree0.acceptReplace(e,t,o,n),this._decorationsTree1.acceptReplace(e,t,o,n)},e}();function We(e){return e.replace(/[^a-z0-9\-_]/gi," ")}var je=function(e){this.color=E.empty,this.darkColor=E.empty,this.hcColor=E.empty,this.position=r.f.Center,this._resolvedColor=null,e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor,this.hcColor=e.darkColor),e&&e.hcColor&&(this.hcColor=e.hcColor),e&&e.hasOwnProperty("position")&&(this.position=e.position)},Ge=function(){function e(e){this.stickiness=e.stickiness||r.h.AlwaysGrowsWhenTypingAtEdges,this.zIndex=e.zIndex||0,this.className=e.className?We(e.className):E.empty,this.hoverMessage=e.hoverMessage||[],this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||[],this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.overviewRuler=new je(e.overviewRuler),this.glyphMarginClassName=e.glyphMarginClassName?We(e.glyphMarginClassName):E.empty,this.linesDecorationsClassName=e.linesDecorationsClassName?We(e.linesDecorationsClassName):E.empty,this.marginClassName=e.marginClassName?We(e.marginClassName):E.empty,this.inlineClassName=e.inlineClassName?We(e.inlineClassName):E.empty,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?We(e.beforeContentClassName):E.empty,this.afterContentClassName=e.afterContentClassName?We(e.afterContentClassName):E.empty}return e.register=function(t){return new e(t)},e.createDynamic=function(t){return new e(t)},e}();Ge.EMPTY=Ge.register({});var ze=[Ge.register({stickiness:r.h.AlwaysGrowsWhenTypingAtEdges}),Ge.register({stickiness:r.h.NeverGrowsWhenTypingAtEdges}),Ge.register({stickiness:r.h.GrowsOnlyWhenTypingBefore}),Ge.register({stickiness:r.h.GrowsOnlyWhenTypingAfter})];function Ke(e){return e instanceof Ge?e:Ge.createDynamic(e)}var Ye=function(e){function t(){var t=e.call(this)||this;return t._actual=t._register(new i.a),t.event=t._actual.event,t._deferredCnt=0,t._shouldFire=!1,t}return Me(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){this._deferredCnt--,0===this._deferredCnt&&this._shouldFire&&(this._shouldFire=!1,this._actual.fire({}))},t.prototype.fire=function(){this._shouldFire=!0},t}(z.a),Xe=function(e){function t(){var t=e.call(this)||this;return t._fastEmitter=t._register(new i.a),t.fastEvent=t._fastEmitter.event,t._slowEmitter=t._register(new i.a),t.slowEvent=t._slowEmitter.event,t._deferredCnt=0,t._deferredEvent=null,t}return Me(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){var e=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(e),this._slowEmitter.fire(e)}},t.prototype.fire=function(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(z.a)},function(e,t,o){"use strict";o.d(t,"g",(function(){return n})),o.d(t,"j",(function(){return i})),o.d(t,"h",(function(){return r})),o.d(t,"k",(function(){return p})),o.d(t,"i",(function(){return s})),o.d(t,"l",(function(){return f})),o.d(t,"e",(function(){return _})),o.d(t,"d",(function(){return w})),o.d(t,"f",(function(){return k})),o.d(t,"b",(function(){return R})),o.d(t,"c",(function(){return L})),o.d(t,"a",(function(){return N}));var n,i,r,s,a=o(0),l=o(15),u=o(42),c=o(105),h=o(25),d=o(30),g=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};function p(e){if(e===r.Blink)return"blink";if(e===r.Expand)return"expand";if(e===r.Phase)return"phase";if(e===r.Smooth)return"smooth";if(e===r.Solid)return"solid";throw new Error("blinkingStyleToString: Unknown blinkingStyle")}function f(e){if(e===s.Line)return"line";if(e===s.Block)return"block";if(e===s.Underline)return"underline";if(e===s.LineThin)return"line-thin";if(e===s.BlockOutline)return"block-outline";if(e===s.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")}function m(e,t){return"string"!=typeof e?t:"line"===e?s.Line:"block"===e?s.Block:"underline"===e?s.Underline:"line-thin"===e?s.LineThin:"block-outline"===e?s.BlockOutline:"underline-thin"===e?s.UnderlineThin:s.Line}!function(e){e[e.None=0]="None",e[e.Small=1]="Small",e[e.Large=2]="Large",e[e.SmallBlocks=3]="SmallBlocks",e[e.LargeBlocks=4]="LargeBlocks"}(n||(n={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(i||(i={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(r||(r={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(s||(s={}));var _=function(){function e(e){this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=0|e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.multiCursorModifier=e.multiCursorModifier,this.multiCursorMergeOverlapping=e.multiCursorMergeOverlapping,this.wordSeparators=e.wordSeparators,this.autoClosingBrackets=e.autoClosingBrackets,this.autoIndent=e.autoIndent,this.useTabStops=e.useTabStops,this.tabFocusMode=e.tabFocusMode,this.dragAndDrop=e.dragAndDrop,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo,this.contribInfo=e.contribInfo,this.showUnused=e.showUnused}return e.prototype.equals=function(t){return this.canUseLayerHinting===t.canUseLayerHinting&&this.pixelRatio===t.pixelRatio&&this.editorClassName===t.editorClassName&&this.lineHeight===t.lineHeight&&this.readOnly===t.readOnly&&this.accessibilitySupport===t.accessibilitySupport&&this.multiCursorModifier===t.multiCursorModifier&&this.multiCursorMergeOverlapping===t.multiCursorMergeOverlapping&&this.wordSeparators===t.wordSeparators&&this.autoClosingBrackets===t.autoClosingBrackets&&this.autoIndent===t.autoIndent&&this.useTabStops===t.useTabStops&&this.tabFocusMode===t.tabFocusMode&&this.dragAndDrop===t.dragAndDrop&&this.showUnused===t.showUnused&&this.emptySelectionClipboard===t.emptySelectionClipboard&&e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo)&&this.fontInfo.equals(t.fontInfo)&&e._equalsViewOptions(this.viewInfo,t.viewInfo)&&e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo)&&e._equalsContribOptions(this.contribInfo,t.contribInfo)},e.prototype.createChangeEvent=function(t){return{canUseLayerHinting:this.canUseLayerHinting!==t.canUseLayerHinting,pixelRatio:this.pixelRatio!==t.pixelRatio,editorClassName:this.editorClassName!==t.editorClassName,lineHeight:this.lineHeight!==t.lineHeight,readOnly:this.readOnly!==t.readOnly,accessibilitySupport:this.accessibilitySupport!==t.accessibilitySupport,multiCursorModifier:this.multiCursorModifier!==t.multiCursorModifier,multiCursorMergeOverlapping:this.multiCursorMergeOverlapping!==t.multiCursorMergeOverlapping,wordSeparators:this.wordSeparators!==t.wordSeparators,autoClosingBrackets:this.autoClosingBrackets!==t.autoClosingBrackets,autoIndent:this.autoIndent!==t.autoIndent,useTabStops:this.useTabStops!==t.useTabStops,tabFocusMode:this.tabFocusMode!==t.tabFocusMode,dragAndDrop:this.dragAndDrop!==t.dragAndDrop,emptySelectionClipboard:this.emptySelectionClipboard!==t.emptySelectionClipboard,layoutInfo:!e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo),fontInfo:!this.fontInfo.equals(t.fontInfo),viewInfo:!e._equalsViewOptions(this.viewInfo,t.viewInfo),wrappingInfo:!e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo),contribInfo:!e._equalsContribOptions(this.contribInfo,t.contribInfo)}},e._equalsLayoutInfo=function(e,t){return e.width===t.width&&e.height===t.height&&e.glyphMarginLeft===t.glyphMarginLeft&&e.glyphMarginWidth===t.glyphMarginWidth&&e.glyphMarginHeight===t.glyphMarginHeight&&e.lineNumbersLeft===t.lineNumbersLeft&&e.lineNumbersWidth===t.lineNumbersWidth&&e.lineNumbersHeight===t.lineNumbersHeight&&e.decorationsLeft===t.decorationsLeft&&e.decorationsWidth===t.decorationsWidth&&e.decorationsHeight===t.decorationsHeight&&e.contentLeft===t.contentLeft&&e.contentWidth===t.contentWidth&&e.contentHeight===t.contentHeight&&e.renderMinimap===t.renderMinimap&&e.minimapLeft===t.minimapLeft&&e.minimapWidth===t.minimapWidth&&e.viewportColumn===t.viewportColumn&&e.verticalScrollbarWidth===t.verticalScrollbarWidth&&e.horizontalScrollbarHeight===t.horizontalScrollbarHeight&&this._equalsOverviewRuler(e.overviewRuler,t.overviewRuler)},e._equalsOverviewRuler=function(e,t){return e.width===t.width&&e.height===t.height&&e.top===t.top&&e.right===t.right},e._equalsViewOptions=function(e,t){return e.extraEditorClassName===t.extraEditorClassName&&e.disableMonospaceOptimizations===t.disableMonospaceOptimizations&&h.e(e.rulers,t.rulers)&&e.ariaLabel===t.ariaLabel&&e.renderLineNumbers===t.renderLineNumbers&&e.renderCustomLineNumbers===t.renderCustomLineNumbers&&e.selectOnLineNumbers===t.selectOnLineNumbers&&e.glyphMargin===t.glyphMargin&&e.revealHorizontalRightPadding===t.revealHorizontalRightPadding&&e.roundedSelection===t.roundedSelection&&e.overviewRulerLanes===t.overviewRulerLanes&&e.overviewRulerBorder===t.overviewRulerBorder&&e.cursorBlinking===t.cursorBlinking&&e.mouseWheelZoom===t.mouseWheelZoom&&e.cursorStyle===t.cursorStyle&&e.cursorWidth===t.cursorWidth&&e.hideCursorInOverviewRuler===t.hideCursorInOverviewRuler&&e.scrollBeyondLastLine===t.scrollBeyondLastLine&&e.scrollBeyondLastColumn===t.scrollBeyondLastColumn&&e.smoothScrolling===t.smoothScrolling&&e.stopRenderingLineAfter===t.stopRenderingLineAfter&&e.renderWhitespace===t.renderWhitespace&&e.renderControlCharacters===t.renderControlCharacters&&e.fontLigatures===t.fontLigatures&&e.renderIndentGuides===t.renderIndentGuides&&e.highlightActiveIndentGuide===t.highlightActiveIndentGuide&&e.renderLineHighlight===t.renderLineHighlight&&this._equalsScrollbarOptions(e.scrollbar,t.scrollbar)&&this._equalsMinimapOptions(e.minimap,t.minimap)&&e.fixedOverflowWidgets===t.fixedOverflowWidgets},e._equalsScrollbarOptions=function(e,t){return e.arrowSize===t.arrowSize&&e.vertical===t.vertical&&e.horizontal===t.horizontal&&e.useShadows===t.useShadows&&e.verticalHasArrows===t.verticalHasArrows&&e.horizontalHasArrows===t.horizontalHasArrows&&e.handleMouseWheel===t.handleMouseWheel&&e.horizontalScrollbarSize===t.horizontalScrollbarSize&&e.horizontalSliderSize===t.horizontalSliderSize&&e.verticalScrollbarSize===t.verticalScrollbarSize&&e.verticalSliderSize===t.verticalSliderSize&&e.mouseWheelScrollSensitivity===t.mouseWheelScrollSensitivity},e._equalsMinimapOptions=function(e,t){return e.enabled===t.enabled&&e.side===t.side&&e.showSlider===t.showSlider&&e.renderCharacters===t.renderCharacters&&e.maxColumn===t.maxColumn},e._equalFindOptions=function(e,t){return e.seedSearchStringFromSelection===t.seedSearchStringFromSelection&&e.autoFindInSelection===t.autoFindInSelection&&e.globalFindClipboard===t.globalFindClipboard},e._equalsHoverOptions=function(e,t){return e.enabled===t.enabled&&e.delay===t.delay&&e.sticky===t.sticky},e._equalsSuggestOptions=function(e,t){return e===t||!(!e||!t)&&(e.filterGraceful===t.filterGraceful&&e.snippets===t.snippets&&e.snippetsPreventQuickSuggestions===t.snippetsPreventQuickSuggestions)},e._equalsWrappingInfo=function(e,t){return e.inDiffEditor===t.inDiffEditor&&e.isDominatedByLongLines===t.isDominatedByLongLines&&e.isWordWrapMinified===t.isWordWrapMinified&&e.isViewportWrapping===t.isViewportWrapping&&e.wrappingColumn===t.wrappingColumn&&e.wrappingIndent===t.wrappingIndent&&e.wordWrapBreakBeforeCharacters===t.wordWrapBreakBeforeCharacters&&e.wordWrapBreakAfterCharacters===t.wordWrapBreakAfterCharacters&&e.wordWrapBreakObtrusiveCharacters===t.wordWrapBreakObtrusiveCharacters},e._equalsContribOptions=function(t,o){return t.selectionClipboard===o.selectionClipboard&&this._equalsHoverOptions(t.hover,o.hover)&&t.links===o.links&&t.contextmenu===o.contextmenu&&e._equalsQuickSuggestions(t.quickSuggestions,o.quickSuggestions)&&t.quickSuggestionsDelay===o.quickSuggestionsDelay&&t.parameterHints===o.parameterHints&&t.iconsInSuggestions===o.iconsInSuggestions&&t.formatOnType===o.formatOnType&&t.formatOnPaste===o.formatOnPaste&&t.suggestOnTriggerCharacters===o.suggestOnTriggerCharacters&&t.acceptSuggestionOnEnter===o.acceptSuggestionOnEnter&&t.acceptSuggestionOnCommitCharacter===o.acceptSuggestionOnCommitCharacter&&t.wordBasedSuggestions===o.wordBasedSuggestions&&t.suggestSelection===o.suggestSelection&&t.suggestFontSize===o.suggestFontSize&&t.suggestLineHeight===o.suggestLineHeight&&this._equalsSuggestOptions(t.suggest,o.suggest)&&t.selectionHighlight===o.selectionHighlight&&t.occurrencesHighlight===o.occurrencesHighlight&&t.codeLens===o.codeLens&&t.folding===o.folding&&t.foldingStrategy===o.foldingStrategy&&t.showFoldingControls===o.showFoldingControls&&t.matchBrackets===o.matchBrackets&&this._equalFindOptions(t.find,o.find)&&t.colorDecorators===o.colorDecorators&&d.e(t.codeActionsOnSave,o.codeActionsOnSave)&&t.codeActionsOnSaveTimeout===o.codeActionsOnSaveTimeout&&t.lightbulbEnabled===o.lightbulbEnabled},e._equalsQuickSuggestions=function(e,t){return"boolean"==typeof e?"boolean"==typeof t&&e===t:"boolean"!=typeof t&&(e.comments===t.comments&&e.other===t.other&&e.strings===t.strings)},e}();function y(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}function v(e,t){if(!e)return t;for(var o=Object.create(null),n=0,i=Object.keys(e);n<i.length;n++){var r=i[n],s=e[r];"boolean"==typeof s&&(o[r]=s)}return o}function b(e,t){return"string"!=typeof e?t:e}function E(e,t,o){return"string"!=typeof e?t:-1===o.indexOf(e)?t:e}function C(e,t,o,n){var i;return void 0===e?i=t:(i=parseInt(e,10),isNaN(i)&&(i=t)),i=Math.max(o,i),0|(i=Math.min(n,i))}function S(e,t){if("string"!=typeof e)return t;switch(e){case"blink":return r.Blink;case"smooth":return r.Smooth;case"phase":return r.Phase;case"expand":return r.Expand;case"visible":case"solid":return r.Solid}return r.Blink}function T(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return u.b.Hidden;case"visible":return u.b.Visible;default:return u.b.Auto}}var w=function(){function e(){}return e.validate=function(e,t){var o=e.wordWrap;!0===o?o="on":!1===o&&(o="off"),o=E(o,t.wordWrap,["off","on","wordWrapColumn","bounded"]);var n,r=this._sanitizeViewInfo(e,t.viewInfo),s=this._sanitizeContribInfo(e,t.contribInfo);"string"==typeof e.multiCursorModifier&&(n="ctrlCmd"===e.multiCursorModifier?l.d?"metaKey":"ctrlKey":"altKey");var a,u,c=E(n,t.multiCursorModifier,["altKey","metaKey","ctrlKey"]);return{inDiffEditor:y(e.inDiffEditor,t.inDiffEditor),wordSeparators:b(e.wordSeparators,t.wordSeparators),lineNumbersMinChars:C(e.lineNumbersMinChars,t.lineNumbersMinChars,1,10),lineDecorationsWidth:void 0===e.lineDecorationsWidth?t.lineDecorationsWidth:e.lineDecorationsWidth,readOnly:y(e.readOnly,t.readOnly),mouseStyle:E(e.mouseStyle,t.mouseStyle,["text","default","copy"]),disableLayerHinting:y(e.disableLayerHinting,t.disableLayerHinting),automaticLayout:y(e.automaticLayout,t.automaticLayout),wordWrap:o,wordWrapColumn:C(e.wordWrapColumn,t.wordWrapColumn,1,1073741824),wordWrapMinified:y(e.wordWrapMinified,t.wordWrapMinified),wrappingIndent:(a=e.wrappingIndent,u=t.wrappingIndent,"string"!=typeof a?u:"same"===a?i.Same:"indent"===a?i.Indent:"deepIndent"===a?i.DeepIndent:i.None),wordWrapBreakBeforeCharacters:b(e.wordWrapBreakBeforeCharacters,t.wordWrapBreakBeforeCharacters),wordWrapBreakAfterCharacters:b(e.wordWrapBreakAfterCharacters,t.wordWrapBreakAfterCharacters),wordWrapBreakObtrusiveCharacters:b(e.wordWrapBreakObtrusiveCharacters,t.wordWrapBreakObtrusiveCharacters),autoClosingBrackets:y(e.autoClosingBrackets,t.autoClosingBrackets),autoIndent:y(e.autoIndent,t.autoIndent),dragAndDrop:y(e.dragAndDrop,t.dragAndDrop),emptySelectionClipboard:y(e.emptySelectionClipboard,t.emptySelectionClipboard),useTabStops:y(e.useTabStops,t.useTabStops),multiCursorModifier:c,multiCursorMergeOverlapping:y(e.multiCursorMergeOverlapping,t.multiCursorMergeOverlapping),accessibilitySupport:E(e.accessibilitySupport,t.accessibilitySupport,["auto","on","off"]),showUnused:y(e.showUnused,t.showUnused),viewInfo:r,contribInfo:s}},e._sanitizeScrollbarOpts=function(e,t,o){if("object"!=typeof e)return t;var n=C(e.horizontalScrollbarSize,t.horizontalScrollbarSize,0,1e3),i=C(e.verticalScrollbarSize,t.verticalScrollbarSize,0,1e3);return{vertical:T(e.vertical,t.vertical),horizontal:T(e.horizontal,t.horizontal),arrowSize:C(e.arrowSize,t.arrowSize,0,1e3),useShadows:y(e.useShadows,t.useShadows),verticalHasArrows:y(e.verticalHasArrows,t.verticalHasArrows),horizontalHasArrows:y(e.horizontalHasArrows,t.horizontalHasArrows),horizontalScrollbarSize:n,horizontalSliderSize:C(e.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:i,verticalSliderSize:C(e.verticalSliderSize,i,0,1e3),handleMouseWheel:y(e.handleMouseWheel,t.handleMouseWheel),mouseWheelScrollSensitivity:o}},e._sanitizeMinimapOpts=function(e,t){return"object"!=typeof e?t:{enabled:y(e.enabled,t.enabled),side:E(e.side,t.side,["right","left"]),showSlider:E(e.showSlider,t.showSlider,["always","mouseover"]),renderCharacters:y(e.renderCharacters,t.renderCharacters),maxColumn:C(e.maxColumn,t.maxColumn,1,1e4)}},e._santizeFindOpts=function(e,t){return"object"!=typeof e?t:{seedSearchStringFromSelection:y(e.seedSearchStringFromSelection,t.seedSearchStringFromSelection),autoFindInSelection:y(e.autoFindInSelection,t.autoFindInSelection),globalFindClipboard:y(e.globalFindClipboard,t.globalFindClipboard)}},e._santizeHoverOpts=function(e,t){var o;if("boolean"==typeof e)o={enabled:e};else{if("object"!=typeof e)return t;o=e}return{enabled:y(o.enabled,t.enabled),delay:C(o.delay,t.delay,0,1e4),sticky:y(o.sticky,t.sticky)}},e._sanitizeSuggestOpts=function(e,t){var o=e.suggest||{};return{filterGraceful:y(o.filterGraceful,t.filterGraceful),snippets:E(e.snippetSuggestions,t.snippets,["top","bottom","inline","none"]),snippetsPreventQuickSuggestions:y(o.snippetsPreventQuickSuggestions,t.filterGraceful)}},e._sanitizeViewInfo=function(e,t){var o=[];if(Array.isArray(e.rulers)){for(var n=0,i=e.rulers.length;n<i;n++)o.push(C(e.rulers[n],0,0,1e4));o.sort()}var r=t.renderLineNumbers,s=t.renderCustomLineNumbers;if(void 0!==e.lineNumbers){var a=e.lineNumbers;!0===a?a="on":!1===a&&(a="off"),"function"==typeof a?(r=4,s=a):r="interval"===a?3:"relative"===a?2:"on"===a?1:0}var l=y(e.fontLigatures,t.fontLigatures),u=y(e.disableMonospaceOptimizations,t.disableMonospaceOptimizations)||l,c=e.renderWhitespace;!0===c?c="boundary":!1===c&&(c="none"),c=E(e.renderWhitespace,t.renderWhitespace,["none","boundary","all"]);var h=e.renderLineHighlight;!0===h?h="line":!1===h&&(h="none"),h=E(e.renderLineHighlight,t.renderLineHighlight,["none","gutter","line","all"]);var d,g,p,f=(d=e.mouseWheelScrollSensitivity,g=t.scrollbar.mouseWheelScrollSensitivity,p=parseFloat(d),isNaN(p)&&(p=g),p);0===f&&(f=1);var _=this._sanitizeScrollbarOpts(e.scrollbar,t.scrollbar,f),v=this._sanitizeMinimapOpts(e.minimap,t.minimap);return{extraEditorClassName:b(e.extraEditorClassName,t.extraEditorClassName),disableMonospaceOptimizations:u,rulers:o,ariaLabel:b(e.ariaLabel,t.ariaLabel),renderLineNumbers:r,renderCustomLineNumbers:s,selectOnLineNumbers:y(e.selectOnLineNumbers,t.selectOnLineNumbers),glyphMargin:y(e.glyphMargin,t.glyphMargin),revealHorizontalRightPadding:C(e.revealHorizontalRightPadding,t.revealHorizontalRightPadding,0,1e3),roundedSelection:y(e.roundedSelection,t.roundedSelection),overviewRulerLanes:C(e.overviewRulerLanes,t.overviewRulerLanes,0,3),overviewRulerBorder:y(e.overviewRulerBorder,t.overviewRulerBorder),cursorBlinking:S(e.cursorBlinking,t.cursorBlinking),mouseWheelZoom:y(e.mouseWheelZoom,t.mouseWheelZoom),cursorStyle:m(e.cursorStyle,t.cursorStyle),cursorWidth:C(e.cursorWidth,t.cursorWidth,0,Number.MAX_VALUE),hideCursorInOverviewRuler:y(e.hideCursorInOverviewRuler,t.hideCursorInOverviewRuler),scrollBeyondLastLine:y(e.scrollBeyondLastLine,t.scrollBeyondLastLine),scrollBeyondLastColumn:C(e.scrollBeyondLastColumn,t.scrollBeyondLastColumn,0,1073741824),smoothScrolling:y(e.smoothScrolling,t.smoothScrolling),stopRenderingLineAfter:C(e.stopRenderingLineAfter,t.stopRenderingLineAfter,-1,1073741824),renderWhitespace:c,renderControlCharacters:y(e.renderControlCharacters,t.renderControlCharacters),fontLigatures:l,renderIndentGuides:y(e.renderIndentGuides,t.renderIndentGuides),highlightActiveIndentGuide:y(e.highlightActiveIndentGuide,t.highlightActiveIndentGuide),renderLineHighlight:h,scrollbar:_,minimap:v,fixedOverflowWidgets:y(e.fixedOverflowWidgets,t.fixedOverflowWidgets)}},e._sanitizeContribInfo=function(e,t){var o;o="object"==typeof e.quickSuggestions?g({other:!0},e.quickSuggestions):y(e.quickSuggestions,t.quickSuggestions),"boolean"==typeof e.acceptSuggestionOnEnter&&(e.acceptSuggestionOnEnter=e.acceptSuggestionOnEnter?"on":"off");var n=this._santizeFindOpts(e.find,t.find);return{selectionClipboard:y(e.selectionClipboard,t.selectionClipboard),hover:this._santizeHoverOpts(e.hover,t.hover),links:y(e.links,t.links),contextmenu:y(e.contextmenu,t.contextmenu),quickSuggestions:o,quickSuggestionsDelay:C(e.quickSuggestionsDelay,t.quickSuggestionsDelay,-1073741824,1073741824),parameterHints:y(e.parameterHints,t.parameterHints),iconsInSuggestions:y(e.iconsInSuggestions,t.iconsInSuggestions),formatOnType:y(e.formatOnType,t.formatOnType),formatOnPaste:y(e.formatOnPaste,t.formatOnPaste),suggestOnTriggerCharacters:y(e.suggestOnTriggerCharacters,t.suggestOnTriggerCharacters),acceptSuggestionOnEnter:E(e.acceptSuggestionOnEnter,t.acceptSuggestionOnEnter,["on","smart","off"]),acceptSuggestionOnCommitCharacter:y(e.acceptSuggestionOnCommitCharacter,t.acceptSuggestionOnCommitCharacter),wordBasedSuggestions:y(e.wordBasedSuggestions,t.wordBasedSuggestions),suggestSelection:E(e.suggestSelection,t.suggestSelection,["first","recentlyUsed","recentlyUsedByPrefix"]),suggestFontSize:C(e.suggestFontSize,t.suggestFontSize,0,1e3),suggestLineHeight:C(e.suggestLineHeight,t.suggestLineHeight,0,1e3),suggest:this._sanitizeSuggestOpts(e,t.suggest),selectionHighlight:y(e.selectionHighlight,t.selectionHighlight),occurrencesHighlight:y(e.occurrencesHighlight,t.occurrencesHighlight),codeLens:y(e.codeLens,t.codeLens),folding:y(e.folding,t.folding),foldingStrategy:E(e.foldingStrategy,t.foldingStrategy,["auto","indentation"]),showFoldingControls:E(e.showFoldingControls,t.showFoldingControls,["always","mouseover"]),matchBrackets:y(e.matchBrackets,t.matchBrackets),find:n,colorDecorators:y(e.colorDecorators,t.colorDecorators),lightbulbEnabled:y(!!e.lightbulb&&e.lightbulb.enabled,t.lightbulbEnabled),codeActionsOnSave:v(e.codeActionsOnSave,{}),codeActionsOnSaveTimeout:C(e.codeActionsOnSaveTimeout,t.codeActionsOnSaveTimeout,1,1e4)}},e}(),k=function(){function e(){}return e._tweakValidatedOptions=function(e,t){var o=2===t,n=1===t;return{inDiffEditor:e.inDiffEditor,wordSeparators:e.wordSeparators,lineNumbersMinChars:e.lineNumbersMinChars,lineDecorationsWidth:e.lineDecorationsWidth,readOnly:e.readOnly,mouseStyle:e.mouseStyle,disableLayerHinting:e.disableLayerHinting,automaticLayout:e.automaticLayout,wordWrap:e.wordWrap,wordWrapColumn:e.wordWrapColumn,wordWrapMinified:e.wordWrapMinified,wrappingIndent:e.wrappingIndent,wordWrapBreakBeforeCharacters:e.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:e.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:e.wordWrapBreakObtrusiveCharacters,autoClosingBrackets:e.autoClosingBrackets,autoIndent:e.autoIndent,dragAndDrop:e.dragAndDrop,emptySelectionClipboard:e.emptySelectionClipboard,useTabStops:e.useTabStops,multiCursorModifier:e.multiCursorModifier,multiCursorMergeOverlapping:e.multiCursorMergeOverlapping,accessibilitySupport:e.accessibilitySupport,showUnused:e.showUnused,viewInfo:{extraEditorClassName:e.viewInfo.extraEditorClassName,disableMonospaceOptimizations:e.viewInfo.disableMonospaceOptimizations,rulers:e.viewInfo.rulers,ariaLabel:n?a.a("accessibilityOffAriaLabel","The editor is not accessible at this time. Press Alt+F1 for options."):e.viewInfo.ariaLabel,renderLineNumbers:e.viewInfo.renderLineNumbers,renderCustomLineNumbers:e.viewInfo.renderCustomLineNumbers,selectOnLineNumbers:e.viewInfo.selectOnLineNumbers,glyphMargin:e.viewInfo.glyphMargin,revealHorizontalRightPadding:e.viewInfo.revealHorizontalRightPadding,roundedSelection:!o&&e.viewInfo.roundedSelection,overviewRulerLanes:e.viewInfo.overviewRulerLanes,overviewRulerBorder:e.viewInfo.overviewRulerBorder,cursorBlinking:e.viewInfo.cursorBlinking,mouseWheelZoom:e.viewInfo.mouseWheelZoom,cursorStyle:e.viewInfo.cursorStyle,cursorWidth:e.viewInfo.cursorWidth,hideCursorInOverviewRuler:e.viewInfo.hideCursorInOverviewRuler,scrollBeyondLastLine:e.viewInfo.scrollBeyondLastLine,scrollBeyondLastColumn:e.viewInfo.scrollBeyondLastColumn,smoothScrolling:e.viewInfo.smoothScrolling,stopRenderingLineAfter:e.viewInfo.stopRenderingLineAfter,renderWhitespace:o?"none":e.viewInfo.renderWhitespace,renderControlCharacters:!o&&e.viewInfo.renderControlCharacters,fontLigatures:!o&&e.viewInfo.fontLigatures,renderIndentGuides:!o&&e.viewInfo.renderIndentGuides,highlightActiveIndentGuide:e.viewInfo.highlightActiveIndentGuide,renderLineHighlight:e.viewInfo.renderLineHighlight,scrollbar:e.viewInfo.scrollbar,minimap:{enabled:!o&&e.viewInfo.minimap.enabled,side:e.viewInfo.minimap.side,renderCharacters:e.viewInfo.minimap.renderCharacters,showSlider:e.viewInfo.minimap.showSlider,maxColumn:e.viewInfo.minimap.maxColumn},fixedOverflowWidgets:e.viewInfo.fixedOverflowWidgets},contribInfo:{selectionClipboard:e.contribInfo.selectionClipboard,hover:e.contribInfo.hover,links:!o&&e.contribInfo.links,contextmenu:e.contribInfo.contextmenu,quickSuggestions:e.contribInfo.quickSuggestions,quickSuggestionsDelay:e.contribInfo.quickSuggestionsDelay,parameterHints:e.contribInfo.parameterHints,iconsInSuggestions:e.contribInfo.iconsInSuggestions,formatOnType:e.contribInfo.formatOnType,formatOnPaste:e.contribInfo.formatOnPaste,suggestOnTriggerCharacters:e.contribInfo.suggestOnTriggerCharacters,acceptSuggestionOnEnter:e.contribInfo.acceptSuggestionOnEnter,acceptSuggestionOnCommitCharacter:e.contribInfo.acceptSuggestionOnCommitCharacter,wordBasedSuggestions:e.contribInfo.wordBasedSuggestions,suggestSelection:e.contribInfo.suggestSelection,suggestFontSize:e.contribInfo.suggestFontSize,suggestLineHeight:e.contribInfo.suggestLineHeight,suggest:e.contribInfo.suggest,selectionHighlight:!o&&e.contribInfo.selectionHighlight,occurrencesHighlight:!o&&e.contribInfo.occurrencesHighlight,codeLens:!o&&e.contribInfo.codeLens,folding:!o&&e.contribInfo.folding,foldingStrategy:e.contribInfo.foldingStrategy,showFoldingControls:e.contribInfo.showFoldingControls,matchBrackets:!o&&e.contribInfo.matchBrackets,find:e.contribInfo.find,colorDecorators:e.contribInfo.colorDecorators,lightbulbEnabled:e.contribInfo.lightbulbEnabled,codeActionsOnSave:e.contribInfo.codeActionsOnSave,codeActionsOnSaveTimeout:e.contribInfo.codeActionsOnSaveTimeout}}},e.createInternalEditorOptions=function(e,t){var o;o="auto"===t.accessibilitySupport?e.accessibilitySupport:"on"===t.accessibilitySupport?2:1;var n,i=this._tweakValidatedOptions(t,o);"string"==typeof i.lineDecorationsWidth&&/^\d+(\.\d+)?ch$/.test(i.lineDecorationsWidth)?n=parseFloat(i.lineDecorationsWidth.substr(0,i.lineDecorationsWidth.length-2))*e.fontInfo.typicalHalfwidthCharacterWidth:n=C(i.lineDecorationsWidth,0,0,1e3);i.contribInfo.folding&&(n+=16);var r=O.compute({outerWidth:e.outerWidth,outerHeight:e.outerHeight,showGlyphMargin:i.viewInfo.glyphMargin,lineHeight:e.fontInfo.lineHeight,showLineNumbers:0!==i.viewInfo.renderLineNumbers,lineNumbersMinChars:i.lineNumbersMinChars,lineNumbersDigitCount:e.lineNumbersDigitCount,lineDecorationsWidth:n,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,verticalScrollbarWidth:i.viewInfo.scrollbar.verticalScrollbarSize,horizontalScrollbarHeight:i.viewInfo.scrollbar.horizontalScrollbarSize,scrollbarArrowSize:i.viewInfo.scrollbar.arrowSize,verticalScrollbarHasArrows:i.viewInfo.scrollbar.verticalHasArrows,minimap:i.viewInfo.minimap.enabled,minimapSide:i.viewInfo.minimap.side,minimapRenderCharacters:i.viewInfo.minimap.renderCharacters,minimapMaxColumn:i.viewInfo.minimap.maxColumn,pixelRatio:e.pixelRatio}),s=null,a=i.wordWrap,l=i.wordWrapColumn,u=i.wordWrapMinified;s=2===o?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1}:u&&e.isDominatedByLongLines?{isWordWrapMinified:!0,isViewportWrapping:!0,wrappingColumn:Math.max(1,r.viewportColumn)}:"on"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.max(1,r.viewportColumn)}:"bounded"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.min(Math.max(1,r.viewportColumn),l)}:"wordWrapColumn"===a?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:l}:{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1};var c={inDiffEditor:i.inDiffEditor,isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn,wrappingIndent:i.wrappingIndent,wordWrapBreakBeforeCharacters:i.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:i.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:i.wordWrapBreakObtrusiveCharacters},h="monaco-editor";return i.viewInfo.extraEditorClassName&&(h+=" "+i.viewInfo.extraEditorClassName),e.extraEditorClassName&&(h+=" "+e.extraEditorClassName),i.viewInfo.fontLigatures&&(h+=" enable-ligatures"),"default"===i.mouseStyle?h+=" mouse-default":"copy"===i.mouseStyle&&(h+=" mouse-copy"),new _({canUseLayerHinting:!i.disableLayerHinting,pixelRatio:e.pixelRatio,editorClassName:h,lineHeight:e.fontInfo.lineHeight,readOnly:i.readOnly,accessibilitySupport:o,multiCursorModifier:i.multiCursorModifier,multiCursorMergeOverlapping:i.multiCursorMergeOverlapping,wordSeparators:i.wordSeparators,autoClosingBrackets:i.autoClosingBrackets,autoIndent:i.autoIndent,useTabStops:i.useTabStops,tabFocusMode:!!i.readOnly||e.tabFocusMode,dragAndDrop:i.dragAndDrop,emptySelectionClipboard:i.emptySelectionClipboard&&e.emptySelectionClipboard,layoutInfo:r,fontInfo:e.fontInfo,viewInfo:i.viewInfo,wrappingInfo:c,contribInfo:i.contribInfo,showUnused:i.showUnused})},e}(),O=function(){function e(){}return e.compute=function(e){var t=0|e.outerWidth,o=0|e.outerHeight,i=e.showGlyphMargin,r=0|e.lineHeight,s=e.showLineNumbers,a=0|e.lineNumbersMinChars,l=0|e.lineNumbersDigitCount,u=0|e.lineDecorationsWidth,c=e.typicalHalfwidthCharacterWidth,h=e.maxDigitWidth,d=0|e.verticalScrollbarWidth,g=e.verticalScrollbarHasArrows,p=0|e.scrollbarArrowSize,f=0|e.horizontalScrollbarHeight,m=e.minimap,_=e.minimapSide,y=e.minimapRenderCharacters,v=0|e.minimapMaxColumn,b=e.pixelRatio,E=0;if(s){var C=Math.max(l,a);E=Math.round(C*h)}var S=0;i&&(S=r);var T,w,k,O,R=0,L=R+S,N=L+E,I=N+u,D=t-S-E-u;if(m){var A=void 0;b>=2?(T=y?n.Large:n.LargeBlocks,A=2/b):(T=y?n.Small:n.SmallBlocks,A=1/b),(k=Math.max(0,Math.floor((D-d-2)*A/(c+A))))/A>v&&(k=Math.floor(v*A)),O=D-k,"left"===_?(w=0,R+=k,L+=k,N+=k,I+=k):w=t-k-d}else w=0,k=0,T=n.None,O=D;var P=g?p:0;return{width:t,height:o,glyphMarginLeft:R,glyphMarginWidth:S,glyphMarginHeight:o,lineNumbersLeft:L,lineNumbersWidth:E,lineNumbersHeight:o,decorationsLeft:N,decorationsWidth:u,decorationsHeight:o,contentLeft:I,contentWidth:O,contentHeight:o,renderMinimap:T,minimapLeft:w,minimapWidth:k,viewportColumn:Math.max(1,Math.floor((O-d-2)/c)),verticalScrollbarWidth:d,horizontalScrollbarHeight:f,overviewRuler:{top:P,width:d,height:o-2*P,right:0}}},e}(),R={fontFamily:l.d?"Menlo, Monaco, 'Courier New', monospace":l.c?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:l.d?12:14,lineHeight:0,letterSpacing:0},L={tabSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},N={inDiffEditor:!1,wordSeparators:c.b,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:i.Same,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:!0,autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"auto",showUnused:!0,viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:a.a("editorViewAccessibleLabel","Editor content"),renderLineNumbers:1,renderCustomLineNumbers:null,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:r.Blink,mouseWheelZoom:!1,cursorStyle:s.Line,cursorWidth:0,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,scrollBeyondLastColumn:5,smoothScrolling:!1,stopRenderingLineAfter:1e4,renderWhitespace:"none",renderControlCharacters:!1,fontLigatures:!1,renderIndentGuides:!0,highlightActiveIndentGuide:!0,renderLineHighlight:"line",scrollbar:{vertical:u.b.Auto,horizontal:u.b.Auto,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1},minimap:{enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120},fixedOverflowWidgets:!1},contribInfo:{selectionClipboard:!0,hover:{enabled:!0,delay:300,sticky:!0},links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:!0,iconsInSuggestions:!0,formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!0,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,suggest:{filterGraceful:!0,snippets:"inline",snippetsPreventQuickSuggestions:!0},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(1),i=function(){function e(e){this.domNode=e,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily="",this._fontWeight="",this._fontSize=-1,this._lineHeight=-1,this._letterSpacing=-100,this._className="",this._display="",this._position="",this._visibility="",this._layerHint=!1}return e.prototype.setMaxWidth=function(e){this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth+"px")},e.prototype.setWidth=function(e){this._width!==e&&(this._width=e,this.domNode.style.width=this._width+"px")},e.prototype.setHeight=function(e){this._height!==e&&(this._height=e,this.domNode.style.height=this._height+"px")},e.prototype.setTop=function(e){this._top!==e&&(this._top=e,this.domNode.style.top=this._top+"px")},e.prototype.unsetTop=function(){-1!==this._top&&(this._top=-1,this.domNode.style.top="")},e.prototype.setLeft=function(e){this._left!==e&&(this._left=e,this.domNode.style.left=this._left+"px")},e.prototype.setBottom=function(e){this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom+"px")},e.prototype.setRight=function(e){this._right!==e&&(this._right=e,this.domNode.style.right=this._right+"px")},e.prototype.setFontFamily=function(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)},e.prototype.setFontWeight=function(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)},e.prototype.setFontSize=function(e){this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize+"px")},e.prototype.setLineHeight=function(e){this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight+"px")},e.prototype.setLetterSpacing=function(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing+"px")},e.prototype.setClassName=function(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)},e.prototype.toggleClassName=function(e,t){n.N(this.domNode,e,t),this._className=this.domNode.className},e.prototype.setDisplay=function(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)},e.prototype.setPosition=function(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)},e.prototype.setVisibility=function(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)},e.prototype.setLayerHinting=function(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.willChange=this._layerHint?"transform":"auto")},e.prototype.setAttribute=function(e,t){this.domNode.setAttribute(e,t)},e.prototype.removeAttribute=function(e){this.domNode.removeAttribute(e)},e.prototype.appendChild=function(e){this.domNode.appendChild(e.domNode)},e.prototype.removeChild=function(e){this.domNode.removeChild(e.domNode)},e}();function r(e){return new i(e)}},function(e,t,o){"use strict";o.d(t,"o",(function(){return a})),o.d(t,"p",(function(){return l})),o.d(t,"g",(function(){return h})),o.d(t,"f",(function(){return d})),o.d(t,"l",(function(){return p})),o.d(t,"a",(function(){return f})),o.d(t,"q",(function(){return m})),o.d(t,"b",(function(){return y})),o.d(t,"s",(function(){return v})),o.d(t,"e",(function(){return b})),o.d(t,"c",(function(){return E})),o.d(t,"d",(function(){return C})),o.d(t,"r",(function(){return S})),o.d(t,"i",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"w",(function(){return O})),o.d(t,"v",(function(){return R})),o.d(t,"n",(function(){return L})),o.d(t,"m",(function(){return N})),o.d(t,"k",(function(){return I})),o.d(t,"j",(function(){return D})),o.d(t,"t",(function(){return A})),o.d(t,"u",(function(){return P})),o.d(t,"x",(function(){return x})),o.d(t,"z",(function(){return M})),o.d(t,"y",(function(){return B}));var n=o(0),i=o(7),r=o(19),s=o(14),a=Object(i.kb)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},n.a("lineHighlight","Background color for the highlight of line at the cursor position.")),l=Object(i.kb)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},n.a("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),u=Object(i.kb)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},n.a("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque to not hide underlying decorations."),!0),c=Object(i.kb)("editor.rangeHighlightBorder",{dark:null,light:null,hc:i.b},n.a("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),h=Object(i.kb)("editorCursor.foreground",{dark:"#AEAFAD",light:s.a.black,hc:s.a.white},n.a("caret","Color of the editor cursor.")),d=Object(i.kb)("editorCursor.background",null,n.a("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),g=Object(i.kb)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},n.a("editorWhitespaces","Color of whitespace characters in the editor.")),p=Object(i.kb)("editorIndentGuide.background",{dark:g,light:g,hc:g},n.a("editorIndentGuides","Color of the editor indentation guides.")),f=Object(i.kb)("editorIndentGuide.activeBackground",{dark:g,light:g,hc:g},n.a("editorActiveIndentGuide","Color of the active editor indentation guides.")),m=Object(i.kb)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:s.a.white},n.a("editorLineNumbers","Color of editor line numbers.")),_=Object(i.kb)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:i.b},n.a("editorActiveLineNumber","Color of editor active line number"),!1,n.a("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),y=Object(i.kb)("editorLineNumber.activeForeground",{dark:_,light:_,hc:_},n.a("editorActiveLineNumber","Color of editor active line number")),v=Object(i.kb)("editorRuler.foreground",{dark:"#5A5A5A",light:s.a.lightgrey,hc:s.a.white},n.a("editorRuler","Color of the editor rulers.")),b=Object(i.kb)("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},n.a("editorCodeLensForeground","Foreground color of editor code lenses")),E=Object(i.kb)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},n.a("editorBracketMatchBackground","Background color behind matching brackets")),C=Object(i.kb)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:"#fff"},n.a("editorBracketMatchBorder","Color for matching brackets boxes")),S=Object(i.kb)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},n.a("editorOverviewRulerBorder","Color of the overview ruler border.")),T=Object(i.kb)("editorGutter.background",{dark:i.n,light:i.n,hc:i.n},n.a("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),w=Object(i.kb)("editorError.foreground",{dark:"#ea4646",light:"#d60a0a",hc:null},n.a("errorForeground","Foreground color of error squigglies in the editor.")),k=Object(i.kb)("editorError.border",{dark:null,light:null,hc:s.a.fromHex("#E47777").transparent(.8)},n.a("errorBorder","Border color of error squigglies in the editor.")),O=Object(i.kb)("editorWarning.foreground",{dark:"#4d9e4d",light:"#117711",hc:null},n.a("warningForeground","Foreground color of warning squigglies in the editor.")),R=Object(i.kb)("editorWarning.border",{dark:null,light:null,hc:s.a.fromHex("#71B771").transparent(.8)},n.a("warningBorder","Border color of warning squigglies in the editor.")),L=Object(i.kb)("editorInfo.foreground",{dark:"#008000",light:"#008000",hc:null},n.a("infoForeground","Foreground color of info squigglies in the editor.")),N=Object(i.kb)("editorInfo.border",{dark:null,light:null,hc:s.a.fromHex("#71B771").transparent(.8)},n.a("infoBorder","Border color of info squigglies in the editor.")),I=Object(i.kb)("editorHint.foreground",{dark:s.a.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},n.a("hintForeground","Foreground color of hint squigglies in the editor.")),D=Object(i.kb)("editorHint.border",{dark:null,light:null,hc:s.a.fromHex("#eeeeee").transparent(.8)},n.a("hintBorder","Border color of hint squigglies in the editor.")),A=Object(i.kb)("editorUnnecessaryCode.border",{dark:null,light:null,hc:s.a.fromHex("#fff").transparent(.8)},n.a("unnecessaryCodeBorder","Border of unnecessary code in the editor.")),P=Object(i.kb)("editorUnnecessaryCode.opacity",{dark:s.a.fromHex("#000a"),light:s.a.fromHex("#0007"),hc:null},n.a("unnecessaryCodeOpacity","Opacity of unnecessary code in the editor.")),x=Object(i.kb)("editorOverviewRuler.errorForeground",{dark:new s.a(new s.c(255,18,18,.7)),light:new s.a(new s.c(255,18,18,.7)),hc:new s.a(new s.c(255,50,50,1))},n.a("overviewRuleError","Overview ruler marker color for errors.")),M=Object(i.kb)("editorOverviewRuler.warningForeground",{dark:new s.a(new s.c(18,136,18,.7)),light:new s.a(new s.c(18,136,18,.7)),hc:new s.a(new s.c(50,255,50,1))},n.a("overviewRuleWarning","Overview ruler marker color for warnings.")),B=Object(i.kb)("editorOverviewRuler.infoForeground",{dark:new s.a(new s.c(18,18,136,.7)),light:new s.a(new s.c(18,18,136,.7)),hc:new s.a(new s.c(50,50,255,1))},n.a("overviewRuleInfo","Overview ruler marker color for infos."));Object(r.e)((function(e,t){var o=e.getColor(i.n);o&&t.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+o+"; }");var n=e.getColor(i.u);n&&t.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+n+"; }");var r=e.getColor(T);r&&t.addRule(".monaco-editor .margin { background-color: "+r+"; }");var s=e.getColor(u);s&&t.addRule(".monaco-editor .rangeHighlight { background-color: "+s+"; }");var a=e.getColor(c);a&&t.addRule(".monaco-editor .rangeHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+a+"; }");var l=e.getColor(g);l&&t.addRule(".vs-whitespace { color: "+l+" !important; }")}))},function(e,t,o){"use strict";o.d(t,"c",(function(){return i})),o.d(t,"d",(function(){return r})),o.d(t,"g",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"e",(function(){return u})),o.d(t,"b",(function(){return c})),o.d(t,"f",(function(){return h}));var n=o(21);function i(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(o){e[o]&&"object"==typeof e[o]?t[o]=i(e[o]):t[o]=e[o]})),t}function r(e){if(!e||"object"!=typeof e)return e;for(var t=[e];t.length>0;){var o=t.shift();for(var n in Object.freeze(o),o)if(s.call(o,n)){var i=o[n];"object"!=typeof i||Object.isFrozen(i)||t.push(i)}}return e}var s=Object.prototype.hasOwnProperty;function a(e,t,o){return void 0===o&&(o=!0),Object(n.g)(e)?(Object(n.g)(t)&&Object.keys(t).forEach((function(i){i in e?o&&(Object(n.g)(e[i])&&Object(n.g)(t[i])?a(e[i],t[i],o):e[i]=t[i]):e[i]=t[i]})),e):t}function l(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return t.forEach((function(t){return Object.keys(t).forEach((function(o){return e[o]=t[o]}))})),e}function u(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;var o,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(o=0;o<e.length;o++)if(!u(e[o],t[o]))return!1}else{var i=[];for(n in e)i.push(n);i.sort();var r=[];for(n in t)r.push(n);if(r.sort(),!u(i,r))return!1;for(o=0;o<i.length;o++)if(!u(e[i[o]],t[i[o]]))return!1}return!0}function c(e,t){void 0===t&&(t=!1),t&&(e=e.map((function(e){return e.toLowerCase()})));var o=function(e){for(var t={},o=0;o<e.length;++o)t[e[o]]=!0;return t}(e);return t?function(e){return void 0!==o[e.toLowerCase()]&&o.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==o[e]&&o.hasOwnProperty(e)}}function h(e,t,o){void 0===o&&(o=null);var n=t(e);return void 0===n?o:n}},function(e,t,o){"use strict";(function(e,o){
+!function(e){function t(t){for(var o,i,r=t[0],s=t[1],a=0,u=[];a<r.length;a++)i=r[a],Object.prototype.hasOwnProperty.call(n,i)&&n[i]&&u.push(n[i][0]),n[i]=0;for(o in s)Object.prototype.hasOwnProperty.call(s,o)&&(e[o]=s[o]);for(l&&l(t);u.length;)u.shift()()}var o={},n={1:0};function i(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],o=n[e];if(0!==o)if(o)t.push(o[2]);else{var r=new Promise((function(t,i){o=n[e]=[t,i]}));t.push(o[2]=r);var s,a=document.createElement("script");a.charset="utf-8",a.timeout=120,i.nc&&a.setAttribute("nonce",i.nc),a.src=function(e){return i.p+""+e+".bundle.js"}(e);var l=new Error;s=function(t){a.onerror=a.onload=null,clearTimeout(u);var o=n[e];if(0!==o){if(o){var i=t&&("load"===t.type?"missing":t.type),r=t&&t.target&&t.target.src;l.message="Loading chunk "+e+" failed.\n("+i+": "+r+")",l.name="ChunkLoadError",l.type=i,l.request=r,o[1](l)}n[e]=void 0}};var u=setTimeout((function(){s({type:"timeout",target:a})}),12e4);a.onerror=a.onload=s,document.head.appendChild(a)}return Promise.all(t)},i.m=e,i.c=o,i.d=function(e,t,o){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)i.d(o,n,function(t){return e[t]}.bind(null,n));return o},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],s=r.push.bind(r);r.push=t,r=r.slice();for(var a=0;a<r.length;a++)t(r[a]);var l=s;i(i.s=550)}([function(e,t,o){"use strict";function n(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];return function(e,t){return 0===t.length?e:e.replace(/\{(\d+)\}/g,(function(e,o){var n=o[0];return void 0!==t[n]?t[n]:e}))}(t,o)}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";o.d(t,"l",(function(){return p})),o.d(t,"D",(function(){return f})),o.d(t,"z",(function(){return v})),o.d(t,"f",(function(){return b})),o.d(t,"G",(function(){return E})),o.d(t,"N",(function(){return C})),o.d(t,"g",(function(){return T})),o.d(t,"j",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"J",(function(){return O})),o.d(t,"L",(function(){return R})),o.d(t,"i",(function(){return H})),o.d(t,"r",(function(){return U})),o.d(t,"q",(function(){return j})),o.d(t,"b",(function(){return z})),o.d(t,"w",(function(){return K})),o.d(t,"u",(function(){return Y})),o.d(t,"e",(function(){return X})),o.d(t,"y",(function(){return q})),o.d(t,"t",(function(){return $})),o.d(t,"s",(function(){return J})),o.d(t,"x",(function(){return Z})),o.d(t,"B",(function(){return Q})),o.d(t,"p",(function(){return ee})),o.d(t,"o",(function(){return te})),o.d(t,"n",(function(){return ie})),o.d(t,"F",(function(){return re})),o.d(t,"C",(function(){return se})),o.d(t,"d",(function(){return ae})),o.d(t,"c",(function(){return le})),o.d(t,"K",(function(){return ue})),o.d(t,"I",(function(){return ce})),o.d(t,"O",(function(){return de})),o.d(t,"k",(function(){return ge})),o.d(t,"E",(function(){return pe})),o.d(t,"a",(function(){return me})),o.d(t,"M",(function(){return _e})),o.d(t,"A",(function(){return ye})),o.d(t,"H",(function(){return ve})),o.d(t,"v",(function(){return be})),o.d(t,"m",(function(){return Ee})),o.d(t,"P",(function(){return Ce}));var n,i=o(15),r=o(17),s=o(13),a=o(6),l=o(24),u=o(51),c=o(41),h=o(4),d=o(50),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function p(e){for(;e.firstChild;)e.removeChild(e.firstChild)}function f(e){for(;e;){if(e===document.body)return!0;e=e.parentNode}return!1}var m=new(function(){function e(){}return e.prototype._findClassName=function(e,t){var o=e.className;if(o){t=t.trim();var n=o.length,i=t.length;if(0!==i)if(n<i)this._lastStart=-1;else{if(o===t)return this._lastStart=0,void(this._lastEnd=n);for(var r,s=-1;(s=o.indexOf(t,s+1))>=0;){if(r=s+i,(0===s||32===o.charCodeAt(s-1))&&32===o.charCodeAt(r))return this._lastStart=s,void(this._lastEnd=r+1);if(s>0&&32===o.charCodeAt(s-1)&&r===n)return this._lastStart=s-1,void(this._lastEnd=r);if(0===s&&r===n)return this._lastStart=0,void(this._lastEnd=r)}this._lastStart=-1}else this._lastStart=-1}else this._lastStart=-1},e.prototype.hasClass=function(e,t){return this._findClassName(e,t),-1!==this._lastStart},e.prototype.addClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.addClass(e,o)}))}))},e.prototype.addClass=function(e,t){e.className?(this._findClassName(e,t),-1===this._lastStart&&(e.className=e.className+" "+t)):e.className=t},e.prototype.removeClass=function(e,t){this._findClassName(e,t),-1!==this._lastStart&&(e.className=e.className.substring(0,this._lastStart)+e.className.substring(this._lastEnd))},e.prototype.removeClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.removeClass(e,o)}))}))},e.prototype.toggleClass=function(e,t,o){this._findClassName(e,t),-1===this._lastStart||void 0!==o&&o||this.removeClass(e,t),-1!==this._lastStart||void 0!==o&&!o||this.addClass(e,t)},e}()),_=new(function(){function e(){}return e.prototype.hasClass=function(e,t){return t&&e.classList&&e.classList.contains(t)},e.prototype.addClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.addClass(e,o)}))}))},e.prototype.addClass=function(e,t){t&&e.classList&&e.classList.add(t)},e.prototype.removeClass=function(e,t){t&&e.classList&&e.classList.remove(t)},e.prototype.removeClasses=function(e){for(var t=this,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];o.forEach((function(o){return o.split(" ").forEach((function(o){return t.removeClass(e,o)}))}))},e.prototype.toggleClass=function(e,t,o){e.classList&&e.classList.toggle(t,o)},e}()),y=l.k?m:_,v=y.hasClass.bind(y),b=y.addClass.bind(y),E=y.removeClass.bind(y),C=y.toggleClass.bind(y),S=function(){function e(e,t,o,n){this._node=e,this._type=t,this._handler=o,this._useCapture=n||!1,this._node.addEventListener(this._type,this._handler,this._useCapture)}return e.prototype.dispose=function(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._useCapture),this._node=null,this._handler=null)},e}();function T(e,t,o,n){return new S(e,t,o,n)}var w=function(e,t,o,n){var i=o;return"click"===t||"mousedown"===t?i=function(e){return function(t){return e(new c.b(t))}}(o):"keydown"!==t&&"keypress"!==t&&"keyup"!==t||(i=function(e){return function(t){return e(new u.a(t))}}(o)),T(e,t,i,n)};function k(e,t){return T(e,"mouseout",(function(o){for(var n=o.relatedTarget||o.toElement;n&&n!==e;)n=n.parentNode;n!==e&&t(o)}))}var O,R,N=null;var L,I,D,A,P,M=function(){function e(e,t){this._runner=e,this.priority=t,this._canceled=!1}return e.prototype.dispose=function(){this._canceled=!0},e.prototype.execute=function(){if(!this._canceled)try{this._runner()}catch(e){Object(s.e)(e)}},e.sort=function(e,t){return t.priority-e.priority},e}();L=[],I=null,D=!1,A=!1,P=function(){for(D=!1,I=L,L=[],A=!0;I.length>0;)I.sort(M.sort),I.shift().execute();A=!1},R=function(e,t){void 0===t&&(t=0);var o,n=new M(e,t);return L.push(n),D||(D=!0,o=P,N||(N=self.requestAnimationFrame||self.msRequestAnimationFrame||self.webkitRequestAnimationFrame||self.mozRequestAnimationFrame||self.oRequestAnimationFrame||function(e){return setTimeout((function(){return e((new Date).getTime())}),0)}),N.call(self,o)),n},O=function(e,t){if(A){var o=new M(e,t);return I.push(o),o}return R(e,t)};var x=16,B=function(e,t){return t},F=function(e){function t(t,o,n,i,s){void 0===i&&(i=B),void 0===s&&(s=x);var a=e.call(this)||this,l=null,u=0,c=a._register(new r.f),h=function(){u=(new Date).getTime(),n(l),l=null};return a._register(T(t,o,(function(e){l=i(l,e);var t=(new Date).getTime()-u;t>=s?(c.cancel(),h()):c.setIfNotSet(h,s-t)}))),a}return g(t,e),t}(a.a);function H(e,t,o,n,i){return new F(e,t,o,n,i)}function U(e){return document.defaultView.getComputedStyle(e,null)}var V=function(e,t){return parseFloat(t)||0};function W(e,t,o){var n=U(e),i="0";return n&&(i=n.getPropertyValue?n.getPropertyValue(t):n.getAttribute(o)),V(e,i)}function j(e){if(e!==document.body)return new z(e.clientWidth,e.clientHeight);if(window.innerWidth&&window.innerHeight)return new z(window.innerWidth,window.innerHeight);if(document.body&&document.body.clientWidth&&document.body.clientWidth)return new z(document.body.clientWidth,document.body.clientHeight);if(document.documentElement&&document.documentElement.clientWidth&&document.documentElement.clientHeight)return new z(document.documentElement.clientWidth,document.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}var G={getBorderLeftWidth:function(e){return W(e,"border-left-width","borderLeftWidth")},getBorderRightWidth:function(e){return W(e,"border-right-width","borderRightWidth")},getBorderTopWidth:function(e){return W(e,"border-top-width","borderTopWidth")},getBorderBottomWidth:function(e){return W(e,"border-bottom-width","borderBottomWidth")},getPaddingLeft:function(e){return W(e,"padding-left","paddingLeft")},getPaddingRight:function(e){return W(e,"padding-right","paddingRight")},getPaddingTop:function(e){return W(e,"padding-top","paddingTop")},getPaddingBottom:function(e){return W(e,"padding-bottom","paddingBottom")},getMarginLeft:function(e){return W(e,"margin-left","marginLeft")},getMarginTop:function(e){return W(e,"margin-top","marginTop")},getMarginRight:function(e){return W(e,"margin-right","marginRight")},getMarginBottom:function(e){return W(e,"margin-bottom","marginBottom")},__commaSentinel:!1},z=function(e,t){this.width=e,this.height=t};function K(e){for(var t=e.offsetParent,o=e.offsetTop,n=e.offsetLeft;null!==(e=e.parentNode)&&e!==document.body&&e!==document.documentElement;){o-=e.scrollTop;var i=U(e);i&&(n-="rtl"!==i.direction?e.scrollLeft:-e.scrollLeft),e===t&&(n+=G.getBorderLeftWidth(e),o+=G.getBorderTopWidth(e),o+=e.offsetTop,n+=e.offsetLeft,t=e.offsetParent)}return{left:n,top:o}}function Y(e){var t=e.getBoundingClientRect();return{left:t.left+X.scrollX,top:t.top+X.scrollY,width:t.width,height:t.height}}var X=new(function(){function e(){}return Object.defineProperty(e.prototype,"scrollX",{get:function(){return"number"==typeof window.scrollX?window.scrollX:document.body.scrollLeft+document.documentElement.scrollLeft},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"scrollY",{get:function(){return"number"==typeof window.scrollY?window.scrollY:document.body.scrollTop+document.documentElement.scrollTop},enumerable:!0,configurable:!0}),e}());function q(e){var t=G.getMarginLeft(e)+G.getMarginRight(e);return e.offsetWidth+t}function $(e){var t=G.getBorderLeftWidth(e)+G.getBorderRightWidth(e),o=G.getPaddingLeft(e)+G.getPaddingRight(e);return e.offsetWidth-t-o}function J(e){var t=G.getBorderTopWidth(e)+G.getBorderBottomWidth(e),o=G.getPaddingTop(e)+G.getPaddingBottom(e);return e.offsetHeight-t-o}function Z(e){var t=G.getMarginTop(e)+G.getMarginBottom(e);return e.offsetHeight+t}function Q(e,t){for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function ee(e,t,o){for(;e;){if(v(e,t))return e;if(o)if("string"==typeof o){if(v(e,o))return null}else if(e===o)return null;e=e.parentNode}return null}function te(e){void 0===e&&(e=document.getElementsByTagName("head")[0]);var t=document.createElement("style");return t.type="text/css",t.media="screen",e.appendChild(t),t}var oe=null;function ne(){return oe||(oe=te()),oe}function ie(e,t,o){void 0===o&&(o=ne()),o&&t&&o.sheet.insertRule(e+"{"+t+"}",0)}function re(e,t){if(void 0===t&&(t=ne()),t){for(var o=function(e){return e&&e.sheet&&e.sheet.rules?e.sheet.rules:e&&e.sheet&&e.sheet.cssRules?e.sheet.cssRules:[]}(t),n=[],i=0;i<o.length;i++){-1!==o[i].selectorText.indexOf(e)&&n.push(i)}for(i=n.length-1;i>=0;i--)t.sheet.deleteRule(n[i])}}function se(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&1===e.nodeType&&"string"==typeof e.nodeName}var ae={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",UNLOAD:"unload",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:l.n?"webkitAnimationStart":"animationstart",ANIMATION_END:l.n?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:l.n?"webkitAnimationIteration":"animationiteration"},le={stop:function(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)}};function ue(e){for(var t=[],o=0;e&&e.nodeType===e.ELEMENT_NODE;o++)t[o]=e.scrollTop,e=e.parentNode;return t}function ce(e,t){for(var o=0;e&&e.nodeType===e.ELEMENT_NODE;o++)e.scrollTop!==t[o]&&(e.scrollTop=t[o]),e=e.parentNode}var he=function(){function e(e){var t=this;this._onDidFocus=new h.a,this.onDidFocus=this._onDidFocus.event,this._onDidBlur=new h.a,this.onDidBlur=this._onDidBlur.event,this.disposables=[];var o=!1,n=!1;Object(d.a)(e,ae.FOCUS,!0)((function(){n=!1,o||(o=!0,t._onDidFocus.fire())}),null,this.disposables),Object(d.a)(e,ae.BLUR,!0)((function(){o&&(n=!0,window.setTimeout((function(){n&&(n=!1,o=!1,t._onDidBlur.fire())}),0))}),null,this.disposables)}return e.prototype.dispose=function(){this.disposables=Object(a.d)(this.disposables),this._onDidFocus.dispose(),this._onDidBlur.dispose()},e}();function de(e){return new he(e)}function ge(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return t.forEach((function(t){return e.appendChild(t)})),t[t.length-1]}function pe(e,t){return e.insertBefore(t,e.firstChild),t}var fe=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/;function me(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=fe.exec(e);if(!i)throw new Error("Bad use of emmet");var r=document.createElement(i[1]||"div");return i[3]&&(r.id=i[3]),i[4]&&(r.className=i[4].replace(/\./g," ").trim()),Object.keys(t||{}).forEach((function(e){if(/^on\w+$/.test(e))r[e]=t[e];else if("selected"===e){t[e]&&r.setAttribute(e,"true")}else r.setAttribute(e,t[e])})),o.filter((function(e){return!!e})).forEach((function(e){e instanceof Node?r.appendChild(e):r.appendChild(document.createTextNode(e))})),r}function _e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0,n=e;o<n.length;o++){var i=n[o];i.style.display="",i.removeAttribute("aria-hidden")}}function ye(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0,n=e;o<n.length;o++){var i=n[o];i.style.display="none",i.setAttribute("aria-hidden","true")}}function ve(e){if(e&&e.hasAttribute("tabIndex")){if(document.activeElement===e){var t=function(e,t){for(;e;){if(e instanceof HTMLElement&&e.hasAttribute(t))return e;e=e.parentNode}return null}(e.parentElement,"tabIndex");t&&t.focus()}e.removeAttribute("tabindex")}}function be(e){return Array.prototype.slice.call(document.getElementsByTagName(e),0)}function Ee(e){var t=window.devicePixelRatio*e;return Math.max(1,Math.floor(t))/window.devicePixelRatio}function Ce(e){if(i.e||l.i)window.open(e);else{var t=window.open();t&&(t.opener=null,t.location.href=e)}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(9),i=function(){function e(e,t,o,n){e>o||e===o&&t>n?(this.startLineNumber=o,this.startColumn=n,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=o,this.endColumn=n)}return e.prototype.isEmpty=function(){return e.isEmpty(this)},e.isEmpty=function(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn},e.prototype.containsPosition=function(t){return e.containsPosition(this,t)},e.containsPosition=function(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber)&&(!(t.lineNumber===e.startLineNumber&&t.column<e.startColumn)&&!(t.lineNumber===e.endLineNumber&&t.column>e.endColumn))},e.prototype.containsRange=function(t){return e.containsRange(this,t)},e.containsRange=function(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber)&&(!(t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber)&&(!(t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn)&&!(t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)))},e.prototype.plusRange=function(t){return e.plusRange(this,t)},e.plusRange=function(t,o){var n,i,r,s;return o.startLineNumber<t.startLineNumber?(n=o.startLineNumber,i=o.startColumn):o.startLineNumber===t.startLineNumber?(n=o.startLineNumber,i=Math.min(o.startColumn,t.startColumn)):(n=t.startLineNumber,i=t.startColumn),o.endLineNumber>t.endLineNumber?(r=o.endLineNumber,s=o.endColumn):o.endLineNumber===t.endLineNumber?(r=o.endLineNumber,s=Math.max(o.endColumn,t.endColumn)):(r=t.endLineNumber,s=t.endColumn),new e(n,i,r,s)},e.prototype.intersectRanges=function(t){return e.intersectRanges(this,t)},e.intersectRanges=function(t,o){var n=t.startLineNumber,i=t.startColumn,r=t.endLineNumber,s=t.endColumn,a=o.startLineNumber,l=o.startColumn,u=o.endLineNumber,c=o.endColumn;return n<a?(n=a,i=l):n===a&&(i=Math.max(i,l)),r>u?(r=u,s=c):r===u&&(s=Math.min(s,c)),n>r?null:n===r&&i>s?null:new e(n,i,r,s)},e.prototype.equalsRange=function(t){return e.equalsRange(this,t)},e.equalsRange=function(e,t){return!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn},e.prototype.getEndPosition=function(){return new n.a(this.endLineNumber,this.endColumn)},e.prototype.getStartPosition=function(){return new n.a(this.startLineNumber,this.startColumn)},e.prototype.toString=function(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"},e.prototype.setEndPosition=function(t,o){return new e(this.startLineNumber,this.startColumn,t,o)},e.prototype.setStartPosition=function(t,o){return new e(t,o,this.endLineNumber,this.endColumn)},e.prototype.collapseToStart=function(){return e.collapseToStart(this)},e.collapseToStart=function(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)},e.fromPositions=function(t,o){return void 0===o&&(o=t),new e(t.lineNumber,t.column,o.lineNumber,o.column)},e.lift=function(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null},e.isIRange=function(e){return e&&"number"==typeof e.startLineNumber&&"number"==typeof e.startColumn&&"number"==typeof e.endLineNumber&&"number"==typeof e.endColumn},e.areIntersectingOrTouching=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)},e.areIntersecting=function(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)&&!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)},e.compareRangesUsingStarts=function(e,t){var o=0|e.startLineNumber,n=0|t.startLineNumber;if(o===n){var i=0|e.startColumn,r=0|t.startColumn;if(i===r){var s=0|e.endLineNumber,a=0|t.endLineNumber;return s===a?(0|e.endColumn)-(0|t.endColumn):s-a}return i-r}return o-n},e.compareRangesUsingEnds=function(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber},e.spansMultipleLines=function(e){return e.endLineNumber>e.startLineNumber},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return y})),o.d(t,"c",(function(){return v})),o.d(t,"b",(function(){return b})),o.d(t,"j",(function(){return E})),o.d(t,"e",(function(){return C})),o.d(t,"g",(function(){return S})),o.d(t,"f",(function(){return T})),o.d(t,"i",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"d",(function(){return i}));var n,i,r=o(13),s=o(33),a=o(37),l=o(84),u=o(57),c=o(110),h=o(9),d=o(60),g=o(38),p=o(12),f=o(36),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},y=function(){function e(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menubarOpts=e.menubarOpts,this._description=e.description}return e.prototype.register=function(){var e=this;if(this._menubarOpts&&g.d.appendMenuItem(this._menubarOpts.menuId,{group:this._menubarOpts.group,command:{id:this.id,title:this._menubarOpts.title},when:this._menubarOpts.when,order:this._menubarOpts.order}),this._kbOpts){var t=this._kbOpts.kbExpr;this.precondition&&(t=t?p.d.and(t,this.precondition):this.precondition),l.a.registerCommandAndKeybindingRule({id:this.id,handler:function(t,o){return e.runCommand(t,o)},weight:this._kbOpts.weight,when:t,primary:this._kbOpts.primary,secondary:this._kbOpts.secondary,win:this._kbOpts.win,linux:this._kbOpts.linux,mac:this._kbOpts.mac,description:this._description})}else a.a.registerCommand({id:this.id,handler:function(t,o){return e.runCommand(t,o)},description:this._description})},e}(),v=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return m(t,e),t.bindToContribution=function(e){return function(t){function o(e){var o=t.call(this,e)||this;return o._callback=e.handler,o}return m(o,t),o.prototype.runEditorCommand=function(t,o,n){e(o)&&this._callback(e(o))},o}(t)},t.prototype.runCommand=function(e,t){var o=this,n=e.get(f.a),i=n.getFocusedCodeEditor()||n.getActiveCodeEditor();if(i)return i.invokeWithinContext((function(e){if(e.get(p.e).contextMatchesRules(o.precondition))return o.runEditorCommand(e,i,t)}))},t}(y),b=function(e){function t(t){var o=e.call(this,t)||this;return o.label=t.label,o.alias=t.alias,o.menuOpts=t.menuOpts,o}return m(t,e),t.prototype.register=function(){this.menuOpts&&g.d.appendMenuItem(g.b.EditorContext,{command:{id:this.id,title:this.label},when:p.d.and(this.precondition,this.menuOpts.when),group:this.menuOpts.group,order:this.menuOpts.order}),e.prototype.register.call(this)},t.prototype.runEditorCommand=function(e,t,o){return this.reportTelemetry(e,t),this.run(e,t,o||{})},t.prototype.reportTelemetry=function(e,t){e.get(c.a).publicLog("editorActionInvoked",_({name:this.label,id:this.id},t.getTelemetryData()))},t}(v);function E(e,t){a.a.registerCommand(e,(function(e,o){return t(e,o||{})}))}function C(e,t){E(e,(function(e,o){var n=o.resource,i=o.position;if(!(n instanceof s.a))throw Object(r.b)("resource");if(!h.a.isIPosition(i))throw Object(r.b)("position");var a=e.get(d.a).getModel(n);if(!a)throw Object(r.b)("Can not find open model for "+n);var l=h.a.lift(i);return t(a,l,o)}))}function S(e){return O.INSTANCE.registerEditorCommand(e),e}function T(e){O.INSTANCE.registerEditorAction(new e)}function w(e){O.INSTANCE.registerEditorAction(e)}function k(e){O.INSTANCE.registerEditorContribution(e)}!function(e){e.getEditorCommand=function(e){return O.INSTANCE.getEditorCommand(e)},e.getEditorActions=function(){return O.INSTANCE.getEditorActions()},e.getEditorContributions=function(){return O.INSTANCE.getEditorContributions()}}(i||(i={}));var O=function(){function e(){this.editorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}return e.prototype.registerEditorContribution=function(e){this.editorContributions.push(e)},e.prototype.registerEditorAction=function(e){e.register(),this.editorActions.push(e)},e.prototype.getEditorContributions=function(){return this.editorContributions.slice(0)},e.prototype.getEditorActions=function(){return this.editorActions.slice(0)},e.prototype.registerEditorCommand=function(e){e.register(),this.editorCommands[e.id]=e},e.prototype.getEditorCommand=function(e){return this.editorCommands[e]||null},e.INSTANCE=new e,e}();u.a.add("editor.contributions",O.INSTANCE)},function(e,t,o){"use strict";var n=o(13);var i,r=o(6),s=o(201);o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return a})),o.d(t,"d",(function(){return l})),o.d(t,"k",(function(){return u})),o.d(t,"f",(function(){return c})),o.d(t,"h",(function(){return h})),o.d(t,"c",(function(){return d})),o.d(t,"j",(function(){return g})),o.d(t,"i",(function(){return p})),o.d(t,"g",(function(){return m})),o.d(t,"e",(function(){return _})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(i||(i={}));var a=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(o,n,i){t._listeners||(t._listeners=new s.a);var r=t._listeners.isEmpty();r&&t._options&&t._options.onFirstListenerAdd&&t._options.onFirstListenerAdd(t);var a,l=t._listeners.push(n?[o,n]:o);return r&&t._options&&t._options.onFirstListenerDidAdd&&t._options.onFirstListenerDidAdd(t),t._options&&t._options.onListenerDidAdd&&t._options.onListenerDidAdd(t,o,n),a={dispose:function(){a.dispose=e._noop,t._disposed||(l(),t._options&&t._options.onLastListenerRemove&&t._listeners.isEmpty()&&t._options.onLastListenerRemove(t))}},Array.isArray(i)&&i.push(a),a}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=[]);for(var t=this._listeners.iterator(),o=t.next();!o.done;o=t.next())this._deliveryQueue.push([o.value,e]);for(;this._deliveryQueue.length>0;){var i=this._deliveryQueue.shift(),r=i[0],s=i[1];try{"function"==typeof r?r.call(void 0,s):r[0].call(r[1],s)}catch(o){Object(n.e)(o)}}}},e.prototype.dispose=function(){this._listeners&&(this._listeners=void 0),this._deliveryQueue&&(this._deliveryQueue.length=0),this._disposed=!0},e._noop=function(){},e}(),l=function(){function e(){var e=this;this.hasListeners=!1,this.events=[],this.emitter=new a({onFirstListenerAdd:function(){return e.onFirstListenerAdd()},onLastListenerRemove:function(){return e.onLastListenerRemove()}})}return Object.defineProperty(e.prototype,"event",{get:function(){return this.emitter.event},enumerable:!0,configurable:!0}),e.prototype.add=function(e){var t=this,o={event:e,listener:null};this.events.push(o),this.hasListeners&&this.hook(o);return Object(r.f)(function(e){var t,o=this,n=!1;return function(){return n?t:(n=!0,t=e.apply(o,arguments))}}((function(){t.hasListeners&&t.unhook(o);var e=t.events.indexOf(o);t.events.splice(e,1)})))},e.prototype.onFirstListenerAdd=function(){var e=this;this.hasListeners=!0,this.events.forEach((function(t){return e.hook(t)}))},e.prototype.onLastListenerRemove=function(){var e=this;this.hasListeners=!1,this.events.forEach((function(t){return e.unhook(t)}))},e.prototype.hook=function(e){var t=this;e.listener=e.event((function(e){return t.emitter.fire(e)}))},e.prototype.unhook=function(e){e.listener.dispose(),e.listener=null},e.prototype.dispose=function(){this.emitter.dispose()},e}();function u(e){return function(t,o,n){void 0===o&&(o=null);var i=e((function(e){return i.dispose(),t.call(o,e)}),null,n);return i}}function c(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,o,n){return void 0===o&&(o=null),Object(r.c)(e.map((function(e){return e((function(e){return t.call(o,e)}),null,n)})))}}function h(e,t,o,n){var i;void 0===o&&(o=100),void 0===n&&(n=!1);var r=void 0,s=void 0,l=0,u=new a({onFirstListenerAdd:function(){i=e((function(e){l++,r=t(r,e),n&&!s&&u.fire(r),clearTimeout(s),s=setTimeout((function(){var e=r;r=void 0,s=void 0,(!n||l>1)&&u.fire(e),l=0}),o)}))},onLastListenerRemove:function(){i.dispose()}});return u.event}var d=function(){function e(){this.buffers=[]}return e.prototype.wrapEvent=function(e){var t=this;return function(o,n,i){return e((function(e){var i=t.buffers[t.buffers.length-1];i?i.push((function(){return o.call(n,e)})):o.call(n,e)}),void 0,i)}},e.prototype.bufferEvents=function(e){var t=[];this.buffers.push(t),e(),this.buffers.pop(),t.forEach((function(e){return e()}))},e}();function g(e,t){return function(o,n,i){return void 0===n&&(n=null),e((function(e){return o.call(n,t(e))}),null,i)}}function p(e,t){return function(o,n,i){return void 0===n&&(n=null),e((function(e){return t(e)&&o.call(n,e)}),null,i)}}var f=function(){function e(e){this._event=e}return Object.defineProperty(e.prototype,"event",{get:function(){return this._event},enumerable:!0,configurable:!0}),e.prototype.map=function(t){return new e(g(this._event,t))},e.prototype.filter=function(t){return new e(p(this._event,t))},e.prototype.on=function(e,t,o){return this._event(e,t,o)},e}();function m(e){return new f(e)}var _=function(){function e(){this.emitter=new a,this.event=this.emitter.event,this.disposable=r.a.None}return Object.defineProperty(e.prototype,"input",{set:function(e){this.disposable.dispose(),this.disposable=e(this.emitter.fire,this.emitter)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposable.dispose(),this.emitter.dispose()},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n,i=o(12);!function(e){e.editorTextFocus=new i.f("editorTextFocus",!1),e.focus=new i.f("editorFocus",!1),e.textInputFocus=new i.f("textInputFocus",!1),e.readOnly=new i.f("editorReadonly",!1),e.writable=e.readOnly.toNegated(),e.hasNonEmptySelection=new i.f("editorHasSelection",!1),e.hasOnlyEmptySelection=e.hasNonEmptySelection.toNegated(),e.hasMultipleSelections=new i.f("editorHasMultipleSelections",!1),e.hasSingleSelection=e.hasMultipleSelections.toNegated(),e.tabMovesFocus=new i.f("editorTabMovesFocus",!1),e.tabDoesNotMoveFocus=e.tabMovesFocus.toNegated(),e.isInEmbeddedEditor=new i.f("isInEmbeddedEditor",void 0),e.canUndo=new i.f("canUndo",!1),e.canRedo=new i.f("canRedo",!1),e.languageId=new i.f("editorLangId",void 0),e.hasCompletionItemProvider=new i.f("editorHasCompletionItemProvider",void 0),e.hasCodeActionsProvider=new i.f("editorHasCodeActionsProvider",void 0),e.hasCodeLensProvider=new i.f("editorHasCodeLensProvider",void 0),e.hasDefinitionProvider=new i.f("editorHasDefinitionProvider",void 0),e.hasImplementationProvider=new i.f("editorHasImplementationProvider",void 0),e.hasTypeDefinitionProvider=new i.f("editorHasTypeDefinitionProvider",void 0),e.hasHoverProvider=new i.f("editorHasHoverProvider",void 0),e.hasDocumentHighlightProvider=new i.f("editorHasDocumentHighlightProvider",void 0),e.hasDocumentSymbolProvider=new i.f("editorHasDocumentSymbolProvider",void 0),e.hasReferenceProvider=new i.f("editorHasReferenceProvider",void 0),e.hasRenameProvider=new i.f("editorHasRenameProvider",void 0),e.hasDocumentFormattingProvider=new i.f("editorHasDocumentFormattingProvider",void 0),e.hasDocumentSelectionFormattingProvider=new i.f("editorHasDocumentSelectionFormattingProvider",void 0),e.hasSignatureHelpProvider=new i.f("editorHasSignatureHelpProvider",void 0)}(n||(n={}))},function(e,t,o){"use strict";function n(e){return"function"==typeof e.dispose&&0===e.dispose.length}function i(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return Array.isArray(e)?(e.forEach((function(e){return e&&e.dispose()})),[]):0===t.length?e?(e.dispose(),e):void 0:(i(e),i(t),[])}function r(e){return{dispose:function(){return i(e)}}}function s(e){return{dispose:function(){e()}}}o.d(t,"e",(function(){return n})),o.d(t,"d",(function(){return i})),o.d(t,"c",(function(){return r})),o.d(t,"f",(function(){return s})),o.d(t,"a",(function(){return a})),o.d(t,"b",(function(){return l}));var a=function(){function e(){this._toDispose=[]}return Object.defineProperty(e.prototype,"toDispose",{get:function(){return this._toDispose},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._toDispose=i(this._toDispose)},e.prototype._register=function(e){return this._toDispose.push(e),e},e.None=Object.freeze({dispose:function(){}}),e}(),l=function(){function e(e){this.object=e}return e.prototype.dispose=function(){},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"kb",(function(){return l})),o.d(t,"I",(function(){return u})),o.d(t,"G",(function(){return c})),o.d(t,"H",(function(){return h})),o.d(t,"e",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"qb",(function(){return p})),o.d(t,"pb",(function(){return f})),o.d(t,"rb",(function(){return m})),o.d(t,"K",(function(){return _})),o.d(t,"M",(function(){return y})),o.d(t,"L",(function(){return v})),o.d(t,"J",(function(){return b})),o.d(t,"P",(function(){return E})),o.d(t,"Q",(function(){return C})),o.d(t,"R",(function(){return S})),o.d(t,"S",(function(){return T})),o.d(t,"N",(function(){return w})),o.d(t,"O",(function(){return k})),o.d(t,"W",(function(){return O})),o.d(t,"X",(function(){return R})),o.d(t,"T",(function(){return N})),o.d(t,"U",(function(){return L})),o.d(t,"cb",(function(){return I})),o.d(t,"db",(function(){return D})),o.d(t,"bb",(function(){return A})),o.d(t,"Z",(function(){return P})),o.d(t,"ab",(function(){return M})),o.d(t,"V",(function(){return x})),o.d(t,"Y",(function(){return B})),o.d(t,"ib",(function(){return F})),o.d(t,"hb",(function(){return H})),o.d(t,"c",(function(){return U})),o.d(t,"d",(function(){return V})),o.d(t,"lb",(function(){return W})),o.d(t,"nb",(function(){return j})),o.d(t,"ob",(function(){return G})),o.d(t,"mb",(function(){return z})),o.d(t,"jb",(function(){return K})),o.d(t,"n",(function(){return Y})),o.d(t,"u",(function(){return X})),o.d(t,"D",(function(){return q})),o.d(t,"E",(function(){return $})),o.d(t,"F",(function(){return J})),o.d(t,"z",(function(){return Z})),o.d(t,"A",(function(){return Q})),o.d(t,"y",(function(){return ee})),o.d(t,"B",(function(){return te})),o.d(t,"C",(function(){return oe})),o.d(t,"o",(function(){return ne})),o.d(t,"q",(function(){return ie})),o.d(t,"s",(function(){return re})),o.d(t,"p",(function(){return se})),o.d(t,"r",(function(){return ae})),o.d(t,"t",(function(){return le})),o.d(t,"x",(function(){return ue})),o.d(t,"v",(function(){return ce})),o.d(t,"w",(function(){return he})),o.d(t,"m",(function(){return de})),o.d(t,"f",(function(){return ge})),o.d(t,"g",(function(){return pe})),o.d(t,"i",(function(){return fe})),o.d(t,"k",(function(){return me})),o.d(t,"j",(function(){return _e})),o.d(t,"l",(function(){return ye})),o.d(t,"h",(function(){return ve})),o.d(t,"fb",(function(){return Ee})),o.d(t,"gb",(function(){return Ce})),o.d(t,"eb",(function(){return Te}));var n=o(57),i=o(14),r=o(0),s={ColorContribution:"base.contributions.colors"},a=new(function(){function e(){this.colorSchema={type:"object",description:r.a("schema.colors","Colors used in the workbench."),properties:{},additionalProperties:!1},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}return e.prototype.registerColor=function(e,t,o,n,i){void 0===n&&(n=!1);var r={id:e,description:o,defaults:t,needsTransparency:n,deprecationMessage:i};this.colorsById[e]=r;var s={type:"string",description:o,format:"color-hex",default:"#ff0000"};return i&&(s.deprecationMessage=i),this.colorSchema.properties[e]=s,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(o),e},e.prototype.resolveDefaultColor=function(e,t){var o=this.colorsById[e];return o&&o.defaults?ke(o.defaults[t.type],t):null},e.prototype.toString=function(){var e=this;return Object.keys(this.colorsById).sort((function(e,t){var o=-1===e.indexOf(".")?0:1,n=-1===t.indexOf(".")?0:1;return o!==n?o-n:e.localeCompare(t)})).map((function(t){return"- `"+t+"`: "+e.colorsById[t].description})).join("\n")},e}());function l(e,t,o,n,i){return a.registerColor(e,t,o,n,i)}n.a.add(s.ColorContribution,a);var u=l("foreground",{dark:"#CCCCCC",light:"#616161",hc:"#FFFFFF"},r.a("foreground","Overall foreground color. This color is only used if not overridden by a component.")),c=l("errorForeground",{dark:"#F48771",light:"#A1260D",hc:"#F48771"},r.a("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component.")),h=l("focusBorder",{dark:i.a.fromHex("#0E639C").transparent(.6),light:i.a.fromHex("#007ACC").transparent(.4),hc:"#F38518"},r.a("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),d=l("contrastBorder",{light:null,dark:null,hc:"#6FC3DF"},r.a("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),g=l("contrastActiveBorder",{light:null,dark:null,hc:h},r.a("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast.")),p=l("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hc:"#3794FF"},r.a("textLinkForeground","Foreground color for links in text.")),f=l("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hc:i.a.black},r.a("textCodeBlockBackground","Background color for code blocks in text.")),m=l("widget.shadow",{dark:"#000000",light:"#A8A8A8",hc:null},r.a("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),_=l("input.background",{dark:"#3C3C3C",light:i.a.white,hc:i.a.black},r.a("inputBoxBackground","Input box background.")),y=l("input.foreground",{dark:u,light:u,hc:u},r.a("inputBoxForeground","Input box foreground.")),v=l("input.border",{dark:null,light:null,hc:d},r.a("inputBoxBorder","Input box border.")),b=l("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hc:g},r.a("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),E=l("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hc:i.a.black},r.a("inputValidationInfoBackground","Input validation background color for information severity.")),C=l("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hc:d},r.a("inputValidationInfoBorder","Input validation border color for information severity.")),S=l("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hc:i.a.black},r.a("inputValidationWarningBackground","Input validation background color for warning severity.")),T=l("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hc:d},r.a("inputValidationWarningBorder","Input validation border color for warning severity.")),w=l("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hc:i.a.black},r.a("inputValidationErrorBackground","Input validation background color for error severity.")),k=l("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hc:d},r.a("inputValidationErrorBorder","Input validation border color for error severity.")),O=l("list.focusBackground",{dark:"#062F4A",light:"#DFF0FF",hc:null},r.a("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),R=l("list.focusForeground",{dark:null,light:null,hc:null},r.a("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),N=l("list.activeSelectionBackground",{dark:"#094771",light:"#2477CE",hc:null},r.a("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),L=l("list.activeSelectionForeground",{dark:i.a.white,light:i.a.white,hc:null},r.a("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),I=l("list.inactiveSelectionBackground",{dark:"#37373D",light:"#dddfea",hc:null},r.a("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),D=l("list.inactiveSelectionForeground",{dark:null,light:null,hc:null},r.a("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),A=l("list.inactiveFocusBackground",{dark:"#313135",light:"#d8dae6",hc:null},r.a("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),P=l("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hc:null},r.a("listHoverBackground","List/Tree background when hovering over items using the mouse.")),M=l("list.hoverForeground",{dark:null,light:null,hc:null},r.a("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),x=l("list.dropBackground",{dark:O,light:O,hc:null},r.a("listDropBackground","List/Tree drag and drop background when moving items around using the mouse.")),B=l("list.highlightForeground",{dark:"#0097fb",light:"#007acc",hc:h},r.a("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),F=l("pickerGroup.foreground",{dark:"#3794FF",light:"#006AB1",hc:i.a.white},r.a("pickerGroupForeground","Quick picker color for grouping labels.")),H=l("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hc:i.a.white},r.a("pickerGroupBorder","Quick picker color for grouping borders.")),U=l("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hc:i.a.black},r.a("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),V=l("badge.foreground",{dark:i.a.white,light:"#333",hc:i.a.white},r.a("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),W=l("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hc:null},r.a("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),j=l("scrollbarSlider.background",{dark:i.a.fromHex("#797979").transparent(.4),light:i.a.fromHex("#646464").transparent(.4),hc:Se(d,.6)},r.a("scrollbarSliderBackground","Scrollbar slider background color.")),G=l("scrollbarSlider.hoverBackground",{dark:i.a.fromHex("#646464").transparent(.7),light:i.a.fromHex("#646464").transparent(.7),hc:Se(d,.8)},r.a("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),z=l("scrollbarSlider.activeBackground",{dark:i.a.fromHex("#BFBFBF").transparent(.4),light:i.a.fromHex("#000000").transparent(.6),hc:d},r.a("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),K=l("progressBar.background",{dark:i.a.fromHex("#0E70C0"),light:i.a.fromHex("#0E70C0"),hc:d},r.a("progressBarBackground","Background color of the progress bar that can show for long running operations.")),Y=l("editor.background",{light:"#fffffe",dark:"#1E1E1E",hc:i.a.black},r.a("editorBackground","Editor background color.")),X=l("editor.foreground",{light:"#333333",dark:"#BBBBBB",hc:i.a.white},r.a("editorForeground","Editor default foreground color.")),q=l("editorWidget.background",{dark:"#2D2D30",light:"#EFEFF2",hc:"#0C141F"},r.a("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),$=l("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hc:d},r.a("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.")),J=l("editorWidget.resizeBorder",{light:null,dark:null,hc:null},r.a("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.")),Z=l("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hc:"#f3f518"},r.a("editorSelectionBackground","Color of the editor selection.")),Q=l("editor.selectionForeground",{light:null,dark:null,hc:"#000000"},r.a("editorSelectionForeground","Color of the selected text for high contrast.")),ee=l("editor.inactiveSelectionBackground",{light:Se(Z,.5),dark:Se(Z,.5),hc:Se(Z,.5)},r.a("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque to not hide underlying decorations."),!0),te=l("editor.selectionHighlightBackground",{light:we(Z,Y,.3,.6),dark:we(Z,Y,.3,.6),hc:null},r.a("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque to not hide underlying decorations."),!0),oe=l("editor.selectionHighlightBorder",{light:null,dark:null,hc:g},r.a("editorSelectionHighlightBorder","Border color for regions with the same content as the selection.")),ne=l("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hc:null},r.a("editorFindMatch","Color of the current search match.")),ie=l("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hc:null},r.a("findMatchHighlight","Color of the other search matches. The color must not be opaque to not hide underlying decorations."),!0),re=l("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hc:null},r.a("findRangeHighlight","Color of the range limiting the search. The color must not be opaque to not hide underlying decorations."),!0),se=l("editor.findMatchBorder",{light:null,dark:null,hc:g},r.a("editorFindMatchBorder","Border color of the current search match.")),ae=l("editor.findMatchHighlightBorder",{light:null,dark:null,hc:g},r.a("findMatchHighlightBorder","Border color of the other search matches.")),le=l("editor.findRangeHighlightBorder",{dark:null,light:null,hc:Se(g,.4)},r.a("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque to not hide underlying decorations."),!0),ue=l("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hc:"#ADD6FF26"},r.a("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque to not hide underlying decorations."),!0),ce=l("editorHoverWidget.background",{light:q,dark:q,hc:q},r.a("hoverBackground","Background color of the editor hover.")),he=l("editorHoverWidget.border",{light:$,dark:$,hc:$},r.a("hoverBorder","Border color of the editor hover.")),de=l("editorLink.activeForeground",{dark:"#4E94CE",light:i.a.blue,hc:i.a.cyan},r.a("activeLinkForeground","Color of active links.")),ge=new i.a(new i.c(155,185,85,.2)),pe=new i.a(new i.c(255,0,0,.2)),fe=l("diffEditor.insertedTextBackground",{dark:ge,light:ge,hc:null},r.a("diffEditorInserted","Background color for text that got inserted. The color must not be opaque to not hide underlying decorations."),!0),me=l("diffEditor.removedTextBackground",{dark:pe,light:pe,hc:null},r.a("diffEditorRemoved","Background color for text that got removed. The color must not be opaque to not hide underlying decorations."),!0),_e=l("diffEditor.insertedTextBorder",{dark:null,light:null,hc:"#33ff2eff"},r.a("diffEditorInsertedOutline","Outline color for the text that got inserted.")),ye=l("diffEditor.removedTextBorder",{dark:null,light:null,hc:"#FF008F"},r.a("diffEditorRemovedOutline","Outline color for text that got removed.")),ve=l("diffEditor.border",{dark:null,light:null,hc:d},r.a("diffEditorBorder","Border color between the two text editors.")),be=new i.a(new i.c(246,185,77,.7)),Ee=l("editorOverviewRuler.findMatchForeground",{dark:be,light:be,hc:be},r.a("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque to not hide underlying decorations."),!0),Ce=l("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},r.a("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque to not hide underlying decorations."),!0);function Se(e,t){return function(o){var n=ke(e,o);return n?n.transparent(t):null}}function Te(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t){for(var o=0,n=e;o<n.length;o++){var i=ke(n[o],t);if(i)return i}return null}}function we(e,t,o,n){return function(r){var s=ke(e,r);if(s){var a=ke(t,r);return a?s.isDarkerThan(a)?i.a.getLighterColor(s,a,o).transparent(n):i.a.getDarkerColor(s,a,o).transparent(n):s.transparent(o*n)}return null}}function ke(e,t){return null===e?null:"string"==typeof e?"#"===e[0]?i.a.fromHex(e):t.getColor(e):e instanceof i.a?e:"function"==typeof e?e(t):null}},function(e,t,o){"use strict";o.r(t),o.d(t,"empty",(function(){return n})),o.d(t,"isFalsyOrWhitespace",(function(){return i})),o.d(t,"pad",(function(){return r})),o.d(t,"format",(function(){return a})),o.d(t,"escape",(function(){return l})),o.d(t,"escapeRegExpCharacters",(function(){return u})),o.d(t,"trim",(function(){return c})),o.d(t,"ltrim",(function(){return h})),o.d(t,"rtrim",(function(){return d})),o.d(t,"convertSimple2RegExpPattern",(function(){return g})),o.d(t,"startsWith",(function(){return p})),o.d(t,"endsWith",(function(){return f})),o.d(t,"createRegExp",(function(){return m})),o.d(t,"regExpLeadsToEndlessLoop",(function(){return _})),o.d(t,"firstNonWhitespaceIndex",(function(){return y})),o.d(t,"getLeadingWhitespace",(function(){return v})),o.d(t,"lastNonWhitespaceIndex",(function(){return b})),o.d(t,"compare",(function(){return E})),o.d(t,"compareIgnoreCase",(function(){return C})),o.d(t,"isLowerAsciiLetter",(function(){return S})),o.d(t,"isUpperAsciiLetter",(function(){return T})),o.d(t,"equalsIgnoreCase",(function(){return k})),o.d(t,"startsWithIgnoreCase",(function(){return R})),o.d(t,"commonPrefixLength",(function(){return N})),o.d(t,"commonSuffixLength",(function(){return L})),o.d(t,"isHighSurrogate",(function(){return I})),o.d(t,"isLowSurrogate",(function(){return D})),o.d(t,"containsRTL",(function(){return P})),o.d(t,"containsEmoji",(function(){return x})),o.d(t,"isBasicASCII",(function(){return F})),o.d(t,"containsFullWidthCharacter",(function(){return H})),o.d(t,"isFullWidthCharacter",(function(){return U})),o.d(t,"UTF8_BOM_CHARACTER",(function(){return V})),o.d(t,"startsWithUTF8BOM",(function(){return W})),o.d(t,"safeBtoa",(function(){return j})),o.d(t,"repeat",(function(){return G}));var n="";function i(e){return!e||"string"!=typeof e||0===e.trim().length}function r(e,t,o){void 0===o&&(o="0");for(var n=""+e,i=[n],r=n.length;r<t;r++)i.push(o);return i.reverse().join("")}var s=/{(\d+)}/g;function a(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return 0===t.length?e:e.replace(s,(function(e,o){var n=parseInt(o,10);return isNaN(n)||n<0||n>=t.length?e:t[n]}))}function l(e){return e.replace(/[<|>|&]/g,(function(e){switch(e){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return e}}))}function u(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]/g,"\\$&")}function c(e,t){return void 0===t&&(t=" "),d(h(e,t),t)}function h(e,t){if(!e||!t)return e;var o=t.length;if(0===o||0===e.length)return e;for(var n=0;e.indexOf(t,n)===n;)n+=o;return e.substring(n)}function d(e,t){if(!e||!t)return e;var o=t.length,n=e.length;if(0===o||0===n)return e;for(var i=n,r=-1;-1!==(r=e.lastIndexOf(t,i-1))&&r+o===i;){if(0===r)return"";i=r}return e.substring(0,i)}function g(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function p(e,t){if(e.length<t.length)return!1;if(e===t)return!0;for(var o=0;o<t.length;o++)if(e[o]!==t[o])return!1;return!0}function f(e,t){var o=e.length-t.length;return o>0?e.indexOf(t,o)===o:0===o&&e===t}function m(e,t,o){if(void 0===o&&(o={}),!e)throw new Error("Cannot create regex from empty string");t||(e=u(e)),o.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));var n="";return o.global&&(n+="g"),o.matchCase||(n+="i"),o.multiline&&(n+="m"),new RegExp(e,n)}function _(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&(e.exec("")&&0===e.lastIndex)}function y(e){for(var t=0,o=e.length;t<o;t++){var n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1}function v(e,t,o){void 0===t&&(t=0),void 0===o&&(o=e.length);for(var n=t;n<o;n++){var i=e.charCodeAt(n);if(32!==i&&9!==i)return e.substring(t,n)}return e.substring(t,o)}function b(e,t){void 0===t&&(t=e.length-1);for(var o=t;o>=0;o--){var n=e.charCodeAt(o);if(32!==n&&9!==n)return o}return-1}function E(e,t){return e<t?-1:e>t?1:0}function C(e,t){for(var o=Math.min(e.length,t.length),n=0;n<o;n++){var i=e.charCodeAt(n),r=t.charCodeAt(n);if(i!==r){T(i)&&(i+=32),T(r)&&(r+=32);var s=i-r;if(0!==s)return S(i)&&S(r)?s:E(e.toLowerCase(),t.toLowerCase())}}return e.length<t.length?-1:e.length>t.length?1:0}function S(e){return e>=97&&e<=122}function T(e){return e>=65&&e<=90}function w(e){return S(e)||T(e)}function k(e,t){return(e?e.length:0)===(t?t.length:0)&&O(e,t)}function O(e,t,o){if(void 0===o&&(o=e.length),"string"!=typeof e||"string"!=typeof t)return!1;for(var n=0;n<o;n++){var i=e.charCodeAt(n),r=t.charCodeAt(n);if(i!==r)if(w(i)&&w(r)){var s=Math.abs(i-r);if(0!==s&&32!==s)return!1}else if(String.fromCharCode(i).toLowerCase()!==String.fromCharCode(r).toLowerCase())return!1}return!0}function R(e,t){var o=t.length;return!(t.length>e.length)&&O(e,t,o)}function N(e,t){var o,n=Math.min(e.length,t.length);for(o=0;o<n;o++)if(e.charCodeAt(o)!==t.charCodeAt(o))return o;return n}function L(e,t){var o,n=Math.min(e.length,t.length),i=e.length-1,r=t.length-1;for(o=0;o<n;o++)if(e.charCodeAt(i-o)!==t.charCodeAt(r-o))return o;return n}function I(e){return 55296<=e&&e<=56319}function D(e){return 56320<=e&&e<=57343}var A=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function P(e){return A.test(e)}var M=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/;function x(e){return M.test(e)}var B=/^[\t\n\r\x20-\x7E]*$/;function F(e){return B.test(e)}function H(e){for(var t=0,o=e.length;t<o;t++)if(U(e.charCodeAt(t)))return!0;return!1}function U(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}var V=String.fromCharCode(65279);function W(e){return e&&e.length>0&&65279===e.charCodeAt(0)}function j(e){return btoa(encodeURIComponent(e))}function G(e,t){for(var o="",n=0;n<t;n++)o+=e;return o}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n=function(){function e(e,t){this.lineNumber=e,this.column=t}return e.prototype.equals=function(t){return e.equals(this,t)},e.equals=function(e,t){return!e&&!t||!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column},e.prototype.isBefore=function(t){return e.isBefore(this,t)},e.isBefore=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<t.column},e.prototype.isBeforeOrEqual=function(t){return e.isBeforeOrEqual(this,t)},e.isBeforeOrEqual=function(e,t){return e.lineNumber<t.lineNumber||!(t.lineNumber<e.lineNumber)&&e.column<=t.column},e.compare=function(e,t){var o=0|e.lineNumber,n=0|t.lineNumber;return o===n?(0|e.column)-(0|t.column):o-n},e.prototype.clone=function(){return new e(this.lineNumber,this.column)},e.prototype.toString=function(){return"("+this.lineNumber+","+this.column+")"},e.lift=function(t){return new e(t.lineNumber,t.column)},e.isIPosition=function(e){return e&&"number"==typeof e.lineNumber&&"number"==typeof e.column},e}()},function(e,t,o){"use strict";(function(e,n){var i;o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s})),function(){var t=Object.create(null);t["WinJS/Core/_WinJS"]={};var o=function(e,o,n){var i={},r=!1,s=o.map((function(e){return"exports"===e?(r=!0,i):t[e]})),a=n.apply({},s);t[e]=r?i:a};o("WinJS/Core/_Global",[],(function(){return"undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0!==e?e:{}})),o("WinJS/Core/_BaseCoreUtils",["WinJS/Core/_Global"],(function(e){var t=!!e.Windows;var o=null;return{hasWinRT:t,markSupportedForProcessing:function(e){return e.supportedForProcessing=!0,e},_setImmediate:function(t){null===o&&(o=e.setImmediate?e.setImmediate.bind(e):void 0!==n&&"function"==typeof n.nextTick?n.nextTick.bind(n):e.setTimeout.bind(e)),o(t)}}})),o("WinJS/Core/_WriteProfilerMark",["WinJS/Core/_Global"],(function(e){return e.msWriteProfilerMark||function(){}})),o("WinJS/Core/_Base",["WinJS/Core/_WinJS","WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_WriteProfilerMark"],(function(e,t,o,n){function i(e,t,o){var n,i,r,s=Object.keys(t),a=Array.isArray(e);for(i=0,r=s.length;i<r;i++){var l=s[i],u=95!==l.charCodeAt(0),c=t[l];!c||"object"!=typeof c||void 0===c.value&&"function"!=typeof c.get&&"function"!=typeof c.set?u?a?e.forEach((function(e){e[l]=c})):e[l]=c:(n=n||{})[l]={value:c,enumerable:u,configurable:!0,writable:!0}:(void 0===c.enumerable&&(c.enumerable=u),o&&c.setName&&"function"==typeof c.setName&&c.setName(o+"."+l),(n=n||{})[l]=c)}n&&(a?e.forEach((function(e){Object.defineProperties(e,n)})):Object.defineProperties(e,n))}return function(){var o=e;function r(o,n){var i=o||{};if(n){var r=n.split(".");i===t&&"WinJS"===r[0]&&(i=e,r.splice(0,1));for(var s=0,a=r.length;s<a;s++){var l=r[s];i[l]||Object.defineProperty(i,l,{value:{},writable:!1,enumerable:!0,configurable:!0}),i=i[l]}}return i}function s(e,t,o){var n=r(e,t);return o&&i(n,o,t||"<ANONYMOUS>"),n}o.Namespace||(o.Namespace=Object.create(Object.prototype));var a={uninitialized:1,working:2,initialized:3};Object.defineProperties(o.Namespace,{defineWithParent:{value:s,writable:!0,enumerable:!0,configurable:!0},define:{value:function(e,o){return s(t,e,o)},writable:!0,enumerable:!0,configurable:!0},_lazy:{value:function(e){var t,o,i=a.uninitialized;return{setName:function(e){t=e},get:function(){switch(i){case a.initialized:return o;case a.uninitialized:i=a.working;try{n("WinJS.Namespace._lazy:"+t+",StartTM"),o=e()}finally{n("WinJS.Namespace._lazy:"+t+",StopTM"),i=a.uninitialized}return e=null,i=a.initialized,o;case a.working:throw"Illegal: reentrancy on initialization";default:throw"Illegal"}},set:function(e){switch(i){case a.working:throw"Illegal: reentrancy on initialization";default:i=a.initialized,o=e}},enumerable:!0,configurable:!0}},writable:!0,enumerable:!0,configurable:!0},_moduleDefine:{value:function(e,o,n){var s=[e],a=null;return o&&(a=r(t,o),s.push(a)),i(s,n,o||"<ANONYMOUS>"),a},writable:!0,enumerable:!0,configurable:!0}})}(),function(){function t(e,t,n){return e=e||function(){},o.markSupportedForProcessing(e),t&&i(e.prototype,t),n&&i(e,n),e}e.Namespace.define("WinJS.Class",{define:t,derive:function(e,n,r,s){if(e){n=n||function(){};var a=e.prototype;return n.prototype=Object.create(a),o.markSupportedForProcessing(n),Object.defineProperty(n.prototype,"constructor",{value:n,writable:!0,configurable:!0,enumerable:!0}),r&&i(n.prototype,r),s&&i(n,s),n}return t(n,r,s)},mix:function(e){var t,o;for(e=e||function(){},t=1,o=arguments.length;t<o;t++)i(e.prototype,arguments[t]);return e}})}(),{Namespace:e.Namespace,Class:e.Class}})),o("WinJS/Core/_ErrorFromName",["WinJS/Core/_Base"],(function(e){var t=e.Class.derive(Error,(function(e,t){this.name=e,this.message=t||e}),{},{supportedForProcessing:!1});return e.Namespace.define("WinJS",{ErrorFromName:t}),t})),o("WinJS/Core/_Events",["exports","WinJS/Core/_Base"],(function(e,t){function o(e){var t="_on"+e+"state";return{get:function(){var e=this[t];return e&&e.userHandler},set:function(o){var n=this[t];o?(n||(n={wrapper:function(e){return n.userHandler(e)},userHandler:o},Object.defineProperty(this,t,{value:n,enumerable:!1,writable:!0,configurable:!0}),this.addEventListener(e,n.wrapper,!1)),n.userHandler=o):n&&(this.removeEventListener(e,n.wrapper,!1),this[t]=null)},enumerable:!0}}var n=t.Class.define((function(e,t,o){this.detail=t,this.target=o,this.timeStamp=Date.now(),this.type=e}),{bubbles:{value:!1,writable:!1},cancelable:{value:!1,writable:!1},currentTarget:{get:function(){return this.target}},defaultPrevented:{get:function(){return this._preventDefaultCalled}},trusted:{value:!1,writable:!1},eventPhase:{value:0,writable:!1},target:null,timeStamp:null,type:null,preventDefault:function(){this._preventDefaultCalled=!0},stopImmediatePropagation:function(){this._stopImmediatePropagationCalled=!0},stopPropagation:function(){}},{supportedForProcessing:!1}),i={_listeners:null,addEventListener:function(e,t,o){o=o||!1,this._listeners=this._listeners||{};for(var n=this._listeners[e]=this._listeners[e]||[],i=0,r=n.length;i<r;i++){var s=n[i];if(s.useCapture===o&&s.listener===t)return}n.push({listener:t,useCapture:o})},dispatchEvent:function(e,t){var o=this._listeners&&this._listeners[e];if(o){for(var i=new n(e,t,this),r=0,s=(o=o.slice(0,o.length)).length;r<s&&!i._stopImmediatePropagationCalled;r++)o[r].listener(i);return i.defaultPrevented||!1}return!1},removeEventListener:function(e,t,o){o=o||!1;var n=this._listeners&&this._listeners[e];if(n)for(var i=0,r=n.length;i<r;i++){var s=n[i];if(s.listener===t&&s.useCapture===o){n.splice(i,1),0===n.length&&delete this._listeners[e];break}}}};t.Namespace._moduleDefine(e,"WinJS.Utilities",{_createEventProperty:o,createEventProperties:function(){for(var e={},t=0,n=arguments.length;t<n;t++){var i=arguments[t];e["on"+i]=o(i)}return e},eventMixin:i})})),o("WinJS/Core/_Trace",["WinJS/Core/_Global"],(function(e){function t(e){return e}return{_traceAsyncOperationStarting:e.Debug&&e.Debug.msTraceAsyncOperationStarting&&e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)||t,_traceAsyncOperationCompleted:e.Debug&&e.Debug.msTraceAsyncOperationCompleted&&e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)||t,_traceAsyncCallbackStarting:e.Debug&&e.Debug.msTraceAsyncCallbackStarting&&e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)||t,_traceAsyncCallbackCompleted:e.Debug&&e.Debug.msTraceAsyncCallbackCompleted&&e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)||t}})),o("WinJS/Promise/_StateMachine",["WinJS/Core/_Global","WinJS/Core/_BaseCoreUtils","WinJS/Core/_Base","WinJS/Core/_ErrorFromName","WinJS/Core/_Events","WinJS/Core/_Trace"],(function(e,t,o,n,i,r){e.Debug&&(e.Debug.setNonUserCodeExceptions=!0);var s=new(o.Class.mix(o.Class.define(null,{},{supportedForProcessing:!1}),i.eventMixin));s._listeners={};var a="error",l="Canceled",u=!1,c={promise:1,thenPromise:2,errorPromise:4,exceptionPromise:8,completePromise:16};c.all=c.promise|c.thenPromise|c.errorPromise|c.exceptionPromise|c.completePromise;var h,d,g,p,f,m,_,y,v,b,E=1;function C(){}h={name:"created",enter:function(e){e._setState(d)},cancel:C,done:C,then:C,_completed:C,_error:C,_notify:C,_progress:C,_setCompleteValue:C,_setErrorValue:C},d={name:"working",enter:C,cancel:function(e){e._setState(f)},done:L,then:U,_completed:T,_error:I,_notify:C,_progress:M,_setCompleteValue:H,_setErrorValue:F},g={name:"waiting",enter:function(e){var t=e._value;if(t instanceof W&&t._state!==b&&t._state!==y)x(t,{promise:e});else{var o=function(n){t._errorId?e._chainedError(n,t):(P(e,n,k,t,o),e._error(n))};o.handlesOnError=!0,t.then(e._completed.bind(e),o,e._progress.bind(e))}},cancel:function(e){e._setState(p)},done:L,then:U,_completed:T,_error:I,_notify:C,_progress:M,_setCompleteValue:H,_setErrorValue:F},p={name:"waiting_canceled",enter:function(e){e._setState(m);var t=e._value;t.cancel&&t.cancel()},cancel:C,done:L,then:U,_completed:T,_error:I,_notify:C,_progress:M,_setCompleteValue:H,_setErrorValue:F},f={name:"canceled",enter:function(e){e._setState(m),e._cancelAction()},cancel:C,done:L,then:U,_completed:T,_error:I,_notify:C,_progress:M,_setCompleteValue:H,_setErrorValue:F},m={name:"canceling",enter:function(e){var t=new Error(l);t.name=t.message,e._value=t,e._setState(v)},cancel:C,done:C,then:C,_completed:C,_error:C,_notify:C,_progress:C,_setCompleteValue:C,_setErrorValue:C},_={name:"complete_notify",enter:function(e){if(e.done=z.prototype.done,e.then=z.prototype.then,e._listeners)for(var t,o=[e];o.length;)(t=o.shift())._state._notify(t,o);e._setState(y)},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:D,_progress:C,_setCompleteValue:C,_setErrorValue:C},y={name:"success",enter:function(e){e.done=z.prototype.done,e.then=z.prototype.then,e._cleanupAction()},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:D,_progress:C,_setCompleteValue:C,_setErrorValue:C},v={name:"error_notify",enter:function(e){if(e.done=j.prototype.done,e.then=j.prototype.then,e._listeners)for(var t,o=[e];o.length;)(t=o.shift())._state._notify(t,o);e._setState(b)},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:A,_progress:C,_setCompleteValue:C,_setErrorValue:C},b={name:"error",enter:function(e){e.done=j.prototype.done,e.then=j.prototype.then,e._cleanupAction()},cancel:C,done:null,then:null,_completed:C,_error:C,_notify:A,_progress:C,_setCompleteValue:C,_setErrorValue:C};var S=o.Class.define(null,{_listeners:null,_nextState:null,_state:null,_value:null,cancel:function(){this._state.cancel(this),this._run()},done:function(e,t,o){this._state.done(this,e,t,o)},then:function e(t,o,n){if(this.then===e)return this._state.then(this,t,o,n);this.then(t,o,n)},_chainedError:function(e,t){var o=this._state._error(this,e,O,t);return this._run(),o},_completed:function(e){var t=this._state._completed(this,e);return this._run(),t},_error:function(e){var t=this._state._error(this,e,R);return this._run(),t},_progress:function(e){this._state._progress(this,e)},_setState:function(e){this._nextState=e},_setCompleteValue:function(e){this._state._setCompleteValue(this,e),this._run()},_setChainedErrorValue:function(e,t){var o=this._state._setErrorValue(this,e,O,t);return this._run(),o},_setExceptionValue:function(e){var t=this._state._setErrorValue(this,e,N);return this._run(),t},_run:function(){for(;this._nextState;)this._state=this._nextState,this._nextState=null,this._state.enter(this)}},{supportedForProcessing:!1});function T(e,t){var o;o=t&&"object"==typeof t&&"function"==typeof t.then?g:_,e._value=t,e._setState(o)}function w(e,t,o,n,i,r){return{exception:e,error:t,promise:o,handler:r,id:n,parent:i}}function k(e,t,o,n){var i=o._isException;return w(i?t:null,i?null:t,e,o._errorId,o,n)}function O(e,t,o){var n=o._isException,i=o._errorId;return B(e,i,n),w(n?t:null,n?null:t,e,i,o)}function R(e,t){var o=++E;return B(e,o),w(null,t,e,o)}function N(e,t){var o=++E;return B(e,o,!0),w(t,null,e,o)}function L(e,t,o,n){x(e,{c:t,e:o,p:n,asyncOpID:r._traceAsyncOperationStarting("WinJS.Promise.done")})}function I(e,t,o,n){e._value=t,P(e,t,o,n),e._setState(v)}function D(t,o){var n,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,n=0,i=Array.isArray(a)?a.length:1;n<i;n++){var l=1===i?a:a[n],u=l.c,c=l.promise;if(r._traceAsyncOperationCompleted(l.asyncOpID,e.Debug&&e.Debug.MS_ASYNC_OP_STATUS_SUCCESS),c){r._traceAsyncCallbackStarting(l.asyncOpID);try{c._setCompleteValue(u?u(s):s)}catch(e){c._setExceptionValue(e)}finally{r._traceAsyncCallbackCompleted()}c._state!==g&&c._listeners&&o.push(c)}else z.prototype.done.call(t,u)}}function A(t,o){var n,i,s=t._value,a=t._listeners;if(a)for(t._listeners=null,n=0,i=Array.isArray(a)?a.length:1;n<i;n++){var u=1===i?a:a[n],c=u.e,h=u.promise,d=e.Debug&&(s&&s.name===l?e.Debug.MS_ASYNC_OP_STATUS_CANCELED:e.Debug.MS_ASYNC_OP_STATUS_ERROR);if(r._traceAsyncOperationCompleted(u.asyncOpID,d),h){var p=!1;try{c?(r._traceAsyncCallbackStarting(u.asyncOpID),p=!0,c.handlesOnError||P(h,s,k,t,c),h._setCompleteValue(c(s))):h._setChainedErrorValue(s,t)}catch(e){h._setExceptionValue(e)}finally{p&&r._traceAsyncCallbackCompleted()}h._state!==g&&h._listeners&&o.push(h)}else j.prototype.done.call(t,null,c)}}function P(e,t,o,n,i){if(s._listeners[a]){if(t instanceof Error&&t.message===l)return;s.dispatchEvent(a,o(e,t,n,i))}}function M(e,t){var o,n,i=e._listeners;if(i)for(o=0,n=Array.isArray(i)?i.length:1;o<n;o++){var r=1===n?i:i[o],s=r.p;if(s)try{s(t)}catch(e){}r.c||r.e||!r.promise||r.promise._progress(t)}}function x(e,t){var o=e._listeners;o?(o=Array.isArray(o)?o:[o]).push(t):o=t,e._listeners=o}function B(e,t,o){e._isException=o||!1,e._errorId=t}function F(e,t,o,n){e._value=t,P(e,t,o,n),e._setState(b)}function H(e,t){var o;o=t&&"object"==typeof t&&"function"==typeof t.then?g:y,e._value=t,e._setState(o)}function U(e,t,o,n){var i=new W(e);return x(e,{promise:i,c:t,e:o,p:n,asyncOpID:r._traceAsyncOperationStarting("WinJS.Promise.then")}),i}var V,W=o.Class.derive(S,(function(e){u&&(!0===u||u&c.thenPromise)&&(this._stack=K._getStack()),this._creator=e,this._setState(h),this._run()}),{_creator:null,_cancelAction:function(){this._creator&&this._creator.cancel()},_cleanupAction:function(){this._creator=null}},{supportedForProcessing:!1}),j=o.Class.define((function(e){u&&(!0===u||u&c.errorPromise)&&(this._stack=K._getStack()),this._value=e,P(this,e,R)}),{cancel:function(){},done:function(e,t){var o=this._value;if(t)try{t.handlesOnError||P(null,o,k,this,t);var n=t(o);return void(n&&"object"==typeof n&&"function"==typeof n.done&&n.done())}catch(e){o=e}o instanceof Error&&o.message===l||K._doneHandler(o)},then:function(e,t){if(!t)return this;var o,n=this._value;try{t.handlesOnError||P(null,n,k,this,t),o=new z(t(n))}catch(e){o=e===n?this:new G(e)}return o}},{supportedForProcessing:!1}),G=o.Class.derive(j,(function(e){u&&(!0===u||u&c.exceptionPromise)&&(this._stack=K._getStack()),this._value=e,P(this,e,N)}),{},{supportedForProcessing:!1}),z=o.Class.define((function(e){if(u&&(!0===u||u&c.completePromise)&&(this._stack=K._getStack()),e&&"object"==typeof e&&"function"==typeof e.then){var t=new W(null);return t._setCompleteValue(e),t}this._value=e}),{cancel:function(){},done:function(e){if(e)try{var t=e(this._value);t&&"object"==typeof t&&"function"==typeof t.done&&t.done()}catch(e){K._doneHandler(e)}},then:function(e){try{var t=e?e(this._value):this._value;return t===this._value?this:new z(t)}catch(e){return new G(e)}}},{supportedForProcessing:!1});var K=o.Class.derive(S,(function(e,t){u&&(!0===u||u&c.promise)&&(this._stack=K._getStack()),this._oncancel=t,this._setState(h),this._run();try{e(this._completed.bind(this),this._error.bind(this),this._progress.bind(this))}catch(e){this._setExceptionValue(e)}}),{_oncancel:null,_cancelAction:function(){try{if(!this._oncancel)throw new Error("Promise did not implement oncancel");this._oncancel()}catch(e){e.message,e.stack;s.dispatchEvent("error",e)}},_cleanupAction:function(){this._oncancel=null}},{addEventListener:function(e,t,o){s.addEventListener(e,t,o)},any:function(e){return new K((function(t,o){var n=Object.keys(e);0===n.length&&t();var i=0;n.forEach((function(r){K.as(e[r]).then((function(){t({key:r,value:e[r]})}),(function(s){s instanceof Error&&s.name===l?++i===n.length&&t(K.cancel):o({key:r,value:e[r]})}))}))}),(function(){Object.keys(e).forEach((function(t){var o=K.as(e[t]);"function"==typeof o.cancel&&o.cancel()}))}))},as:function(e){return e&&"object"==typeof e&&"function"==typeof e.then?e:new z(e)},cancel:{get:function(){return V=V||new j(new n(l))}},dispatchEvent:function(e,t){return s.dispatchEvent(e,t)},is:function(e){return e&&"object"==typeof e&&"function"==typeof e.then},join:function(e){return new K((function(t,o,n){var i=Object.keys(e),r=Array.isArray(e)?[]:{},s=Array.isArray(e)?[]:{},a=0,u=i.length,c=function(e){if(0==--u){var a=Object.keys(r).length;if(0===a)t(s);else{var c=0;i.forEach((function(e){var t=r[e];t instanceof Error&&t.name===l&&c++})),c===a?t(K.cancel):o(r)}}else n({Key:e,Done:!0})};i.forEach((function(t){var o=e[t];void 0===o?a++:K.then(o,(function(e){s[t]=e,c(t)}),(function(e){r[t]=e,c(t)}))})),0!==(u-=a)||t(s)}),(function(){Object.keys(e).forEach((function(t){var o=K.as(e[t]);"function"==typeof o.cancel&&o.cancel()}))}))},removeEventListener:function(e,t,o){s.removeEventListener(e,t,o)},supportedForProcessing:!1,then:function(e,t,o,n){return K.as(e).then(t,o,n)},thenEach:function(e,t,o,n){var i=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(r){i[r]=K.as(e[r]).then(t,o,n)})),K.join(i)},timeout:function(o,n){var i,r,s=(i=o,new K((function(o){i?r=e.setTimeout(o,i):t._setImmediate(o)}),(function(){r&&e.clearTimeout(r)})));return n?function(e,t){var o=function(){e.cancel()};return e.then((function(){t.cancel()})),t.then(o,o),t}(s,n):s},wrap:function(e){return new z(e)},wrapError:function(e){return new j(e)},_veryExpensiveTagWithStack:{get:function(){return u},set:function(e){u=e}},_veryExpensiveTagWithStack_tag:c,_getStack:function(){if(e.Debug&&e.Debug.debuggerEnabled)try{throw new Error}catch(e){return e.stack}},_cancelBlocker:function(e,t){if(!K.is(e))return K.wrap(e);var o,n,i=new K((function(e,t){o=e,n=t}),(function(){o=null,n=null,t&&t()}));return e.then((function(e){o&&o(e)}),(function(e){n&&n(e)})),i}});return Object.defineProperties(K,i.createEventProperties(a)),K._doneHandler=function(e){t._setImmediate((function(){throw e}))},{PromiseStateMachine:S,Promise:K,state_created:h}})),o("WinJS/Promise",["WinJS/Core/_Base","WinJS/Promise/_StateMachine"],(function(e,t){return e.Namespace.define("WinJS",{Promise:t.Promise}),t.Promise})),(i=t["WinJS/Core/_WinJS"]).TPromise=i.Promise,i.PPromise=i.Promise}();var r=i.Promise,s=i.TPromise;i.PPromise}).call(this,o(80),o(108))},function(e,t,o){"use strict";var n=o(4),i=o(6),r=o(202);function s(e,t,o,n){if(Array.isArray(e)){for(var i=0,a=0,l=e;a<l.length;a++){var u=s(l[a],t,o,n);if(10===u)return u;u>i&&(i=u)}return i}if("string"==typeof e)return n?"*"===e?5:e===o?10:0:0;if(e){var c=e.language,h=e.pattern,d=e.scheme,g=e.hasAccessToAllModels;if(!n&&!g)return 0;i=0;if(d)if(d===t.scheme)i=10;else{if("*"!==d)return 0;i=5}if(c)if(c===o)i=10;else{if("*"!==c)return 0;i=Math.max(i,5)}if(h){if(h!==t.fsPath&&!Object(r.a)(h,t.fsPath))return 0;i=10}return i}return 0}var a=o(60);function l(e){return"string"!=typeof e&&(Array.isArray(e)?e.every(l):e.exclusive)}var u=function(){function e(){this._clock=0,this._entries=[],this._onDidChange=new n.a}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var o=this,n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Object(i.f)((function(){if(n){var e=o._entries.indexOf(n);e>=0&&(o._entries.splice(e,1),o._lastCandidate=void 0,o._onDidChange.fire(o._entries.length),n=void 0)}}))},e.prototype.has=function(e){return this.all(e).length>0},e.prototype.all=function(e){if(!e)return[];this._updateScores(e);for(var t=[],o=0,n=this._entries;o<n.length;o++){var i=n[o];i._score>0&&t.push(i.provider)}return t},e.prototype.ordered=function(e){var t=[];return this._orderedForEach(e,(function(e){return t.push(e.provider)})),t},e.prototype.orderedGroups=function(e){var t,o,n=[];return this._orderedForEach(e,(function(e){t&&o===e._score?t.push(e.provider):(o=e._score,t=[e.provider],n.push(t))})),n},e.prototype._orderedForEach=function(e,t){if(e){this._updateScores(e);for(var o=0;o<this._entries.length;o++){var n=this._entries[o];n._score>0&&t(n)}}},e.prototype._updateScores=function(t){var o={uri:t.uri.toString(),language:t.getLanguageIdentifier().language};if(!this._lastCandidate||this._lastCandidate.language!==o.language||this._lastCandidate.uri!==o.uri){this._lastCandidate=o;for(var n=0,i=this._entries;n<i.length;n++){var r=i[n];if(r._score=s(r.selector,t.uri,t.getLanguageIdentifier().language,Object(a.b)(t)),l(r.selector)&&r._score>0){for(var u=0,c=this._entries;u<c.length;u++){c[u]._score=0}r._score=1e3;break}}this._entries.sort(e._compareByScoreAndTime)}},e._compareByScoreAndTime=function(e,t){return e._score<t._score?1:e._score>t._score?-1:e._time<t._time?1:e._time>t._time?-1:0},e}(),c=function(){function e(){this._onDidChange=new n.a,this.onDidChange=this._onDidChange.event,this._map=Object.create(null),this._colorMap=null}return e.prototype.fire=function(e){this._onDidChange.fire({changedLanguages:e,changedColorMap:!1})},e.prototype.register=function(e,t){var o=this;return this._map[e]=t,this.fire([e]),Object(i.f)((function(){o._map[e]===t&&(delete o._map[e],o.fire([e]))}))},e.prototype.get=function(e){return this._map[e]||null},e.prototype.setColorMap=function(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Object.keys(this._map),changedColorMap:!0})},e.prototype.getColorMap=function(){return this._colorMap},e.prototype.getDefaultBackground=function(){return this._colorMap[2]},e}(),h=o(21);o.d(t,"o",(function(){return m})),o.d(t,"x",(function(){return _})),o.d(t,"v",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"g",(function(){return p})),o.d(t,"w",(function(){return f})),o.d(t,"B",(function(){return v})),o.d(t,"k",(function(){return b})),o.d(t,"A",(function(){return E})),o.d(t,"r",(function(){return C})),o.d(t,"s",(function(){return S})),o.d(t,"u",(function(){return T})),o.d(t,"t",(function(){return w})),o.d(t,"m",(function(){return k})),o.d(t,"j",(function(){return O})),o.d(t,"h",(function(){return R})),o.d(t,"e",(function(){return N})),o.d(t,"n",(function(){return L})),o.d(t,"z",(function(){return I})),o.d(t,"c",(function(){return D})),o.d(t,"a",(function(){return A})),o.d(t,"f",(function(){return P})),o.d(t,"i",(function(){return M})),o.d(t,"q",(function(){return x})),o.d(t,"p",(function(){return B})),o.d(t,"d",(function(){return F})),o.d(t,"l",(function(){return H})),o.d(t,"y",(function(){return U}));var d,g,p,f,m=function(e,t){this.language=e,this.id=t},_=function(){function e(){}return e.getLanguageId=function(e){return(255&e)>>>0},e.getTokenType=function(e){return(1792&e)>>>8},e.getFontStyle=function(e){return(14336&e)>>>11},e.getForeground=function(e){return(8372224&e)>>>14},e.getBackground=function(e){return(4286578688&e)>>>23},e.getClassNameFromMetadata=function(e){var t="mtk"+this.getForeground(e),o=this.getFontStyle(e);return 1&o&&(t+=" mtki"),2&o&&(t+=" mtkb"),4&o&&(t+=" mtku"),t},e.getInlineStyleFromMetadata=function(e,t){var o=this.getForeground(e),n=this.getFontStyle(e),i="color: "+t[o]+";";return 1&n&&(i+="font-style: italic;"),2&n&&(i+="font-weight: bold;"),4&n&&(i+="text-decoration: underline;"),i},e}();!function(e){e[e.Invoke=0]="Invoke",e[e.TriggerCharacter=1]="TriggerCharacter",e[e.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(d||(d={})),function(e){e[e.Automatic=1]="Automatic",e[e.Manual=2]="Manual"}(g||(g={})),function(e){e[e.Text=0]="Text",e[e.Read=1]="Read",e[e.Write=2]="Write"}(p||(p={})),function(e){e[e.File=0]="File",e[e.Module=1]="Module",e[e.Namespace=2]="Namespace",e[e.Package=3]="Package",e[e.Class=4]="Class",e[e.Method=5]="Method",e[e.Property=6]="Property",e[e.Field=7]="Field",e[e.Constructor=8]="Constructor",e[e.Enum=9]="Enum",e[e.Interface=10]="Interface",e[e.Function=11]="Function",e[e.Variable=12]="Variable",e[e.Constant=13]="Constant",e[e.String=14]="String",e[e.Number=15]="Number",e[e.Boolean=16]="Boolean",e[e.Array=17]="Array",e[e.Object=18]="Object",e[e.Key=19]="Key",e[e.Null=20]="Null",e[e.EnumMember=21]="EnumMember",e[e.Struct=22]="Struct",e[e.Event=23]="Event",e[e.Operator=24]="Operator",e[e.TypeParameter=25]="TypeParameter"}(f||(f={}));var y,v=((y=Object.create(null))[f.File]="file",y[f.Module]="module",y[f.Namespace]="namespace",y[f.Package]="package",y[f.Class]="class",y[f.Method]="method",y[f.Property]="property",y[f.Field]="field",y[f.Constructor]="constructor",y[f.Enum]="enum",y[f.Interface]="interface",y[f.Function]="function",y[f.Variable]="variable",y[f.Constant]="constant",y[f.String]="string",y[f.Number]="number",y[f.Boolean]="boolean",y[f.Array]="array",y[f.Object]="object",y[f.Key]="key",y[f.Null]="null",y[f.EnumMember]="enum-member",y[f.Struct]="struct",y[f.Event]="event",y[f.Operator]="operator",y[f.TypeParameter]="type-parameter",function(e){return"symbol-icon "+(y[e]||"property")}),b=function(){function e(e){this.value=e}return e.Comment=new e("comment"),e.Imports=new e("imports"),e.Region=new e("region"),e}();function E(e){return Object(h.g)(e)&&e.resource&&Array.isArray(e.edits)}var C=new u,S=new u,T=new u,w=new u,k=new u,O=new u,R=new u,N=new u,L=new u,I=new u,D=new u,A=new u,P=new u,M=new u,x=new u,B=new u,F=new u,H=new u,U=new c},function(e,t,o){"use strict";o.d(t,"d",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"c",(function(){return h})),o.d(t,"a",(function(){return f})),o.d(t,"f",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"g",(function(){return y}));var n,i,r=o(22),s=o(8),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.Defined=1]="Defined",e[e.Not=2]="Not",e[e.Equals=3]="Equals",e[e.NotEquals=4]="NotEquals",e[e.And=5]="And",e[e.Regex=6]="Regex"}(i||(i={}));var l=function(){function e(){}return e.has=function(e){return new c(e)},e.equals=function(e,t){return new h(e,t)},e.regex=function(e,t){return new p(e,t)},e.not=function(e){return new g(e)},e.and=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return new f(e)},e.deserialize=function(e){var t=this;if(!e)return null;var o=e.split("&&");return new f(o.map((function(e){return t._deserializeOne(e)}))).normalize()},e._deserializeOne=function(e){if((e=e.trim()).indexOf("!=")>=0){var t=e.split("!=");return new d(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf("==")>=0){t=e.split("==");return new h(t[0].trim(),this._deserializeValue(t[1]))}if(e.indexOf("=~")>=0){t=e.split("=~");return new p(t[0].trim(),this._deserializeRegexValue(t[1]))}return/^\!\s*/.test(e)?new g(e.substr(1).trim()):new c(e)},e._deserializeValue=function(e){if("true"===(e=e.trim()))return!0;if("false"===e)return!1;var t=/^'([^']*)'$/.exec(e);return t?t[1].trim():e},e._deserializeRegexValue=function(e){if(Object(s.isFalsyOrWhitespace)(e))return console.warn("missing regexp-value for =~-expression"),null;var t=e.indexOf("/"),o=e.lastIndexOf("/");if(t===o||t<0)return console.warn("bad regexp-value '"+e+"', missing /-enclosure"),null;var n=e.slice(t+1,o),i="i"===e[o+1]?"i":"";try{return new RegExp(n,i)}catch(t){return console.warn("bad regexp-value '"+e+"', parse error: "+t),null}},e}();function u(e,t){var o=e.getType(),n=t.getType();if(o!==n)return o-n;switch(o){case i.Defined:case i.Not:case i.Equals:case i.NotEquals:case i.Regex:return e.cmp(t);default:throw new Error("Unknown ContextKeyExpr!")}}var c=function(){function e(e){this.key=e}return e.prototype.getType=function(){return i.Defined},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),h=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return i.Equals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)==this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new c(this.key):new g(this.key):this},e.prototype.keys=function(){return[this.key]},e}(),d=function(){function e(e,t){this.key=e,this.value=t}return e.prototype.getType=function(){return i.NotEquals},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:this.value<e.value?-1:this.value>e.value?1:0},e.prototype.equals=function(t){return t instanceof e&&(this.key===t.key&&this.value===t.value)},e.prototype.evaluate=function(e){return e.getValue(this.key)!=this.value},e.prototype.normalize=function(){return"boolean"==typeof this.value?this.value?new g(this.key):new c(this.key):this},e.prototype.keys=function(){return[this.key]},e}(),g=function(){function e(e){this.key=e}return e.prototype.getType=function(){return i.Not},e.prototype.cmp=function(e){return this.key<e.key?-1:this.key>e.key?1:0},e.prototype.equals=function(t){return t instanceof e&&this.key===t.key},e.prototype.evaluate=function(e){return!e.getValue(this.key)},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),p=function(){function e(e,t){this.key=e,this.regexp=t}return e.prototype.getType=function(){return i.Regex},e.prototype.cmp=function(e){if(this.key<e.key)return-1;if(this.key>e.key)return 1;var t=this.regexp?this.regexp.source:void 0;return t<e.regexp.source?-1:t>e.regexp.source?1:0},e.prototype.equals=function(t){if(t instanceof e){var o=this.regexp?this.regexp.source:void 0;return this.key===t.key&&o===t.regexp.source}return!1},e.prototype.evaluate=function(e){return!!this.regexp&&this.regexp.test(e.getValue(this.key))},e.prototype.normalize=function(){return this},e.prototype.keys=function(){return[this.key]},e}(),f=function(){function e(t){this.expr=e._normalizeArr(t)}return e.prototype.getType=function(){return i.And},e.prototype.equals=function(t){if(t instanceof e){if(this.expr.length!==t.expr.length)return!1;for(var o=0,n=this.expr.length;o<n;o++)if(!this.expr[o].equals(t.expr[o]))return!1;return!0}return!1},e.prototype.evaluate=function(e){for(var t=0,o=this.expr.length;t<o;t++)if(!this.expr[t].evaluate(e))return!1;return!0},e._normalizeArr=function(t){var o=[];if(t){for(var n=0,i=t.length;n<i;n++){var r=t[n];r&&((r=r.normalize())&&(r instanceof e?o=o.concat(r.expr):o.push(r)))}o.sort(u)}return o},e.prototype.normalize=function(){return 0===this.expr.length?null:1===this.expr.length?this.expr[0]:this},e.prototype.keys=function(){for(var e=[],t=0,o=this.expr;t<o.length;t++){var n=o[t];e.push.apply(e,n.keys())}return e},e}(),m=function(e){function t(t,o){var n=e.call(this,t)||this;return n._defaultValue=o,n}return a(t,e),t.prototype.bindTo=function(e){return e.createKey(this.key,this._defaultValue)},t.prototype.toNegated=function(){return l.not(this.key)},t}(c),_=Object(r.c)("contextKeyService"),y="setContext"},function(e,t,o){"use strict";o.d(t,"e",(function(){return s})),o.d(t,"f",(function(){return a})),o.d(t,"g",(function(){return l})),o.d(t,"d",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d})),o.d(t,"c",(function(){return g}));var n=o(10),i={};n.b.addEventListener("error",(function(e){var t=e.detail,o=t.id;t.parent?t.handler&&i&&delete i[o]:(i[o]=t,1===Object.keys(i).length&&setTimeout((function(){var e=i;i={},Object.keys(e).forEach((function(t){var o=e[t];o.exception?s(o.exception):o.error&&s(o.error),console.log("WARNING: Promise with no error callback:"+o.id),console.log(o),o.exception&&console.log(o.exception.stack)}))}),0))}));var r=new(function(){function e(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout((function(){if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e}),0)}}return e.prototype.emit=function(e){this.listeners.forEach((function(t){t(e)}))},e.prototype.onUnexpectedError=function(e){this.unexpectedErrorHandler(e),this.emit(e)},e.prototype.onUnexpectedExternalError=function(e){this.unexpectedErrorHandler(e)},e}());function s(e){c(e)||r.onUnexpectedError(e)}function a(e){c(e)||r.onUnexpectedExternalError(e)}function l(e){return e instanceof Error?{$isError:!0,name:e.name,message:e.message,stack:e.stacktrace||e.stack}:e}var u="Canceled";function c(e){return e instanceof Error&&e.name===u&&e.message===u}function h(){var e=new Error(u);return e.name=e.message,e}function d(e){return e?new Error("Illegal argument: "+e):new Error("Illegal argument")}function g(e){return e?new Error("Illegal state: "+e):new Error("Illegal state")}},function(e,t,o){"use strict";function n(e,t){var o=Math.pow(10,t);return Math.round(e*o)/o}o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return a}));var i=function(){function e(e,t,o,i){void 0===i&&(i=1),this.r=0|Math.min(255,Math.max(0,e)),this.g=0|Math.min(255,Math.max(0,t)),this.b=0|Math.min(255,Math.max(0,o)),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a},e}(),r=function(){function e(e,t,o,i){this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.l=n(Math.max(Math.min(1,o),0),3),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a},e.fromRGBA=function(t){var o=t.r/255,n=t.g/255,i=t.b/255,r=t.a,s=Math.max(o,n,i),a=Math.min(o,n,i),l=0,u=0,c=(a+s)/2,h=s-a;if(h>0){switch(u=Math.min(c<=.5?h/(2*c):h/(2-2*c),1),s){case o:l=(n-i)/h+(n<i?6:0);break;case n:l=(i-o)/h+2;break;case i:l=(o-n)/h+4}l*=60,l=Math.round(l)}return new e(l,u,c,r)},e._hue2rgb=function(e,t,o){return o<0&&(o+=1),o>1&&(o-=1),o<1/6?e+6*(t-e)*o:o<.5?t:o<2/3?e+(t-e)*(2/3-o)*6:e},e.toRGBA=function(t){var o,n,r,s=t.h/360,a=t.s,l=t.l,u=t.a;if(0===a)o=n=r=l;else{var c=l<.5?l*(1+a):l+a-l*a,h=2*l-c;o=e._hue2rgb(h,c,s+1/3),n=e._hue2rgb(h,c,s),r=e._hue2rgb(h,c,s-1/3)}return new i(Math.round(255*o),Math.round(255*n),Math.round(255*r),u)},e}(),s=function(){function e(e,t,o,i){this.h=0|Math.max(Math.min(360,e),0),this.s=n(Math.max(Math.min(1,t),0),3),this.v=n(Math.max(Math.min(1,o),0),3),this.a=n(Math.max(Math.min(1,i),0),3)}return e.equals=function(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a},e.fromRGBA=function(t){var o,n=t.r/255,i=t.g/255,r=t.b/255,s=Math.max(n,i,r),a=s-Math.min(n,i,r),l=0===s?0:a/s;return o=0===a?0:s===n?((i-r)/a%6+6)%6:s===i?(r-n)/a+2:(n-i)/a+4,new e(Math.round(60*o),l,s,t.a)},e.toRGBA=function(e){var t=e.h,o=e.s,n=e.v,r=e.a,s=n*o,a=s*(1-Math.abs(t/60%2-1)),l=n-s,u=[0,0,0],c=u[0],h=u[1],d=u[2];return t<60?(c=s,h=a):t<120?(c=a,h=s):t<180?(h=s,d=a):t<240?(h=a,d=s):t<300?(c=a,d=s):t<360&&(c=s,d=a),c=Math.round(255*(c+l)),h=Math.round(255*(h+l)),d=Math.round(255*(d+l)),new i(c,h,d,r)},e}(),a=function(){function e(e){if(!e)throw new Error("Color needs a value");if(e instanceof i)this.rgba=e;else if(e instanceof r)this._hsla=e,this.rgba=r.toRGBA(e);else{if(!(e instanceof s))throw new Error("Invalid color ctor argument");this._hsva=e,this.rgba=s.toRGBA(e)}}return e.fromHex=function(t){return e.Format.CSS.parseHex(t)||e.red},Object.defineProperty(e.prototype,"hsla",{get:function(){return this._hsla?this._hsla:r.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hsva",{get:function(){return this._hsva?this._hsva:s.fromRGBA(this.rgba)},enumerable:!0,configurable:!0}),e.prototype.equals=function(e){return!!e&&i.equals(this.rgba,e.rgba)&&r.equals(this.hsla,e.hsla)&&s.equals(this.hsva,e.hsva)},e.prototype.getRelativeLuminance=function(){return n(.2126*e._relativeLuminanceForComponent(this.rgba.r)+.7152*e._relativeLuminanceForComponent(this.rgba.g)+.0722*e._relativeLuminanceForComponent(this.rgba.b),4)},e._relativeLuminanceForComponent=function(e){var t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)},e.prototype.isLighter=function(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128},e.prototype.isLighterThan=function(e){return this.getRelativeLuminance()>e.getRelativeLuminance()},e.prototype.isDarkerThan=function(e){return this.getRelativeLuminance()<e.getRelativeLuminance()},e.prototype.lighten=function(t){return new e(new r(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))},e.prototype.darken=function(t){return new e(new r(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))},e.prototype.transparent=function(t){var o=this.rgba,n=o.r,r=o.g,s=o.b,a=o.a;return new e(new i(n,r,s,a*t))},e.prototype.isTransparent=function(){return 0===this.rgba.a},e.prototype.isOpaque=function(){return 1===this.rgba.a},e.prototype.opposite=function(){return new e(new i(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))},e.prototype.toString=function(){return e.Format.CSS.format(this)},e.getLighterColor=function(e,t,o){if(e.isLighterThan(t))return e;o=o||.5;var n=e.getRelativeLuminance(),i=t.getRelativeLuminance();return o=o*(i-n)/i,e.lighten(o)},e.getDarkerColor=function(e,t,o){if(e.isDarkerThan(t))return e;o=o||.5;var n=e.getRelativeLuminance();return o=o*(n-t.getRelativeLuminance())/n,e.darken(o)},e.white=new e(new i(255,255,255,1)),e.black=new e(new i(0,0,0,1)),e.red=new e(new i(255,0,0,1)),e.blue=new e(new i(0,0,255,1)),e.cyan=new e(new i(0,255,255,1)),e.lightgrey=new e(new i(211,211,211,1)),e.transparent=new e(new i(0,0,0,0)),e}();!function(e){!function(t){!function(t){function o(e){var t=e.toString(16);return 2!==t.length?"0"+t:t}function n(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:case 65:return 10;case 98:case 66:return 11;case 99:case 67:return 12;case 100:case 68:return 13;case 101:case 69:return 14;case 102:case 70:return 15}return 0}t.formatRGB=function(t){return 1===t.rgba.a?"rgb("+t.rgba.r+", "+t.rgba.g+", "+t.rgba.b+")":e.Format.CSS.formatRGBA(t)},t.formatRGBA=function(e){return"rgba("+e.rgba.r+", "+e.rgba.g+", "+e.rgba.b+", "+ +e.rgba.a.toFixed(2)+")"},t.formatHSL=function(t){return 1===t.hsla.a?"hsl("+t.hsla.h+", "+(100*t.hsla.s).toFixed(2)+"%, "+(100*t.hsla.l).toFixed(2)+"%)":e.Format.CSS.formatHSLA(t)},t.formatHSLA=function(e){return"hsla("+e.hsla.h+", "+(100*e.hsla.s).toFixed(2)+"%, "+(100*e.hsla.l).toFixed(2)+"%, "+e.hsla.a.toFixed(2)+")"},t.formatHex=function(e){return"#"+o(e.rgba.r)+o(e.rgba.g)+o(e.rgba.b)},t.formatHexA=function(t,n){return void 0===n&&(n=!1),n&&1===t.rgba.a?e.Format.CSS.formatHex(t):"#"+o(t.rgba.r)+o(t.rgba.g)+o(t.rgba.b)+o(Math.round(255*t.rgba.a))},t.format=function(t){return t?t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t):null},t.parseHex=function(t){if(!t)return null;var o=t.length;if(0===o)return null;if(35!==t.charCodeAt(0))return null;if(7===o){var r=16*n(t.charCodeAt(1))+n(t.charCodeAt(2)),s=16*n(t.charCodeAt(3))+n(t.charCodeAt(4)),a=16*n(t.charCodeAt(5))+n(t.charCodeAt(6));return new e(new i(r,s,a,1))}if(9===o){r=16*n(t.charCodeAt(1))+n(t.charCodeAt(2)),s=16*n(t.charCodeAt(3))+n(t.charCodeAt(4)),a=16*n(t.charCodeAt(5))+n(t.charCodeAt(6));var l=16*n(t.charCodeAt(7))+n(t.charCodeAt(8));return new e(new i(r,s,a,l/255))}if(4===o){r=n(t.charCodeAt(1)),s=n(t.charCodeAt(2)),a=n(t.charCodeAt(3));return new e(new i(16*r+r,16*s+s,16*a+a))}if(5===o){r=n(t.charCodeAt(1)),s=n(t.charCodeAt(2)),a=n(t.charCodeAt(3)),l=n(t.charCodeAt(4));return new e(new i(16*r+r,16*s+s,16*a+a,(16*l+l)/255))}return null}}(t.CSS||(t.CSS={}))}(e.Format||(e.Format={}))}(a||(a={}))},function(e,t,o){"use strict";(function(e,n){o.d(t,"g",(function(){return p})),o.d(t,"d",(function(){return f})),o.d(t,"c",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"f",(function(){return y})),o.d(t,"b",(function(){return v})),o.d(t,"h",(function(){return E})),o.d(t,"a",(function(){return C}));var i,r=!1,s=!1,a=!1,l=!1,u=!1;if("object"==typeof e&&"function"==typeof e.nextTick&&"string"==typeof e.platform){r="win32"===e.platform,s="darwin"===e.platform,a="linux"===e.platform,"en","en";var c=e.env.VSCODE_NLS_CONFIG;if(c)try{var h=JSON.parse(c),d=h.availableLanguages["*"];h.locale,d||"en",h._translationsConfigFile}catch(e){}l=!0}else if("object"==typeof navigator){var g=navigator.userAgent;r=g.indexOf("Windows")>=0,s=g.indexOf("Macintosh")>=0,a=g.indexOf("Linux")>=0,u=!0,navigator.language}!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(i||(i={}));i.Web;l&&(s?i.Mac:r?i.Windows:a&&i.Linux);var p=r,f=s,m=a,_=l,y=u,v="object"==typeof self?self:"object"==typeof n?n:{},b=null;function E(t){return null===b&&(b=v.setImmediate?v.setImmediate.bind(v):void 0!==e&&"function"==typeof e.nextTick?e.nextTick.bind(e):v.setTimeout.bind(v)),b(t)}var C=s?2:r?1:3}).call(this,o(108),o(80))},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"d",(function(){return a}));var n,i,r,s=o(52);function a(e){return!(!e||"function"!=typeof e.getEditorType)&&e.getEditorType()===s.a.ICodeEditor}!function(e){e[e.EXACT=0]="EXACT",e[e.ABOVE=1]="ABOVE",e[e.BELOW=2]="BELOW"}(n||(n={})),function(e){e[e.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",e[e.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",e[e.TOP_CENTER=2]="TOP_CENTER"}(i||(i={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.TEXTAREA=1]="TEXTAREA",e[e.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",e[e.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",e[e.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",e[e.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",e[e.CONTENT_TEXT=6]="CONTENT_TEXT",e[e.CONTENT_EMPTY=7]="CONTENT_EMPTY",e[e.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",e[e.CONTENT_WIDGET=9]="CONTENT_WIDGET",e[e.OVERVIEW_RULER=10]="OVERVIEW_RULER",e[e.SCROLLBAR=11]="SCROLLBAR",e[e.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",e[e.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(r||(r={}))},function(e,t,o){"use strict";o.d(t,"n",(function(){return c})),o.d(t,"i",(function(){return h})),o.d(t,"h",(function(){return d})),o.d(t,"o",(function(){return g})),o.d(t,"e",(function(){return p})),o.d(t,"a",(function(){return f})),o.d(t,"d",(function(){return m})),o.d(t,"m",(function(){return _})),o.d(t,"g",(function(){return y})),o.d(t,"k",(function(){return v})),o.d(t,"j",(function(){return b})),o.d(t,"l",(function(){return E})),o.d(t,"f",(function(){return C})),o.d(t,"b",(function(){return S})),o.d(t,"c",(function(){return T}));var n,i=o(13),r=o(10),s=o(48),a=o(6),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e){return e&&"function"==typeof e.then}function c(e){return u(e)?e:r.b.as(e)}function h(e){var t=new s.b,o=e(t.token),n=new Promise((function(e,n){t.token.onCancellationRequested((function(){n(i.a())})),Promise.resolve(o).then((function(o){t.dispose(),e(o)}),(function(e){t.dispose(),n(e)}))}));return new(function(){function e(){}return e.prototype.cancel=function(){t.cancel()},e.prototype.then=function(e,t){return n.then(e,t)},e.prototype.catch=function(e){return this.then(void 0,e)},e}())}function d(e){var t=new s.b;return new r.b((function(o,n,i){var s=e(t.token);s instanceof r.b?s.then((function(e){t.dispose(),o(e)}),(function(e){t.dispose(),n(e)}),i):u(s)?s.then((function(e){t.dispose(),o(e)}),(function(e){t.dispose(),n(e)})):(t.dispose(),o(s))}),(function(){t.cancel()}))}function g(e,t,o){var n=e.onCancellationRequested((function(){return t.cancel()}));return o&&(t=t.then(void 0,(function(e){if(!i.d(e))return r.b.wrapError(e)}))),y(t,(function(){return n.dispose()}))}var p=function(){function e(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}return e.prototype.queue=function(e){var t=this;if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){var o=function(){t.queuedPromise=null;var e=t.queue(t.queuedPromiseFactory);return t.queuedPromiseFactory=null,e};this.queuedPromise=new r.b((function(e,n,i){t.activePromise.then(o,o,i).done(e)}),(function(){t.activePromise.cancel()}))}return new r.b((function(e,o,n){t.queuedPromise.then(e,o,n)}),(function(){}))}return this.activePromise=e(),new r.b((function(e,o,n){t.activePromise.done((function(o){t.activePromise=null,e(o)}),(function(e){t.activePromise=null,o(e)}),n)}),(function(){t.activePromise.cancel()}))},e}(),f=function(){function e(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.onSuccess=null,this.task=null}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new r.b((function(e){o.onSuccess=e}),(function(){})).then((function(){o.completionPromise=null,o.onSuccess=null;var e=o.task;return o.task=null,e()}))),this.timeout=setTimeout((function(){o.timeout=null,o.onSuccess(null)}),t),this.completionPromise},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise&&(this.completionPromise.cancel(),this.completionPromise=null)},e.prototype.cancelTimeout=function(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},e}(),m=function(e){function t(t){var o,n,r,s;return o=e.call(this,(function(e,t,o){n=e,r=t,s=o}),(function(){r(i.a())}))||this,t.then(n,r,s),o}return l(t,e),t}(r.b);function _(e){return h((function(t){return new Promise((function(o,n){var r=setTimeout(o,e);t.onCancellationRequested((function(e){clearTimeout(r),n(i.a())}))}))}))}function y(e,t){return o=e,r.b.is(o)&&"function"==typeof o.done?new r.b((function(o,n,r){e.done((function(e){try{t(e)}catch(e){i.e(e)}o(e)}),(function(e){try{t(e)}catch(e){i.e(e)}n(e)}),(function(e){r(e)}))}),(function(){e.cancel()})):(e.then((function(e){return t()}),(function(e){return t()})),e);var o}function v(e,t,o){void 0===t&&(t=function(e){return!!e}),void 0===o&&(o=null);var n=0,i=e.length,r=function(){return n>=i?Promise.resolve(o):(0,e[n++])().then((function(e){return t(e)?Promise.resolve(e):r()}))};return r()}function b(e,t,o){void 0===t&&(t=function(e){return!!e}),void 0===o&&(o=null);var n=0,i=e.length,s=function(){return n>=i?r.b.as(o):(0,e[n++])().then((function(e){return t(e)?r.b.as(e):s()}))};return s()}function E(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=setTimeout.apply(void 0,[e,t].concat(o));return{dispose:function(){clearTimeout(i)}}}var C=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return l(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){var o=this;this.cancel(),this._token=setTimeout((function(){o._token=-1,e()}),t)},t.prototype.setIfNotSet=function(e,t){var o=this;-1===this._token&&(this._token=setTimeout((function(){o._token=-1,e()}),t))},t}(a.a),S=function(e){function t(){var t=e.call(this)||this;return t._token=-1,t}return l(t,e),t.prototype.dispose=function(){this.cancel(),e.prototype.dispose.call(this)},t.prototype.cancel=function(){-1!==this._token&&(clearInterval(this._token),this._token=-1)},t.prototype.cancelAndSet=function(e,t){this.cancel(),this._token=setInterval((function(){e()}),t)},t}(a.a),T=function(){function e(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}return e.prototype.dispose=function(){this.cancel(),this.runner=null},e.prototype.cancel=function(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)},e.prototype.schedule=function(e){void 0===e&&(e=this.timeout),this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)},e.prototype.isScheduled=function(){return-1!==this.timeoutToken},e.prototype.onTimeout=function(){this.timeoutToken=-1,this.runner&&this.doRun()},e.prototype.doRun=function(){this.runner()},e}()},function(e,t,o){"use strict";var n,i,r,s;o.d(t,"f",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"d",(function(){return s})),o.d(t,"g",(function(){return l})),o.d(t,"e",(function(){return u})),o.d(t,"h",(function(){return a})),o.d(t,"a",(function(){return c})),function(e){e[e.Left=1]="Left",e[e.Center=2]="Center",e[e.Right=4]="Right",e[e.Full=7]="Full"}(n||(n={})),function(e){e[e.TextDefined=0]="TextDefined",e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(i||(i={})),function(e){e[e.LF=1]="LF",e[e.CRLF=2]="CRLF"}(r||(r={})),function(e){e[e.LF=0]="LF",e[e.CRLF=1]="CRLF"}(s||(s={}));var a,l=function(){function e(e){this.tabSize=0|e.tabSize,this.insertSpaces=Boolean(e.insertSpaces),this.defaultEOL=0|e.defaultEOL,this.trimAutoWhitespace=Boolean(e.trimAutoWhitespace)}return e.prototype.equals=function(e){return this.tabSize===e.tabSize&&this.insertSpaces===e.insertSpaces&&this.defaultEOL===e.defaultEOL&&this.trimAutoWhitespace===e.trimAutoWhitespace},e.prototype.createChangeEvent=function(e){return{tabSize:this.tabSize!==e.tabSize,insertSpaces:this.insertSpaces!==e.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==e.trimAutoWhitespace}},e}(),u=function(e,t){this.range=e,this.matches=t};!function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",e[e.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",e[e.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",e[e.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(a||(a={}));var c=function(e,t,o){this.reverseEdits=e,this.changes=t,this.trimAutoWhitespaceLineNumbers=o}},function(e,t,o){"use strict";o.d(t,"c",(function(){return a})),o.d(t,"f",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"a",(function(){return d})),o.d(t,"e",(function(){return p}));var n=o(22),i=o(6),r=o(57),s=o(4),a=Object(n.c)("themeService");function l(e){return{id:e}}var u="dark",c="hc";function h(e){switch(e){case u:return"vs-dark";case c:return"hc-black";default:return"vs"}}var d={ThemingContribution:"base.contributions.theming"},g=new(function(){function e(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new s.a}return e.prototype.onThemeChange=function(e){var t=this;return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),Object(i.f)((function(){var o=t.themingParticipants.indexOf(e);t.themingParticipants.splice(o,1)}))},e.prototype.getThemingParticipants=function(){return this.themingParticipants},e}());function p(e){return g.onThemeChange(e)}r.a.add(d.ThemingContribution,g)},function(e,t,o){"use strict";o.d(t,"b",(function(){return c})),o.d(t,"f",(function(){return h})),o.d(t,"c",(function(){return d})),o.d(t,"d",(function(){return g})),o.d(t,"e",(function(){return p})),o.d(t,"a",(function(){return f}));var n=o(9),i=o(8),r=o(26),s=o(23),a=o(2),l=o(32),u=o(13),c=function(){function e(t,o,n,i){this._languageIdentifier=t;var r=i.editor;this.readOnly=r.readOnly,this.tabSize=n.tabSize,this.insertSpaces=n.insertSpaces,this.oneIndent=o,this.pageSize=Math.max(1,Math.floor(r.layoutInfo.height/r.fontInfo.lineHeight)-2),this.lineHeight=r.lineHeight,this.useTabStops=r.useTabStops,this.wordSeparators=r.wordSeparators,this.emptySelectionClipboard=r.emptySelectionClipboard,this.multiCursorMergeOverlapping=r.multiCursorMergeOverlapping,this.autoClosingBrackets=r.autoClosingBrackets,this.autoIndent=r.autoIndent,this.autoClosingPairsOpen={},this.autoClosingPairsClose={},this.surroundingPairs={},this._electricChars=null;var s=e._getAutoClosingPairs(t);if(s)for(var a=0;a<s.length;a++)this.autoClosingPairsOpen[s[a].open]=s[a].close,this.autoClosingPairsClose[s[a].close]=s[a].open;var l=e._getSurroundingPairs(t);if(l)for(a=0;a<l.length;a++)this.surroundingPairs[l[a].open]=l[a].close}return e.shouldRecreate=function(e){return e.layoutInfo||e.wordSeparators||e.emptySelectionClipboard||e.multiCursorMergeOverlapping||e.autoClosingBrackets||e.useTabStops||e.lineHeight||e.readOnly},Object.defineProperty(e.prototype,"electricChars",{get:function(){if(!this._electricChars){this._electricChars={};var t=e._getElectricCharacters(this._languageIdentifier);if(t)for(var o=0;o<t.length;o++)this._electricChars[t[o]]=!0}return this._electricChars},enumerable:!0,configurable:!0}),e.prototype.normalizeIndentation=function(e){return r.b.normalizeIndentation(e,this.tabSize,this.insertSpaces)},e._getElectricCharacters=function(e){try{return l.a.getElectricCharacters(e.id)}catch(e){return Object(u.e)(e),null}},e._getAutoClosingPairs=function(e){try{return l.a.getAutoClosingPairs(e.id)}catch(e){return Object(u.e)(e),null}},e._getSurroundingPairs=function(e){try{return l.a.getSurroundingPairs(e.id)}catch(e){return Object(u.e)(e),null}},e}(),h=function(){function e(t,o,n,i){this.selectionStart=t,this.selectionStartLeftoverVisibleColumns=o,this.position=n,this.leftoverVisibleColumns=i,this.selection=e._computeSelection(this.selectionStart,this.position)}return e.prototype.equals=function(e){return this.selectionStartLeftoverVisibleColumns===e.selectionStartLeftoverVisibleColumns&&this.leftoverVisibleColumns===e.leftoverVisibleColumns&&this.position.equals(e.position)&&this.selectionStart.equalsRange(e.selectionStart)},e.prototype.hasSelection=function(){return!this.selection.isEmpty()||!this.selectionStart.isEmpty()},e.prototype.move=function(t,o,i,r){return t?new e(this.selectionStart,this.selectionStartLeftoverVisibleColumns,new n.a(o,i),r):new e(new a.a(o,i,o,i),r,new n.a(o,i),r)},e._computeSelection=function(e,t){var o,n,i,r;return e.isEmpty()?(o=e.startLineNumber,n=e.startColumn,i=t.lineNumber,r=t.column):t.isBeforeOrEqual(e.getStartPosition())?(o=e.endLineNumber,n=e.endColumn,i=t.lineNumber,r=t.column):(o=e.startLineNumber,n=e.startColumn,i=t.lineNumber,r=t.column),new s.a(o,n,i,r)},e}(),d=function(){function e(e,t,o){this.model=t,this.viewModel=o,this.config=new c(this.model.getLanguageIdentifier(),this.model.getOneIndent(),this.model.getOptions(),e)}return e.prototype.validateViewPosition=function(e,t){return this.viewModel.coordinatesConverter.validateViewPosition(e,t)},e.prototype.validateViewRange=function(e,t){return this.viewModel.coordinatesConverter.validateViewRange(e,t)},e.prototype.convertViewRangeToModelRange=function(e){return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.convertViewPositionToModelPosition=function(e,t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new n.a(e,t))},e.prototype.convertModelPositionToViewPosition=function(e){return this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this.viewModel.coordinatesConverter.convertModelRangeToViewRange(e)},e.prototype.getCurrentScrollTop=function(){return this.viewModel.viewLayout.getCurrentScrollTop()},e.prototype.getCompletelyVisibleViewRange=function(){return this.viewModel.getCompletelyVisibleViewRange()},e.prototype.getCompletelyVisibleModelRange=function(){var e=this.viewModel.getCompletelyVisibleViewRange();return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},e.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){return this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(e)},e.prototype.getVerticalOffsetForViewLine=function(e){return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(e)},e}(),g=function(){function e(e,t){this.modelState=e,this.viewState=t}return e.fromModelState=function(t){return new e(t,null)},e.fromViewState=function(t){return new e(null,t)},e.fromModelSelection=function(t){var o=t.selectionStartLineNumber,i=t.selectionStartColumn,r=t.positionLineNumber,s=t.positionColumn,l=new h(new a.a(o,i,o,i),0,new n.a(r,s),0);return e.fromModelState(l)},e.fromModelSelections=function(e){for(var t=[],o=0,n=e.length;o<n;o++)t[o]=this.fromModelSelection(e[o]);return t},e.prototype.equals=function(e){return this.viewState.equals(e.viewState)&&this.modelState.equals(e.modelState)},e}(),p=function(e,t,o){this.type=e,this.commands=t,this.shouldPushStackElementBefore=o.shouldPushStackElementBefore,this.shouldPushStackElementAfter=o.shouldPushStackElementAfter},f=function(){function e(){}return e.isLowSurrogate=function(e,t,o){var n=e.getLineContent(t);return!(o<0||o>=n.length)&&i.isLowSurrogate(n.charCodeAt(o))},e.isHighSurrogate=function(e,t,o){var n=e.getLineContent(t);return!(o<0||o>=n.length)&&i.isHighSurrogate(n.charCodeAt(o))},e.isInsideSurrogatePair=function(e,t,o){return this.isHighSurrogate(e,t,o-2)},e.visibleColumnFromColumn=function(e,t,o){var n=e.length;n>t-1&&(n=t-1);for(var r=0,s=0;s<n;s++){var a=e.charCodeAt(s);9===a?r=this.nextTabStop(r,o):i.isFullWidthCharacter(a)?r+=2:r+=1}return r},e.visibleColumnFromColumn2=function(e,t,o){return this.visibleColumnFromColumn(t.getLineContent(o.lineNumber),o.column,e.tabSize)},e.columnFromVisibleColumn=function(e,t,o){if(t<=0)return 1;for(var n=e.length,r=0,s=0;s<n;s++){var a=e.charCodeAt(s),l=void 0;if((l=9===a?this.nextTabStop(r,o):i.isFullWidthCharacter(a)?r+2:r+1)>=t)return l-t<t-r?s+2:s+1;r=l}return n+1},e.columnFromVisibleColumn2=function(e,t,o,n){var i=this.columnFromVisibleColumn(t.getLineContent(o),n,e.tabSize),r=t.getLineMinColumn(o);if(i<r)return r;var s=t.getLineMaxColumn(o);return i>s?s:i},e.nextTabStop=function(e,t){return e+t-e%t},e.prevTabStop=function(e,t){return e-1-(e-1)%t},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"h",(function(){return r})),o.d(t,"g",(function(){return s})),o.d(t,"f",(function(){return a})),o.d(t,"c",(function(){return l})),o.d(t,"i",(function(){return u})),o.d(t,"j",(function(){return c})),o.d(t,"d",(function(){return d})),o.d(t,"e",(function(){return g})),o.d(t,"k",(function(){return p})),o.d(t,"a",(function(){return m}));var n={number:"number",string:"string",undefined:"undefined",object:"object",function:"function"};function i(e){return Array.isArray?Array.isArray(e):!(!e||typeof e.length!==n.number||e.constructor!==Array)}function r(e){return typeof e===n.string||e instanceof String}function s(e){return!(typeof e!==n.object||null===e||Array.isArray(e)||e instanceof RegExp||e instanceof Date)}function a(e){return(typeof e===n.number||e instanceof Number)&&!isNaN(e)}function l(e){return!0===e||!1===e}function u(e){return typeof e===n.undefined}function c(e){return u(e)||null===e}var h=Object.prototype.hasOwnProperty;function d(e){if(!s(e))return!1;for(var t in e)if(h.call(e,t))return!1;return!0}function g(e){return typeof e===n.function}function p(e,t){for(var o=Math.min(e.length,t.length),n=0;n<o;n++)f(e[n],t[n])}function f(e,t){if(r(t)){if(typeof e!==t)throw new Error("argument does not match constraint: typeof "+t)}else if(g(t)){if(e instanceof t)return;if(!c(e)&&e.constructor===t)return;if(1===t.length&&!0===t.call(void 0,e))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function m(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=Object.create(e.prototype);return e.apply(n,t),n}},function(e,t,o){"use strict";var n;o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return s})),o.d(t,"d",(function(){return a})),function(e){e.serviceIds=new Map,e.DI_TARGET="$di$target",e.DI_DEPENDENCIES="$di$dependencies",e.getServiceDependencies=function(t){return t[e.DI_DEPENDENCIES]||[]}}(n||(n={}));var i=s("instantiationService");function r(e,t,o,i){t[n.DI_TARGET]===t?t[n.DI_DEPENDENCIES].push({id:e,index:o,optional:i}):(t[n.DI_DEPENDENCIES]=[{id:e,index:o,optional:i}],t[n.DI_TARGET]=t)}function s(e){if(n.serviceIds.has(e))return n.serviceIds.get(e);var t=function(e,o,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");r(t,e,n,!1)};return t.toString=function(){return e},n.serviceIds.set(e,t),t}function a(e){return function(t,o,n){if(3!==arguments.length)throw new Error("@optional-decorator can only be used to decorate a parameter");r(e,t,n,!0)}}},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return l}));var n,i,r=o(2),s=o(9),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.LTR=0]="LTR",e[e.RTL=1]="RTL"}(i||(i={}));var l=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n,i)||this;return r.selectionStartLineNumber=t,r.selectionStartColumn=o,r.positionLineNumber=n,r.positionColumn=i,r}return a(t,e),t.prototype.clone=function(){return new t(this.selectionStartLineNumber,this.selectionStartColumn,this.positionLineNumber,this.positionColumn)},t.prototype.toString=function(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"},t.prototype.equalsSelection=function(e){return t.selectionsEqual(this,e)},t.selectionsEqual=function(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn},t.prototype.getDirection=function(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?i.LTR:i.RTL},t.prototype.setEndPosition=function(e,o){return this.getDirection()===i.LTR?new t(this.startLineNumber,this.startColumn,e,o):new t(e,o,this.startLineNumber,this.startColumn)},t.prototype.getPosition=function(){return new s.a(this.positionLineNumber,this.positionColumn)},t.prototype.setStartPosition=function(e,o){return this.getDirection()===i.LTR?new t(e,o,this.endLineNumber,this.endColumn):new t(this.endLineNumber,this.endColumn,e,o)},t.fromPositions=function(e,o){return void 0===o&&(o=e),new t(e.lineNumber,e.column,o.lineNumber,o.column)},t.liftSelection=function(e){return new t(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)},t.selectionsArrEqual=function(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(var o=0,n=e.length;o<n;o++)if(!this.selectionsEqual(e[o],t[o]))return!1;return!0},t.isISelection=function(e){return e&&"number"==typeof e.selectionStartLineNumber&&"number"==typeof e.selectionStartColumn&&"number"==typeof e.positionLineNumber&&"number"==typeof e.positionColumn},t.createWithDirection=function(e,o,n,r,s){return s===i.LTR?new t(e,o,n,r):new t(n,r,e,o)},t}(r.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"p",(function(){return a})),o.d(t,"b",(function(){return l})),o.d(t,"a",(function(){return u})),o.d(t,"o",(function(){return c})),o.d(t,"k",(function(){return d})),o.d(t,"g",(function(){return g})),o.d(t,"h",(function(){return p})),o.d(t,"j",(function(){return f})),o.d(t,"n",(function(){return m})),o.d(t,"f",(function(){return _})),o.d(t,"m",(function(){return y})),o.d(t,"l",(function(){return v})),o.d(t,"i",(function(){return b})),o.d(t,"e",(function(){return E}));var n=o(4),i=function(){function e(){this._zoomLevel=0,this._lastZoomLevelChangeTime=0,this._onDidChangeZoomLevel=new n.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this._accessibilitySupport=0,this._onDidChangeAccessibilitySupport=new n.a,this.onDidChangeAccessibilitySupport=this._onDidChangeAccessibilitySupport.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.getTimeSinceLastZoomLevelChanged=function(){return Date.now()-this._lastZoomLevelChangeTime},e.prototype.getPixelRatio=function(){var e=document.createElement("canvas").getContext("2d");return(window.devicePixelRatio||1)/(e.webkitBackingStorePixelRatio||e.mozBackingStorePixelRatio||e.msBackingStorePixelRatio||e.oBackingStorePixelRatio||e.backingStorePixelRatio||1)},e.prototype.getAccessibilitySupport=function(){return this._accessibilitySupport},e.INSTANCE=new e,e}();function r(){return i.INSTANCE.getZoomLevel()}function s(){return i.INSTANCE.getTimeSinceLastZoomLevelChanged()}function a(e){return i.INSTANCE.onDidChangeZoomLevel(e)}function l(){return i.INSTANCE.getPixelRatio()}function u(){return i.INSTANCE.getAccessibilitySupport()}function c(e){return i.INSTANCE.onDidChangeAccessibilitySupport(e)}var h=navigator.userAgent,d=h.indexOf("Trident")>=0,g=h.indexOf("Edge/")>=0,p=d||g,f=h.indexOf("Firefox")>=0,m=h.indexOf("AppleWebKit")>=0,_=h.indexOf("Chrome")>=0,y=-1===h.indexOf("Chrome")&&h.indexOf("Safari")>=0,v=h.indexOf("iPad")>=0,b=g&&h.indexOf("WebView/")>=0;function E(){if(d)return!1;if(g){var e=h.indexOf("Edge/"),t=parseInt(h.substring(e+5,h.indexOf(".",e)),10);if(!t||t>=12&&t<=16)return!1}return!0}},function(e,t,o){"use strict";function n(e,t){return void 0===t&&(t=0),e[e.length-(1+t)]}function i(e,t,o){if(void 0===o&&(o=function(e,t){return e===t}),e.length!==t.length)return!1;for(var n=0,i=e.length;n<i;n++)if(!o(e[n],t[n]))return!1;return!0}function r(e,t,o){for(var n=0,i=e.length-1;n<=i;){var r=(n+i)/2|0,s=o(e[r],t);if(s<0)n=r+1;else{if(!(s>0))return r;i=r-1}}return-(n+1)}function s(e,t){var o=0,n=e.length;if(0===n)return 0;for(;o<n;){var i=Math.floor((o+n)/2);t(e[i])?n=i:o=i+1}return o}function a(e,t){return function e(t,o,n,i,r){if(i<=n)return;var s=n+(i-n)/2|0;e(t,o,n,s,r);e(t,o,s+1,i,r);if(o(t[s],t[s+1])<=0)return;!function(e,t,o,n,i,r){for(var s=o,a=n+1,l=o;l<=i;l++)r[l]=e[l];for(l=o;l<=i;l++)s>n?e[l]=r[a++]:a>i?e[l]=r[s++]:t(r[a],r[s])<0?e[l]=r[a++]:e[l]=r[s++]}(t,o,n,s,i,r)}(e,t,0,e.length-1,[]),e}function l(e,t){for(var o,n=[],i=0,r=a(e.slice(0),t);i<r.length;i++){var s=r[i];o&&0===t(o[0],s)?o.push(s):(o=[s],n.push(o))}return n}function u(e,t){if(!e&&!t)return e;if(!t)return e.filter((function(e){return!!e}));for(var o=0,n=0;n<e.length;n++)e[n]&&(e[o]=e[n],o+=1);e.length=o}function c(e){return!Array.isArray(e)||0===e.length}function h(e,t){if(!t)return e.filter((function(t,o){return e.indexOf(t)===o}));var o=Object.create(null);return e.filter((function(e){var n=t(e);return!o[n]&&(o[n]=!0,!0)}))}function d(e,t){for(var o=0;o<e.length;o++){if(t(e[o]))return o}return-1}function g(e,t,o){void 0===o&&(o=null);var n=d(e,t);return n<0?o:e[n]}function p(e){return[].concat.apply([],e)}function f(e,t){var o="number"==typeof t?e:0;"number"==typeof t?o=e:(o=0,t=e);var n=[];if(o<=t)for(var i=o;i<t;i++)n.push(i);else for(i=o;i>t;i--)n.push(i);return n}function m(e,t,o){var n=e.slice(0,t),i=e.slice(t);return n.concat(o,i)}o.d(t,"n",(function(){return n})),o.d(t,"e",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"f",(function(){return s})),o.d(t,"l",(function(){return a})),o.d(t,"j",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"k",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"h",(function(){return d})),o.d(t,"g",(function(){return g})),o.d(t,"i",(function(){return p})),o.d(t,"m",(function(){return f})),o.d(t,"a",(function(){return m}))},function(e,t,o){"use strict";var n=o(33),i=o(4),r=o(18),s=o(11),a=o(13),l=function(){function e(e,t){this.beforeVersionId=e,this.beforeCursorState=t,this.afterCursorState=null,this.afterVersionId=-1,this.editOperations=[]}return e.prototype.undo=function(e){for(var t=this.editOperations.length-1;t>=0;t--)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e.prototype.redo=function(e){for(var t=0;t<this.editOperations.length;t++)this.editOperations[t]={operations:e.applyEdits(this.editOperations[t].operations)}},e}();function u(e){return"\n"===e.getEOL()?r.d.LF:r.d.CRLF}var c=function(){function e(e,t){this.beforeVersionId=e,this.beforeCursorState=null,this.afterCursorState=null,this.afterVersionId=-1,this.eol=t}return e.prototype.undo=function(e){var t=u(e);e.setEOL(this.eol),this.eol=t},e.prototype.redo=function(e){var t=u(e);e.setEOL(this.eol),this.eol=t},e}(),h=function(){function e(e){this.model=e,this.currentOpenStackElement=null,this.past=[],this.future=[]}return e.prototype.pushStackElement=function(){null!==this.currentOpenStackElement&&(this.past.push(this.currentOpenStackElement),this.currentOpenStackElement=null)},e.prototype.clear=function(){this.currentOpenStackElement=null,this.past=[],this.future=[]},e.prototype.pushEOL=function(e){this.future=[],this.currentOpenStackElement&&this.pushStackElement();var t=u(this.model),o=new c(this.model.getAlternativeVersionId(),t);this.model.setEOL(e),o.afterVersionId=this.model.getVersionId(),this.currentOpenStackElement=o,this.pushStackElement()},e.prototype.pushEditOperation=function(t,o,n){this.future=[];var i=null;this.currentOpenStackElement&&(this.currentOpenStackElement instanceof l?i=this.currentOpenStackElement:this.pushStackElement()),this.currentOpenStackElement||(i=new l(this.model.getAlternativeVersionId(),t),this.currentOpenStackElement=i);var r={operations:this.model.applyEdits(o)};return i.editOperations.push(r),i.afterCursorState=e._computeCursorState(n,r.operations),i.afterVersionId=this.model.getVersionId(),i.afterCursorState},e._computeCursorState=function(e,t){try{return e?e(t):null}catch(e){return Object(a.e)(e),null}},e.prototype.undo=function(){if(this.pushStackElement(),this.past.length>0){var e=this.past.pop();try{e.undo(this.model)}catch(e){return Object(a.e)(e),this.clear(),null}return this.future.push(e),{selections:e.beforeCursorState,recordedVersionId:e.beforeVersionId}}return null},e.prototype.canUndo=function(){return this.past.length>0},e.prototype.redo=function(){if(this.future.length>0){var e=this.future.pop();try{e.redo(this.model)}catch(e){return Object(a.e)(e),this.clear(),null}return this.past.push(e),{selections:e.afterCursorState,recordedVersionId:e.afterVersionId}}return null},e.prototype.canRedo=function(){return this.future.length>0},e}(),d=o(2),g=o(23),p=function(){this.changeType=1},f=function(e,t){this.changeType=2,this.lineNumber=e,this.detail=t},m=function(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t},_=function(e,t,o){this.changeType=4,this.fromLineNumber=e,this.toLineNumber=t,this.detail=o},y=function(){this.changeType=5},v=function(){function e(e,t,o,n){this.changes=e,this.versionId=t,this.isUndoing=o,this.isRedoing=n}return e.prototype.containsEvent=function(e){for(var t=0,o=this.changes.length;t<o;t++){if(this.changes[t].changeType===e)return!0}return!1},e.merge=function(t,o){return new e([].concat(t.changes).concat(o.changes),o.versionId,t.isUndoing||o.isUndoing,t.isRedoing||o.isRedoing)},e}(),b=function(){function e(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}return e.prototype.merge=function(t){var o=v.merge(this.rawContentChangedEvent,t.rawContentChangedEvent),n=e._mergeChangeEvents(this.contentChangedEvent,t.contentChangedEvent);return new e(o,n)},e._mergeChangeEvents=function(e,t){return{changes:[].concat(e.changes).concat(t.changes),eol:t.eol,versionId:t.versionId,isUndoing:e.isUndoing||t.isUndoing,isRedoing:e.isRedoing||t.isRedoing,isFlush:e.isFlush||t.isFlush}},e}(),E=o(8);function C(e){return(1&e.metadata)>>>0}function S(e,t){e.metadata=254&e.metadata|t<<0}function T(e){return(2&e.metadata)>>>1==1}function w(e,t){e.metadata=253&e.metadata|(t?1:0)<<1}function k(e){return(4&e.metadata)>>>2==1}function O(e,t){e.metadata=251&e.metadata|(t?1:0)<<2}function R(e){return(8&e.metadata)>>>3==1}function N(e,t){e.metadata=247&e.metadata|(t?1:0)<<3}function L(e,t){e.metadata=207&e.metadata|t<<4}var I=function(){function e(e,t,o){this.metadata=0,this.parent=null,this.left=null,this.right=null,S(this,1),this.start=t,this.end=o,this.delta=0,this.maxEnd=o,this.id=e,this.ownerId=0,this.options=null,O(this,!1),L(this,1),N(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=o,this.range=null,w(this,!1)}return e.prototype.reset=function(e,t,o,n){this.start=t,this.end=o,this.maxEnd=o,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=o,this.range=n},e.prototype.setOptions=function(e){this.options=e;var t=this.options.className;O(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),L(this,this.options.stickiness),N(this,!!this.options.overviewRuler.color)},e.prototype.setCachedOffsets=function(e,t,o){this.cachedVersionId!==o&&(this.range=null),this.cachedVersionId=o,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),D=new I(null,0,0);D.parent=D,D.left=D,D.right=D,S(D,0);var A=function(){function e(){this.root=D,this.requestNormalizeDelta=!1}return e.prototype.intervalSearch=function(e,t,o,n,i){return this.root===D?[]:function(e,t,o,n,i,r){var s=e.root,a=0,l=0,u=0,c=[],h=0;for(;s!==D;)if(T(s))w(s.left,!1),w(s.right,!1),s===s.parent.right&&(a-=s.parent.delta),s=s.parent;else{if(!T(s.left)){if(a+s.maxEnd<t){w(s,!0);continue}if(s.left!==D){s=s.left;continue}}if((l=a+s.start)>o)w(s,!0);else{if((u=a+s.end)>=t){s.setCachedOffsets(l,u,r);var d=!0;n&&s.ownerId&&s.ownerId!==n&&(d=!1),i&&k(s)&&(d=!1),d&&(c[h++]=s)}w(s,!0),s.right===D||T(s.right)||(a+=s.delta,s=s.right)}}return w(e.root,!1),c}(this,e,t,o,n,i)},e.prototype.search=function(e,t,o){return this.root===D?[]:function(e,t,o,n){var i=e.root,r=0,s=0,a=0,l=[],u=0;for(;i!==D;)if(T(i))w(i.left,!1),w(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;else if(i.left===D||T(i.left)){s=r+i.start,a=r+i.end,i.setCachedOffsets(s,a,n);var c=!0;t&&i.ownerId&&i.ownerId!==t&&(c=!1),o&&k(i)&&(c=!1),c&&(l[u++]=i),w(i,!0),i.right===D||T(i.right)||(r+=i.delta,i=i.right)}else i=i.left;return w(e.root,!1),l}(this,e,t,o)},e.prototype.collectNodesFromOwner=function(e){return function(e,t){var o=e.root,n=[],i=0;for(;o!==D;)T(o)?(w(o.left,!1),w(o.right,!1),o=o.parent):o.left===D||T(o.left)?(o.ownerId===t&&(n[i++]=o),w(o,!0),o.right===D||T(o.right)||(o=o.right)):o=o.left;return w(e.root,!1),n}(this,e)},e.prototype.collectNodesPostOrder=function(){return function(e){var t=e.root,o=[],n=0;for(;t!==D;)T(t)?(w(t.left,!1),w(t.right,!1),t=t.parent):t.left===D||T(t.left)?t.right===D||T(t.right)?(o[n++]=t,w(t,!0)):t=t.right:t=t.left;return w(e.root,!1),o}(this)},e.prototype.insert=function(e){x(this,e),this._normalizeDeltaIfNecessary()},e.prototype.delete=function(e){B(this,e),this._normalizeDeltaIfNecessary()},e.prototype.resolveNode=function(e,t){for(var o=e,n=0;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;var i=o.start+n,r=o.end+n;o.setCachedOffsets(i,r,t)},e.prototype.acceptReplace=function(e,t,o,n){for(var i=function(e,t,o){var n=e.root,i=0,r=0,s=0,a=[],l=0;for(;n!==D;)if(T(n))w(n.left,!1),w(n.right,!1),n===n.parent.right&&(i-=n.parent.delta),n=n.parent;else{if(!T(n.left)){if(i+n.maxEnd<t){w(n,!0);continue}if(n.left!==D){n=n.left;continue}}(r=i+n.start)>o?w(n,!0):((s=i+n.end)>=t&&(n.setCachedOffsets(r,s,0),a[l++]=n),w(n,!0),n.right===D||T(n.right)||(i+=n.delta,n=n.right))}return w(e.root,!1),a}(this,e,e+t),r=0,s=i.length;r<s;r++){B(this,a=i[r])}this._normalizeDeltaIfNecessary(),function(e,t,o,n){var i=e.root,r=0,s=n-(o-t);for(;i!==D;)if(T(i))w(i.left,!1),w(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),W(i),i=i.parent;else{if(!T(i.left)){if(r+i.maxEnd<t){w(i,!0);continue}if(i.left!==D){i=i.left;continue}}r+i.start>o?(i.start+=s,i.end+=s,i.delta+=s,(i.delta<-1073741824||i.delta>1073741824)&&(e.requestNormalizeDelta=!0),w(i,!0)):(w(i,!0),i.right===D||T(i.right)||(r+=i.delta,i=i.right))}w(e.root,!1)}(this,e,e+t,o),this._normalizeDeltaIfNecessary();for(r=0,s=i.length;r<s;r++){var a;(a=i[r]).start=a.cachedAbsoluteStart,a.end=a.cachedAbsoluteEnd,M(a,e,e+t,o,n),a.maxEnd=a.end,x(this,a)}this._normalizeDeltaIfNecessary()},e.prototype._normalizeDeltaIfNecessary=function(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){var t=e.root,o=0;for(;t!==D;)t.left===D||T(t.left)?t.right===D||T(t.right)?(t.start=o+t.start,t.end=o+t.end,t.delta=0,W(t),w(t,!0),w(t.left,!1),w(t.right,!1),t===t.parent.right&&(o-=t.parent.delta),t=t.parent):(o+=t.delta,t=t.right):t=t.left;w(e.root,!1)}(this))},e}();function P(e,t,o,n){return e<o||!(e>o)&&(1!==n&&(2===n||t))}function M(e,t,o,n,i){var r=function(e){return(48&e.metadata)>>>4}(e),s=0===r||2===r,a=1===r||2===r,l=o-t,u=n,c=Math.min(l,u),h=e.start,d=!1,g=e.end,p=!1,f=i?1:l>0?2:0;if(!d&&P(h,s,t,f)&&(d=!0),!p&&P(g,a,t,f)&&(p=!0),c>0&&!i){f=l>u?2:0;!d&&P(h,s,t+c,f)&&(d=!0),!p&&P(g,a,t+c,f)&&(p=!0)}f=i?1:0;!d&&P(h,s,o,f)&&(e.start=t+u,d=!0),!p&&P(g,a,o,f)&&(e.end=t+u,p=!0);var m=u-l;d||(e.start=Math.max(0,h+m),d=!0),p||(e.end=Math.max(0,g+m),p=!0),e.start>e.end&&(e.end=e.start)}function x(e,t){if(e.root===D)return t.parent=D,t.left=D,t.right=D,S(t,0),e.root=t,e.root;!function(e,t){var o=0,n=e.root,i=t.start,r=t.end;for(;;){if(G(i,r,n.start+o,n.end+o)<0){if(n.left===D){t.start-=o,t.end-=o,t.maxEnd-=o,n.left=t;break}n=n.left}else{if(n.right===D){t.start-=o+n.delta,t.end-=o+n.delta,t.maxEnd-=o+n.delta,n.right=t;break}o+=n.delta,n=n.right}}t.parent=n,t.left=D,t.right=D,S(t,1)}(e,t),j(t.parent);for(var o=t;o!==e.root&&1===C(o.parent);){var n;if(o.parent===o.parent.parent.left)1===C(n=o.parent.parent.right)?(S(o.parent,0),S(n,0),S(o.parent.parent,1),o=o.parent.parent):(o===o.parent.right&&H(e,o=o.parent),S(o.parent,0),S(o.parent.parent,1),U(e,o.parent.parent));else 1===C(n=o.parent.parent.left)?(S(o.parent,0),S(n,0),S(o.parent.parent,1),o=o.parent.parent):(o===o.parent.left&&U(e,o=o.parent),S(o.parent,0),S(o.parent.parent,1),H(e,o.parent.parent))}return S(e.root,0),t}function B(e,t){var o,n;if(t.left===D?(n=t,(o=t.right).delta+=t.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),o.start+=t.delta,o.end+=t.delta):t.right===D?(o=t.left,n=t):((o=(n=function(e){for(;e.left!==D;)e=e.left;return e}(t.right)).right).start+=n.delta,o.end+=n.delta,o.delta+=n.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-1073741824||n.delta>1073741824)&&(e.requestNormalizeDelta=!0)),n===e.root)return e.root=o,S(o,0),t.detach(),F(),W(o),void(e.root.parent=D);var i,r=1===C(n);if(n===n.parent.left?n.parent.left=o:n.parent.right=o,n===t?o.parent=n.parent:(n.parent===t?o.parent=n:o.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,S(n,C(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==D&&(n.left.parent=n),n.right!==D&&(n.right.parent=n)),t.detach(),r)return j(o.parent),n!==t&&(j(n),j(n.parent)),void F();for(j(o),j(o.parent),n!==t&&(j(n),j(n.parent));o!==e.root&&0===C(o);)o===o.parent.left?(1===C(i=o.parent.right)&&(S(i,0),S(o.parent,1),H(e,o.parent),i=o.parent.right),0===C(i.left)&&0===C(i.right)?(S(i,1),o=o.parent):(0===C(i.right)&&(S(i.left,0),S(i,1),U(e,i),i=o.parent.right),S(i,C(o.parent)),S(o.parent,0),S(i.right,0),H(e,o.parent),o=e.root)):(1===C(i=o.parent.left)&&(S(i,0),S(o.parent,1),U(e,o.parent),i=o.parent.left),0===C(i.left)&&0===C(i.right)?(S(i,1),o=o.parent):(0===C(i.left)&&(S(i.right,0),S(i,1),H(e,i),i=o.parent.left),S(i,C(o.parent)),S(o.parent,0),S(i.left,0),U(e,o.parent),o=e.root));S(o,0),F()}function F(){D.parent=D,D.delta=0,D.start=0,D.end=0}function H(e,t){var o=t.right;o.delta+=t.delta,(o.delta<-1073741824||o.delta>1073741824)&&(e.requestNormalizeDelta=!0),o.start+=t.delta,o.end+=t.delta,t.right=o.left,o.left!==D&&(o.left.parent=t),o.parent=t.parent,t.parent===D?e.root=o:t===t.parent.left?t.parent.left=o:t.parent.right=o,o.left=t,t.parent=o,W(t),W(o)}function U(e,t){var o=t.left;t.delta-=o.delta,(t.delta<-1073741824||t.delta>1073741824)&&(e.requestNormalizeDelta=!0),t.start-=o.delta,t.end-=o.delta,t.left=o.right,o.right!==D&&(o.right.parent=t),o.parent=t.parent,t.parent===D?e.root=o:t===t.parent.right?t.parent.right=o:t.parent.left=o,o.right=t,t.parent=o,W(t),W(o)}function V(e){var t=e.end;if(e.left!==D){var o=e.left.maxEnd;o>t&&(t=o)}if(e.right!==D){var n=e.right.maxEnd+e.delta;n>t&&(t=n)}return t}function W(e){e.maxEnd=V(e)}function j(e){for(;e!==D;){var t=V(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}function G(e,t,o,n){return e===o?t-n:e-o}var z=o(6),K=o(15),Y=K.b.performance&&"function"==typeof K.b.performance.now,X=function(){function e(e){this._highResolution=Y&&e,this._startTime=this._now(),this._stopTime=-1}return e.create=function(t){return void 0===t&&(t=!0),new e(t)},e.prototype.elapsed=function(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime},e.prototype._now=function(){return this._highResolution?K.b.performance.now():(new Date).getTime()},e}(),q=o(69),$=o(86),J=o(106),Z=o(9),Q=o(32),ee=o(105),te=o(87),oe=o(25);function ne(e){return(16384|e<<0|2<<23)>>>0}var ie=new Uint32Array(0).buffer,re=function(){function e(e){this._state=e,this._lineTokens=null,this._invalid=!0}return e.prototype.deleteBeginning=function(e){null!==this._lineTokens&&this._lineTokens!==ie&&this.delete(0,e)},e.prototype.deleteEnding=function(e){if(null!==this._lineTokens&&this._lineTokens!==ie){var t=new Uint32Array(this._lineTokens),o=t[t.length-2];this.delete(e,o)}},e.prototype.delete=function(e,t){if(null!==this._lineTokens&&this._lineTokens!==ie&&e!==t){var o=new Uint32Array(this._lineTokens),n=o.length>>>1;if(0!==e||o[o.length-2]!==t){var i=te.a.findIndexInTokensArray(o,e),r=i>0?o[i-1<<1]:0;if(t<o[i<<1])for(var s=t-e,a=i;a<n;a++)o[a<<1]-=s;else{var l,u;r!==e?(o[i<<1]=e,l=i+1<<1,u=e):(l=i<<1,u=r);for(var c=t-e,h=i+1;h<n;h++){var d=o[h<<1]-c;d>u&&(o[l++]=d,o[l++]=o[1+(h<<1)],u=d)}if(l!==o.length){var g=new Uint32Array(l);g.set(o.subarray(0,l),0),this._lineTokens=g.buffer}}}else this._lineTokens=ie}},e.prototype.append=function(e){if(e!==ie)if(this._lineTokens!==ie){if(null!==this._lineTokens)if(null!==e){var t=new Uint32Array(this._lineTokens),o=new Uint32Array(e),n=o.length>>>1,i=new Uint32Array(t.length+o.length);i.set(t,0);for(var r=t.length,s=t[t.length-2],a=0;a<n;a++)i[r++]=o[a<<1]+s,i[r++]=o[1+(a<<1)];this._lineTokens=i.buffer}else this._lineTokens=null}else this._lineTokens=e},e.prototype.insert=function(e,t){if(this._lineTokens){var o=new Uint32Array(this._lineTokens),n=o.length>>>1,i=te.a.findIndexInTokensArray(o,e);if(i>0)(i>0?o[i-1<<1]:0)===e&&i--;for(var r=i;r<n;r++)o[r<<1]+=t}},e}(),se=function(){function e(e,t){if(this.languageIdentifier=e,this.tokenizationSupport=t,this._tokens=[],this.tokenizationSupport){var o=null;try{o=this.tokenizationSupport.getInitialState()}catch(e){Object(a.e)(e),this.tokenizationSupport=null}o&&(this._tokens[0]=new re(o))}this._invalidLineStartIndex=0,this._lastState=null}return Object.defineProperty(e.prototype,"inValidLineStartIndex",{get:function(){return this._invalidLineStartIndex},enumerable:!0,configurable:!0}),e.prototype.getTokens=function(e,t,o){var n=null;if(t<this._tokens.length&&this._tokens[t]&&(n=this._tokens[t]._lineTokens),null!==n&&n!==ie)return new te.a(new Uint32Array(n),o);var i=new Uint32Array(2);return i[0]=o.length,i[1]=ne(e),new te.a(i,o)},e.prototype.isCheapToTokenize=function(e){return this._invalidLineStartIndex+1>=e},e.prototype.hasLinesToTokenize=function(e){return this._invalidLineStartIndex<e.getLineCount()},e.prototype.invalidateLine=function(e){this._setIsInvalid(e,!0),e<this._invalidLineStartIndex&&(this._setIsInvalid(this._invalidLineStartIndex,!0),this._invalidLineStartIndex=e)},e.prototype._setIsInvalid=function(e,t){e<this._tokens.length&&this._tokens[e]&&(this._tokens[e]._invalid=t)},e.prototype._isInvalid=function(e){return!(e<this._tokens.length&&this._tokens[e])||this._tokens[e]._invalid},e.prototype._getState=function(e){return e<this._tokens.length&&this._tokens[e]?this._tokens[e]._state:null},e.prototype._setTokens=function(e,t,o,n){var i;t<this._tokens.length&&this._tokens[t]?i=this._tokens[t]:(i=new re(null),this._tokens[t]=i),0!==o?(n&&0!==n.length||((n=new Uint32Array(2))[0]=0,n[1]=ne(e)),te.a.convertToEndOffset(n,o),i._lineTokens=n.buffer):i._lineTokens=ie},e.prototype._setState=function(e,t){if(e<this._tokens.length&&this._tokens[e])this._tokens[e]._state=t;else{var o=new re(t);this._tokens[e]=o}},e.prototype.applyEdits=function(e,t,o){for(var n=e.endLineNumber-e.startLineNumber,i=t,r=Math.min(n,i);r>=0;r--)this.invalidateLine(e.startLineNumber+r-1);this._acceptDeleteRange(e),this._acceptInsertText(new Z.a(e.startLineNumber,e.startColumn),t,o)},e.prototype._acceptDeleteRange=function(e){var t=e.startLineNumber-1;if(!(t>=this._tokens.length))if(e.startLineNumber!==e.endLineNumber){var o=this._tokens[t];o.deleteEnding(e.startColumn-1);var n=e.endLineNumber-1,i=null;if(n<this._tokens.length){var r=this._tokens[n];r.deleteBeginning(e.endColumn-1),i=r._lineTokens}o.append(i),this._tokens.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber)}else{if(e.startColumn===e.endColumn)return;this._tokens[t].delete(e.startColumn-1,e.endColumn-1)}},e.prototype._acceptInsertText=function(e,t,o){if(0!==t||0!==o){var n=e.lineNumber-1;if(!(n>=this._tokens.length))if(0!==t){var i=this._tokens[n];i.deleteEnding(e.column-1),i.insert(e.column-1,o);for(var r=new Array(t),s=t-1;s>=0;s--)r[s]=new re(null);this._tokens=oe.a(this._tokens,e.lineNumber,r)}else this._tokens[n].insert(e.column-1,o)}},e.prototype._tokenizeOneLine=function(e,t){if(!this.hasLinesToTokenize(e))return e.getLineCount()+1;var o=this._invalidLineStartIndex+1;return this._updateTokensUntilLine(e,t,o),o},e.prototype._tokenizeText=function(e,t,o){var n=null;try{n=this.tokenizationSupport.tokenize2(t,o,0)}catch(e){Object(a.e)(e)}return n||(n=Object(q.e)(this.languageIdentifier.id,t,o,0)),n},e.prototype._updateTokensUntilLine=function(e,t,o){if(this.tokenizationSupport){for(var n=e.getLineCount(),i=o-1,r=this._invalidLineStartIndex;r<=i;r++){var s=r+1,l=null,u=e.getLineContent(r+1);try{var c=this._getState(r).clone();l=this.tokenizationSupport.tokenize2(u,c,0)}catch(e){Object(a.e)(e)}if(l||(l=Object(q.e)(this.languageIdentifier.id,u,this._getState(r),0)),this._setTokens(this.languageIdentifier.id,r,u.length,l.tokens),t.registerChangedTokens(r+1),this._setIsInvalid(r,!1),s<n)if(null!==this._getState(s)&&l.endState.equals(this._getState(s))){for(var h=r+1;h<n&&!this._isInvalid(h);){if(h+1<n){if(null===this._getState(h+1))break}else if(null===this._lastState)break;h++}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,h),r=h-1}else this._setState(s,l.endState);else this._lastState=l.endState}this._invalidLineStartIndex=Math.max(this._invalidLineStartIndex,i+1)}else this._invalidLineStartIndex=e.getLineCount()},e}(),ae=function(){function e(){this._ranges=[]}return e.prototype.registerChangedTokens=function(e){var t=this._ranges,o=t.length,n=o>0?t[o-1]:null;n&&n.toLineNumber===e-1?n.toLineNumber++:t[o]={fromLineNumber:e,toLineNumber:e}},e.prototype.build=function(){return 0===this._ranges.length?null:{ranges:this._ranges}},e}();function le(e,t,o,n){var i;for(i=0;i<t&&i<n;i++){if(e.charCodeAt(i)!==o.charCodeAt(i))break}for(var r=0,s=0,a=i;a<t;a++){32===e.charCodeAt(a)?r++:s++}var l=0,u=0;for(a=i;a<n;a++){32===o.charCodeAt(a)?l++:u++}if(r>0&&s>0)return 0;if(l>0&&u>0)return 0;var c=Math.abs(s-u),h=Math.abs(r-l);return 0===c?h:h%c==0?h/c:0}function ue(e,t,o){for(var n=Math.min(e.getLineCount(),1e4),i=0,r=0,s="",a=0,l=[0,0,0,0,0,0,0,0,0],u=1;u<=n;u++){for(var c=e.getLineLength(u),h=e.getLineContent(u),d=c<=65536,g=!1,p=0,f=0,m=0,_=0,y=c;_<y;_++){var v=d?h.charCodeAt(_):e.getLineCharCode(u,_);if(9===v)m++;else{if(32!==v){g=!0,p=_;break}f++}}if(g){m>0?i++:f>1&&r++;var b=le(s,a,h,p);b<=8&&l[b]++,s=h,a=p}}var E=o;i!==r&&(E=i<r);var C=t,S=E?0:.1*n;return[2,4,6,8].forEach((function(e){var t=l[e];t>S&&(S=t,C=e)})),{insertSpaces:E,tabSize:C}}var ce=o(27),he=o(77),de=function(){function e(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=null,this.left=null,this.right=null}return e.prototype.next=function(){if(this.right!==ge)return pe(this.right);for(var e=this;e.parent!==ge&&e.parent.left!==e;)e=e.parent;return e.parent===ge?ge:e.parent},e.prototype.prev=function(){if(this.left!==ge)return fe(this.left);for(var e=this;e.parent!==ge&&e.parent.right!==e;)e=e.parent;return e.parent===ge?ge:e.parent},e.prototype.detach=function(){this.parent=null,this.left=null,this.right=null},e}(),ge=new de(null,0);function pe(e){for(;e.left!==ge;)e=e.left;return e}function fe(e){for(;e.right!==ge;)e=e.right;return e}function me(e){return e===ge?0:e.size_left+e.piece.length+me(e.right)}function _e(e){return e===ge?0:e.lf_left+e.piece.lineFeedCnt+_e(e.right)}function ye(){ge.parent=ge}function ve(e,t){var o=t.right;o.size_left+=t.size_left+(t.piece?t.piece.length:0),o.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=o.left,o.left!==ge&&(o.left.parent=t),o.parent=t.parent,t.parent===ge?e.root=o:t.parent.left===t?t.parent.left=o:t.parent.right=o,o.left=t,t.parent=o}function be(e,t){var o=t.left;t.left=o.right,o.right!==ge&&(o.right.parent=t),o.parent=t.parent,t.size_left-=o.size_left+(o.piece?o.piece.length:0),t.lf_left-=o.lf_left+(o.piece?o.piece.lineFeedCnt:0),t.parent===ge?e.root=o:t===t.parent.right?t.parent.right=o:t.parent.left=o,o.right=t,t.parent=o}function Ee(e,t){var o,n;if(o=t.left===ge?(n=t).right:t.right===ge?(n=t).left:(n=pe(t.right)).right,n===e.root)return e.root=o,o.color=0,t.detach(),ye(),void(e.root.parent=ge);var i=1===n.color;if(n===n.parent.left?n.parent.left=o:n.parent.right=o,n===t?(o.parent=n.parent,Te(e,o)):(n.parent===t?o.parent=n:o.parent=n.parent,Te(e,o),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ge&&(n.left.parent=n),n.right!==ge&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,Te(e,n)),t.detach(),o.parent.left===o){var r=me(o),s=_e(o);if(r!==o.parent.size_left||s!==o.parent.lf_left){var a=r-o.parent.size_left,l=s-o.parent.lf_left;o.parent.size_left=r,o.parent.lf_left=s,Se(e,o.parent,a,l)}}if(Te(e,o.parent),i)ye();else{for(var u;o!==e.root&&0===o.color;)o===o.parent.left?(1===(u=o.parent.right).color&&(u.color=0,o.parent.color=1,ve(e,o.parent),u=o.parent.right),0===u.left.color&&0===u.right.color?(u.color=1,o=o.parent):(0===u.right.color&&(u.left.color=0,u.color=1,be(e,u),u=o.parent.right),u.color=o.parent.color,o.parent.color=0,u.right.color=0,ve(e,o.parent),o=e.root)):(1===(u=o.parent.left).color&&(u.color=0,o.parent.color=1,be(e,o.parent),u=o.parent.left),0===u.left.color&&0===u.right.color?(u.color=1,o=o.parent):(0===u.left.color&&(u.right.color=0,u.color=1,ve(e,u),u=o.parent.left),u.color=o.parent.color,o.parent.color=0,u.left.color=0,be(e,o.parent),o=e.root));o.color=0,ye()}}function Ce(e,t){for(Te(e,t);t!==e.root&&1===t.parent.color;){var o;if(t.parent===t.parent.parent.left)1===(o=t.parent.parent.right).color?(t.parent.color=0,o.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&ve(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,be(e,t.parent.parent));else 1===(o=t.parent.parent.left).color?(t.parent.color=0,o.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&be(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,ve(e,t.parent.parent))}e.root.color=0}function Se(e,t,o,n){for(;t!==e.root&&t!==ge;)t.parent.left===t&&(t.parent.size_left+=o,t.parent.lf_left+=n),t=t.parent}function Te(e,t){var o=0,n=0;if(t!==e.root){if(0===o){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t===e.root)return;o=me((t=t.parent).left)-t.size_left,n=_e(t.left)-t.lf_left,t.size_left+=o,t.lf_left+=n}for(;t!==e.root&&(0!==o||0!==n);)t.parent.left===t&&(t.parent.size_left+=o,t.parent.lf_left+=n),t=t.parent}}ge.parent=ge,ge.left=ge,ge.right=ge,ge.color=0;function we(e){var t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}var ke=function(e,t,o,n,i){this.lineStarts=e,this.cr=t,this.lf=o,this.crlf=n,this.isBasicASCII=i};function Oe(e,t){void 0===t&&(t=!0);for(var o=[0],n=1,i=0,r=e.length;i<r;i++){var s=e.charCodeAt(i);13===s?i+1<r&&10===e.charCodeAt(i+1)?(o[n++]=i+2,i++):o[n++]=i+1:10===s&&(o[n++]=i+1)}return t?we(o):o}var Re=function(e,t,o,n,i){this.bufferIndex=e,this.start=t,this.end=o,this.lineFeedCnt=n,this.length=i},Ne=function(e,t){this.buffer=e,this.lineStarts=t},Le=function(){function e(e){this._limit=e,this._cache=[]}return e.prototype.get=function(e){for(var t=this._cache.length-1;t>=0;t--){var o=this._cache[t];if(o.nodeStartOffset<=e&&o.nodeStartOffset+o.node.piece.length>=e)return o}return null},e.prototype.get2=function(e){for(var t=this._cache.length-1;t>=0;t--){var o=this._cache[t];if(o.nodeStartLineNumber&&o.nodeStartLineNumber<e&&o.nodeStartLineNumber+o.node.piece.lineFeedCnt>=e)return o}return null},e.prototype.set=function(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)},e.prototype.valdiate=function(e){for(var t=!1,o=0;o<this._cache.length;o++){var n=this._cache[o];(null===n.node.parent||n.nodeStartOffset>=e)&&(this._cache[o]=null,t=!0)}if(t){var i=[];for(o=0;o<this._cache.length;o++)null!==this._cache[o]&&i.push(this._cache[o]);this._cache=i}},e}(),Ie=function(){function e(e,t,o){this.create(e,t,o)}return e.prototype.create=function(e,t,o){this._buffers=[new Ne("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=ge,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=o;for(var n=null,i=0,r=e.length;i<r;i++)if(e[i].buffer.length>0){e[i].lineStarts||(e[i].lineStarts=Oe(e[i].buffer));var s=new Re(i+1,{line:0,column:0},{line:e[i].lineStarts.length-1,column:e[i].buffer.length-e[i].lineStarts[e[i].lineStarts.length-1]},e[i].lineStarts.length-1,e[i].buffer.length);this._buffers.push(e[i]),n=this.rbInsertRight(n,s)}this._searchCache=new Le(1),this._lastVisitedLine={lineNumber:0,value:null},this.computeBufferMetadata()},e.prototype.normalizeEOL=function(e){var t=this,o=65535-Math.floor(21845),n=2*o,i="",r=0,s=[];if(this.iterate(this.root,(function(a){var l=t.getNodeContent(a),u=l.length;if(r<=o||r+u<n)return i+=l,r+=u,!0;var c=i.replace(/\r\n|\r|\n/g,e);return s.push(new Ne(c,Oe(c))),i=l,r=u,!0})),r>0){var a=i.replace(/\r\n|\r|\n/g,e);s.push(new Ne(a,Oe(a)))}this.create(s,e,!0)},e.prototype.getEOL=function(){return this._EOL},e.prototype.setEOL=function(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)},e.prototype.getOffsetAt=function(e,t){for(var o=0,n=this.root;n!==ge;)if(n.left!==ge&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e)return(o+=n.size_left)+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1);e-=n.lf_left+n.piece.lineFeedCnt,o+=n.size_left+n.piece.length,n=n.right}return o},e.prototype.getPositionAt=function(e){e=Math.floor(e),e=Math.max(0,e);for(var t=this.root,o=0,n=e;t!==ge;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else{if(t.size_left+t.piece.length>=e){var i=this.getIndexOf(t,e-t.size_left);if(o+=t.lf_left+i.index,0===i.index){var r=n-this.getOffsetAt(o+1,1);return new Z.a(o+1,r+1)}return new Z.a(o+1,i.remainder+1)}if(e-=t.size_left+t.piece.length,o+=t.lf_left+t.piece.lineFeedCnt,t.right===ge){r=n-e-this.getOffsetAt(o+1,1);return new Z.a(o+1,r+1)}t=t.right}return new Z.a(1,1)},e.prototype.getValueInRange=function(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";var o=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),i=this.getValueInRange2(o,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?i:i.replace(/\r\n|\r|\n/g,t):i},e.prototype.getValueInRange2=function(e,t){if(e.node===t.node){var o=e.node,n=this._buffers[o.piece.bufferIndex].buffer,i=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return n.substring(i+e.remainder,i+t.remainder)}var r=e.node,s=this._buffers[r.piece.bufferIndex].buffer,a=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start),l=s.substring(a+e.remainder,a+r.piece.length);for(r=r.next();r!==ge;){var u=this._buffers[r.piece.bufferIndex].buffer,c=this.offsetInBuffer(r.piece.bufferIndex,r.piece.start);if(r===t.node){l+=u.substring(c,c+t.remainder);break}l+=u.substr(c,r.piece.length),r=r.next()}return l},e.prototype.getLinesContent=function(){return this.getContentOfSubTree(this.root).split(/\r\n|\r|\n/)},e.prototype.getLength=function(){return this._length},e.prototype.getLineCount=function(){return this._lineCnt},e.prototype.getLineContent=function(e){return this._lastVisitedLine.lineNumber===e?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)},e.prototype.getLineCharCode=function(e,t){var o=this.nodeAt2(e,t+1);if(o.remainder===o.node.piece.length){var n=o.node.next();if(!n)return 0;var i=this._buffers[n.piece.bufferIndex],r=this.offsetInBuffer(n.piece.bufferIndex,n.piece.start);return i.buffer.charCodeAt(r)}i=this._buffers[o.node.piece.bufferIndex];var s=(r=this.offsetInBuffer(o.node.piece.bufferIndex,o.node.piece.start))+o.remainder;return i.buffer.charCodeAt(s)},e.prototype.getLineLength=function(e){if(e===this.getLineCount()){var t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength},e.prototype.findMatchesInNode=function(e,t,o,n,i,r,s,a,l,u,c){var h,g=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),f=this.offsetInBuffer(e.piece.bufferIndex,i),m=this.offsetInBuffer(e.piece.bufferIndex,r);t.reset(f);var _={line:0,column:0};do{if(h=t.next(g.buffer)){if(h.index>=m)return u;this.positionInBuffer(e,h.index-p,_);var y=this.getLineFeedCnt(e.piece.bufferIndex,i,_),v=_.line===i.line?_.column-i.column+n:_.column+1,b=v+h[0].length;if(c[u++]=Object(he.d)(new d.a(o+y,v,o+y,b),h,a),h.index+h[0].length>=m)return u;if(u>=l)return u}}while(h);return u},e.prototype.findMatchesLineByLine=function(e,t,o,n){var i=[],r=0,s=new he.b(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];var l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];var u=this.positionInBuffer(a.node,a.remainder),c=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,s,e.startLineNumber,e.startColumn,u,c,t,o,n,r,i),i;for(var h=e.startLineNumber,d=a.node;d!==l.node;){var g=this.getLineFeedCnt(d.piece.bufferIndex,u,d.piece.end);if(g>=1){var p=this._buffers[d.piece.bufferIndex].lineStarts,f=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start),m=p[u.line+g],_=h===e.startLineNumber?e.startColumn:1;if((r=this.findMatchesInNode(d,s,h,_,u,this.positionInBuffer(d,m-f),t,o,n,r,i))>=n)return i;h+=g}var y=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){var v=this.getLineContent(h).substring(y,e.endColumn-1);return r=this._findMatchesInLine(t,s,v,e.endLineNumber,y,r,i,o,n),i}if((r=this._findMatchesInLine(t,s,this.getLineContent(h).substr(y),h,y,r,i,o,n))>=n)return i;h++,d=(a=this.nodeAt2(h,1)).node,u=this.positionInBuffer(a.node,a.remainder)}if(h===e.endLineNumber){var b=h===e.startLineNumber?e.startColumn-1:0;v=this.getLineContent(h).substring(b,e.endColumn-1);return r=this._findMatchesInLine(t,s,v,e.endLineNumber,b,r,i,o,n),i}var E=h===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(l.node,s,h,E,u,c,t,o,n,r,i),i},e.prototype._findMatchesInLine=function(e,t,o,n,i,s,a,l,u){var c,h=e.wordSeparators;if(!l&&e.simpleSearch){for(var g=e.simpleSearch,p=g.length,f=o.length,m=-p;-1!==(m=o.indexOf(g,m+p));)if((!h||Object(he.e)(h,o,f,m,p))&&(a[s++]=new r.e(new d.a(n,m+1+i,n,m+1+p+i),null),s>=u))return s;return s}t.reset(0);do{if((c=t.next(o))&&(a[s++]=Object(he.d)(new d.a(n,c.index+1+i,n,c.index+1+c[0].length+i),c,l),s>=u))return s}while(c);return s},e.prototype.insert=function(e,t,o){if(void 0===o&&(o=!1),this._EOLNormalized=this._EOLNormalized&&o,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,this.root!==ge){var n=this.nodeAt(e),i=n.node,r=n.remainder,s=n.nodeStartOffset,a=i.piece,l=a.bufferIndex,u=this.positionInBuffer(i,r);if(0===i.piece.bufferIndex&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&s+a.length===e&&t.length<65535)return this.appendToNode(i,t),void this.computeBufferMetadata();if(s===e)this.insertContentToNodeLeft(t,i),this._searchCache.valdiate(e);else if(s+i.piece.length>e){var c=[],h=new Re(a.bufferIndex,u,a.end,this.getLineFeedCnt(a.bufferIndex,u,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,u));if(this.shouldCheckCRLF()&&this.endWithCR(t))if(10===this.nodeCharCodeAt(i,r)){var d={line:h.start.line+1,column:0};h=new Re(h.bufferIndex,d,h.end,this.getLineFeedCnt(h.bufferIndex,d,h.end),h.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(i,r-1)){var g=this.positionInBuffer(i,r-1);this.deleteNodeTail(i,g),t="\r"+t,0===i.piece.length&&c.push(i)}else this.deleteNodeTail(i,u);else this.deleteNodeTail(i,u);var p=this.createNewPieces(t);h.length>0&&this.rbInsertRight(i,h);for(var f=i,m=0;m<p.length;m++)f=this.rbInsertRight(f,p[m]);this.deleteNodes(c)}else this.insertContentToNodeRight(t,i)}else{var _=this.createNewPieces(t);for(i=this.rbInsertLeft(null,_[0]),m=1;m<_.length;m++)i=this.rbInsertRight(i,_[m])}this.computeBufferMetadata()},e.prototype.delete=function(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value=null,!(t<=0||this.root===ge)){var o=this.nodeAt(e),n=this.nodeAt(e+t),i=o.node,r=n.node;if(i===r){var s=this.positionInBuffer(i,o.remainder),a=this.positionInBuffer(i,n.remainder);if(o.nodeStartOffset===e){if(t===i.piece.length){var l=i.next();return Ee(this,i),this.validateCRLFWithPrevNode(l),void this.computeBufferMetadata()}return this.deleteNodeHead(i,a),this._searchCache.valdiate(e),this.validateCRLFWithPrevNode(i),void this.computeBufferMetadata()}return o.nodeStartOffset+i.piece.length===e+t?(this.deleteNodeTail(i,s),this.validateCRLFWithNextNode(i),void this.computeBufferMetadata()):(this.shrinkNode(i,s,a),void this.computeBufferMetadata())}var u=[],c=this.positionInBuffer(i,o.remainder);this.deleteNodeTail(i,c),this._searchCache.valdiate(e),0===i.piece.length&&u.push(i);var h=this.positionInBuffer(r,n.remainder);this.deleteNodeHead(r,h),0===r.piece.length&&u.push(r);for(var d=i.next();d!==ge&&d!==r;d=d.next())u.push(d);var g=0===i.piece.length?i.prev():i;this.deleteNodes(u),this.validateCRLFWithNextNode(g),this.computeBufferMetadata()}},e.prototype.insertContentToNodeLeft=function(e,t){var o=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){var n=t.piece,i={line:n.start.line+1,column:0},r=new Re(n.bufferIndex,i,n.end,this.getLineFeedCnt(n.bufferIndex,i,n.end),n.length-1);t.piece=r,e+="\n",Se(this,t,-1,-1),0===t.piece.length&&o.push(t)}for(var s=this.createNewPieces(e),a=this.rbInsertLeft(t,s[s.length-1]),l=s.length-2;l>=0;l--)a=this.rbInsertLeft(a,s[l]);this.validateCRLFWithPrevNode(a),this.deleteNodes(o)},e.prototype.insertContentToNodeRight=function(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");for(var o=this.createNewPieces(e),n=this.rbInsertRight(t,o[0]),i=n,r=1;r<o.length;r++)i=this.rbInsertRight(i,o[r]);this.validateCRLFWithPrevNode(n)},e.prototype.positionInBuffer=function(e,t,o){for(var n,i,r,s=e.piece,a=e.piece.bufferIndex,l=this._buffers[a].lineStarts,u=l[s.start.line]+s.start.column+t,c=s.start.line,h=s.end.line;c<=h&&(r=l[n=c+(h-c)/2|0],n!==h);)if(i=l[n+1],u<r)h=n-1;else{if(!(u>=i))break;c=n+1}return o?(o.line=n,o.column=u-r,null):{line:n,column:u-r}},e.prototype.getLineFeedCnt=function(e,t,o){if(0===o.column)return o.line-t.line;var n=this._buffers[e].lineStarts;if(o.line===n.length-1)return o.line-t.line;var i=n[o.line+1],r=n[o.line]+o.column;if(i>r+1)return o.line-t.line;var s=r-1;return 13===this._buffers[e].buffer.charCodeAt(s)?o.line-t.line+1:o.line-t.line},e.prototype.offsetInBuffer=function(e,t){return this._buffers[e].lineStarts[t.line]+t.column},e.prototype.deleteNodes=function(e){for(var t=0;t<e.length;t++)Ee(this,e[t])},e.prototype.createNewPieces=function(e){if(e.length>65535){for(var t=[];e.length>65535;){var o=e.charCodeAt(65534),n=void 0;13===o||o>=55296&&o<=56319?(n=e.substring(0,65534),e=e.substring(65534)):(n=e.substring(0,65535),e=e.substring(65535));var i=Oe(n);t.push(new Re(this._buffers.length,{line:0,column:0},{line:i.length-1,column:n.length-i[i.length-1]},i.length-1,n.length)),this._buffers.push(new Ne(n,i))}var r=Oe(e);return t.push(new Re(this._buffers.length,{line:0,column:0},{line:r.length-1,column:e.length-r[r.length-1]},r.length-1,e.length)),this._buffers.push(new Ne(e,r)),t}var s=this._buffers[0].buffer.length,a=Oe(e,!1),l=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===s&&0!==s&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},l=this._lastChangeBufferPos;for(var u=0;u<a.length;u++)a[u]+=s+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+="_"+e,s+=1}else{if(0!==s)for(u=0;u<a.length;u++)a[u]+=s;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(a.slice(1)),this._buffers[0].buffer+=e}var c=this._buffers[0].buffer.length,h=this._buffers[0].lineStarts.length-1,d={line:h,column:c-this._buffers[0].lineStarts[h]},g=new Re(0,l,d,this.getLineFeedCnt(0,l,d),c-s);return this._lastChangeBufferPos=d,[g]},e.prototype.getLineRawContent=function(e,t){void 0===t&&(t=0);var o=this.root,n="",i=this._searchCache.get2(e);if(i){o=i.node;var r=this.getAccumulatedValue(o,e-i.nodeStartLineNumber-1),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);if(i.nodeStartLineNumber+o.piece.lineFeedCnt!==e){var l=this.getAccumulatedValue(o,e-i.nodeStartLineNumber);return s.substring(a+r,a+l-t)}n=s.substring(a+r,a+o.piece.length)}else for(var u=0,c=e;o!==ge;)if(o.left!==ge&&o.lf_left>=e-1)o=o.left;else{if(o.lf_left+o.piece.lineFeedCnt>e-1){r=this.getAccumulatedValue(o,e-o.lf_left-2),l=this.getAccumulatedValue(o,e-o.lf_left-1),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return u+=o.size_left,this._searchCache.set({node:o,nodeStartOffset:u,nodeStartLineNumber:c-(e-1-o.lf_left)}),s.substring(a+r,a+l-t)}if(o.lf_left+o.piece.lineFeedCnt===e-1){r=this.getAccumulatedValue(o,e-o.lf_left-2),s=this._buffers[o.piece.bufferIndex].buffer,a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);n=s.substring(a+r,a+o.piece.length);break}e-=o.lf_left+o.piece.lineFeedCnt,u+=o.size_left+o.piece.length,o=o.right}for(o=o.next();o!==ge;){s=this._buffers[o.piece.bufferIndex].buffer;if(o.piece.lineFeedCnt>0){l=this.getAccumulatedValue(o,0),a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);return n+=s.substring(a,a+l-t)}a=this.offsetInBuffer(o.piece.bufferIndex,o.piece.start);n+=s.substr(a,o.piece.length),o=o.next()}return n},e.prototype.computeBufferMetadata=function(){for(var e=this.root,t=1,o=0;e!==ge;)t+=e.lf_left+e.piece.lineFeedCnt,o+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=o,this._searchCache.valdiate(this._length)},e.prototype.getIndexOf=function(e,t){var o=e.piece,n=this.positionInBuffer(e,t),i=n.line-o.start.line;if(this.offsetInBuffer(o.bufferIndex,o.end)-this.offsetInBuffer(o.bufferIndex,o.start)===t){var r=this.getLineFeedCnt(e.piece.bufferIndex,o.start,n);if(r!==i)return{index:r,remainder:0}}return{index:i,remainder:n.column}},e.prototype.getAccumulatedValue=function(e,t){if(t<0)return 0;var o=e.piece,n=this._buffers[o.bufferIndex].lineStarts,i=o.start.line+t+1;return i>o.end.line?n[o.end.line]+o.end.column-n[o.start.line]-o.start.column:n[i]-n[o.start.line]-o.start.column},e.prototype.deleteNodeTail=function(e,t){var o=e.piece,n=o.lineFeedCnt,i=this.offsetInBuffer(o.bufferIndex,o.end),r=t,s=this.offsetInBuffer(o.bufferIndex,r),a=this.getLineFeedCnt(o.bufferIndex,o.start,r),l=a-n,u=s-i,c=o.length+u;e.piece=new Re(o.bufferIndex,o.start,r,a,c),Se(this,e,u,l)},e.prototype.deleteNodeHead=function(e,t){var o=e.piece,n=o.lineFeedCnt,i=this.offsetInBuffer(o.bufferIndex,o.start),r=t,s=this.getLineFeedCnt(o.bufferIndex,r,o.end),a=s-n,l=i-this.offsetInBuffer(o.bufferIndex,r),u=o.length+l;e.piece=new Re(o.bufferIndex,r,o.end,s,u),Se(this,e,l,a)},e.prototype.shrinkNode=function(e,t,o){var n=e.piece,i=n.start,r=n.end,s=n.length,a=n.lineFeedCnt,l=t,u=this.getLineFeedCnt(n.bufferIndex,n.start,l),c=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,i);e.piece=new Re(n.bufferIndex,n.start,l,u,c),Se(this,e,c-s,u-a);var h=new Re(n.bufferIndex,o,r,this.getLineFeedCnt(n.bufferIndex,o,r),this.offsetInBuffer(n.bufferIndex,r)-this.offsetInBuffer(n.bufferIndex,o)),d=this.rbInsertRight(e,h);this.validateCRLFWithPrevNode(d)},e.prototype.appendToNode=function(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");var o=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;for(var i=Oe(t,!1),r=0;r<i.length;r++)i[r]+=n;if(o){var s=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:n-s}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1));var a=this._buffers[0].lineStarts.length-1,l={line:a,column:this._buffers[0].buffer.length-this._buffers[0].lineStarts[a]},u=e.piece.length+t.length,c=e.piece.lineFeedCnt,h=this.getLineFeedCnt(0,e.piece.start,l),d=h-c;e.piece=new Re(e.piece.bufferIndex,e.piece.start,l,h,u),this._lastChangeBufferPos=l,Se(this,e,t.length,d)},e.prototype.nodeAt=function(e){var t=this.root,o=this._searchCache.get(e);if(o)return{node:o.node,nodeStartOffset:o.nodeStartOffset,remainder:e-o.nodeStartOffset};for(var n=0;t!==ge;)if(t.size_left>e)t=t.left;else{if(t.size_left+t.piece.length>=e){n+=t.size_left;var i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right}return null},e.prototype.nodeAt2=function(e,t){for(var o=this.root,n=0;o!==ge;)if(o.left!==ge&&o.lf_left>=e-1)o=o.left;else{if(o.lf_left+o.piece.lineFeedCnt>e-1){var i=this.getAccumulatedValue(o,e-o.lf_left-2),r=this.getAccumulatedValue(o,e-o.lf_left-1);return n+=o.size_left,{node:o,remainder:Math.min(i+t-1,r),nodeStartOffset:n}}if(o.lf_left+o.piece.lineFeedCnt===e-1){if((i=this.getAccumulatedValue(o,e-o.lf_left-2))+t-1<=o.piece.length)return{node:o,remainder:i+t-1,nodeStartOffset:n};t-=o.piece.length-i;break}e-=o.lf_left+o.piece.lineFeedCnt,n+=o.size_left+o.piece.length,o=o.right}for(o=o.next();o!==ge;){if(o.piece.lineFeedCnt>0){r=this.getAccumulatedValue(o,0);var s=this.offsetOfNode(o);return{node:o,remainder:Math.min(t-1,r),nodeStartOffset:s}}if(o.piece.length>=t-1)return{node:o,remainder:t-1,nodeStartOffset:this.offsetOfNode(o)};t-=o.piece.length,o=o.next()}return null},e.prototype.nodeCharCodeAt=function(e,t){if(e.piece.lineFeedCnt<1)return-1;var o=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return o.buffer.charCodeAt(n)},e.prototype.offsetOfNode=function(e){if(!e)return 0;for(var t=e.size_left;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t},e.prototype.shouldCheckCRLF=function(){return!(this._EOLNormalized&&"\n"===this._EOL)},e.prototype.startWithLF=function(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===ge||0===e.piece.lineFeedCnt)return!1;var t=e.piece,o=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,i=o[n]+t.start.column;return n!==o.length-1&&(!(o[n+1]>i+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(i))},e.prototype.endWithCR=function(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==ge&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)},e.prototype.validateCRLFWithPrevNode=function(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){var t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}},e.prototype.validateCRLFWithNextNode=function(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}},e.prototype.fixCRLF=function(e,t){var o,n=[],i=this._buffers[e.piece.bufferIndex].lineStarts;o=0===e.piece.end.column?{line:e.piece.end.line-1,column:i[e.piece.end.line]-i[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};var r=e.piece.length-1,s=e.piece.lineFeedCnt-1;e.piece=new Re(e.piece.bufferIndex,e.piece.start,o,s,r),Se(this,e,-1,-1),0===e.piece.length&&n.push(e);var a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,u=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new Re(t.piece.bufferIndex,a,t.piece.end,u,l),Se(this,t,-1,-1),0===t.piece.length&&n.push(t);var c=this.createNewPieces("\r\n");this.rbInsertRight(e,c[0]);for(var h=0;h<n.length;h++)Ee(this,n[h])},e.prototype.adjustCarriageReturnFromNext=function(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){var o=t.next();if(this.startWithLF(o)){if(e+="\n",1===o.piece.length)Ee(this,o);else{var n=o.piece,i={line:n.start.line+1,column:0},r=n.length-1,s=this.getLineFeedCnt(n.bufferIndex,i,n.end);o.piece=new Re(n.bufferIndex,i,n.end,s,r),Se(this,o,-1,-1)}return!0}}return!1},e.prototype.iterate=function(e,t){if(e===ge)return t(ge);var o=this.iterate(e.left,t);return o?t(e)&&this.iterate(e.right,t):o},e.prototype.getNodeContent=function(e){if(e===ge)return"";var t=this._buffers[e.piece.bufferIndex],o=e.piece,n=this.offsetInBuffer(o.bufferIndex,o.start),i=this.offsetInBuffer(o.bufferIndex,o.end);return t.buffer.substring(n,i)},e.prototype.rbInsertRight=function(e,t){var o=new de(t,1);if(o.left=ge,o.right=ge,o.parent=ge,o.size_left=0,o.lf_left=0,this.root===ge)this.root=o,o.color=0;else if(e.right===ge)e.right=o,o.parent=e;else{var n=pe(e.right);n.left=o,o.parent=n}return Ce(this,o),o},e.prototype.rbInsertLeft=function(e,t){var o=new de(t,1);if(o.left=ge,o.right=ge,o.parent=ge,o.size_left=0,o.lf_left=0,this.root===ge)this.root=o,o.color=0;else if(e.left===ge)e.left=o,o.parent=e;else{var n=fe(e.left);n.right=o,o.parent=n}return Ce(this,o),o},e.prototype.getContentOfSubTree=function(e){var t=this,o="";return this.iterate(e,(function(e){return o+=t.getNodeContent(e),!0})),o},e}(),De=function(){function e(e,t,o,n,i,r){this._BOM=t,this._mightContainNonBasicASCII=!i,this._mightContainRTL=n,this._pieceTree=new Ie(e,o,r)}return e.prototype.mightContainRTL=function(){return this._mightContainRTL},e.prototype.mightContainNonBasicASCII=function(){return this._mightContainNonBasicASCII},e.prototype.getBOM=function(){return this._BOM},e.prototype.getEOL=function(){return this._pieceTree.getEOL()},e.prototype.getOffsetAt=function(e,t){return this._pieceTree.getOffsetAt(e,t)},e.prototype.getPositionAt=function(e){return this._pieceTree.getPositionAt(e)},e.prototype.getRangeAt=function(e,t){var o=e+t,n=this.getPositionAt(e),i=this.getPositionAt(o);return new d.a(n.lineNumber,n.column,i.lineNumber,i.column)},e.prototype.getValueInRange=function(e,t){if(void 0===t&&(t=r.c.TextDefined),e.isEmpty())return"";var o=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,o)},e.prototype.getValueLengthInRange=function(e,t){if(void 0===t&&(t=r.c.TextDefined),e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;var o=this.getOffsetAt(e.startLineNumber,e.startColumn);return this.getOffsetAt(e.endLineNumber,e.endColumn)-o},e.prototype.getLength=function(){return this._pieceTree.getLength()},e.prototype.getLineCount=function(){return this._pieceTree.getLineCount()},e.prototype.getLinesContent=function(){return this._pieceTree.getLinesContent()},e.prototype.getLineContent=function(e){return this._pieceTree.getLineContent(e)},e.prototype.getLineCharCode=function(e,t){return this._pieceTree.getLineCharCode(e,t)},e.prototype.getLineLength=function(e){return this._pieceTree.getLineLength(e)},e.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=E.firstNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+1},e.prototype.getLineLastNonWhitespaceColumn=function(e){var t=E.lastNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+2},e.prototype._getEndOfLine=function(e){switch(e){case r.c.LF:return"\n";case r.c.CRLF:return"\r\n";case r.c.TextDefined:return this.getEOL()}throw new Error("Unknown EOL preference")},e.prototype.setEOL=function(e){this._pieceTree.setEOL(e)},e.prototype.applyEdits=function(t,o){for(var n=this._mightContainRTL,i=this._mightContainNonBasicASCII,s=!0,a=[],l=0;l<t.length;l++){var u=t[l];s&&u._isTracked&&(s=!1);var c=u.range;!n&&u.text&&(n=E.containsRTL(u.text)),!i&&u.text&&(i=!E.isBasicASCII(u.text)),a[l]={sortIndex:l,identifier:u.identifier,range:c,rangeOffset:this.getOffsetAt(c.startLineNumber,c.startColumn),rangeLength:this.getValueLengthInRange(c),lines:u.text?u.text.split(/\r\n|\r|\n/):null,forceMoveMarkers:u.forceMoveMarkers,isAutoWhitespaceEdit:u.isAutoWhitespaceEdit||!1}}a.sort(e._sortOpsAscending);for(var h=!1,d=(l=0,a.length-1);l<d;l++){var g=a[l].range.getEndPosition(),p=a[l+1].range.getStartPosition();if(p.isBeforeOrEqual(g)){if(p.isBefore(g))throw new Error("Overlapping ranges are not allowed!");h=!0}}s&&(a=this._reduceOperations(a));var f=e._getInverseEditRanges(a),m=[];for(l=0;l<a.length;l++){u=a[l];var _=f[l];if(o&&u.isAutoWhitespaceEdit&&u.range.isEmpty())for(var y=_.startLineNumber;y<=_.endLineNumber;y++){var v="";y===_.startLineNumber&&(v=this.getLineContent(u.range.startLineNumber),-1!==E.firstNonWhitespaceIndex(v))||m.push({lineNumber:y,oldContent:v})}}var b=[];for(l=0;l<a.length;l++){u=a[l],_=f[l];b[l]={sortIndex:u.sortIndex,identifier:u.identifier,range:_,text:this.getValueInRange(u.range),forceMoveMarkers:u.forceMoveMarkers}}h||b.sort((function(e,t){return e.sortIndex-t.sortIndex})),this._mightContainRTL=n,this._mightContainNonBasicASCII=i;var C=this._doApplyEdits(a),S=null;if(o&&m.length>0){m.sort((function(e,t){return t.lineNumber-e.lineNumber})),S=[];l=0;for(var T=m.length;l<T;l++){y=m[l].lineNumber;if(!(l>0&&m[l-1].lineNumber===y)){var w=m[l].oldContent,k=this.getLineContent(y);0!==k.length&&k!==w&&-1===E.firstNonWhitespaceIndex(k)&&S.push(y)}}}return new r.a(b,C,S)},e.prototype._reduceOperations=function(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]},e.prototype._toSingleEditOperation=function(e){for(var t=!1,o=e[0].range,n=e[e.length-1].range,i=new d.a(o.startLineNumber,o.startColumn,n.endLineNumber,n.endColumn),s=o.startLineNumber,a=o.startColumn,l=[],u=0,c=e.length;u<c;u++){var h=e[u],g=h.range;t=t||h.forceMoveMarkers;for(var p=s;p<g.startLineNumber;p++)p===s?l.push(this.getLineContent(p).substring(a-1)):(l.push("\n"),l.push(this.getLineContent(p)));if(g.startLineNumber===s?l.push(this.getLineContent(g.startLineNumber).substring(a-1,g.startColumn-1)):(l.push("\n"),l.push(this.getLineContent(g.startLineNumber).substring(0,g.startColumn-1))),h.lines)for(var f=0,m=h.lines.length;f<m;f++)0!==f&&l.push("\n"),l.push(h.lines[f]);s=h.range.endLineNumber,a=h.range.endColumn}return{sortIndex:0,identifier:e[0].identifier,range:i,rangeOffset:this.getOffsetAt(i.startLineNumber,i.startColumn),rangeLength:this.getValueLengthInRange(i,r.c.TextDefined),lines:l.join("").split("\n"),forceMoveMarkers:t,isAutoWhitespaceEdit:!1}},e.prototype._doApplyEdits=function(t){t.sort(e._sortOpsDescending);for(var o=[],n=0;n<t.length;n++){var i=t[n],r=i.range.startLineNumber,s=i.range.startColumn,a=i.range.endLineNumber,l=i.range.endColumn;if(r!==a||s!==l||i.lines&&0!==i.lines.length){var u=a-r,c=i.lines?i.lines.length-1:0,h=Math.min(u,c),g=i.lines?i.lines.join(this.getEOL()):"";if(g?(this._pieceTree.delete(i.rangeOffset,i.rangeLength),this._pieceTree.insert(i.rangeOffset,g,!0)):this._pieceTree.delete(i.rangeOffset,i.rangeLength),h<c){for(var p=[],f=h+1;f<=c;f++)p.push(i.lines[f]);p[p.length-1]=this.getLineContent(r+c-1)}var m=new d.a(r,s,a,l);o.push({range:m,rangeLength:i.rangeLength,text:g,rangeOffset:i.rangeOffset,forceMoveMarkers:i.forceMoveMarkers})}}return o},e.prototype.findMatchesLineByLine=function(e,t,o,n){return this._pieceTree.findMatchesLineByLine(e,t,o,n)},e._getInverseEditRanges=function(e){for(var t,o,n=[],i=null,r=0,s=e.length;r<s;r++){var a=e[r],l=void 0,u=void 0;i?i.range.endLineNumber===a.range.startLineNumber?(l=t,u=o+(a.range.startColumn-i.range.endColumn)):(l=t+(a.range.startLineNumber-i.range.endLineNumber),u=a.range.startColumn):(l=a.range.startLineNumber,u=a.range.startColumn);var c=void 0;if(a.lines&&a.lines.length>0){var h=a.lines.length,g=a.lines[0],p=a.lines[h-1];c=1===h?new d.a(l,u,l,u+g.length):new d.a(l,u,l+h-1,p.length+1)}else c=new d.a(l,u,l,u);t=c.endLineNumber,o=c.endColumn,n.push(c),i=a}return n},e._sortOpsAscending=function(e,t){var o=d.a.compareRangesUsingEnds(e.range,t.range);return 0===o?e.sortIndex-t.sortIndex:o},e._sortOpsDescending=function(e,t){var o=d.a.compareRangesUsingEnds(e.range,t.range);return 0===o?t.sortIndex-e.sortIndex:-o},e}(),Ae=function(){function e(e,t,o,n,i,r,s,a){this._chunks=e,this._bom=t,this._cr=o,this._lf=n,this._crlf=i,this._containsRTL=r,this._isBasicASCII=s,this._normalizeEOL=a}return e.prototype._getEOL=function(e){var t=this._cr+this._lf+this._crlf,o=this._cr+this._crlf;return 0===t?e===r.b.LF?"\n":"\r\n":o>t/2?"\r\n":"\n"},e.prototype.create=function(e){var t=this._getEOL(e),o=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(var n=0,i=o.length;n<i;n++){var r=o[n].buffer.replace(/\r\n|\r|\n/g,t),s=Oe(r);o[n]=new Ne(r,s)}return new De(o,this._bom,t,this._containsRTL,this._isBasicASCII,this._normalizeEOL)},e}(),Pe=function(){function e(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.isBasicASCII=!0}return e.prototype.acceptChunk=function(e){if(0!==e.length){0===this.chunks.length&&E.startsWithUTF8BOM(e)&&(this.BOM=E.UTF8_BOM_CHARACTER,e=e.substr(1));var t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}},e.prototype._acceptChunk1=function(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))},e.prototype._acceptChunk2=function(e){var t=function(e,t){e.length=0,e[0]=0;for(var o=1,n=0,i=0,r=0,s=!0,a=0,l=t.length;a<l;a++){var u=t.charCodeAt(a);13===u?a+1<l&&10===t.charCodeAt(a+1)?(r++,e[o++]=a+2,a++):(n++,e[o++]=a+1):10===u?(i++,e[o++]=a+1):s&&9!==u&&(u<32||u>126)&&(s=!1)}var c=new ke(we(e),n,i,r,s);return e.length=0,c}(this._tmpLineStarts,e);this.chunks.push(new Ne(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,this.isBasicASCII&&(this.isBasicASCII=t.isBasicASCII),this.isBasicASCII||this.containsRTL||(this.containsRTL=E.containsRTL(e))},e.prototype.finish=function(e){return void 0===e&&(e=!0),this._finish(),new Ae(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.isBasicASCII,e)},e.prototype._finish=function(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;var e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);var t=Oe(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}},e}();o.d(t,"b",(function(){return Ue})),o.d(t,"a",(function(){return Ge}));var Me,xe=(Me=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}Me(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function Be(e){var t=new Pe;return t.acceptChunk(e),t.finish()}function Fe(e,t){return("string"==typeof e?Be(e):e).create(t)}var He=0;var Ue=function(e){function t(o,a,l,u){void 0===u&&(u=null);var c=e.call(this)||this;c._onWillDispose=c._register(new i.a),c.onWillDispose=c._onWillDispose.event,c._onDidChangeDecorations=c._register(new Ye),c.onDidChangeDecorations=c._onDidChangeDecorations.event,c._onDidChangeLanguage=c._register(new i.a),c.onDidChangeLanguage=c._onDidChangeLanguage.event,c._onDidChangeLanguageConfiguration=c._register(new i.a),c.onDidChangeLanguageConfiguration=c._onDidChangeLanguageConfiguration.event,c._onDidChangeTokens=c._register(new i.a),c.onDidChangeTokens=c._onDidChangeTokens.event,c._onDidChangeOptions=c._register(new i.a),c.onDidChangeOptions=c._onDidChangeOptions.event,c._eventEmitter=c._register(new Xe),He++,c.id="$model"+He,c.isForSimpleWidget=a.isForSimpleWidget,c._associatedResource=null==u?n.a.parse("inmemory://model/"+He):u,c._attachedEditorCount=0,c._buffer=Fe(o,a.defaultEOL),c._options=t.resolveOptions(c._buffer,a);var g,p=c._buffer.getLineCount(),f=c._buffer.getValueLengthInRange(new d.a(1,1,p,c._buffer.getLineLength(p)+1),r.c.TextDefined);return a.largeFileOptimizations?c._isTooLargeForTokenization=f>t.LARGE_FILE_SIZE_THRESHOLD||p>t.LARGE_FILE_LINE_COUNT_THRESHOLD:c._isTooLargeForTokenization=!1,c._isTooLargeForSyncing=f>t.MODEL_SYNC_LIMIT,c._setVersionId(1),c._isDisposed=!1,c._isDisposing=!1,c._languageIdentifier=l||q.a,c._tokenizationListener=s.y.onDidChange((function(e){-1!==e.changedLanguages.indexOf(c._languageIdentifier.language)&&(c._resetTokenizationState(),c.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:c.getLineCount()}]}),c._shouldAutoTokenize()&&c._warmUpTokens())})),c._revalidateTokensTimeout=-1,c._languageRegistryListener=Q.a.onDidChange((function(e){e.languageIdentifier.id===c._languageIdentifier.id&&c._onDidChangeLanguageConfiguration.fire({})})),c._resetTokenizationState(),c._instanceId=(g=He,(g%=52)<26?String.fromCharCode(97+g):String.fromCharCode(65+g-26)),c._lastDecorationId=0,c._decorations=Object.create(null),c._decorationsTree=new Ve,c._commandManager=new h(c),c._isUndoing=!1,c._isRedoing=!1,c._trimAutoWhitespaceLines=null,c}return xe(t,e),t.createFromString=function(e,o,n,i){return void 0===o&&(o=t.DEFAULT_CREATION_OPTIONS),void 0===n&&(n=null),void 0===i&&(i=null),new t(e,o,n,i)},t.resolveOptions=function(e,t){if(t.detectIndentation){var o=ue(e,t.tabSize,t.insertSpaces);return new r.g({tabSize:o.tabSize,insertSpaces:o.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})}return new r.g({tabSize:t.tabSize,insertSpaces:t.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL})},t.prototype.onDidChangeRawContentFast=function(e){return this._eventEmitter.fastEvent((function(t){return e(t.rawContentChangedEvent)}))},t.prototype.onDidChangeRawContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.rawContentChangedEvent)}))},t.prototype.onDidChangeContent=function(e){return this._eventEmitter.slowEvent((function(t){return e(t.contentChangedEvent)}))},t.prototype.dispose=function(){this._isDisposing=!0,this._onWillDispose.fire(),this._commandManager=null,this._decorations=null,this._decorationsTree=null,this._tokenizationListener.dispose(),this._languageRegistryListener.dispose(),this._clearTimers(),this._tokens=null,this._isDisposed=!0,this._buffer=null,e.prototype.dispose.call(this),this._isDisposing=!1},t.prototype._assertNotDisposed=function(){if(this._isDisposed)throw new Error("Model is disposed!")},t.prototype._emitContentChangedEvent=function(e,t){this._isDisposing||this._eventEmitter.fire(new b(e,t))},t.prototype.setValue=function(e){if(this._assertNotDisposed(),null!==e){var t=Fe(e,this._options.defaultEOL);this.setValueFromTextBuffer(t)}},t.prototype._createContentChanged2=function(e,t,o,n,i,r,s){return{changes:[{range:e,rangeOffset:t,rangeLength:o,text:n}],eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:i,isRedoing:r,isFlush:s}},t.prototype.setValueFromTextBuffer=function(e){if(this._assertNotDisposed(),null!==e){var t=this.getFullModelRange(),o=this.getValueLengthInRange(t),n=this.getLineCount(),i=this.getLineMaxColumn(n);this._buffer=e,this._increaseVersionId(),this._resetTokenizationState(),this._decorations=Object.create(null),this._decorationsTree=new Ve,this._commandManager=new h(this),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new v([new p],this._versionId,!1,!1),this._createContentChanged2(new d.a(1,1,n,i),0,o,this.getValue(),!1,!1,!0))}},t.prototype.setEOL=function(e){this._assertNotDisposed();var t=e===r.d.CRLF?"\r\n":"\n";if(this._buffer.getEOL()!==t){var o=this.getFullModelRange(),n=this.getValueLengthInRange(o),i=this.getLineCount(),s=this.getLineMaxColumn(i);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new v([new y],this._versionId,!1,!1),this._createContentChanged2(new d.a(1,1,i,s),0,n,this.getValue(),!1,!1,!1))}},t.prototype._onBeforeEOLChange=function(){var e=this.getVersionId(),t=this._decorationsTree.search(0,!1,!1,e);this._ensureNodesHaveRanges(t)},t.prototype._onAfterEOLChange=function(){for(var e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder(),o=0,n=t.length;o<n;o++){var i=t[o],r=i.cachedAbsoluteStart-i.start,s=this._buffer.getOffsetAt(i.range.startLineNumber,i.range.startColumn),a=this._buffer.getOffsetAt(i.range.endLineNumber,i.range.endColumn);i.cachedAbsoluteStart=s,i.cachedAbsoluteEnd=a,i.cachedVersionId=e,i.start=s-r,i.end=a-r,W(i)}},t.prototype._resetTokenizationState=function(){this._clearTimers();var e=this._isTooLargeForTokenization?null:s.y.get(this._languageIdentifier.language);this._tokens=new se(this._languageIdentifier,e),this._beginBackgroundTokenization()},t.prototype._clearTimers=function(){-1!==this._revalidateTokensTimeout&&(clearTimeout(this._revalidateTokensTimeout),this._revalidateTokensTimeout=-1)},t.prototype.onBeforeAttached=function(){this._attachedEditorCount++,this._warmUpTokens()},t.prototype.onBeforeDetached=function(){this._attachedEditorCount--},t.prototype._shouldAutoTokenize=function(){return this.isAttachedToEditor()},t.prototype.isAttachedToEditor=function(){return this._attachedEditorCount>0},t.prototype.getAttachedEditorCount=function(){return this._attachedEditorCount},t.prototype.isTooLargeForSyncing=function(){return this._isTooLargeForSyncing},t.prototype.isTooLargeForTokenization=function(){return this._isTooLargeForTokenization},t.prototype.isDisposed=function(){return this._isDisposed},t.prototype.isDominatedByLongLines=function(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;for(var e=0,t=0,o=this._buffer.getLineCount(),n=1;n<=o;n++){var i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e},Object.defineProperty(t.prototype,"uri",{get:function(){return this._associatedResource},enumerable:!0,configurable:!0}),t.prototype.getOptions=function(){return this._assertNotDisposed(),this._options},t.prototype.updateOptions=function(e){this._assertNotDisposed();var t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,o=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,n=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,i=new r.g({tabSize:t,insertSpaces:o,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:n});if(!this._options.equals(i)){var s=this._options.createChangeEvent(i);this._options=i,this._onDidChangeOptions.fire(s)}},t.prototype.detectIndentation=function(e,t){this._assertNotDisposed();var o=ue(this._buffer,t,e);this.updateOptions({insertSpaces:o.insertSpaces,tabSize:o.tabSize})},t._normalizeIndentationFromWhitespace=function(e,t,o){for(var n=0,i=0;i<e.length;i++)"\t"===e.charAt(i)?n+=t:n++;var r="";if(!o){var s=Math.floor(n/t);n%=t;for(i=0;i<s;i++)r+="\t"}for(i=0;i<n;i++)r+=" ";return r},t.normalizeIndentation=function(e,o,n){var i=E.firstNonWhitespaceIndex(e);return-1===i&&(i=e.length),t._normalizeIndentationFromWhitespace(e.substring(0,i),o,n)+e.substring(i)},t.prototype.normalizeIndentation=function(e){return this._assertNotDisposed(),t.normalizeIndentation(e,this._options.tabSize,this._options.insertSpaces)},t.prototype.getOneIndent=function(){this._assertNotDisposed();var e=this._options.tabSize;if(this._options.insertSpaces){for(var t="",o=0;o<e;o++)t+=" ";return t}return"\t"},t.prototype.getVersionId=function(){return this._assertNotDisposed(),this._versionId},t.prototype.mightContainRTL=function(){return this._buffer.mightContainRTL()},t.prototype.mightContainNonBasicASCII=function(){return this._buffer.mightContainNonBasicASCII()},t.prototype.getAlternativeVersionId=function(){return this._assertNotDisposed(),this._alternativeVersionId},t.prototype.getOffsetAt=function(e){this._assertNotDisposed();var t=this._validatePosition(e.lineNumber,e.column,!1);return this._buffer.getOffsetAt(t.lineNumber,t.column)},t.prototype.getPositionAt=function(e){this._assertNotDisposed();var t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)},t.prototype._increaseVersionId=function(){this._setVersionId(this._versionId+1)},t.prototype._setVersionId=function(e){this._versionId=e,this._alternativeVersionId=this._versionId},t.prototype._overwriteAlternativeVersionId=function(e){this._alternativeVersionId=e},t.prototype.getValue=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var o=this.getFullModelRange(),n=this.getValueInRange(o,e);return t?this._buffer.getBOM()+n:n},t.prototype.getValueLength=function(e,t){void 0===t&&(t=!1),this._assertNotDisposed();var o=this.getFullModelRange(),n=this.getValueLengthInRange(o,e);return t?this._buffer.getBOM().length+n:n},t.prototype.getValueInRange=function(e,t){return void 0===t&&(t=r.c.TextDefined),this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)},t.prototype.getValueLengthInRange=function(e,t){return void 0===t&&(t=r.c.TextDefined),this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)},t.prototype.getLineCount=function(){return this._assertNotDisposed(),this._buffer.getLineCount()},t.prototype.getLineContent=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineContent(e)},t.prototype.getLineLength=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)},t.prototype.getLinesContent=function(){return this._assertNotDisposed(),this._buffer.getLinesContent()},t.prototype.getEOL=function(){return this._assertNotDisposed(),this._buffer.getEOL()},t.prototype.getLineMinColumn=function(e){return this._assertNotDisposed(),1},t.prototype.getLineMaxColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1},t.prototype.getLineFirstNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)},t.prototype.getLineLastNonWhitespaceColumn=function(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)},t.prototype._validateRangeRelaxedNoAllocations=function(e){var t,o,n=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;if(i<1)t=1,o=1;else if(i>n)t=n,o=this.getLineMaxColumn(t);else{if(t=0|i,r<=1)o=1;else o=r>=(c=this.getLineMaxColumn(t))?c:0|r}var s,a,l=e.endLineNumber,u=e.endColumn;if(l<1)s=1,a=1;else if(l>n)s=n,a=this.getLineMaxColumn(s);else{var c;if(s=0|l,u<=1)a=1;else a=u>=(c=this.getLineMaxColumn(s))?c:0|u}return i===t&&r===o&&l===s&&u===a&&e instanceof d.a&&!(e instanceof g.a)?e:new d.a(t,o,s,a)},t.prototype._isValidPosition=function(e,t,o){if(isNaN(e))return!1;if(e<1)return!1;if(e>this._buffer.getLineCount())return!1;if(isNaN(t))return!1;if(t<1)return!1;if(t>this.getLineMaxColumn(e))return!1;if(o&&t>1){var n=this._buffer.getLineCharCode(e,t-2);if(E.isHighSurrogate(n))return!1}return!0},t.prototype._validatePosition=function(e,t,o){var n=Math.floor("number"!=typeof e||isNaN(e)?1:e),i=Math.floor("number"!=typeof t||isNaN(t)?1:t),r=this._buffer.getLineCount();if(n<1)return new Z.a(1,1);if(n>r)return new Z.a(r,this.getLineMaxColumn(r));if(i<=1)return new Z.a(n,1);var s=this.getLineMaxColumn(n);if(i>=s)return new Z.a(n,s);if(o){var a=this._buffer.getLineCharCode(n,i-2);if(E.isHighSurrogate(a))return new Z.a(n,i-1)}return new Z.a(n,i)},t.prototype.validatePosition=function(e){return this._assertNotDisposed(),e instanceof Z.a&&this._isValidPosition(e.lineNumber,e.column,!0)?e:this._validatePosition(e.lineNumber,e.column,!0)},t.prototype._isValidRange=function(e,t){var o=e.startLineNumber,n=e.startColumn,i=e.endLineNumber,r=e.endColumn;if(!this._isValidPosition(o,n,!1))return!1;if(!this._isValidPosition(i,r,!1))return!1;if(t){var s=n>1?this._buffer.getLineCharCode(o,n-2):0,a=r>1&&r<=this._buffer.getLineLength(i)?this._buffer.getLineCharCode(i,r-2):0,l=E.isHighSurrogate(s),u=E.isHighSurrogate(a);return!l&&!u}return!0},t.prototype.validateRange=function(e){if(this._assertNotDisposed(),e instanceof d.a&&!(e instanceof g.a)&&this._isValidRange(e,!0))return e;var t=this._validatePosition(e.startLineNumber,e.startColumn,!1),o=this._validatePosition(e.endLineNumber,e.endColumn,!1),n=t.lineNumber,i=t.column,r=o.lineNumber,s=o.column,a=i>1?this._buffer.getLineCharCode(n,i-2):0,l=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,u=E.isHighSurrogate(a),c=E.isHighSurrogate(l);return u||c?n===r&&i===s?new d.a(n,i-1,r,s-1):u&&c?new d.a(n,i-1,r,s+1):u?new d.a(n,i-1,r,s):new d.a(n,i,r,s+1):new d.a(n,i,r,s)},t.prototype.modifyPosition=function(e,t){this._assertNotDisposed();var o=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,o)))},t.prototype.getFullModelRange=function(){this._assertNotDisposed();var e=this.getLineCount();return new d.a(1,1,e,this.getLineMaxColumn(e))},t.prototype.findMatchesLineByLine=function(e,t,o,n){return this._buffer.findMatchesLineByLine(e,t,o,n)},t.prototype.findMatches=function(e,t,o,n,i,r,s){var a;if(void 0===s&&(s=999),this._assertNotDisposed(),a=d.a.isIRange(t)?this.validateRange(t):this.getFullModelRange(),!o&&e.indexOf("\n")<0){var l=new he.a(e,o,n,i).parseSearchRequest();return l?this.findMatchesLineByLine(a,l,r,s):[]}return he.c.findMatches(this,new he.a(e,o,n,i),a,r,s)},t.prototype.findNextMatch=function(e,t,o,n,i,r){this._assertNotDisposed();var s=this.validatePosition(t);if(!o&&e.indexOf("\n")<0){var a=new he.a(e,o,n,i).parseSearchRequest(),l=this.getLineCount(),u=new d.a(s.lineNumber,s.column,l,this.getLineMaxColumn(l)),c=this.findMatchesLineByLine(u,a,r,1);return he.c.findNextMatch(this,new he.a(e,o,n,i),s,r),c.length>0?c[0]:(u=new d.a(1,1,s.lineNumber,this.getLineMaxColumn(s.lineNumber)),(c=this.findMatchesLineByLine(u,a,r,1)).length>0?c[0]:null)}return he.c.findNextMatch(this,new he.a(e,o,n,i),s,r)},t.prototype.findPreviousMatch=function(e,t,o,n,i,r){this._assertNotDisposed();var s=this.validatePosition(t);return he.c.findPreviousMatch(this,new he.a(e,o,n,i),s,r)},t.prototype.pushStackElement=function(){this._commandManager.pushStackElement()},t.prototype.pushEOL=function(e){if(("\n"===this.getEOL()?r.d.LF:r.d.CRLF)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.pushEditOperations=function(e,t,o){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,t,o)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._pushEditOperations=function(e,t,o){var n=this;if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){for(var i=t.map((function(e){return{range:n.validateRange(e.range),text:e.text}})),r=!0,s=0,a=e.length;s<a;s++){for(var l=e[s],u=!1,c=0,h=i.length;c<h;c++){var g=(y=i[c].range).startLineNumber>l.endLineNumber,p=l.startLineNumber>y.endLineNumber;if(!g&&!p){u=!0;break}}if(!u){r=!1;break}}if(r)for(s=0,a=this._trimAutoWhitespaceLines.length;s<a;s++){var f=this._trimAutoWhitespaceLines[s],m=this.getLineMaxColumn(f),_=!0;for(c=0,h=i.length;c<h;c++){var y=i[c].range,v=i[c].text;if(!(f<y.startLineNumber||f>y.endLineNumber)&&!(f===y.startLineNumber&&y.startColumn===m&&y.isEmpty()&&v&&v.length>0&&"\n"===v.charAt(0)||f===y.startLineNumber&&1===y.startColumn&&y.isEmpty()&&v&&v.length>0&&"\n"===v.charAt(v.length-1))){_=!1;break}}_&&t.push({range:new d.a(f,1,f,m),text:null})}this._trimAutoWhitespaceLines=null}return this._commandManager.pushEditOperation(e,t,o)},t.prototype.applyEdits=function(e){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._applyEdits(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t._eolCount=function(e){for(var t=0,o=0,n=0,i=e.length;n<i;n++){var r=e.charCodeAt(n);13===r?(0===t&&(o=n),t++,n+1<i&&10===e.charCodeAt(n+1)&&n++):10===r&&(0===t&&(o=n),t++)}return 0===t&&(o=e.length),[t,o]},t.prototype._applyEdits=function(e){for(var o=0,n=e.length;o<n;o++)e[o].range=this.validateRange(e[o].range);var i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace),s=this._buffer.getLineCount(),a=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,0!==a.length){var l=[],u=i;for(o=0,n=a.length;o<n;o++){var c=a[o],h=t._eolCount(c.text),d=h[0],g=h[1];this._tokens.applyEdits(c.range,d,g),this._onDidChangeDecorations.fire(),this._decorationsTree.acceptReplace(c.rangeOffset,c.rangeLength,c.text.length,c.forceMoveMarkers);for(var p=c.range.startLineNumber,y=c.range.endLineNumber,b=y-p,E=d,C=Math.min(b,E),S=E-b,T=C;T>=0;T--){var w=p+T,k=s-u-S+w;l.push(new f(w,this.getLineContent(k)))}if(C<b){var O=p+C;l.push(new m(O+1,y))}if(C<E){for(var R=p+C,N=E-C,L=s-u-N+R+1,I=[],D=0;D<N;D++){var A=L+D;I[A-L]=this.getLineContent(A)}l.push(new _(R+1,p+E,I))}u+=S}this._increaseVersionId(),this._emitContentChangedEvent(new v(l,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:a,eol:this._buffer.getEOL(),versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization(),r.reverseEdits},t.prototype._undo=function(){this._isUndoing=!0;var e=this._commandManager.undo();return this._isUndoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.undo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._undo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.canUndo=function(){return this._commandManager.canUndo()},t.prototype._redo=function(){this._isRedoing=!0;var e=this._commandManager.redo();return this._isRedoing=!1,e?(this._overwriteAlternativeVersionId(e.recordedVersionId),e.selections):null},t.prototype.redo=function(){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._redo()}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}},t.prototype.canRedo=function(){return this._commandManager.canRedo()},t.prototype.changeDecorations=function(e,t){void 0===t&&(t=0),this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._changeDecorations=function(e,t){var o=this,n={addDecoration:function(t,n){return o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0]},changeDecoration:function(e,t){o._onDidChangeDecorations.fire(),o._changeDecorationImpl(e,t)},changeDecorationOptions:function(e,t){o._onDidChangeDecorations.fire(),o._changeDecorationOptionsImpl(e,Ke(t))},removeDecoration:function(t){o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,[t],[])},deltaDecorations:function(t,n){return 0===t.length&&0===n.length?[]:(o._onDidChangeDecorations.fire(),o._deltaDecorationsImpl(e,t,n))}},i=null;try{i=t(n)}catch(e){Object(a.e)(e)}return n.addDecoration=null,n.changeDecoration=null,n.removeDecoration=null,n.deltaDecorations=null,i},t.prototype.deltaDecorations=function(e,t,o){if(void 0===o&&(o=0),this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._deltaDecorationsImpl(o,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}},t.prototype._getTrackedRange=function(e){return this.getDecorationRange(e)},t.prototype._setTrackedRange=function(e,t,o){var n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:ze[o]}])[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;var i=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),s=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),r,s,i),n.setOptions(ze[o]),this._decorationsTree.insert(n),n.id},t.prototype.removeAllDecorationsWithOwnerId=function(e){if(!this._isDisposed)for(var t=this._decorationsTree.collectNodesFromOwner(e),o=0,n=t.length;o<n;o++){var i=t[o];this._decorationsTree.delete(i),delete this._decorations[i.id]}},t.prototype.getDecorationOptions=function(e){var t=this._decorations[e];return t?t.options:null},t.prototype.getDecorationRange=function(e){var t=this._decorations[e];if(!t)return null;var o=this.getVersionId();return t.cachedVersionId!==o&&this._decorationsTree.resolveNode(t,o),null===t.range&&(t.range=this._getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range},t.prototype.getLineDecorations=function(e,t,o){return void 0===t&&(t=0),void 0===o&&(o=!1),e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,o)},t.prototype.getLinesDecorations=function(e,t,o,n){void 0===o&&(o=0),void 0===n&&(n=!1);var i=this.getLineCount(),r=Math.min(i,Math.max(1,e)),s=Math.min(i,Math.max(1,t)),a=this.getLineMaxColumn(s);return this._getDecorationsInRange(new d.a(r,1,s,a),o,n)},t.prototype.getDecorationsInRange=function(e,t,o){void 0===t&&(t=0),void 0===o&&(o=!1);var n=this.validateRange(e);return this._getDecorationsInRange(n,t,o)},t.prototype.getOverviewRulerDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var o=this.getVersionId(),n=this._decorationsTree.search(e,t,!0,o);return this._ensureNodesHaveRanges(n)},t.prototype.getAllDecorations=function(e,t){void 0===e&&(e=0),void 0===t&&(t=!1);var o=this.getVersionId(),n=this._decorationsTree.search(e,t,!1,o);return this._ensureNodesHaveRanges(n)},t.prototype._getDecorationsInRange=function(e,t,o){var n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),i=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn),r=this.getVersionId(),s=this._decorationsTree.intervalSearch(n,i,t,o,r);return this._ensureNodesHaveRanges(s)},t.prototype._ensureNodesHaveRanges=function(e){for(var t=0,o=e.length;t<o;t++){var n=e[t];null===n.range&&(n.range=this._getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd))}return e},t.prototype._getRangeAt=function(e,t){return this._buffer.getRangeAt(e,t-e)},t.prototype._changeDecorationImpl=function(e,t){var o=this._decorations[e];if(o){var n=this._validateRangeRelaxedNoAllocations(t),i=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(o),o.reset(this.getVersionId(),i,r,n),this._decorationsTree.insert(o)}},t.prototype._changeDecorationOptionsImpl=function(e,t){var o=this._decorations[e];o&&(!!o.options.overviewRuler.color!==!!t.overviewRuler.color?(this._decorationsTree.delete(o),o.setOptions(t),this._decorationsTree.insert(o)):o.setOptions(t))},t.prototype._deltaDecorationsImpl=function(e,t,o){for(var n=this.getVersionId(),i=t.length,r=0,s=o.length,a=0,l=new Array(s);r<i||a<s;){var u=null;if(r<i){do{u=this._decorations[t[r++]]}while(!u&&r<i);u&&this._decorationsTree.delete(u)}if(a<s){if(!u){var c=++this._lastDecorationId,h=this._instanceId+";"+c;u=new I(h,0,0),this._decorations[h]=u}var d=o[a],g=this._validateRangeRelaxedNoAllocations(d.range),p=Ke(d.options),f=this._buffer.getOffsetAt(g.startLineNumber,g.startColumn),m=this._buffer.getOffsetAt(g.endLineNumber,g.endColumn);u.ownerId=e,u.reset(n,f,m,g),u.setOptions(p),this._decorationsTree.insert(u),l[a]=u.id,a++}else u&&delete this._decorations[u.id]}return l},t.prototype.tokenizeViewport=function(e,t){if(this._tokens.tokenizationSupport){var o=Math.floor(.3*this._tokens.inValidLineStartIndex);if((e=Math.max(1,e-o))<=this._tokens.inValidLineStartIndex)this.forceTokenization(t);else{var n=new ae,i=this.getLineFirstNonWhitespaceColumn(e),r=[],s=e-1,a=null;if(i>0)for(;i>0&&s>=1;){var l=this.getLineFirstNonWhitespaceColumn(s);if(0!==l){if(l<i){if(a=this._tokens._getState(s-1))break;r.push(this.getLineContent(s)),i=l}s--}else s--}a||(a=this._tokens.tokenizationSupport.getInitialState());for(var u=a.clone(),c=r.length-1;c>=0;c--){u=(g=this._tokens._tokenizeText(this._buffer,r[c],u))?g.endState.clone():a.clone()}var h=Math.floor(.4*this._tokens.inValidLineStartIndex);t=Math.min(this.getLineCount(),t+h);for(var d=e;d<=t;d++){var g,p=this.getLineContent(d);(g=this._tokens._tokenizeText(this._buffer,p,u))?(this._tokens._setTokens(this._tokens.languageIdentifier.id,d-1,p.length,g.tokens),this._tokens._setIsInvalid(d-1,!1),this._tokens._setState(d-1,u),u=g.endState.clone(),n.registerChangedTokens(d)):u=a.clone()}var f=n.build();f&&this._onDidChangeTokens.fire(f)}}},t.prototype.forceTokenization=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");var t=new ae;this._tokens._updateTokensUntilLine(this._buffer,t,e);var o=t.build();o&&this._onDidChangeTokens.fire(o)},t.prototype.isCheapToTokenize=function(e){return this._tokens.isCheapToTokenize(e)},t.prototype.tokenizeIfCheap=function(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)},t.prototype.getLineTokens=function(e){if(e<1||e>this.getLineCount())throw new Error("Illegal value for lineNumber");return this._getLineTokens(e)},t.prototype._getLineTokens=function(e){var t=this._buffer.getLineContent(e);return this._tokens.getTokens(this._languageIdentifier.id,e-1,t)},t.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},t.prototype.getModeId=function(){return this._languageIdentifier.language},t.prototype.setMode=function(e){if(this._languageIdentifier.id!==e.id){var t={oldLanguage:this._languageIdentifier.language,newLanguage:e.language};this._languageIdentifier=e,this._resetTokenizationState(),this.emitModelTokensChangedEvent({ranges:[{fromLineNumber:1,toLineNumber:this.getLineCount()}]}),this._onDidChangeLanguage.fire(t),this._onDidChangeLanguageConfiguration.fire({})}},t.prototype.getLanguageIdAtPosition=function(e,t){if(!this._tokens.tokenizationSupport)return this._languageIdentifier.id;var o=this.validatePosition({lineNumber:e,column:t}),n=o.lineNumber,i=o.column,r=this._getLineTokens(n);return r.getLanguageId(r.findTokenIndexAtOffset(i-1))},t.prototype._beginBackgroundTokenization=function(){var e=this;this._shouldAutoTokenize()&&-1===this._revalidateTokensTimeout&&(this._revalidateTokensTimeout=setTimeout((function(){e._revalidateTokensTimeout=-1,e._revalidateTokensNow()}),0))},t.prototype._warmUpTokens=function(){var e=Math.min(100,this.getLineCount());this._revalidateTokensNow(e),this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization()},t.prototype._revalidateTokensNow=function(e){void 0===e&&(e=this._buffer.getLineCount());for(var t=new ae,o=X.create(!1);this._tokens.hasLinesToTokenize(this._buffer)&&!(o.elapsed()>20);){if(this._tokens._tokenizeOneLine(this._buffer,t)>=e)break}this._tokens.hasLinesToTokenize(this._buffer)&&this._beginBackgroundTokenization();var n=t.build();n&&this._onDidChangeTokens.fire(n)},t.prototype.emitModelTokensChangedEvent=function(e){this._isDisposing||this._onDidChangeTokens.fire(e)},t.prototype.getWordAtPosition=function(e){this._assertNotDisposed();var o=this.validatePosition(e),n=this.getLineContent(o.lineNumber),i=this._getLineTokens(o.lineNumber),r=i.findTokenIndexAtOffset(o.column-1),s=t._findLanguageBoundaries(i,r),a=s[0],l=s[1],u=Object(ee.d)(o.column,Q.a.getWordDefinition(i.getLanguageId(r)),n.substring(a,l),a);if(u)return u;if(r>0&&a===o.column-1){var c=t._findLanguageBoundaries(i,r-1),h=c[0],d=c[1],g=Object(ee.d)(o.column,Q.a.getWordDefinition(i.getLanguageId(r-1)),n.substring(h,d),h);if(g)return g}return null},t._findLanguageBoundaries=function(e,t){for(var o,n,i=e.getLanguageId(t),r=t;r>=0&&e.getLanguageId(r)===i;r--)o=e.getStartOffset(r);r=t;for(var s=e.getCount();r<s&&e.getLanguageId(r)===i;r++)n=e.getEndOffset(r);return[o,n]},t.prototype.getWordUntilPosition=function(e){var t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.findMatchingBracketUp=function(e,t){var o=e.toLowerCase(),n=this.validatePosition(t),i=this._getLineTokens(n.lineNumber),r=i.getLanguageId(i.findTokenIndexAtOffset(n.column-1)),s=Q.a.getBracketsSupport(r);if(!s)return null;var a=s.textIsBracket[o];return a?this._findMatchingBracketUp(a,n):null},t.prototype.matchBracket=function(e){return this._matchBracket(this.validatePosition(e))},t.prototype._matchBracket=function(e){var t=e.lineNumber,o=this._getLineTokens(t),n=this._buffer.getLineContent(t),i=o.findTokenIndexAtOffset(e.column-1);if(i<0)return null;var r=Q.a.getBracketsSupport(o.getLanguageId(i));if(r&&!Object($.b)(o.getStandardTokenType(i))){for(var s=Math.max(o.getStartOffset(i),e.column-1-r.maxBracketLength),a=Math.min(o.getEndOffset(i),e.column-1+r.maxBracketLength),l=null;;){if(!(c=J.a.findNextBracketInToken(r.forwardRegex,t,n,s,a)))break;if(c.startColumn<=e.column&&e.column<=c.endColumn)h=(h=n.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),(d=this._matchFoundBracket(c,r.textIsBracket[h],r.textIsOpenBracket[h]))&&(l=d);s=c.endColumn-1}if(l)return l}if(i>0&&o.getStartOffset(i)===e.column-1){a=o.getStartOffset(i);i--;var u=Q.a.getBracketsSupport(o.getLanguageId(i));if(u&&!Object($.b)(o.getStandardTokenType(i))){var c,h,d;s=Math.max(o.getStartOffset(i),e.column-1-u.maxBracketLength);if((c=J.a.findPrevBracketInToken(u.reversedRegex,t,n,s,a))&&c.startColumn<=e.column&&e.column<=c.endColumn)if(h=(h=n.substring(c.startColumn-1,c.endColumn-1)).toLowerCase(),d=this._matchFoundBracket(c,u.textIsBracket[h],u.textIsOpenBracket[h]))return d}}return null},t.prototype._matchFoundBracket=function(e,t,o){if(!t)return null;var n;if(o){if(n=this._findMatchingBracketDown(t,e.getEndPosition()))return[e,n]}else if(n=this._findMatchingBracketUp(t,e.getStartPosition()))return[e,n];return null},t.prototype._findMatchingBracketUp=function(e,t){for(var o=e.languageIdentifier.id,n=e.reversedRegex,i=-1,r=t.lineNumber;r>=1;r--){var s=this._getLineTokens(r),a=s.getCount(),l=this._buffer.getLineContent(r),u=a-1,c=-1;for(r===t.lineNumber&&(u=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);u>=0;u--){var h=s.getLanguageId(u),d=s.getStandardTokenType(u),g=s.getStartOffset(u),p=s.getEndOffset(u);if(-1===c&&(c=p),h===o&&!Object($.b)(d))for(;;){var f=J.a.findPrevBracketInToken(n,r,l,g,c);if(!f)break;var m=l.substring(f.startColumn-1,f.endColumn-1);if((m=m.toLowerCase())===e.open?i++:m===e.close&&i--,0===i)return f;c=f.startColumn-1}c=-1}}return null},t.prototype._findMatchingBracketDown=function(e,t){for(var o=e.languageIdentifier.id,n=e.forwardRegex,i=1,r=t.lineNumber,s=this.getLineCount();r<=s;r++){var a=this._getLineTokens(r),l=a.getCount(),u=this._buffer.getLineContent(r),c=0,h=0;for(r===t.lineNumber&&(c=a.findTokenIndexAtOffset(t.column-1),h=t.column-1);c<l;c++){var d=a.getLanguageId(c),g=a.getStandardTokenType(c),p=a.getStartOffset(c),f=a.getEndOffset(c);if(0===h&&(h=p),d===o&&!Object($.b)(g))for(;;){var m=J.a.findNextBracketInToken(n,r,u,h,f);if(!m)break;var _=u.substring(m.startColumn-1,m.endColumn-1);if((_=_.toLowerCase())===e.open?i++:_===e.close&&i--,0===i)return m;h=m.endColumn-1}h=0}}return null},t.prototype.findNextBracket=function(e){for(var t=this.validatePosition(e),o=-1,n=null,i=t.lineNumber,r=this.getLineCount();i<=r;i++){var s=this._getLineTokens(i),a=s.getCount(),l=this._buffer.getLineContent(i),u=0,c=0;for(i===t.lineNumber&&(u=s.findTokenIndexAtOffset(t.column-1),c=t.column-1);u<a;u++){var h=s.getLanguageId(u),d=s.getStandardTokenType(u),g=s.getStartOffset(u),p=s.getEndOffset(u);if(0===c&&(c=g),o!==h&&(o=h,n=Q.a.getBracketsSupport(o)),n&&!Object($.b)(d)){var f=J.a.findNextBracketInToken(n.forwardRegex,i,l,c,p);if(f)return this._toFoundBracket(n,f)}c=0}}return null},t.prototype._toFoundBracket=function(e,t){if(!t)return null;var o=this.getValueInRange(t);o=o.toLowerCase();var n=e.textIsBracket[o];return n?{range:t,open:n.open,close:n.close,isOpen:e.textIsOpenBracket[o]}:null},t.computeIndentLevel=function(e,t){for(var o=0,n=0,i=e.length;n<i;){var r=e.charCodeAt(n);if(32===r)o++;else{if(9!==r)break;o=o-o%t+t}n++}return n===i?-1:o},t.prototype._computeIndentLevel=function(e){return t.computeIndentLevel(this._buffer.getLineContent(e+1),this._options.tabSize)},t.prototype.getActiveIndentGuide=function(e,t,o){var n=this;this._assertNotDisposed();var i=this.getLineCount();if(e<1||e>i)throw new Error("Illegal value for lineNumber");for(var r=Q.a.getFoldingRules(this._languageIdentifier.id),s=r&&r.offSide,a=-2,l=-1,u=-2,c=-1,h=function(e){if(-1!==a&&(-2===a||a>e-1)){a=-1,l=-1;for(var t=e-2;t>=0;t--){var o=n._computeIndentLevel(t);if(o>=0){a=t,l=o;break}}}if(-2===u){u=-1,c=-1;for(t=e;t<i;t++){var r=n._computeIndentLevel(t);if(r>=0){u=t,c=r;break}}}},d=-2,g=-1,p=-2,f=-1,m=function(e){if(-2===d){d=-1,g=-1;for(var t=e-2;t>=0;t--){var o=n._computeIndentLevel(t);if(o>=0){d=t,g=o;break}}}if(-1!==p&&(-2===p||p<e-1)){p=-1,f=-1;for(t=e;t<i;t++){var r=n._computeIndentLevel(t);if(r>=0){p=t,f=r;break}}}},_=0,y=!0,v=0,b=!0,E=0,C=0;y||b;C++){var S=e-C,T=e+C;if(0!==C&&(S<1||S<t)&&(y=!1),0!==C&&(T>i||T>o)&&(b=!1),C>5e4&&(y=!1,b=!1),y){var w=void 0;if((k=this._computeIndentLevel(S-1))>=0?(u=S-1,c=k,w=Math.ceil(k/this._options.tabSize)):(h(S),w=this._getIndentLevelForWhitespaceLine(s,l,c)),0===C){if(_=S,v=T,0===(E=w))return{startLineNumber:_,endLineNumber:v,indent:E};continue}w>=E?_=S:y=!1}if(b){var k,O=void 0;(k=this._computeIndentLevel(T-1))>=0?(d=T-1,g=k,O=Math.ceil(k/this._options.tabSize)):(m(T),O=this._getIndentLevelForWhitespaceLine(s,g,f)),O>=E?v=T:b=!1}}return{startLineNumber:_,endLineNumber:v,indent:E}},t.prototype.getLinesIndentGuides=function(e,t){this._assertNotDisposed();var o=this.getLineCount();if(e<1||e>o)throw new Error("Illegal value for startLineNumber");if(t<1||t>o)throw new Error("Illegal value for endLineNumber");for(var n=Q.a.getFoldingRules(this._languageIdentifier.id),i=n&&n.offSide,r=new Array(t-e+1),s=-2,a=-1,l=-2,u=-1,c=e;c<=t;c++){var h=c-e,d=this._computeIndentLevel(c-1);if(d>=0)s=c-1,a=d,r[h]=Math.ceil(d/this._options.tabSize);else{if(-2===s){s=-1,a=-1;for(var g=c-2;g>=0;g--){if((p=this._computeIndentLevel(g))>=0){s=g,a=p;break}}}if(-1!==l&&(-2===l||l<c-1)){l=-1,u=-1;for(g=c;g<o;g++){var p;if((p=this._computeIndentLevel(g))>=0){l=g,u=p;break}}}r[h]=this._getIndentLevelForWhitespaceLine(i,a,u)}}return r},t.prototype._getIndentLevelForWhitespaceLine=function(e,t,o){return-1===t||-1===o?0:t<o?1+Math.floor(t/this._options.tabSize):t===o?Math.ceil(o/this._options.tabSize):e?Math.ceil(o/this._options.tabSize):1+Math.floor(o/this._options.tabSize)},t.MODEL_SYNC_LIMIT=52428800,t.LARGE_FILE_SIZE_THRESHOLD=20971520,t.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,t.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:ce.c.tabSize,insertSpaces:ce.c.insertSpaces,detectIndentation:!1,defaultEOL:r.b.LF,trimAutoWhitespace:ce.c.trimAutoWhitespace,largeFileOptimizations:ce.c.largeFileOptimizations},t}(z.a),Ve=function(){function e(){this._decorationsTree0=new A,this._decorationsTree1=new A}return e.prototype.intervalSearch=function(e,t,o,n,i){var r=this._decorationsTree0.intervalSearch(e,t,o,n,i),s=this._decorationsTree1.intervalSearch(e,t,o,n,i);return r.concat(s)},e.prototype.search=function(e,t,o,n){if(o)return this._decorationsTree1.search(e,t,n);var i=this._decorationsTree0.search(e,t,n),r=this._decorationsTree1.search(e,t,n);return i.concat(r)},e.prototype.collectNodesFromOwner=function(e){var t=this._decorationsTree0.collectNodesFromOwner(e),o=this._decorationsTree1.collectNodesFromOwner(e);return t.concat(o)},e.prototype.collectNodesPostOrder=function(){var e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder();return e.concat(t)},e.prototype.insert=function(e){R(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)},e.prototype.delete=function(e){R(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)},e.prototype.resolveNode=function(e,t){R(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)},e.prototype.acceptReplace=function(e,t,o,n){this._decorationsTree0.acceptReplace(e,t,o,n),this._decorationsTree1.acceptReplace(e,t,o,n)},e}();function We(e){return e.replace(/[^a-z0-9\-_]/gi," ")}var je=function(e){this.color=E.empty,this.darkColor=E.empty,this.hcColor=E.empty,this.position=r.f.Center,this._resolvedColor=null,e&&e.color&&(this.color=e.color),e&&e.darkColor&&(this.darkColor=e.darkColor,this.hcColor=e.darkColor),e&&e.hcColor&&(this.hcColor=e.hcColor),e&&e.hasOwnProperty("position")&&(this.position=e.position)},Ge=function(){function e(e){this.stickiness=e.stickiness||r.h.AlwaysGrowsWhenTypingAtEdges,this.zIndex=e.zIndex||0,this.className=e.className?We(e.className):E.empty,this.hoverMessage=e.hoverMessage||[],this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||[],this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.overviewRuler=new je(e.overviewRuler),this.glyphMarginClassName=e.glyphMarginClassName?We(e.glyphMarginClassName):E.empty,this.linesDecorationsClassName=e.linesDecorationsClassName?We(e.linesDecorationsClassName):E.empty,this.marginClassName=e.marginClassName?We(e.marginClassName):E.empty,this.inlineClassName=e.inlineClassName?We(e.inlineClassName):E.empty,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?We(e.beforeContentClassName):E.empty,this.afterContentClassName=e.afterContentClassName?We(e.afterContentClassName):E.empty}return e.register=function(t){return new e(t)},e.createDynamic=function(t){return new e(t)},e}();Ge.EMPTY=Ge.register({});var ze=[Ge.register({stickiness:r.h.AlwaysGrowsWhenTypingAtEdges}),Ge.register({stickiness:r.h.NeverGrowsWhenTypingAtEdges}),Ge.register({stickiness:r.h.GrowsOnlyWhenTypingBefore}),Ge.register({stickiness:r.h.GrowsOnlyWhenTypingAfter})];function Ke(e){return e instanceof Ge?e:Ge.createDynamic(e)}var Ye=function(e){function t(){var t=e.call(this)||this;return t._actual=t._register(new i.a),t.event=t._actual.event,t._deferredCnt=0,t._shouldFire=!1,t}return xe(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){this._deferredCnt--,0===this._deferredCnt&&this._shouldFire&&(this._shouldFire=!1,this._actual.fire({}))},t.prototype.fire=function(){this._shouldFire=!0},t}(z.a),Xe=function(e){function t(){var t=e.call(this)||this;return t._fastEmitter=t._register(new i.a),t.fastEvent=t._fastEmitter.event,t._slowEmitter=t._register(new i.a),t.slowEvent=t._slowEmitter.event,t._deferredCnt=0,t._deferredEvent=null,t}return xe(t,e),t.prototype.beginDeferredEmit=function(){this._deferredCnt++},t.prototype.endDeferredEmit=function(){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){var e=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(e),this._slowEmitter.fire(e)}},t.prototype.fire=function(e){this._deferredCnt>0?this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e:(this._fastEmitter.fire(e),this._slowEmitter.fire(e))},t}(z.a)},function(e,t,o){"use strict";o.d(t,"g",(function(){return n})),o.d(t,"j",(function(){return i})),o.d(t,"h",(function(){return r})),o.d(t,"k",(function(){return p})),o.d(t,"i",(function(){return s})),o.d(t,"l",(function(){return f})),o.d(t,"e",(function(){return _})),o.d(t,"d",(function(){return w})),o.d(t,"f",(function(){return k})),o.d(t,"b",(function(){return R})),o.d(t,"c",(function(){return N})),o.d(t,"a",(function(){return L}));var n,i,r,s,a=o(0),l=o(15),u=o(42),c=o(105),h=o(25),d=o(30),g=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e};function p(e){if(e===r.Blink)return"blink";if(e===r.Expand)return"expand";if(e===r.Phase)return"phase";if(e===r.Smooth)return"smooth";if(e===r.Solid)return"solid";throw new Error("blinkingStyleToString: Unknown blinkingStyle")}function f(e){if(e===s.Line)return"line";if(e===s.Block)return"block";if(e===s.Underline)return"underline";if(e===s.LineThin)return"line-thin";if(e===s.BlockOutline)return"block-outline";if(e===s.UnderlineThin)return"underline-thin";throw new Error("cursorStyleToString: Unknown cursorStyle")}function m(e,t){return"string"!=typeof e?t:"line"===e?s.Line:"block"===e?s.Block:"underline"===e?s.Underline:"line-thin"===e?s.LineThin:"block-outline"===e?s.BlockOutline:"underline-thin"===e?s.UnderlineThin:s.Line}!function(e){e[e.None=0]="None",e[e.Small=1]="Small",e[e.Large=2]="Large",e[e.SmallBlocks=3]="SmallBlocks",e[e.LargeBlocks=4]="LargeBlocks"}(n||(n={})),function(e){e[e.None=0]="None",e[e.Same=1]="Same",e[e.Indent=2]="Indent",e[e.DeepIndent=3]="DeepIndent"}(i||(i={})),function(e){e[e.Hidden=0]="Hidden",e[e.Blink=1]="Blink",e[e.Smooth=2]="Smooth",e[e.Phase=3]="Phase",e[e.Expand=4]="Expand",e[e.Solid=5]="Solid"}(r||(r={})),function(e){e[e.Line=1]="Line",e[e.Block=2]="Block",e[e.Underline=3]="Underline",e[e.LineThin=4]="LineThin",e[e.BlockOutline=5]="BlockOutline",e[e.UnderlineThin=6]="UnderlineThin"}(s||(s={}));var _=function(){function e(e){this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=0|e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.multiCursorModifier=e.multiCursorModifier,this.multiCursorMergeOverlapping=e.multiCursorMergeOverlapping,this.wordSeparators=e.wordSeparators,this.autoClosingBrackets=e.autoClosingBrackets,this.autoIndent=e.autoIndent,this.useTabStops=e.useTabStops,this.tabFocusMode=e.tabFocusMode,this.dragAndDrop=e.dragAndDrop,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo,this.contribInfo=e.contribInfo,this.showUnused=e.showUnused}return e.prototype.equals=function(t){return this.canUseLayerHinting===t.canUseLayerHinting&&this.pixelRatio===t.pixelRatio&&this.editorClassName===t.editorClassName&&this.lineHeight===t.lineHeight&&this.readOnly===t.readOnly&&this.accessibilitySupport===t.accessibilitySupport&&this.multiCursorModifier===t.multiCursorModifier&&this.multiCursorMergeOverlapping===t.multiCursorMergeOverlapping&&this.wordSeparators===t.wordSeparators&&this.autoClosingBrackets===t.autoClosingBrackets&&this.autoIndent===t.autoIndent&&this.useTabStops===t.useTabStops&&this.tabFocusMode===t.tabFocusMode&&this.dragAndDrop===t.dragAndDrop&&this.showUnused===t.showUnused&&this.emptySelectionClipboard===t.emptySelectionClipboard&&e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo)&&this.fontInfo.equals(t.fontInfo)&&e._equalsViewOptions(this.viewInfo,t.viewInfo)&&e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo)&&e._equalsContribOptions(this.contribInfo,t.contribInfo)},e.prototype.createChangeEvent=function(t){return{canUseLayerHinting:this.canUseLayerHinting!==t.canUseLayerHinting,pixelRatio:this.pixelRatio!==t.pixelRatio,editorClassName:this.editorClassName!==t.editorClassName,lineHeight:this.lineHeight!==t.lineHeight,readOnly:this.readOnly!==t.readOnly,accessibilitySupport:this.accessibilitySupport!==t.accessibilitySupport,multiCursorModifier:this.multiCursorModifier!==t.multiCursorModifier,multiCursorMergeOverlapping:this.multiCursorMergeOverlapping!==t.multiCursorMergeOverlapping,wordSeparators:this.wordSeparators!==t.wordSeparators,autoClosingBrackets:this.autoClosingBrackets!==t.autoClosingBrackets,autoIndent:this.autoIndent!==t.autoIndent,useTabStops:this.useTabStops!==t.useTabStops,tabFocusMode:this.tabFocusMode!==t.tabFocusMode,dragAndDrop:this.dragAndDrop!==t.dragAndDrop,emptySelectionClipboard:this.emptySelectionClipboard!==t.emptySelectionClipboard,layoutInfo:!e._equalsLayoutInfo(this.layoutInfo,t.layoutInfo),fontInfo:!this.fontInfo.equals(t.fontInfo),viewInfo:!e._equalsViewOptions(this.viewInfo,t.viewInfo),wrappingInfo:!e._equalsWrappingInfo(this.wrappingInfo,t.wrappingInfo),contribInfo:!e._equalsContribOptions(this.contribInfo,t.contribInfo)}},e._equalsLayoutInfo=function(e,t){return e.width===t.width&&e.height===t.height&&e.glyphMarginLeft===t.glyphMarginLeft&&e.glyphMarginWidth===t.glyphMarginWidth&&e.glyphMarginHeight===t.glyphMarginHeight&&e.lineNumbersLeft===t.lineNumbersLeft&&e.lineNumbersWidth===t.lineNumbersWidth&&e.lineNumbersHeight===t.lineNumbersHeight&&e.decorationsLeft===t.decorationsLeft&&e.decorationsWidth===t.decorationsWidth&&e.decorationsHeight===t.decorationsHeight&&e.contentLeft===t.contentLeft&&e.contentWidth===t.contentWidth&&e.contentHeight===t.contentHeight&&e.renderMinimap===t.renderMinimap&&e.minimapLeft===t.minimapLeft&&e.minimapWidth===t.minimapWidth&&e.viewportColumn===t.viewportColumn&&e.verticalScrollbarWidth===t.verticalScrollbarWidth&&e.horizontalScrollbarHeight===t.horizontalScrollbarHeight&&this._equalsOverviewRuler(e.overviewRuler,t.overviewRuler)},e._equalsOverviewRuler=function(e,t){return e.width===t.width&&e.height===t.height&&e.top===t.top&&e.right===t.right},e._equalsViewOptions=function(e,t){return e.extraEditorClassName===t.extraEditorClassName&&e.disableMonospaceOptimizations===t.disableMonospaceOptimizations&&h.e(e.rulers,t.rulers)&&e.ariaLabel===t.ariaLabel&&e.renderLineNumbers===t.renderLineNumbers&&e.renderCustomLineNumbers===t.renderCustomLineNumbers&&e.selectOnLineNumbers===t.selectOnLineNumbers&&e.glyphMargin===t.glyphMargin&&e.revealHorizontalRightPadding===t.revealHorizontalRightPadding&&e.roundedSelection===t.roundedSelection&&e.overviewRulerLanes===t.overviewRulerLanes&&e.overviewRulerBorder===t.overviewRulerBorder&&e.cursorBlinking===t.cursorBlinking&&e.mouseWheelZoom===t.mouseWheelZoom&&e.cursorStyle===t.cursorStyle&&e.cursorWidth===t.cursorWidth&&e.hideCursorInOverviewRuler===t.hideCursorInOverviewRuler&&e.scrollBeyondLastLine===t.scrollBeyondLastLine&&e.scrollBeyondLastColumn===t.scrollBeyondLastColumn&&e.smoothScrolling===t.smoothScrolling&&e.stopRenderingLineAfter===t.stopRenderingLineAfter&&e.renderWhitespace===t.renderWhitespace&&e.renderControlCharacters===t.renderControlCharacters&&e.fontLigatures===t.fontLigatures&&e.renderIndentGuides===t.renderIndentGuides&&e.highlightActiveIndentGuide===t.highlightActiveIndentGuide&&e.renderLineHighlight===t.renderLineHighlight&&this._equalsScrollbarOptions(e.scrollbar,t.scrollbar)&&this._equalsMinimapOptions(e.minimap,t.minimap)&&e.fixedOverflowWidgets===t.fixedOverflowWidgets},e._equalsScrollbarOptions=function(e,t){return e.arrowSize===t.arrowSize&&e.vertical===t.vertical&&e.horizontal===t.horizontal&&e.useShadows===t.useShadows&&e.verticalHasArrows===t.verticalHasArrows&&e.horizontalHasArrows===t.horizontalHasArrows&&e.handleMouseWheel===t.handleMouseWheel&&e.horizontalScrollbarSize===t.horizontalScrollbarSize&&e.horizontalSliderSize===t.horizontalSliderSize&&e.verticalScrollbarSize===t.verticalScrollbarSize&&e.verticalSliderSize===t.verticalSliderSize&&e.mouseWheelScrollSensitivity===t.mouseWheelScrollSensitivity},e._equalsMinimapOptions=function(e,t){return e.enabled===t.enabled&&e.side===t.side&&e.showSlider===t.showSlider&&e.renderCharacters===t.renderCharacters&&e.maxColumn===t.maxColumn},e._equalFindOptions=function(e,t){return e.seedSearchStringFromSelection===t.seedSearchStringFromSelection&&e.autoFindInSelection===t.autoFindInSelection&&e.globalFindClipboard===t.globalFindClipboard},e._equalsHoverOptions=function(e,t){return e.enabled===t.enabled&&e.delay===t.delay&&e.sticky===t.sticky},e._equalsSuggestOptions=function(e,t){return e===t||!(!e||!t)&&(e.filterGraceful===t.filterGraceful&&e.snippets===t.snippets&&e.snippetsPreventQuickSuggestions===t.snippetsPreventQuickSuggestions)},e._equalsWrappingInfo=function(e,t){return e.inDiffEditor===t.inDiffEditor&&e.isDominatedByLongLines===t.isDominatedByLongLines&&e.isWordWrapMinified===t.isWordWrapMinified&&e.isViewportWrapping===t.isViewportWrapping&&e.wrappingColumn===t.wrappingColumn&&e.wrappingIndent===t.wrappingIndent&&e.wordWrapBreakBeforeCharacters===t.wordWrapBreakBeforeCharacters&&e.wordWrapBreakAfterCharacters===t.wordWrapBreakAfterCharacters&&e.wordWrapBreakObtrusiveCharacters===t.wordWrapBreakObtrusiveCharacters},e._equalsContribOptions=function(t,o){return t.selectionClipboard===o.selectionClipboard&&this._equalsHoverOptions(t.hover,o.hover)&&t.links===o.links&&t.contextmenu===o.contextmenu&&e._equalsQuickSuggestions(t.quickSuggestions,o.quickSuggestions)&&t.quickSuggestionsDelay===o.quickSuggestionsDelay&&t.parameterHints===o.parameterHints&&t.iconsInSuggestions===o.iconsInSuggestions&&t.formatOnType===o.formatOnType&&t.formatOnPaste===o.formatOnPaste&&t.suggestOnTriggerCharacters===o.suggestOnTriggerCharacters&&t.acceptSuggestionOnEnter===o.acceptSuggestionOnEnter&&t.acceptSuggestionOnCommitCharacter===o.acceptSuggestionOnCommitCharacter&&t.wordBasedSuggestions===o.wordBasedSuggestions&&t.suggestSelection===o.suggestSelection&&t.suggestFontSize===o.suggestFontSize&&t.suggestLineHeight===o.suggestLineHeight&&this._equalsSuggestOptions(t.suggest,o.suggest)&&t.selectionHighlight===o.selectionHighlight&&t.occurrencesHighlight===o.occurrencesHighlight&&t.codeLens===o.codeLens&&t.folding===o.folding&&t.foldingStrategy===o.foldingStrategy&&t.showFoldingControls===o.showFoldingControls&&t.matchBrackets===o.matchBrackets&&this._equalFindOptions(t.find,o.find)&&t.colorDecorators===o.colorDecorators&&d.e(t.codeActionsOnSave,o.codeActionsOnSave)&&t.codeActionsOnSaveTimeout===o.codeActionsOnSaveTimeout&&t.lightbulbEnabled===o.lightbulbEnabled},e._equalsQuickSuggestions=function(e,t){return"boolean"==typeof e?"boolean"==typeof t&&e===t:"boolean"!=typeof t&&(e.comments===t.comments&&e.other===t.other&&e.strings===t.strings)},e}();function y(e,t){return void 0===e?t:"false"!==e&&Boolean(e)}function v(e,t){if(!e)return t;for(var o=Object.create(null),n=0,i=Object.keys(e);n<i.length;n++){var r=i[n],s=e[r];"boolean"==typeof s&&(o[r]=s)}return o}function b(e,t){return"string"!=typeof e?t:e}function E(e,t,o){return"string"!=typeof e?t:-1===o.indexOf(e)?t:e}function C(e,t,o,n){var i;return void 0===e?i=t:(i=parseInt(e,10),isNaN(i)&&(i=t)),i=Math.max(o,i),0|(i=Math.min(n,i))}function S(e,t){if("string"!=typeof e)return t;switch(e){case"blink":return r.Blink;case"smooth":return r.Smooth;case"phase":return r.Phase;case"expand":return r.Expand;case"visible":case"solid":return r.Solid}return r.Blink}function T(e,t){if("string"!=typeof e)return t;switch(e){case"hidden":return u.b.Hidden;case"visible":return u.b.Visible;default:return u.b.Auto}}var w=function(){function e(){}return e.validate=function(e,t){var o=e.wordWrap;!0===o?o="on":!1===o&&(o="off"),o=E(o,t.wordWrap,["off","on","wordWrapColumn","bounded"]);var n,r=this._sanitizeViewInfo(e,t.viewInfo),s=this._sanitizeContribInfo(e,t.contribInfo);"string"==typeof e.multiCursorModifier&&(n="ctrlCmd"===e.multiCursorModifier?l.d?"metaKey":"ctrlKey":"altKey");var a,u,c=E(n,t.multiCursorModifier,["altKey","metaKey","ctrlKey"]);return{inDiffEditor:y(e.inDiffEditor,t.inDiffEditor),wordSeparators:b(e.wordSeparators,t.wordSeparators),lineNumbersMinChars:C(e.lineNumbersMinChars,t.lineNumbersMinChars,1,10),lineDecorationsWidth:void 0===e.lineDecorationsWidth?t.lineDecorationsWidth:e.lineDecorationsWidth,readOnly:y(e.readOnly,t.readOnly),mouseStyle:E(e.mouseStyle,t.mouseStyle,["text","default","copy"]),disableLayerHinting:y(e.disableLayerHinting,t.disableLayerHinting),automaticLayout:y(e.automaticLayout,t.automaticLayout),wordWrap:o,wordWrapColumn:C(e.wordWrapColumn,t.wordWrapColumn,1,1073741824),wordWrapMinified:y(e.wordWrapMinified,t.wordWrapMinified),wrappingIndent:(a=e.wrappingIndent,u=t.wrappingIndent,"string"!=typeof a?u:"same"===a?i.Same:"indent"===a?i.Indent:"deepIndent"===a?i.DeepIndent:i.None),wordWrapBreakBeforeCharacters:b(e.wordWrapBreakBeforeCharacters,t.wordWrapBreakBeforeCharacters),wordWrapBreakAfterCharacters:b(e.wordWrapBreakAfterCharacters,t.wordWrapBreakAfterCharacters),wordWrapBreakObtrusiveCharacters:b(e.wordWrapBreakObtrusiveCharacters,t.wordWrapBreakObtrusiveCharacters),autoClosingBrackets:y(e.autoClosingBrackets,t.autoClosingBrackets),autoIndent:y(e.autoIndent,t.autoIndent),dragAndDrop:y(e.dragAndDrop,t.dragAndDrop),emptySelectionClipboard:y(e.emptySelectionClipboard,t.emptySelectionClipboard),useTabStops:y(e.useTabStops,t.useTabStops),multiCursorModifier:c,multiCursorMergeOverlapping:y(e.multiCursorMergeOverlapping,t.multiCursorMergeOverlapping),accessibilitySupport:E(e.accessibilitySupport,t.accessibilitySupport,["auto","on","off"]),showUnused:y(e.showUnused,t.showUnused),viewInfo:r,contribInfo:s}},e._sanitizeScrollbarOpts=function(e,t,o){if("object"!=typeof e)return t;var n=C(e.horizontalScrollbarSize,t.horizontalScrollbarSize,0,1e3),i=C(e.verticalScrollbarSize,t.verticalScrollbarSize,0,1e3);return{vertical:T(e.vertical,t.vertical),horizontal:T(e.horizontal,t.horizontal),arrowSize:C(e.arrowSize,t.arrowSize,0,1e3),useShadows:y(e.useShadows,t.useShadows),verticalHasArrows:y(e.verticalHasArrows,t.verticalHasArrows),horizontalHasArrows:y(e.horizontalHasArrows,t.horizontalHasArrows),horizontalScrollbarSize:n,horizontalSliderSize:C(e.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:i,verticalSliderSize:C(e.verticalSliderSize,i,0,1e3),handleMouseWheel:y(e.handleMouseWheel,t.handleMouseWheel),mouseWheelScrollSensitivity:o}},e._sanitizeMinimapOpts=function(e,t){return"object"!=typeof e?t:{enabled:y(e.enabled,t.enabled),side:E(e.side,t.side,["right","left"]),showSlider:E(e.showSlider,t.showSlider,["always","mouseover"]),renderCharacters:y(e.renderCharacters,t.renderCharacters),maxColumn:C(e.maxColumn,t.maxColumn,1,1e4)}},e._santizeFindOpts=function(e,t){return"object"!=typeof e?t:{seedSearchStringFromSelection:y(e.seedSearchStringFromSelection,t.seedSearchStringFromSelection),autoFindInSelection:y(e.autoFindInSelection,t.autoFindInSelection),globalFindClipboard:y(e.globalFindClipboard,t.globalFindClipboard)}},e._santizeHoverOpts=function(e,t){var o;if("boolean"==typeof e)o={enabled:e};else{if("object"!=typeof e)return t;o=e}return{enabled:y(o.enabled,t.enabled),delay:C(o.delay,t.delay,0,1e4),sticky:y(o.sticky,t.sticky)}},e._sanitizeSuggestOpts=function(e,t){var o=e.suggest||{};return{filterGraceful:y(o.filterGraceful,t.filterGraceful),snippets:E(e.snippetSuggestions,t.snippets,["top","bottom","inline","none"]),snippetsPreventQuickSuggestions:y(o.snippetsPreventQuickSuggestions,t.filterGraceful)}},e._sanitizeViewInfo=function(e,t){var o=[];if(Array.isArray(e.rulers)){for(var n=0,i=e.rulers.length;n<i;n++)o.push(C(e.rulers[n],0,0,1e4));o.sort()}var r=t.renderLineNumbers,s=t.renderCustomLineNumbers;if(void 0!==e.lineNumbers){var a=e.lineNumbers;!0===a?a="on":!1===a&&(a="off"),"function"==typeof a?(r=4,s=a):r="interval"===a?3:"relative"===a?2:"on"===a?1:0}var l=y(e.fontLigatures,t.fontLigatures),u=y(e.disableMonospaceOptimizations,t.disableMonospaceOptimizations)||l,c=e.renderWhitespace;!0===c?c="boundary":!1===c&&(c="none"),c=E(e.renderWhitespace,t.renderWhitespace,["none","boundary","all"]);var h=e.renderLineHighlight;!0===h?h="line":!1===h&&(h="none"),h=E(e.renderLineHighlight,t.renderLineHighlight,["none","gutter","line","all"]);var d,g,p,f=(d=e.mouseWheelScrollSensitivity,g=t.scrollbar.mouseWheelScrollSensitivity,p=parseFloat(d),isNaN(p)&&(p=g),p);0===f&&(f=1);var _=this._sanitizeScrollbarOpts(e.scrollbar,t.scrollbar,f),v=this._sanitizeMinimapOpts(e.minimap,t.minimap);return{extraEditorClassName:b(e.extraEditorClassName,t.extraEditorClassName),disableMonospaceOptimizations:u,rulers:o,ariaLabel:b(e.ariaLabel,t.ariaLabel),renderLineNumbers:r,renderCustomLineNumbers:s,selectOnLineNumbers:y(e.selectOnLineNumbers,t.selectOnLineNumbers),glyphMargin:y(e.glyphMargin,t.glyphMargin),revealHorizontalRightPadding:C(e.revealHorizontalRightPadding,t.revealHorizontalRightPadding,0,1e3),roundedSelection:y(e.roundedSelection,t.roundedSelection),overviewRulerLanes:C(e.overviewRulerLanes,t.overviewRulerLanes,0,3),overviewRulerBorder:y(e.overviewRulerBorder,t.overviewRulerBorder),cursorBlinking:S(e.cursorBlinking,t.cursorBlinking),mouseWheelZoom:y(e.mouseWheelZoom,t.mouseWheelZoom),cursorStyle:m(e.cursorStyle,t.cursorStyle),cursorWidth:C(e.cursorWidth,t.cursorWidth,0,Number.MAX_VALUE),hideCursorInOverviewRuler:y(e.hideCursorInOverviewRuler,t.hideCursorInOverviewRuler),scrollBeyondLastLine:y(e.scrollBeyondLastLine,t.scrollBeyondLastLine),scrollBeyondLastColumn:C(e.scrollBeyondLastColumn,t.scrollBeyondLastColumn,0,1073741824),smoothScrolling:y(e.smoothScrolling,t.smoothScrolling),stopRenderingLineAfter:C(e.stopRenderingLineAfter,t.stopRenderingLineAfter,-1,1073741824),renderWhitespace:c,renderControlCharacters:y(e.renderControlCharacters,t.renderControlCharacters),fontLigatures:l,renderIndentGuides:y(e.renderIndentGuides,t.renderIndentGuides),highlightActiveIndentGuide:y(e.highlightActiveIndentGuide,t.highlightActiveIndentGuide),renderLineHighlight:h,scrollbar:_,minimap:v,fixedOverflowWidgets:y(e.fixedOverflowWidgets,t.fixedOverflowWidgets)}},e._sanitizeContribInfo=function(e,t){var o;o="object"==typeof e.quickSuggestions?g({other:!0},e.quickSuggestions):y(e.quickSuggestions,t.quickSuggestions),"boolean"==typeof e.acceptSuggestionOnEnter&&(e.acceptSuggestionOnEnter=e.acceptSuggestionOnEnter?"on":"off");var n=this._santizeFindOpts(e.find,t.find);return{selectionClipboard:y(e.selectionClipboard,t.selectionClipboard),hover:this._santizeHoverOpts(e.hover,t.hover),links:y(e.links,t.links),contextmenu:y(e.contextmenu,t.contextmenu),quickSuggestions:o,quickSuggestionsDelay:C(e.quickSuggestionsDelay,t.quickSuggestionsDelay,-1073741824,1073741824),parameterHints:y(e.parameterHints,t.parameterHints),iconsInSuggestions:y(e.iconsInSuggestions,t.iconsInSuggestions),formatOnType:y(e.formatOnType,t.formatOnType),formatOnPaste:y(e.formatOnPaste,t.formatOnPaste),suggestOnTriggerCharacters:y(e.suggestOnTriggerCharacters,t.suggestOnTriggerCharacters),acceptSuggestionOnEnter:E(e.acceptSuggestionOnEnter,t.acceptSuggestionOnEnter,["on","smart","off"]),acceptSuggestionOnCommitCharacter:y(e.acceptSuggestionOnCommitCharacter,t.acceptSuggestionOnCommitCharacter),wordBasedSuggestions:y(e.wordBasedSuggestions,t.wordBasedSuggestions),suggestSelection:E(e.suggestSelection,t.suggestSelection,["first","recentlyUsed","recentlyUsedByPrefix"]),suggestFontSize:C(e.suggestFontSize,t.suggestFontSize,0,1e3),suggestLineHeight:C(e.suggestLineHeight,t.suggestLineHeight,0,1e3),suggest:this._sanitizeSuggestOpts(e,t.suggest),selectionHighlight:y(e.selectionHighlight,t.selectionHighlight),occurrencesHighlight:y(e.occurrencesHighlight,t.occurrencesHighlight),codeLens:y(e.codeLens,t.codeLens),folding:y(e.folding,t.folding),foldingStrategy:E(e.foldingStrategy,t.foldingStrategy,["auto","indentation"]),showFoldingControls:E(e.showFoldingControls,t.showFoldingControls,["always","mouseover"]),matchBrackets:y(e.matchBrackets,t.matchBrackets),find:n,colorDecorators:y(e.colorDecorators,t.colorDecorators),lightbulbEnabled:y(!!e.lightbulb&&e.lightbulb.enabled,t.lightbulbEnabled),codeActionsOnSave:v(e.codeActionsOnSave,{}),codeActionsOnSaveTimeout:C(e.codeActionsOnSaveTimeout,t.codeActionsOnSaveTimeout,1,1e4)}},e}(),k=function(){function e(){}return e._tweakValidatedOptions=function(e,t){var o=2===t,n=1===t;return{inDiffEditor:e.inDiffEditor,wordSeparators:e.wordSeparators,lineNumbersMinChars:e.lineNumbersMinChars,lineDecorationsWidth:e.lineDecorationsWidth,readOnly:e.readOnly,mouseStyle:e.mouseStyle,disableLayerHinting:e.disableLayerHinting,automaticLayout:e.automaticLayout,wordWrap:e.wordWrap,wordWrapColumn:e.wordWrapColumn,wordWrapMinified:e.wordWrapMinified,wrappingIndent:e.wrappingIndent,wordWrapBreakBeforeCharacters:e.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:e.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:e.wordWrapBreakObtrusiveCharacters,autoClosingBrackets:e.autoClosingBrackets,autoIndent:e.autoIndent,dragAndDrop:e.dragAndDrop,emptySelectionClipboard:e.emptySelectionClipboard,useTabStops:e.useTabStops,multiCursorModifier:e.multiCursorModifier,multiCursorMergeOverlapping:e.multiCursorMergeOverlapping,accessibilitySupport:e.accessibilitySupport,showUnused:e.showUnused,viewInfo:{extraEditorClassName:e.viewInfo.extraEditorClassName,disableMonospaceOptimizations:e.viewInfo.disableMonospaceOptimizations,rulers:e.viewInfo.rulers,ariaLabel:n?a.a("accessibilityOffAriaLabel","The editor is not accessible at this time. Press Alt+F1 for options."):e.viewInfo.ariaLabel,renderLineNumbers:e.viewInfo.renderLineNumbers,renderCustomLineNumbers:e.viewInfo.renderCustomLineNumbers,selectOnLineNumbers:e.viewInfo.selectOnLineNumbers,glyphMargin:e.viewInfo.glyphMargin,revealHorizontalRightPadding:e.viewInfo.revealHorizontalRightPadding,roundedSelection:!o&&e.viewInfo.roundedSelection,overviewRulerLanes:e.viewInfo.overviewRulerLanes,overviewRulerBorder:e.viewInfo.overviewRulerBorder,cursorBlinking:e.viewInfo.cursorBlinking,mouseWheelZoom:e.viewInfo.mouseWheelZoom,cursorStyle:e.viewInfo.cursorStyle,cursorWidth:e.viewInfo.cursorWidth,hideCursorInOverviewRuler:e.viewInfo.hideCursorInOverviewRuler,scrollBeyondLastLine:e.viewInfo.scrollBeyondLastLine,scrollBeyondLastColumn:e.viewInfo.scrollBeyondLastColumn,smoothScrolling:e.viewInfo.smoothScrolling,stopRenderingLineAfter:e.viewInfo.stopRenderingLineAfter,renderWhitespace:o?"none":e.viewInfo.renderWhitespace,renderControlCharacters:!o&&e.viewInfo.renderControlCharacters,fontLigatures:!o&&e.viewInfo.fontLigatures,renderIndentGuides:!o&&e.viewInfo.renderIndentGuides,highlightActiveIndentGuide:e.viewInfo.highlightActiveIndentGuide,renderLineHighlight:e.viewInfo.renderLineHighlight,scrollbar:e.viewInfo.scrollbar,minimap:{enabled:!o&&e.viewInfo.minimap.enabled,side:e.viewInfo.minimap.side,renderCharacters:e.viewInfo.minimap.renderCharacters,showSlider:e.viewInfo.minimap.showSlider,maxColumn:e.viewInfo.minimap.maxColumn},fixedOverflowWidgets:e.viewInfo.fixedOverflowWidgets},contribInfo:{selectionClipboard:e.contribInfo.selectionClipboard,hover:e.contribInfo.hover,links:!o&&e.contribInfo.links,contextmenu:e.contribInfo.contextmenu,quickSuggestions:e.contribInfo.quickSuggestions,quickSuggestionsDelay:e.contribInfo.quickSuggestionsDelay,parameterHints:e.contribInfo.parameterHints,iconsInSuggestions:e.contribInfo.iconsInSuggestions,formatOnType:e.contribInfo.formatOnType,formatOnPaste:e.contribInfo.formatOnPaste,suggestOnTriggerCharacters:e.contribInfo.suggestOnTriggerCharacters,acceptSuggestionOnEnter:e.contribInfo.acceptSuggestionOnEnter,acceptSuggestionOnCommitCharacter:e.contribInfo.acceptSuggestionOnCommitCharacter,wordBasedSuggestions:e.contribInfo.wordBasedSuggestions,suggestSelection:e.contribInfo.suggestSelection,suggestFontSize:e.contribInfo.suggestFontSize,suggestLineHeight:e.contribInfo.suggestLineHeight,suggest:e.contribInfo.suggest,selectionHighlight:!o&&e.contribInfo.selectionHighlight,occurrencesHighlight:!o&&e.contribInfo.occurrencesHighlight,codeLens:!o&&e.contribInfo.codeLens,folding:!o&&e.contribInfo.folding,foldingStrategy:e.contribInfo.foldingStrategy,showFoldingControls:e.contribInfo.showFoldingControls,matchBrackets:!o&&e.contribInfo.matchBrackets,find:e.contribInfo.find,colorDecorators:e.contribInfo.colorDecorators,lightbulbEnabled:e.contribInfo.lightbulbEnabled,codeActionsOnSave:e.contribInfo.codeActionsOnSave,codeActionsOnSaveTimeout:e.contribInfo.codeActionsOnSaveTimeout}}},e.createInternalEditorOptions=function(e,t){var o;o="auto"===t.accessibilitySupport?e.accessibilitySupport:"on"===t.accessibilitySupport?2:1;var n,i=this._tweakValidatedOptions(t,o);"string"==typeof i.lineDecorationsWidth&&/^\d+(\.\d+)?ch$/.test(i.lineDecorationsWidth)?n=parseFloat(i.lineDecorationsWidth.substr(0,i.lineDecorationsWidth.length-2))*e.fontInfo.typicalHalfwidthCharacterWidth:n=C(i.lineDecorationsWidth,0,0,1e3);i.contribInfo.folding&&(n+=16);var r=O.compute({outerWidth:e.outerWidth,outerHeight:e.outerHeight,showGlyphMargin:i.viewInfo.glyphMargin,lineHeight:e.fontInfo.lineHeight,showLineNumbers:0!==i.viewInfo.renderLineNumbers,lineNumbersMinChars:i.lineNumbersMinChars,lineNumbersDigitCount:e.lineNumbersDigitCount,lineDecorationsWidth:n,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,verticalScrollbarWidth:i.viewInfo.scrollbar.verticalScrollbarSize,horizontalScrollbarHeight:i.viewInfo.scrollbar.horizontalScrollbarSize,scrollbarArrowSize:i.viewInfo.scrollbar.arrowSize,verticalScrollbarHasArrows:i.viewInfo.scrollbar.verticalHasArrows,minimap:i.viewInfo.minimap.enabled,minimapSide:i.viewInfo.minimap.side,minimapRenderCharacters:i.viewInfo.minimap.renderCharacters,minimapMaxColumn:i.viewInfo.minimap.maxColumn,pixelRatio:e.pixelRatio}),s=null,a=i.wordWrap,l=i.wordWrapColumn,u=i.wordWrapMinified;s=2===o?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1}:u&&e.isDominatedByLongLines?{isWordWrapMinified:!0,isViewportWrapping:!0,wrappingColumn:Math.max(1,r.viewportColumn)}:"on"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.max(1,r.viewportColumn)}:"bounded"===a?{isWordWrapMinified:!1,isViewportWrapping:!0,wrappingColumn:Math.min(Math.max(1,r.viewportColumn),l)}:"wordWrapColumn"===a?{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:l}:{isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1};var c={inDiffEditor:i.inDiffEditor,isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn,wrappingIndent:i.wrappingIndent,wordWrapBreakBeforeCharacters:i.wordWrapBreakBeforeCharacters,wordWrapBreakAfterCharacters:i.wordWrapBreakAfterCharacters,wordWrapBreakObtrusiveCharacters:i.wordWrapBreakObtrusiveCharacters},h="monaco-editor";return i.viewInfo.extraEditorClassName&&(h+=" "+i.viewInfo.extraEditorClassName),e.extraEditorClassName&&(h+=" "+e.extraEditorClassName),i.viewInfo.fontLigatures&&(h+=" enable-ligatures"),"default"===i.mouseStyle?h+=" mouse-default":"copy"===i.mouseStyle&&(h+=" mouse-copy"),new _({canUseLayerHinting:!i.disableLayerHinting,pixelRatio:e.pixelRatio,editorClassName:h,lineHeight:e.fontInfo.lineHeight,readOnly:i.readOnly,accessibilitySupport:o,multiCursorModifier:i.multiCursorModifier,multiCursorMergeOverlapping:i.multiCursorMergeOverlapping,wordSeparators:i.wordSeparators,autoClosingBrackets:i.autoClosingBrackets,autoIndent:i.autoIndent,useTabStops:i.useTabStops,tabFocusMode:!!i.readOnly||e.tabFocusMode,dragAndDrop:i.dragAndDrop,emptySelectionClipboard:i.emptySelectionClipboard&&e.emptySelectionClipboard,layoutInfo:r,fontInfo:e.fontInfo,viewInfo:i.viewInfo,wrappingInfo:c,contribInfo:i.contribInfo,showUnused:i.showUnused})},e}(),O=function(){function e(){}return e.compute=function(e){var t=0|e.outerWidth,o=0|e.outerHeight,i=e.showGlyphMargin,r=0|e.lineHeight,s=e.showLineNumbers,a=0|e.lineNumbersMinChars,l=0|e.lineNumbersDigitCount,u=0|e.lineDecorationsWidth,c=e.typicalHalfwidthCharacterWidth,h=e.maxDigitWidth,d=0|e.verticalScrollbarWidth,g=e.verticalScrollbarHasArrows,p=0|e.scrollbarArrowSize,f=0|e.horizontalScrollbarHeight,m=e.minimap,_=e.minimapSide,y=e.minimapRenderCharacters,v=0|e.minimapMaxColumn,b=e.pixelRatio,E=0;if(s){var C=Math.max(l,a);E=Math.round(C*h)}var S=0;i&&(S=r);var T,w,k,O,R=0,N=R+S,L=N+E,I=L+u,D=t-S-E-u;if(m){var A=void 0;b>=2?(T=y?n.Large:n.LargeBlocks,A=2/b):(T=y?n.Small:n.SmallBlocks,A=1/b),(k=Math.max(0,Math.floor((D-d-2)*A/(c+A))))/A>v&&(k=Math.floor(v*A)),O=D-k,"left"===_?(w=0,R+=k,N+=k,L+=k,I+=k):w=t-k-d}else w=0,k=0,T=n.None,O=D;var P=g?p:0;return{width:t,height:o,glyphMarginLeft:R,glyphMarginWidth:S,glyphMarginHeight:o,lineNumbersLeft:N,lineNumbersWidth:E,lineNumbersHeight:o,decorationsLeft:L,decorationsWidth:u,decorationsHeight:o,contentLeft:I,contentWidth:O,contentHeight:o,renderMinimap:T,minimapLeft:w,minimapWidth:k,viewportColumn:Math.max(1,Math.floor((O-d-2)/c)),verticalScrollbarWidth:d,horizontalScrollbarHeight:f,overviewRuler:{top:P,width:d,height:o-2*P,right:0}}},e}(),R={fontFamily:l.d?"Menlo, Monaco, 'Courier New', monospace":l.c?"'Droid Sans Mono', 'monospace', monospace, 'Droid Sans Fallback'":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:l.d?12:14,lineHeight:0,letterSpacing:0},N={tabSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0},L={inDiffEditor:!1,wordSeparators:c.b,lineNumbersMinChars:5,lineDecorationsWidth:10,readOnly:!1,mouseStyle:"text",disableLayerHinting:!1,automaticLayout:!1,wordWrap:"off",wordWrapColumn:80,wordWrapMinified:!0,wrappingIndent:i.Same,wordWrapBreakBeforeCharacters:"([{‘“〈《「『【〔([{「£¥$£¥++",wordWrapBreakAfterCharacters:" \t})]?|&,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」",wordWrapBreakObtrusiveCharacters:".",autoClosingBrackets:!0,autoIndent:!0,dragAndDrop:!0,emptySelectionClipboard:!0,useTabStops:!0,multiCursorModifier:"altKey",multiCursorMergeOverlapping:!0,accessibilitySupport:"auto",showUnused:!0,viewInfo:{extraEditorClassName:"",disableMonospaceOptimizations:!1,rulers:[],ariaLabel:a.a("editorViewAccessibleLabel","Editor content"),renderLineNumbers:1,renderCustomLineNumbers:null,selectOnLineNumbers:!0,glyphMargin:!0,revealHorizontalRightPadding:30,roundedSelection:!0,overviewRulerLanes:2,overviewRulerBorder:!0,cursorBlinking:r.Blink,mouseWheelZoom:!1,cursorStyle:s.Line,cursorWidth:0,hideCursorInOverviewRuler:!1,scrollBeyondLastLine:!0,scrollBeyondLastColumn:5,smoothScrolling:!1,stopRenderingLineAfter:1e4,renderWhitespace:"none",renderControlCharacters:!1,fontLigatures:!1,renderIndentGuides:!0,highlightActiveIndentGuide:!0,renderLineHighlight:"line",scrollbar:{vertical:u.b.Auto,horizontal:u.b.Auto,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:10,horizontalSliderSize:10,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,mouseWheelScrollSensitivity:1},minimap:{enabled:!0,side:"right",showSlider:"mouseover",renderCharacters:!0,maxColumn:120},fixedOverflowWidgets:!1},contribInfo:{selectionClipboard:!0,hover:{enabled:!0,delay:300,sticky:!0},links:!0,contextmenu:!0,quickSuggestions:{other:!0,comments:!1,strings:!1},quickSuggestionsDelay:10,parameterHints:!0,iconsInSuggestions:!0,formatOnType:!1,formatOnPaste:!1,suggestOnTriggerCharacters:!0,acceptSuggestionOnEnter:"on",acceptSuggestionOnCommitCharacter:!0,wordBasedSuggestions:!0,suggestSelection:"recentlyUsed",suggestFontSize:0,suggestLineHeight:0,suggest:{filterGraceful:!0,snippets:"inline",snippetsPreventQuickSuggestions:!0},selectionHighlight:!0,occurrencesHighlight:!0,codeLens:!0,folding:!0,foldingStrategy:"auto",showFoldingControls:"mouseover",matchBrackets:!0,find:{seedSearchStringFromSelection:!0,autoFindInSelection:!1,globalFindClipboard:!1},colorDecorators:!0,lightbulbEnabled:!0,codeActionsOnSave:{},codeActionsOnSaveTimeout:750}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(1),i=function(){function e(e){this.domNode=e,this._maxWidth=-1,this._width=-1,this._height=-1,this._top=-1,this._left=-1,this._bottom=-1,this._right=-1,this._fontFamily="",this._fontWeight="",this._fontSize=-1,this._lineHeight=-1,this._letterSpacing=-100,this._className="",this._display="",this._position="",this._visibility="",this._layerHint=!1}return e.prototype.setMaxWidth=function(e){this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth+"px")},e.prototype.setWidth=function(e){this._width!==e&&(this._width=e,this.domNode.style.width=this._width+"px")},e.prototype.setHeight=function(e){this._height!==e&&(this._height=e,this.domNode.style.height=this._height+"px")},e.prototype.setTop=function(e){this._top!==e&&(this._top=e,this.domNode.style.top=this._top+"px")},e.prototype.unsetTop=function(){-1!==this._top&&(this._top=-1,this.domNode.style.top="")},e.prototype.setLeft=function(e){this._left!==e&&(this._left=e,this.domNode.style.left=this._left+"px")},e.prototype.setBottom=function(e){this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom+"px")},e.prototype.setRight=function(e){this._right!==e&&(this._right=e,this.domNode.style.right=this._right+"px")},e.prototype.setFontFamily=function(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)},e.prototype.setFontWeight=function(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)},e.prototype.setFontSize=function(e){this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize+"px")},e.prototype.setLineHeight=function(e){this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight+"px")},e.prototype.setLetterSpacing=function(e){this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing+"px")},e.prototype.setClassName=function(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)},e.prototype.toggleClassName=function(e,t){n.N(this.domNode,e,t),this._className=this.domNode.className},e.prototype.setDisplay=function(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)},e.prototype.setPosition=function(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)},e.prototype.setVisibility=function(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)},e.prototype.setLayerHinting=function(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.willChange=this._layerHint?"transform":"auto")},e.prototype.setAttribute=function(e,t){this.domNode.setAttribute(e,t)},e.prototype.removeAttribute=function(e){this.domNode.removeAttribute(e)},e.prototype.appendChild=function(e){this.domNode.appendChild(e.domNode)},e.prototype.removeChild=function(e){this.domNode.removeChild(e.domNode)},e}();function r(e){return new i(e)}},function(e,t,o){"use strict";o.d(t,"o",(function(){return a})),o.d(t,"p",(function(){return l})),o.d(t,"g",(function(){return h})),o.d(t,"f",(function(){return d})),o.d(t,"l",(function(){return p})),o.d(t,"a",(function(){return f})),o.d(t,"q",(function(){return m})),o.d(t,"b",(function(){return y})),o.d(t,"s",(function(){return v})),o.d(t,"e",(function(){return b})),o.d(t,"c",(function(){return E})),o.d(t,"d",(function(){return C})),o.d(t,"r",(function(){return S})),o.d(t,"i",(function(){return w})),o.d(t,"h",(function(){return k})),o.d(t,"w",(function(){return O})),o.d(t,"v",(function(){return R})),o.d(t,"n",(function(){return N})),o.d(t,"m",(function(){return L})),o.d(t,"k",(function(){return I})),o.d(t,"j",(function(){return D})),o.d(t,"t",(function(){return A})),o.d(t,"u",(function(){return P})),o.d(t,"x",(function(){return M})),o.d(t,"z",(function(){return x})),o.d(t,"y",(function(){return B}));var n=o(0),i=o(7),r=o(19),s=o(14),a=Object(i.kb)("editor.lineHighlightBackground",{dark:null,light:null,hc:null},n.a("lineHighlight","Background color for the highlight of line at the cursor position.")),l=Object(i.kb)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hc:"#f38518"},n.a("lineHighlightBorderBox","Background color for the border around the line at the cursor position.")),u=Object(i.kb)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hc:null},n.a("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque to not hide underlying decorations."),!0),c=Object(i.kb)("editor.rangeHighlightBorder",{dark:null,light:null,hc:i.b},n.a("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0),h=Object(i.kb)("editorCursor.foreground",{dark:"#AEAFAD",light:s.a.black,hc:s.a.white},n.a("caret","Color of the editor cursor.")),d=Object(i.kb)("editorCursor.background",null,n.a("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),g=Object(i.kb)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hc:"#e3e4e229"},n.a("editorWhitespaces","Color of whitespace characters in the editor.")),p=Object(i.kb)("editorIndentGuide.background",{dark:g,light:g,hc:g},n.a("editorIndentGuides","Color of the editor indentation guides.")),f=Object(i.kb)("editorIndentGuide.activeBackground",{dark:g,light:g,hc:g},n.a("editorActiveIndentGuide","Color of the active editor indentation guides.")),m=Object(i.kb)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hc:s.a.white},n.a("editorLineNumbers","Color of editor line numbers.")),_=Object(i.kb)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hc:i.b},n.a("editorActiveLineNumber","Color of editor active line number"),!1,n.a("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead.")),y=Object(i.kb)("editorLineNumber.activeForeground",{dark:_,light:_,hc:_},n.a("editorActiveLineNumber","Color of editor active line number")),v=Object(i.kb)("editorRuler.foreground",{dark:"#5A5A5A",light:s.a.lightgrey,hc:s.a.white},n.a("editorRuler","Color of the editor rulers.")),b=Object(i.kb)("editorCodeLens.foreground",{dark:"#999999",light:"#999999",hc:"#999999"},n.a("editorCodeLensForeground","Foreground color of editor code lenses")),E=Object(i.kb)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hc:"#0064001a"},n.a("editorBracketMatchBackground","Background color behind matching brackets")),C=Object(i.kb)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hc:"#fff"},n.a("editorBracketMatchBorder","Color for matching brackets boxes")),S=Object(i.kb)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hc:"#7f7f7f4d"},n.a("editorOverviewRulerBorder","Color of the overview ruler border.")),T=Object(i.kb)("editorGutter.background",{dark:i.n,light:i.n,hc:i.n},n.a("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),w=Object(i.kb)("editorError.foreground",{dark:"#ea4646",light:"#d60a0a",hc:null},n.a("errorForeground","Foreground color of error squigglies in the editor.")),k=Object(i.kb)("editorError.border",{dark:null,light:null,hc:s.a.fromHex("#E47777").transparent(.8)},n.a("errorBorder","Border color of error squigglies in the editor.")),O=Object(i.kb)("editorWarning.foreground",{dark:"#4d9e4d",light:"#117711",hc:null},n.a("warningForeground","Foreground color of warning squigglies in the editor.")),R=Object(i.kb)("editorWarning.border",{dark:null,light:null,hc:s.a.fromHex("#71B771").transparent(.8)},n.a("warningBorder","Border color of warning squigglies in the editor.")),N=Object(i.kb)("editorInfo.foreground",{dark:"#008000",light:"#008000",hc:null},n.a("infoForeground","Foreground color of info squigglies in the editor.")),L=Object(i.kb)("editorInfo.border",{dark:null,light:null,hc:s.a.fromHex("#71B771").transparent(.8)},n.a("infoBorder","Border color of info squigglies in the editor.")),I=Object(i.kb)("editorHint.foreground",{dark:s.a.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hc:null},n.a("hintForeground","Foreground color of hint squigglies in the editor.")),D=Object(i.kb)("editorHint.border",{dark:null,light:null,hc:s.a.fromHex("#eeeeee").transparent(.8)},n.a("hintBorder","Border color of hint squigglies in the editor.")),A=Object(i.kb)("editorUnnecessaryCode.border",{dark:null,light:null,hc:s.a.fromHex("#fff").transparent(.8)},n.a("unnecessaryCodeBorder","Border of unnecessary code in the editor.")),P=Object(i.kb)("editorUnnecessaryCode.opacity",{dark:s.a.fromHex("#000a"),light:s.a.fromHex("#0007"),hc:null},n.a("unnecessaryCodeOpacity","Opacity of unnecessary code in the editor.")),M=Object(i.kb)("editorOverviewRuler.errorForeground",{dark:new s.a(new s.c(255,18,18,.7)),light:new s.a(new s.c(255,18,18,.7)),hc:new s.a(new s.c(255,50,50,1))},n.a("overviewRuleError","Overview ruler marker color for errors.")),x=Object(i.kb)("editorOverviewRuler.warningForeground",{dark:new s.a(new s.c(18,136,18,.7)),light:new s.a(new s.c(18,136,18,.7)),hc:new s.a(new s.c(50,255,50,1))},n.a("overviewRuleWarning","Overview ruler marker color for warnings.")),B=Object(i.kb)("editorOverviewRuler.infoForeground",{dark:new s.a(new s.c(18,18,136,.7)),light:new s.a(new s.c(18,18,136,.7)),hc:new s.a(new s.c(50,50,255,1))},n.a("overviewRuleInfo","Overview ruler marker color for infos."));Object(r.e)((function(e,t){var o=e.getColor(i.n);o&&t.addRule(".monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: "+o+"; }");var n=e.getColor(i.u);n&&t.addRule(".monaco-editor, .monaco-editor .inputarea.ime-input { color: "+n+"; }");var r=e.getColor(T);r&&t.addRule(".monaco-editor .margin { background-color: "+r+"; }");var s=e.getColor(u);s&&t.addRule(".monaco-editor .rangeHighlight { background-color: "+s+"; }");var a=e.getColor(c);a&&t.addRule(".monaco-editor .rangeHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+a+"; }");var l=e.getColor(g);l&&t.addRule(".vs-whitespace { color: "+l+" !important; }")}))},function(e,t,o){"use strict";o.d(t,"c",(function(){return i})),o.d(t,"d",(function(){return r})),o.d(t,"g",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"e",(function(){return u})),o.d(t,"b",(function(){return c})),o.d(t,"f",(function(){return h}));var n=o(21);function i(e){if(!e||"object"!=typeof e)return e;if(e instanceof RegExp)return e;var t=Array.isArray(e)?[]:{};return Object.keys(e).forEach((function(o){e[o]&&"object"==typeof e[o]?t[o]=i(e[o]):t[o]=e[o]})),t}function r(e){if(!e||"object"!=typeof e)return e;for(var t=[e];t.length>0;){var o=t.shift();for(var n in Object.freeze(o),o)if(s.call(o,n)){var i=o[n];"object"!=typeof i||Object.isFrozen(i)||t.push(i)}}return e}var s=Object.prototype.hasOwnProperty;function a(e,t,o){return void 0===o&&(o=!0),Object(n.g)(e)?(Object(n.g)(t)&&Object.keys(t).forEach((function(i){i in e?o&&(Object(n.g)(e[i])&&Object(n.g)(t[i])?a(e[i],t[i],o):e[i]=t[i]):e[i]=t[i]})),e):t}function l(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return t.forEach((function(t){return Object.keys(t).forEach((function(o){return e[o]=t[o]}))})),e}function u(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(typeof e!=typeof t)return!1;if("object"!=typeof e)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;var o,n;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(o=0;o<e.length;o++)if(!u(e[o],t[o]))return!1}else{var i=[];for(n in e)i.push(n);i.sort();var r=[];for(n in t)r.push(n);if(r.sort(),!u(i,r))return!1;for(o=0;o<i.length;o++)if(!u(e[i[o]],t[i[o]]))return!1}return!0}function c(e,t){void 0===t&&(t=!1),t&&(e=e.map((function(e){return e.toLowerCase()})));var o=function(e){for(var t={},o=0;o<e.length;++o)t[e[o]]=!0;return t}(e);return t?function(e){return void 0!==o[e.toLowerCase()]&&o.hasOwnProperty(e.toLowerCase())}:function(e){return void 0!==o[e]&&o.hasOwnProperty(e)}}function h(e,t,o){void 0===o&&(o=null);var n=t(e);return void 0===n?o:n}},function(e,t,o){"use strict";(function(e,o){
 /*!
  * Vue.js v2.6.10
  * (c) 2014-2019 Evan You
  * Released under the MIT License.
  */
-var n=Object.freeze({});function i(e){return null==e}function r(e){return null!=e}function s(e){return!0===e}function a(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function l(e){return null!==e&&"object"==typeof e}var u=Object.prototype.toString;function c(e){return"[object Object]"===u.call(e)}function h(e){return"[object RegExp]"===u.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function g(e){return r(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||c(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var o=Object.create(null),n=e.split(","),i=0;i<n.length;i++)o[n[i]]=!0;return t?function(e){return o[e.toLowerCase()]}:function(e){return o[e]}}m("slot,component",!0);var _=m("key,ref,slot,slot-scope,is");function y(e,t){if(e.length){var o=e.indexOf(t);if(o>-1)return e.splice(o,1)}}var v=Object.prototype.hasOwnProperty;function b(e,t){return v.call(e,t)}function E(e){var t=Object.create(null);return function(o){return t[o]||(t[o]=e(o))}}var C=/-(\w)/g,S=E((function(e){return e.replace(C,(function(e,t){return t?t.toUpperCase():""}))})),T=E((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),w=/\B([A-Z])/g,k=E((function(e){return e.replace(w,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function o(o){var n=arguments.length;return n?n>1?e.apply(t,arguments):e.call(t,o):e.call(t)}return o._length=e.length,o};function R(e,t){t=t||0;for(var o=e.length-t,n=new Array(o);o--;)n[o]=e[o+t];return n}function L(e,t){for(var o in t)e[o]=t[o];return e}function N(e){for(var t={},o=0;o<e.length;o++)e[o]&&L(t,e[o]);return t}function I(e,t,o){}var D=function(e,t,o){return!1},A=function(e){return e};function P(e,t){if(e===t)return!0;var o=l(e),n=l(t);if(!o||!n)return!o&&!n&&String(e)===String(t);try{var i=Array.isArray(e),r=Array.isArray(t);if(i&&r)return e.length===t.length&&e.every((function(e,o){return P(e,t[o])}));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||r)return!1;var s=Object.keys(e),a=Object.keys(t);return s.length===a.length&&s.every((function(o){return P(e[o],t[o])}))}catch(e){return!1}}function x(e,t){for(var o=0;o<e.length;o++)if(P(e[o],t))return o;return-1}function M(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var B="data-server-rendered",F=["component","directive","filter"],H=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],U={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:D,isReservedAttr:D,isUnknownElement:D,getTagNamespace:I,parsePlatformTagName:A,mustUseProp:D,async:!0,_lifecycleHooks:H},V=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function W(e,t,o,n){Object.defineProperty(e,t,{value:o,enumerable:!!n,writable:!0,configurable:!0})}var j=new RegExp("[^"+V.source+".$_\\d]");var G,z="__proto__"in{},K="undefined"!=typeof window,Y="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,X=Y&&WXEnvironment.platform.toLowerCase(),q=K&&window.navigator.userAgent.toLowerCase(),$=q&&/msie|trident/.test(q),J=q&&q.indexOf("msie 9.0")>0,Z=q&&q.indexOf("edge/")>0,Q=(q&&q.indexOf("android"),q&&/iphone|ipad|ipod|ios/.test(q)||"ios"===X),ee=(q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q),q&&q.match(/firefox\/(\d+)/)),te={}.watch,oe=!1;if(K)try{var ne={};Object.defineProperty(ne,"passive",{get:function(){oe=!0}}),window.addEventListener("test-passive",null,ne)}catch(e){}var ie=function(){return void 0===G&&(G=!K&&!Y&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),G},re=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"==typeof e&&/native code/.test(e.toString())}var ae,le="undefined"!=typeof Symbol&&se(Symbol)&&"undefined"!=typeof Reflect&&se(Reflect.ownKeys);ae="undefined"!=typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=I,ce=0,he=function(){this.id=ce++,this.subs=[]};he.prototype.addSub=function(e){this.subs.push(e)},he.prototype.removeSub=function(e){y(this.subs,e)},he.prototype.depend=function(){he.target&&he.target.addDep(this)},he.prototype.notify=function(){var e=this.subs.slice();for(var t=0,o=e.length;t<o;t++)e[t].update()},he.target=null;var de=[];function ge(e){de.push(e),he.target=e}function pe(){de.pop(),he.target=de[de.length-1]}var fe=function(e,t,o,n,i,r,s,a){this.tag=e,this.data=t,this.children=o,this.text=n,this.elm=i,this.ns=void 0,this.context=r,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=a,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},me={child:{configurable:!0}};me.child.get=function(){return this.componentInstance},Object.defineProperties(fe.prototype,me);var _e=function(e){void 0===e&&(e="");var t=new fe;return t.text=e,t.isComment=!0,t};function ye(e){return new fe(void 0,void 0,void 0,String(e))}function ve(e){var t=new fe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var be=Array.prototype,Ee=Object.create(be);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var t=be[e];W(Ee,e,(function(){for(var o=[],n=arguments.length;n--;)o[n]=arguments[n];var i,r=t.apply(this,o),s=this.__ob__;switch(e){case"push":case"unshift":i=o;break;case"splice":i=o.slice(2)}return i&&s.observeArray(i),s.dep.notify(),r}))}));var Ce=Object.getOwnPropertyNames(Ee),Se=!0;function Te(e){Se=e}var we=function(e){this.value=e,this.dep=new he,this.vmCount=0,W(e,"__ob__",this),Array.isArray(e)?(z?function(e,t){e.__proto__=t}(e,Ee):function(e,t,o){for(var n=0,i=o.length;n<i;n++){var r=o[n];W(e,r,t[r])}}(e,Ee,Ce),this.observeArray(e)):this.walk(e)};function ke(e,t){var o;if(l(e)&&!(e instanceof fe))return b(e,"__ob__")&&e.__ob__ instanceof we?o=e.__ob__:Se&&!ie()&&(Array.isArray(e)||c(e))&&Object.isExtensible(e)&&!e._isVue&&(o=new we(e)),t&&o&&o.vmCount++,o}function Oe(e,t,o,n,i){var r=new he,s=Object.getOwnPropertyDescriptor(e,t);if(!s||!1!==s.configurable){var a=s&&s.get,l=s&&s.set;a&&!l||2!==arguments.length||(o=e[t]);var u=!i&&ke(o);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=a?a.call(e):o;return he.target&&(r.depend(),u&&(u.dep.depend(),Array.isArray(t)&&function e(t){for(var o=void 0,n=0,i=t.length;n<i;n++)(o=t[n])&&o.__ob__&&o.__ob__.dep.depend(),Array.isArray(o)&&e(o)}(t))),t},set:function(t){var n=a?a.call(e):o;t===n||t!=t&&n!=n||a&&!l||(l?l.call(e,t):o=t,u=!i&&ke(t),r.notify())}})}}function Re(e,t,o){if(Array.isArray(e)&&d(t))return e.length=Math.max(e.length,t),e.splice(t,1,o),o;if(t in e&&!(t in Object.prototype))return e[t]=o,o;var n=e.__ob__;return e._isVue||n&&n.vmCount?o:n?(Oe(n.value,t,o),n.dep.notify(),o):(e[t]=o,o)}function Le(e,t){if(Array.isArray(e)&&d(t))e.splice(t,1);else{var o=e.__ob__;e._isVue||o&&o.vmCount||b(e,t)&&(delete e[t],o&&o.dep.notify())}}we.prototype.walk=function(e){for(var t=Object.keys(e),o=0;o<t.length;o++)Oe(e,t[o])},we.prototype.observeArray=function(e){for(var t=0,o=e.length;t<o;t++)ke(e[t])};var Ne=U.optionMergeStrategies;function Ie(e,t){if(!t)return e;for(var o,n,i,r=le?Reflect.ownKeys(t):Object.keys(t),s=0;s<r.length;s++)"__ob__"!==(o=r[s])&&(n=e[o],i=t[o],b(e,o)?n!==i&&c(n)&&c(i)&&Ie(n,i):Re(e,o,i));return e}function De(e,t,o){return o?function(){var n="function"==typeof t?t.call(o,o):t,i="function"==typeof e?e.call(o,o):e;return n?Ie(n,i):i}:t?e?function(){return Ie("function"==typeof t?t.call(this,this):t,"function"==typeof e?e.call(this,this):e)}:t:e}function Ae(e,t){var o=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return o?function(e){for(var t=[],o=0;o<e.length;o++)-1===t.indexOf(e[o])&&t.push(e[o]);return t}(o):o}function Pe(e,t,o,n){var i=Object.create(e||null);return t?L(i,t):i}Ne.data=function(e,t,o){return o?De(e,t,o):t&&"function"!=typeof t?e:De(e,t)},H.forEach((function(e){Ne[e]=Ae})),F.forEach((function(e){Ne[e+"s"]=Pe})),Ne.watch=function(e,t,o,n){if(e===te&&(e=void 0),t===te&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var r in L(i,e),t){var s=i[r],a=t[r];s&&!Array.isArray(s)&&(s=[s]),i[r]=s?s.concat(a):Array.isArray(a)?a:[a]}return i},Ne.props=Ne.methods=Ne.inject=Ne.computed=function(e,t,o,n){if(!e)return t;var i=Object.create(null);return L(i,e),t&&L(i,t),i},Ne.provide=De;var xe=function(e,t){return void 0===t?e:t};function Me(e,t,o){if("function"==typeof t&&(t=t.options),function(e,t){var o=e.props;if(o){var n,i,r={};if(Array.isArray(o))for(n=o.length;n--;)"string"==typeof(i=o[n])&&(r[S(i)]={type:null});else if(c(o))for(var s in o)i=o[s],r[S(s)]=c(i)?i:{type:i};else 0;e.props=r}}(t),function(e,t){var o=e.inject;if(o){var n=e.inject={};if(Array.isArray(o))for(var i=0;i<o.length;i++)n[o[i]]={from:o[i]};else if(c(o))for(var r in o){var s=o[r];n[r]=c(s)?L({from:r},s):{from:s}}else 0}}(t),function(e){var t=e.directives;if(t)for(var o in t){var n=t[o];"function"==typeof n&&(t[o]={bind:n,update:n})}}(t),!t._base&&(t.extends&&(e=Me(e,t.extends,o)),t.mixins))for(var n=0,i=t.mixins.length;n<i;n++)e=Me(e,t.mixins[n],o);var r,s={};for(r in e)a(r);for(r in t)b(e,r)||a(r);function a(n){var i=Ne[n]||xe;s[n]=i(e[n],t[n],o,n)}return s}function Be(e,t,o,n){if("string"==typeof o){var i=e[t];if(b(i,o))return i[o];var r=S(o);if(b(i,r))return i[r];var s=T(r);return b(i,s)?i[s]:i[o]||i[r]||i[s]}}function Fe(e,t,o,n){var i=t[e],r=!b(o,e),s=o[e],a=Ve(Boolean,i.type);if(a>-1)if(r&&!b(i,"default"))s=!1;else if(""===s||s===k(e)){var l=Ve(String,i.type);(l<0||a<l)&&(s=!0)}if(void 0===s){s=function(e,t,o){if(!b(t,"default"))return;var n=t.default;0;if(e&&e.$options.propsData&&void 0===e.$options.propsData[o]&&void 0!==e._props[o])return e._props[o];return"function"==typeof n&&"Function"!==He(t.type)?n.call(e):n}(n,i,e);var u=Se;Te(!0),ke(s),Te(u)}return s}function He(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Ue(e,t){return He(e)===He(t)}function Ve(e,t){if(!Array.isArray(t))return Ue(t,e)?0:-1;for(var o=0,n=t.length;o<n;o++)if(Ue(t[o],e))return o;return-1}function We(e,t,o){ge();try{if(t)for(var n=t;n=n.$parent;){var i=n.$options.errorCaptured;if(i)for(var r=0;r<i.length;r++)try{if(!1===i[r].call(n,e,t,o))return}catch(e){Ge(e,n,"errorCaptured hook")}}Ge(e,t,o)}finally{pe()}}function je(e,t,o,n,i){var r;try{(r=o?e.apply(t,o):e.call(t))&&!r._isVue&&g(r)&&!r._handled&&(r.catch((function(e){return We(e,n,i+" (Promise/async)")})),r._handled=!0)}catch(e){We(e,n,i)}return r}function Ge(e,t,o){if(U.errorHandler)try{return U.errorHandler.call(null,e,t,o)}catch(t){t!==e&&ze(t,null,"config.errorHandler")}ze(e,t,o)}function ze(e,t,o){if(!K&&!Y||"undefined"==typeof console)throw e;console.error(e)}var Ke,Ye=!1,Xe=[],qe=!1;function $e(){qe=!1;var e=Xe.slice(0);Xe.length=0;for(var t=0;t<e.length;t++)e[t]()}if("undefined"!=typeof Promise&&se(Promise)){var Je=Promise.resolve();Ke=function(){Je.then($e),Q&&setTimeout(I)},Ye=!0}else if($||"undefined"==typeof MutationObserver||!se(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Ke=void 0!==o&&se(o)?function(){o($e)}:function(){setTimeout($e,0)};else{var Ze=1,Qe=new MutationObserver($e),et=document.createTextNode(String(Ze));Qe.observe(et,{characterData:!0}),Ke=function(){Ze=(Ze+1)%2,et.data=String(Ze)},Ye=!0}function tt(e,t){var o;if(Xe.push((function(){if(e)try{e.call(t)}catch(e){We(e,t,"nextTick")}else o&&o(t)})),qe||(qe=!0,Ke()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){o=e}))}var ot=new ae;function nt(e){!function e(t,o){var n,i;var r=Array.isArray(t);if(!r&&!l(t)||Object.isFrozen(t)||t instanceof fe)return;if(t.__ob__){var s=t.__ob__.dep.id;if(o.has(s))return;o.add(s)}if(r)for(n=t.length;n--;)e(t[n],o);else for(i=Object.keys(t),n=i.length;n--;)e(t[i[n]],o)}(e,ot),ot.clear()}var it=E((function(e){var t="&"===e.charAt(0),o="~"===(e=t?e.slice(1):e).charAt(0),n="!"===(e=o?e.slice(1):e).charAt(0);return{name:e=n?e.slice(1):e,once:o,capture:n,passive:t}}));function rt(e,t){function o(){var e=arguments,n=o.fns;if(!Array.isArray(n))return je(n,null,arguments,t,"v-on handler");for(var i=n.slice(),r=0;r<i.length;r++)je(i[r],null,e,t,"v-on handler")}return o.fns=e,o}function st(e,t,o,n,r,a){var l,u,c,h;for(l in e)u=e[l],c=t[l],h=it(l),i(u)||(i(c)?(i(u.fns)&&(u=e[l]=rt(u,a)),s(h.once)&&(u=e[l]=r(h.name,u,h.capture)),o(h.name,u,h.capture,h.passive,h.params)):u!==c&&(c.fns=u,e[l]=c));for(l in t)i(e[l])&&n((h=it(l)).name,t[l],h.capture)}function at(e,t,o){var n;e instanceof fe&&(e=e.data.hook||(e.data.hook={}));var a=e[t];function l(){o.apply(this,arguments),y(n.fns,l)}i(a)?n=rt([l]):r(a.fns)&&s(a.merged)?(n=a).fns.push(l):n=rt([a,l]),n.merged=!0,e[t]=n}function lt(e,t,o,n,i){if(r(t)){if(b(t,o))return e[o]=t[o],i||delete t[o],!0;if(b(t,n))return e[o]=t[n],i||delete t[n],!0}return!1}function ut(e){return a(e)?[ye(e)]:Array.isArray(e)?function e(t,o){var n=[];var l,u,c,h;for(l=0;l<t.length;l++)i(u=t[l])||"boolean"==typeof u||(c=n.length-1,h=n[c],Array.isArray(u)?u.length>0&&(ct((u=e(u,(o||"")+"_"+l))[0])&&ct(h)&&(n[c]=ye(h.text+u[0].text),u.shift()),n.push.apply(n,u)):a(u)?ct(h)?n[c]=ye(h.text+u):""!==u&&n.push(ye(u)):ct(u)&&ct(h)?n[c]=ye(h.text+u.text):(s(t._isVList)&&r(u.tag)&&i(u.key)&&r(o)&&(u.key="__vlist"+o+"_"+l+"__"),n.push(u)));return n}(e):void 0}function ct(e){return r(e)&&r(e.text)&&!1===e.isComment}function ht(e,t){if(e){for(var o=Object.create(null),n=le?Reflect.ownKeys(e):Object.keys(e),i=0;i<n.length;i++){var r=n[i];if("__ob__"!==r){for(var s=e[r].from,a=t;a;){if(a._provided&&b(a._provided,s)){o[r]=a._provided[s];break}a=a.$parent}if(!a)if("default"in e[r]){var l=e[r].default;o[r]="function"==typeof l?l.call(t):l}else 0}}return o}}function dt(e,t){if(!e||!e.length)return{};for(var o={},n=0,i=e.length;n<i;n++){var r=e[n],s=r.data;if(s&&s.attrs&&s.attrs.slot&&delete s.attrs.slot,r.context!==t&&r.fnContext!==t||!s||null==s.slot)(o.default||(o.default=[])).push(r);else{var a=s.slot,l=o[a]||(o[a]=[]);"template"===r.tag?l.push.apply(l,r.children||[]):l.push(r)}}for(var u in o)o[u].every(gt)&&delete o[u];return o}function gt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function pt(e,t,o){var i,r=Object.keys(t).length>0,s=e?!!e.$stable:!r,a=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==n&&a===o.$key&&!r&&!o.$hasNormal)return o;for(var l in i={},e)e[l]&&"$"!==l[0]&&(i[l]=ft(t,l,e[l]))}else i={};for(var u in t)u in i||(i[u]=mt(t,u));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",s),W(i,"$key",a),W(i,"$hasNormal",r),i}function ft(e,t,o){var n=function(){var e=arguments.length?o.apply(null,arguments):o({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:ut(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return o.proxy&&Object.defineProperty(e,t,{get:n,enumerable:!0,configurable:!0}),n}function mt(e,t){return function(){return e[t]}}function _t(e,t){var o,n,i,s,a;if(Array.isArray(e)||"string"==typeof e)for(o=new Array(e.length),n=0,i=e.length;n<i;n++)o[n]=t(e[n],n);else if("number"==typeof e)for(o=new Array(e),n=0;n<e;n++)o[n]=t(n+1,n);else if(l(e))if(le&&e[Symbol.iterator]){o=[];for(var u=e[Symbol.iterator](),c=u.next();!c.done;)o.push(t(c.value,o.length)),c=u.next()}else for(s=Object.keys(e),o=new Array(s.length),n=0,i=s.length;n<i;n++)a=s[n],o[n]=t(e[a],a,n);return r(o)||(o=[]),o._isVList=!0,o}function yt(e,t,o,n){var i,r=this.$scopedSlots[e];r?(o=o||{},n&&(o=L(L({},n),o)),i=r(o)||t):i=this.$slots[e]||t;var s=o&&o.slot;return s?this.$createElement("template",{slot:s},i):i}function vt(e){return Be(this.$options,"filters",e)||A}function bt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Et(e,t,o,n,i){var r=U.keyCodes[t]||o;return i&&n&&!U.keyCodes[t]?bt(i,n):r?bt(r,e):n?k(n)!==t:void 0}function Ct(e,t,o,n,i){if(o)if(l(o)){var r;Array.isArray(o)&&(o=N(o));var s=function(s){if("class"===s||"style"===s||_(s))r=e;else{var a=e.attrs&&e.attrs.type;r=n||U.mustUseProp(t,a,s)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var l=S(s),u=k(s);l in r||u in r||(r[s]=o[s],i&&((e.on||(e.on={}))["update:"+s]=function(e){o[s]=e}))};for(var a in o)s(a)}else;return e}function St(e,t){var o=this._staticTrees||(this._staticTrees=[]),n=o[e];return n&&!t?n:(wt(n=o[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),n)}function Tt(e,t,o){return wt(e,"__once__"+t+(o?"_"+o:""),!0),e}function wt(e,t,o){if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]&&"string"!=typeof e[n]&&kt(e[n],t+"_"+n,o);else kt(e,t,o)}function kt(e,t,o){e.isStatic=!0,e.key=t,e.isOnce=o}function Ot(e,t){if(t)if(c(t)){var o=e.on=e.on?L({},e.on):{};for(var n in t){var i=o[n],r=t[n];o[n]=i?[].concat(i,r):r}}else;return e}function Rt(e,t,o,n){t=t||{$stable:!o};for(var i=0;i<e.length;i++){var r=e[i];Array.isArray(r)?Rt(r,t,o):r&&(r.proxy&&(r.fn.proxy=!0),t[r.key]=r.fn)}return n&&(t.$key=n),t}function Lt(e,t){for(var o=0;o<t.length;o+=2){var n=t[o];"string"==typeof n&&n&&(e[t[o]]=t[o+1])}return e}function Nt(e,t){return"string"==typeof e?t+e:e}function It(e){e._o=Tt,e._n=f,e._s=p,e._l=_t,e._t=yt,e._q=P,e._i=x,e._m=St,e._f=vt,e._k=Et,e._b=Ct,e._v=ye,e._e=_e,e._u=Rt,e._g=Ot,e._d=Lt,e._p=Nt}function Dt(e,t,o,i,r){var a,l=this,u=r.options;b(i,"_uid")?(a=Object.create(i))._original=i:(a=i,i=i._original);var c=s(u._compiled),h=!c;this.data=e,this.props=t,this.children=o,this.parent=i,this.listeners=e.on||n,this.injections=ht(u.inject,i),this.slots=function(){return l.$slots||pt(e.scopedSlots,l.$slots=dt(o,i)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return pt(e.scopedSlots,this.slots())}}),c&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=pt(e.scopedSlots,this.$slots)),u._scopeId?this._c=function(e,t,o,n){var r=Vt(a,e,t,o,n,h);return r&&!Array.isArray(r)&&(r.fnScopeId=u._scopeId,r.fnContext=i),r}:this._c=function(e,t,o,n){return Vt(a,e,t,o,n,h)}}function At(e,t,o,n,i){var r=ve(e);return r.fnContext=o,r.fnOptions=n,t.slot&&((r.data||(r.data={})).slot=t.slot),r}function Pt(e,t){for(var o in t)e[S(o)]=t[o]}It(Dt.prototype);var xt={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;xt.prepatch(o,o)}else{(e.componentInstance=function(e,t){var o={_isComponent:!0,_parentVnode:e,parent:t},n=e.data.inlineTemplate;r(n)&&(o.render=n.render,o.staticRenderFns=n.staticRenderFns);return new e.componentOptions.Ctor(o)}(e,Jt)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var o=t.componentOptions;!function(e,t,o,i,r){0;var s=i.data.scopedSlots,a=e.$scopedSlots,l=!!(s&&!s.$stable||a!==n&&!a.$stable||s&&e.$scopedSlots.$key!==s.$key),u=!!(r||e.$options._renderChildren||l);e.$options._parentVnode=i,e.$vnode=i,e._vnode&&(e._vnode.parent=i);if(e.$options._renderChildren=r,e.$attrs=i.data.attrs||n,e.$listeners=o||n,t&&e.$options.props){Te(!1);for(var c=e._props,h=e.$options._propKeys||[],d=0;d<h.length;d++){var g=h[d],p=e.$options.props;c[g]=Fe(g,p,t,e)}Te(!0),e.$options.propsData=t}o=o||n;var f=e.$options._parentListeners;e.$options._parentListeners=o,$t(e,o,f),u&&(e.$slots=dt(r,i.context),e.$forceUpdate());0}(t.componentInstance=e.componentInstance,o.propsData,o.listeners,t,o.children)},insert:function(e){var t,o=e.context,n=e.componentInstance;n._isMounted||(n._isMounted=!0,to(n,"mounted")),e.data.keepAlive&&(o._isMounted?((t=n)._inactive=!1,no.push(t)):eo(n,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,o){if(o&&(t._directInactive=!0,Qt(t)))return;if(!t._inactive){t._inactive=!0;for(var n=0;n<t.$children.length;n++)e(t.$children[n]);to(t,"deactivated")}}(t,!0):t.$destroy())}},Mt=Object.keys(xt);function Bt(e,t,o,a,u){if(!i(e)){var c=o.$options._base;if(l(e)&&(e=c.extend(e)),"function"==typeof e){var h;if(i(e.cid)&&void 0===(e=function(e,t){if(s(e.error)&&r(e.errorComp))return e.errorComp;if(r(e.resolved))return e.resolved;var o=jt;o&&r(e.owners)&&-1===e.owners.indexOf(o)&&e.owners.push(o);if(s(e.loading)&&r(e.loadingComp))return e.loadingComp;if(o&&!r(e.owners)){var n=e.owners=[o],a=!0,u=null,c=null;o.$on("hook:destroyed",(function(){return y(n,o)}));var h=function(e){for(var t=0,o=n.length;t<o;t++)n[t].$forceUpdate();e&&(n.length=0,null!==u&&(clearTimeout(u),u=null),null!==c&&(clearTimeout(c),c=null))},d=M((function(o){e.resolved=Gt(o,t),a?n.length=0:h(!0)})),p=M((function(t){r(e.errorComp)&&(e.error=!0,h(!0))})),f=e(d,p);return l(f)&&(g(f)?i(e.resolved)&&f.then(d,p):g(f.component)&&(f.component.then(d,p),r(f.error)&&(e.errorComp=Gt(f.error,t)),r(f.loading)&&(e.loadingComp=Gt(f.loading,t),0===f.delay?e.loading=!0:u=setTimeout((function(){u=null,i(e.resolved)&&i(e.error)&&(e.loading=!0,h(!1))}),f.delay||200)),r(f.timeout)&&(c=setTimeout((function(){c=null,i(e.resolved)&&p(null)}),f.timeout)))),a=!1,e.loading?e.loadingComp:e.resolved}}(h=e,c)))return function(e,t,o,n,i){var r=_e();return r.asyncFactory=e,r.asyncMeta={data:t,context:o,children:n,tag:i},r}(h,t,o,a,u);t=t||{},To(e),r(t.model)&&function(e,t){var o=e.model&&e.model.prop||"value",n=e.model&&e.model.event||"input";(t.attrs||(t.attrs={}))[o]=t.model.value;var i=t.on||(t.on={}),s=i[n],a=t.model.callback;r(s)?(Array.isArray(s)?-1===s.indexOf(a):s!==a)&&(i[n]=[a].concat(s)):i[n]=a}(e.options,t);var d=function(e,t,o){var n=t.options.props;if(!i(n)){var s={},a=e.attrs,l=e.props;if(r(a)||r(l))for(var u in n){var c=k(u);lt(s,l,u,c,!0)||lt(s,a,u,c,!1)}return s}}(t,e);if(s(e.options.functional))return function(e,t,o,i,s){var a=e.options,l={},u=a.props;if(r(u))for(var c in u)l[c]=Fe(c,u,t||n);else r(o.attrs)&&Pt(l,o.attrs),r(o.props)&&Pt(l,o.props);var h=new Dt(o,l,s,i,e),d=a.render.call(null,h._c,h);if(d instanceof fe)return At(d,o,h.parent,a,h);if(Array.isArray(d)){for(var g=ut(d)||[],p=new Array(g.length),f=0;f<g.length;f++)p[f]=At(g[f],o,h.parent,a,h);return p}}(e,d,t,o,a);var p=t.on;if(t.on=t.nativeOn,s(e.options.abstract)){var f=t.slot;t={},f&&(t.slot=f)}!function(e){for(var t=e.hook||(e.hook={}),o=0;o<Mt.length;o++){var n=Mt[o],i=t[n],r=xt[n];i===r||i&&i._merged||(t[n]=i?Ft(r,i):r)}}(t);var m=e.options.name||u;return new fe("vue-component-"+e.cid+(m?"-"+m:""),t,void 0,void 0,void 0,o,{Ctor:e,propsData:d,listeners:p,tag:u,children:a},h)}}}function Ft(e,t){var o=function(o,n){e(o,n),t(o,n)};return o._merged=!0,o}var Ht=1,Ut=2;function Vt(e,t,o,n,u,c){return(Array.isArray(o)||a(o))&&(u=n,n=o,o=void 0),s(c)&&(u=Ut),function(e,t,o,n,a){if(r(o)&&r(o.__ob__))return _e();r(o)&&r(o.is)&&(t=o.is);if(!t)return _e();0;Array.isArray(n)&&"function"==typeof n[0]&&((o=o||{}).scopedSlots={default:n[0]},n.length=0);a===Ut?n=ut(n):a===Ht&&(n=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(n));var u,c;if("string"==typeof t){var h;c=e.$vnode&&e.$vnode.ns||U.getTagNamespace(t),u=U.isReservedTag(t)?new fe(U.parsePlatformTagName(t),o,n,void 0,void 0,e):o&&o.pre||!r(h=Be(e.$options,"components",t))?new fe(t,o,n,void 0,void 0,e):Bt(h,o,e,n,t)}else u=Bt(t,o,e,n);return Array.isArray(u)?u:r(u)?(r(c)&&function e(t,o,n){t.ns=o;"foreignObject"===t.tag&&(o=void 0,n=!0);if(r(t.children))for(var a=0,l=t.children.length;a<l;a++){var u=t.children[a];r(u.tag)&&(i(u.ns)||s(n)&&"svg"!==u.tag)&&e(u,o,n)}}(u,c),r(o)&&function(e){l(e.style)&&nt(e.style);l(e.class)&&nt(e.class)}(o),u):_e()}(e,t,o,n,u)}var Wt,jt=null;function Gt(e,t){return(e.__esModule||le&&"Module"===e[Symbol.toStringTag])&&(e=e.default),l(e)?t.extend(e):e}function zt(e){return e.isComment&&e.asyncFactory}function Kt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var o=e[t];if(r(o)&&(r(o.componentOptions)||zt(o)))return o}}function Yt(e,t){Wt.$on(e,t)}function Xt(e,t){Wt.$off(e,t)}function qt(e,t){var o=Wt;return function n(){var i=t.apply(null,arguments);null!==i&&o.$off(e,n)}}function $t(e,t,o){Wt=e,st(t,o||{},Yt,Xt,qt,e),Wt=void 0}var Jt=null;function Zt(e){var t=Jt;return Jt=e,function(){Jt=t}}function Qt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function eo(e,t){if(t){if(e._directInactive=!1,Qt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var o=0;o<e.$children.length;o++)eo(e.$children[o]);to(e,"activated")}}function to(e,t){ge();var o=e.$options[t],n=t+" hook";if(o)for(var i=0,r=o.length;i<r;i++)je(o[i],e,null,e,n);e._hasHookEvent&&e.$emit("hook:"+t),pe()}var oo=[],no=[],io={},ro=!1,so=!1,ao=0;var lo=0,uo=Date.now;if(K&&!$){var co=window.performance;co&&"function"==typeof co.now&&uo()>document.createEvent("Event").timeStamp&&(uo=function(){return co.now()})}function ho(){var e,t;for(lo=uo(),so=!0,oo.sort((function(e,t){return e.id-t.id})),ao=0;ao<oo.length;ao++)(e=oo[ao]).before&&e.before(),t=e.id,io[t]=null,e.run();var o=no.slice(),n=oo.slice();ao=oo.length=no.length=0,io={},ro=so=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,eo(e[t],!0)}(o),function(e){var t=e.length;for(;t--;){var o=e[t],n=o.vm;n._watcher===o&&n._isMounted&&!n._isDestroyed&&to(n,"updated")}}(n),re&&U.devtools&&re.emit("flush")}var go=0,po=function(e,t,o,n,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),n?(this.deep=!!n.deep,this.user=!!n.user,this.lazy=!!n.lazy,this.sync=!!n.sync,this.before=n.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=o,this.id=++go,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ae,this.newDepIds=new ae,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!j.test(e)){var t=e.split(".");return function(e){for(var o=0;o<t.length;o++){if(!e)return;e=e[t[o]]}return e}}}(t),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};po.prototype.get=function(){var e;ge(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;We(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&nt(e),pe(),this.cleanupDeps()}return e},po.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},po.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var o=this.depIds;this.depIds=this.newDepIds,this.newDepIds=o,this.newDepIds.clear(),o=this.deps,this.deps=this.newDeps,this.newDeps=o,this.newDeps.length=0},po.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==io[t]){if(io[t]=!0,so){for(var o=oo.length-1;o>ao&&oo[o].id>e.id;)o--;oo.splice(o+1,0,e)}else oo.push(e);ro||(ro=!0,tt(ho))}}(this)},po.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||l(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){We(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},po.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},po.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},po.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var fo={enumerable:!0,configurable:!0,get:I,set:I};function mo(e,t,o){fo.get=function(){return this[t][o]},fo.set=function(e){this[t][o]=e},Object.defineProperty(e,o,fo)}function _o(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var o=e.$options.propsData||{},n=e._props={},i=e.$options._propKeys=[];e.$parent&&Te(!1);var r=function(r){i.push(r);var s=Fe(r,t,o,e);Oe(n,r,s),r in e||mo(e,"_props",r)};for(var s in t)r(s);Te(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var o in t)e[o]="function"!=typeof t[o]?I:O(t[o],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;c(t=e._data="function"==typeof t?function(e,t){ge();try{return e.call(t,t)}catch(e){return We(e,t,"data()"),{}}finally{pe()}}(t,e):t||{})||(t={});var o=Object.keys(t),n=e.$options.props,i=(e.$options.methods,o.length);for(;i--;){var r=o[i];0,n&&b(n,r)||(s=void 0,36!==(s=(r+"").charCodeAt(0))&&95!==s&&mo(e,"_data",r))}var s;ke(t,!0)}(e):ke(e._data={},!0),t.computed&&function(e,t){var o=e._computedWatchers=Object.create(null),n=ie();for(var i in t){var r=t[i],s="function"==typeof r?r:r.get;0,n||(o[i]=new po(e,s||I,I,yo)),i in e||vo(e,i,r)}}(e,t.computed),t.watch&&t.watch!==te&&function(e,t){for(var o in t){var n=t[o];if(Array.isArray(n))for(var i=0;i<n.length;i++)Co(e,o,n[i]);else Co(e,o,n)}}(e,t.watch)}var yo={lazy:!0};function vo(e,t,o){var n=!ie();"function"==typeof o?(fo.get=n?bo(t):Eo(o),fo.set=I):(fo.get=o.get?n&&!1!==o.cache?bo(t):Eo(o.get):I,fo.set=o.set||I),Object.defineProperty(e,t,fo)}function bo(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),he.target&&t.depend(),t.value}}function Eo(e){return function(){return e.call(this,this)}}function Co(e,t,o,n){return c(o)&&(n=o,o=o.handler),"string"==typeof o&&(o=e[o]),e.$watch(t,o,n)}var So=0;function To(e){var t=e.options;if(e.super){var o=To(e.super);if(o!==e.superOptions){e.superOptions=o;var n=function(e){var t,o=e.options,n=e.sealedOptions;for(var i in o)o[i]!==n[i]&&(t||(t={}),t[i]=o[i]);return t}(e);n&&L(e.extendOptions,n),(t=e.options=Me(o,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function wo(e){this._init(e)}function ko(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var o=this,n=o.cid,i=e._Ctor||(e._Ctor={});if(i[n])return i[n];var r=e.name||o.options.name;var s=function(e){this._init(e)};return(s.prototype=Object.create(o.prototype)).constructor=s,s.cid=t++,s.options=Me(o.options,e),s.super=o,s.options.props&&function(e){var t=e.options.props;for(var o in t)mo(e.prototype,"_props",o)}(s),s.options.computed&&function(e){var t=e.options.computed;for(var o in t)vo(e.prototype,o,t[o])}(s),s.extend=o.extend,s.mixin=o.mixin,s.use=o.use,F.forEach((function(e){s[e]=o[e]})),r&&(s.options.components[r]=s),s.superOptions=o.options,s.extendOptions=e,s.sealedOptions=L({},s.options),i[n]=s,s}}function Oo(e){return e&&(e.Ctor.options.name||e.tag)}function Ro(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function Lo(e,t){var o=e.cache,n=e.keys,i=e._vnode;for(var r in o){var s=o[r];if(s){var a=Oo(s.componentOptions);a&&!t(a)&&No(o,r,n,i)}}}function No(e,t,o,n){var i=e[t];!i||n&&i.tag===n.tag||i.componentInstance.$destroy(),e[t]=null,y(o,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=So++,t._isVue=!0,e&&e._isComponent?function(e,t){var o=e.$options=Object.create(e.constructor.options),n=t._parentVnode;o.parent=t.parent,o._parentVnode=n;var i=n.componentOptions;o.propsData=i.propsData,o._parentListeners=i.listeners,o._renderChildren=i.children,o._componentTag=i.tag,t.render&&(o.render=t.render,o.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Me(To(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,o=t.parent;if(o&&!t.abstract){for(;o.$options.abstract&&o.$parent;)o=o.$parent;o.$children.push(e)}e.$parent=o,e.$root=o?o.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&$t(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,o=e.$vnode=t._parentVnode,i=o&&o.context;e.$slots=dt(t._renderChildren,i),e.$scopedSlots=n,e._c=function(t,o,n,i){return Vt(e,t,o,n,i,!1)},e.$createElement=function(t,o,n,i){return Vt(e,t,o,n,i,!0)};var r=o&&o.data;Oe(e,"$attrs",r&&r.attrs||n,null,!0),Oe(e,"$listeners",t._parentListeners||n,null,!0)}(t),to(t,"beforeCreate"),function(e){var t=ht(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(o){Oe(e,o,t[o])})),Te(!0))}(t),_o(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),to(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(wo),function(e){var t={get:function(){return this._data}},o={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",o),e.prototype.$set=Re,e.prototype.$delete=Le,e.prototype.$watch=function(e,t,o){if(c(t))return Co(this,e,t,o);(o=o||{}).user=!0;var n=new po(this,e,t,o);if(o.immediate)try{t.call(this,n.value)}catch(e){We(e,this,'callback for immediate watcher "'+n.expression+'"')}return function(){n.teardown()}}}(wo),function(e){var t=/^hook:/;e.prototype.$on=function(e,o){var n=this;if(Array.isArray(e))for(var i=0,r=e.length;i<r;i++)n.$on(e[i],o);else(n._events[e]||(n._events[e]=[])).push(o),t.test(e)&&(n._hasHookEvent=!0);return n},e.prototype.$once=function(e,t){var o=this;function n(){o.$off(e,n),t.apply(o,arguments)}return n.fn=t,o.$on(e,n),o},e.prototype.$off=function(e,t){var o=this;if(!arguments.length)return o._events=Object.create(null),o;if(Array.isArray(e)){for(var n=0,i=e.length;n<i;n++)o.$off(e[n],t);return o}var r,s=o._events[e];if(!s)return o;if(!t)return o._events[e]=null,o;for(var a=s.length;a--;)if((r=s[a])===t||r.fn===t){s.splice(a,1);break}return o},e.prototype.$emit=function(e){var t=this,o=t._events[e];if(o){o=o.length>1?R(o):o;for(var n=R(arguments,1),i='event handler for "'+e+'"',r=0,s=o.length;r<s;r++)je(o[r],t,n,t,i)}return t}}(wo),function(e){e.prototype._update=function(e,t){var o=this,n=o.$el,i=o._vnode,r=Zt(o);o._vnode=e,o.$el=i?o.__patch__(i,e):o.__patch__(o.$el,e,t,!1),r(),n&&(n.__vue__=null),o.$el&&(o.$el.__vue__=o),o.$vnode&&o.$parent&&o.$vnode===o.$parent._vnode&&(o.$parent.$el=o.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){to(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||y(t.$children,e),e._watcher&&e._watcher.teardown();for(var o=e._watchers.length;o--;)e._watchers[o].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),to(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(wo),function(e){It(e.prototype),e.prototype.$nextTick=function(e){return tt(e,this)},e.prototype._render=function(){var e,t=this,o=t.$options,n=o.render,i=o._parentVnode;i&&(t.$scopedSlots=pt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=i;try{jt=t,e=n.call(t._renderProxy,t.$createElement)}catch(o){We(o,t,"render"),e=t._vnode}finally{jt=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof fe||(e=_e()),e.parent=i,e}}(wo);var Io=[String,RegExp,Array],Do={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Io,exclude:Io,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)No(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){Lo(e,(function(e){return Ro(t,e)}))})),this.$watch("exclude",(function(t){Lo(e,(function(e){return!Ro(t,e)}))}))},render:function(){var e=this.$slots.default,t=Kt(e),o=t&&t.componentOptions;if(o){var n=Oo(o),i=this.include,r=this.exclude;if(i&&(!n||!Ro(i,n))||r&&n&&Ro(r,n))return t;var s=this.cache,a=this.keys,l=null==t.key?o.Ctor.cid+(o.tag?"::"+o.tag:""):t.key;s[l]?(t.componentInstance=s[l].componentInstance,y(a,l),a.push(l)):(s[l]=t,a.push(l),this.max&&a.length>parseInt(this.max)&&No(s,a[0],a,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return U}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:L,mergeOptions:Me,defineReactive:Oe},e.set=Re,e.delete=Le,e.nextTick=tt,e.observable=function(e){return ke(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,L(e.options.components,Do),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var o=R(arguments,1);return o.unshift(this),"function"==typeof e.install?e.install.apply(e,o):"function"==typeof e&&e.apply(null,o),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Me(this.options,e),this}}(e),ko(e),function(e){F.forEach((function(t){e[t]=function(e,o){return o?("component"===t&&c(o)&&(o.name=o.name||e,o=this.options._base.extend(o)),"directive"===t&&"function"==typeof o&&(o={bind:o,update:o}),this.options[t+"s"][e]=o,o):this.options[t+"s"][e]}}))}(e)}(wo),Object.defineProperty(wo.prototype,"$isServer",{get:ie}),Object.defineProperty(wo.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wo,"FunctionalRenderContext",{value:Dt}),wo.version="2.6.10";var Ao=m("style,class"),Po=m("input,textarea,option,select,progress"),xo=m("contenteditable,draggable,spellcheck"),Mo=m("events,caret,typing,plaintext-only"),Bo=function(e,t){return Wo(t)||"false"===t?"false":"contenteditable"===e&&Mo(t)?t:"true"},Fo=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Ho="http://www.w3.org/1999/xlink",Uo=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Vo=function(e){return Uo(e)?e.slice(6,e.length):""},Wo=function(e){return null==e||!1===e};function jo(e){for(var t=e.data,o=e,n=e;r(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(t=Go(n.data,t));for(;r(o=o.parent);)o&&o.data&&(t=Go(t,o.data));return function(e,t){if(r(e)||r(t))return zo(e,Ko(t));return""}(t.staticClass,t.class)}function Go(e,t){return{staticClass:zo(e.staticClass,t.staticClass),class:r(e.class)?[e.class,t.class]:t.class}}function zo(e,t){return e?t?e+" "+t:e:t||""}function Ko(e){return Array.isArray(e)?function(e){for(var t,o="",n=0,i=e.length;n<i;n++)r(t=Ko(e[n]))&&""!==t&&(o&&(o+=" "),o+=t);return o}(e):l(e)?function(e){var t="";for(var o in e)e[o]&&(t&&(t+=" "),t+=o);return t}(e):"string"==typeof e?e:""}var Yo={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Xo=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),qo=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$o=function(e){return Xo(e)||qo(e)};var Jo=Object.create(null);var Zo=m("text,number,password,search,email,tel,url");var Qo=Object.freeze({createElement:function(e,t){var o=document.createElement(e);return"select"!==e?o:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&o.setAttribute("multiple","multiple"),o)},createElementNS:function(e,t){return document.createElementNS(Yo[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,o){e.insertBefore(t,o)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),en={create:function(e,t){tn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(tn(e,!0),tn(t))},destroy:function(e){tn(e,!0)}};function tn(e,t){var o=e.data.ref;if(r(o)){var n=e.context,i=e.componentInstance||e.elm,s=n.$refs;t?Array.isArray(s[o])?y(s[o],i):s[o]===i&&(s[o]=void 0):e.data.refInFor?Array.isArray(s[o])?s[o].indexOf(i)<0&&s[o].push(i):s[o]=[i]:s[o]=i}}var on=new fe("",{},[]),nn=["create","activate","update","remove","destroy"];function rn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&r(e.data)===r(t.data)&&function(e,t){if("input"!==e.tag)return!0;var o,n=r(o=e.data)&&r(o=o.attrs)&&o.type,i=r(o=t.data)&&r(o=o.attrs)&&o.type;return n===i||Zo(n)&&Zo(i)}(e,t)||s(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&i(t.asyncFactory.error))}function sn(e,t,o){var n,i,s={};for(n=t;n<=o;++n)r(i=e[n].key)&&(s[i]=n);return s}var an={create:ln,update:ln,destroy:function(e){ln(e,on)}};function ln(e,t){(e.data.directives||t.data.directives)&&function(e,t){var o,n,i,r=e===on,s=t===on,a=cn(e.data.directives,e.context),l=cn(t.data.directives,t.context),u=[],c=[];for(o in l)n=a[o],i=l[o],n?(i.oldValue=n.value,i.oldArg=n.arg,dn(i,"update",t,e),i.def&&i.def.componentUpdated&&c.push(i)):(dn(i,"bind",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var h=function(){for(var o=0;o<u.length;o++)dn(u[o],"inserted",t,e)};r?at(t,"insert",h):h()}c.length&&at(t,"postpatch",(function(){for(var o=0;o<c.length;o++)dn(c[o],"componentUpdated",t,e)}));if(!r)for(o in a)l[o]||dn(a[o],"unbind",e,e,s)}(e,t)}var un=Object.create(null);function cn(e,t){var o,n,i=Object.create(null);if(!e)return i;for(o=0;o<e.length;o++)(n=e[o]).modifiers||(n.modifiers=un),i[hn(n)]=n,n.def=Be(t.$options,"directives",n.name);return i}function hn(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function dn(e,t,o,n,i){var r=e.def&&e.def[t];if(r)try{r(o.elm,e,o,n,i)}catch(n){We(n,o.context,"directive "+e.name+" "+t+" hook")}}var gn=[en,an];function pn(e,t){var o=t.componentOptions;if(!(r(o)&&!1===o.Ctor.options.inheritAttrs||i(e.data.attrs)&&i(t.data.attrs))){var n,s,a=t.elm,l=e.data.attrs||{},u=t.data.attrs||{};for(n in r(u.__ob__)&&(u=t.data.attrs=L({},u)),u)s=u[n],l[n]!==s&&fn(a,n,s);for(n in($||Z)&&u.value!==l.value&&fn(a,"value",u.value),l)i(u[n])&&(Uo(n)?a.removeAttributeNS(Ho,Vo(n)):xo(n)||a.removeAttribute(n))}}function fn(e,t,o){e.tagName.indexOf("-")>-1?mn(e,t,o):Fo(t)?Wo(o)?e.removeAttribute(t):(o="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,o)):xo(t)?e.setAttribute(t,Bo(t,o)):Uo(t)?Wo(o)?e.removeAttributeNS(Ho,Vo(t)):e.setAttributeNS(Ho,t,o):mn(e,t,o)}function mn(e,t,o){if(Wo(o))e.removeAttribute(t);else{if($&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==o&&!e.__ieph){var n=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",n)};e.addEventListener("input",n),e.__ieph=!0}e.setAttribute(t,o)}}var _n={create:pn,update:pn};function yn(e,t){var o=t.elm,n=t.data,s=e.data;if(!(i(n.staticClass)&&i(n.class)&&(i(s)||i(s.staticClass)&&i(s.class)))){var a=jo(t),l=o._transitionClasses;r(l)&&(a=zo(a,Ko(l))),a!==o._prevClass&&(o.setAttribute("class",a),o._prevClass=a)}}var vn,bn={create:yn,update:yn},En="__r",Cn="__c";function Sn(e,t,o){var n=vn;return function i(){var r=t.apply(null,arguments);null!==r&&kn(e,i,o,n)}}var Tn=Ye&&!(ee&&Number(ee[1])<=53);function wn(e,t,o,n){if(Tn){var i=lo,r=t;t=r._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return r.apply(this,arguments)}}vn.addEventListener(e,t,oe?{capture:o,passive:n}:o)}function kn(e,t,o,n){(n||vn).removeEventListener(e,t._wrapper||t,o)}function On(e,t){if(!i(e.data.on)||!i(t.data.on)){var o=t.data.on||{},n=e.data.on||{};vn=t.elm,function(e){if(r(e[En])){var t=$?"change":"input";e[t]=[].concat(e[En],e[t]||[]),delete e[En]}r(e[Cn])&&(e.change=[].concat(e[Cn],e.change||[]),delete e[Cn])}(o),st(o,n,wn,kn,Sn,t.context),vn=void 0}}var Rn,Ln={create:On,update:On};function Nn(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var o,n,s=t.elm,a=e.data.domProps||{},l=t.data.domProps||{};for(o in r(l.__ob__)&&(l=t.data.domProps=L({},l)),a)o in l||(s[o]="");for(o in l){if(n=l[o],"textContent"===o||"innerHTML"===o){if(t.children&&(t.children.length=0),n===a[o])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if("value"===o&&"PROGRESS"!==s.tagName){s._value=n;var u=i(n)?"":String(n);In(s,u)&&(s.value=u)}else if("innerHTML"===o&&qo(s.tagName)&&i(s.innerHTML)){(Rn=Rn||document.createElement("div")).innerHTML="<svg>"+n+"</svg>";for(var c=Rn.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;c.firstChild;)s.appendChild(c.firstChild)}else if(n!==a[o])try{s[o]=n}catch(e){}}}}function In(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var o=!0;try{o=document.activeElement!==e}catch(e){}return o&&e.value!==t}(e,t)||function(e,t){var o=e.value,n=e._vModifiers;if(r(n)){if(n.number)return f(o)!==f(t);if(n.trim)return o.trim()!==t.trim()}return o!==t}(e,t))}var Dn={create:Nn,update:Nn},An=E((function(e){var t={},o=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var n=e.split(o);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}));function Pn(e){var t=xn(e.style);return e.staticStyle?L(e.staticStyle,t):t}function xn(e){return Array.isArray(e)?N(e):"string"==typeof e?An(e):e}var Mn,Bn=/^--/,Fn=/\s*!important$/,Hn=function(e,t,o){if(Bn.test(t))e.style.setProperty(t,o);else if(Fn.test(o))e.style.setProperty(k(t),o.replace(Fn,""),"important");else{var n=Vn(t);if(Array.isArray(o))for(var i=0,r=o.length;i<r;i++)e.style[n]=o[i];else e.style[n]=o}},Un=["Webkit","Moz","ms"],Vn=E((function(e){if(Mn=Mn||document.createElement("div").style,"filter"!==(e=S(e))&&e in Mn)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),o=0;o<Un.length;o++){var n=Un[o]+t;if(n in Mn)return n}}));function Wn(e,t){var o=t.data,n=e.data;if(!(i(o.staticStyle)&&i(o.style)&&i(n.staticStyle)&&i(n.style))){var s,a,l=t.elm,u=n.staticStyle,c=n.normalizedStyle||n.style||{},h=u||c,d=xn(t.data.style)||{};t.data.normalizedStyle=r(d.__ob__)?L({},d):d;var g=function(e,t){var o,n={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(o=Pn(i.data))&&L(n,o);(o=Pn(e.data))&&L(n,o);for(var r=e;r=r.parent;)r.data&&(o=Pn(r.data))&&L(n,o);return n}(t,!0);for(a in h)i(g[a])&&Hn(l,a,"");for(a in g)(s=g[a])!==h[a]&&Hn(l,a,null==s?"":s)}}var jn={create:Wn,update:Wn},Gn=/\s+/;function zn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Gn).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var o=" "+(e.getAttribute("class")||"")+" ";o.indexOf(" "+t+" ")<0&&e.setAttribute("class",(o+t).trim())}}function Kn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Gn).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var o=" "+(e.getAttribute("class")||"")+" ",n=" "+t+" ";o.indexOf(n)>=0;)o=o.replace(n," ");(o=o.trim())?e.setAttribute("class",o):e.removeAttribute("class")}}function Yn(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&L(t,Xn(e.name||"v")),L(t,e),t}return"string"==typeof e?Xn(e):void 0}}var Xn=E((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),qn=K&&!J,$n="transition",Jn="animation",Zn="transition",Qn="transitionend",ei="animation",ti="animationend";qn&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Zn="WebkitTransition",Qn="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ei="WebkitAnimation",ti="webkitAnimationEnd"));var oi=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function ni(e){oi((function(){oi(e)}))}function ii(e,t){var o=e._transitionClasses||(e._transitionClasses=[]);o.indexOf(t)<0&&(o.push(t),zn(e,t))}function ri(e,t){e._transitionClasses&&y(e._transitionClasses,t),Kn(e,t)}function si(e,t,o){var n=li(e,t),i=n.type,r=n.timeout,s=n.propCount;if(!i)return o();var a=i===$n?Qn:ti,l=0,u=function(){e.removeEventListener(a,c),o()},c=function(t){t.target===e&&++l>=s&&u()};setTimeout((function(){l<s&&u()}),r+1),e.addEventListener(a,c)}var ai=/\b(transform|all)(,|$)/;function li(e,t){var o,n=window.getComputedStyle(e),i=(n[Zn+"Delay"]||"").split(", "),r=(n[Zn+"Duration"]||"").split(", "),s=ui(i,r),a=(n[ei+"Delay"]||"").split(", "),l=(n[ei+"Duration"]||"").split(", "),u=ui(a,l),c=0,h=0;return t===$n?s>0&&(o=$n,c=s,h=r.length):t===Jn?u>0&&(o=Jn,c=u,h=l.length):h=(o=(c=Math.max(s,u))>0?s>u?$n:Jn:null)?o===$n?r.length:l.length:0,{type:o,timeout:c,propCount:h,hasTransform:o===$n&&ai.test(n[Zn+"Property"])}}function ui(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map((function(t,o){return ci(t)+ci(e[o])})))}function ci(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function hi(e,t){var o=e.elm;r(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var n=Yn(e.data.transition);if(!i(n)&&!r(o._enterCb)&&1===o.nodeType){for(var s=n.css,a=n.type,u=n.enterClass,c=n.enterToClass,h=n.enterActiveClass,d=n.appearClass,g=n.appearToClass,p=n.appearActiveClass,m=n.beforeEnter,_=n.enter,y=n.afterEnter,v=n.enterCancelled,b=n.beforeAppear,E=n.appear,C=n.afterAppear,S=n.appearCancelled,T=n.duration,w=Jt,k=Jt.$vnode;k&&k.parent;)w=k.context,k=k.parent;var O=!w._isMounted||!e.isRootInsert;if(!O||E||""===E){var R=O&&d?d:u,L=O&&p?p:h,N=O&&g?g:c,I=O&&b||m,D=O&&"function"==typeof E?E:_,A=O&&C||y,P=O&&S||v,x=f(l(T)?T.enter:T);0;var B=!1!==s&&!J,F=pi(D),H=o._enterCb=M((function(){B&&(ri(o,N),ri(o,L)),H.cancelled?(B&&ri(o,R),P&&P(o)):A&&A(o),o._enterCb=null}));e.data.show||at(e,"insert",(function(){var t=o.parentNode,n=t&&t._pending&&t._pending[e.key];n&&n.tag===e.tag&&n.elm._leaveCb&&n.elm._leaveCb(),D&&D(o,H)})),I&&I(o),B&&(ii(o,R),ii(o,L),ni((function(){ri(o,R),H.cancelled||(ii(o,N),F||(gi(x)?setTimeout(H,x):si(o,a,H)))}))),e.data.show&&(t&&t(),D&&D(o,H)),B||F||H()}}}function di(e,t){var o=e.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var n=Yn(e.data.transition);if(i(n)||1!==o.nodeType)return t();if(!r(o._leaveCb)){var s=n.css,a=n.type,u=n.leaveClass,c=n.leaveToClass,h=n.leaveActiveClass,d=n.beforeLeave,g=n.leave,p=n.afterLeave,m=n.leaveCancelled,_=n.delayLeave,y=n.duration,v=!1!==s&&!J,b=pi(g),E=f(l(y)?y.leave:y);0;var C=o._leaveCb=M((function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[e.key]=null),v&&(ri(o,c),ri(o,h)),C.cancelled?(v&&ri(o,u),m&&m(o)):(t(),p&&p(o)),o._leaveCb=null}));_?_(S):S()}function S(){C.cancelled||(!e.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[e.key]=e),d&&d(o),v&&(ii(o,u),ii(o,h),ni((function(){ri(o,u),C.cancelled||(ii(o,c),b||(gi(E)?setTimeout(C,E):si(o,a,C)))}))),g&&g(o,C),v||b||C())}}function gi(e){return"number"==typeof e&&!isNaN(e)}function pi(e){if(i(e))return!1;var t=e.fns;return r(t)?pi(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function fi(e,t){!0!==t.data.show&&hi(t)}var mi=function(e){var t,o,n={},l=e.modules,u=e.nodeOps;for(t=0;t<nn.length;++t)for(n[nn[t]]=[],o=0;o<l.length;++o)r(l[o][nn[t]])&&n[nn[t]].push(l[o][nn[t]]);function c(e){var t=u.parentNode(e);r(t)&&u.removeChild(t,e)}function h(e,t,o,i,a,l,c){if(r(e.elm)&&r(l)&&(e=l[c]=ve(e)),e.isRootInsert=!a,!function(e,t,o,i){var a=e.data;if(r(a)){var l=r(e.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(e,!1),r(e.componentInstance))return d(e,t),g(o,e.elm,i),s(l)&&function(e,t,o,i){var s,a=e;for(;a.componentInstance;)if(a=a.componentInstance._vnode,r(s=a.data)&&r(s=s.transition)){for(s=0;s<n.activate.length;++s)n.activate[s](on,a);t.push(a);break}g(o,e.elm,i)}(e,t,o,i),!0}}(e,t,o,i)){var h=e.data,f=e.children,m=e.tag;r(m)?(e.elm=e.ns?u.createElementNS(e.ns,m):u.createElement(m,e),y(e),p(e,f,t),r(h)&&_(e,t),g(o,e.elm,i)):s(e.isComment)?(e.elm=u.createComment(e.text),g(o,e.elm,i)):(e.elm=u.createTextNode(e.text),g(o,e.elm,i))}}function d(e,t){r(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,f(e)?(_(e,t),y(e)):(tn(e),t.push(e))}function g(e,t,o){r(e)&&(r(o)?u.parentNode(o)===e&&u.insertBefore(e,t,o):u.appendChild(e,t))}function p(e,t,o){if(Array.isArray(t)){0;for(var n=0;n<t.length;++n)h(t[n],o,e.elm,null,!0,t,n)}else a(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function f(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return r(e.tag)}function _(e,o){for(var i=0;i<n.create.length;++i)n.create[i](on,e);r(t=e.data.hook)&&(r(t.create)&&t.create(on,e),r(t.insert)&&o.push(e))}function y(e){var t;if(r(t=e.fnScopeId))u.setStyleScope(e.elm,t);else for(var o=e;o;)r(t=o.context)&&r(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t),o=o.parent;r(t=Jt)&&t!==e.context&&t!==e.fnContext&&r(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t)}function v(e,t,o,n,i,r){for(;n<=i;++n)h(o[n],r,e,t,!1,o,n)}function b(e){var t,o,i=e.data;if(r(i))for(r(t=i.hook)&&r(t=t.destroy)&&t(e),t=0;t<n.destroy.length;++t)n.destroy[t](e);if(r(t=e.children))for(o=0;o<e.children.length;++o)b(e.children[o])}function E(e,t,o,n){for(;o<=n;++o){var i=t[o];r(i)&&(r(i.tag)?(C(i),b(i)):c(i.elm))}}function C(e,t){if(r(t)||r(e.data)){var o,i=n.remove.length+1;for(r(t)?t.listeners+=i:t=function(e,t){function o(){0==--o.listeners&&c(e)}return o.listeners=t,o}(e.elm,i),r(o=e.componentInstance)&&r(o=o._vnode)&&r(o.data)&&C(o,t),o=0;o<n.remove.length;++o)n.remove[o](e,t);r(o=e.data.hook)&&r(o=o.remove)?o(e,t):t()}else c(e.elm)}function S(e,t,o,n){for(var i=o;i<n;i++){var s=t[i];if(r(s)&&rn(e,s))return i}}function T(e,t,o,a,l,c){if(e!==t){r(t.elm)&&r(a)&&(t=a[l]=ve(t));var d=t.elm=e.elm;if(s(e.isAsyncPlaceholder))r(t.asyncFactory.resolved)?O(e.elm,t,o):t.isAsyncPlaceholder=!0;else if(s(t.isStatic)&&s(e.isStatic)&&t.key===e.key&&(s(t.isCloned)||s(t.isOnce)))t.componentInstance=e.componentInstance;else{var g,p=t.data;r(p)&&r(g=p.hook)&&r(g=g.prepatch)&&g(e,t);var m=e.children,_=t.children;if(r(p)&&f(t)){for(g=0;g<n.update.length;++g)n.update[g](e,t);r(g=p.hook)&&r(g=g.update)&&g(e,t)}i(t.text)?r(m)&&r(_)?m!==_&&function(e,t,o,n,s){var a,l,c,d=0,g=0,p=t.length-1,f=t[0],m=t[p],_=o.length-1,y=o[0],b=o[_],C=!s;for(0;d<=p&&g<=_;)i(f)?f=t[++d]:i(m)?m=t[--p]:rn(f,y)?(T(f,y,n,o,g),f=t[++d],y=o[++g]):rn(m,b)?(T(m,b,n,o,_),m=t[--p],b=o[--_]):rn(f,b)?(T(f,b,n,o,_),C&&u.insertBefore(e,f.elm,u.nextSibling(m.elm)),f=t[++d],b=o[--_]):rn(m,y)?(T(m,y,n,o,g),C&&u.insertBefore(e,m.elm,f.elm),m=t[--p],y=o[++g]):(i(a)&&(a=sn(t,d,p)),i(l=r(y.key)?a[y.key]:S(y,t,d,p))?h(y,n,e,f.elm,!1,o,g):rn(c=t[l],y)?(T(c,y,n,o,g),t[l]=void 0,C&&u.insertBefore(e,c.elm,f.elm)):h(y,n,e,f.elm,!1,o,g),y=o[++g]);d>p?v(e,i(o[_+1])?null:o[_+1].elm,o,g,_,n):g>_&&E(0,t,d,p)}(d,m,_,o,c):r(_)?(r(e.text)&&u.setTextContent(d,""),v(d,null,_,0,_.length-1,o)):r(m)?E(0,m,0,m.length-1):r(e.text)&&u.setTextContent(d,""):e.text!==t.text&&u.setTextContent(d,t.text),r(p)&&r(g=p.hook)&&r(g=g.postpatch)&&g(e,t)}}}function w(e,t,o){if(s(o)&&r(e.parent))e.parent.data.pendingInsert=t;else for(var n=0;n<t.length;++n)t[n].data.hook.insert(t[n])}var k=m("attrs,class,staticClass,staticStyle,key");function O(e,t,o,n){var i,a=t.tag,l=t.data,u=t.children;if(n=n||l&&l.pre,t.elm=e,s(t.isComment)&&r(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(r(l)&&(r(i=l.hook)&&r(i=i.init)&&i(t,!0),r(i=t.componentInstance)))return d(t,o),!0;if(r(a)){if(r(u))if(e.hasChildNodes())if(r(i=l)&&r(i=i.domProps)&&r(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var c=!0,h=e.firstChild,g=0;g<u.length;g++){if(!h||!O(h,u[g],o,n)){c=!1;break}h=h.nextSibling}if(!c||h)return!1}else p(t,u,o);if(r(l)){var f=!1;for(var m in l)if(!k(m)){f=!0,_(t,o);break}!f&&l.class&&nt(l.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,o,a){if(!i(t)){var l,c=!1,d=[];if(i(e))c=!0,h(t,d);else{var g=r(e.nodeType);if(!g&&rn(e,t))T(e,t,d,null,null,a);else{if(g){if(1===e.nodeType&&e.hasAttribute(B)&&(e.removeAttribute(B),o=!0),s(o)&&O(e,t,d))return w(t,d,!0),e;l=e,e=new fe(u.tagName(l).toLowerCase(),{},[],void 0,l)}var p=e.elm,m=u.parentNode(p);if(h(t,d,p._leaveCb?null:m,u.nextSibling(p)),r(t.parent))for(var _=t.parent,y=f(t);_;){for(var v=0;v<n.destroy.length;++v)n.destroy[v](_);if(_.elm=t.elm,y){for(var C=0;C<n.create.length;++C)n.create[C](on,_);var S=_.data.hook.insert;if(S.merged)for(var k=1;k<S.fns.length;k++)S.fns[k]()}else tn(_);_=_.parent}r(m)?E(0,[e],0,0):r(e.tag)&&b(e)}}return w(t,d,c),t.elm}r(e)&&b(e)}}({nodeOps:Qo,modules:[_n,bn,Ln,Dn,jn,K?{create:fi,activate:fi,remove:function(e,t){!0!==e.data.show?di(e,t):t()}}:{}].concat(gn)});J&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&Ti(e,"input")}));var _i={inserted:function(e,t,o,n){"select"===o.tag?(n.elm&&!n.elm._vOptions?at(o,"postpatch",(function(){_i.componentUpdated(e,t,o)})):yi(e,t,o.context),e._vOptions=[].map.call(e.options,Ei)):("textarea"===o.tag||Zo(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Ci),e.addEventListener("compositionend",Si),e.addEventListener("change",Si),J&&(e.vmodel=!0)))},componentUpdated:function(e,t,o){if("select"===o.tag){yi(e,t,o.context);var n=e._vOptions,i=e._vOptions=[].map.call(e.options,Ei);if(i.some((function(e,t){return!P(e,n[t])})))(e.multiple?t.value.some((function(e){return bi(e,i)})):t.value!==t.oldValue&&bi(t.value,i))&&Ti(e,"change")}}};function yi(e,t,o){vi(e,t,o),($||Z)&&setTimeout((function(){vi(e,t,o)}),0)}function vi(e,t,o){var n=t.value,i=e.multiple;if(!i||Array.isArray(n)){for(var r,s,a=0,l=e.options.length;a<l;a++)if(s=e.options[a],i)r=x(n,Ei(s))>-1,s.selected!==r&&(s.selected=r);else if(P(Ei(s),n))return void(e.selectedIndex!==a&&(e.selectedIndex=a));i||(e.selectedIndex=-1)}}function bi(e,t){return t.every((function(t){return!P(t,e)}))}function Ei(e){return"_value"in e?e._value:e.value}function Ci(e){e.target.composing=!0}function Si(e){e.target.composing&&(e.target.composing=!1,Ti(e.target,"input"))}function Ti(e,t){var o=document.createEvent("HTMLEvents");o.initEvent(t,!0,!0),e.dispatchEvent(o)}function wi(e){return!e.componentInstance||e.data&&e.data.transition?e:wi(e.componentInstance._vnode)}var ki={model:_i,show:{bind:function(e,t,o){var n=t.value,i=(o=wi(o)).data&&o.data.transition,r=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;n&&i?(o.data.show=!0,hi(o,(function(){e.style.display=r}))):e.style.display=n?r:"none"},update:function(e,t,o){var n=t.value;!n!=!t.oldValue&&((o=wi(o)).data&&o.data.transition?(o.data.show=!0,n?hi(o,(function(){e.style.display=e.__vOriginalDisplay})):di(o,(function(){e.style.display="none"}))):e.style.display=n?e.__vOriginalDisplay:"none")},unbind:function(e,t,o,n,i){i||(e.style.display=e.__vOriginalDisplay)}}},Oi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ri(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Ri(Kt(t.children)):e}function Li(e){var t={},o=e.$options;for(var n in o.propsData)t[n]=e[n];var i=o._parentListeners;for(var r in i)t[S(r)]=i[r];return t}function Ni(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ii=function(e){return e.tag||zt(e)},Di=function(e){return"show"===e.name},Ai={name:"transition",props:Oi,abstract:!0,render:function(e){var t=this,o=this.$slots.default;if(o&&(o=o.filter(Ii)).length){0;var n=this.mode;0;var i=o[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var r=Ri(i);if(!r)return i;if(this._leaving)return Ni(e,i);var s="__transition-"+this._uid+"-";r.key=null==r.key?r.isComment?s+"comment":s+r.tag:a(r.key)?0===String(r.key).indexOf(s)?r.key:s+r.key:r.key;var l=(r.data||(r.data={})).transition=Li(this),u=this._vnode,c=Ri(u);if(r.data.directives&&r.data.directives.some(Di)&&(r.data.show=!0),c&&c.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(r,c)&&!zt(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var h=c.data.transition=L({},l);if("out-in"===n)return this._leaving=!0,at(h,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Ni(e,i);if("in-out"===n){if(zt(r))return u;var d,g=function(){d()};at(l,"afterEnter",g),at(l,"enterCancelled",g),at(h,"delayLeave",(function(e){d=e}))}}return i}}},Pi=L({tag:String,moveClass:String},Oi);function xi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function Mi(e){e.data.newPos=e.elm.getBoundingClientRect()}function Bi(e){var t=e.data.pos,o=e.data.newPos,n=t.left-o.left,i=t.top-o.top;if(n||i){e.data.moved=!0;var r=e.elm.style;r.transform=r.WebkitTransform="translate("+n+"px,"+i+"px)",r.transitionDuration="0s"}}delete Pi.mode;var Fi={Transition:Ai,TransitionGroup:{props:Pi,beforeMount:function(){var e=this,t=this._update;this._update=function(o,n){var i=Zt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,o,n)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",o=Object.create(null),n=this.prevChildren=this.children,i=this.$slots.default||[],r=this.children=[],s=Li(this),a=0;a<i.length;a++){var l=i[a];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))r.push(l),o[l.key]=l,(l.data||(l.data={})).transition=s;else;}if(n){for(var u=[],c=[],h=0;h<n.length;h++){var d=n[h];d.data.transition=s,d.data.pos=d.elm.getBoundingClientRect(),o[d.key]?u.push(d):c.push(d)}this.kept=e(t,null,u),this.removed=c}return e(t,null,r)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(xi),e.forEach(Mi),e.forEach(Bi),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var o=e.elm,n=o.style;ii(o,t),n.transform=n.WebkitTransform=n.transitionDuration="",o.addEventListener(Qn,o._moveCb=function e(n){n&&n.target!==o||n&&!/transform$/.test(n.propertyName)||(o.removeEventListener(Qn,e),o._moveCb=null,ri(o,t))})}})))},methods:{hasMove:function(e,t){if(!qn)return!1;if(this._hasMove)return this._hasMove;var o=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){Kn(o,e)})),zn(o,t),o.style.display="none",this.$el.appendChild(o);var n=li(o);return this.$el.removeChild(o),this._hasMove=n.hasTransform}}}};wo.config.mustUseProp=function(e,t,o){return"value"===o&&Po(e)&&"button"!==t||"selected"===o&&"option"===e||"checked"===o&&"input"===e||"muted"===o&&"video"===e},wo.config.isReservedTag=$o,wo.config.isReservedAttr=Ao,wo.config.getTagNamespace=function(e){return qo(e)?"svg":"math"===e?"math":void 0},wo.config.isUnknownElement=function(e){if(!K)return!0;if($o(e))return!1;if(e=e.toLowerCase(),null!=Jo[e])return Jo[e];var t=document.createElement(e);return e.indexOf("-")>-1?Jo[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Jo[e]=/HTMLUnknownElement/.test(t.toString())},L(wo.options.directives,ki),L(wo.options.components,Fi),wo.prototype.__patch__=K?mi:I,wo.prototype.$mount=function(e,t){return function(e,t,o){var n;return e.$el=t,e.$options.render||(e.$options.render=_e),to(e,"beforeMount"),n=function(){e._update(e._render(),o)},new po(e,n,I,{before:function(){e._isMounted&&!e._isDestroyed&&to(e,"beforeUpdate")}},!0),o=!1,null==e.$vnode&&(e._isMounted=!0,to(e,"mounted")),e}(this,e=e&&K?function(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}(e):void 0,t)},K&&setTimeout((function(){U.devtools&&re&&re.emit("init",wo)}),0),t.a=wo}).call(this,o(80),o(148).setImmediate)},function(e,t,o){"use strict";var n=o(44),i=function(){function e(e){e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((function(e){return new n.b(e)})):e.brackets?this._autoClosingPairs=e.brackets.map((function(e){return new n.b({open:e[0],close:e[1]})})):this._autoClosingPairs=[],this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.shouldAutoClosePair=function(e,t,o){if(0===t.getTokenCount())return!0;for(var n=t.findTokenIndexAtOffset(o-2),i=t.getStandardTokenType(n),r=0;r<this._autoClosingPairs.length;++r){var s=this._autoClosingPairs[r];if(s.open===e)return s.isOK(i)}return!1},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e}(),r=o(86),s=o(106),a=function(){function e(e,t,o){o=o||{},this._richEditBrackets=e,this._complexAutoClosePairs=t.filter((function(e){return e.open.length>1&&!!e.close})).map((function(e){return new n.b(e)})),o.docComment&&this._complexAutoClosePairs.push(new n.b({open:o.docComment.open,close:o.docComment.close}))}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,o=this._richEditBrackets.brackets.length;t<o;t++){var n=this._richEditBrackets.brackets[t],i=n.close.charAt(n.close.length-1);e.push(i)}for(var r=0,s=this._complexAutoClosePairs;r<s.length;r++){var a=s[r];e.push(a.open.charAt(a.open.length-1))}return e=e.filter((function(e,t,o){return o.indexOf(e)===t}))},e.prototype.onElectricCharacter=function(e,t,o){return this._onElectricAutoClose(e,t,o)||this._onElectricAutoIndent(e,t,o)},e.prototype._onElectricAutoIndent=function(e,t,o){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;var n=t.findTokenIndexAtOffset(o-1);if(Object(r.b)(t.getStandardTokenType(n)))return null;var i=this._richEditBrackets.reversedRegex,a=t.getLineContent().substring(0,o-1)+e,l=s.a.findPrevBracketInToken(i,1,a,0,a.length);if(!l)return null;var u=a.substring(l.startColumn-1,l.endColumn-1);if(u=u.toLowerCase(),this._richEditBrackets.textIsOpenBracket[u])return null;var c=a.substring(0,l.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:u}:null},e.prototype._onElectricAutoClose=function(e,t,o){if(!this._complexAutoClosePairs.length)return null;for(var n=t.getLineContent(),i=0,r=this._complexAutoClosePairs.length;i<r;i++){var s=this._complexAutoClosePairs[i];if(e===s.open.charAt(s.open.length-1))if(n.substring(n.length-s.open.length+1)+e===s.open){var a=t.findTokenIndexAtOffset(o-1),l=t.getStandardTokenType(a);if(s.isOK(l)&&!(n.indexOf(s.close,o-1)>=0))return{appendText:s.close}}}return null},e}(),l=o(13),u=o(8),c=function(){function e(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=t.brackets.map((function(t){return{open:t[0],openRegExp:e._createOpenBracketRegExp(t[0]),close:t[1],closeRegExp:e._createCloseBracketRegExp(t[1])}})),this._regExpRules=t.regExpRules||[]}return e.prototype.onEnter=function(e,t,o){for(var i=0,r=this._regExpRules.length;i<r;i++){var s=this._regExpRules[i];if(s.beforeText.test(t)){if(!s.afterText)return s.action;if(s.afterText.test(o))return s.action}}if(t.length>0&&o.length>0)for(i=0,r=this._brackets.length;i<r;i++){if((a=this._brackets[i]).openRegExp.test(t)&&a.closeRegExp.test(o))return{indentAction:n.a.IndentOutdent}}if(t.length>0)for(i=0,r=this._brackets.length;i<r;i++){var a;if((a=this._brackets[i]).openRegExp.test(t))return{indentAction:n.a.Indent}}return null},e._createOpenBracketRegExp=function(t){var o=u.escapeRegExpCharacters(t);return/\B/.test(o.charAt(0))||(o="\\b"+o),o+="\\s*$",e._safeRegExp(o)},e._createCloseBracketRegExp=function(t){var o=u.escapeRegExpCharacters(t);return/\B/.test(o.charAt(o.length-1))||(o+="\\b"),o="^\\s*"+o,e._safeRegExp(o)},e._safeRegExp=function(e){try{return new RegExp(e)}catch(e){return Object(l.e)(e),null}},e}(),h=function(){function e(e){this._indentationRules=e}return e.prototype.shouldIncrease=function(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(e))},e.prototype.shouldDecrease=function(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(e))},e.prototype.shouldIndentNextLine=function(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(e))},e.prototype.shouldIgnore=function(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&this._indentationRules.unIndentedLinePattern.test(e))},e.prototype.getIndentMetadata=function(e){var t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t},e}(),d=o(4),g=o(6),p=o(105),f=o(2);o.d(t,"a",(function(){return _}));var m=function(){function e(t,o,n){this._languageIdentifier=t,this._brackets=null,this._electricCharacter=null;var r=null;o&&(r=o._conf),this._conf=e._mergeConf(r,n),this.onEnter=e._handleOnEnter(this._conf),this.comments=e._handleComments(this._conf),this.characterPair=new i(this._conf),this.wordDefinition=this._conf.wordPattern||p.a,this.indentationRules=this._conf.indentationRules,this._conf.indentationRules&&(this.indentRulesSupport=new h(this._conf.indentationRules)),this.foldingRules=this._conf.folding||{}}return Object.defineProperty(e.prototype,"brackets",{get:function(){return!this._brackets&&this._conf.brackets&&(this._brackets=new s.b(this._languageIdentifier,this._conf.brackets)),this._brackets},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"electricCharacter",{get:function(){if(!this._electricCharacter){var e=[];this._conf.autoClosingPairs?e=this._conf.autoClosingPairs:this._conf.brackets&&(e=this._conf.brackets.map((function(e){return{open:e[0],close:e[1]}}))),this._electricCharacter=new a(this.brackets,e,this._conf.__electricCharacterSupport)}return this._electricCharacter},enumerable:!0,configurable:!0}),e._mergeConf=function(e,t){return{comments:e?t.comments||e.comments:t.comments,brackets:e?t.brackets||e.brackets:t.brackets,wordPattern:e?t.wordPattern||e.wordPattern:t.wordPattern,indentationRules:e?t.indentationRules||e.indentationRules:t.indentationRules,onEnterRules:e?t.onEnterRules||e.onEnterRules:t.onEnterRules,autoClosingPairs:e?t.autoClosingPairs||e.autoClosingPairs:t.autoClosingPairs,surroundingPairs:e?t.surroundingPairs||e.surroundingPairs:t.surroundingPairs,folding:e?t.folding||e.folding:t.folding,__electricCharacterSupport:e?t.__electricCharacterSupport||e.__electricCharacterSupport:t.__electricCharacterSupport}},e._handleOnEnter=function(e){var t={},o=!0;return e.brackets&&(o=!1,t.brackets=e.brackets),e.indentationRules&&(o=!1),e.onEnterRules&&(o=!1,t.regExpRules=e.onEnterRules),o?null:new c(t)},e._handleComments=function(e){var t=e.comments;if(!t)return null;var o={};if(t.lineComment&&(o.lineCommentToken=t.lineComment),t.blockComment){var n=t.blockComment,i=n[0],r=n[1];o.blockCommentStartToken=i,o.blockCommentEndToken=r}return o},e}(),_=new(function(){function e(){this._onDidChange=new d.a,this.onDidChange=this._onDidChange.event,this._entries=[]}return e.prototype.register=function(e,t){var o=this,n=this._getRichEditSupport(e.id),i=new m(e,n,t);return this._entries[e.id]=i,this._onDidChange.fire({languageIdentifier:e}),Object(g.f)((function(){o._entries[e.id]===i&&(o._entries[e.id]=n,o._onDidChange.fire({languageIdentifier:e}))}))},e.prototype._getRichEditSupport=function(e){return this._entries[e]||null},e.prototype._getElectricCharacterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.electricCharacter||null},e.prototype.getElectricCharacters=function(e){var t=this._getElectricCharacterSupport(e);return t?t.getElectricCharacters():[]},e.prototype.onElectricCharacter=function(e,t,o){var n=Object(r.a)(t,o-1),i=this._getElectricCharacterSupport(n.languageId);return i?i.onElectricCharacter(e,n,o-n.firstCharOffset):null},e.prototype.getComments=function(e){var t=this._getRichEditSupport(e);return t&&t.comments||null},e.prototype._getCharacterPairSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.characterPair||null},e.prototype.getAutoClosingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getAutoClosingPairs():[]},e.prototype.getSurroundingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getSurroundingPairs():[]},e.prototype.shouldAutoClosePair=function(e,t,o){var n=Object(r.a)(t,o-1),i=this._getCharacterPairSupport(n.languageId);return!!i&&i.shouldAutoClosePair(e,n,o-n.firstCharOffset)},e.prototype.getWordDefinition=function(e){var t=this._getRichEditSupport(e);return t?Object(p.c)(t.wordDefinition||null):Object(p.c)(null)},e.prototype.getFoldingRules=function(e){var t=this._getRichEditSupport(e);return t?t.foldingRules:{}},e.prototype.getIndentRulesSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.indentRulesSupport||null},e.prototype.getPrecedingValidLine=function(e,t,o){var n=e.getLanguageIdAtPosition(t,0);if(t>1){var i=t-1,r=-1;for(i=t-1;i>=1;i--){if(e.getLanguageIdAtPosition(i,0)!==n)return r;var s=e.getLineContent(i);if(!o.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return i;r=i}}return-1},e.prototype.getInheritIndentForLine=function(e,t,o){void 0===o&&(o=!0);var i=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!i)return null;if(t<=1)return{indentation:"",action:null};var r=this.getPrecedingValidLine(e,t,i);if(r<0)return null;if(r<1)return{indentation:"",action:null};var s=e.getLineContent(r);if(i.shouldIncrease(s)||i.shouldIndentNextLine(s))return{indentation:u.getLeadingWhitespace(s),action:n.a.Indent,line:r};if(i.shouldDecrease(s))return{indentation:u.getLeadingWhitespace(s),action:null,line:r};if(1===r)return{indentation:u.getLeadingWhitespace(e.getLineContent(r)),action:null,line:r};var a=r-1,l=i.getIndentMetadata(e.getLineContent(a));if(!(3&l)&&4&l){for(var c=0,h=a-1;h>0;h--)if(!i.shouldIndentNextLine(e.getLineContent(h))){c=h;break}return{indentation:u.getLeadingWhitespace(e.getLineContent(c+1)),action:null,line:c+1}}if(o)return{indentation:u.getLeadingWhitespace(e.getLineContent(r)),action:null,line:r};for(h=r;h>0;h--){var d=e.getLineContent(h);if(i.shouldIncrease(d))return{indentation:u.getLeadingWhitespace(d),action:n.a.Indent,line:h};if(i.shouldIndentNextLine(d)){c=0;for(var g=h-1;g>0;g--)if(!i.shouldIndentNextLine(e.getLineContent(h))){c=g;break}return{indentation:u.getLeadingWhitespace(e.getLineContent(c+1)),action:null,line:c+1}}if(i.shouldDecrease(d))return{indentation:u.getLeadingWhitespace(d),action:null,line:h}}return{indentation:u.getLeadingWhitespace(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,o,i){var r=this.getIndentRulesSupport(t);if(!r)return null;var s=this.getInheritIndentForLine(e,o),a=e.getLineContent(o);if(s){var c=s.line;if(void 0!==c){var h=this._getOnEnterSupport(t),d=null;try{d=h.onEnter("",e.getLineContent(c),"")}catch(e){Object(l.e)(e)}if(d){var g=u.getLeadingWhitespace(e.getLineContent(c));return d.removeText&&(g=g.substring(0,g.length-d.removeText)),d.indentAction===n.a.Indent||d.indentAction===n.a.IndentOutdent?g=i.shiftIndent(g):d.indentAction===n.a.Outdent&&(g=i.unshiftIndent(g)),r.shouldDecrease(a)&&(g=i.unshiftIndent(g)),d.appendText&&(g+=d.appendText),u.getLeadingWhitespace(g)}}return r.shouldDecrease(a)?s.action===n.a.Indent?s.indentation:i.unshiftIndent(s.indentation):s.action===n.a.Indent?i.shiftIndent(s.indentation):s.indentation}return null},e.prototype.getIndentForEnter=function(e,t,o,i){e.forceTokenization(t.startLineNumber);var s,a,l=e.getLineTokens(t.startLineNumber),c=Object(r.a)(l,t.startColumn-1),h=c.getLineContent(),d=!1;(c.firstCharOffset>0&&l.getLanguageId(0)!==c.languageId?(d=!0,s=h.substr(0,t.startColumn-1-c.firstCharOffset)):s=l.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?a=h.substr(t.startColumn-1-c.firstCharOffset):a=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-c.firstCharOffset);var g=this.getIndentRulesSupport(c.languageId);if(!g)return null;var p=s,f=u.getLeadingWhitespace(s);if(!i&&!d){var m=this.getInheritIndentForLine(e,t.startLineNumber);g.shouldDecrease(s)&&m&&(f=m.indentation,m.action!==n.a.Indent&&(f=o.unshiftIndent(f))),p=f+u.ltrim(u.ltrim(s," "),"\t")}var _={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,o){return e.getLanguageIdAtPosition(t,o)},getLineContent:function(o){return o===t.startLineNumber?p:e.getLineContent(o)}},y=u.getLeadingWhitespace(l.getLineContent()),v=this.getInheritIndentForLine(_,t.startLineNumber+1);if(!v){var b=d?y:f;return{beforeEnter:b,afterEnter:b}}var E=d?y:v.indentation;return v.action===n.a.Indent&&(E=o.shiftIndent(E)),g.shouldDecrease(a)&&(E=o.unshiftIndent(E)),{beforeEnter:d?y:f,afterEnter:E}},e.prototype.getIndentActionForType=function(e,t,o,i){var r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),s=this.getIndentRulesSupport(r.languageId);if(!s)return null;var a,l=r.getLineContent(),u=l.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?a=l.substr(t.startColumn-1-r.firstCharOffset):a=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);if(!s.shouldDecrease(u+a)&&s.shouldDecrease(u+o+a)){var c=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!c)return null;var h=c.indentation;return c.action!==n.a.Indent&&(h=i.unshiftIndent(h)),h}return null},e.prototype.getIndentMetadata=function(e,t){var o=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return o?t<1||t>e.getLineCount()?null:o.getIndentMetadata(e.getLineContent(t)):null},e.prototype._getOnEnterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.onEnter||null},e.prototype.getRawEnterActionAtPosition=function(e,t,o){var n=this.getEnterAction(e,new f.a(t,o,t,o));return n?n.enterAction:null},e.prototype.getEnterAction=function(e,t){var o=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),i=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this._getOnEnterSupport(i.languageId);if(!r)return null;var s,a=i.getLineContent(),u=a.substr(0,t.startColumn-1-i.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-i.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-i.firstCharOffset);var c=t.startLineNumber,h="";if(c>1&&0===i.firstCharOffset){var d=this.getScopedLineTokens(e,c-1);d.languageId===i.languageId&&(h=d.getLineContent())}var g=null;try{g=r.onEnter(h,u,s)}catch(e){Object(l.e)(e)}return g?(g.appendText||(g.indentAction===n.a.Indent||g.indentAction===n.a.IndentOutdent?g.appendText="\t":g.appendText=""),g.removeText&&(o=o.substring(0,o.length-g.removeText)),{enterAction:g,indentation:o}):null},e.prototype.getIndentationAtPosition=function(e,t,o){var n=e.getLineContent(t),i=u.getLeadingWhitespace(n);return i.length>o-1&&(i=i.substring(0,o-1)),i},e.prototype.getScopedLineTokens=function(e,t,o){e.forceTokenization(t);var n=e.getLineTokens(t),i=isNaN(o)?e.getLineMaxColumn(t)-1:o-1;return Object(r.a)(n,i)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},function(e,t,o){"use strict";var n,i,r=o(15),s=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;var c="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,g=function(){function e(e,t,o,n,i){"object"==typeof e?(this.scheme=e.scheme||c,this.authority=e.authority||c,this.path=e.path||c,this.query=e.query||c,this.fragment=e.fragment||c):(this.scheme=e||c,this.authority=t||c,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,o||c),this.query=n||c,this.fragment=i||c,function(e){if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return y(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=c),void 0===o?o=this.authority:null===o&&(o=c),void 0===n?n=this.path:null===n&&(n=c),void 0===i?i=this.query:null===i&&(i=c),void 0===r?r=this.fragment:null===r&&(r=c),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new p(t,o,n,i,r)},e.parse=function(e){var t=d.exec(e);return t?new p(t[2]||c,decodeURIComponent(t[4]||c),decodeURIComponent(t[5]||c),decodeURIComponent(t[7]||c),decodeURIComponent(t[9]||c)):new p(c,c,c,c,c)},e.file=function(e){var t=c;if(r.g&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var o=e.indexOf(h,2);-1===o?(t=e.substring(2),e=h):(t=e.substring(2,o),e=e.substring(o)||h)}return new p("file",t,e,c,c)},e.from=function(e){return new p(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),v(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new p(t);return o._fsPath=t.fsPath,o._formatted=t.external,o}return t},e}();t.a=g;var p=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return s(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=y(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(g),f=((i={})[58]="%3A",i[47]="%2F",i[63]="%3F",i[35]="%23",i[91]="%5B",i[93]="%5D",i[64]="%40",i[33]="%21",i[36]="%24",i[38]="%26",i[39]="%27",i[40]="%28",i[41]="%29",i[42]="%2A",i[43]="%2B",i[44]="%2C",i[59]="%3B",i[61]="%3D",i[32]="%20",i);function m(e,t){for(var o=void 0,n=-1,i=0;i<e.length;i++){var r=e.charCodeAt(i);if(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=f[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function _(e){for(var t=void 0,o=0;o<e.length;o++){var n=e.charCodeAt(o);35===n||63===n?(void 0===t&&(t=e.substr(0,o)),t+=f[n]):void 0!==t&&(t+=e[o])}return void 0!==t?t:e}function y(e){var t;return t=e.authority&&e.path.length>1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,r.g&&(t=t.replace(/\//g,"\\")),t}function v(e,t){var o=t?_:m,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=h,n+=h),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(d=s.charCodeAt(1))>=65&&d<=90&&(s="/"+String.fromCharCode(d+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var d;(d=s.charCodeAt(0))>=65&&d<=90&&(s=String.fromCharCode(d+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:m(l,!1)),n}},function(e,t,o){"use strict";o.d(t,"a",(function(){return v}));o(436);var n,i=o(21),r=o(6),s=o(8),a=o(76),l=o(1),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c="_msDataKey";function h(e){return e[c]||(e[c]={}),e[c]}function d(e){return!!e[c]}var g=function(){function e(e,t){this.offdom=t,this.container=e,this.currentElement=e,this.createdElements=[],this.toDispose={},this.captureToDispose={}}return e.prototype.clone=function(){var t=new e(this.container,this.offdom);return t.currentElement=this.currentElement,t.createdElements=this.createdElements,t.captureToDispose=this.captureToDispose,t.toDispose=this.toDispose,t},e.prototype.build=function(t,o){a.a(this.offdom,"This builder was not created off-dom, so build() can not be called."),t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,a.a(t,"Builder can only be build() with a container provided."),a.a(l.C(t),"The container must either be a HTMLElement or a Builder.");var n,r,s=t,u=s.childNodes;if(i.f(o)&&o<u.length)for(n=0,r=this.createdElements.length;n<r;n++)s.insertBefore(this.createdElements[n],u[o++]);else for(n=0,r=this.createdElements.length;n<r;n++)s.appendChild(this.createdElements[n]);return this},e.prototype.appendTo=function(t,o){t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,a.a(t,"Builder can only be build() with a container provided."),a.a(l.C(t),"The container must either be a HTMLElement or a Builder.");var n=t;this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement);var r=n.childNodes;return i.f(o)&&o<r.length?n.insertBefore(this.currentElement,r[o]):n.appendChild(this.currentElement),this},e.prototype.getHTMLElement=function(){return this.currentElement},e.prototype.div=function(e,t){return this.doElement("div",e,t)},e.prototype.element=function(e,t,o){return this.doElement(e,t,o)},e.prototype.doElement=function(t,o,n){var r=document.createElement(t);if(this.currentElement=r,this.offdom&&this.createdElements.push(r),i.g(o)&&this.attr(o),i.e(o)&&(n=o),i.e(n)){var s=new e(r);n.call(s,s)}return this.offdom||this.container.appendChild(r),this},e.prototype.domBlur=function(){return this.currentElement.blur(),this},e.prototype.on=function(e,t,o,n){var r=this;if(i.b(e))e.forEach((function(e){r.on(e,t,o,n)}));else{var s=e,a=l.g(this.currentElement,s,(function(e){t(e,r,a)}),n||!1);n?(this.captureToDispose[s]||(this.captureToDispose[s]=[]),this.captureToDispose[s].push(a)):(this.toDispose[s]||(this.toDispose[s]=[]),this.toDispose[s].push(a));var u=this.getProperty("__$listeners",[]);u.push(a),this.setProperty("__$listeners",u),o&&i.b(o)&&o.push(a)}return this},e.prototype.off=function(e,t){var o=this;if(i.b(e))e.forEach((function(e){o.off(e)}));else{var n=e;t?this.captureToDispose[n]&&(this.captureToDispose[n]=Object(r.d)(this.captureToDispose[n])):this.toDispose[n]&&(this.toDispose[n]=Object(r.d)(this.toDispose[n]))}return this},e.prototype.attr=function(e,t){if(i.g(e)){for(var o in e)if(e.hasOwnProperty(o)){var n=e[o];this.doSetAttr(o,n)}return this}return i.h(e)&&!i.h(t)?this.currentElement.getAttribute(e):(i.h(e)&&(i.h(t)||(t=String(t)),this.doSetAttr(e,t)),this)},e.prototype.doSetAttr=function(e,t){"class"===e&&(e="addClass"),this[e]?i.b(t)?this[e].apply(this,t):this[e].call(this,t):this.currentElement.setAttribute(e,t)},e.prototype.style=function(e,t){if(i.g(e)){for(var o in e)if(e.hasOwnProperty(o)){var n=e[o];this.doSetStyle(o,n)}return this}var r=i.h(e);return r&&i.i(t)?this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]:(r&&this.doSetStyle(e,t),this)},e.prototype.doSetStyle=function(e,t){if(e.indexOf("-")>=0){var o=e.split("-");e=o[0];for(var n=1;n<o.length;n++){var i=o[n];e=e+i.charAt(0).toUpperCase()+i.substr(1)}}this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]=t},e.prototype.cssKeyToJavaScriptProperty=function(e){if(e.indexOf("-")>=0){var t=e.split("-");e=t[0];for(var o=1;o<t.length;o++){var n=t[o];e=e+n.charAt(0).toUpperCase()+n.substr(1)}}else"float"===e&&(e="cssFloat");return e},e.prototype.addClass=function(){for(var e=this,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.forEach((function(t){t.split(" ").forEach((function(t){l.f(e.currentElement,t)}))})),this},e.prototype.setClass=function(e,t){return void 0===t&&(t=null),null===t?this.currentElement.className=e:t?this.addClass(e):this.removeClass(e),this},e.prototype.hasClass=function(e){return l.z(this.currentElement,e)},e.prototype.removeClass=function(){for(var e=this,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.forEach((function(t){t.split(" ").forEach((function(t){l.G(e.currentElement,t)}))})),this},e.prototype.show=function(){return this.hasClass("monaco-builder-hidden")&&this.removeClass("monaco-builder-hidden"),this.attr("aria-hidden","false"),this.cancelVisibilityTimeout(),this},e.prototype.hide=function(){return this.hasClass("monaco-builder-hidden")||this.addClass("monaco-builder-hidden"),this.attr("aria-hidden","true"),this.cancelVisibilityTimeout(),this},e.prototype.cancelVisibilityTimeout=function(){var e=this.getProperty("__$visibility");e&&(e.dispose(),this.removeProperty("__$visibility"))},e.prototype.innerHtml=function(e,t){return t?this.currentElement.innerHTML+=e:this.currentElement.innerHTML=e,this},e.prototype.text=function(e,t){return t?0===this.currentElement.children.length?this.currentElement.textContent+=e:this.currentElement.appendChild(document.createTextNode(e)):this.currentElement.textContent=e,this},e.prototype.safeInnerHtml=function(e,t){return this.innerHtml(s.escape(e),t)},e.prototype.setProperty=function(e,t){return function(e,t,o){h(e)[t]=o}(this.currentElement,e,t),this},e.prototype.getProperty=function(e,t){return function(e,t,o){if(d(e)){var n=h(e)[t];if(!i.i(n))return n}return o}(this.currentElement,e,t)},e.prototype.removeProperty=function(e){return d(this.currentElement)&&delete h(this.currentElement)[e],this},e.prototype.unbindDescendants=function(e){if(e&&e.children)for(var t=0,o=e.children.length;t<o;t++){var n=e.children.item(t);if(d(n)){var r=h(n).__$listeners;if(i.b(r))for(;r.length;)r.pop().dispose();delete n[c]}this.unbindDescendants(n)}},e.prototype.empty=function(){return this.unbindDescendants(this.currentElement),this.clearChildren(),this.offdom&&(this.createdElements=[]),this},e.prototype.clearChildren=function(){return this.currentElement&&l.l(this.currentElement),this},e.prototype.destroy=function(){if(this.currentElement&&(this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement),this.empty(),d(this.currentElement))){var e=h(this.currentElement).__$listeners;if(i.b(e))for(;e.length;)e.pop().dispose();delete this.currentElement[c]}var t;for(t in this.toDispose)this.toDispose.hasOwnProperty(t)&&i.b(this.toDispose[t])&&(this.toDispose[t]=Object(r.d)(this.toDispose[t]));for(t in this.captureToDispose)this.captureToDispose.hasOwnProperty(t)&&i.b(this.captureToDispose[t])&&(this.captureToDispose[t]=Object(r.d)(this.captureToDispose[t]));this.currentElement=null,this.container=null,this.offdom=null,this.createdElements=null,this.captureToDispose=null,this.toDispose=null},e.prototype.dispose=function(){this.destroy()},e.prototype.getTotalSize=function(){var e=l.y(this.currentElement),t=l.x(this.currentElement);return new l.b(e,t)},e.prototype.getClientArea=function(){return l.q(this.currentElement)},e}(),p=function(e){function t(o){var n=this;if(a.a(i.b(o)||o instanceof t,"Expected Array or MultiBuilder as parameter"),(n=e.call(this)||this).length=0,n.builders=[],i.b(o))for(var r=0;r<o.length;r++)o[r]instanceof HTMLElement?n.push(m(o[r])):n.push(o[r]);else for(r=0;r<o.length;r++)n.push(o.item(r));var s=n,l=function(e){s[e]=function(){for(var o,n=Array.prototype.slice.call(arguments),r=!1,a=0;a<s.length;a++){var l=s.item(a)[e].apply(s.item(a),n);if(l instanceof t){o||(o=[]),r=!0;for(var u=0;u<l.length;u++)o.push(l.item(u))}else i.i(l)||l instanceof g||(o||(o=[]),o.push(l))}return o&&r?new t(o):o||s}};for(var u in g.prototype)"clone"!==u&&"and"!==u&&g.prototype.hasOwnProperty(u)&&i.e(g.prototype[u])&&l(u);return n}return u(t,e),t.prototype.item=function(e){return this.builders[e]},t.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0;o<e.length;o++)this.builders.push(e[o]);this.length=this.builders.length},t.prototype.clone=function(){return new t(this)},t}(g);function f(e,t){return e instanceof p?new p(e):new g(e.getHTMLElement(),t)}function m(e,t){return new g(e,t)}function _(){return new g(null,!0)}var y=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/,v=function(e){if(i.i(e))return _();if(!e)throw new Error("Bad use of $");if(l.C(e)||e===window)return m(e);if(i.b(e))return new p(e);if(e instanceof g)return f(e);if(i.h(e)){if("<"===e[0]){var t=void 0,o=document.createElement("div");if(o.innerHTML=s.format.apply(s,arguments),0===o.children.length)throw new Error("Bad use of $");if(1===o.children.length)return t=o.firstChild,o.removeChild(t),m(t);for(var n=[];o.firstChild;)t=o.firstChild,o.removeChild(t),n.push(m(t));return new p(n)}if(1===arguments.length){var r=y.exec(e);if(!r)throw new Error("Bad use of $");var a=r[1]||"div",u=r[3]||void 0,c=(r[4]||"").replace(/\./g," "),h={};return u&&(h.id=u),c&&(h.class=c),_().element(a,h)}var d=_();return d.element.apply(d,arguments),d}throw new Error("Bad use of $")}},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("codeEditorService")},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(6),i=o(21),r=o(22),s=o(201),a=Object(r.c)("commandService"),l=new(function(){function e(){this._commands=new Map}return e.prototype.registerCommand=function(e,t){var o=this;if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.description){for(var r=[],a=0,l=e.description.args;a<l.length;a++){var u=l[a];r.push(u.constraint)}var c=e.handler;e.handler=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return Object(i.k)(t,r),c.apply(void 0,[e].concat(t))}}var h=e.id,d=this._commands.get(h);d||(d=new s.a,this._commands.set(h,d));var g=d.unshift(e);return Object(n.f)((function(){g(),o._commands.get(h).isEmpty()&&o._commands.delete(h)}))},e.prototype.registerCommandAlias=function(e,t){return l.registerCommand(e,(function(e){for(var o,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];(o=e.get(a)).executeCommand.apply(o,[t].concat(n))}))},e.prototype.getCommand=function(e){var t=this._commands.get(e);if(t&&!t.isEmpty())return t.iterator().next().value},e.prototype.getCommands=function(){var e=this,t=Object.create(null);return this._commands.forEach((function(o,n){t[n]=e.getCommand(n)})),t},e}())},function(e,t,o){"use strict";o.d(t,"f",(function(){return h})),o.d(t,"b",(function(){return d})),o.d(t,"a",(function(){return g})),o.d(t,"d",(function(){return p})),o.d(t,"e",(function(){return m})),o.d(t,"c",(function(){return _}));var n,i=o(78),r=o(22),s=o(12),a=o(37),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},c=function(e,t){return function(o,n){t(o,n,e)}};function h(e){return void 0!==e.command}var d=function(){function e(){this.id=String(e.ID++)}return e.ID=1,e.EditorContext=new e,e.CommandPalette=new e,e.MenubarEditMenu=new e,e.MenubarSelectionMenu=new e,e}(),g=Object(r.c)("menuService"),p=new(function(){function e(){this._commands=Object.create(null),this._menuItems=Object.create(null)}return e.prototype.addCommand=function(e){var t=this._commands[e.id];return this._commands[e.id]=e,void 0!==t},e.prototype.getCommand=function(e){return this._commands[e]},e.prototype.appendMenuItem=function(e,t){var o=e.id,n=this._menuItems[o];return n?n.push(t):this._menuItems[o]=n=[t],{dispose:function(){var e=n.indexOf(t);e>=0&&n.splice(e,1)}}},e.prototype.getMenuItems=function(e){var t=e.id,o=this._menuItems[t]||[];return t===d.CommandPalette.id&&this._appendImplicitItems(o),o},e.prototype._appendImplicitItems=function(e){for(var t=new Set,o=0,n=e.filter((function(e){return h(e)}));o<n.length;o++){var i=n[o],r=i.command,s=i.alt;t.add(r.id),s&&t.add(s.id)}for(var a in this._commands)t.has(a)||e.push({command:this._commands[a]})},e}()),f=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i._commandService=n,i}return l(t,e),t.prototype.run=function(){for(var e,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return(e=this._commandService).executeCommand.apply(e,[this.id].concat(t))},t=u([c(2,a.b)],t)}(i.a),m=function(e){function t(t){var o=this;return(o="string"==typeof t.title?e.call(this,"",t.title,"submenu")||this:e.call(this,"",t.title.value,"submenu")||this).item=t,o}return l(t,e),t}(i.a),_=function(e){function t(o,n,i,r,s){var a=this;return(a="string"==typeof o.title?e.call(this,o.id,o.title,s)||this:e.call(this,o.id,o.title.value,s)||this)._cssClass=void 0,a._enabled=!o.precondition||r.contextMatchesRules(o.precondition),a._options=i||{},a.item=o,a.alt=n?new t(n,void 0,a._options,r,s):void 0,a}return l(t,e),t.prototype.run=function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n=[];return this._options.arg&&(n=n.concat([this._options.arg])),this._options.shouldForwardArgs&&(n=n.concat(t)),e.prototype.run.apply(this,n)},t=u([c(3,s.e),c(4,a.b)],t)}(f)},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return l})),o.d(t,"f",(function(){return u})),o.d(t,"e",(function(){return h})),o.d(t,"d",(function(){return g})),o.d(t,"c",(function(){return p}));var n,i=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),r=new i,s=new i,a=new i;function l(e,t){return(e|(65535&t)<<16>>>0)>>>0}function u(e,t){if(0===e)return null;var o=(65535&e)>>>0,n=(4294901760&e)>>>16;return 0!==n?new d(c(o,t),c(n,t)):c(o,t)}function c(e,t){var o=!!(2048&e),n=!!(256&e);return new h(2===t?n:o,!!(1024&e),!!(512&e),2===t?o:n,255&e)}!function(){function e(e,t,o,n){void 0===o&&(o=t),void 0===n&&(n=o),r.define(e,t),s.define(e,o),a.define(e,n)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"),e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")}(),function(e){e.toString=function(e){return r.keyCodeToStr(e)},e.fromString=function(e){return r.strToKeyCode(e)},e.toUserSettingsUS=function(e){return s.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return a.keyCodeToStr(e)},e.fromUserSettings=function(e){return s.strToKeyCode(e)||a.strToKeyCode(e)}}(n||(n={}));var h=function(){function e(e,t,o,n,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=o,this.metaKey=n,this.keyCode=i}return e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}(),d=function(e,t){this.type=2,this.firstPart=e,this.chordPart=t},g=function(e,t,o,n,i,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=o,this.metaKey=n,this.keyLabel=i,this.keyAriaLabel=r},p=function(){}},function(e,t,o){"use strict";o.d(t,"i",(function(){return r})),o.d(t,"g",(function(){return s})),o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"h",(function(){return d})),o.d(t,"f",(function(){return p})),o.d(t,"e",(function(){return f})),o.d(t,"d",(function(){return m}));var n=o(15),i=o(8),r="/",s=n.g?"\\":"/";function a(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");if(0===t)return".";if(0==~t)return e[0];if(~t==e.length-1)return a(e.substring(0,e.length-1));var o=e.substring(0,~t);return n.g&&":"===o[o.length-1]&&(o+=s),o}function l(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?e:~t==e.length-1?l(e.substring(0,e.length-1)):e.substr(1+~t)}function u(e){var t=~(e=l(e)).lastIndexOf(".");return t?e.substring(~t):""}var c=/(\/\.\.?\/)|(\/\.\.?)$|^(\.\.?\/)|(\/\/+)|(\\)/,h=/(\\\.\.?\\)|(\\\.\.?)$|^(\.\.?\\)|(\\\\+)|(\/)/;function d(e,t){if(null==e)return e;var o=e.length;if(0===o)return".";var i=n.g&&t;if(function(e,t){return t?!h.test(e):!c.test(e)}(e,i))return e;for(var r=i?"\\":"/",s=function(e,t){void 0===t&&(t="/");if(!e)return"";var o=e.length,n=e.charCodeAt(0);if(47===n||92===n){if((47===(n=e.charCodeAt(1))||92===n)&&47!==(n=e.charCodeAt(2))&&92!==n){for(var i=3,r=i;i<o&&(47!==(n=e.charCodeAt(i))&&92!==n);i++);if(n=e.charCodeAt(i+1),r!==i&&47!==n&&92!==n)for(i+=1;i<o;i++)if(47===(n=e.charCodeAt(i))||92===n)return e.slice(0,i+1).replace(/[\\/]/g,t)}return t}if((n>=65&&n<=90||n>=97&&n<=122)&&58===e.charCodeAt(1))return 47===(n=e.charCodeAt(2))||92===n?e.slice(0,2)+t:e.slice(0,2);var s=e.indexOf("://");if(-1!==s)for(s+=3;s<o;s++)if(47===(n=e.charCodeAt(s))||92===n)return e.slice(0,s+1);return""}(e,r),a=s.length,l=!1,u="",d=s.length;d<=o;d++)if(d===o||47===e.charCodeAt(d)||92===e.charCodeAt(d)){if(g(e,a,d,"..")){var p=u.lastIndexOf(r),f=u.slice(p+1);(s||f.length>0)&&".."!==f&&(u=-1===p?"":u.slice(0,p),l=!0)}else g(e,a,d,".")&&(s||u||d<o-1)&&(l=!0);if(!l){var m=e.slice(a,d);""!==u&&u[u.length-1]!==r&&(u+=r),u+=m}a=d+1,l=!1}return s+u}function g(e,t,o,n){return t+n.length===o&&e.indexOf(n,t)===t}var p=function(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];if(t>0){var n=e.charCodeAt(e.length-1);if(47!==n&&92!==n){var i=o.charCodeAt(0);47!==i&&92!==i&&(e+=r)}}e+=o}return d(e)};function f(e,t,o,n){if(void 0===n&&(n=s),e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(o){if(!Object(i.startsWithIgnoreCase)(e,t))return!1;if(t.length===e.length)return!0;var r=t.length;return t.charAt(t.length-1)===n&&r--,e.charAt(r)===n}return t.charAt(t.length-1)!==n&&(t+=n),0===e.indexOf(t)}function m(e){return n.g?function(e){if(!e)return!1;var t=e.charCodeAt(0);if(47===t||92===t)return!0;if((t>=65&&t<=90||t>=97&&t<=122)&&e.length>2&&58===e.charCodeAt(1)){var o=e.charCodeAt(2);if(47===o||92===o)return!0}return!1}(e):function(e){return e&&47===e.charCodeAt(0)}(e)}},function(e,t,o){"use strict";o.d(t,"b",(function(){return l})),o.d(t,"a",(function(){return u})),o.d(t,"c",(function(){return c}));var n,i=o(15),r=o(24),s=o(173),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(){function e(e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.target=e.target,this.detail=e.detail||1,"dblclick"===e.type&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,"number"==typeof e.pageX?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop);var t=s.a.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=t.left,this.posy-=t.top}return e.prototype.preventDefault=function(){this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}(),u=function(e){function t(t){var o=e.call(this,t)||this;return o.dataTransfer=t.dataTransfer,o}return a(t,e),t}(l),c=function(){function e(e,t,o){if(void 0===t&&(t=0),void 0===o&&(o=0),this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=o,this.deltaX=t,e){var n=e,s=e;void 0!==n.wheelDeltaY?this.deltaY=n.wheelDeltaY/120:void 0!==s.VERTICAL_AXIS&&s.axis===s.VERTICAL_AXIS&&(this.deltaY=-s.detail/3),void 0!==n.wheelDeltaX?r.m&&i.g?this.deltaX=-n.wheelDeltaX/120:this.deltaX=n.wheelDeltaX/120:void 0!==s.HORIZONTAL_AXIS&&s.axis===s.HORIZONTAL_AXIS&&(this.deltaX=-e.detail/3),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return u}));var n,i,r=o(6),s=o(4),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(i||(i={}));var l=function(){function e(e,t,o,n,i,r){(e|=0)<0&&(e=0),(o|=0)+e>(t|=0)&&(o=t-e),o<0&&(o=0),(n|=0)<0&&(n=0),(r|=0)+n>(i|=0)&&(r=i-n),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=o,this.height=n,this.scrollHeight=i,this.scrollTop=r}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.withScrollDimensions=function(t){return new e(void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,this.scrollTop)},e.prototype.withScrollPosition=function(t){return new e(this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.scrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.scrollTop)},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,o=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,i=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:o,scrollLeftChanged:n,heightChanged:i,scrollHeightChanged:r,scrollTopChanged:s}},e}(),u=function(e){function t(t,o){var n=e.call(this)||this;return n._onScroll=n._register(new s.a),n.onScroll=n._onScroll.event,n._smoothScrollDuration=t,n._scheduleAtNextAnimationFrame=o,n._state=new l(0,0,0,0,0,0),n._smoothScrolling=null,n}return a(t,e),t.prototype.dispose=function(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),e.prototype.dispose.call(this)},t.prototype.setSmoothScrollDuration=function(e){this._smoothScrollDuration=e},t.prototype.validateScrollPosition=function(e){return this._state.withScrollPosition(e)},t.prototype.getScrollDimensions=function(){return this._state},t.prototype.setScrollDimensions=function(e){var t=this._state.withScrollDimensions(e);this._setState(t),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)},t.prototype.getFutureScrollPosition=function(){return this._smoothScrolling?this._smoothScrolling.to:this._state},t.prototype.getCurrentScrollPosition=function(){return this._state},t.prototype.setScrollPositionNow=function(e){var t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t)},t.prototype.setScrollPositionSmooth=function(e){var t=this;if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};var o=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===o.scrollLeft&&this._smoothScrolling.to.scrollTop===o.scrollTop)return;var n=this._smoothScrolling.combine(this._state,o,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=n}else{o=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,o,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())}))},t.prototype._performSmoothScrolling=function(){var e=this,t=this._smoothScrolling.tick(),o=this._state.withScrollPosition(t);if(this._setState(o),t.isDone)return this._smoothScrolling.dispose(),void(this._smoothScrolling=null);this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){e._smoothScrolling&&(e._smoothScrolling.animationFrameDisposable=null,e._performSmoothScrolling())}))},t.prototype._setState=function(e){var t=this._state;t.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(r.a),c=function(e,t,o){this.scrollLeft=e,this.scrollTop=t,this.isDone=o};function h(e,t){var o=t-e;return function(t){return e+o*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,o,n){this.from=e,this.to=t,this.duration=n,this._startTime=o,this.animationFrameDisposable=null,this._initAnimations()}return e.prototype._initAnimations=function(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)},e.prototype._initAnimation=function(e,t,o){var n,i,r;if(Math.abs(e-t)>2.5*o){var s=void 0,a=void 0;return e<t?(s=e+.75*o,a=t-.75*o):(s=e-.75*o,a=t+.75*o),n=h(e,s),i=h(a,t),r=.33,function(e){return e<r?n(e/r):i((e-r)/(1-r))}}return h(e,t)},e.prototype.dispose=function(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)},e.prototype.acceptScrollDimensions=function(e){this.to=e.withScrollPosition(this.to),this._initAnimations()},e.prototype.tick=function(){return this._tick(Date.now())},e.prototype._tick=function(e){var t=(e-this._startTime)/this.duration;if(t<1){var o=this.scrollLeft(t),n=this.scrollTop(t);return new c(o,n,!1)}return new c(this.to.scrollLeft,this.to.scrollTop,!0)},e.prototype.combine=function(t,o,n){return e.start(t,o,n)},e.start=function(t,o,n){return n+=10,new e(t,o,Date.now()-10,n)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(23),i=function(){function e(e,t,o){void 0===o&&(o=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.endLineNumber,o.endColumn,o.endLineNumber,o.endColumn)},e}(),r=function(){function e(e,t,o){void 0===o&&(o=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.startLineNumber,o.startColumn,o.startLineNumber,o.startColumn)},e}(),s=function(){function e(e,t,o,n,i){void 0===i&&(i=!1),this._range=e,this._text=t,this._columnDeltaOffset=n,this._lineNumberDeltaOffset=o,this.insertsAutoWhitespace=i}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset,o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,o){this._range=e,this._text=t,this._initialSelection=o}return e.prototype.getEditOperations=function(e,t){t.addEditOperation(this._range,this._text),this._selectionId=t.trackSelection(this._initialSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._selectionId)},e}()},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));var i=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,o=e.notIn.length;t<o;t++){switch(e.notIn[t]){case"string":this._standardTokenMask|=2;break;case"comment":this._standardTokenMask|=1;break;case"regex":this._standardTokenMask|=4}}}return e.prototype.isOK=function(e){return 0==(this._standardTokenMask&e)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(98),i=o(22),r=(n.a,Object(i.c)("notificationService")),s=function(){}},function(e,t,o){"use strict";o.d(t,"c",(function(){return n})),o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return u}));var n,i,r,s=o(22),a=o(0),l=o(98);!function(e){e[e.Unnecessary=1]="Unnecessary"}(n||(n={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(i||(i={})),function(e){e.compare=function(e,t){return t-e};var t=Object.create(null);t[e.Error]=Object(a.a)("sev.error","Error"),t[e.Warning]=Object(a.a)("sev.warning","Warning"),t[e.Info]=Object(a.a)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case l.a.Error:return e.Error;case l.a.Warning:return e.Warning;case l.a.Info:return e.Info;case l.a.Ignore:return e.Hint}}}(i||(i={})),function(e){var t="";e.makeKey=function(e){var o=[t];return e.source?o.push(e.source.replace("¦","¦")):o.push(t),e.code?o.push(e.code.replace("¦","¦")):o.push(t),void 0!==e.severity&&null!==e.severity?o.push(i.toString(e.severity)):o.push(t),e.message?o.push(e.message.replace("¦","¦")):o.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?o.push(e.startLineNumber.toString()):o.push(t),void 0!==e.startColumn&&null!==e.startColumn?o.push(e.startColumn.toString()):o.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?o.push(e.endLineNumber.toString()):o.push(t),void 0!==e.endColumn&&null!==e.endColumn?o.push(e.endColumn.toString()):o.push(t),o.push(t),o.join("¦")}}(r||(r={}));var u=Object(s.c)("markerService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return g})),o.d(t,"b",(function(){return p})),o.d(t,"d",(function(){return f})),o.d(t,"c",(function(){return E})),o.d(t,"e",(function(){return S}));var n,i=o(17),r=o(25),s=o(8),a=o(30),l=o(13),u=o(3),c=o(11),h=o(12),d=o(48),g={Visible:new h.f("suggestWidgetVisible",!1),MultipleSuggestions:new h.f("suggestWidgetMultipleSuggestions",!1),MakesTextEdit:new h.f("suggestionMakesTextEdit",!0),AcceptOnKey:new h.f("suggestionSupportsAcceptOnKey",!0),AcceptSuggestionsOnEnter:new h.f("acceptSuggestionOnEnter",!0)};function p(){return n}function f(e,t,o,s,a,u){void 0===o&&(o="bottom"),void 0===u&&(u=d.a.None);var h=[],g=function(e){return"none"===e?function(e){return"snippet"!==e.type}:function(){return!0}}(o);t=t.clone();var p=c.u.orderedGroups(e);"none"!==o&&n&&p.unshift([n]);var f=a||{triggerKind:c.v.Invoke},y=!1,v=p.map((function(o){return function(){return Promise.all(o.map((function(o){if(Object(r.k)(s)||!(s.indexOf(o)<0))return Promise.resolve(o.provideCompletionItems(e,t,f,u)).then((function(i){var s=h.length;if(i&&!Object(r.k)(i.suggestions))for(var a=0,l=i.suggestions;a<l.length;a++){var u=l[a];g(u)&&(m(u,i),h.push({position:t,container:i,suggestion:u,support:o,resolve:_(o,u,e,t)}))}s!==h.length&&o!==n&&(y=!0)}),l.f)})))}}));return Object(i.k)(v,(function(){return y})).then((function(){return h.sort(E(o))}))}function m(e,t){"number"!=typeof e.overwriteBefore&&(e.overwriteBefore=0),("number"!=typeof e.overwriteAfter||e.overwriteAfter<0)&&(e.overwriteAfter=0)}function _(e,t,o,n){return function(i){return"function"==typeof e.resolveCompletionItem?Promise.resolve(e.resolveCompletionItem(o,n,t,i)).then((function(e){Object(a.a)(t,e)})):Promise.resolve(void 0)}}function y(e,t){var o=0;return"string"==typeof e.suggestion.sortText&&"string"==typeof t.suggestion.sortText&&(o=Object(s.compareIgnoreCase)(e.suggestion.sortText,t.suggestion.sortText)),0===o&&(o=Object(s.compareIgnoreCase)(e.suggestion.label,t.suggestion.label)),0===o&&e.suggestion.type!==t.suggestion.type&&("snippet"===e.suggestion.type?o=1:"snippet"===t.suggestion.type&&(o=-1)),o}function v(e,t){if(e.suggestion.type!==t.suggestion.type){if("snippet"===e.suggestion.type)return-1;if("snippet"===t.suggestion.type)return 1}return y(e,t)}function b(e,t){if(e.suggestion.type!==t.suggestion.type){if("snippet"===e.suggestion.type)return 1;if("snippet"===t.suggestion.type)return-1}return y(e,t)}function E(e){return"top"===e?v:"bottom"===e?b:y}Object(u.e)("_executeCompletionItemProvider",(function(e,t,o){var n={incomplete:!1,suggestions:[]},i=[],r=o.maxItemsToResolve||0;return f(e,t).then((function(e){for(var t=0,o=e;t<o.length;t++){var s=o[t];i.length<r&&i.push(s.resolve(d.a.None)),n.incomplete=n.incomplete||s.container.incomplete,n.suggestions.push(s.suggestion)}})).then((function(){return Promise.all(i)})).then((function(){return n}))}));var C=new(function(){function e(){this.onlyOnceSuggestions=[]}return e.prototype.provideCompletionItems=function(){var e={suggestions:this.onlyOnceSuggestions.slice(0)};return this.onlyOnceSuggestions.length=0,e},e}());function S(e,t){setTimeout((function(){var o;(o=C.onlyOnceSuggestions).push.apply(o,t),e.getContribution("editor.contrib.suggestController").triggerSuggest([C])}),0)}c.u.register("*",C)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return a}));var n,i=o(4),r=Object.freeze((function(e,t){var o=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(o)}}}));!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.b.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(n||(n={}));var s=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?r:(this._emitter||(this._emitter=new i.a),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)},e}(),a=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new s),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof s&&this._token.cancel():this._token=n.Cancelled},e.prototype.dispose=function(){this._token?this._token instanceof s&&this._token.dispose():this._token=n.None},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return n})),o.d(t,"i",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"h",(function(){return c})),o.d(t,"e",(function(){return h})),o.d(t,"d",(function(){return d})),o.d(t,"f",(function(){return g})),o.d(t,"g",(function(){return p}));var n,i=o(57),r=o(22),s=o(104),a=Object(r.c)("configurationService");function l(e,t){var o=Object.create(null);for(var n in e)u(o,n,e[n],t);return o}function u(e,t,o,n){for(var i=t.split("."),r=i.pop(),s=e,a=0;a<i.length;a++){var l=i[a],u=s[l];switch(typeof u){case"undefined":u=s[l]=Object.create(null);break;case"object":break;default:return void n("Ignoring "+t+" as "+i.slice(0,a+1).join(".")+" is "+JSON.stringify(u))}s=u}"object"==typeof s?s[r]=o:n("Ignoring "+t+" as "+i.join(".")+" is "+JSON.stringify(s))}function c(e,t){!function e(t,o){var n=o.shift();if(0===o.length)return void delete t[n];if(-1!==Object.keys(t).indexOf(n)){var i=t[n];"object"!=typeof i||Array.isArray(i)||(e(i,o),0===Object.keys(i).length&&delete t[n])}}(e,t.split("."))}function h(e,t,o){var n=function(e,t){for(var o=e,n=0;n<t.length;n++){if("object"!=typeof o||null===o)return;o=o[t[n]]}return o}(e,t.split("."));return void 0===n?o:n}function d(){var e=i.a.as(s.b.Configuration).getConfigurationProperties();return Object.keys(e)}function g(){var e=Object.create(null),t=i.a.as(s.b.Configuration).getConfigurationProperties();for(var o in t){u(e,o,t[o].default,(function(e){return console.error("Conflict in default settings: "+e)}))}return e}function p(e){return e.substring(1,e.length-1)}!function(e){e[e.USER=1]="USER",e[e.WORKSPACE=2]="WORKSPACE",e[e.WORKSPACE_FOLDER=3]="WORKSPACE_FOLDER",e[e.DEFAULT=4]="DEFAULT",e[e.MEMORY=5]="MEMORY"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(4),i=function(e,t,o){var i=function(e){return r.fire(e)},r=new n.a({onFirstListenerAdd:function(){e.addEventListener(t,i,o)},onLastListenerRemove:function(){e.removeEventListener(t,i,o)}});return r.event};function r(e){return Object(n.j)(e,(function(e){return e.preventDefault(),e.stopPropagation(),e}))}},function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var n=o(39),i=o(15),r=o(24),s=new Array(230),a=new Array(112);!function(){for(var e=0;e<a.length;e++)a[e]=-1;function t(e,t){s[e]=t,a[t]=e}t(3,7),t(8,1),t(9,2),t(13,3),t(16,4),t(17,5),t(18,6),t(19,7),t(20,8),t(27,9),t(32,10),t(33,11),t(34,12),t(35,13),t(36,14),t(37,15),t(38,16),t(39,17),t(40,18),t(45,19),t(46,20),t(48,21),t(49,22),t(50,23),t(51,24),t(52,25),t(53,26),t(54,27),t(55,28),t(56,29),t(57,30),t(65,31),t(66,32),t(67,33),t(68,34),t(69,35),t(70,36),t(71,37),t(72,38),t(73,39),t(74,40),t(75,41),t(76,42),t(77,43),t(78,44),t(79,45),t(80,46),t(81,47),t(82,48),t(83,49),t(84,50),t(85,51),t(86,52),t(87,53),t(88,54),t(89,55),t(90,56),t(93,58),t(96,93),t(97,94),t(98,95),t(99,96),t(100,97),t(101,98),t(102,99),t(103,100),t(104,101),t(105,102),t(106,103),t(107,104),t(108,105),t(109,106),t(110,107),t(111,108),t(112,59),t(113,60),t(114,61),t(115,62),t(116,63),t(117,64),t(118,65),t(119,66),t(120,67),t(121,68),t(122,69),t(123,70),t(124,71),t(125,72),t(126,73),t(127,74),t(128,75),t(129,76),t(130,77),t(144,78),t(145,79),t(186,80),t(187,81),t(188,82),t(189,83),t(190,84),t(191,85),t(192,86),t(193,110),t(194,111),t(219,87),t(220,88),t(221,89),t(222,90),t(223,91),t(226,92),t(229,109),r.k?t(91,57):r.j?(t(59,80),t(107,81),t(109,83),i.d&&t(224,57)):r.n&&(t(91,57),i.d?t(93,57):t(92,57))}();var l=i.d?256:2048,u=i.d?2048:256,c=function(){function e(e){var t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.keyCode=function(e){if(e.charCode){var t=String.fromCharCode(e.charCode).toUpperCase();return n.b.fromString(t)}return s[e.keyCode]||0}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e.prototype.toKeybinding=function(){return this._asRuntimeKeybinding},e.prototype.equals=function(e){return this._asKeybinding===e},e.prototype._computeKeybinding=function(){var e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);var t=0;return this.ctrlKey&&(t|=l),this.altKey&&(t|=512),this.shiftKey&&(t|=1024),this.metaKey&&(t|=u),t|=e},e.prototype._computeRuntimeKeybinding=function(){var e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new n.e(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)},e}()},function(e,t,o){"use strict";function n(e){return e&&"string"==typeof e.id}o.d(t,"c",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var i={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},r={ExecuteCommand:"executeCommand",ExecuteCommands:"executeCommands",Type:"type",ReplacePreviousChar:"replacePreviousChar",CompositionStart:"compositionStart",CompositionEnd:"compositionEnd",Paste:"paste",Cut:"cut",Undo:"undo",Redo:"redo"}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(2),i=function(){function e(){}return e.insert=function(e,t){return{range:new n.a(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e.delete=function(e){return{range:e,text:null}},e.replace=function(e,t){return{range:e,text:t}},e.replaceMove=function(e,t){return{range:e,text:t,forceMoveMarkers:!0}},e}()},function(e,t,o){"use strict";o.d(t,"f",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"d",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"e",(function(){return u}));var n=o(8),i=function(e,t,o,n){this.top=0|e,this.left=0|t,this.width=0|o,this.height=0|n},r=function(e,t){this.tabSize=e,this.data=t},s=function(e,t,o,n,i){this.content=e,this.continuesWithWrappedLine=t,this.minColumn=o,this.maxColumn=n,this.tokens=i},a=function(){function e(t,o,n,i,r,s,a,l,u){this.minColumn=t,this.maxColumn=o,this.content=n,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(n,s),this.containsRTL=e.containsRTL(n,this.isBasicASCII,r),this.tokens=a,this.inlineDecorations=l,this.tabSize=u}return e.isBasicASCII=function(e,t){return!t||n.isBasicASCII(e)},e.containsRTL=function(e,t,o){return!(t||!o)&&n.containsRTL(e)},e}(),l=function(e,t,o){this.range=e,this.inlineClassName=t,this.type=o},u=function(e,t){this.range=e,this.options=t}},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return n})),o.d(t,"b",(function(){return s}));var n,i=o(22),r=Object(i.c)("storageService");!function(e){e[e.GLOBAL=0]="GLOBAL",e[e.WORKSPACE=1]="WORKSPACE"}(n||(n={}));var s={_serviceBrand:void 0,store:function(){},remove:function(){},get:function(e,t,o){return o},getInteger:function(e,t,o){return o},getBoolean:function(e,t,o){return o}}},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return g})),o.d(t,"c",(function(){return p}));var n=o(0),i=o(4),r=o(40),s=o(6),a=o(8),l=o(155),u=o(10),c=o(2),h=function(){function e(e,t){this._parent=e,this._range=t,this._onRefChanged=new i.a,this.onRefChanged=this._onRefChanged.event,this._id=l.b.nextId()}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._parent.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"range",{get:function(){return this._range},set:function(e){this._range=e,this._onRefChanged.fire(this)},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return Object(n.a)("aria.oneReference","symbol in {0} on line {1} at column {2}",Object(r.a)(this.uri.fsPath),this.range.startLineNumber,this.range.startColumn)},e}(),d=function(){function e(e){this._modelReference=e}return Object.defineProperty(e.prototype,"_model",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.preview=function(e,t){void 0===t&&(t=8);var o=this._model;if(o){var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,s=e.endColumn,l=o.getWordUntilPosition({lineNumber:n,column:i-t}),u=new c.a(n,l.startColumn,n,i),h=new c.a(r,s,r,Number.MAX_VALUE);return{before:o.getValueInRange(u).replace(/^\s+/,a.empty),inside:o.getValueInRange(e),after:o.getValueInRange(h).replace(/\s+$/,a.empty)}}},e.prototype.dispose=function(){this._modelReference&&(this._modelReference.dispose(),this._modelReference=null)},e}(),g=function(){function e(e,t){this._parent=e,this._uri=t,this._children=[]}return Object.defineProperty(e.prototype,"id",{get:function(){return this._uri.toString()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"preview",{get:function(){return this._preview},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"failure",{get:function(){return this._loadFailure},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){var e=this.children.length;return 1===e?Object(n.a)("aria.fileReferences.1","1 symbol in {0}, full path {1}",Object(r.a)(this.uri.fsPath),this.uri.fsPath):Object(n.a)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Object(r.a)(this.uri.fsPath),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?u.b.as(this):e.createModelReference(this._uri).then((function(e){if(!e.object)throw e.dispose(),new Error;return t._preview=new d(e),t._resolved=!0,t}),(function(e){return t._children=[],t._resolved=!0,t._loadFailure=e,t}))},e.prototype.dispose=function(){this._preview&&(this._preview.dispose(),this._preview=null)},e}(),p=function(){function e(t){var o,n=this;this._groups=[],this._references=[],this._onDidChangeReferenceRange=new i.a,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._disposables=[],t.sort(e._compareReferences);for(var r=0,s=t;r<s.length;r++){var a=s[r];if(o&&o.uri.toString()===a.uri.toString()||(o=new g(this,a.uri),this.groups.push(o)),0===o.children.length||!c.a.equalsRange(a.range,o.children[o.children.length-1].range)){var l=new h(o,a.range);this._disposables.push(l.onRefChanged((function(e){return n._onDidChangeReferenceRange.fire(e)}))),this._references.push(l),o.children.push(l)}}}return Object.defineProperty(e.prototype,"empty",{get:function(){return 0===this._groups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"references",{get:function(){return this._references},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groups",{get:function(){return this._groups},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return this.empty?Object(n.a)("aria.result.0","No results found"):1===this.references.length?Object(n.a)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?Object(n.a)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):Object(n.a)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)},e.prototype.nextOrPreviousReference=function(e,t){var o=e.parent,n=o.children.indexOf(e),i=o.children.length,r=o.parent.groups.length;return 1===r||t&&n+1<i||!t&&n>0?(n=t?(n+1)%i:(n+i-1)%i,o.children[n]):(n=o.parent.groups.indexOf(o),t?(n=(n+1)%r,o.parent.groups[n].children[0]):(n=(n+r-1)%r,o.parent.groups[n].children[o.parent.groups[n].children.length-1]))},e.prototype.nearestReference=function(e,t){var o=this._references.map((function(o,n){return{idx:n,prefixLen:a.commonPrefixLength(o.uri.toString(),e.toString()),offsetDist:100*Math.abs(o.range.startLineNumber-t.lineNumber)+Math.abs(o.range.startColumn-t.column)}})).sort((function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:e.offsetDist>t.offsetDist?1:0}))[0];if(o)return this._references[o.idx]},e.prototype.dispose=function(){this._groups=Object(s.d)(this._groups),Object(s.d)(this._disposables),this._disposables.length=0},e._compareReferences=function(e,t){var o=e.uri.toString(),n=t.uri.toString();return o<n?-1:o>n?1:c.a.compareRangesUsingStarts(e.range,t.range)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var n=o(21),i=o(76),r=new(function(){function e(){this.data={}}return e.prototype.add=function(e,t){i.a(n.h(e)),i.a(n.g(t)),i.a(!this.data.hasOwnProperty(e),"There is already an extension with this id"),this.data[e]=t},e.prototype.as=function(e){return this.data[e]||null},e}())},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c})),o.d(t,"c",(function(){return h}));o(429);var n,i,r,s=o(0),a=o(15),l=o(1);function u(e){(n=document.createElement("div")).className="monaco-aria-container",(i=document.createElement("div")).className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),n.appendChild(i),(r=document.createElement("div")).className="monaco-status",r.setAttribute("role","status"),r.setAttribute("aria-atomic","true"),n.appendChild(r),e.appendChild(n)}function c(e){p(i,e)}function h(e){a.d?c(e):p(r,e)}var d=0,g=void 0;function p(e,t){if(n){switch(g===t?d++:(g=t,d=0),d){case 0:break;case 1:t=s.a("repeated","{0} (occurred again)",t);break;default:t=s.a("repeatedNtimes","{0} (occurred {1} times)",t,d)}l.l(e),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n,i=o(6),r=o(41),s=o(51),a=o(1),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype.onclick=function(e,t){this._register(a.g(e,a.d.CLICK,(function(e){return t(new r.b(e))})))},t.prototype.onmousedown=function(e,t){this._register(a.g(e,a.d.MOUSE_DOWN,(function(e){return t(new r.b(e))})))},t.prototype.onmouseover=function(e,t){this._register(a.g(e,a.d.MOUSE_OVER,(function(e){return t(new r.b(e))})))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(a.h(e,(function(e){return t(new r.b(e))})))},t.prototype.onkeydown=function(e,t){this._register(a.g(e,a.d.KEY_DOWN,(function(e){return t(new s.a(e))})))},t.prototype.onkeyup=function(e,t){this._register(a.g(e,a.d.KEY_UP,(function(e){return t(new s.a(e))})))},t.prototype.oninput=function(e,t){this._register(a.g(e,a.d.INPUT,t))},t.prototype.onblur=function(e,t){this._register(a.g(e,a.d.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(a.g(e,a.d.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(a.g(e,a.d.CHANGE,t))},t}(i.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(22),i=Object(n.c)("modelService");function r(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return r}));var n,i=o(22);!function(e){e[e.Default=1]="Default",e[e.User=2]="User"}(n||(n={}));var r=Object(i.c)("keybindingService")},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=o(20),i=o(9),r=o(2),s=function(e,t,o){this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=o},a=function(){function e(){}return e.left=function(e,t,o,i){return i>t.getLineMinColumn(o)?n.a.isLowSurrogate(t,o,i-2)?i-=2:i-=1:o>1&&(o-=1,i=t.getLineMaxColumn(o)),new s(o,i,0)},e.moveLeft=function(t,o,n,i,r){var s,a;if(n.hasSelection()&&!i)s=n.selection.startLineNumber,a=n.selection.startColumn;else{var l=e.left(t,o,n.position.lineNumber,n.position.column-(r-1));s=l.lineNumber,a=l.column}return n.move(i,s,a,0)},e.right=function(e,t,o,i){return i<t.getLineMaxColumn(o)?n.a.isHighSurrogate(t,o,i-1)?i+=2:i+=1:o<t.getLineCount()&&(o+=1,i=t.getLineMinColumn(o)),new s(o,i,0)},e.moveRight=function(t,o,n,i,r){var s,a;if(n.hasSelection()&&!i)s=n.selection.endLineNumber,a=n.selection.endColumn;else{var l=e.right(t,o,n.position.lineNumber,n.position.column+(r-1));s=l.lineNumber,a=l.column}return n.move(i,s,a,0)},e.down=function(e,t,o,i,r,a,l){var u=n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize)+r;o+=a;var c=t.getLineCount();return o>c?(o=c,l?i=t.getLineMaxColumn(o):(i=Math.min(t.getLineMaxColumn(o),i),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1))):(i=n.a.columnFromVisibleColumn2(e,t,o,u),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1)),r=u-n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize),new s(o,i,r)},e.moveDown=function(t,o,n,i,r){var s,a;n.hasSelection()&&!i?(s=n.selection.endLineNumber,a=n.selection.endColumn):(s=n.position.lineNumber,a=n.position.column);var l=e.down(t,o,s,a,n.leftoverVisibleColumns,r,!0);return n.move(i,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateDown=function(t,o,s){var a=s.selection,l=e.down(t,o,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.down(t,o,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.f(new r.a(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.a(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.up=function(e,t,o,i,r,a,l){var u=n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize)+r;return(o-=a)<1?(o=1,l?i=t.getLineMinColumn(o):(i=Math.min(t.getLineMaxColumn(o),i),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1))):(i=n.a.columnFromVisibleColumn2(e,t,o,u),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1)),r=u-n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize),new s(o,i,r)},e.moveUp=function(t,o,n,i,r){var s,a;n.hasSelection()&&!i?(s=n.selection.startLineNumber,a=n.selection.startColumn):(s=n.position.lineNumber,a=n.position.column);var l=e.up(t,o,s,a,n.leftoverVisibleColumns,r,!0);return n.move(i,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateUp=function(t,o,s){var a=s.selection,l=e.up(t,o,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.up(t,o,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.f(new r.a(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.a(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,o,n){var i,r=o.position.lineNumber,s=t.getLineMinColumn(r),a=t.getLineFirstNonWhitespaceColumn(r)||s;return i=o.position.column===a?s:a,o.move(n,r,i,0)},e.moveToEndOfLine=function(e,t,o,n){var i=o.position.lineNumber,r=t.getLineMaxColumn(i);return o.move(n,i,r,0)},e.moveToBeginningOfBuffer=function(e,t,o,n){return o.move(n,1,1,0)},e.moveToEndOfBuffer=function(e,t,o,n){var i=t.getLineCount(),r=t.getLineMaxColumn(i);return o.move(n,i,r,0)},e}()},function(e,t,o){"use strict";var n=o(127),i=o(272),r=o(182),s=o(339),a=o(168);function l(e){return e}function u(e,t){for(var o=0;o<e.length;++o)t[o]=255&e.charCodeAt(o);return t}t.newBlob=function(e,o){t.checkSupport("blob");try{return new Blob([e],{type:o})}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(e),n.getBlob(o)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var c={stringifyByChunk:function(e,t,o){var n=[],i=0,r=e.length;if(r<=o)return String.fromCharCode.apply(null,e);for(;i<r;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+o,r)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+o,r)))),i+=o;return n.join("")},stringifyByChar:function(e){for(var t="",o=0;o<e.length;o++)t+=String.fromCharCode(e[o]);return t},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var o=65536,n=t.getTypeOf(e),i=!0;if("uint8array"===n?i=c.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=c.applyCanBeUsed.nodebuffer),i)for(;o>1;)try{return c.stringifyByChunk(e,n,o)}catch(e){o=Math.floor(o/2)}return c.stringifyByChar(e)}function d(e,t){for(var o=0;o<e.length;o++)t[o]=e[o];return t}t.applyFromCharCode=h;var g={};g.string={string:l,array:function(e){return u(e,new Array(e.length))},arraybuffer:function(e){return g.string.uint8array(e).buffer},uint8array:function(e){return u(e,new Uint8Array(e.length))},nodebuffer:function(e){return u(e,r.allocBuffer(e.length))}},g.array={string:h,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},g.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},g.uint8array={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return r.newBufferFrom(e)}},g.nodebuffer={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return g.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:l},t.transformTo=function(e,o){if(o||(o=""),!e)return o;t.checkSupport(e);var n=t.getTypeOf(o);return g[n][e](o)},t.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":n.nodebuffer&&r.isBuffer(e)?"nodebuffer":n.uint8array&&e instanceof Uint8Array?"uint8array":n.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},t.checkSupport=function(e){if(!n[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},t.MAX_VALUE_16BITS=65535,t.MAX_VALUE_32BITS=-1,t.pretty=function(e){var t,o,n="";for(o=0;o<(e||"").length;o++)n+="\\x"+((t=e.charCodeAt(o))<16?"0":"")+t.toString(16).toUpperCase();return n},t.delay=function(e,t,o){s((function(){e.apply(o||null,t||[])}))},t.inherits=function(e,t){var o=function(){};o.prototype=t.prototype,e.prototype=new o},t.extend=function(){var e,t,o={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===o[t]&&(o[t]=arguments[e][t]);return o},t.prepareContent=function(e,o,r,s,l){return a.Promise.resolve(o).then((function(e){return n.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise((function(t,o){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(e){o(e.target.error)},n.readAsArrayBuffer(e)})):e})).then((function(o){var c,h=t.getTypeOf(o);return h?("arraybuffer"===h?o=t.transformTo("uint8array",o):"string"===h&&(l?o=i.decode(o):r&&!0!==s&&(o=u(c=o,n.uint8array?new Uint8Array(c.length):new Array(c.length)))),o):a.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},function(e,t,o){"use strict";(function(e){o.d(t,"b",(function(){return y}));var n=("undefined"!=typeof window?window:void 0!==e?e:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e,t){Object.keys(e).forEach((function(o){return t(e[o],o)}))}var r=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var o=e.state;this.state=("function"==typeof o?o():o)||{}},s={namespaced:{configurable:!0}};s.namespaced.get=function(){return!!this._rawModule.namespaced},r.prototype.addChild=function(e,t){this._children[e]=t},r.prototype.removeChild=function(e){delete this._children[e]},r.prototype.getChild=function(e){return this._children[e]},r.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},r.prototype.forEachChild=function(e){i(this._children,e)},r.prototype.forEachGetter=function(e){this._rawModule.getters&&i(this._rawModule.getters,e)},r.prototype.forEachAction=function(e){this._rawModule.actions&&i(this._rawModule.actions,e)},r.prototype.forEachMutation=function(e){this._rawModule.mutations&&i(this._rawModule.mutations,e)},Object.defineProperties(r.prototype,s);var a=function(e){this.register([],e,!1)};a.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},a.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,o){return e+((t=t.getChild(o)).namespaced?o+"/":"")}),"")},a.prototype.update=function(e){!function e(t,o,n){0;o.update(n);if(n.modules)for(var i in n.modules){if(!o.getChild(i))return void 0;e(t.concat(i),o.getChild(i),n.modules[i])}}([],this.root,e)},a.prototype.register=function(e,t,o){var n=this;void 0===o&&(o=!0);var s=new r(t,o);0===e.length?this.root=s:this.get(e.slice(0,-1)).addChild(e[e.length-1],s);t.modules&&i(t.modules,(function(t,i){n.register(e.concat(i),t,o)}))},a.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),o=e[e.length-1];t.getChild(o).runtime&&t.removeChild(o)};var l;var u=function(e){var t=this;void 0===e&&(e={}),!l&&"undefined"!=typeof window&&window.Vue&&_(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new a(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new l;var r=this,s=this.dispatch,u=this.commit;this.dispatch=function(e,t){return s.call(r,e,t)},this.commit=function(e,t,o){return u.call(r,e,t,o)},this.strict=i;var c=this._modules.root.state;p(this,c,[],this._modules.root),g(this,c),o.forEach((function(e){return e(t)})),(void 0!==e.devtools?e.devtools:l.config.devtools)&&function(e){n&&(e._devtoolHook=n,n.emit("vuex:init",e),n.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){n.emit("vuex:mutation",e,t)})))}(this)},c={state:{configurable:!0}};function h(e,t){return t.indexOf(e)<0&&t.push(e),function(){var o=t.indexOf(e);o>-1&&t.splice(o,1)}}function d(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var o=e.state;p(e,o,[],e._modules.root,!0),g(e,o,t)}function g(e,t,o){var n=e._vm;e.getters={};var r=e._wrappedGetters,s={};i(r,(function(t,o){s[o]=function(e,t){return function(){return e(t)}}(t,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})}));var a=l.config.silent;l.config.silent=!0,e._vm=new l({data:{$$state:t},computed:s}),l.config.silent=a,e.strict&&function(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}(e),n&&(o&&e._withCommit((function(){n._data.$$state=null})),l.nextTick((function(){return n.$destroy()})))}function p(e,t,o,n,i){var r=!o.length,s=e._modules.getNamespace(o);if(n.namespaced&&(e._modulesNamespaceMap[s]=n),!r&&!i){var a=f(t,o.slice(0,-1)),u=o[o.length-1];e._withCommit((function(){l.set(a,u,n.state)}))}var c=n.context=function(e,t,o){var n=""===t,i={dispatch:n?e.dispatch:function(o,n,i){var r=m(o,n,i),s=r.payload,a=r.options,l=r.type;return a&&a.root||(l=t+l),e.dispatch(l,s)},commit:n?e.commit:function(o,n,i){var r=m(o,n,i),s=r.payload,a=r.options,l=r.type;a&&a.root||(l=t+l),e.commit(l,s,a)}};return Object.defineProperties(i,{getters:{get:n?function(){return e.getters}:function(){return function(e,t){var o={},n=t.length;return Object.keys(e.getters).forEach((function(i){if(i.slice(0,n)===t){var r=i.slice(n);Object.defineProperty(o,r,{get:function(){return e.getters[i]},enumerable:!0})}})),o}(e,t)}},state:{get:function(){return f(e.state,o)}}}),i}(e,s,o);n.forEachMutation((function(t,o){!function(e,t,o,n){(e._mutations[t]||(e._mutations[t]=[])).push((function(t){o.call(e,n.state,t)}))}(e,s+o,t,c)})),n.forEachAction((function(t,o){var n=t.root?o:s+o,i=t.handler||t;!function(e,t,o,n){(e._actions[t]||(e._actions[t]=[])).push((function(t,i){var r,s=o.call(e,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:e.getters,rootState:e.state},t,i);return(r=s)&&"function"==typeof r.then||(s=Promise.resolve(s)),e._devtoolHook?s.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):s}))}(e,n,i,c)})),n.forEachGetter((function(t,o){!function(e,t,o,n){if(e._wrappedGetters[t])return void 0;e._wrappedGetters[t]=function(e){return o(n.state,n.getters,e.state,e.getters)}}(e,s+o,t,c)})),n.forEachChild((function(n,r){p(e,t,o.concat(r),n,i)}))}function f(e,t){return t.length?t.reduce((function(e,t){return e[t]}),e):e}function m(e,t,o){var n;return null!==(n=e)&&"object"==typeof n&&e.type&&(o=t,t=e,e=e.type),{type:e,payload:t,options:o}}function _(e){l&&e===l||
+var n=Object.freeze({});function i(e){return null==e}function r(e){return null!=e}function s(e){return!0===e}function a(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function l(e){return null!==e&&"object"==typeof e}var u=Object.prototype.toString;function c(e){return"[object Object]"===u.call(e)}function h(e){return"[object RegExp]"===u.call(e)}function d(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function g(e){return r(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||c(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function m(e,t){for(var o=Object.create(null),n=e.split(","),i=0;i<n.length;i++)o[n[i]]=!0;return t?function(e){return o[e.toLowerCase()]}:function(e){return o[e]}}m("slot,component",!0);var _=m("key,ref,slot,slot-scope,is");function y(e,t){if(e.length){var o=e.indexOf(t);if(o>-1)return e.splice(o,1)}}var v=Object.prototype.hasOwnProperty;function b(e,t){return v.call(e,t)}function E(e){var t=Object.create(null);return function(o){return t[o]||(t[o]=e(o))}}var C=/-(\w)/g,S=E((function(e){return e.replace(C,(function(e,t){return t?t.toUpperCase():""}))})),T=E((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),w=/\B([A-Z])/g,k=E((function(e){return e.replace(w,"-$1").toLowerCase()}));var O=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function o(o){var n=arguments.length;return n?n>1?e.apply(t,arguments):e.call(t,o):e.call(t)}return o._length=e.length,o};function R(e,t){t=t||0;for(var o=e.length-t,n=new Array(o);o--;)n[o]=e[o+t];return n}function N(e,t){for(var o in t)e[o]=t[o];return e}function L(e){for(var t={},o=0;o<e.length;o++)e[o]&&N(t,e[o]);return t}function I(e,t,o){}var D=function(e,t,o){return!1},A=function(e){return e};function P(e,t){if(e===t)return!0;var o=l(e),n=l(t);if(!o||!n)return!o&&!n&&String(e)===String(t);try{var i=Array.isArray(e),r=Array.isArray(t);if(i&&r)return e.length===t.length&&e.every((function(e,o){return P(e,t[o])}));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||r)return!1;var s=Object.keys(e),a=Object.keys(t);return s.length===a.length&&s.every((function(o){return P(e[o],t[o])}))}catch(e){return!1}}function M(e,t){for(var o=0;o<e.length;o++)if(P(e[o],t))return o;return-1}function x(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var B="data-server-rendered",F=["component","directive","filter"],H=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],U={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:D,isReservedAttr:D,isUnknownElement:D,getTagNamespace:I,parsePlatformTagName:A,mustUseProp:D,async:!0,_lifecycleHooks:H},V=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function W(e,t,o,n){Object.defineProperty(e,t,{value:o,enumerable:!!n,writable:!0,configurable:!0})}var j=new RegExp("[^"+V.source+".$_\\d]");var G,z="__proto__"in{},K="undefined"!=typeof window,Y="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,X=Y&&WXEnvironment.platform.toLowerCase(),q=K&&window.navigator.userAgent.toLowerCase(),$=q&&/msie|trident/.test(q),J=q&&q.indexOf("msie 9.0")>0,Z=q&&q.indexOf("edge/")>0,Q=(q&&q.indexOf("android"),q&&/iphone|ipad|ipod|ios/.test(q)||"ios"===X),ee=(q&&/chrome\/\d+/.test(q),q&&/phantomjs/.test(q),q&&q.match(/firefox\/(\d+)/)),te={}.watch,oe=!1;if(K)try{var ne={};Object.defineProperty(ne,"passive",{get:function(){oe=!0}}),window.addEventListener("test-passive",null,ne)}catch(e){}var ie=function(){return void 0===G&&(G=!K&&!Y&&void 0!==e&&(e.process&&"server"===e.process.env.VUE_ENV)),G},re=K&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function se(e){return"function"==typeof e&&/native code/.test(e.toString())}var ae,le="undefined"!=typeof Symbol&&se(Symbol)&&"undefined"!=typeof Reflect&&se(Reflect.ownKeys);ae="undefined"!=typeof Set&&se(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ue=I,ce=0,he=function(){this.id=ce++,this.subs=[]};he.prototype.addSub=function(e){this.subs.push(e)},he.prototype.removeSub=function(e){y(this.subs,e)},he.prototype.depend=function(){he.target&&he.target.addDep(this)},he.prototype.notify=function(){var e=this.subs.slice();for(var t=0,o=e.length;t<o;t++)e[t].update()},he.target=null;var de=[];function ge(e){de.push(e),he.target=e}function pe(){de.pop(),he.target=de[de.length-1]}var fe=function(e,t,o,n,i,r,s,a){this.tag=e,this.data=t,this.children=o,this.text=n,this.elm=i,this.ns=void 0,this.context=r,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=s,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=a,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},me={child:{configurable:!0}};me.child.get=function(){return this.componentInstance},Object.defineProperties(fe.prototype,me);var _e=function(e){void 0===e&&(e="");var t=new fe;return t.text=e,t.isComment=!0,t};function ye(e){return new fe(void 0,void 0,void 0,String(e))}function ve(e){var t=new fe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var be=Array.prototype,Ee=Object.create(be);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var t=be[e];W(Ee,e,(function(){for(var o=[],n=arguments.length;n--;)o[n]=arguments[n];var i,r=t.apply(this,o),s=this.__ob__;switch(e){case"push":case"unshift":i=o;break;case"splice":i=o.slice(2)}return i&&s.observeArray(i),s.dep.notify(),r}))}));var Ce=Object.getOwnPropertyNames(Ee),Se=!0;function Te(e){Se=e}var we=function(e){this.value=e,this.dep=new he,this.vmCount=0,W(e,"__ob__",this),Array.isArray(e)?(z?function(e,t){e.__proto__=t}(e,Ee):function(e,t,o){for(var n=0,i=o.length;n<i;n++){var r=o[n];W(e,r,t[r])}}(e,Ee,Ce),this.observeArray(e)):this.walk(e)};function ke(e,t){var o;if(l(e)&&!(e instanceof fe))return b(e,"__ob__")&&e.__ob__ instanceof we?o=e.__ob__:Se&&!ie()&&(Array.isArray(e)||c(e))&&Object.isExtensible(e)&&!e._isVue&&(o=new we(e)),t&&o&&o.vmCount++,o}function Oe(e,t,o,n,i){var r=new he,s=Object.getOwnPropertyDescriptor(e,t);if(!s||!1!==s.configurable){var a=s&&s.get,l=s&&s.set;a&&!l||2!==arguments.length||(o=e[t]);var u=!i&&ke(o);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=a?a.call(e):o;return he.target&&(r.depend(),u&&(u.dep.depend(),Array.isArray(t)&&function e(t){for(var o=void 0,n=0,i=t.length;n<i;n++)(o=t[n])&&o.__ob__&&o.__ob__.dep.depend(),Array.isArray(o)&&e(o)}(t))),t},set:function(t){var n=a?a.call(e):o;t===n||t!=t&&n!=n||a&&!l||(l?l.call(e,t):o=t,u=!i&&ke(t),r.notify())}})}}function Re(e,t,o){if(Array.isArray(e)&&d(t))return e.length=Math.max(e.length,t),e.splice(t,1,o),o;if(t in e&&!(t in Object.prototype))return e[t]=o,o;var n=e.__ob__;return e._isVue||n&&n.vmCount?o:n?(Oe(n.value,t,o),n.dep.notify(),o):(e[t]=o,o)}function Ne(e,t){if(Array.isArray(e)&&d(t))e.splice(t,1);else{var o=e.__ob__;e._isVue||o&&o.vmCount||b(e,t)&&(delete e[t],o&&o.dep.notify())}}we.prototype.walk=function(e){for(var t=Object.keys(e),o=0;o<t.length;o++)Oe(e,t[o])},we.prototype.observeArray=function(e){for(var t=0,o=e.length;t<o;t++)ke(e[t])};var Le=U.optionMergeStrategies;function Ie(e,t){if(!t)return e;for(var o,n,i,r=le?Reflect.ownKeys(t):Object.keys(t),s=0;s<r.length;s++)"__ob__"!==(o=r[s])&&(n=e[o],i=t[o],b(e,o)?n!==i&&c(n)&&c(i)&&Ie(n,i):Re(e,o,i));return e}function De(e,t,o){return o?function(){var n="function"==typeof t?t.call(o,o):t,i="function"==typeof e?e.call(o,o):e;return n?Ie(n,i):i}:t?e?function(){return Ie("function"==typeof t?t.call(this,this):t,"function"==typeof e?e.call(this,this):e)}:t:e}function Ae(e,t){var o=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return o?function(e){for(var t=[],o=0;o<e.length;o++)-1===t.indexOf(e[o])&&t.push(e[o]);return t}(o):o}function Pe(e,t,o,n){var i=Object.create(e||null);return t?N(i,t):i}Le.data=function(e,t,o){return o?De(e,t,o):t&&"function"!=typeof t?e:De(e,t)},H.forEach((function(e){Le[e]=Ae})),F.forEach((function(e){Le[e+"s"]=Pe})),Le.watch=function(e,t,o,n){if(e===te&&(e=void 0),t===te&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var r in N(i,e),t){var s=i[r],a=t[r];s&&!Array.isArray(s)&&(s=[s]),i[r]=s?s.concat(a):Array.isArray(a)?a:[a]}return i},Le.props=Le.methods=Le.inject=Le.computed=function(e,t,o,n){if(!e)return t;var i=Object.create(null);return N(i,e),t&&N(i,t),i},Le.provide=De;var Me=function(e,t){return void 0===t?e:t};function xe(e,t,o){if("function"==typeof t&&(t=t.options),function(e,t){var o=e.props;if(o){var n,i,r={};if(Array.isArray(o))for(n=o.length;n--;)"string"==typeof(i=o[n])&&(r[S(i)]={type:null});else if(c(o))for(var s in o)i=o[s],r[S(s)]=c(i)?i:{type:i};else 0;e.props=r}}(t),function(e,t){var o=e.inject;if(o){var n=e.inject={};if(Array.isArray(o))for(var i=0;i<o.length;i++)n[o[i]]={from:o[i]};else if(c(o))for(var r in o){var s=o[r];n[r]=c(s)?N({from:r},s):{from:s}}else 0}}(t),function(e){var t=e.directives;if(t)for(var o in t){var n=t[o];"function"==typeof n&&(t[o]={bind:n,update:n})}}(t),!t._base&&(t.extends&&(e=xe(e,t.extends,o)),t.mixins))for(var n=0,i=t.mixins.length;n<i;n++)e=xe(e,t.mixins[n],o);var r,s={};for(r in e)a(r);for(r in t)b(e,r)||a(r);function a(n){var i=Le[n]||Me;s[n]=i(e[n],t[n],o,n)}return s}function Be(e,t,o,n){if("string"==typeof o){var i=e[t];if(b(i,o))return i[o];var r=S(o);if(b(i,r))return i[r];var s=T(r);return b(i,s)?i[s]:i[o]||i[r]||i[s]}}function Fe(e,t,o,n){var i=t[e],r=!b(o,e),s=o[e],a=Ve(Boolean,i.type);if(a>-1)if(r&&!b(i,"default"))s=!1;else if(""===s||s===k(e)){var l=Ve(String,i.type);(l<0||a<l)&&(s=!0)}if(void 0===s){s=function(e,t,o){if(!b(t,"default"))return;var n=t.default;0;if(e&&e.$options.propsData&&void 0===e.$options.propsData[o]&&void 0!==e._props[o])return e._props[o];return"function"==typeof n&&"Function"!==He(t.type)?n.call(e):n}(n,i,e);var u=Se;Te(!0),ke(s),Te(u)}return s}function He(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Ue(e,t){return He(e)===He(t)}function Ve(e,t){if(!Array.isArray(t))return Ue(t,e)?0:-1;for(var o=0,n=t.length;o<n;o++)if(Ue(t[o],e))return o;return-1}function We(e,t,o){ge();try{if(t)for(var n=t;n=n.$parent;){var i=n.$options.errorCaptured;if(i)for(var r=0;r<i.length;r++)try{if(!1===i[r].call(n,e,t,o))return}catch(e){Ge(e,n,"errorCaptured hook")}}Ge(e,t,o)}finally{pe()}}function je(e,t,o,n,i){var r;try{(r=o?e.apply(t,o):e.call(t))&&!r._isVue&&g(r)&&!r._handled&&(r.catch((function(e){return We(e,n,i+" (Promise/async)")})),r._handled=!0)}catch(e){We(e,n,i)}return r}function Ge(e,t,o){if(U.errorHandler)try{return U.errorHandler.call(null,e,t,o)}catch(t){t!==e&&ze(t,null,"config.errorHandler")}ze(e,t,o)}function ze(e,t,o){if(!K&&!Y||"undefined"==typeof console)throw e;console.error(e)}var Ke,Ye=!1,Xe=[],qe=!1;function $e(){qe=!1;var e=Xe.slice(0);Xe.length=0;for(var t=0;t<e.length;t++)e[t]()}if("undefined"!=typeof Promise&&se(Promise)){var Je=Promise.resolve();Ke=function(){Je.then($e),Q&&setTimeout(I)},Ye=!0}else if($||"undefined"==typeof MutationObserver||!se(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())Ke=void 0!==o&&se(o)?function(){o($e)}:function(){setTimeout($e,0)};else{var Ze=1,Qe=new MutationObserver($e),et=document.createTextNode(String(Ze));Qe.observe(et,{characterData:!0}),Ke=function(){Ze=(Ze+1)%2,et.data=String(Ze)},Ye=!0}function tt(e,t){var o;if(Xe.push((function(){if(e)try{e.call(t)}catch(e){We(e,t,"nextTick")}else o&&o(t)})),qe||(qe=!0,Ke()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){o=e}))}var ot=new ae;function nt(e){!function e(t,o){var n,i;var r=Array.isArray(t);if(!r&&!l(t)||Object.isFrozen(t)||t instanceof fe)return;if(t.__ob__){var s=t.__ob__.dep.id;if(o.has(s))return;o.add(s)}if(r)for(n=t.length;n--;)e(t[n],o);else for(i=Object.keys(t),n=i.length;n--;)e(t[i[n]],o)}(e,ot),ot.clear()}var it=E((function(e){var t="&"===e.charAt(0),o="~"===(e=t?e.slice(1):e).charAt(0),n="!"===(e=o?e.slice(1):e).charAt(0);return{name:e=n?e.slice(1):e,once:o,capture:n,passive:t}}));function rt(e,t){function o(){var e=arguments,n=o.fns;if(!Array.isArray(n))return je(n,null,arguments,t,"v-on handler");for(var i=n.slice(),r=0;r<i.length;r++)je(i[r],null,e,t,"v-on handler")}return o.fns=e,o}function st(e,t,o,n,r,a){var l,u,c,h;for(l in e)u=e[l],c=t[l],h=it(l),i(u)||(i(c)?(i(u.fns)&&(u=e[l]=rt(u,a)),s(h.once)&&(u=e[l]=r(h.name,u,h.capture)),o(h.name,u,h.capture,h.passive,h.params)):u!==c&&(c.fns=u,e[l]=c));for(l in t)i(e[l])&&n((h=it(l)).name,t[l],h.capture)}function at(e,t,o){var n;e instanceof fe&&(e=e.data.hook||(e.data.hook={}));var a=e[t];function l(){o.apply(this,arguments),y(n.fns,l)}i(a)?n=rt([l]):r(a.fns)&&s(a.merged)?(n=a).fns.push(l):n=rt([a,l]),n.merged=!0,e[t]=n}function lt(e,t,o,n,i){if(r(t)){if(b(t,o))return e[o]=t[o],i||delete t[o],!0;if(b(t,n))return e[o]=t[n],i||delete t[n],!0}return!1}function ut(e){return a(e)?[ye(e)]:Array.isArray(e)?function e(t,o){var n=[];var l,u,c,h;for(l=0;l<t.length;l++)i(u=t[l])||"boolean"==typeof u||(c=n.length-1,h=n[c],Array.isArray(u)?u.length>0&&(ct((u=e(u,(o||"")+"_"+l))[0])&&ct(h)&&(n[c]=ye(h.text+u[0].text),u.shift()),n.push.apply(n,u)):a(u)?ct(h)?n[c]=ye(h.text+u):""!==u&&n.push(ye(u)):ct(u)&&ct(h)?n[c]=ye(h.text+u.text):(s(t._isVList)&&r(u.tag)&&i(u.key)&&r(o)&&(u.key="__vlist"+o+"_"+l+"__"),n.push(u)));return n}(e):void 0}function ct(e){return r(e)&&r(e.text)&&!1===e.isComment}function ht(e,t){if(e){for(var o=Object.create(null),n=le?Reflect.ownKeys(e):Object.keys(e),i=0;i<n.length;i++){var r=n[i];if("__ob__"!==r){for(var s=e[r].from,a=t;a;){if(a._provided&&b(a._provided,s)){o[r]=a._provided[s];break}a=a.$parent}if(!a)if("default"in e[r]){var l=e[r].default;o[r]="function"==typeof l?l.call(t):l}else 0}}return o}}function dt(e,t){if(!e||!e.length)return{};for(var o={},n=0,i=e.length;n<i;n++){var r=e[n],s=r.data;if(s&&s.attrs&&s.attrs.slot&&delete s.attrs.slot,r.context!==t&&r.fnContext!==t||!s||null==s.slot)(o.default||(o.default=[])).push(r);else{var a=s.slot,l=o[a]||(o[a]=[]);"template"===r.tag?l.push.apply(l,r.children||[]):l.push(r)}}for(var u in o)o[u].every(gt)&&delete o[u];return o}function gt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function pt(e,t,o){var i,r=Object.keys(t).length>0,s=e?!!e.$stable:!r,a=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(s&&o&&o!==n&&a===o.$key&&!r&&!o.$hasNormal)return o;for(var l in i={},e)e[l]&&"$"!==l[0]&&(i[l]=ft(t,l,e[l]))}else i={};for(var u in t)u in i||(i[u]=mt(t,u));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",s),W(i,"$key",a),W(i,"$hasNormal",r),i}function ft(e,t,o){var n=function(){var e=arguments.length?o.apply(null,arguments):o({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:ut(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return o.proxy&&Object.defineProperty(e,t,{get:n,enumerable:!0,configurable:!0}),n}function mt(e,t){return function(){return e[t]}}function _t(e,t){var o,n,i,s,a;if(Array.isArray(e)||"string"==typeof e)for(o=new Array(e.length),n=0,i=e.length;n<i;n++)o[n]=t(e[n],n);else if("number"==typeof e)for(o=new Array(e),n=0;n<e;n++)o[n]=t(n+1,n);else if(l(e))if(le&&e[Symbol.iterator]){o=[];for(var u=e[Symbol.iterator](),c=u.next();!c.done;)o.push(t(c.value,o.length)),c=u.next()}else for(s=Object.keys(e),o=new Array(s.length),n=0,i=s.length;n<i;n++)a=s[n],o[n]=t(e[a],a,n);return r(o)||(o=[]),o._isVList=!0,o}function yt(e,t,o,n){var i,r=this.$scopedSlots[e];r?(o=o||{},n&&(o=N(N({},n),o)),i=r(o)||t):i=this.$slots[e]||t;var s=o&&o.slot;return s?this.$createElement("template",{slot:s},i):i}function vt(e){return Be(this.$options,"filters",e)||A}function bt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function Et(e,t,o,n,i){var r=U.keyCodes[t]||o;return i&&n&&!U.keyCodes[t]?bt(i,n):r?bt(r,e):n?k(n)!==t:void 0}function Ct(e,t,o,n,i){if(o)if(l(o)){var r;Array.isArray(o)&&(o=L(o));var s=function(s){if("class"===s||"style"===s||_(s))r=e;else{var a=e.attrs&&e.attrs.type;r=n||U.mustUseProp(t,a,s)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var l=S(s),u=k(s);l in r||u in r||(r[s]=o[s],i&&((e.on||(e.on={}))["update:"+s]=function(e){o[s]=e}))};for(var a in o)s(a)}else;return e}function St(e,t){var o=this._staticTrees||(this._staticTrees=[]),n=o[e];return n&&!t?n:(wt(n=o[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),n)}function Tt(e,t,o){return wt(e,"__once__"+t+(o?"_"+o:""),!0),e}function wt(e,t,o){if(Array.isArray(e))for(var n=0;n<e.length;n++)e[n]&&"string"!=typeof e[n]&&kt(e[n],t+"_"+n,o);else kt(e,t,o)}function kt(e,t,o){e.isStatic=!0,e.key=t,e.isOnce=o}function Ot(e,t){if(t)if(c(t)){var o=e.on=e.on?N({},e.on):{};for(var n in t){var i=o[n],r=t[n];o[n]=i?[].concat(i,r):r}}else;return e}function Rt(e,t,o,n){t=t||{$stable:!o};for(var i=0;i<e.length;i++){var r=e[i];Array.isArray(r)?Rt(r,t,o):r&&(r.proxy&&(r.fn.proxy=!0),t[r.key]=r.fn)}return n&&(t.$key=n),t}function Nt(e,t){for(var o=0;o<t.length;o+=2){var n=t[o];"string"==typeof n&&n&&(e[t[o]]=t[o+1])}return e}function Lt(e,t){return"string"==typeof e?t+e:e}function It(e){e._o=Tt,e._n=f,e._s=p,e._l=_t,e._t=yt,e._q=P,e._i=M,e._m=St,e._f=vt,e._k=Et,e._b=Ct,e._v=ye,e._e=_e,e._u=Rt,e._g=Ot,e._d=Nt,e._p=Lt}function Dt(e,t,o,i,r){var a,l=this,u=r.options;b(i,"_uid")?(a=Object.create(i))._original=i:(a=i,i=i._original);var c=s(u._compiled),h=!c;this.data=e,this.props=t,this.children=o,this.parent=i,this.listeners=e.on||n,this.injections=ht(u.inject,i),this.slots=function(){return l.$slots||pt(e.scopedSlots,l.$slots=dt(o,i)),l.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return pt(e.scopedSlots,this.slots())}}),c&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=pt(e.scopedSlots,this.$slots)),u._scopeId?this._c=function(e,t,o,n){var r=Vt(a,e,t,o,n,h);return r&&!Array.isArray(r)&&(r.fnScopeId=u._scopeId,r.fnContext=i),r}:this._c=function(e,t,o,n){return Vt(a,e,t,o,n,h)}}function At(e,t,o,n,i){var r=ve(e);return r.fnContext=o,r.fnOptions=n,t.slot&&((r.data||(r.data={})).slot=t.slot),r}function Pt(e,t){for(var o in t)e[S(o)]=t[o]}It(Dt.prototype);var Mt={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var o=e;Mt.prepatch(o,o)}else{(e.componentInstance=function(e,t){var o={_isComponent:!0,_parentVnode:e,parent:t},n=e.data.inlineTemplate;r(n)&&(o.render=n.render,o.staticRenderFns=n.staticRenderFns);return new e.componentOptions.Ctor(o)}(e,Jt)).$mount(t?e.elm:void 0,t)}},prepatch:function(e,t){var o=t.componentOptions;!function(e,t,o,i,r){0;var s=i.data.scopedSlots,a=e.$scopedSlots,l=!!(s&&!s.$stable||a!==n&&!a.$stable||s&&e.$scopedSlots.$key!==s.$key),u=!!(r||e.$options._renderChildren||l);e.$options._parentVnode=i,e.$vnode=i,e._vnode&&(e._vnode.parent=i);if(e.$options._renderChildren=r,e.$attrs=i.data.attrs||n,e.$listeners=o||n,t&&e.$options.props){Te(!1);for(var c=e._props,h=e.$options._propKeys||[],d=0;d<h.length;d++){var g=h[d],p=e.$options.props;c[g]=Fe(g,p,t,e)}Te(!0),e.$options.propsData=t}o=o||n;var f=e.$options._parentListeners;e.$options._parentListeners=o,$t(e,o,f),u&&(e.$slots=dt(r,i.context),e.$forceUpdate());0}(t.componentInstance=e.componentInstance,o.propsData,o.listeners,t,o.children)},insert:function(e){var t,o=e.context,n=e.componentInstance;n._isMounted||(n._isMounted=!0,to(n,"mounted")),e.data.keepAlive&&(o._isMounted?((t=n)._inactive=!1,no.push(t)):eo(n,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,o){if(o&&(t._directInactive=!0,Qt(t)))return;if(!t._inactive){t._inactive=!0;for(var n=0;n<t.$children.length;n++)e(t.$children[n]);to(t,"deactivated")}}(t,!0):t.$destroy())}},xt=Object.keys(Mt);function Bt(e,t,o,a,u){if(!i(e)){var c=o.$options._base;if(l(e)&&(e=c.extend(e)),"function"==typeof e){var h;if(i(e.cid)&&void 0===(e=function(e,t){if(s(e.error)&&r(e.errorComp))return e.errorComp;if(r(e.resolved))return e.resolved;var o=jt;o&&r(e.owners)&&-1===e.owners.indexOf(o)&&e.owners.push(o);if(s(e.loading)&&r(e.loadingComp))return e.loadingComp;if(o&&!r(e.owners)){var n=e.owners=[o],a=!0,u=null,c=null;o.$on("hook:destroyed",(function(){return y(n,o)}));var h=function(e){for(var t=0,o=n.length;t<o;t++)n[t].$forceUpdate();e&&(n.length=0,null!==u&&(clearTimeout(u),u=null),null!==c&&(clearTimeout(c),c=null))},d=x((function(o){e.resolved=Gt(o,t),a?n.length=0:h(!0)})),p=x((function(t){r(e.errorComp)&&(e.error=!0,h(!0))})),f=e(d,p);return l(f)&&(g(f)?i(e.resolved)&&f.then(d,p):g(f.component)&&(f.component.then(d,p),r(f.error)&&(e.errorComp=Gt(f.error,t)),r(f.loading)&&(e.loadingComp=Gt(f.loading,t),0===f.delay?e.loading=!0:u=setTimeout((function(){u=null,i(e.resolved)&&i(e.error)&&(e.loading=!0,h(!1))}),f.delay||200)),r(f.timeout)&&(c=setTimeout((function(){c=null,i(e.resolved)&&p(null)}),f.timeout)))),a=!1,e.loading?e.loadingComp:e.resolved}}(h=e,c)))return function(e,t,o,n,i){var r=_e();return r.asyncFactory=e,r.asyncMeta={data:t,context:o,children:n,tag:i},r}(h,t,o,a,u);t=t||{},To(e),r(t.model)&&function(e,t){var o=e.model&&e.model.prop||"value",n=e.model&&e.model.event||"input";(t.attrs||(t.attrs={}))[o]=t.model.value;var i=t.on||(t.on={}),s=i[n],a=t.model.callback;r(s)?(Array.isArray(s)?-1===s.indexOf(a):s!==a)&&(i[n]=[a].concat(s)):i[n]=a}(e.options,t);var d=function(e,t,o){var n=t.options.props;if(!i(n)){var s={},a=e.attrs,l=e.props;if(r(a)||r(l))for(var u in n){var c=k(u);lt(s,l,u,c,!0)||lt(s,a,u,c,!1)}return s}}(t,e);if(s(e.options.functional))return function(e,t,o,i,s){var a=e.options,l={},u=a.props;if(r(u))for(var c in u)l[c]=Fe(c,u,t||n);else r(o.attrs)&&Pt(l,o.attrs),r(o.props)&&Pt(l,o.props);var h=new Dt(o,l,s,i,e),d=a.render.call(null,h._c,h);if(d instanceof fe)return At(d,o,h.parent,a,h);if(Array.isArray(d)){for(var g=ut(d)||[],p=new Array(g.length),f=0;f<g.length;f++)p[f]=At(g[f],o,h.parent,a,h);return p}}(e,d,t,o,a);var p=t.on;if(t.on=t.nativeOn,s(e.options.abstract)){var f=t.slot;t={},f&&(t.slot=f)}!function(e){for(var t=e.hook||(e.hook={}),o=0;o<xt.length;o++){var n=xt[o],i=t[n],r=Mt[n];i===r||i&&i._merged||(t[n]=i?Ft(r,i):r)}}(t);var m=e.options.name||u;return new fe("vue-component-"+e.cid+(m?"-"+m:""),t,void 0,void 0,void 0,o,{Ctor:e,propsData:d,listeners:p,tag:u,children:a},h)}}}function Ft(e,t){var o=function(o,n){e(o,n),t(o,n)};return o._merged=!0,o}var Ht=1,Ut=2;function Vt(e,t,o,n,u,c){return(Array.isArray(o)||a(o))&&(u=n,n=o,o=void 0),s(c)&&(u=Ut),function(e,t,o,n,a){if(r(o)&&r(o.__ob__))return _e();r(o)&&r(o.is)&&(t=o.is);if(!t)return _e();0;Array.isArray(n)&&"function"==typeof n[0]&&((o=o||{}).scopedSlots={default:n[0]},n.length=0);a===Ut?n=ut(n):a===Ht&&(n=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(n));var u,c;if("string"==typeof t){var h;c=e.$vnode&&e.$vnode.ns||U.getTagNamespace(t),u=U.isReservedTag(t)?new fe(U.parsePlatformTagName(t),o,n,void 0,void 0,e):o&&o.pre||!r(h=Be(e.$options,"components",t))?new fe(t,o,n,void 0,void 0,e):Bt(h,o,e,n,t)}else u=Bt(t,o,e,n);return Array.isArray(u)?u:r(u)?(r(c)&&function e(t,o,n){t.ns=o;"foreignObject"===t.tag&&(o=void 0,n=!0);if(r(t.children))for(var a=0,l=t.children.length;a<l;a++){var u=t.children[a];r(u.tag)&&(i(u.ns)||s(n)&&"svg"!==u.tag)&&e(u,o,n)}}(u,c),r(o)&&function(e){l(e.style)&&nt(e.style);l(e.class)&&nt(e.class)}(o),u):_e()}(e,t,o,n,u)}var Wt,jt=null;function Gt(e,t){return(e.__esModule||le&&"Module"===e[Symbol.toStringTag])&&(e=e.default),l(e)?t.extend(e):e}function zt(e){return e.isComment&&e.asyncFactory}function Kt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var o=e[t];if(r(o)&&(r(o.componentOptions)||zt(o)))return o}}function Yt(e,t){Wt.$on(e,t)}function Xt(e,t){Wt.$off(e,t)}function qt(e,t){var o=Wt;return function n(){var i=t.apply(null,arguments);null!==i&&o.$off(e,n)}}function $t(e,t,o){Wt=e,st(t,o||{},Yt,Xt,qt,e),Wt=void 0}var Jt=null;function Zt(e){var t=Jt;return Jt=e,function(){Jt=t}}function Qt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function eo(e,t){if(t){if(e._directInactive=!1,Qt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var o=0;o<e.$children.length;o++)eo(e.$children[o]);to(e,"activated")}}function to(e,t){ge();var o=e.$options[t],n=t+" hook";if(o)for(var i=0,r=o.length;i<r;i++)je(o[i],e,null,e,n);e._hasHookEvent&&e.$emit("hook:"+t),pe()}var oo=[],no=[],io={},ro=!1,so=!1,ao=0;var lo=0,uo=Date.now;if(K&&!$){var co=window.performance;co&&"function"==typeof co.now&&uo()>document.createEvent("Event").timeStamp&&(uo=function(){return co.now()})}function ho(){var e,t;for(lo=uo(),so=!0,oo.sort((function(e,t){return e.id-t.id})),ao=0;ao<oo.length;ao++)(e=oo[ao]).before&&e.before(),t=e.id,io[t]=null,e.run();var o=no.slice(),n=oo.slice();ao=oo.length=no.length=0,io={},ro=so=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,eo(e[t],!0)}(o),function(e){var t=e.length;for(;t--;){var o=e[t],n=o.vm;n._watcher===o&&n._isMounted&&!n._isDestroyed&&to(n,"updated")}}(n),re&&U.devtools&&re.emit("flush")}var go=0,po=function(e,t,o,n,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),n?(this.deep=!!n.deep,this.user=!!n.user,this.lazy=!!n.lazy,this.sync=!!n.sync,this.before=n.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=o,this.id=++go,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ae,this.newDepIds=new ae,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!j.test(e)){var t=e.split(".");return function(e){for(var o=0;o<t.length;o++){if(!e)return;e=e[t[o]]}return e}}}(t),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};po.prototype.get=function(){var e;ge(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;We(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&nt(e),pe(),this.cleanupDeps()}return e},po.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},po.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var o=this.depIds;this.depIds=this.newDepIds,this.newDepIds=o,this.newDepIds.clear(),o=this.deps,this.deps=this.newDeps,this.newDeps=o,this.newDeps.length=0},po.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==io[t]){if(io[t]=!0,so){for(var o=oo.length-1;o>ao&&oo[o].id>e.id;)o--;oo.splice(o+1,0,e)}else oo.push(e);ro||(ro=!0,tt(ho))}}(this)},po.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||l(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){We(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},po.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},po.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},po.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var fo={enumerable:!0,configurable:!0,get:I,set:I};function mo(e,t,o){fo.get=function(){return this[t][o]},fo.set=function(e){this[t][o]=e},Object.defineProperty(e,o,fo)}function _o(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var o=e.$options.propsData||{},n=e._props={},i=e.$options._propKeys=[];e.$parent&&Te(!1);var r=function(r){i.push(r);var s=Fe(r,t,o,e);Oe(n,r,s),r in e||mo(e,"_props",r)};for(var s in t)r(s);Te(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var o in t)e[o]="function"!=typeof t[o]?I:O(t[o],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;c(t=e._data="function"==typeof t?function(e,t){ge();try{return e.call(t,t)}catch(e){return We(e,t,"data()"),{}}finally{pe()}}(t,e):t||{})||(t={});var o=Object.keys(t),n=e.$options.props,i=(e.$options.methods,o.length);for(;i--;){var r=o[i];0,n&&b(n,r)||(s=void 0,36!==(s=(r+"").charCodeAt(0))&&95!==s&&mo(e,"_data",r))}var s;ke(t,!0)}(e):ke(e._data={},!0),t.computed&&function(e,t){var o=e._computedWatchers=Object.create(null),n=ie();for(var i in t){var r=t[i],s="function"==typeof r?r:r.get;0,n||(o[i]=new po(e,s||I,I,yo)),i in e||vo(e,i,r)}}(e,t.computed),t.watch&&t.watch!==te&&function(e,t){for(var o in t){var n=t[o];if(Array.isArray(n))for(var i=0;i<n.length;i++)Co(e,o,n[i]);else Co(e,o,n)}}(e,t.watch)}var yo={lazy:!0};function vo(e,t,o){var n=!ie();"function"==typeof o?(fo.get=n?bo(t):Eo(o),fo.set=I):(fo.get=o.get?n&&!1!==o.cache?bo(t):Eo(o.get):I,fo.set=o.set||I),Object.defineProperty(e,t,fo)}function bo(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),he.target&&t.depend(),t.value}}function Eo(e){return function(){return e.call(this,this)}}function Co(e,t,o,n){return c(o)&&(n=o,o=o.handler),"string"==typeof o&&(o=e[o]),e.$watch(t,o,n)}var So=0;function To(e){var t=e.options;if(e.super){var o=To(e.super);if(o!==e.superOptions){e.superOptions=o;var n=function(e){var t,o=e.options,n=e.sealedOptions;for(var i in o)o[i]!==n[i]&&(t||(t={}),t[i]=o[i]);return t}(e);n&&N(e.extendOptions,n),(t=e.options=xe(o,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function wo(e){this._init(e)}function ko(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var o=this,n=o.cid,i=e._Ctor||(e._Ctor={});if(i[n])return i[n];var r=e.name||o.options.name;var s=function(e){this._init(e)};return(s.prototype=Object.create(o.prototype)).constructor=s,s.cid=t++,s.options=xe(o.options,e),s.super=o,s.options.props&&function(e){var t=e.options.props;for(var o in t)mo(e.prototype,"_props",o)}(s),s.options.computed&&function(e){var t=e.options.computed;for(var o in t)vo(e.prototype,o,t[o])}(s),s.extend=o.extend,s.mixin=o.mixin,s.use=o.use,F.forEach((function(e){s[e]=o[e]})),r&&(s.options.components[r]=s),s.superOptions=o.options,s.extendOptions=e,s.sealedOptions=N({},s.options),i[n]=s,s}}function Oo(e){return e&&(e.Ctor.options.name||e.tag)}function Ro(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function No(e,t){var o=e.cache,n=e.keys,i=e._vnode;for(var r in o){var s=o[r];if(s){var a=Oo(s.componentOptions);a&&!t(a)&&Lo(o,r,n,i)}}}function Lo(e,t,o,n){var i=e[t];!i||n&&i.tag===n.tag||i.componentInstance.$destroy(),e[t]=null,y(o,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=So++,t._isVue=!0,e&&e._isComponent?function(e,t){var o=e.$options=Object.create(e.constructor.options),n=t._parentVnode;o.parent=t.parent,o._parentVnode=n;var i=n.componentOptions;o.propsData=i.propsData,o._parentListeners=i.listeners,o._renderChildren=i.children,o._componentTag=i.tag,t.render&&(o.render=t.render,o.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=xe(To(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,o=t.parent;if(o&&!t.abstract){for(;o.$options.abstract&&o.$parent;)o=o.$parent;o.$children.push(e)}e.$parent=o,e.$root=o?o.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&$t(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,o=e.$vnode=t._parentVnode,i=o&&o.context;e.$slots=dt(t._renderChildren,i),e.$scopedSlots=n,e._c=function(t,o,n,i){return Vt(e,t,o,n,i,!1)},e.$createElement=function(t,o,n,i){return Vt(e,t,o,n,i,!0)};var r=o&&o.data;Oe(e,"$attrs",r&&r.attrs||n,null,!0),Oe(e,"$listeners",t._parentListeners||n,null,!0)}(t),to(t,"beforeCreate"),function(e){var t=ht(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(o){Oe(e,o,t[o])})),Te(!0))}(t),_o(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),to(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(wo),function(e){var t={get:function(){return this._data}},o={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",o),e.prototype.$set=Re,e.prototype.$delete=Ne,e.prototype.$watch=function(e,t,o){if(c(t))return Co(this,e,t,o);(o=o||{}).user=!0;var n=new po(this,e,t,o);if(o.immediate)try{t.call(this,n.value)}catch(e){We(e,this,'callback for immediate watcher "'+n.expression+'"')}return function(){n.teardown()}}}(wo),function(e){var t=/^hook:/;e.prototype.$on=function(e,o){var n=this;if(Array.isArray(e))for(var i=0,r=e.length;i<r;i++)n.$on(e[i],o);else(n._events[e]||(n._events[e]=[])).push(o),t.test(e)&&(n._hasHookEvent=!0);return n},e.prototype.$once=function(e,t){var o=this;function n(){o.$off(e,n),t.apply(o,arguments)}return n.fn=t,o.$on(e,n),o},e.prototype.$off=function(e,t){var o=this;if(!arguments.length)return o._events=Object.create(null),o;if(Array.isArray(e)){for(var n=0,i=e.length;n<i;n++)o.$off(e[n],t);return o}var r,s=o._events[e];if(!s)return o;if(!t)return o._events[e]=null,o;for(var a=s.length;a--;)if((r=s[a])===t||r.fn===t){s.splice(a,1);break}return o},e.prototype.$emit=function(e){var t=this,o=t._events[e];if(o){o=o.length>1?R(o):o;for(var n=R(arguments,1),i='event handler for "'+e+'"',r=0,s=o.length;r<s;r++)je(o[r],t,n,t,i)}return t}}(wo),function(e){e.prototype._update=function(e,t){var o=this,n=o.$el,i=o._vnode,r=Zt(o);o._vnode=e,o.$el=i?o.__patch__(i,e):o.__patch__(o.$el,e,t,!1),r(),n&&(n.__vue__=null),o.$el&&(o.$el.__vue__=o),o.$vnode&&o.$parent&&o.$vnode===o.$parent._vnode&&(o.$parent.$el=o.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){to(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||y(t.$children,e),e._watcher&&e._watcher.teardown();for(var o=e._watchers.length;o--;)e._watchers[o].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),to(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(wo),function(e){It(e.prototype),e.prototype.$nextTick=function(e){return tt(e,this)},e.prototype._render=function(){var e,t=this,o=t.$options,n=o.render,i=o._parentVnode;i&&(t.$scopedSlots=pt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=i;try{jt=t,e=n.call(t._renderProxy,t.$createElement)}catch(o){We(o,t,"render"),e=t._vnode}finally{jt=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof fe||(e=_e()),e.parent=i,e}}(wo);var Io=[String,RegExp,Array],Do={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Io,exclude:Io,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Lo(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){No(e,(function(e){return Ro(t,e)}))})),this.$watch("exclude",(function(t){No(e,(function(e){return!Ro(t,e)}))}))},render:function(){var e=this.$slots.default,t=Kt(e),o=t&&t.componentOptions;if(o){var n=Oo(o),i=this.include,r=this.exclude;if(i&&(!n||!Ro(i,n))||r&&n&&Ro(r,n))return t;var s=this.cache,a=this.keys,l=null==t.key?o.Ctor.cid+(o.tag?"::"+o.tag:""):t.key;s[l]?(t.componentInstance=s[l].componentInstance,y(a,l),a.push(l)):(s[l]=t,a.push(l),this.max&&a.length>parseInt(this.max)&&Lo(s,a[0],a,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return U}};Object.defineProperty(e,"config",t),e.util={warn:ue,extend:N,mergeOptions:xe,defineReactive:Oe},e.set=Re,e.delete=Ne,e.nextTick=tt,e.observable=function(e){return ke(e),e},e.options=Object.create(null),F.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,N(e.options.components,Do),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var o=R(arguments,1);return o.unshift(this),"function"==typeof e.install?e.install.apply(e,o):"function"==typeof e&&e.apply(null,o),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=xe(this.options,e),this}}(e),ko(e),function(e){F.forEach((function(t){e[t]=function(e,o){return o?("component"===t&&c(o)&&(o.name=o.name||e,o=this.options._base.extend(o)),"directive"===t&&"function"==typeof o&&(o={bind:o,update:o}),this.options[t+"s"][e]=o,o):this.options[t+"s"][e]}}))}(e)}(wo),Object.defineProperty(wo.prototype,"$isServer",{get:ie}),Object.defineProperty(wo.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wo,"FunctionalRenderContext",{value:Dt}),wo.version="2.6.10";var Ao=m("style,class"),Po=m("input,textarea,option,select,progress"),Mo=m("contenteditable,draggable,spellcheck"),xo=m("events,caret,typing,plaintext-only"),Bo=function(e,t){return Wo(t)||"false"===t?"false":"contenteditable"===e&&xo(t)?t:"true"},Fo=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Ho="http://www.w3.org/1999/xlink",Uo=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Vo=function(e){return Uo(e)?e.slice(6,e.length):""},Wo=function(e){return null==e||!1===e};function jo(e){for(var t=e.data,o=e,n=e;r(n.componentInstance);)(n=n.componentInstance._vnode)&&n.data&&(t=Go(n.data,t));for(;r(o=o.parent);)o&&o.data&&(t=Go(t,o.data));return function(e,t){if(r(e)||r(t))return zo(e,Ko(t));return""}(t.staticClass,t.class)}function Go(e,t){return{staticClass:zo(e.staticClass,t.staticClass),class:r(e.class)?[e.class,t.class]:t.class}}function zo(e,t){return e?t?e+" "+t:e:t||""}function Ko(e){return Array.isArray(e)?function(e){for(var t,o="",n=0,i=e.length;n<i;n++)r(t=Ko(e[n]))&&""!==t&&(o&&(o+=" "),o+=t);return o}(e):l(e)?function(e){var t="";for(var o in e)e[o]&&(t&&(t+=" "),t+=o);return t}(e):"string"==typeof e?e:""}var Yo={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Xo=m("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),qo=m("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),$o=function(e){return Xo(e)||qo(e)};var Jo=Object.create(null);var Zo=m("text,number,password,search,email,tel,url");var Qo=Object.freeze({createElement:function(e,t){var o=document.createElement(e);return"select"!==e?o:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&o.setAttribute("multiple","multiple"),o)},createElementNS:function(e,t){return document.createElementNS(Yo[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,o){e.insertBefore(t,o)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),en={create:function(e,t){tn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(tn(e,!0),tn(t))},destroy:function(e){tn(e,!0)}};function tn(e,t){var o=e.data.ref;if(r(o)){var n=e.context,i=e.componentInstance||e.elm,s=n.$refs;t?Array.isArray(s[o])?y(s[o],i):s[o]===i&&(s[o]=void 0):e.data.refInFor?Array.isArray(s[o])?s[o].indexOf(i)<0&&s[o].push(i):s[o]=[i]:s[o]=i}}var on=new fe("",{},[]),nn=["create","activate","update","remove","destroy"];function rn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&r(e.data)===r(t.data)&&function(e,t){if("input"!==e.tag)return!0;var o,n=r(o=e.data)&&r(o=o.attrs)&&o.type,i=r(o=t.data)&&r(o=o.attrs)&&o.type;return n===i||Zo(n)&&Zo(i)}(e,t)||s(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&i(t.asyncFactory.error))}function sn(e,t,o){var n,i,s={};for(n=t;n<=o;++n)r(i=e[n].key)&&(s[i]=n);return s}var an={create:ln,update:ln,destroy:function(e){ln(e,on)}};function ln(e,t){(e.data.directives||t.data.directives)&&function(e,t){var o,n,i,r=e===on,s=t===on,a=cn(e.data.directives,e.context),l=cn(t.data.directives,t.context),u=[],c=[];for(o in l)n=a[o],i=l[o],n?(i.oldValue=n.value,i.oldArg=n.arg,dn(i,"update",t,e),i.def&&i.def.componentUpdated&&c.push(i)):(dn(i,"bind",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var h=function(){for(var o=0;o<u.length;o++)dn(u[o],"inserted",t,e)};r?at(t,"insert",h):h()}c.length&&at(t,"postpatch",(function(){for(var o=0;o<c.length;o++)dn(c[o],"componentUpdated",t,e)}));if(!r)for(o in a)l[o]||dn(a[o],"unbind",e,e,s)}(e,t)}var un=Object.create(null);function cn(e,t){var o,n,i=Object.create(null);if(!e)return i;for(o=0;o<e.length;o++)(n=e[o]).modifiers||(n.modifiers=un),i[hn(n)]=n,n.def=Be(t.$options,"directives",n.name);return i}function hn(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function dn(e,t,o,n,i){var r=e.def&&e.def[t];if(r)try{r(o.elm,e,o,n,i)}catch(n){We(n,o.context,"directive "+e.name+" "+t+" hook")}}var gn=[en,an];function pn(e,t){var o=t.componentOptions;if(!(r(o)&&!1===o.Ctor.options.inheritAttrs||i(e.data.attrs)&&i(t.data.attrs))){var n,s,a=t.elm,l=e.data.attrs||{},u=t.data.attrs||{};for(n in r(u.__ob__)&&(u=t.data.attrs=N({},u)),u)s=u[n],l[n]!==s&&fn(a,n,s);for(n in($||Z)&&u.value!==l.value&&fn(a,"value",u.value),l)i(u[n])&&(Uo(n)?a.removeAttributeNS(Ho,Vo(n)):Mo(n)||a.removeAttribute(n))}}function fn(e,t,o){e.tagName.indexOf("-")>-1?mn(e,t,o):Fo(t)?Wo(o)?e.removeAttribute(t):(o="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,o)):Mo(t)?e.setAttribute(t,Bo(t,o)):Uo(t)?Wo(o)?e.removeAttributeNS(Ho,Vo(t)):e.setAttributeNS(Ho,t,o):mn(e,t,o)}function mn(e,t,o){if(Wo(o))e.removeAttribute(t);else{if($&&!J&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==o&&!e.__ieph){var n=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",n)};e.addEventListener("input",n),e.__ieph=!0}e.setAttribute(t,o)}}var _n={create:pn,update:pn};function yn(e,t){var o=t.elm,n=t.data,s=e.data;if(!(i(n.staticClass)&&i(n.class)&&(i(s)||i(s.staticClass)&&i(s.class)))){var a=jo(t),l=o._transitionClasses;r(l)&&(a=zo(a,Ko(l))),a!==o._prevClass&&(o.setAttribute("class",a),o._prevClass=a)}}var vn,bn={create:yn,update:yn},En="__r",Cn="__c";function Sn(e,t,o){var n=vn;return function i(){var r=t.apply(null,arguments);null!==r&&kn(e,i,o,n)}}var Tn=Ye&&!(ee&&Number(ee[1])<=53);function wn(e,t,o,n){if(Tn){var i=lo,r=t;t=r._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return r.apply(this,arguments)}}vn.addEventListener(e,t,oe?{capture:o,passive:n}:o)}function kn(e,t,o,n){(n||vn).removeEventListener(e,t._wrapper||t,o)}function On(e,t){if(!i(e.data.on)||!i(t.data.on)){var o=t.data.on||{},n=e.data.on||{};vn=t.elm,function(e){if(r(e[En])){var t=$?"change":"input";e[t]=[].concat(e[En],e[t]||[]),delete e[En]}r(e[Cn])&&(e.change=[].concat(e[Cn],e.change||[]),delete e[Cn])}(o),st(o,n,wn,kn,Sn,t.context),vn=void 0}}var Rn,Nn={create:On,update:On};function Ln(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var o,n,s=t.elm,a=e.data.domProps||{},l=t.data.domProps||{};for(o in r(l.__ob__)&&(l=t.data.domProps=N({},l)),a)o in l||(s[o]="");for(o in l){if(n=l[o],"textContent"===o||"innerHTML"===o){if(t.children&&(t.children.length=0),n===a[o])continue;1===s.childNodes.length&&s.removeChild(s.childNodes[0])}if("value"===o&&"PROGRESS"!==s.tagName){s._value=n;var u=i(n)?"":String(n);In(s,u)&&(s.value=u)}else if("innerHTML"===o&&qo(s.tagName)&&i(s.innerHTML)){(Rn=Rn||document.createElement("div")).innerHTML="<svg>"+n+"</svg>";for(var c=Rn.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;c.firstChild;)s.appendChild(c.firstChild)}else if(n!==a[o])try{s[o]=n}catch(e){}}}}function In(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var o=!0;try{o=document.activeElement!==e}catch(e){}return o&&e.value!==t}(e,t)||function(e,t){var o=e.value,n=e._vModifiers;if(r(n)){if(n.number)return f(o)!==f(t);if(n.trim)return o.trim()!==t.trim()}return o!==t}(e,t))}var Dn={create:Ln,update:Ln},An=E((function(e){var t={},o=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var n=e.split(o);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}));function Pn(e){var t=Mn(e.style);return e.staticStyle?N(e.staticStyle,t):t}function Mn(e){return Array.isArray(e)?L(e):"string"==typeof e?An(e):e}var xn,Bn=/^--/,Fn=/\s*!important$/,Hn=function(e,t,o){if(Bn.test(t))e.style.setProperty(t,o);else if(Fn.test(o))e.style.setProperty(k(t),o.replace(Fn,""),"important");else{var n=Vn(t);if(Array.isArray(o))for(var i=0,r=o.length;i<r;i++)e.style[n]=o[i];else e.style[n]=o}},Un=["Webkit","Moz","ms"],Vn=E((function(e){if(xn=xn||document.createElement("div").style,"filter"!==(e=S(e))&&e in xn)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),o=0;o<Un.length;o++){var n=Un[o]+t;if(n in xn)return n}}));function Wn(e,t){var o=t.data,n=e.data;if(!(i(o.staticStyle)&&i(o.style)&&i(n.staticStyle)&&i(n.style))){var s,a,l=t.elm,u=n.staticStyle,c=n.normalizedStyle||n.style||{},h=u||c,d=Mn(t.data.style)||{};t.data.normalizedStyle=r(d.__ob__)?N({},d):d;var g=function(e,t){var o,n={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(o=Pn(i.data))&&N(n,o);(o=Pn(e.data))&&N(n,o);for(var r=e;r=r.parent;)r.data&&(o=Pn(r.data))&&N(n,o);return n}(t,!0);for(a in h)i(g[a])&&Hn(l,a,"");for(a in g)(s=g[a])!==h[a]&&Hn(l,a,null==s?"":s)}}var jn={create:Wn,update:Wn},Gn=/\s+/;function zn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Gn).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var o=" "+(e.getAttribute("class")||"")+" ";o.indexOf(" "+t+" ")<0&&e.setAttribute("class",(o+t).trim())}}function Kn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(Gn).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var o=" "+(e.getAttribute("class")||"")+" ",n=" "+t+" ";o.indexOf(n)>=0;)o=o.replace(n," ");(o=o.trim())?e.setAttribute("class",o):e.removeAttribute("class")}}function Yn(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&N(t,Xn(e.name||"v")),N(t,e),t}return"string"==typeof e?Xn(e):void 0}}var Xn=E((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),qn=K&&!J,$n="transition",Jn="animation",Zn="transition",Qn="transitionend",ei="animation",ti="animationend";qn&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Zn="WebkitTransition",Qn="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(ei="WebkitAnimation",ti="webkitAnimationEnd"));var oi=K?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function ni(e){oi((function(){oi(e)}))}function ii(e,t){var o=e._transitionClasses||(e._transitionClasses=[]);o.indexOf(t)<0&&(o.push(t),zn(e,t))}function ri(e,t){e._transitionClasses&&y(e._transitionClasses,t),Kn(e,t)}function si(e,t,o){var n=li(e,t),i=n.type,r=n.timeout,s=n.propCount;if(!i)return o();var a=i===$n?Qn:ti,l=0,u=function(){e.removeEventListener(a,c),o()},c=function(t){t.target===e&&++l>=s&&u()};setTimeout((function(){l<s&&u()}),r+1),e.addEventListener(a,c)}var ai=/\b(transform|all)(,|$)/;function li(e,t){var o,n=window.getComputedStyle(e),i=(n[Zn+"Delay"]||"").split(", "),r=(n[Zn+"Duration"]||"").split(", "),s=ui(i,r),a=(n[ei+"Delay"]||"").split(", "),l=(n[ei+"Duration"]||"").split(", "),u=ui(a,l),c=0,h=0;return t===$n?s>0&&(o=$n,c=s,h=r.length):t===Jn?u>0&&(o=Jn,c=u,h=l.length):h=(o=(c=Math.max(s,u))>0?s>u?$n:Jn:null)?o===$n?r.length:l.length:0,{type:o,timeout:c,propCount:h,hasTransform:o===$n&&ai.test(n[Zn+"Property"])}}function ui(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map((function(t,o){return ci(t)+ci(e[o])})))}function ci(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function hi(e,t){var o=e.elm;r(o._leaveCb)&&(o._leaveCb.cancelled=!0,o._leaveCb());var n=Yn(e.data.transition);if(!i(n)&&!r(o._enterCb)&&1===o.nodeType){for(var s=n.css,a=n.type,u=n.enterClass,c=n.enterToClass,h=n.enterActiveClass,d=n.appearClass,g=n.appearToClass,p=n.appearActiveClass,m=n.beforeEnter,_=n.enter,y=n.afterEnter,v=n.enterCancelled,b=n.beforeAppear,E=n.appear,C=n.afterAppear,S=n.appearCancelled,T=n.duration,w=Jt,k=Jt.$vnode;k&&k.parent;)w=k.context,k=k.parent;var O=!w._isMounted||!e.isRootInsert;if(!O||E||""===E){var R=O&&d?d:u,N=O&&p?p:h,L=O&&g?g:c,I=O&&b||m,D=O&&"function"==typeof E?E:_,A=O&&C||y,P=O&&S||v,M=f(l(T)?T.enter:T);0;var B=!1!==s&&!J,F=pi(D),H=o._enterCb=x((function(){B&&(ri(o,L),ri(o,N)),H.cancelled?(B&&ri(o,R),P&&P(o)):A&&A(o),o._enterCb=null}));e.data.show||at(e,"insert",(function(){var t=o.parentNode,n=t&&t._pending&&t._pending[e.key];n&&n.tag===e.tag&&n.elm._leaveCb&&n.elm._leaveCb(),D&&D(o,H)})),I&&I(o),B&&(ii(o,R),ii(o,N),ni((function(){ri(o,R),H.cancelled||(ii(o,L),F||(gi(M)?setTimeout(H,M):si(o,a,H)))}))),e.data.show&&(t&&t(),D&&D(o,H)),B||F||H()}}}function di(e,t){var o=e.elm;r(o._enterCb)&&(o._enterCb.cancelled=!0,o._enterCb());var n=Yn(e.data.transition);if(i(n)||1!==o.nodeType)return t();if(!r(o._leaveCb)){var s=n.css,a=n.type,u=n.leaveClass,c=n.leaveToClass,h=n.leaveActiveClass,d=n.beforeLeave,g=n.leave,p=n.afterLeave,m=n.leaveCancelled,_=n.delayLeave,y=n.duration,v=!1!==s&&!J,b=pi(g),E=f(l(y)?y.leave:y);0;var C=o._leaveCb=x((function(){o.parentNode&&o.parentNode._pending&&(o.parentNode._pending[e.key]=null),v&&(ri(o,c),ri(o,h)),C.cancelled?(v&&ri(o,u),m&&m(o)):(t(),p&&p(o)),o._leaveCb=null}));_?_(S):S()}function S(){C.cancelled||(!e.data.show&&o.parentNode&&((o.parentNode._pending||(o.parentNode._pending={}))[e.key]=e),d&&d(o),v&&(ii(o,u),ii(o,h),ni((function(){ri(o,u),C.cancelled||(ii(o,c),b||(gi(E)?setTimeout(C,E):si(o,a,C)))}))),g&&g(o,C),v||b||C())}}function gi(e){return"number"==typeof e&&!isNaN(e)}function pi(e){if(i(e))return!1;var t=e.fns;return r(t)?pi(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function fi(e,t){!0!==t.data.show&&hi(t)}var mi=function(e){var t,o,n={},l=e.modules,u=e.nodeOps;for(t=0;t<nn.length;++t)for(n[nn[t]]=[],o=0;o<l.length;++o)r(l[o][nn[t]])&&n[nn[t]].push(l[o][nn[t]]);function c(e){var t=u.parentNode(e);r(t)&&u.removeChild(t,e)}function h(e,t,o,i,a,l,c){if(r(e.elm)&&r(l)&&(e=l[c]=ve(e)),e.isRootInsert=!a,!function(e,t,o,i){var a=e.data;if(r(a)){var l=r(e.componentInstance)&&a.keepAlive;if(r(a=a.hook)&&r(a=a.init)&&a(e,!1),r(e.componentInstance))return d(e,t),g(o,e.elm,i),s(l)&&function(e,t,o,i){var s,a=e;for(;a.componentInstance;)if(a=a.componentInstance._vnode,r(s=a.data)&&r(s=s.transition)){for(s=0;s<n.activate.length;++s)n.activate[s](on,a);t.push(a);break}g(o,e.elm,i)}(e,t,o,i),!0}}(e,t,o,i)){var h=e.data,f=e.children,m=e.tag;r(m)?(e.elm=e.ns?u.createElementNS(e.ns,m):u.createElement(m,e),y(e),p(e,f,t),r(h)&&_(e,t),g(o,e.elm,i)):s(e.isComment)?(e.elm=u.createComment(e.text),g(o,e.elm,i)):(e.elm=u.createTextNode(e.text),g(o,e.elm,i))}}function d(e,t){r(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,f(e)?(_(e,t),y(e)):(tn(e),t.push(e))}function g(e,t,o){r(e)&&(r(o)?u.parentNode(o)===e&&u.insertBefore(e,t,o):u.appendChild(e,t))}function p(e,t,o){if(Array.isArray(t)){0;for(var n=0;n<t.length;++n)h(t[n],o,e.elm,null,!0,t,n)}else a(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function f(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return r(e.tag)}function _(e,o){for(var i=0;i<n.create.length;++i)n.create[i](on,e);r(t=e.data.hook)&&(r(t.create)&&t.create(on,e),r(t.insert)&&o.push(e))}function y(e){var t;if(r(t=e.fnScopeId))u.setStyleScope(e.elm,t);else for(var o=e;o;)r(t=o.context)&&r(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t),o=o.parent;r(t=Jt)&&t!==e.context&&t!==e.fnContext&&r(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t)}function v(e,t,o,n,i,r){for(;n<=i;++n)h(o[n],r,e,t,!1,o,n)}function b(e){var t,o,i=e.data;if(r(i))for(r(t=i.hook)&&r(t=t.destroy)&&t(e),t=0;t<n.destroy.length;++t)n.destroy[t](e);if(r(t=e.children))for(o=0;o<e.children.length;++o)b(e.children[o])}function E(e,t,o,n){for(;o<=n;++o){var i=t[o];r(i)&&(r(i.tag)?(C(i),b(i)):c(i.elm))}}function C(e,t){if(r(t)||r(e.data)){var o,i=n.remove.length+1;for(r(t)?t.listeners+=i:t=function(e,t){function o(){0==--o.listeners&&c(e)}return o.listeners=t,o}(e.elm,i),r(o=e.componentInstance)&&r(o=o._vnode)&&r(o.data)&&C(o,t),o=0;o<n.remove.length;++o)n.remove[o](e,t);r(o=e.data.hook)&&r(o=o.remove)?o(e,t):t()}else c(e.elm)}function S(e,t,o,n){for(var i=o;i<n;i++){var s=t[i];if(r(s)&&rn(e,s))return i}}function T(e,t,o,a,l,c){if(e!==t){r(t.elm)&&r(a)&&(t=a[l]=ve(t));var d=t.elm=e.elm;if(s(e.isAsyncPlaceholder))r(t.asyncFactory.resolved)?O(e.elm,t,o):t.isAsyncPlaceholder=!0;else if(s(t.isStatic)&&s(e.isStatic)&&t.key===e.key&&(s(t.isCloned)||s(t.isOnce)))t.componentInstance=e.componentInstance;else{var g,p=t.data;r(p)&&r(g=p.hook)&&r(g=g.prepatch)&&g(e,t);var m=e.children,_=t.children;if(r(p)&&f(t)){for(g=0;g<n.update.length;++g)n.update[g](e,t);r(g=p.hook)&&r(g=g.update)&&g(e,t)}i(t.text)?r(m)&&r(_)?m!==_&&function(e,t,o,n,s){var a,l,c,d=0,g=0,p=t.length-1,f=t[0],m=t[p],_=o.length-1,y=o[0],b=o[_],C=!s;for(0;d<=p&&g<=_;)i(f)?f=t[++d]:i(m)?m=t[--p]:rn(f,y)?(T(f,y,n,o,g),f=t[++d],y=o[++g]):rn(m,b)?(T(m,b,n,o,_),m=t[--p],b=o[--_]):rn(f,b)?(T(f,b,n,o,_),C&&u.insertBefore(e,f.elm,u.nextSibling(m.elm)),f=t[++d],b=o[--_]):rn(m,y)?(T(m,y,n,o,g),C&&u.insertBefore(e,m.elm,f.elm),m=t[--p],y=o[++g]):(i(a)&&(a=sn(t,d,p)),i(l=r(y.key)?a[y.key]:S(y,t,d,p))?h(y,n,e,f.elm,!1,o,g):rn(c=t[l],y)?(T(c,y,n,o,g),t[l]=void 0,C&&u.insertBefore(e,c.elm,f.elm)):h(y,n,e,f.elm,!1,o,g),y=o[++g]);d>p?v(e,i(o[_+1])?null:o[_+1].elm,o,g,_,n):g>_&&E(0,t,d,p)}(d,m,_,o,c):r(_)?(r(e.text)&&u.setTextContent(d,""),v(d,null,_,0,_.length-1,o)):r(m)?E(0,m,0,m.length-1):r(e.text)&&u.setTextContent(d,""):e.text!==t.text&&u.setTextContent(d,t.text),r(p)&&r(g=p.hook)&&r(g=g.postpatch)&&g(e,t)}}}function w(e,t,o){if(s(o)&&r(e.parent))e.parent.data.pendingInsert=t;else for(var n=0;n<t.length;++n)t[n].data.hook.insert(t[n])}var k=m("attrs,class,staticClass,staticStyle,key");function O(e,t,o,n){var i,a=t.tag,l=t.data,u=t.children;if(n=n||l&&l.pre,t.elm=e,s(t.isComment)&&r(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(r(l)&&(r(i=l.hook)&&r(i=i.init)&&i(t,!0),r(i=t.componentInstance)))return d(t,o),!0;if(r(a)){if(r(u))if(e.hasChildNodes())if(r(i=l)&&r(i=i.domProps)&&r(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var c=!0,h=e.firstChild,g=0;g<u.length;g++){if(!h||!O(h,u[g],o,n)){c=!1;break}h=h.nextSibling}if(!c||h)return!1}else p(t,u,o);if(r(l)){var f=!1;for(var m in l)if(!k(m)){f=!0,_(t,o);break}!f&&l.class&&nt(l.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,o,a){if(!i(t)){var l,c=!1,d=[];if(i(e))c=!0,h(t,d);else{var g=r(e.nodeType);if(!g&&rn(e,t))T(e,t,d,null,null,a);else{if(g){if(1===e.nodeType&&e.hasAttribute(B)&&(e.removeAttribute(B),o=!0),s(o)&&O(e,t,d))return w(t,d,!0),e;l=e,e=new fe(u.tagName(l).toLowerCase(),{},[],void 0,l)}var p=e.elm,m=u.parentNode(p);if(h(t,d,p._leaveCb?null:m,u.nextSibling(p)),r(t.parent))for(var _=t.parent,y=f(t);_;){for(var v=0;v<n.destroy.length;++v)n.destroy[v](_);if(_.elm=t.elm,y){for(var C=0;C<n.create.length;++C)n.create[C](on,_);var S=_.data.hook.insert;if(S.merged)for(var k=1;k<S.fns.length;k++)S.fns[k]()}else tn(_);_=_.parent}r(m)?E(0,[e],0,0):r(e.tag)&&b(e)}}return w(t,d,c),t.elm}r(e)&&b(e)}}({nodeOps:Qo,modules:[_n,bn,Nn,Dn,jn,K?{create:fi,activate:fi,remove:function(e,t){!0!==e.data.show?di(e,t):t()}}:{}].concat(gn)});J&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&Ti(e,"input")}));var _i={inserted:function(e,t,o,n){"select"===o.tag?(n.elm&&!n.elm._vOptions?at(o,"postpatch",(function(){_i.componentUpdated(e,t,o)})):yi(e,t,o.context),e._vOptions=[].map.call(e.options,Ei)):("textarea"===o.tag||Zo(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Ci),e.addEventListener("compositionend",Si),e.addEventListener("change",Si),J&&(e.vmodel=!0)))},componentUpdated:function(e,t,o){if("select"===o.tag){yi(e,t,o.context);var n=e._vOptions,i=e._vOptions=[].map.call(e.options,Ei);if(i.some((function(e,t){return!P(e,n[t])})))(e.multiple?t.value.some((function(e){return bi(e,i)})):t.value!==t.oldValue&&bi(t.value,i))&&Ti(e,"change")}}};function yi(e,t,o){vi(e,t,o),($||Z)&&setTimeout((function(){vi(e,t,o)}),0)}function vi(e,t,o){var n=t.value,i=e.multiple;if(!i||Array.isArray(n)){for(var r,s,a=0,l=e.options.length;a<l;a++)if(s=e.options[a],i)r=M(n,Ei(s))>-1,s.selected!==r&&(s.selected=r);else if(P(Ei(s),n))return void(e.selectedIndex!==a&&(e.selectedIndex=a));i||(e.selectedIndex=-1)}}function bi(e,t){return t.every((function(t){return!P(t,e)}))}function Ei(e){return"_value"in e?e._value:e.value}function Ci(e){e.target.composing=!0}function Si(e){e.target.composing&&(e.target.composing=!1,Ti(e.target,"input"))}function Ti(e,t){var o=document.createEvent("HTMLEvents");o.initEvent(t,!0,!0),e.dispatchEvent(o)}function wi(e){return!e.componentInstance||e.data&&e.data.transition?e:wi(e.componentInstance._vnode)}var ki={model:_i,show:{bind:function(e,t,o){var n=t.value,i=(o=wi(o)).data&&o.data.transition,r=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;n&&i?(o.data.show=!0,hi(o,(function(){e.style.display=r}))):e.style.display=n?r:"none"},update:function(e,t,o){var n=t.value;!n!=!t.oldValue&&((o=wi(o)).data&&o.data.transition?(o.data.show=!0,n?hi(o,(function(){e.style.display=e.__vOriginalDisplay})):di(o,(function(){e.style.display="none"}))):e.style.display=n?e.__vOriginalDisplay:"none")},unbind:function(e,t,o,n,i){i||(e.style.display=e.__vOriginalDisplay)}}},Oi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Ri(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Ri(Kt(t.children)):e}function Ni(e){var t={},o=e.$options;for(var n in o.propsData)t[n]=e[n];var i=o._parentListeners;for(var r in i)t[S(r)]=i[r];return t}function Li(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Ii=function(e){return e.tag||zt(e)},Di=function(e){return"show"===e.name},Ai={name:"transition",props:Oi,abstract:!0,render:function(e){var t=this,o=this.$slots.default;if(o&&(o=o.filter(Ii)).length){0;var n=this.mode;0;var i=o[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var r=Ri(i);if(!r)return i;if(this._leaving)return Li(e,i);var s="__transition-"+this._uid+"-";r.key=null==r.key?r.isComment?s+"comment":s+r.tag:a(r.key)?0===String(r.key).indexOf(s)?r.key:s+r.key:r.key;var l=(r.data||(r.data={})).transition=Ni(this),u=this._vnode,c=Ri(u);if(r.data.directives&&r.data.directives.some(Di)&&(r.data.show=!0),c&&c.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(r,c)&&!zt(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var h=c.data.transition=N({},l);if("out-in"===n)return this._leaving=!0,at(h,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Li(e,i);if("in-out"===n){if(zt(r))return u;var d,g=function(){d()};at(l,"afterEnter",g),at(l,"enterCancelled",g),at(h,"delayLeave",(function(e){d=e}))}}return i}}},Pi=N({tag:String,moveClass:String},Oi);function Mi(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function xi(e){e.data.newPos=e.elm.getBoundingClientRect()}function Bi(e){var t=e.data.pos,o=e.data.newPos,n=t.left-o.left,i=t.top-o.top;if(n||i){e.data.moved=!0;var r=e.elm.style;r.transform=r.WebkitTransform="translate("+n+"px,"+i+"px)",r.transitionDuration="0s"}}delete Pi.mode;var Fi={Transition:Ai,TransitionGroup:{props:Pi,beforeMount:function(){var e=this,t=this._update;this._update=function(o,n){var i=Zt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,o,n)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",o=Object.create(null),n=this.prevChildren=this.children,i=this.$slots.default||[],r=this.children=[],s=Ni(this),a=0;a<i.length;a++){var l=i[a];if(l.tag)if(null!=l.key&&0!==String(l.key).indexOf("__vlist"))r.push(l),o[l.key]=l,(l.data||(l.data={})).transition=s;else;}if(n){for(var u=[],c=[],h=0;h<n.length;h++){var d=n[h];d.data.transition=s,d.data.pos=d.elm.getBoundingClientRect(),o[d.key]?u.push(d):c.push(d)}this.kept=e(t,null,u),this.removed=c}return e(t,null,r)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(Mi),e.forEach(xi),e.forEach(Bi),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var o=e.elm,n=o.style;ii(o,t),n.transform=n.WebkitTransform=n.transitionDuration="",o.addEventListener(Qn,o._moveCb=function e(n){n&&n.target!==o||n&&!/transform$/.test(n.propertyName)||(o.removeEventListener(Qn,e),o._moveCb=null,ri(o,t))})}})))},methods:{hasMove:function(e,t){if(!qn)return!1;if(this._hasMove)return this._hasMove;var o=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){Kn(o,e)})),zn(o,t),o.style.display="none",this.$el.appendChild(o);var n=li(o);return this.$el.removeChild(o),this._hasMove=n.hasTransform}}}};wo.config.mustUseProp=function(e,t,o){return"value"===o&&Po(e)&&"button"!==t||"selected"===o&&"option"===e||"checked"===o&&"input"===e||"muted"===o&&"video"===e},wo.config.isReservedTag=$o,wo.config.isReservedAttr=Ao,wo.config.getTagNamespace=function(e){return qo(e)?"svg":"math"===e?"math":void 0},wo.config.isUnknownElement=function(e){if(!K)return!0;if($o(e))return!1;if(e=e.toLowerCase(),null!=Jo[e])return Jo[e];var t=document.createElement(e);return e.indexOf("-")>-1?Jo[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Jo[e]=/HTMLUnknownElement/.test(t.toString())},N(wo.options.directives,ki),N(wo.options.components,Fi),wo.prototype.__patch__=K?mi:I,wo.prototype.$mount=function(e,t){return function(e,t,o){var n;return e.$el=t,e.$options.render||(e.$options.render=_e),to(e,"beforeMount"),n=function(){e._update(e._render(),o)},new po(e,n,I,{before:function(){e._isMounted&&!e._isDestroyed&&to(e,"beforeUpdate")}},!0),o=!1,null==e.$vnode&&(e._isMounted=!0,to(e,"mounted")),e}(this,e=e&&K?function(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}(e):void 0,t)},K&&setTimeout((function(){U.devtools&&re&&re.emit("init",wo)}),0),t.a=wo}).call(this,o(80),o(148).setImmediate)},function(e,t,o){"use strict";var n=o(44),i=function(){function e(e){e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map((function(e){return new n.b(e)})):e.brackets?this._autoClosingPairs=e.brackets.map((function(e){return new n.b({open:e[0],close:e[1]})})):this._autoClosingPairs=[],this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}return e.prototype.getAutoClosingPairs=function(){return this._autoClosingPairs},e.prototype.shouldAutoClosePair=function(e,t,o){if(0===t.getTokenCount())return!0;for(var n=t.findTokenIndexAtOffset(o-2),i=t.getStandardTokenType(n),r=0;r<this._autoClosingPairs.length;++r){var s=this._autoClosingPairs[r];if(s.open===e)return s.isOK(i)}return!1},e.prototype.getSurroundingPairs=function(){return this._surroundingPairs},e}(),r=o(86),s=o(106),a=function(){function e(e,t,o){o=o||{},this._richEditBrackets=e,this._complexAutoClosePairs=t.filter((function(e){return e.open.length>1&&!!e.close})).map((function(e){return new n.b(e)})),o.docComment&&this._complexAutoClosePairs.push(new n.b({open:o.docComment.open,close:o.docComment.close}))}return e.prototype.getElectricCharacters=function(){var e=[];if(this._richEditBrackets)for(var t=0,o=this._richEditBrackets.brackets.length;t<o;t++){var n=this._richEditBrackets.brackets[t],i=n.close.charAt(n.close.length-1);e.push(i)}for(var r=0,s=this._complexAutoClosePairs;r<s.length;r++){var a=s[r];e.push(a.open.charAt(a.open.length-1))}return e=e.filter((function(e,t,o){return o.indexOf(e)===t}))},e.prototype.onElectricCharacter=function(e,t,o){return this._onElectricAutoClose(e,t,o)||this._onElectricAutoIndent(e,t,o)},e.prototype._onElectricAutoIndent=function(e,t,o){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;var n=t.findTokenIndexAtOffset(o-1);if(Object(r.b)(t.getStandardTokenType(n)))return null;var i=this._richEditBrackets.reversedRegex,a=t.getLineContent().substring(0,o-1)+e,l=s.a.findPrevBracketInToken(i,1,a,0,a.length);if(!l)return null;var u=a.substring(l.startColumn-1,l.endColumn-1);if(u=u.toLowerCase(),this._richEditBrackets.textIsOpenBracket[u])return null;var c=a.substring(0,l.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:u}:null},e.prototype._onElectricAutoClose=function(e,t,o){if(!this._complexAutoClosePairs.length)return null;for(var n=t.getLineContent(),i=0,r=this._complexAutoClosePairs.length;i<r;i++){var s=this._complexAutoClosePairs[i];if(e===s.open.charAt(s.open.length-1))if(n.substring(n.length-s.open.length+1)+e===s.open){var a=t.findTokenIndexAtOffset(o-1),l=t.getStandardTokenType(a);if(s.isOK(l)&&!(n.indexOf(s.close,o-1)>=0))return{appendText:s.close}}}return null},e}(),l=o(13),u=o(8),c=function(){function e(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=t.brackets.map((function(t){return{open:t[0],openRegExp:e._createOpenBracketRegExp(t[0]),close:t[1],closeRegExp:e._createCloseBracketRegExp(t[1])}})),this._regExpRules=t.regExpRules||[]}return e.prototype.onEnter=function(e,t,o){for(var i=0,r=this._regExpRules.length;i<r;i++){var s=this._regExpRules[i];if(s.beforeText.test(t)){if(!s.afterText)return s.action;if(s.afterText.test(o))return s.action}}if(t.length>0&&o.length>0)for(i=0,r=this._brackets.length;i<r;i++){if((a=this._brackets[i]).openRegExp.test(t)&&a.closeRegExp.test(o))return{indentAction:n.a.IndentOutdent}}if(t.length>0)for(i=0,r=this._brackets.length;i<r;i++){var a;if((a=this._brackets[i]).openRegExp.test(t))return{indentAction:n.a.Indent}}return null},e._createOpenBracketRegExp=function(t){var o=u.escapeRegExpCharacters(t);return/\B/.test(o.charAt(0))||(o="\\b"+o),o+="\\s*$",e._safeRegExp(o)},e._createCloseBracketRegExp=function(t){var o=u.escapeRegExpCharacters(t);return/\B/.test(o.charAt(o.length-1))||(o+="\\b"),o="^\\s*"+o,e._safeRegExp(o)},e._safeRegExp=function(e){try{return new RegExp(e)}catch(e){return Object(l.e)(e),null}},e}(),h=function(){function e(e){this._indentationRules=e}return e.prototype.shouldIncrease=function(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&this._indentationRules.increaseIndentPattern.test(e))},e.prototype.shouldDecrease=function(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&this._indentationRules.decreaseIndentPattern.test(e))},e.prototype.shouldIndentNextLine=function(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&this._indentationRules.indentNextLinePattern.test(e))},e.prototype.shouldIgnore=function(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&this._indentationRules.unIndentedLinePattern.test(e))},e.prototype.getIndentMetadata=function(e){var t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t},e}(),d=o(4),g=o(6),p=o(105),f=o(2);o.d(t,"a",(function(){return _}));var m=function(){function e(t,o,n){this._languageIdentifier=t,this._brackets=null,this._electricCharacter=null;var r=null;o&&(r=o._conf),this._conf=e._mergeConf(r,n),this.onEnter=e._handleOnEnter(this._conf),this.comments=e._handleComments(this._conf),this.characterPair=new i(this._conf),this.wordDefinition=this._conf.wordPattern||p.a,this.indentationRules=this._conf.indentationRules,this._conf.indentationRules&&(this.indentRulesSupport=new h(this._conf.indentationRules)),this.foldingRules=this._conf.folding||{}}return Object.defineProperty(e.prototype,"brackets",{get:function(){return!this._brackets&&this._conf.brackets&&(this._brackets=new s.b(this._languageIdentifier,this._conf.brackets)),this._brackets},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"electricCharacter",{get:function(){if(!this._electricCharacter){var e=[];this._conf.autoClosingPairs?e=this._conf.autoClosingPairs:this._conf.brackets&&(e=this._conf.brackets.map((function(e){return{open:e[0],close:e[1]}}))),this._electricCharacter=new a(this.brackets,e,this._conf.__electricCharacterSupport)}return this._electricCharacter},enumerable:!0,configurable:!0}),e._mergeConf=function(e,t){return{comments:e?t.comments||e.comments:t.comments,brackets:e?t.brackets||e.brackets:t.brackets,wordPattern:e?t.wordPattern||e.wordPattern:t.wordPattern,indentationRules:e?t.indentationRules||e.indentationRules:t.indentationRules,onEnterRules:e?t.onEnterRules||e.onEnterRules:t.onEnterRules,autoClosingPairs:e?t.autoClosingPairs||e.autoClosingPairs:t.autoClosingPairs,surroundingPairs:e?t.surroundingPairs||e.surroundingPairs:t.surroundingPairs,folding:e?t.folding||e.folding:t.folding,__electricCharacterSupport:e?t.__electricCharacterSupport||e.__electricCharacterSupport:t.__electricCharacterSupport}},e._handleOnEnter=function(e){var t={},o=!0;return e.brackets&&(o=!1,t.brackets=e.brackets),e.indentationRules&&(o=!1),e.onEnterRules&&(o=!1,t.regExpRules=e.onEnterRules),o?null:new c(t)},e._handleComments=function(e){var t=e.comments;if(!t)return null;var o={};if(t.lineComment&&(o.lineCommentToken=t.lineComment),t.blockComment){var n=t.blockComment,i=n[0],r=n[1];o.blockCommentStartToken=i,o.blockCommentEndToken=r}return o},e}(),_=new(function(){function e(){this._onDidChange=new d.a,this.onDidChange=this._onDidChange.event,this._entries=[]}return e.prototype.register=function(e,t){var o=this,n=this._getRichEditSupport(e.id),i=new m(e,n,t);return this._entries[e.id]=i,this._onDidChange.fire({languageIdentifier:e}),Object(g.f)((function(){o._entries[e.id]===i&&(o._entries[e.id]=n,o._onDidChange.fire({languageIdentifier:e}))}))},e.prototype._getRichEditSupport=function(e){return this._entries[e]||null},e.prototype._getElectricCharacterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.electricCharacter||null},e.prototype.getElectricCharacters=function(e){var t=this._getElectricCharacterSupport(e);return t?t.getElectricCharacters():[]},e.prototype.onElectricCharacter=function(e,t,o){var n=Object(r.a)(t,o-1),i=this._getElectricCharacterSupport(n.languageId);return i?i.onElectricCharacter(e,n,o-n.firstCharOffset):null},e.prototype.getComments=function(e){var t=this._getRichEditSupport(e);return t&&t.comments||null},e.prototype._getCharacterPairSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.characterPair||null},e.prototype.getAutoClosingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getAutoClosingPairs():[]},e.prototype.getSurroundingPairs=function(e){var t=this._getCharacterPairSupport(e);return t?t.getSurroundingPairs():[]},e.prototype.shouldAutoClosePair=function(e,t,o){var n=Object(r.a)(t,o-1),i=this._getCharacterPairSupport(n.languageId);return!!i&&i.shouldAutoClosePair(e,n,o-n.firstCharOffset)},e.prototype.getWordDefinition=function(e){var t=this._getRichEditSupport(e);return t?Object(p.c)(t.wordDefinition||null):Object(p.c)(null)},e.prototype.getFoldingRules=function(e){var t=this._getRichEditSupport(e);return t?t.foldingRules:{}},e.prototype.getIndentRulesSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.indentRulesSupport||null},e.prototype.getPrecedingValidLine=function(e,t,o){var n=e.getLanguageIdAtPosition(t,0);if(t>1){var i=t-1,r=-1;for(i=t-1;i>=1;i--){if(e.getLanguageIdAtPosition(i,0)!==n)return r;var s=e.getLineContent(i);if(!o.shouldIgnore(s)&&!/^\s+$/.test(s)&&""!==s)return i;r=i}}return-1},e.prototype.getInheritIndentForLine=function(e,t,o){void 0===o&&(o=!0);var i=this.getIndentRulesSupport(e.getLanguageIdentifier().id);if(!i)return null;if(t<=1)return{indentation:"",action:null};var r=this.getPrecedingValidLine(e,t,i);if(r<0)return null;if(r<1)return{indentation:"",action:null};var s=e.getLineContent(r);if(i.shouldIncrease(s)||i.shouldIndentNextLine(s))return{indentation:u.getLeadingWhitespace(s),action:n.a.Indent,line:r};if(i.shouldDecrease(s))return{indentation:u.getLeadingWhitespace(s),action:null,line:r};if(1===r)return{indentation:u.getLeadingWhitespace(e.getLineContent(r)),action:null,line:r};var a=r-1,l=i.getIndentMetadata(e.getLineContent(a));if(!(3&l)&&4&l){for(var c=0,h=a-1;h>0;h--)if(!i.shouldIndentNextLine(e.getLineContent(h))){c=h;break}return{indentation:u.getLeadingWhitespace(e.getLineContent(c+1)),action:null,line:c+1}}if(o)return{indentation:u.getLeadingWhitespace(e.getLineContent(r)),action:null,line:r};for(h=r;h>0;h--){var d=e.getLineContent(h);if(i.shouldIncrease(d))return{indentation:u.getLeadingWhitespace(d),action:n.a.Indent,line:h};if(i.shouldIndentNextLine(d)){c=0;for(var g=h-1;g>0;g--)if(!i.shouldIndentNextLine(e.getLineContent(h))){c=g;break}return{indentation:u.getLeadingWhitespace(e.getLineContent(c+1)),action:null,line:c+1}}if(i.shouldDecrease(d))return{indentation:u.getLeadingWhitespace(d),action:null,line:h}}return{indentation:u.getLeadingWhitespace(e.getLineContent(1)),action:null,line:1}},e.prototype.getGoodIndentForLine=function(e,t,o,i){var r=this.getIndentRulesSupport(t);if(!r)return null;var s=this.getInheritIndentForLine(e,o),a=e.getLineContent(o);if(s){var c=s.line;if(void 0!==c){var h=this._getOnEnterSupport(t),d=null;try{d=h.onEnter("",e.getLineContent(c),"")}catch(e){Object(l.e)(e)}if(d){var g=u.getLeadingWhitespace(e.getLineContent(c));return d.removeText&&(g=g.substring(0,g.length-d.removeText)),d.indentAction===n.a.Indent||d.indentAction===n.a.IndentOutdent?g=i.shiftIndent(g):d.indentAction===n.a.Outdent&&(g=i.unshiftIndent(g)),r.shouldDecrease(a)&&(g=i.unshiftIndent(g)),d.appendText&&(g+=d.appendText),u.getLeadingWhitespace(g)}}return r.shouldDecrease(a)?s.action===n.a.Indent?s.indentation:i.unshiftIndent(s.indentation):s.action===n.a.Indent?i.shiftIndent(s.indentation):s.indentation}return null},e.prototype.getIndentForEnter=function(e,t,o,i){e.forceTokenization(t.startLineNumber);var s,a,l=e.getLineTokens(t.startLineNumber),c=Object(r.a)(l,t.startColumn-1),h=c.getLineContent(),d=!1;(c.firstCharOffset>0&&l.getLanguageId(0)!==c.languageId?(d=!0,s=h.substr(0,t.startColumn-1-c.firstCharOffset)):s=l.getLineContent().substring(0,t.startColumn-1),t.isEmpty())?a=h.substr(t.startColumn-1-c.firstCharOffset):a=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-c.firstCharOffset);var g=this.getIndentRulesSupport(c.languageId);if(!g)return null;var p=s,f=u.getLeadingWhitespace(s);if(!i&&!d){var m=this.getInheritIndentForLine(e,t.startLineNumber);g.shouldDecrease(s)&&m&&(f=m.indentation,m.action!==n.a.Indent&&(f=o.unshiftIndent(f))),p=f+u.ltrim(u.ltrim(s," "),"\t")}var _={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,o){return e.getLanguageIdAtPosition(t,o)},getLineContent:function(o){return o===t.startLineNumber?p:e.getLineContent(o)}},y=u.getLeadingWhitespace(l.getLineContent()),v=this.getInheritIndentForLine(_,t.startLineNumber+1);if(!v){var b=d?y:f;return{beforeEnter:b,afterEnter:b}}var E=d?y:v.indentation;return v.action===n.a.Indent&&(E=o.shiftIndent(E)),g.shouldDecrease(a)&&(E=o.unshiftIndent(E)),{beforeEnter:d?y:f,afterEnter:E}},e.prototype.getIndentActionForType=function(e,t,o,i){var r=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),s=this.getIndentRulesSupport(r.languageId);if(!s)return null;var a,l=r.getLineContent(),u=l.substr(0,t.startColumn-1-r.firstCharOffset);t.isEmpty()?a=l.substr(t.startColumn-1-r.firstCharOffset):a=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-r.firstCharOffset);if(!s.shouldDecrease(u+a)&&s.shouldDecrease(u+o+a)){var c=this.getInheritIndentForLine(e,t.startLineNumber,!1);if(!c)return null;var h=c.indentation;return c.action!==n.a.Indent&&(h=i.unshiftIndent(h)),h}return null},e.prototype.getIndentMetadata=function(e,t){var o=this.getIndentRulesSupport(e.getLanguageIdentifier().id);return o?t<1||t>e.getLineCount()?null:o.getIndentMetadata(e.getLineContent(t)):null},e.prototype._getOnEnterSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.onEnter||null},e.prototype.getRawEnterActionAtPosition=function(e,t,o){var n=this.getEnterAction(e,new f.a(t,o,t,o));return n?n.enterAction:null},e.prototype.getEnterAction=function(e,t){var o=this.getIndentationAtPosition(e,t.startLineNumber,t.startColumn),i=this.getScopedLineTokens(e,t.startLineNumber,t.startColumn),r=this._getOnEnterSupport(i.languageId);if(!r)return null;var s,a=i.getLineContent(),u=a.substr(0,t.startColumn-1-i.firstCharOffset);t.isEmpty()?s=a.substr(t.startColumn-1-i.firstCharOffset):s=this.getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-i.firstCharOffset);var c=t.startLineNumber,h="";if(c>1&&0===i.firstCharOffset){var d=this.getScopedLineTokens(e,c-1);d.languageId===i.languageId&&(h=d.getLineContent())}var g=null;try{g=r.onEnter(h,u,s)}catch(e){Object(l.e)(e)}return g?(g.appendText||(g.indentAction===n.a.Indent||g.indentAction===n.a.IndentOutdent?g.appendText="\t":g.appendText=""),g.removeText&&(o=o.substring(0,o.length-g.removeText)),{enterAction:g,indentation:o}):null},e.prototype.getIndentationAtPosition=function(e,t,o){var n=e.getLineContent(t),i=u.getLeadingWhitespace(n);return i.length>o-1&&(i=i.substring(0,o-1)),i},e.prototype.getScopedLineTokens=function(e,t,o){e.forceTokenization(t);var n=e.getLineTokens(t),i=isNaN(o)?e.getLineMaxColumn(t)-1:o-1;return Object(r.a)(n,i)},e.prototype.getBracketsSupport=function(e){var t=this._getRichEditSupport(e);return t&&t.brackets||null},e}())},function(e,t,o){"use strict";var n,i,r=o(15),s=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//;var c="",h="/",d=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,g=function(){function e(e,t,o,n,i){"object"==typeof e?(this.scheme=e.scheme||c,this.authority=e.authority||c,this.path=e.path||c,this.query=e.query||c,this.fragment=e.fragment||c):(this.scheme=e||c,this.authority=t||c,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==h&&(t=h+t):t=h}return t}(this.scheme,o||c),this.query=n||c,this.fragment=i||c,function(e){if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return y(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=c),void 0===o?o=this.authority:null===o&&(o=c),void 0===n?n=this.path:null===n&&(n=c),void 0===i?i=this.query:null===i&&(i=c),void 0===r?r=this.fragment:null===r&&(r=c),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new p(t,o,n,i,r)},e.parse=function(e){var t=d.exec(e);return t?new p(t[2]||c,decodeURIComponent(t[4]||c),decodeURIComponent(t[5]||c),decodeURIComponent(t[7]||c),decodeURIComponent(t[9]||c)):new p(c,c,c,c,c)},e.file=function(e){var t=c;if(r.g&&(e=e.replace(/\\/g,h)),e[0]===h&&e[1]===h){var o=e.indexOf(h,2);-1===o?(t=e.substring(2),e=h):(t=e.substring(2,o),e=e.substring(o)||h)}return new p("file",t,e,c,c)},e.from=function(e){return new p(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),v(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new p(t);return o._fsPath=t.fsPath,o._formatted=t.external,o}return t},e}();t.a=g;var p=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return s(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=y(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(g),f=((i={})[58]="%3A",i[47]="%2F",i[63]="%3F",i[35]="%23",i[91]="%5B",i[93]="%5D",i[64]="%40",i[33]="%21",i[36]="%24",i[38]="%26",i[39]="%27",i[40]="%28",i[41]="%29",i[42]="%2A",i[43]="%2B",i[44]="%2C",i[59]="%3B",i[61]="%3D",i[32]="%20",i);function m(e,t){for(var o=void 0,n=-1,i=0;i<e.length;i++){var r=e.charCodeAt(i);if(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=f[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function _(e){for(var t=void 0,o=0;o<e.length;o++){var n=e.charCodeAt(o);35===n||63===n?(void 0===t&&(t=e.substr(0,o)),t+=f[n]):void 0!==t&&(t+=e[o])}return void 0!==t?t:e}function y(e){var t;return t=e.authority&&e.path.length>1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,r.g&&(t=t.replace(/\//g,"\\")),t}function v(e,t){var o=t?_:m,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=h,n+=h),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(d=s.charCodeAt(1))>=65&&d<=90&&(s="/"+String.fromCharCode(d+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var d;(d=s.charCodeAt(0))>=65&&d<=90&&(s=String.fromCharCode(d+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:m(l,!1)),n}},function(e,t,o){"use strict";o.d(t,"a",(function(){return v}));o(436);var n,i=o(21),r=o(6),s=o(8),a=o(76),l=o(1),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c="_msDataKey";function h(e){return e[c]||(e[c]={}),e[c]}function d(e){return!!e[c]}var g=function(){function e(e,t){this.offdom=t,this.container=e,this.currentElement=e,this.createdElements=[],this.toDispose={},this.captureToDispose={}}return e.prototype.clone=function(){var t=new e(this.container,this.offdom);return t.currentElement=this.currentElement,t.createdElements=this.createdElements,t.captureToDispose=this.captureToDispose,t.toDispose=this.toDispose,t},e.prototype.build=function(t,o){a.a(this.offdom,"This builder was not created off-dom, so build() can not be called."),t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,a.a(t,"Builder can only be build() with a container provided."),a.a(l.C(t),"The container must either be a HTMLElement or a Builder.");var n,r,s=t,u=s.childNodes;if(i.f(o)&&o<u.length)for(n=0,r=this.createdElements.length;n<r;n++)s.insertBefore(this.createdElements[n],u[o++]);else for(n=0,r=this.createdElements.length;n<r;n++)s.appendChild(this.createdElements[n]);return this},e.prototype.appendTo=function(t,o){t?t instanceof e&&(t=t.getHTMLElement()):t=this.container,a.a(t,"Builder can only be build() with a container provided."),a.a(l.C(t),"The container must either be a HTMLElement or a Builder.");var n=t;this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement);var r=n.childNodes;return i.f(o)&&o<r.length?n.insertBefore(this.currentElement,r[o]):n.appendChild(this.currentElement),this},e.prototype.getHTMLElement=function(){return this.currentElement},e.prototype.div=function(e,t){return this.doElement("div",e,t)},e.prototype.element=function(e,t,o){return this.doElement(e,t,o)},e.prototype.doElement=function(t,o,n){var r=document.createElement(t);if(this.currentElement=r,this.offdom&&this.createdElements.push(r),i.g(o)&&this.attr(o),i.e(o)&&(n=o),i.e(n)){var s=new e(r);n.call(s,s)}return this.offdom||this.container.appendChild(r),this},e.prototype.domBlur=function(){return this.currentElement.blur(),this},e.prototype.on=function(e,t,o,n){var r=this;if(i.b(e))e.forEach((function(e){r.on(e,t,o,n)}));else{var s=e,a=l.g(this.currentElement,s,(function(e){t(e,r,a)}),n||!1);n?(this.captureToDispose[s]||(this.captureToDispose[s]=[]),this.captureToDispose[s].push(a)):(this.toDispose[s]||(this.toDispose[s]=[]),this.toDispose[s].push(a));var u=this.getProperty("__$listeners",[]);u.push(a),this.setProperty("__$listeners",u),o&&i.b(o)&&o.push(a)}return this},e.prototype.off=function(e,t){var o=this;if(i.b(e))e.forEach((function(e){o.off(e)}));else{var n=e;t?this.captureToDispose[n]&&(this.captureToDispose[n]=Object(r.d)(this.captureToDispose[n])):this.toDispose[n]&&(this.toDispose[n]=Object(r.d)(this.toDispose[n]))}return this},e.prototype.attr=function(e,t){if(i.g(e)){for(var o in e)if(e.hasOwnProperty(o)){var n=e[o];this.doSetAttr(o,n)}return this}return i.h(e)&&!i.h(t)?this.currentElement.getAttribute(e):(i.h(e)&&(i.h(t)||(t=String(t)),this.doSetAttr(e,t)),this)},e.prototype.doSetAttr=function(e,t){"class"===e&&(e="addClass"),this[e]?i.b(t)?this[e].apply(this,t):this[e].call(this,t):this.currentElement.setAttribute(e,t)},e.prototype.style=function(e,t){if(i.g(e)){for(var o in e)if(e.hasOwnProperty(o)){var n=e[o];this.doSetStyle(o,n)}return this}var r=i.h(e);return r&&i.i(t)?this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]:(r&&this.doSetStyle(e,t),this)},e.prototype.doSetStyle=function(e,t){if(e.indexOf("-")>=0){var o=e.split("-");e=o[0];for(var n=1;n<o.length;n++){var i=o[n];e=e+i.charAt(0).toUpperCase()+i.substr(1)}}this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]=t},e.prototype.cssKeyToJavaScriptProperty=function(e){if(e.indexOf("-")>=0){var t=e.split("-");e=t[0];for(var o=1;o<t.length;o++){var n=t[o];e=e+n.charAt(0).toUpperCase()+n.substr(1)}}else"float"===e&&(e="cssFloat");return e},e.prototype.addClass=function(){for(var e=this,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.forEach((function(t){t.split(" ").forEach((function(t){l.f(e.currentElement,t)}))})),this},e.prototype.setClass=function(e,t){return void 0===t&&(t=null),null===t?this.currentElement.className=e:t?this.addClass(e):this.removeClass(e),this},e.prototype.hasClass=function(e){return l.z(this.currentElement,e)},e.prototype.removeClass=function(){for(var e=this,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return t.forEach((function(t){t.split(" ").forEach((function(t){l.G(e.currentElement,t)}))})),this},e.prototype.show=function(){return this.hasClass("monaco-builder-hidden")&&this.removeClass("monaco-builder-hidden"),this.attr("aria-hidden","false"),this.cancelVisibilityTimeout(),this},e.prototype.hide=function(){return this.hasClass("monaco-builder-hidden")||this.addClass("monaco-builder-hidden"),this.attr("aria-hidden","true"),this.cancelVisibilityTimeout(),this},e.prototype.cancelVisibilityTimeout=function(){var e=this.getProperty("__$visibility");e&&(e.dispose(),this.removeProperty("__$visibility"))},e.prototype.innerHtml=function(e,t){return t?this.currentElement.innerHTML+=e:this.currentElement.innerHTML=e,this},e.prototype.text=function(e,t){return t?0===this.currentElement.children.length?this.currentElement.textContent+=e:this.currentElement.appendChild(document.createTextNode(e)):this.currentElement.textContent=e,this},e.prototype.safeInnerHtml=function(e,t){return this.innerHtml(s.escape(e),t)},e.prototype.setProperty=function(e,t){return function(e,t,o){h(e)[t]=o}(this.currentElement,e,t),this},e.prototype.getProperty=function(e,t){return function(e,t,o){if(d(e)){var n=h(e)[t];if(!i.i(n))return n}return o}(this.currentElement,e,t)},e.prototype.removeProperty=function(e){return d(this.currentElement)&&delete h(this.currentElement)[e],this},e.prototype.unbindDescendants=function(e){if(e&&e.children)for(var t=0,o=e.children.length;t<o;t++){var n=e.children.item(t);if(d(n)){var r=h(n).__$listeners;if(i.b(r))for(;r.length;)r.pop().dispose();delete n[c]}this.unbindDescendants(n)}},e.prototype.empty=function(){return this.unbindDescendants(this.currentElement),this.clearChildren(),this.offdom&&(this.createdElements=[]),this},e.prototype.clearChildren=function(){return this.currentElement&&l.l(this.currentElement),this},e.prototype.destroy=function(){if(this.currentElement&&(this.currentElement.parentNode&&this.currentElement.parentNode.removeChild(this.currentElement),this.empty(),d(this.currentElement))){var e=h(this.currentElement).__$listeners;if(i.b(e))for(;e.length;)e.pop().dispose();delete this.currentElement[c]}var t;for(t in this.toDispose)this.toDispose.hasOwnProperty(t)&&i.b(this.toDispose[t])&&(this.toDispose[t]=Object(r.d)(this.toDispose[t]));for(t in this.captureToDispose)this.captureToDispose.hasOwnProperty(t)&&i.b(this.captureToDispose[t])&&(this.captureToDispose[t]=Object(r.d)(this.captureToDispose[t]));this.currentElement=null,this.container=null,this.offdom=null,this.createdElements=null,this.captureToDispose=null,this.toDispose=null},e.prototype.dispose=function(){this.destroy()},e.prototype.getTotalSize=function(){var e=l.y(this.currentElement),t=l.x(this.currentElement);return new l.b(e,t)},e.prototype.getClientArea=function(){return l.q(this.currentElement)},e}(),p=function(e){function t(o){var n=this;if(a.a(i.b(o)||o instanceof t,"Expected Array or MultiBuilder as parameter"),(n=e.call(this)||this).length=0,n.builders=[],i.b(o))for(var r=0;r<o.length;r++)o[r]instanceof HTMLElement?n.push(m(o[r])):n.push(o[r]);else for(r=0;r<o.length;r++)n.push(o.item(r));var s=n,l=function(e){s[e]=function(){for(var o,n=Array.prototype.slice.call(arguments),r=!1,a=0;a<s.length;a++){var l=s.item(a)[e].apply(s.item(a),n);if(l instanceof t){o||(o=[]),r=!0;for(var u=0;u<l.length;u++)o.push(l.item(u))}else i.i(l)||l instanceof g||(o||(o=[]),o.push(l))}return o&&r?new t(o):o||s}};for(var u in g.prototype)"clone"!==u&&"and"!==u&&g.prototype.hasOwnProperty(u)&&i.e(g.prototype[u])&&l(u);return n}return u(t,e),t.prototype.item=function(e){return this.builders[e]},t.prototype.push=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var o=0;o<e.length;o++)this.builders.push(e[o]);this.length=this.builders.length},t.prototype.clone=function(){return new t(this)},t}(g);function f(e,t){return e instanceof p?new p(e):new g(e.getHTMLElement(),t)}function m(e,t){return new g(e,t)}function _(){return new g(null,!0)}var y=/([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/,v=function(e){if(i.i(e))return _();if(!e)throw new Error("Bad use of $");if(l.C(e)||e===window)return m(e);if(i.b(e))return new p(e);if(e instanceof g)return f(e);if(i.h(e)){if("<"===e[0]){var t=void 0,o=document.createElement("div");if(o.innerHTML=s.format.apply(s,arguments),0===o.children.length)throw new Error("Bad use of $");if(1===o.children.length)return t=o.firstChild,o.removeChild(t),m(t);for(var n=[];o.firstChild;)t=o.firstChild,o.removeChild(t),n.push(m(t));return new p(n)}if(1===arguments.length){var r=y.exec(e);if(!r)throw new Error("Bad use of $");var a=r[1]||"div",u=r[3]||void 0,c=(r[4]||"").replace(/\./g," "),h={};return u&&(h.id=u),c&&(h.class=c),_().element(a,h)}var d=_();return d.element.apply(d,arguments),d}throw new Error("Bad use of $")}},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e[e.NotSet=0]="NotSet",e[e.ContentFlush=1]="ContentFlush",e[e.RecoverFromMarkers=2]="RecoverFromMarkers",e[e.Explicit=3]="Explicit",e[e.Paste=4]="Paste",e[e.Undo=5]="Undo",e[e.Redo=6]="Redo"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("codeEditorService")},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(6),i=o(21),r=o(22),s=o(201),a=Object(r.c)("commandService"),l=new(function(){function e(){this._commands=new Map}return e.prototype.registerCommand=function(e,t){var o=this;if(!e)throw new Error("invalid command");if("string"==typeof e){if(!t)throw new Error("invalid command");return this.registerCommand({id:e,handler:t})}if(e.description){for(var r=[],a=0,l=e.description.args;a<l.length;a++){var u=l[a];r.push(u.constraint)}var c=e.handler;e.handler=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return Object(i.k)(t,r),c.apply(void 0,[e].concat(t))}}var h=e.id,d=this._commands.get(h);d||(d=new s.a,this._commands.set(h,d));var g=d.unshift(e);return Object(n.f)((function(){g(),o._commands.get(h).isEmpty()&&o._commands.delete(h)}))},e.prototype.registerCommandAlias=function(e,t){return l.registerCommand(e,(function(e){for(var o,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];(o=e.get(a)).executeCommand.apply(o,[t].concat(n))}))},e.prototype.getCommand=function(e){var t=this._commands.get(e);if(t&&!t.isEmpty())return t.iterator().next().value},e.prototype.getCommands=function(){var e=this,t=Object.create(null);return this._commands.forEach((function(o,n){t[n]=e.getCommand(n)})),t},e}())},function(e,t,o){"use strict";o.d(t,"f",(function(){return h})),o.d(t,"b",(function(){return d})),o.d(t,"a",(function(){return g})),o.d(t,"d",(function(){return p})),o.d(t,"e",(function(){return m})),o.d(t,"c",(function(){return _}));var n,i=o(78),r=o(22),s=o(12),a=o(37),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},c=function(e,t){return function(o,n){t(o,n,e)}};function h(e){return void 0!==e.command}var d=function(){function e(){this.id=String(e.ID++)}return e.ID=1,e.EditorContext=new e,e.CommandPalette=new e,e.MenubarEditMenu=new e,e.MenubarSelectionMenu=new e,e}(),g=Object(r.c)("menuService"),p=new(function(){function e(){this._commands=Object.create(null),this._menuItems=Object.create(null)}return e.prototype.addCommand=function(e){var t=this._commands[e.id];return this._commands[e.id]=e,void 0!==t},e.prototype.getCommand=function(e){return this._commands[e]},e.prototype.appendMenuItem=function(e,t){var o=e.id,n=this._menuItems[o];return n?n.push(t):this._menuItems[o]=n=[t],{dispose:function(){var e=n.indexOf(t);e>=0&&n.splice(e,1)}}},e.prototype.getMenuItems=function(e){var t=e.id,o=this._menuItems[t]||[];return t===d.CommandPalette.id&&this._appendImplicitItems(o),o},e.prototype._appendImplicitItems=function(e){for(var t=new Set,o=0,n=e.filter((function(e){return h(e)}));o<n.length;o++){var i=n[o],r=i.command,s=i.alt;t.add(r.id),s&&t.add(s.id)}for(var a in this._commands)t.has(a)||e.push({command:this._commands[a]})},e}()),f=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i._commandService=n,i}return l(t,e),t.prototype.run=function(){for(var e,t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];return(e=this._commandService).executeCommand.apply(e,[this.id].concat(t))},t=u([c(2,a.b)],t)}(i.a),m=function(e){function t(t){var o=this;return(o="string"==typeof t.title?e.call(this,"",t.title,"submenu")||this:e.call(this,"",t.title.value,"submenu")||this).item=t,o}return l(t,e),t}(i.a),_=function(e){function t(o,n,i,r,s){var a=this;return(a="string"==typeof o.title?e.call(this,o.id,o.title,s)||this:e.call(this,o.id,o.title.value,s)||this)._cssClass=void 0,a._enabled=!o.precondition||r.contextMatchesRules(o.precondition),a._options=i||{},a.item=o,a.alt=n?new t(n,void 0,a._options,r,s):void 0,a}return l(t,e),t.prototype.run=function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n=[];return this._options.arg&&(n=n.concat([this._options.arg])),this._options.shouldForwardArgs&&(n=n.concat(t)),e.prototype.run.apply(this,n)},t=u([c(3,s.e),c(4,a.b)],t)}(f)},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return l})),o.d(t,"f",(function(){return u})),o.d(t,"e",(function(){return h})),o.d(t,"d",(function(){return g})),o.d(t,"c",(function(){return p}));var n,i=function(){function e(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}return e.prototype.define=function(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e},e.prototype.keyCodeToStr=function(e){return this._keyCodeToStr[e]},e.prototype.strToKeyCode=function(e){return this._strToKeyCode[e.toLowerCase()]||0},e}(),r=new i,s=new i,a=new i;function l(e,t){return(e|(65535&t)<<16>>>0)>>>0}function u(e,t){if(0===e)return null;var o=(65535&e)>>>0,n=(4294901760&e)>>>16;return 0!==n?new d(c(o,t),c(n,t)):c(o,t)}function c(e,t){var o=!!(2048&e),n=!!(256&e);return new h(2===t?n:o,!!(1024&e),!!(512&e),2===t?o:n,255&e)}!function(){function e(e,t,o,n){void 0===o&&(o=t),void 0===n&&(n=o),r.define(e,t),s.define(e,o),a.define(e,n)}e(0,"unknown"),e(1,"Backspace"),e(2,"Tab"),e(3,"Enter"),e(4,"Shift"),e(5,"Ctrl"),e(6,"Alt"),e(7,"PauseBreak"),e(8,"CapsLock"),e(9,"Escape"),e(10,"Space"),e(11,"PageUp"),e(12,"PageDown"),e(13,"End"),e(14,"Home"),e(15,"LeftArrow","Left"),e(16,"UpArrow","Up"),e(17,"RightArrow","Right"),e(18,"DownArrow","Down"),e(19,"Insert"),e(20,"Delete"),e(21,"0"),e(22,"1"),e(23,"2"),e(24,"3"),e(25,"4"),e(26,"5"),e(27,"6"),e(28,"7"),e(29,"8"),e(30,"9"),e(31,"A"),e(32,"B"),e(33,"C"),e(34,"D"),e(35,"E"),e(36,"F"),e(37,"G"),e(38,"H"),e(39,"I"),e(40,"J"),e(41,"K"),e(42,"L"),e(43,"M"),e(44,"N"),e(45,"O"),e(46,"P"),e(47,"Q"),e(48,"R"),e(49,"S"),e(50,"T"),e(51,"U"),e(52,"V"),e(53,"W"),e(54,"X"),e(55,"Y"),e(56,"Z"),e(57,"Meta"),e(58,"ContextMenu"),e(59,"F1"),e(60,"F2"),e(61,"F3"),e(62,"F4"),e(63,"F5"),e(64,"F6"),e(65,"F7"),e(66,"F8"),e(67,"F9"),e(68,"F10"),e(69,"F11"),e(70,"F12"),e(71,"F13"),e(72,"F14"),e(73,"F15"),e(74,"F16"),e(75,"F17"),e(76,"F18"),e(77,"F19"),e(78,"NumLock"),e(79,"ScrollLock"),e(80,";",";","OEM_1"),e(81,"=","=","OEM_PLUS"),e(82,",",",","OEM_COMMA"),e(83,"-","-","OEM_MINUS"),e(84,".",".","OEM_PERIOD"),e(85,"/","/","OEM_2"),e(86,"`","`","OEM_3"),e(110,"ABNT_C1"),e(111,"ABNT_C2"),e(87,"[","[","OEM_4"),e(88,"\\","\\","OEM_5"),e(89,"]","]","OEM_6"),e(90,"'","'","OEM_7"),e(91,"OEM_8"),e(92,"OEM_102"),e(93,"NumPad0"),e(94,"NumPad1"),e(95,"NumPad2"),e(96,"NumPad3"),e(97,"NumPad4"),e(98,"NumPad5"),e(99,"NumPad6"),e(100,"NumPad7"),e(101,"NumPad8"),e(102,"NumPad9"),e(103,"NumPad_Multiply"),e(104,"NumPad_Add"),e(105,"NumPad_Separator"),e(106,"NumPad_Subtract"),e(107,"NumPad_Decimal"),e(108,"NumPad_Divide")}(),function(e){e.toString=function(e){return r.keyCodeToStr(e)},e.fromString=function(e){return r.strToKeyCode(e)},e.toUserSettingsUS=function(e){return s.keyCodeToStr(e)},e.toUserSettingsGeneral=function(e){return a.keyCodeToStr(e)},e.fromUserSettings=function(e){return s.strToKeyCode(e)||a.strToKeyCode(e)}}(n||(n={}));var h=function(){function e(e,t,o,n,i){this.type=1,this.ctrlKey=e,this.shiftKey=t,this.altKey=o,this.metaKey=n,this.keyCode=i}return e.prototype.equals=function(e){return 1===e.type&&(this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode)},e.prototype.isModifierKey=function(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode},e.prototype.isDuplicateModifierCase=function(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode},e}(),d=function(e,t){this.type=2,this.firstPart=e,this.chordPart=t},g=function(e,t,o,n,i,r){this.ctrlKey=e,this.shiftKey=t,this.altKey=o,this.metaKey=n,this.keyLabel=i,this.keyAriaLabel=r},p=function(){}},function(e,t,o){"use strict";o.d(t,"i",(function(){return r})),o.d(t,"g",(function(){return s})),o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"h",(function(){return d})),o.d(t,"f",(function(){return p})),o.d(t,"e",(function(){return f})),o.d(t,"d",(function(){return m}));var n=o(15),i=o(8),r="/",s=n.g?"\\":"/";function a(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");if(0===t)return".";if(0==~t)return e[0];if(~t==e.length-1)return a(e.substring(0,e.length-1));var o=e.substring(0,~t);return n.g&&":"===o[o.length-1]&&(o+=s),o}function l(e){var t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return 0===t?e:~t==e.length-1?l(e.substring(0,e.length-1)):e.substr(1+~t)}function u(e){var t=~(e=l(e)).lastIndexOf(".");return t?e.substring(~t):""}var c=/(\/\.\.?\/)|(\/\.\.?)$|^(\.\.?\/)|(\/\/+)|(\\)/,h=/(\\\.\.?\\)|(\\\.\.?)$|^(\.\.?\\)|(\\\\+)|(\/)/;function d(e,t){if(null==e)return e;var o=e.length;if(0===o)return".";var i=n.g&&t;if(function(e,t){return t?!h.test(e):!c.test(e)}(e,i))return e;for(var r=i?"\\":"/",s=function(e,t){void 0===t&&(t="/");if(!e)return"";var o=e.length,n=e.charCodeAt(0);if(47===n||92===n){if((47===(n=e.charCodeAt(1))||92===n)&&47!==(n=e.charCodeAt(2))&&92!==n){for(var i=3,r=i;i<o&&(47!==(n=e.charCodeAt(i))&&92!==n);i++);if(n=e.charCodeAt(i+1),r!==i&&47!==n&&92!==n)for(i+=1;i<o;i++)if(47===(n=e.charCodeAt(i))||92===n)return e.slice(0,i+1).replace(/[\\/]/g,t)}return t}if((n>=65&&n<=90||n>=97&&n<=122)&&58===e.charCodeAt(1))return 47===(n=e.charCodeAt(2))||92===n?e.slice(0,2)+t:e.slice(0,2);var s=e.indexOf("://");if(-1!==s)for(s+=3;s<o;s++)if(47===(n=e.charCodeAt(s))||92===n)return e.slice(0,s+1);return""}(e,r),a=s.length,l=!1,u="",d=s.length;d<=o;d++)if(d===o||47===e.charCodeAt(d)||92===e.charCodeAt(d)){if(g(e,a,d,"..")){var p=u.lastIndexOf(r),f=u.slice(p+1);(s||f.length>0)&&".."!==f&&(u=-1===p?"":u.slice(0,p),l=!0)}else g(e,a,d,".")&&(s||u||d<o-1)&&(l=!0);if(!l){var m=e.slice(a,d);""!==u&&u[u.length-1]!==r&&(u+=r),u+=m}a=d+1,l=!1}return s+u}function g(e,t,o,n){return t+n.length===o&&e.indexOf(n,t)===t}var p=function(){for(var e="",t=0;t<arguments.length;t++){var o=arguments[t];if(t>0){var n=e.charCodeAt(e.length-1);if(47!==n&&92!==n){var i=o.charCodeAt(0);47!==i&&92!==i&&(e+=r)}}e+=o}return d(e)};function f(e,t,o,n){if(void 0===n&&(n=s),e===t)return!0;if(!e||!t)return!1;if(t.length>e.length)return!1;if(o){if(!Object(i.startsWithIgnoreCase)(e,t))return!1;if(t.length===e.length)return!0;var r=t.length;return t.charAt(t.length-1)===n&&r--,e.charAt(r)===n}return t.charAt(t.length-1)!==n&&(t+=n),0===e.indexOf(t)}function m(e){return n.g?function(e){if(!e)return!1;var t=e.charCodeAt(0);if(47===t||92===t)return!0;if((t>=65&&t<=90||t>=97&&t<=122)&&e.length>2&&58===e.charCodeAt(1)){var o=e.charCodeAt(2);if(47===o||92===o)return!0}return!1}(e):function(e){return e&&47===e.charCodeAt(0)}(e)}},function(e,t,o){"use strict";o.d(t,"b",(function(){return l})),o.d(t,"a",(function(){return u})),o.d(t,"c",(function(){return c}));var n,i=o(15),r=o(24),s=o(173),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(){function e(e){this.timestamp=Date.now(),this.browserEvent=e,this.leftButton=0===e.button,this.middleButton=1===e.button,this.rightButton=2===e.button,this.target=e.target,this.detail=e.detail||1,"dblclick"===e.type&&(this.detail=2),this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,"number"==typeof e.pageX?(this.posx=e.pageX,this.posy=e.pageY):(this.posx=e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,this.posy=e.clientY+document.body.scrollTop+document.documentElement.scrollTop);var t=s.a.getPositionOfChildWindowRelativeToAncestorWindow(self,e.view);this.posx-=t.left,this.posy-=t.top}return e.prototype.preventDefault=function(){this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}(),u=function(e){function t(t){var o=e.call(this,t)||this;return o.dataTransfer=t.dataTransfer,o}return a(t,e),t}(l),c=function(){function e(e,t,o){if(void 0===t&&(t=0),void 0===o&&(o=0),this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=o,this.deltaX=t,e){var n=e,s=e;void 0!==n.wheelDeltaY?this.deltaY=n.wheelDeltaY/120:void 0!==s.VERTICAL_AXIS&&s.axis===s.VERTICAL_AXIS&&(this.deltaY=-s.detail/3),void 0!==n.wheelDeltaX?r.m&&i.g?this.deltaX=-n.wheelDeltaX/120:this.deltaX=n.wheelDeltaX/120:void 0!==s.HORIZONTAL_AXIS&&s.axis===s.HORIZONTAL_AXIS&&(this.deltaX=-e.detail/3),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(this.deltaY=e.wheelDelta/120)}}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return u}));var n,i,r=o(6),s=o(4),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){e[e.Auto=1]="Auto",e[e.Hidden=2]="Hidden",e[e.Visible=3]="Visible"}(i||(i={}));var l=function(){function e(e,t,o,n,i,r){(e|=0)<0&&(e=0),(o|=0)+e>(t|=0)&&(o=t-e),o<0&&(o=0),(n|=0)<0&&(n=0),(r|=0)+n>(i|=0)&&(r=i-n),r<0&&(r=0),this.width=e,this.scrollWidth=t,this.scrollLeft=o,this.height=n,this.scrollHeight=i,this.scrollTop=r}return e.prototype.equals=function(e){return this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop},e.prototype.withScrollDimensions=function(t){return new e(void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,this.scrollTop)},e.prototype.withScrollPosition=function(t){return new e(this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.scrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.scrollTop)},e.prototype.createScrollEvent=function(e){var t=this.width!==e.width,o=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,i=this.height!==e.height,r=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:t,scrollWidthChanged:o,scrollLeftChanged:n,heightChanged:i,scrollHeightChanged:r,scrollTopChanged:s}},e}(),u=function(e){function t(t,o){var n=e.call(this)||this;return n._onScroll=n._register(new s.a),n.onScroll=n._onScroll.event,n._smoothScrollDuration=t,n._scheduleAtNextAnimationFrame=o,n._state=new l(0,0,0,0,0,0),n._smoothScrolling=null,n}return a(t,e),t.prototype.dispose=function(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),e.prototype.dispose.call(this)},t.prototype.setSmoothScrollDuration=function(e){this._smoothScrollDuration=e},t.prototype.validateScrollPosition=function(e){return this._state.withScrollPosition(e)},t.prototype.getScrollDimensions=function(){return this._state},t.prototype.setScrollDimensions=function(e){var t=this._state.withScrollDimensions(e);this._setState(t),this._smoothScrolling&&this._smoothScrolling.acceptScrollDimensions(this._state)},t.prototype.getFutureScrollPosition=function(){return this._smoothScrolling?this._smoothScrolling.to:this._state},t.prototype.getCurrentScrollPosition=function(){return this._state},t.prototype.setScrollPositionNow=function(e){var t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t)},t.prototype.setScrollPositionSmooth=function(e){var t=this;if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:void 0===e.scrollLeft?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:void 0===e.scrollTop?this._smoothScrolling.to.scrollTop:e.scrollTop};var o=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===o.scrollLeft&&this._smoothScrolling.to.scrollTop===o.scrollTop)return;var n=this._smoothScrolling.combine(this._state,o,this._smoothScrollDuration);this._smoothScrolling.dispose(),this._smoothScrolling=n}else{o=this._state.withScrollPosition(e);this._smoothScrolling=d.start(this._state,o,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){t._smoothScrolling&&(t._smoothScrolling.animationFrameDisposable=null,t._performSmoothScrolling())}))},t.prototype._performSmoothScrolling=function(){var e=this,t=this._smoothScrolling.tick(),o=this._state.withScrollPosition(t);if(this._setState(o),t.isDone)return this._smoothScrolling.dispose(),void(this._smoothScrolling=null);this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((function(){e._smoothScrolling&&(e._smoothScrolling.animationFrameDisposable=null,e._performSmoothScrolling())}))},t.prototype._setState=function(e){var t=this._state;t.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(t)))},t}(r.a),c=function(e,t,o){this.scrollLeft=e,this.scrollTop=t,this.isDone=o};function h(e,t){var o=t-e;return function(t){return e+o*(1-function(e){return Math.pow(e,3)}(1-t))}}var d=function(){function e(e,t,o,n){this.from=e,this.to=t,this.duration=n,this._startTime=o,this.animationFrameDisposable=null,this._initAnimations()}return e.prototype._initAnimations=function(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)},e.prototype._initAnimation=function(e,t,o){var n,i,r;if(Math.abs(e-t)>2.5*o){var s=void 0,a=void 0;return e<t?(s=e+.75*o,a=t-.75*o):(s=e-.75*o,a=t+.75*o),n=h(e,s),i=h(a,t),r=.33,function(e){return e<r?n(e/r):i((e-r)/(1-r))}}return h(e,t)},e.prototype.dispose=function(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)},e.prototype.acceptScrollDimensions=function(e){this.to=e.withScrollPosition(this.to),this._initAnimations()},e.prototype.tick=function(){return this._tick(Date.now())},e.prototype._tick=function(e){var t=(e-this._startTime)/this.duration;if(t<1){var o=this.scrollLeft(t),n=this.scrollTop(t);return new c(o,n,!1)}return new c(this.to.scrollLeft,this.to.scrollTop,!0)},e.prototype.combine=function(t,o,n){return e.start(t,o,n)},e.start=function(t,o,n){return n+=10,new e(t,o,Date.now()-10,n)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(23),i=function(){function e(e,t,o){void 0===o&&(o=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.endLineNumber,o.endColumn,o.endLineNumber,o.endColumn)},e}(),r=function(){function e(e,t,o){void 0===o&&(o=!1),this._range=e,this._text=t,this.insertsAutoWhitespace=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.startLineNumber,o.startColumn,o.startLineNumber,o.startColumn)},e}(),s=function(){function e(e,t,o,n,i){void 0===i&&(i=!1),this._range=e,this._text=t,this._columnDeltaOffset=n,this._lineNumberDeltaOffset=o,this.insertsAutoWhitespace=i}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._range,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new n.a(o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset,o.endLineNumber+this._lineNumberDeltaOffset,o.endColumn+this._columnDeltaOffset)},e}(),a=function(){function e(e,t,o){this._range=e,this._text=t,this._initialSelection=o}return e.prototype.getEditOperations=function(e,t){t.addEditOperation(this._range,this._text),this._selectionId=t.trackSelection(this._initialSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._selectionId)},e}()},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i})),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));var i=function(){function e(e){if(this.open=e.open,this.close=e.close,this._standardTokenMask=0,Array.isArray(e.notIn))for(var t=0,o=e.notIn.length;t<o;t++){switch(e.notIn[t]){case"string":this._standardTokenMask|=2;break;case"comment":this._standardTokenMask|=1;break;case"regex":this._standardTokenMask|=4}}}return e.prototype.isOK=function(e){return 0==(this._standardTokenMask&e)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(98),i=o(22),r=(n.a,Object(i.c)("notificationService")),s=function(){}},function(e,t,o){"use strict";o.d(t,"c",(function(){return n})),o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return u}));var n,i,r,s=o(22),a=o(0),l=o(98);!function(e){e[e.Unnecessary=1]="Unnecessary"}(n||(n={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(i||(i={})),function(e){e.compare=function(e,t){return t-e};var t=Object.create(null);t[e.Error]=Object(a.a)("sev.error","Error"),t[e.Warning]=Object(a.a)("sev.warning","Warning"),t[e.Info]=Object(a.a)("sev.info","Info"),e.toString=function(e){return t[e]||""},e.fromSeverity=function(t){switch(t){case l.a.Error:return e.Error;case l.a.Warning:return e.Warning;case l.a.Info:return e.Info;case l.a.Ignore:return e.Hint}}}(i||(i={})),function(e){var t="";e.makeKey=function(e){var o=[t];return e.source?o.push(e.source.replace("¦","¦")):o.push(t),e.code?o.push(e.code.replace("¦","¦")):o.push(t),void 0!==e.severity&&null!==e.severity?o.push(i.toString(e.severity)):o.push(t),e.message?o.push(e.message.replace("¦","¦")):o.push(t),void 0!==e.startLineNumber&&null!==e.startLineNumber?o.push(e.startLineNumber.toString()):o.push(t),void 0!==e.startColumn&&null!==e.startColumn?o.push(e.startColumn.toString()):o.push(t),void 0!==e.endLineNumber&&null!==e.endLineNumber?o.push(e.endLineNumber.toString()):o.push(t),void 0!==e.endColumn&&null!==e.endColumn?o.push(e.endColumn.toString()):o.push(t),o.push(t),o.join("¦")}}(r||(r={}));var u=Object(s.c)("markerService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return g})),o.d(t,"b",(function(){return p})),o.d(t,"d",(function(){return f})),o.d(t,"c",(function(){return E})),o.d(t,"e",(function(){return S}));var n,i=o(17),r=o(25),s=o(8),a=o(30),l=o(13),u=o(3),c=o(11),h=o(12),d=o(48),g={Visible:new h.f("suggestWidgetVisible",!1),MultipleSuggestions:new h.f("suggestWidgetMultipleSuggestions",!1),MakesTextEdit:new h.f("suggestionMakesTextEdit",!0),AcceptOnKey:new h.f("suggestionSupportsAcceptOnKey",!0),AcceptSuggestionsOnEnter:new h.f("acceptSuggestionOnEnter",!0)};function p(){return n}function f(e,t,o,s,a,u){void 0===o&&(o="bottom"),void 0===u&&(u=d.a.None);var h=[],g=function(e){return"none"===e?function(e){return"snippet"!==e.type}:function(){return!0}}(o);t=t.clone();var p=c.u.orderedGroups(e);"none"!==o&&n&&p.unshift([n]);var f=a||{triggerKind:c.v.Invoke},y=!1,v=p.map((function(o){return function(){return Promise.all(o.map((function(o){if(Object(r.k)(s)||!(s.indexOf(o)<0))return Promise.resolve(o.provideCompletionItems(e,t,f,u)).then((function(i){var s=h.length;if(i&&!Object(r.k)(i.suggestions))for(var a=0,l=i.suggestions;a<l.length;a++){var u=l[a];g(u)&&(m(u,i),h.push({position:t,container:i,suggestion:u,support:o,resolve:_(o,u,e,t)}))}s!==h.length&&o!==n&&(y=!0)}),l.f)})))}}));return Object(i.k)(v,(function(){return y})).then((function(){return h.sort(E(o))}))}function m(e,t){"number"!=typeof e.overwriteBefore&&(e.overwriteBefore=0),("number"!=typeof e.overwriteAfter||e.overwriteAfter<0)&&(e.overwriteAfter=0)}function _(e,t,o,n){return function(i){return"function"==typeof e.resolveCompletionItem?Promise.resolve(e.resolveCompletionItem(o,n,t,i)).then((function(e){Object(a.a)(t,e)})):Promise.resolve(void 0)}}function y(e,t){var o=0;return"string"==typeof e.suggestion.sortText&&"string"==typeof t.suggestion.sortText&&(o=Object(s.compareIgnoreCase)(e.suggestion.sortText,t.suggestion.sortText)),0===o&&(o=Object(s.compareIgnoreCase)(e.suggestion.label,t.suggestion.label)),0===o&&e.suggestion.type!==t.suggestion.type&&("snippet"===e.suggestion.type?o=1:"snippet"===t.suggestion.type&&(o=-1)),o}function v(e,t){if(e.suggestion.type!==t.suggestion.type){if("snippet"===e.suggestion.type)return-1;if("snippet"===t.suggestion.type)return 1}return y(e,t)}function b(e,t){if(e.suggestion.type!==t.suggestion.type){if("snippet"===e.suggestion.type)return 1;if("snippet"===t.suggestion.type)return-1}return y(e,t)}function E(e){return"top"===e?v:"bottom"===e?b:y}Object(u.e)("_executeCompletionItemProvider",(function(e,t,o){var n={incomplete:!1,suggestions:[]},i=[],r=o.maxItemsToResolve||0;return f(e,t).then((function(e){for(var t=0,o=e;t<o.length;t++){var s=o[t];i.length<r&&i.push(s.resolve(d.a.None)),n.incomplete=n.incomplete||s.container.incomplete,n.suggestions.push(s.suggestion)}})).then((function(){return Promise.all(i)})).then((function(){return n}))}));var C=new(function(){function e(){this.onlyOnceSuggestions=[]}return e.prototype.provideCompletionItems=function(){var e={suggestions:this.onlyOnceSuggestions.slice(0)};return this.onlyOnceSuggestions.length=0,e},e}());function S(e,t){setTimeout((function(){var o;(o=C.onlyOnceSuggestions).push.apply(o,t),e.getContribution("editor.contrib.suggestController").triggerSuggest([C])}),0)}c.u.register("*",C)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return a}));var n,i=o(4),r=Object.freeze((function(e,t){var o=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(o)}}}));!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.b.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:r})}(n||(n={}));var s=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?r:(this._emitter||(this._emitter=new i.a),this._emitter.event)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)},e}(),a=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new s),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token instanceof s&&this._token.cancel():this._token=n.Cancelled},e.prototype.dispose=function(){this._token?this._token instanceof s&&this._token.dispose():this._token=n.None},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return n})),o.d(t,"i",(function(){return l})),o.d(t,"c",(function(){return u})),o.d(t,"h",(function(){return c})),o.d(t,"e",(function(){return h})),o.d(t,"d",(function(){return d})),o.d(t,"f",(function(){return g})),o.d(t,"g",(function(){return p}));var n,i=o(57),r=o(22),s=o(104),a=Object(r.c)("configurationService");function l(e,t){var o=Object.create(null);for(var n in e)u(o,n,e[n],t);return o}function u(e,t,o,n){for(var i=t.split("."),r=i.pop(),s=e,a=0;a<i.length;a++){var l=i[a],u=s[l];switch(typeof u){case"undefined":u=s[l]=Object.create(null);break;case"object":break;default:return void n("Ignoring "+t+" as "+i.slice(0,a+1).join(".")+" is "+JSON.stringify(u))}s=u}"object"==typeof s?s[r]=o:n("Ignoring "+t+" as "+i.join(".")+" is "+JSON.stringify(s))}function c(e,t){!function e(t,o){var n=o.shift();if(0===o.length)return void delete t[n];if(-1!==Object.keys(t).indexOf(n)){var i=t[n];"object"!=typeof i||Array.isArray(i)||(e(i,o),0===Object.keys(i).length&&delete t[n])}}(e,t.split("."))}function h(e,t,o){var n=function(e,t){for(var o=e,n=0;n<t.length;n++){if("object"!=typeof o||null===o)return;o=o[t[n]]}return o}(e,t.split("."));return void 0===n?o:n}function d(){var e=i.a.as(s.b.Configuration).getConfigurationProperties();return Object.keys(e)}function g(){var e=Object.create(null),t=i.a.as(s.b.Configuration).getConfigurationProperties();for(var o in t){u(e,o,t[o].default,(function(e){return console.error("Conflict in default settings: "+e)}))}return e}function p(e){return e.substring(1,e.length-1)}!function(e){e[e.USER=1]="USER",e[e.WORKSPACE=2]="WORKSPACE",e[e.WORKSPACE_FOLDER=3]="WORKSPACE_FOLDER",e[e.DEFAULT=4]="DEFAULT",e[e.MEMORY=5]="MEMORY"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(4),i=function(e,t,o){var i=function(e){return r.fire(e)},r=new n.a({onFirstListenerAdd:function(){e.addEventListener(t,i,o)},onLastListenerRemove:function(){e.removeEventListener(t,i,o)}});return r.event};function r(e){return Object(n.j)(e,(function(e){return e.preventDefault(),e.stopPropagation(),e}))}},function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var n=o(39),i=o(15),r=o(24),s=new Array(230),a=new Array(112);!function(){for(var e=0;e<a.length;e++)a[e]=-1;function t(e,t){s[e]=t,a[t]=e}t(3,7),t(8,1),t(9,2),t(13,3),t(16,4),t(17,5),t(18,6),t(19,7),t(20,8),t(27,9),t(32,10),t(33,11),t(34,12),t(35,13),t(36,14),t(37,15),t(38,16),t(39,17),t(40,18),t(45,19),t(46,20),t(48,21),t(49,22),t(50,23),t(51,24),t(52,25),t(53,26),t(54,27),t(55,28),t(56,29),t(57,30),t(65,31),t(66,32),t(67,33),t(68,34),t(69,35),t(70,36),t(71,37),t(72,38),t(73,39),t(74,40),t(75,41),t(76,42),t(77,43),t(78,44),t(79,45),t(80,46),t(81,47),t(82,48),t(83,49),t(84,50),t(85,51),t(86,52),t(87,53),t(88,54),t(89,55),t(90,56),t(93,58),t(96,93),t(97,94),t(98,95),t(99,96),t(100,97),t(101,98),t(102,99),t(103,100),t(104,101),t(105,102),t(106,103),t(107,104),t(108,105),t(109,106),t(110,107),t(111,108),t(112,59),t(113,60),t(114,61),t(115,62),t(116,63),t(117,64),t(118,65),t(119,66),t(120,67),t(121,68),t(122,69),t(123,70),t(124,71),t(125,72),t(126,73),t(127,74),t(128,75),t(129,76),t(130,77),t(144,78),t(145,79),t(186,80),t(187,81),t(188,82),t(189,83),t(190,84),t(191,85),t(192,86),t(193,110),t(194,111),t(219,87),t(220,88),t(221,89),t(222,90),t(223,91),t(226,92),t(229,109),r.k?t(91,57):r.j?(t(59,80),t(107,81),t(109,83),i.d&&t(224,57)):r.n&&(t(91,57),i.d?t(93,57):t(92,57))}();var l=i.d?256:2048,u=i.d?2048:256,c=function(){function e(e){var t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.keyCode=function(e){if(e.charCode){var t=String.fromCharCode(e.charCode).toUpperCase();return n.b.fromString(t)}return s[e.keyCode]||0}(t),this.code=t.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asRuntimeKeybinding=this._computeRuntimeKeybinding()}return e.prototype.preventDefault=function(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()},e.prototype.stopPropagation=function(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()},e.prototype.toKeybinding=function(){return this._asRuntimeKeybinding},e.prototype.equals=function(e){return this._asKeybinding===e},e.prototype._computeKeybinding=function(){var e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);var t=0;return this.ctrlKey&&(t|=l),this.altKey&&(t|=512),this.shiftKey&&(t|=1024),this.metaKey&&(t|=u),t|=e},e.prototype._computeRuntimeKeybinding=function(){var e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new n.e(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)},e}()},function(e,t,o){"use strict";function n(e){return e&&"string"==typeof e.id}o.d(t,"c",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var i={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},r={ExecuteCommand:"executeCommand",ExecuteCommands:"executeCommands",Type:"type",ReplacePreviousChar:"replacePreviousChar",CompositionStart:"compositionStart",CompositionEnd:"compositionEnd",Paste:"paste",Cut:"cut",Undo:"undo",Redo:"redo"}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(2),i=function(){function e(){}return e.insert=function(e,t){return{range:new n.a(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}},e.delete=function(e){return{range:e,text:null}},e.replace=function(e,t){return{range:e,text:t}},e.replaceMove=function(e,t){return{range:e,text:t,forceMoveMarkers:!0}},e}()},function(e,t,o){"use strict";o.d(t,"f",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"d",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"e",(function(){return u}));var n=o(8),i=function(e,t,o,n){this.top=0|e,this.left=0|t,this.width=0|o,this.height=0|n},r=function(e,t){this.tabSize=e,this.data=t},s=function(e,t,o,n,i){this.content=e,this.continuesWithWrappedLine=t,this.minColumn=o,this.maxColumn=n,this.tokens=i},a=function(){function e(t,o,n,i,r,s,a,l,u){this.minColumn=t,this.maxColumn=o,this.content=n,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(n,s),this.containsRTL=e.containsRTL(n,this.isBasicASCII,r),this.tokens=a,this.inlineDecorations=l,this.tabSize=u}return e.isBasicASCII=function(e,t){return!t||n.isBasicASCII(e)},e.containsRTL=function(e,t,o){return!(t||!o)&&n.containsRTL(e)},e}(),l=function(e,t,o){this.range=e,this.inlineClassName=t,this.type=o},u=function(e,t){this.range=e,this.options=t}},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return n})),o.d(t,"b",(function(){return s}));var n,i=o(22),r=Object(i.c)("storageService");!function(e){e[e.GLOBAL=0]="GLOBAL",e[e.WORKSPACE=1]="WORKSPACE"}(n||(n={}));var s={_serviceBrand:void 0,store:function(){},remove:function(){},get:function(e,t,o){return o},getInteger:function(e,t,o){return o},getBoolean:function(e,t,o){return o}}},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return g})),o.d(t,"c",(function(){return p}));var n=o(0),i=o(4),r=o(40),s=o(6),a=o(8),l=o(155),u=o(10),c=o(2),h=function(){function e(e,t){this._parent=e,this._range=t,this._onRefChanged=new i.a,this.onRefChanged=this._onRefChanged.event,this._id=l.b.nextId()}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._parent.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"range",{get:function(){return this._range},set:function(e){this._range=e,this._onRefChanged.fire(this)},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return Object(n.a)("aria.oneReference","symbol in {0} on line {1} at column {2}",Object(r.a)(this.uri.fsPath),this.range.startLineNumber,this.range.startColumn)},e}(),d=function(){function e(e){this._modelReference=e}return Object.defineProperty(e.prototype,"_model",{get:function(){return this._modelReference.object.textEditorModel},enumerable:!0,configurable:!0}),e.prototype.preview=function(e,t){void 0===t&&(t=8);var o=this._model;if(o){var n=e.startLineNumber,i=e.startColumn,r=e.endLineNumber,s=e.endColumn,l=o.getWordUntilPosition({lineNumber:n,column:i-t}),u=new c.a(n,l.startColumn,n,i),h=new c.a(r,s,r,Number.MAX_VALUE);return{before:o.getValueInRange(u).replace(/^\s+/,a.empty),inside:o.getValueInRange(e),after:o.getValueInRange(h).replace(/\s+$/,a.empty)}}},e.prototype.dispose=function(){this._modelReference&&(this._modelReference.dispose(),this._modelReference=null)},e}(),g=function(){function e(e,t){this._parent=e,this._uri=t,this._children=[]}return Object.defineProperty(e.prototype,"id",{get:function(){return this._uri.toString()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"preview",{get:function(){return this._preview},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"failure",{get:function(){return this._loadFailure},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){var e=this.children.length;return 1===e?Object(n.a)("aria.fileReferences.1","1 symbol in {0}, full path {1}",Object(r.a)(this.uri.fsPath),this.uri.fsPath):Object(n.a)("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Object(r.a)(this.uri.fsPath),this.uri.fsPath)},e.prototype.resolve=function(e){var t=this;return this._resolved?u.b.as(this):e.createModelReference(this._uri).then((function(e){if(!e.object)throw e.dispose(),new Error;return t._preview=new d(e),t._resolved=!0,t}),(function(e){return t._children=[],t._resolved=!0,t._loadFailure=e,t}))},e.prototype.dispose=function(){this._preview&&(this._preview.dispose(),this._preview=null)},e}(),p=function(){function e(t){var o,n=this;this._groups=[],this._references=[],this._onDidChangeReferenceRange=new i.a,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._disposables=[],t.sort(e._compareReferences);for(var r=0,s=t;r<s.length;r++){var a=s[r];if(o&&o.uri.toString()===a.uri.toString()||(o=new g(this,a.uri),this.groups.push(o)),0===o.children.length||!c.a.equalsRange(a.range,o.children[o.children.length-1].range)){var l=new h(o,a.range);this._disposables.push(l.onRefChanged((function(e){return n._onDidChangeReferenceRange.fire(e)}))),this._references.push(l),o.children.push(l)}}}return Object.defineProperty(e.prototype,"empty",{get:function(){return 0===this._groups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"references",{get:function(){return this._references},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"groups",{get:function(){return this._groups},enumerable:!0,configurable:!0}),e.prototype.getAriaMessage=function(){return this.empty?Object(n.a)("aria.result.0","No results found"):1===this.references.length?Object(n.a)("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?Object(n.a)("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):Object(n.a)("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)},e.prototype.nextOrPreviousReference=function(e,t){var o=e.parent,n=o.children.indexOf(e),i=o.children.length,r=o.parent.groups.length;return 1===r||t&&n+1<i||!t&&n>0?(n=t?(n+1)%i:(n+i-1)%i,o.children[n]):(n=o.parent.groups.indexOf(o),t?(n=(n+1)%r,o.parent.groups[n].children[0]):(n=(n+r-1)%r,o.parent.groups[n].children[o.parent.groups[n].children.length-1]))},e.prototype.nearestReference=function(e,t){var o=this._references.map((function(o,n){return{idx:n,prefixLen:a.commonPrefixLength(o.uri.toString(),e.toString()),offsetDist:100*Math.abs(o.range.startLineNumber-t.lineNumber)+Math.abs(o.range.startColumn-t.column)}})).sort((function(e,t){return e.prefixLen>t.prefixLen?-1:e.prefixLen<t.prefixLen?1:e.offsetDist<t.offsetDist?-1:e.offsetDist>t.offsetDist?1:0}))[0];if(o)return this._references[o.idx]},e.prototype.dispose=function(){this._groups=Object(s.d)(this._groups),Object(s.d)(this._disposables),this._disposables.length=0},e._compareReferences=function(e,t){var o=e.uri.toString(),n=t.uri.toString();return o<n?-1:o>n?1:c.a.compareRangesUsingStarts(e.range,t.range)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r}));var n=o(21),i=o(76),r=new(function(){function e(){this.data={}}return e.prototype.add=function(e,t){i.a(n.h(e)),i.a(n.g(t)),i.a(!this.data.hasOwnProperty(e),"There is already an extension with this id"),this.data[e]=t},e.prototype.as=function(e){return this.data[e]||null},e}())},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c})),o.d(t,"c",(function(){return h}));o(429);var n,i,r,s=o(0),a=o(15),l=o(1);function u(e){(n=document.createElement("div")).className="monaco-aria-container",(i=document.createElement("div")).className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),n.appendChild(i),(r=document.createElement("div")).className="monaco-status",r.setAttribute("role","status"),r.setAttribute("aria-atomic","true"),n.appendChild(r),e.appendChild(n)}function c(e){p(i,e)}function h(e){a.d?c(e):p(r,e)}var d=0,g=void 0;function p(e,t){if(n){switch(g===t?d++:(g=t,d=0),d){case 0:break;case 1:t=s.a("repeated","{0} (occurred again)",t);break;default:t=s.a("repeatedNtimes","{0} (occurred {1} times)",t,d)}l.l(e),e.textContent=t,e.style.visibility="hidden",e.style.visibility="visible"}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n,i=o(6),r=o(41),s=o(51),a=o(1),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype.onclick=function(e,t){this._register(a.g(e,a.d.CLICK,(function(e){return t(new r.b(e))})))},t.prototype.onmousedown=function(e,t){this._register(a.g(e,a.d.MOUSE_DOWN,(function(e){return t(new r.b(e))})))},t.prototype.onmouseover=function(e,t){this._register(a.g(e,a.d.MOUSE_OVER,(function(e){return t(new r.b(e))})))},t.prototype.onnonbubblingmouseout=function(e,t){this._register(a.h(e,(function(e){return t(new r.b(e))})))},t.prototype.onkeydown=function(e,t){this._register(a.g(e,a.d.KEY_DOWN,(function(e){return t(new s.a(e))})))},t.prototype.onkeyup=function(e,t){this._register(a.g(e,a.d.KEY_UP,(function(e){return t(new s.a(e))})))},t.prototype.oninput=function(e,t){this._register(a.g(e,a.d.INPUT,t))},t.prototype.onblur=function(e,t){this._register(a.g(e,a.d.BLUR,t))},t.prototype.onfocus=function(e,t){this._register(a.g(e,a.d.FOCUS,t))},t.prototype.onchange=function(e,t){this._register(a.g(e,a.d.CHANGE,t))},t}(i.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(22),i=Object(n.c)("modelService");function r(e){return!e.isTooLargeForSyncing()&&!e.isForSimpleWidget}},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return r}));var n,i=o(22);!function(e){e[e.Default=1]="Default",e[e.User=2]="User"}(n||(n={}));var r=Object(i.c)("keybindingService")},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e.inMemory="inmemory",e.vscode="vscode",e.internal="private",e.walkThrough="walkThrough",e.walkThroughSnippet="walkThroughSnippet",e.http="http",e.https="https",e.file="file",e.mailto="mailto",e.untitled="untitled",e.data="data"}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=o(20),i=o(9),r=o(2),s=function(e,t,o){this.lineNumber=e,this.column=t,this.leftoverVisibleColumns=o},a=function(){function e(){}return e.left=function(e,t,o,i){return i>t.getLineMinColumn(o)?n.a.isLowSurrogate(t,o,i-2)?i-=2:i-=1:o>1&&(o-=1,i=t.getLineMaxColumn(o)),new s(o,i,0)},e.moveLeft=function(t,o,n,i,r){var s,a;if(n.hasSelection()&&!i)s=n.selection.startLineNumber,a=n.selection.startColumn;else{var l=e.left(t,o,n.position.lineNumber,n.position.column-(r-1));s=l.lineNumber,a=l.column}return n.move(i,s,a,0)},e.right=function(e,t,o,i){return i<t.getLineMaxColumn(o)?n.a.isHighSurrogate(t,o,i-1)?i+=2:i+=1:o<t.getLineCount()&&(o+=1,i=t.getLineMinColumn(o)),new s(o,i,0)},e.moveRight=function(t,o,n,i,r){var s,a;if(n.hasSelection()&&!i)s=n.selection.endLineNumber,a=n.selection.endColumn;else{var l=e.right(t,o,n.position.lineNumber,n.position.column+(r-1));s=l.lineNumber,a=l.column}return n.move(i,s,a,0)},e.down=function(e,t,o,i,r,a,l){var u=n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize)+r;o+=a;var c=t.getLineCount();return o>c?(o=c,l?i=t.getLineMaxColumn(o):(i=Math.min(t.getLineMaxColumn(o),i),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1))):(i=n.a.columnFromVisibleColumn2(e,t,o,u),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1)),r=u-n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize),new s(o,i,r)},e.moveDown=function(t,o,n,i,r){var s,a;n.hasSelection()&&!i?(s=n.selection.endLineNumber,a=n.selection.endColumn):(s=n.position.lineNumber,a=n.position.column);var l=e.down(t,o,s,a,n.leftoverVisibleColumns,r,!0);return n.move(i,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateDown=function(t,o,s){var a=s.selection,l=e.down(t,o,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.down(t,o,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.f(new r.a(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.a(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.up=function(e,t,o,i,r,a,l){var u=n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize)+r;return(o-=a)<1?(o=1,l?i=t.getLineMinColumn(o):(i=Math.min(t.getLineMaxColumn(o),i),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1))):(i=n.a.columnFromVisibleColumn2(e,t,o,u),n.a.isInsideSurrogatePair(t,o,i)&&(i-=1)),r=u-n.a.visibleColumnFromColumn(t.getLineContent(o),i,e.tabSize),new s(o,i,r)},e.moveUp=function(t,o,n,i,r){var s,a;n.hasSelection()&&!i?(s=n.selection.startLineNumber,a=n.selection.startColumn):(s=n.position.lineNumber,a=n.position.column);var l=e.up(t,o,s,a,n.leftoverVisibleColumns,r,!0);return n.move(i,l.lineNumber,l.column,l.leftoverVisibleColumns)},e.translateUp=function(t,o,s){var a=s.selection,l=e.up(t,o,a.selectionStartLineNumber,a.selectionStartColumn,s.selectionStartLeftoverVisibleColumns,1,!1),u=e.up(t,o,a.positionLineNumber,a.positionColumn,s.leftoverVisibleColumns,1,!1);return new n.f(new r.a(l.lineNumber,l.column,l.lineNumber,l.column),l.leftoverVisibleColumns,new i.a(u.lineNumber,u.column),u.leftoverVisibleColumns)},e.moveToBeginningOfLine=function(e,t,o,n){var i,r=o.position.lineNumber,s=t.getLineMinColumn(r),a=t.getLineFirstNonWhitespaceColumn(r)||s;return i=o.position.column===a?s:a,o.move(n,r,i,0)},e.moveToEndOfLine=function(e,t,o,n){var i=o.position.lineNumber,r=t.getLineMaxColumn(i);return o.move(n,i,r,0)},e.moveToBeginningOfBuffer=function(e,t,o,n){return o.move(n,1,1,0)},e.moveToEndOfBuffer=function(e,t,o,n){var i=t.getLineCount(),r=t.getLineMaxColumn(i);return o.move(n,i,r,0)},e}()},function(e,t,o){"use strict";var n=o(127),i=o(272),r=o(182),s=o(339),a=o(168);function l(e){return e}function u(e,t){for(var o=0;o<e.length;++o)t[o]=255&e.charCodeAt(o);return t}t.newBlob=function(e,o){t.checkSupport("blob");try{return new Blob([e],{type:o})}catch(t){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(e),n.getBlob(o)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var c={stringifyByChunk:function(e,t,o){var n=[],i=0,r=e.length;if(r<=o)return String.fromCharCode.apply(null,e);for(;i<r;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+o,r)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+o,r)))),i+=o;return n.join("")},stringifyByChar:function(e){for(var t="",o=0;o<e.length;o++)t+=String.fromCharCode(e[o]);return t},applyCanBeUsed:{uint8array:function(){try{return n.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return n.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function h(e){var o=65536,n=t.getTypeOf(e),i=!0;if("uint8array"===n?i=c.applyCanBeUsed.uint8array:"nodebuffer"===n&&(i=c.applyCanBeUsed.nodebuffer),i)for(;o>1;)try{return c.stringifyByChunk(e,n,o)}catch(e){o=Math.floor(o/2)}return c.stringifyByChar(e)}function d(e,t){for(var o=0;o<e.length;o++)t[o]=e[o];return t}t.applyFromCharCode=h;var g={};g.string={string:l,array:function(e){return u(e,new Array(e.length))},arraybuffer:function(e){return g.string.uint8array(e).buffer},uint8array:function(e){return u(e,new Uint8Array(e.length))},nodebuffer:function(e){return u(e,r.allocBuffer(e.length))}},g.array={string:h,array:l,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},g.arraybuffer={string:function(e){return h(new Uint8Array(e))},array:function(e){return d(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:l,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},g.uint8array={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:l,nodebuffer:function(e){return r.newBufferFrom(e)}},g.nodebuffer={string:h,array:function(e){return d(e,new Array(e.length))},arraybuffer:function(e){return g.nodebuffer.uint8array(e).buffer},uint8array:function(e){return d(e,new Uint8Array(e.length))},nodebuffer:l},t.transformTo=function(e,o){if(o||(o=""),!e)return o;t.checkSupport(e);var n=t.getTypeOf(o);return g[n][e](o)},t.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":n.nodebuffer&&r.isBuffer(e)?"nodebuffer":n.uint8array&&e instanceof Uint8Array?"uint8array":n.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},t.checkSupport=function(e){if(!n[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},t.MAX_VALUE_16BITS=65535,t.MAX_VALUE_32BITS=-1,t.pretty=function(e){var t,o,n="";for(o=0;o<(e||"").length;o++)n+="\\x"+((t=e.charCodeAt(o))<16?"0":"")+t.toString(16).toUpperCase();return n},t.delay=function(e,t,o){s((function(){e.apply(o||null,t||[])}))},t.inherits=function(e,t){var o=function(){};o.prototype=t.prototype,e.prototype=new o},t.extend=function(){var e,t,o={};for(e=0;e<arguments.length;e++)for(t in arguments[e])arguments[e].hasOwnProperty(t)&&void 0===o[t]&&(o[t]=arguments[e][t]);return o},t.prepareContent=function(e,o,r,s,l){return a.Promise.resolve(o).then((function(e){return n.blob&&(e instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(e)))&&"undefined"!=typeof FileReader?new a.Promise((function(t,o){var n=new FileReader;n.onload=function(e){t(e.target.result)},n.onerror=function(e){o(e.target.error)},n.readAsArrayBuffer(e)})):e})).then((function(o){var c,h=t.getTypeOf(o);return h?("arraybuffer"===h?o=t.transformTo("uint8array",o):"string"===h&&(l?o=i.decode(o):r&&!0!==s&&(o=u(c=o,n.uint8array?new Uint8Array(c.length):new Array(c.length)))),o):a.Promise.reject(new Error("Can't read the data of '"+e+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))}))}},function(e,t,o){"use strict";(function(e){o.d(t,"b",(function(){return y}));var n=("undefined"!=typeof window?window:void 0!==e?e:{}).__VUE_DEVTOOLS_GLOBAL_HOOK__;function i(e,t){Object.keys(e).forEach((function(o){return t(e[o],o)}))}var r=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var o=e.state;this.state=("function"==typeof o?o():o)||{}},s={namespaced:{configurable:!0}};s.namespaced.get=function(){return!!this._rawModule.namespaced},r.prototype.addChild=function(e,t){this._children[e]=t},r.prototype.removeChild=function(e){delete this._children[e]},r.prototype.getChild=function(e){return this._children[e]},r.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},r.prototype.forEachChild=function(e){i(this._children,e)},r.prototype.forEachGetter=function(e){this._rawModule.getters&&i(this._rawModule.getters,e)},r.prototype.forEachAction=function(e){this._rawModule.actions&&i(this._rawModule.actions,e)},r.prototype.forEachMutation=function(e){this._rawModule.mutations&&i(this._rawModule.mutations,e)},Object.defineProperties(r.prototype,s);var a=function(e){this.register([],e,!1)};a.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},a.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,o){return e+((t=t.getChild(o)).namespaced?o+"/":"")}),"")},a.prototype.update=function(e){!function e(t,o,n){0;o.update(n);if(n.modules)for(var i in n.modules){if(!o.getChild(i))return void 0;e(t.concat(i),o.getChild(i),n.modules[i])}}([],this.root,e)},a.prototype.register=function(e,t,o){var n=this;void 0===o&&(o=!0);var s=new r(t,o);0===e.length?this.root=s:this.get(e.slice(0,-1)).addChild(e[e.length-1],s);t.modules&&i(t.modules,(function(t,i){n.register(e.concat(i),t,o)}))},a.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),o=e[e.length-1];t.getChild(o).runtime&&t.removeChild(o)};var l;var u=function(e){var t=this;void 0===e&&(e={}),!l&&"undefined"!=typeof window&&window.Vue&&_(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new a(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new l;var r=this,s=this.dispatch,u=this.commit;this.dispatch=function(e,t){return s.call(r,e,t)},this.commit=function(e,t,o){return u.call(r,e,t,o)},this.strict=i;var c=this._modules.root.state;p(this,c,[],this._modules.root),g(this,c),o.forEach((function(e){return e(t)})),(void 0!==e.devtools?e.devtools:l.config.devtools)&&function(e){n&&(e._devtoolHook=n,n.emit("vuex:init",e),n.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){n.emit("vuex:mutation",e,t)})))}(this)},c={state:{configurable:!0}};function h(e,t){return t.indexOf(e)<0&&t.push(e),function(){var o=t.indexOf(e);o>-1&&t.splice(o,1)}}function d(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var o=e.state;p(e,o,[],e._modules.root,!0),g(e,o,t)}function g(e,t,o){var n=e._vm;e.getters={};var r=e._wrappedGetters,s={};i(r,(function(t,o){s[o]=function(e,t){return function(){return e(t)}}(t,e),Object.defineProperty(e.getters,o,{get:function(){return e._vm[o]},enumerable:!0})}));var a=l.config.silent;l.config.silent=!0,e._vm=new l({data:{$$state:t},computed:s}),l.config.silent=a,e.strict&&function(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}(e),n&&(o&&e._withCommit((function(){n._data.$$state=null})),l.nextTick((function(){return n.$destroy()})))}function p(e,t,o,n,i){var r=!o.length,s=e._modules.getNamespace(o);if(n.namespaced&&(e._modulesNamespaceMap[s]=n),!r&&!i){var a=f(t,o.slice(0,-1)),u=o[o.length-1];e._withCommit((function(){l.set(a,u,n.state)}))}var c=n.context=function(e,t,o){var n=""===t,i={dispatch:n?e.dispatch:function(o,n,i){var r=m(o,n,i),s=r.payload,a=r.options,l=r.type;return a&&a.root||(l=t+l),e.dispatch(l,s)},commit:n?e.commit:function(o,n,i){var r=m(o,n,i),s=r.payload,a=r.options,l=r.type;a&&a.root||(l=t+l),e.commit(l,s,a)}};return Object.defineProperties(i,{getters:{get:n?function(){return e.getters}:function(){return function(e,t){var o={},n=t.length;return Object.keys(e.getters).forEach((function(i){if(i.slice(0,n)===t){var r=i.slice(n);Object.defineProperty(o,r,{get:function(){return e.getters[i]},enumerable:!0})}})),o}(e,t)}},state:{get:function(){return f(e.state,o)}}}),i}(e,s,o);n.forEachMutation((function(t,o){!function(e,t,o,n){(e._mutations[t]||(e._mutations[t]=[])).push((function(t){o.call(e,n.state,t)}))}(e,s+o,t,c)})),n.forEachAction((function(t,o){var n=t.root?o:s+o,i=t.handler||t;!function(e,t,o,n){(e._actions[t]||(e._actions[t]=[])).push((function(t,i){var r,s=o.call(e,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:e.getters,rootState:e.state},t,i);return(r=s)&&"function"==typeof r.then||(s=Promise.resolve(s)),e._devtoolHook?s.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):s}))}(e,n,i,c)})),n.forEachGetter((function(t,o){!function(e,t,o,n){if(e._wrappedGetters[t])return void 0;e._wrappedGetters[t]=function(e){return o(n.state,n.getters,e.state,e.getters)}}(e,s+o,t,c)})),n.forEachChild((function(n,r){p(e,t,o.concat(r),n,i)}))}function f(e,t){return t.length?t.reduce((function(e,t){return e[t]}),e):e}function m(e,t,o){var n;return null!==(n=e)&&"object"==typeof n&&e.type&&(o=t,t=e,e=e.type),{type:e,payload:t,options:o}}function _(e){l&&e===l||
 /**
  * vuex v3.1.1
  * (c) 2019 Evan You
  * @license MIT
  */
-function(e){if(Number(e.version.split(".")[0])>=2)e.mixin({beforeCreate:o});else{var t=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[o].concat(e.init):o,t.call(this,e)}}function o(){var e=this.$options;e.store?this.$store="function"==typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(l=e)}c.state.get=function(){return this._vm._data.$$state},c.state.set=function(e){0},u.prototype.commit=function(e,t,o){var n=this,i=m(e,t,o),r=i.type,s=i.payload,a=(i.options,{type:r,payload:s}),l=this._mutations[r];l&&(this._withCommit((function(){l.forEach((function(e){e(s)}))})),this._subscribers.forEach((function(e){return e(a,n.state)})))},u.prototype.dispatch=function(e,t){var o=this,n=m(e,t),i=n.type,r=n.payload,s={type:i,payload:r},a=this._actions[i];if(a){try{this._actionSubscribers.filter((function(e){return e.before})).forEach((function(e){return e.before(s,o.state)}))}catch(e){0}return(a.length>1?Promise.all(a.map((function(e){return e(r)}))):a[0](r)).then((function(e){try{o._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(s,o.state)}))}catch(e){0}return e}))}},u.prototype.subscribe=function(e){return h(e,this._subscribers)},u.prototype.subscribeAction=function(e){return h("function"==typeof e?{before:e}:e,this._actionSubscribers)},u.prototype.watch=function(e,t,o){var n=this;return this._watcherVM.$watch((function(){return e(n.state,n.getters)}),t,o)},u.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._vm._data.$$state=e}))},u.prototype.registerModule=function(e,t,o){void 0===o&&(o={}),"string"==typeof e&&(e=[e]),this._modules.register(e,t),p(this,this.state,e,this._modules.get(e),o.preserveState),g(this,this.state)},u.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var o=f(t.state,e.slice(0,-1));l.delete(o,e[e.length-1])})),d(this)},u.prototype.hotUpdate=function(e){this._modules.update(e),d(this,!0)},u.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(u.prototype,c);var y=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){var t=this.$store.state,o=this.$store.getters;if(e){var n=T(this.$store,"mapState",e);if(!n)return;t=n.context.state,o=n.context.getters}return"function"==typeof i?i.call(this,t,o):t[i]},o[n].vuex=!0})),o})),v=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){for(var t=[],o=arguments.length;o--;)t[o]=arguments[o];var n=this.$store.commit;if(e){var r=T(this.$store,"mapMutations",e);if(!r)return;n=r.context.commit}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}})),o})),b=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;i=e+i,o[n]=function(){if(!e||T(this.$store,"mapGetters",e))return this.$store.getters[i]},o[n].vuex=!0})),o})),E=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){for(var t=[],o=arguments.length;o--;)t[o]=arguments[o];var n=this.$store.dispatch;if(e){var r=T(this.$store,"mapActions",e);if(!r)return;n=r.context.dispatch}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}})),o}));function C(e){return Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}}))}function S(e){return function(t,o){return"string"!=typeof t?(o=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,o)}}function T(e,t,o){return e._modulesNamespaceMap[o]}var w={Store:u,install:_,version:"3.1.1",mapState:y,mapMutations:v,mapGetters:b,mapActions:E,createNamespacedHelpers:function(e){return{mapState:y.bind(null,e),mapGetters:b.bind(null,e),mapMutations:v.bind(null,e),mapActions:E.bind(null,e)}}};t.a=w}).call(this,o(80))},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return u}));var n,i=o(25),r=o(6),s=o(1),a=o(94),l=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(n||(n={}));var u=function(){function e(){var e=this;this.toDispose=[],this.activeTouches={},this.handle=null,this.targets=[],this.toDispose.push(s.g(document,"touchstart",(function(t){return e.onTouchStart(t)}))),this.toDispose.push(s.g(document,"touchend",(function(t){return e.onTouchEnd(t)}))),this.toDispose.push(s.g(document,"touchmove",(function(t){return e.onTouchMove(t)})))}return e.addTarget=function(t){e.isTouchDevice()&&(e.INSTANCE||(e.INSTANCE=new e),e.INSTANCE.targets.push(t))},e.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},e.prototype.dispose=function(){this.handle&&(this.handle.dispose(),Object(r.d)(this.toDispose),this.handle=null)},e.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var o=0,i=e.targetTouches.length;o<i;o++){var r=e.targetTouches.item(o);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};var s=this.newGestureEvent(n.Start,r.target);s.pageX=r.pageX,s.pageY=r.pageY,this.dispatchEvent(s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.prototype.onTouchEnd=function(t){for(var o=Date.now(),r=Object.keys(this.activeTouches).length,s=function(s,l){var u=t.changedTouches.item(s);if(!a.activeTouches.hasOwnProperty(String(u.identifier)))return console.warn("move of an UNKNOWN touch",u),"continue";var c=a.activeTouches[u.identifier],h=Date.now()-c.initialTimeStamp;if(h<e.HOLD_DELAY&&Math.abs(c.initialPageX-i.n(c.rollingPageX))<30&&Math.abs(c.initialPageY-i.n(c.rollingPageY))<30)(d=a.newGestureEvent(n.Tap,c.initialTarget)).pageX=i.n(c.rollingPageX),d.pageY=i.n(c.rollingPageY),a.dispatchEvent(d);else if(h>=e.HOLD_DELAY&&Math.abs(c.initialPageX-i.n(c.rollingPageX))<30&&Math.abs(c.initialPageY-i.n(c.rollingPageY))<30){var d;(d=a.newGestureEvent(n.Contextmenu,c.initialTarget)).pageX=i.n(c.rollingPageX),d.pageY=i.n(c.rollingPageY),a.dispatchEvent(d)}else if(1===r){var g=i.n(c.rollingPageX),p=i.n(c.rollingPageY),f=i.n(c.rollingTimestamps)-c.rollingTimestamps[0],m=g-c.rollingPageX[0],_=p-c.rollingPageY[0],y=a.targets.filter((function(e){return c.initialTarget instanceof Node&&e.contains(c.initialTarget)}));a.inertia(y,o,Math.abs(m)/f,m>0?1:-1,g,Math.abs(_)/f,_>0?1:-1,p)}a.dispatchEvent(a.newGestureEvent(n.End,c.initialTarget)),delete a.activeTouches[u.identifier]},a=this,l=0,u=t.changedTouches.length;l<u;l++)s(l);this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)},e.prototype.newGestureEvent=function(e,t){var o=document.createEvent("CustomEvent");return o.initEvent(e,!1,!0),o.initialTarget=t,o},e.prototype.dispatchEvent=function(e){var t=this;this.targets.forEach((function(o){e.initialTarget instanceof Node&&o.contains(e.initialTarget)&&(o.dispatchEvent(e),t.dispatched=!0)}))},e.prototype.inertia=function(t,o,i,r,a,l,u,c){var h=this;this.handle=s.L((function(){var s=Date.now(),d=s-o,g=0,p=0,f=!0;i+=e.SCROLL_FRICTION*d,l+=e.SCROLL_FRICTION*d,i>0&&(f=!1,g=r*i*d),l>0&&(f=!1,p=u*l*d);var m=h.newGestureEvent(n.Change);m.translationX=g,m.translationY=p,t.forEach((function(e){return e.dispatchEvent(m)})),f||h.inertia(t,s,i,r,a+g,l,u,c+p)}))},e.prototype.onTouchMove=function(e){for(var t=Date.now(),o=0,r=e.changedTouches.length;o<r;o++){var s=e.changedTouches.item(o);if(this.activeTouches.hasOwnProperty(String(s.identifier))){var a=this.activeTouches[s.identifier],l=this.newGestureEvent(n.Change,a.initialTarget);l.translationX=s.pageX-i.n(a.rollingPageX),l.translationY=s.pageY-i.n(a.rollingPageY),l.pageX=s.pageX,l.pageY=s.pageY,this.dispatchEvent(l),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(s.pageX),a.rollingPageY.push(s.pageY),a.rollingTimestamps.push(t)}else console.warn("end of an UNKNOWN touch",s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.SCROLL_FRICTION=-.005,e.HOLD_DELAY=700,l([a.a],e,"isTouchDevice",null),e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return c})),o.d(t,"a",(function(){return n}));var n,i=o(20),r=o(9),s=o(2),a=o(63),l=o(107),u=o(21),c=function(){function e(){}return e.addCursorDown=function(e,t,o){for(var n=[],r=0,s=0,l=t.length;s<l;s++){var u=t[s];n[r++]=new i.d(u.modelState,u.viewState),n[r++]=o?i.d.fromModelState(a.a.translateDown(e.config,e.model,u.modelState)):i.d.fromViewState(a.a.translateDown(e.config,e.viewModel,u.viewState))}return n},e.addCursorUp=function(e,t,o){for(var n=[],r=0,s=0,l=t.length;s<l;s++){var u=t[s];n[r++]=new i.d(u.modelState,u.viewState),n[r++]=o?i.d.fromModelState(a.a.translateUp(e.config,e.model,u.modelState)):i.d.fromViewState(a.a.translateUp(e.config,e.viewModel,u.viewState))}return n},e.moveToBeginningOfLine=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i];n[i]=this._moveToLineStart(e,s,o)}return n},e._moveToLineStart=function(e,t,o){var n=t.viewState.position.column,i=n===t.modelState.position.column,r=t.viewState.position.lineNumber,s=e.viewModel.getLineFirstNonWhitespaceColumn(r);return i||n===s?this._moveToLineStartByModel(e,t,o):this._moveToLineStartByView(e,t,o)},e._moveToLineStartByView=function(e,t,o){return i.d.fromViewState(a.a.moveToBeginningOfLine(e.config,e.viewModel,t.viewState,o))},e._moveToLineStartByModel=function(e,t,o){return i.d.fromModelState(a.a.moveToBeginningOfLine(e.config,e.model,t.modelState,o))},e.moveToEndOfLine=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i];n[i]=this._moveToLineEnd(e,s,o)}return n},e._moveToLineEnd=function(e,t,o){var n=t.viewState.position,i=e.viewModel.getLineMaxColumn(n.lineNumber),r=n.column===i,s=t.modelState.position,a=e.model.getLineMaxColumn(s.lineNumber),l=i-n.column==a-s.column;return r||l?this._moveToLineEndByModel(e,t,o):this._moveToLineEndByView(e,t,o)},e._moveToLineEndByView=function(e,t,o){return i.d.fromViewState(a.a.moveToEndOfLine(e.config,e.viewModel,t.viewState,o))},e._moveToLineEndByModel=function(e,t,o){return i.d.fromModelState(a.a.moveToEndOfLine(e.config,e.model,t.modelState,o))},e.expandLineSelection=function(e,t){for(var o=[],n=0,a=t.length;n<a;n++){var l=t[n].viewState.selection,u=l.startLineNumber,c=e.viewModel.getLineCount(),h=l.endLineNumber,d=void 0;h===c?d=e.viewModel.getLineMaxColumn(c):(h++,d=1),o[n]=i.d.fromViewState(new i.f(new s.a(u,1,u,1),0,new r.a(h,d),0))}return o},e.moveToBeginningOfBuffer=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r];n[r]=i.d.fromModelState(a.a.moveToBeginningOfBuffer(e.config,e.model,l.modelState,o))}return n},e.moveToEndOfBuffer=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r];n[r]=i.d.fromModelState(a.a.moveToEndOfBuffer(e.config,e.model,l.modelState,o))}return n},e.selectAll=function(e,t){var o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return i.d.fromModelState(new i.f(new s.a(1,1,1,1),0,new r.a(o,n),0))},e.line=function(e,t,o,n,a){var l=e.model.validatePosition(n),u=a?e.validateViewPosition(new r.a(a.lineNumber,a.column),l):e.convertModelPositionToViewPosition(l);if(!o||!t.modelState.hasSelection()){var c=e.model.getLineCount(),h=l.lineNumber+1,d=1;return h>c&&(h=c,d=e.model.getLineMaxColumn(h)),i.d.fromModelState(new i.f(new s.a(l.lineNumber,1,h,d),0,new r.a(h,d),0))}var g=t.modelState.selectionStart.getStartPosition().lineNumber;if(l.lineNumber<g)return i.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),u.lineNumber,1,0));if(l.lineNumber>g){c=e.viewModel.getLineCount();var p=u.lineNumber+1,f=1;return p>c&&(p=c,f=e.viewModel.getLineMaxColumn(p)),i.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),p,f,0))}var m=t.modelState.selectionStart.getEndPosition();return i.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,o,n){var r=e.model.validatePosition(n);return i.d.fromModelState(l.a.word(e.config,e.model,t.modelState,o,r))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new i.d(t.modelState,t.viewState);var o=t.viewState.position.lineNumber,n=t.viewState.position.column;return i.d.fromViewState(new i.f(new s.a(o,n,o,n),0,new r.a(o,n),0))},e.moveTo=function(e,t,o,n,s){var a=e.model.validatePosition(n),l=s?e.validateViewPosition(new r.a(s.lineNumber,s.column),a):e.convertModelPositionToViewPosition(a);return i.d.fromViewState(t.viewState.move(o,l.lineNumber,l.column,0))},e.move=function(e,t,o){var n=o.select,i=o.value;switch(o.direction){case 0:return 4===o.unit?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,i);case 1:return 4===o.unit?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,i);case 2:return 2===o.unit?this._moveUpByViewLines(e,t,n,i):this._moveUpByModelLines(e,t,n,i);case 3:return 2===o.unit?this._moveDownByViewLines(e,t,n,i):this._moveDownByModelLines(e,t,n,i);case 4:return this._moveToViewMinColumn(e,t,n);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 6:return this._moveToViewCenterColumn(e,t,n);case 7:return this._moveToViewMaxColumn(e,t,n);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,n);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,i),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 11:r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,i),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 10:r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 12:for(var u=e.getCompletelyVisibleViewRange(),c=[],h=0,d=t.length;h<d;h++){r=t[h];c[h]=this.findPositionInViewportIfOutside(e,r,u,n)}return c}return null},e.findPositionInViewportIfOutside=function(e,t,o,n){var r=t.viewState.position.lineNumber;if(o.startLineNumber<=r&&r<=o.endLineNumber-1)return new i.d(t.modelState,t.viewState);r>o.endLineNumber-1&&(r=o.endLineNumber-1),r<o.startLineNumber&&(r=o.startLineNumber);var s=e.viewModel.getLineFirstNonWhitespaceColumn(r);return this._moveToViewPosition(e,t,n,r,s)},e._firstLineNumberInRange=function(e,t,o){var n=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(n)&&n++,Math.min(t.endLineNumber,n+o-1)},e._lastLineNumberInRange=function(e,t,o){var n=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(n)&&n++,Math.max(n,t.endLineNumber-o+1)},e._moveLeft=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s],c=a.a.moveLeft(e.config,e.viewModel,u.viewState,o,n);if(1===n&&c.position.lineNumber!==u.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(c.position).lineNumber===u.modelState.position.lineNumber&&(c=a.a.moveLeft(e.config,e.viewModel,c,o,1));r[s]=i.d.fromViewState(c)}return r},e._moveHalfLineLeft=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r],u=l.viewState.position.lineNumber,c=Math.round(e.viewModel.getLineContent(u).length/2);n[r]=i.d.fromViewState(a.a.moveLeft(e.config,e.viewModel,l.viewState,o,c))}return n},e._moveRight=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s],c=a.a.moveRight(e.config,e.viewModel,u.viewState,o,n);if(1===n&&c.position.lineNumber!==u.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(c.position).lineNumber===u.modelState.position.lineNumber&&(c=a.a.moveRight(e.config,e.viewModel,c,o,1));r[s]=i.d.fromViewState(c)}return r},e._moveHalfLineRight=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r],u=l.viewState.position.lineNumber,c=Math.round(e.viewModel.getLineContent(u).length/2);n[r]=i.d.fromViewState(a.a.moveRight(e.config,e.viewModel,l.viewState,o,c))}return n},e._moveDownByViewLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromViewState(a.a.moveDown(e.config,e.viewModel,u.viewState,o,n))}return r},e._moveDownByModelLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromModelState(a.a.moveDown(e.config,e.model,u.modelState,o,n))}return r},e._moveUpByViewLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromViewState(a.a.moveUp(e.config,e.viewModel,u.viewState,o,n))}return r},e._moveUpByModelLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromModelState(a.a.moveUp(e.config,e.model,u.modelState,o,n))}return r},e._moveToViewPosition=function(e,t,o,n,r){return i.d.fromViewState(t.viewState.move(o,n,r,0))},e._moveToModelPosition=function(e,t,o,n,r){return i.d.fromModelState(t.modelState.move(o,n,r,0))},e._moveToViewMinColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineMinColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewFirstNonWhitespaceColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineFirstNonWhitespaceColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewCenterColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=Math.round((e.viewModel.getLineMaxColumn(a)+e.viewModel.getLineMinColumn(a))/2);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewMaxColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineMaxColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewLastNonWhitespaceColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineLastNonWhitespaceColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e}();!function(e){e.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down'\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(e){if(!u.g(e))return!1;var t=e;return!!u.h(t.to)&&(!(!u.i(t.select)&&!u.c(t.select))&&(!(!u.i(t.by)&&!u.h(t.by))&&!(!u.i(t.value)&&!u.f(t.value))))}}]},e.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},e.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},e.parse=function(t){if(!t.to)return null;var o;switch(t.to){case e.RawDirection.Left:o=0;break;case e.RawDirection.Right:o=1;break;case e.RawDirection.Up:o=2;break;case e.RawDirection.Down:o=3;break;case e.RawDirection.WrappedLineStart:o=4;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:o=5;break;case e.RawDirection.WrappedLineColumnCenter:o=6;break;case e.RawDirection.WrappedLineEnd:o=7;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:o=8;break;case e.RawDirection.ViewPortTop:o=9;break;case e.RawDirection.ViewPortBottom:o=11;break;case e.RawDirection.ViewPortCenter:o=10;break;case e.RawDirection.ViewPortIfOutside:o=12;break;default:return null}var n=0;switch(t.by){case e.RawUnit.Line:n=1;break;case e.RawUnit.WrappedLine:n=2;break;case e.RawUnit.Character:n=3;break;case e.RawUnit.HalfLine:n=4}return{direction:o,unit:n,select:!!t.select,value:t.value||1}}}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"c",(function(){return c})),o.d(t,"d",(function(){return d}));var n=o(123),i=o(8),r=o(159),s=function(e,t){this.endIndex=e,this.type=t},a=function(){function e(e,t,o,n,i,r,s,a,l,u,c,h,d,g){this.useMonospaceOptimizations=e,this.lineContent=t,this.continuesWithWrappedLine=o,this.isBasicASCII=n,this.containsRTL=i,this.fauxIndentLength=r,this.lineTokens=s,this.lineDecorations=a,this.tabSize=l,this.spaceWidth=u,this.stopRenderingLineAfter=c,this.renderWhitespace="all"===h?2:"boundary"===h?1:0,this.renderControlCharacters=d,this.fontLigatures=g}return e.prototype.equals=function(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.spaceWidth===e.spaceWidth&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&n.a.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)},e}(),l=function(){function e(e,t){this.length=e,this._data=new Uint32Array(this.length),this._absoluteOffsets=new Uint32Array(this.length)}return e.getPartIndex=function(e){return(4294901760&e)>>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,o,n){var i=(t<<16|o<<0)>>>0;this._data[e]=i,this._absoluteOffsets[e]=n+o},e.prototype.getAbsoluteOffsets=function(){return this._absoluteOffsets},e.prototype.charOffsetToPartData=function(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]},e.prototype.partDataToCharOffset=function(t,o,n){if(0===this.length)return 0;for(var i=(t<<16|n<<0)>>>0,r=0,s=this.length-1;r+1<s;){var a=r+s>>>1,l=this._data[a];if(l===i)return a;l>i?s=a:r=a}if(r===s)return r;var u=this._data[r],c=this._data[s];if(u===i)return r;if(c===i)return s;var h=e.getPartIndex(u);return n-e.getCharIndex(u)<=(h!==e.getPartIndex(c)?o:e.getCharIndex(c))-n?r:s},e}(),u=function(e,t,o){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=o};function c(e,t){if(0===e.lineContent.length){var o=0,r="<span><span> </span></span>";if(e.lineDecorations.length>0){for(var a=[],c=0,h=e.lineDecorations.length;c<h;c++){var d=e.lineDecorations[c];1===d.type&&(a.push(e.lineDecorations[c].className),o|=1),2===d.type&&(a.push(e.lineDecorations[c].className),o|=2)}0!==o&&(r='<span><span class="'+a.join(" ")+'"></span></span>')}return t.appendASCIIString(r),new u(new l(0,0),!1,o)}return function(e,t){var o=e.fontIsMonospace,n=e.containsForeignElements,r=e.lineContent,s=e.len,a=e.isOverflowing,c=e.parts,h=e.tabSize,d=e.containsRTL,g=e.spaceWidth,p=e.renderWhitespace,f=e.renderControlCharacters,m=new l(s+1,c.length),_=0,y=0,v=0,b=0,E=0;t.appendASCIIString("<span>");for(var C=0,S=c.length;C<S;C++){E+=b;var T=c[C],w=T.endIndex,k=T.type,O=0!==p&&k.indexOf("vs-whitespace")>=0;if(v=0,t.appendASCIIString('<span class="'),t.appendASCIIString(k),t.appendASCII(34),O){for(var R=0,L=_,N=y;L<w;L++){if(9===(I=r.charCodeAt(L)))N+=(D=h-(L+N)%h)-1,R+=D;else R++}if(!o)!("vs-whitespace"===k)&&n||(t.appendASCIIString(' style="width:'),t.appendASCIIString(String(g*R)),t.appendASCIIString('px"'));for(t.appendASCII(62);_<w;_++){if(m.setPartData(_,C,v,E),9===(I=r.charCodeAt(_)))for(y+=(D=h-(_+y)%h)-1,v+=D-1,D>0&&(D>1?t.write1(8594):t.write1(65515),D--);D>0;)t.write1(160),D--;else t.write1(183);v++}b=R}else{R=0;for(d&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);_<w;_++){var I;switch(m.setPartData(_,C,v,E),I=r.charCodeAt(_)){case 9:var D;for(y+=(D=h-(_+y)%h)-1,v+=D-1;D>0;)t.write1(160),R++,D--;break;case 32:t.write1(160),R++;break;case 60:t.appendASCIIString("&lt;"),R++;break;case 62:t.appendASCIIString("&gt;"),R++;break;case 38:t.appendASCIIString("&amp;"),R++;break;case 0:t.appendASCIIString("&#00;"),R++;break;case 65279:case 8232:t.write1(65533),R++;break;default:i.isFullWidthCharacter(I)&&y++,f&&I<32?(t.write1(9216+I),R++):(t.write1(I),R++)}v++}b=R}t.appendASCIIString("</span>")}m.setPartData(s,c.length-1,v,E),a&&t.appendASCIIString("<span>&hellip;</span>");return t.appendASCIIString("</span>"),new u(m,d,n)}(function(e){var t,o,r=e.useMonospaceOptimizations,a=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter<a.length?(t=!0,o=e.stopRenderingLineAfter):(t=!1,o=a.length);var l=function(e,t,o){var n=[],i=0;t>0&&(n[i++]=new s(t,""));for(var r=0,a=e.getCount();r<a;r++){var l=e.getEndOffset(r);if(!(l<=t)){var u=e.getClassName(r);if(l>=o){n[i++]=new s(o,u);break}n[i++]=new s(l,u)}}return n}(e.lineTokens,e.fauxIndentLength,o);2!==e.renderWhitespace&&1!==e.renderWhitespace||(l=function(e,t,o,n,r,a,l,u){var c,h=[],d=0,g=0,p=n[g].type,f=n[g].endIndex,m=i.firstNonWhitespaceIndex(e);-1===m?(m=t,c=t):c=i.lastNonWhitespaceIndex(e);for(var _=0,y=0;y<r;y++){9===(b=e.charCodeAt(y))?_=a:i.isFullWidthCharacter(b)?_+=2:_++}_%=a;var v=!1;for(y=r;y<t;y++){var b=e.charCodeAt(y),E=void 0;if(y<m||y>c)E=!0;else if(9===b)E=!0;else if(32===b)if(u)if(v)E=!0;else{var C=y+1<t?e.charCodeAt(y+1):0;E=32===C||9===C}else E=!0;else E=!1;v?(!E||!l&&_>=a)&&(h[d++]=new s(y,"vs-whitespace"),_%=a):(y===f||E&&y>r)&&(h[d++]=new s(y,p),_%=a),9===b?_=a:i.isFullWidthCharacter(b)?_+=2:_++,v=E,y===f&&(p=n[++g].type,f=n[g].endIndex)}var S=!1;if(v)if(o&&u){var T=t>0?e.charCodeAt(t-1):0,w=t>1?e.charCodeAt(t-2):0;32===T&&32!==w&&9!==w||(S=!0)}else S=!0;return h[d++]=new s(t,S?"vs-whitespace":p),h}(a,o,e.continuesWithWrappedLine,l,e.fauxIndentLength,e.tabSize,r,1===e.renderWhitespace));var u=0;if(e.lineDecorations.length>0){for(var c=0,h=e.lineDecorations.length;c<h;c++){var d=e.lineDecorations[c];3===d.type?u|=1:1===d.type?u|=1:2===d.type&&(u|=2)}l=function(e,t,o,i){i.sort(n.a.compare);for(var r=n.b.normalize(e,i),a=r.length,l=0,u=[],c=0,h=0,d=0,g=o.length;d<g;d++){for(var p=o[d],f=p.endIndex,m=p.type;l<a&&r[l].startOffset<f;){var _=r[l];if(_.startOffset>h&&(h=_.startOffset,u[c++]=new s(h,m)),!(_.endOffset+1<=f)){h=f,u[c++]=new s(h,m+" "+_.className);break}h=_.endOffset+1,u[c++]=new s(h,m+" "+_.className),l++}f>h&&(h=f,u[c++]=new s(h,m))}var y=o[o.length-1].endIndex;if(l<a&&r[l].startOffset===y){for(var v=[];l<a&&r[l].startOffset===y;)v.push(r[l].className),l++;u[c++]=new s(h,v.join(" "))}return u}(a,0,l,e.lineDecorations)}e.isBasicASCII&&!e.fontLigatures&&(l=function(e,t){for(var o=0,n=[],i=0,r=0,a=t.length;r<a;r++){var l=t[r],u=l.endIndex,c=u-o;if(c>50){for(var h=l.type,d=Math.ceil(c/50),g=1;g<d;g++){var p=o+50*g;n[i++]=new s(p,h)}n[i++]=new s(u,h)}else n[i++]=l;o=u}return n}(0,l));return new g(r,a,o,t,l,u,e.tabSize,e.containsRTL,e.spaceWidth,e.renderWhitespace,e.renderControlCharacters)}(e),t)}var h=function(e,t,o,n){this.characterMapping=e,this.html=t,this.containsRTL=o,this.containsForeignElements=n};function d(e){var t=Object(r.a)(1e4),o=c(e,t);return new h(o.characterMapping,t.build(),o.containsRTL,o.containsForeignElements)}var g=function(e,t,o,n,i,r,s,a,l,u,c){this.fontIsMonospace=e,this.lineContent=t,this.len=o,this.isOverflowing=n,this.parts=i,this.containsForeignElements=r,this.tabSize=s,this.containsRTL=a,this.spaceWidth=l,this.renderWhitespace=u,this.renderControlCharacters=c}},function(e,t,o){"use strict";o.d(t,"c",(function(){return r})),o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return a})),o.d(t,"d",(function(){return l})),o.d(t,"e",(function(){return u}));var n=o(11),i=o(85),r=new(function(){function e(){}return e.prototype.clone=function(){return this},e.prototype.equals=function(e){return this===e},e}()),s="vs.editor.nullMode",a=new n.o(s,0);function l(e,t,o,n){return new i.b([new i.a(n,"",e)],o)}function u(e,t,o,n){var r=new Uint32Array(2);return r[0]=n,r[1]=(16384|e<<0|2<<23)>>>0,new i.c(r,o)}},function(e,t,o){"use strict";var n,i=o(4),r=o(6),s=o(15),a=o(24),l=o(131),u=o(132),c=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),h=function(e){function t(t,o){var n=e.call(this)||this;return n.referenceDomElement=t,n.changeCallback=o,n.measureReferenceDomElementToken=-1,n.width=-1,n.height=-1,n.measureReferenceDomElement(!1),n}return c(t,e),t.prototype.dispose=function(){this.stopObserving(),e.prototype.dispose.call(this)},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.startObserving=function(){var e=this;-1===this.measureReferenceDomElementToken&&(this.measureReferenceDomElementToken=setInterval((function(){return e.measureReferenceDomElement(!0)}),100))},t.prototype.stopObserving=function(){-1!==this.measureReferenceDomElementToken&&(clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)},t.prototype.observe=function(e){this.measureReferenceDomElement(!0,e)},t.prototype.measureReferenceDomElement=function(e,t){var o=0,n=0;t?(o=t.width,n=t.height):this.referenceDomElement&&(o=this.referenceDomElement.clientWidth,n=this.referenceDomElement.clientHeight),o=Math.max(5,o),n=Math.max(5,n),this.width===o&&this.height===n||(this.width=o,this.height=n,e&&this.changeCallback())},t}(r.a),d=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),g=function(){function e(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}return e.prototype.read=function(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null},e.prototype._createDomElements=function(){var t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";var o=document.createElement("div");o.style.fontFamily=this._bareFontInfo.fontFamily,o.style.fontWeight=this._bareFontInfo.fontWeight,o.style.fontSize=this._bareFontInfo.fontSize+"px",o.style.lineHeight=this._bareFontInfo.lineHeight+"px",o.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(o);var n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.fontFamily,n.style.fontWeight="bold",n.style.fontSize=this._bareFontInfo.fontSize+"px",n.style.lineHeight=this._bareFontInfo.lineHeight+"px",n.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(n);var i=document.createElement("div");i.style.fontFamily=this._bareFontInfo.fontFamily,i.style.fontWeight=this._bareFontInfo.fontWeight,i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",i.style.fontStyle="italic",t.appendChild(i);for(var r=[],s=0,a=this._requests.length;s<a;s++){var l=this._requests[s],u=void 0;0===l.type&&(u=o),2===l.type&&(u=n),1===l.type&&(u=i),u.appendChild(document.createElement("br"));var c=document.createElement("span");e._render(c,l),u.appendChild(c),r[s]=c}this._container=t,this._testElements=r},e._render=function(e,t){if(" "===t.chr){for(var o="&nbsp;",n=0;n<8;n++)o+=o;e.innerHTML=o}else{var i=t.chr;for(n=0;n<8;n++)i+=i;e.textContent=i}},e.prototype._readFromDomElements=function(){for(var e=0,t=this._requests.length;e<t;e++){var o=this._requests[e],n=this._testElements[e];o.fulfill(n.offsetWidth/256)}},e}();o.d(t,"a",(function(){return _}));var p=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),f=function(){function e(){this._keys=Object.create(null),this._values=Object.create(null)}return e.prototype.has=function(e){var t=e.getId();return!!this._values[t]},e.prototype.get=function(e){var t=e.getId();return this._values[t]},e.prototype.put=function(e,t){var o=e.getId();this._keys[o]=e,this._values[o]=t},e.prototype.remove=function(e){var t=e.getId();delete this._keys[t],delete this._values[t]},e.prototype.getValues=function(){var e=this;return Object.keys(this._keys).map((function(t){return e._values[t]}))},e}(),m=function(e){function t(){var t=e.call(this)||this;return t._onDidChange=t._register(new i.a),t.onDidChange=t._onDidChange.event,t._cache=new f,t._evictUntrustedReadingsTimeout=-1,t}return p(t,e),t.prototype.dispose=function(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),e.prototype.dispose.call(this)},t.prototype._writeToCache=function(e,t){var o=this;this._cache.put(e,t),t.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=setTimeout((function(){o._evictUntrustedReadingsTimeout=-1,o._evictUntrustedReadings()}),5e3))},t.prototype._evictUntrustedReadings=function(){for(var e=this._cache.getValues(),t=!1,o=0,n=e.length;o<n;o++){var i=e[o];i.isTrusted||(t=!0,this._cache.remove(i))}t&&this._onDidChange.fire()},t.prototype.readConfiguration=function(e){if(!this._cache.has(e)){var o=t._actualReadConfiguration(e);(o.typicalHalfwidthCharacterWidth<=2||o.typicalFullwidthCharacterWidth<=2||o.spaceWidth<=2||o.maxDigitWidth<=2)&&(o=new u.b({zoomLevel:a.d(),fontFamily:o.fontFamily,fontWeight:o.fontWeight,fontSize:o.fontSize,lineHeight:o.lineHeight,letterSpacing:o.letterSpacing,isMonospace:o.isMonospace,typicalHalfwidthCharacterWidth:Math.max(o.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(o.typicalFullwidthCharacterWidth,5),spaceWidth:Math.max(o.spaceWidth,5),maxDigitWidth:Math.max(o.maxDigitWidth,5)},!1)),this._writeToCache(e,o)}return this._cache.get(e)},t.createRequest=function(e,t,o,n){var i=new d(e,t);return o.push(i),n&&n.push(i),i},t._actualReadConfiguration=function(e){var t=[],o=[],n=this.createRequest("n",0,t,o),i=this.createRequest("m",0,t,null),r=this.createRequest(" ",0,t,o),s=this.createRequest("0",0,t,o),l=this.createRequest("1",0,t,o),c=this.createRequest("2",0,t,o),h=this.createRequest("3",0,t,o),d=this.createRequest("4",0,t,o),p=this.createRequest("5",0,t,o),f=this.createRequest("6",0,t,o),m=this.createRequest("7",0,t,o),_=this.createRequest("8",0,t,o),y=this.createRequest("9",0,t,o);this.createRequest("→",0,t,o),this.createRequest("·",0,t,o),this.createRequest("|",0,t,o),this.createRequest("/",0,t,o),this.createRequest("-",0,t,o),this.createRequest("_",0,t,o),this.createRequest("i",0,t,o),this.createRequest("l",0,t,o),this.createRequest("m",0,t,o),this.createRequest("|",1,t,o),this.createRequest("_",1,t,o),this.createRequest("i",1,t,o),this.createRequest("l",1,t,o),this.createRequest("m",1,t,o),this.createRequest("n",1,t,o),this.createRequest("|",2,t,o),this.createRequest("_",2,t,o),this.createRequest("i",2,t,o),this.createRequest("l",2,t,o),this.createRequest("m",2,t,o),this.createRequest("n",2,t,o),function(e,t){new g(e,t).read()}(e,t);for(var v=Math.max(s.width,l.width,c.width,h.width,d.width,p.width,f.width,m.width,_.width,y.width),b=!0,E=o[0].width,C=1,S=o.length;C<S;C++){var T=E-o[C].width;if(T<-.001||T>.001){b=!1;break}}var w=a.c()>2e3;return new u.b({zoomLevel:a.d(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:b,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:i.width,spaceWidth:r.width,maxDigitWidth:v},w)},t.INSTANCE=new t,t}(r.a),_=function(e){function t(t,o){void 0===o&&(o=null);var n=e.call(this,t)||this;return n._elementSizeObserver=n._register(new h(o,(function(){return n._onReferenceDomElementSizeChanged()}))),n._register(m.INSTANCE.onDidChange((function(){return n._onCSSBasedConfigurationChanged()}))),n._validatedOptions.automaticLayout&&n._elementSizeObserver.startObserving(),n._register(a.p((function(e){return n._recomputeOptions()}))),n._register(a.o((function(){return n._recomputeOptions()}))),n._recomputeOptions(),n}return p(t,e),t._massageFontFamily=function(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?'"'+e+'"':e},t.applyFontInfoSlow=function(e,o){e.style.fontFamily=t._massageFontFamily(o.fontFamily),e.style.fontWeight=o.fontWeight,e.style.fontSize=o.fontSize+"px",e.style.lineHeight=o.lineHeight+"px",e.style.letterSpacing=o.letterSpacing+"px"},t.applyFontInfo=function(e,o){e.setFontFamily(t._massageFontFamily(o.fontFamily)),e.setFontWeight(o.fontWeight),e.setFontSize(o.fontSize),e.setLineHeight(o.lineHeight),e.setLetterSpacing(o.letterSpacing)},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getExtraEditorClassName=function(){var e="";return a.k?e+="ie ":a.j?e+="ff ":a.g?e+="edge ":a.m&&(e+="safari "),s.d&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:a.n||a.j,pixelRatio:a.b(),zoomLevel:a.d(),accessibilitySupport:a.a()}},t.prototype.readConfiguration=function(e){return m.INSTANCE.readConfiguration(e)},t}(l.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return a})),o.d(t,"d",(function(){return u}));var n=o(25),i=function(){function e(e){void 0===e&&(e=""),this.value=e}return e.prototype.appendText=function(e){return this.value+=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),this},e.prototype.appendMarkdown=function(e){return this.value+=e,this},e.prototype.appendCodeblock=function(e,t){return this.value+="\n```",this.value+=e,this.value+="\n",this.value+=t,this.value+="\n```\n",this},e}();function r(e){return s(e)?!e.value:!Array.isArray(e)||e.every(r)}function s(e){return e instanceof i||!(!e||"object"!=typeof e)&&("string"==typeof e.value&&("boolean"==typeof e.isTrusted||void 0===e.isTrusted))}function a(e,t){return!e&&!t||!(!e||!t)&&(Array.isArray(e)&&Array.isArray(t)?Object(n.e)(e,t,l):!(!s(e)||!s(t))&&l(e,t))}function l(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted)}function u(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1"):e}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(9),r=o(2),s=o(52),a=o(20),l=o(35),u=o(67),c=o(3),h=function(){function e(){}return e._columnSelect=function(e,t,o,n,s,l){for(var u=Math.abs(s-o)+1,c=o>s,h=n>l,d=n<l,g=[],p=0;p<u;p++){var f=o+(c?-p:p),m=a.a.columnFromVisibleColumn2(e,t,f,n),_=a.a.columnFromVisibleColumn2(e,t,f,l),y=a.a.visibleColumnFromColumn2(e,t,new i.a(f,m)),v=a.a.visibleColumnFromColumn2(e,t,new i.a(f,_));if(d){if(y>l)continue;if(v<n)continue}if(h){if(v>n)continue;if(y<l)continue}g.push(new a.f(new r.a(f,m,f,m),0,new i.a(f,_),0))}return{viewStates:g,reversed:c,toLineNumber:s,toVisualColumn:l}},e.columnSelect=function(t,o,n,r,s){var l=new i.a(n.selectionStartLineNumber,n.selectionStartColumn),u=a.a.visibleColumnFromColumn2(t,o,l);return e._columnSelect(t,o,l.lineNumber,u,r,s)},e.columnSelectLeft=function(e,t,o,n,i){return i>1&&i--,this.columnSelect(e,t,o.selection,n,i)},e.columnSelectRight=function(e,t,o,n,r){for(var s=0,l=Math.min(o.position.lineNumber,n),u=Math.max(o.position.lineNumber,n),c=l;c<=u;c++){var h=t.getLineMaxColumn(c),d=a.a.visibleColumnFromColumn2(e,t,new i.a(c,h));s=Math.max(s,d)}return r<s&&r++,this.columnSelect(e,t,o.selection,n,r)},e.columnSelectUp=function(e,t,o,n,i,r){return(i-=n?e.pageSize:1)<1&&(i=1),this.columnSelect(e,t,o.selection,i,r)},e.columnSelectDown=function(e,t,o,n,i,r){return(i+=n?e.pageSize:1)>t.getLineCount()&&(i=t.getLineCount()),this.columnSelect(e,t,o.selection,i,r)},e}(),d=o(5),g=o(36),p=o(12),f=o(21),m=o(95),_=o(176),y=o(38);o.d(t,"CoreEditorCommand",(function(){return N})),o.d(t,"EditorScroll_",(function(){return b})),o.d(t,"RevealLine_",(function(){return C})),o.d(t,"CoreNavigationCommands",(function(){return T})),o.d(t,"CoreEditingCommands",(function(){return w}));var v,b,E,C,S,T,w,k,O=(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),R=s.b,L=0,N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors();n&&this.runCoreEditorCommand(n,o||{})},t}(c.c);function I(e){return e.get(g.a).getFocusedCodeEditor()}function D(e){e.register()}(E=b||(b={})).description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t",constraint:function(e){if(!f.g(e))return!1;var t=e;return!(!f.h(t.to)||!f.i(t.by)&&!f.h(t.by)||!f.i(t.value)&&!f.f(t.value)||!f.i(t.revealCursor)&&!f.c(t.revealCursor))}}]},E.RawDirection={Up:"up",Down:"down"},E.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"},E.parse=function(e){var t,o;switch(e.to){case E.RawDirection.Up:t=1;break;case E.RawDirection.Down:t=2;break;default:return null}switch(e.by){case E.RawUnit.Line:o=1;break;case E.RawUnit.WrappedLine:o=2;break;case E.RawUnit.Page:o=3;break;case E.RawUnit.HalfPage:o=4;break;default:o=2}return{direction:t,unit:o,value:Math.floor(e.value||1),revealCursor:!!e.revealCursor,select:!!e.select}},(S=C||(C={})).description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t",constraint:function(e){if(!f.g(e))return!1;var t=e;return!(!f.f(t.lineNumber)||!f.i(t.at)&&!f.h(t.at))}}]},S.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"},function(e){var t=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.moveTo(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!0,0,0)},t}(N);e.MoveTo=Object(c.g)(new t({id:"_moveTo",inSelectionMode:!1,precondition:null})),e.MoveToSelect=Object(c.g)(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:null}));var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement();var o=this._getColumnSelectResult(e.context,e.getPrimaryCursor(),e.getColumnSelectData(),t);e.setStates(t.source,l.a.Explicit,o.viewStates.map((function(e){return a.d.fromViewState(e)}))),e.setColumnSelectData({toViewLineNumber:o.toLineNumber,toViewVisualColumn:o.toVisualColumn}),e.reveal(!0,o.reversed?1:2,0)},t}(N);e.ColumnSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"columnSelect",precondition:null})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){var r,s=e.model.validatePosition(n.position);return r=n.viewPosition?e.validateViewPosition(new i.a(n.viewPosition.lineNumber,n.viewPosition.column),s):e.convertModelPositionToViewPosition(s),h.columnSelect(e.config,e.viewModel,t.viewState.selection,r.lineNumber,n.mouseColumn-1)},t}(o))),e.CursorColumnSelectLeft=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectLeft",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3599,linux:{primary:0}}})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectLeft(e.config,e.viewModel,t.viewState,o.toViewLineNumber,o.toViewVisualColumn)},t}(o))),e.CursorColumnSelectRight=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectRight",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3601,linux:{primary:0}}})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectRight(e.config,e.viewModel,t.viewState,o.toViewLineNumber,o.toViewVisualColumn)},t}(o)));var n=function(e){function t(t){var o=e.call(this,t)||this;return o._isPaged=t.isPaged,o}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectUp(e.config,e.viewModel,t.viewState,this._isPaged,o.toViewLineNumber,o.toViewVisualColumn)},t}(o);e.CursorColumnSelectUp=Object(c.g)(new n({isPaged:!1,id:"cursorColumnSelectUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Object(c.g)(new n({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3595,linux:{primary:0}}}));var s=function(e){function t(t){var o=e.call(this,t)||this;return o._isPaged=t.isPaged,o}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectDown(e.config,e.viewModel,t.viewState,this._isPaged,o.toViewLineNumber,o.toViewVisualColumn)},t}(o);e.CursorColumnSelectDown=Object(c.g)(new s({isPaged:!1,id:"cursorColumnSelectDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Object(c.g)(new s({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3596,linux:{primary:0}}}));var g=function(e){function t(){return e.call(this,{id:"cursorMove",precondition:null,description:u.a.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=u.a.parse(t);o&&this._runCursorMove(e,t.source,o)},t.prototype._runCursorMove=function(e,t,o){e.context.model.pushStackElement(),e.setStates(t,l.a.Explicit,u.b.move(e.context,e.getAll(),o)),e.reveal(!0,0,0)},t}(N);e.CursorMoveImpl=g,e.CursorMove=Object(c.g)(new g);var p=function(t){function o(e){var o=t.call(this,e)||this;return o._staticArgs=e.args,o}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){var n=this._staticArgs;-1===this._staticArgs.value&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.context.config.pageSize}),e.CursorMove._runCursorMove(t,o.source,n)},o}(N);e.CursorLeft=Object(c.g)(new p({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Object(c.g)(new p({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1039}})),e.CursorRight=Object(c.g)(new p({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Object(c.g)(new p({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1041}})),e.CursorUp=Object(c.g)(new p({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Object(c.g)(new p({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Object(c.g)(new p({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:11}})),e.CursorPageUpSelect=Object(c.g)(new p({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1035}})),e.CursorDown=Object(c.g)(new p({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Object(c.g)(new p({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Object(c.g)(new p({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:12}})),e.CursorPageDownSelect=Object(c.g)(new p({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1036}})),e.CreateCursor=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"createCursor",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o,n=e.context;o=t.wholeLine?u.b.line(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition):u.b.moveTo(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition);var i=e.getAll();if(i.length>1)for(var r=o.modelState?o.modelState.position:null,s=o.viewState?o.viewState.position:null,a=0,c=i.length;a<c;a++){var h=i[a];if((!r||h.modelState.selection.containsPosition(r))&&(!s||h.viewState.selection.containsPosition(s)))return i.splice(a,1),e.context.model.pushStackElement(),void e.setStates(t.source,l.a.Explicit,i)}i.push(o),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(N))),e.LastCursorMoveToSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"_lastCursorMoveToSelect",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.context,n=e.getLastAddedCursorIndex(),i=e.getAll().slice(0);i[n]=u.b.moveTo(o,i[n],!0,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(N)));var f=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToBeginningOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(N);e.CursorHome=Object(c.g)(new f({inSelectionMode:!1,id:"cursorHome",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=Object(c.g)(new f({inSelectionMode:!0,id:"cursorHomeSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}})),e.CursorLineStart=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorLineStart",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:0,mac:{primary:287}}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n],s=r.modelState.position.lineNumber;o[n]=a.d.fromModelState(r.modelState.move(!1,s,1,0))}return o},t}(N)));var m=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToEndOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(N);e.CursorEnd=Object(c.g)(new m({inSelectionMode:!1,id:"cursorEnd",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}}})),e.CursorEndSelect=Object(c.g)(new m({inSelectionMode:!0,id:"cursorEndSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}}})),e.CursorLineEnd=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorLineEnd",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:0,mac:{primary:291}}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n],s=r.modelState.position.lineNumber,l=e.model.getLineMaxColumn(s);o[n]=a.d.fromModelState(r.modelState.move(!1,s,l,0))}return o},t}(N)));var _=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToBeginningOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(N);e.CursorTop=Object(c.g)(new _({inSelectionMode:!1,id:"cursorTop",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=Object(c.g)(new _({inSelectionMode:!0,id:"cursorTopSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3086,mac:{primary:3088}}}));var y=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToEndOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(N);e.CursorBottom=Object(c.g)(new y({inSelectionMode:!1,id:"cursorBottom",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=Object(c.g)(new y({inSelectionMode:!0,id:"cursorBottomSelect",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:3085,mac:{primary:3090}}}));var v=function(e){function t(){return e.call(this,{id:"editorScroll",precondition:null,description:b.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=b.parse(t);o&&this._runEditorScroll(e,t.source,o)},t.prototype._runEditorScroll=function(e,t,o){var n=this._computeDesiredScrollTop(e.context,o);if(o.revealCursor){var i=e.context.getCompletelyVisibleViewRangeAtScrollTop(n);e.setStates(t,l.a.Explicit,[u.b.findPositionInViewportIfOutside(e.context,e.getPrimaryCursor(),i,o.select)])}e.scrollTo(n)},t.prototype._computeDesiredScrollTop=function(e,t){if(1===t.unit){var o=e.getCompletelyVisibleModelRange(),n=void 0;n=1===t.direction?Math.max(1,o.startLineNumber-t.value):Math.min(e.model.getLineCount(),o.startLineNumber+t.value);var r=e.convertModelPositionToViewPosition(new i.a(n,1));return e.getVerticalOffsetForViewLine(r.lineNumber)}var s;s=3===t.unit?e.config.pageSize*t.value:4===t.unit?Math.round(e.config.pageSize/2)*t.value:t.value;var a=(1===t.direction?-1:1)*s;return e.getCurrentScrollTop()+a*e.config.lineHeight},t}(N);e.EditorScrollImpl=v,e.EditorScroll=Object(c.g)(new v),e.ScrollLineUp=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollLineUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2064,mac:{primary:267}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})},o}(N))),e.ScrollPageUp=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollPageUp",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})},o}(N))),e.ScrollLineDown=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollLineDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2066,mac:{primary:268}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})},o}(N))),e.ScrollPageDown=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollPageDown",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})},o}(N)));var E=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.word(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position)]),e.reveal(!0,0,0)},t}(N);e.WordSelect=Object(c.g)(new E({inSelectionMode:!1,id:"_wordSelect",precondition:null})),e.WordSelectDrag=Object(c.g)(new E({inSelectionMode:!0,id:"_wordSelectDrag",precondition:null})),e.LastCursorWordSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"lastCursorWordSelect",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.context,n=e.getLastAddedCursorIndex(),i=e.getAll().slice(0),r=i[n];i[n]=u.b.word(o,r,r.modelState.hasSelection(),t.position),o.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(N)));var S=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.line(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!1,0,0)},t}(N);e.LineSelect=Object(c.g)(new S({inSelectionMode:!1,id:"_lineSelect",precondition:null})),e.LineSelectDrag=Object(c.g)(new S({inSelectionMode:!0,id:"_lineSelectDrag",precondition:null}));var T=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.getLastAddedCursorIndex(),n=e.getAll().slice(0);n[o]=u.b.line(e.context,n[o],this._inSelectionMode,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,n)},t}(N);e.LastCursorLineSelect=Object(c.g)(new T({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:null})),e.LastCursorLineSelectDrag=Object(c.g)(new T({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:null})),e.ExpandLineSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"expandLineSelection",precondition:null,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2087}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.expandLineSelection(e.context,e.getAll())),e.reveal(!0,0,0)},t}(N))),e.CancelSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cancelSelection",precondition:d.a.hasNonEmptySelection,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.cancelSelection(e.context,e.getPrimaryCursor())]),e.reveal(!0,0,0)},t}(N))),e.RemoveSecondaryCursors=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"removeSecondaryCursors",precondition:d.a.hasMultipleSelections,kbOpts:{weight:L+1,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[e.getPrimaryCursor()]),e.reveal(!0,0,0)},t}(N))),e.RevealLine=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"revealLine",precondition:null,description:C.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=t,n=o.lineNumber+1;n<1&&(n=1);var i=e.context.model.getLineCount();n>i&&(n=i);var s=new r.a(n,1,n,e.context.model.getLineMaxColumn(n)),a=0;if(o.at)switch(o.at){case C.RawAtArgument.Top:a=3;break;case C.RawAtArgument.Center:a=1;break;case C.RawAtArgument.Bottom:a=4}var l=e.context.convertModelRangeToViewRange(s);e.revealRange(!1,l,a,0)},t}(N))),e.SelectAll=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.selectAll(e.context,e.getPrimaryCursor())])},t}(N))),e.SetSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[a.d.fromModelSelection(t.selection)])},t}(N)))}(T||(T={})),(k=w||(w={})).LineBreakInsert=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:d.a.writable,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:null,mac:{primary:301}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.lineBreakInsert(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(c.c))),k.Outdent=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:d.a.writable,kbOpts:{weight:L,kbExpr:p.d.and(d.a.editorTextFocus,d.a.tabDoesNotMoveFocus),primary:1026}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.outdent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(c.c))),k.Tab=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:d.a.writable,kbOpts:{weight:L,kbExpr:p.d.and(d.a.editorTextFocus,d.a.tabDoesNotMoveFocus),primary:2}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.tab(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(c.c))),k.DeleteLeft=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:d.a.writable,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors(),i=_.a.deleteLeft(n.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),r=i[0],s=i[1];r&&t.pushUndoStop(),t.executeCommands(this.id,s),n.setPrevEditOperationType(2)},t}(c.c))),k.DeleteRight=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:d.a.writable,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors(),i=_.a.deleteRight(n.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),r=i[0],s=i[1];r&&t.pushUndoStop(),t.executeCommands(this.id,s),n.setPrevEditOperationType(3)},t}(c.c)));var A=function(e){function t(t){var o=e.call(this,t)||this;return o._editorHandler=t.editorHandler,o._inputHandler=t.inputHandler,o}return O(t,e),t.prototype.runCommand=function(e,t){var o=I(e);if(o&&o.hasTextFocus())return this._runEditorHandler(o,t);var n=document.activeElement;if(!(n&&["input","textarea"].indexOf(n.tagName.toLowerCase())>=0)){var i=e.get(g.a).getActiveCodeEditor();return i?(i.focus(),this._runEditorHandler(i,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t){var o=this._editorHandler;"string"==typeof o?e.trigger("keyboard",o,t):((t=t||{}).source="keyboard",o.runEditorCommand(null,e,t))},t}(c.a),P=function(e){function t(t,o){var n=e.call(this,{id:t,precondition:null})||this;return n._handlerId=o,n}return O(t,e),t.prototype.runCommand=function(e,t){var o=I(e);o&&o.trigger("keyboard",this._handlerId,t)},t}(c.a);function x(e){D(new P("default:"+e,e)),D(new P(e,e))}D(new A({editorHandler:T.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:d.a.textInputFocus,kbOpts:{weight:L,kbExpr:null,primary:2079},menubarOpts:{menuId:y.b.MenubarSelectionMenu,group:"1_basic",title:n.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),D(new A({editorHandler:R.Undo,inputHandler:"undo",id:R.Undo,precondition:d.a.writable,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2104},menubarOpts:{menuId:y.b.MenubarEditMenu,group:"1_do",title:n.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),D(new P("default:"+R.Undo,R.Undo)),D(new A({editorHandler:R.Redo,inputHandler:"redo",id:R.Redo,precondition:d.a.writable,kbOpts:{weight:L,kbExpr:d.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:y.b.MenubarEditMenu,group:"1_do",title:n.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),D(new P("default:"+R.Redo,R.Redo)),x(R.Type),x(R.ReplacePreviousChar),x(R.CompositionStart),x(R.CompositionEnd),x(R.Paste),x(R.Cut)},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c}));var n,i=o(6),r=o(1),s=o(173),a=o(41),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){var o=new a.b(t);return o.preventDefault(),{leftButton:o.leftButton,posx:o.posx,posy:o.posy}}var c=function(e){function t(){var t=e.call(this)||this;return t.hooks=[],t.mouseMoveEventMerger=null,t.mouseMoveCallback=null,t.onStopCallback=null,t}return l(t,e),t.prototype.dispose=function(){this.stopMonitoring(!1),e.prototype.dispose.call(this)},t.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks=Object(i.d)(this.hooks),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t()}},t.prototype.isMonitoring=function(){return this.hooks.length>0},t.prototype.startMonitoring=function(e,t,o){var n=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=o;for(var i=s.a.getSameOriginWindowChain(),l=0;l<i.length;l++)this.hooks.push(r.i(i[l].window.document,"mousemove",(function(e){return n.mouseMoveCallback(e)}),(function(e,t){return n.mouseMoveEventMerger(e,t)}))),this.hooks.push(r.g(i[l].window.document,"mouseup",(function(e){return n.stopMonitoring(!0)})));if(s.a.hasDifferentOriginAncestor()){var u=i[i.length-1];this.hooks.push(r.g(u.window.document,"mouseout",(function(e){"html"===new a.b(e).target.tagName.toLowerCase()&&n.stopMonitoring(!0)}))),this.hooks.push(r.g(u.window.document,"mouseover",(function(e){"html"===new a.b(e).target.tagName.toLowerCase()&&n.stopMonitoring(!0)}))),this.hooks.push(r.g(u.window.document.body,"mouseleave",(function(e){n.stopMonitoring(!0)})))}}},t}(i.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"b",(function(){return y})),o.d(t,"c",(function(){return i})),o.d(t,"a",(function(){return b}));o(435);var n,i,r=o(15),s=o(0),a=o(6),l=o(34),u=o(78),c=o(1),h=o(21),d=o(66),g=o(51),p=o(4),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(e,t,o){var n=this;this.options=o,this._callOnDispose=[],this._context=e||this,this._action=t,t instanceof u.a&&this._callOnDispose.push(t.onDidChange((function(e){n.builder&&n._handleActionChangeEvent(e)})))}return e.prototype._handleActionChangeEvent=function(e){void 0!==e.enabled&&this._updateEnabled(),void 0!==e.checked&&this._updateChecked(),void 0!==e.class&&this._updateClass(),void 0!==e.label&&(this._updateLabel(),this._updateTooltip()),void 0!==e.tooltip&&this._updateTooltip()},Object.defineProperty(e.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),e.prototype.getAction=function(){return this._action},e.prototype.isEnabled=function(){return this._action.enabled},e.prototype.setActionContext=function(e){this._context=e},e.prototype.render=function(e){var t=this;this.builder=Object(l.a)(e),d.b.addTarget(e);var o=this.options&&this.options.draggable;o&&(e.draggable=!0),this.builder.on(d.a.Tap,(function(e){return t.onClick(e)})),this.builder.on(c.d.MOUSE_DOWN,(function(e){o||c.c.stop(e,!0);var n=e;t._action.enabled&&0===n.button&&t.builder.addClass("active")})),this.builder.on(c.d.CLICK,(function(e){c.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):r.h((function(){return t.onClick(e)}))})),this.builder.on([c.d.MOUSE_UP,c.d.MOUSE_OUT],(function(e){c.c.stop(e),t.builder.removeClass("active")}))},e.prototype.onClick=function(e){var t;c.c.stop(e,!0),h.j(this._context)||!h.g(this._context)?t=e:(t=this._context).event=e,this._actionRunner.run(this._action,t)},e.prototype._updateEnabled=function(){},e.prototype._updateLabel=function(){},e.prototype._updateTooltip=function(){},e.prototype._updateClass=function(){},e.prototype._updateChecked=function(){},e.prototype.dispose=function(){this.builder&&(this.builder.destroy(),this.builder=null),this._callOnDispose=a.d(this._callOnDispose)},e}(),_=function(e){function t(o,n){var i=e.call(this,t.ID,o,o?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i.order=n,i}return f(t,e),t.ID="vs.actions.separator",t}(u.a),y=function(e){function t(t,o,n){void 0===n&&(n={});var i=e.call(this,t,o,n)||this;return i.options=n,i.options.icon=void 0!==n.icon&&n.icon,i.options.label=void 0===n.label||n.label,i.cssClass="",i}return f(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.$e=Object(l.a)("a.action-label").appendTo(this.builder),this._action.id===_.ID?this.$e.attr({role:"presentation"}):this.options.isMenu?this.$e.attr({role:"menuitem"}):this.$e.attr({role:"button"}),this.options.label&&this.options.keybinding&&Object(l.a)("span.keybinding").text(this.options.keybinding).appendTo(this.builder),this._updateClass(),this._updateLabel(),this._updateTooltip(),this._updateEnabled(),this._updateChecked()},t.prototype._updateLabel=function(){this.options.label&&this.$e.text(this.getAction().label)},t.prototype._updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=s.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&this.$e.attr({title:e})},t.prototype._updateClass=function(){this.cssClass&&this.$e.removeClass(this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,this.$e.addClass("icon"),this.cssClass&&this.$e.addClass(this.cssClass),this._updateEnabled()):this.$e.removeClass("icon")},t.prototype._updateEnabled=function(){this.getAction().enabled?(this.builder.removeClass("disabled"),this.$e.removeClass("disabled"),this.$e.attr({tabindex:0})):(this.builder.addClass("disabled"),this.$e.addClass("disabled"),c.H(this.$e.getHTMLElement()))},t.prototype._updateChecked=function(){this.getAction().checked?this.$e.addClass("checked"):this.$e.removeClass("checked")},t}(m);!function(e){e[e.HORIZONTAL=0]="HORIZONTAL",e[e.HORIZONTAL_REVERSE=1]="HORIZONTAL_REVERSE",e[e.VERTICAL=2]="VERTICAL",e[e.VERTICAL_REVERSE=3]="VERTICAL_REVERSE"}(i||(i={}));var v={orientation:i.HORIZONTAL,context:null},b=function(){function e(e,t){void 0===t&&(t=v);var o,n,r=this;switch(this._onDidBlur=new p.a,this._onDidCancel=new p.a,this._onDidRun=new p.a,this._onDidBeforeRun=new p.a,this.options=t,this._context=t.context,this.toDispose=[],this._actionRunner=this.options.actionRunner,this._actionRunner||(this._actionRunner=new u.b,this.toDispose.push(this._actionRunner)),this.toDispose.push(this._actionRunner.onDidRun((function(e){return r._onDidRun.fire(e)}))),this.toDispose.push(this._actionRunner.onDidBeforeRun((function(e){return r._onDidBeforeRun.fire(e)}))),this.items=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==t.animated&&c.f(this.domNode,"animated"),this.options.orientation){case i.HORIZONTAL:o=15,n=17;break;case i.HORIZONTAL_REVERSE:o=17,n=15,this.domNode.className+=" reverse";break;case i.VERTICAL:o=16,n=18,this.domNode.className+=" vertical";break;case i.VERTICAL_REVERSE:o=18,n=16,this.domNode.className+=" vertical reverse"}Object(l.a)(this.domNode).on(c.d.KEY_DOWN,(function(e){var t=new g.a(e),i=!0;t.equals(o)?r.focusPrevious():t.equals(n)?r.focusNext():t.equals(9)?r.cancel():t.equals(3)||t.equals(10)||(i=!1),i&&(t.preventDefault(),t.stopPropagation())})),Object(l.a)(this.domNode).on(c.d.KEY_UP,(function(e){var t=new g.a(e);t.equals(3)||t.equals(10)?(r.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&r.updateFocusedItem()})),this.focusTracker=c.O(this.domNode),this.toDispose.push(this.focusTracker.onDidBlur((function(){document.activeElement!==r.domNode&&c.B(document.activeElement,r.domNode)||(r._onDidBlur.fire(),r.focusedItem=void 0)}))),this.toDispose.push(this.focusTracker.onDidFocus((function(){return r.updateFocusedItem()}))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.isMenu?this.actionsList.setAttribute("role","menu"):this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.options.isMenu&&(this.domNode.tabIndex=0,Object(l.a)(this.domNode).on(c.d.MOUSE_OUT,(function(e){var t=e.relatedTarget;c.B(t,r.domNode)||(r.focusedItem=void 0,r.updateFocus(),e.stopPropagation())})),Object(l.a)(this.actionsList).on(c.d.MOUSE_OVER,(function(e){var t=e.target;if(t&&c.B(t,r.actionsList)&&t!==r.actionsList){for(;t.parentElement!==r.actionsList;)t=t.parentElement;if(c.z(t,"action-item")){var o=r.focusedItem;r.setFocusedItem(t),o!==r.focusedItem&&r.updateFocus()}}}))),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"onDidBlur",{get:function(){return this._onDidBlur.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidCancel",{get:function(){return this._onDidCancel.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidRun",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBeforeRun",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.setFocusedItem=function(e){for(var t=0;t<this.actionsList.children.length;t++){if(e===this.actionsList.children[t]){this.focusedItem=t;break}}},e.prototype.updateFocusedItem=function(){for(var e=0;e<this.actionsList.children.length;e++){var t=this.actionsList.children[e];if(c.B(document.activeElement,t)){this.focusedItem=e;break}}},Object.defineProperty(e.prototype,"context",{get:function(){return this._context},set:function(e){this._context=e,this.items.forEach((function(t){return t.setActionContext(e)}))},enumerable:!0,configurable:!0}),e.prototype.getContainer=function(){return this.domNode},e.prototype.push=function(e,t){var o=this;void 0===t&&(t={});var n=Array.isArray(e)?e:[e],i=h.f(t.index)?t.index:null;n.forEach((function(e){var n=document.createElement("li");n.className="action-item",n.setAttribute("role","presentation"),Object(l.a)(n).on(c.d.CONTEXT_MENU,(function(e){e.preventDefault(),e.stopPropagation()}));var r=null;o.options.actionItemProvider&&(r=o.options.actionItemProvider(e)),r||(r=new y(o.context,e,t)),r.actionRunner=o._actionRunner,r.setActionContext(o.context),r.render(n),null===i||i<0||i>=o.actionsList.children.length?(o.actionsList.appendChild(n),o.items.push(r)):(o.actionsList.insertBefore(n,o.actionsList.children[i]),o.items.splice(i,0,r),i++)}))},e.prototype.clear=function(){this.items=a.d(this.items),Object(l.a)(this.actionsList).empty()},e.prototype.isEmpty=function(){return 0===this.items.length},e.prototype.focus=function(e){e&&void 0===this.focusedItem?(this.focusedItem=this.items.length-1,this.focusNext()):this.updateFocus()},e.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.items.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.items.length,e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},e.prototype.focusPrevious=function(){void 0===this.focusedItem&&(this.focusedItem=0);var e,t=this.focusedItem;do{this.focusedItem=this.focusedItem-1,this.focusedItem<0&&(this.focusedItem=this.items.length-1),e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},e.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.domNode.focus();for(var t=0;t<this.items.length;t++){var o=this.items[t];t===this.focusedItem?h.e(o.isEnabled)&&(o.isEnabled()&&h.e(o.focus)?o.focus(e):this.domNode.focus()):h.e(o.blur)&&o.blur()}},e.prototype.doTrigger=function(e){if(void 0!==this.focusedItem){var t=this.items[this.focusedItem];if(t instanceof m){var o=null===t._context||void 0===t._context?e:t._context;this.run(t._action,o).done()}}},e.prototype.cancel=function(){document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._onDidCancel.fire()},e.prototype.run=function(e,t){return this._actionRunner.run(e,t)},e.prototype.dispose=function(){null!==this.items&&a.d(this.items),this.items=null,this.focusTracker&&(this.focusTracker.dispose(),this.focusTracker=null),this.toDispose=a.d(this.toDispose),Object(l.a)(this.getContainer()).destroy()},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"g",(function(){return i})),o.d(t,"c",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"e",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"f",(function(){return p}));var n,i,r=o(15),s=o(13),a=o(1),l=o(39);!function(e){e[e.ON_MOUSE_DOWN=0]="ON_MOUSE_DOWN",e[e.ON_MOUSE_UP=1]="ON_MOUSE_UP"}(n||(n={})),function(e){e[e.SINGLE_CLICK=0]="SINGLE_CLICK",e[e.DOUBLE_CLICK=1]="DOUBLE_CLICK"}(i||(i={}));var u=function(){function e(){this._arr=[]}return e.prototype.set=function(e,t){this._arr.push({keybinding:Object(l.f)(e,r.a),callback:t})},e.prototype.dispatch=function(e){for(var t=this._arr.length-1;t>=0;t--){var o=this._arr[t];if(e.equals(o.keybinding))return o.callback}return null},e}(),c=function(){function e(e){void 0===e&&(e={clickBehavior:n.ON_MOUSE_DOWN,keyboardSupport:!0,openMode:i.SINGLE_CLICK});var t=this;this.options=e,this.downKeyBindingDispatcher=new u,this.upKeyBindingDispatcher=new u,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,(function(e,o){return t.onUp(e,o)})),this.downKeyBindingDispatcher.set(18,(function(e,o){return t.onDown(e,o)})),this.downKeyBindingDispatcher.set(15,(function(e,o){return t.onLeft(e,o)})),this.downKeyBindingDispatcher.set(17,(function(e,o){return t.onRight(e,o)})),r.d&&(this.downKeyBindingDispatcher.set(2064,(function(e,o){return t.onLeft(e,o)})),this.downKeyBindingDispatcher.set(300,(function(e,o){return t.onDown(e,o)})),this.downKeyBindingDispatcher.set(302,(function(e,o){return t.onUp(e,o)}))),this.downKeyBindingDispatcher.set(11,(function(e,o){return t.onPageUp(e,o)})),this.downKeyBindingDispatcher.set(12,(function(e,o){return t.onPageDown(e,o)})),this.downKeyBindingDispatcher.set(14,(function(e,o){return t.onHome(e,o)})),this.downKeyBindingDispatcher.set(13,(function(e,o){return t.onEnd(e,o)})),this.downKeyBindingDispatcher.set(10,(function(e,o){return t.onSpace(e,o)})),this.downKeyBindingDispatcher.set(9,(function(e,o){return t.onEscape(e,o)})),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,o,i){if(void 0===i&&(i="mouse"),this.options.clickBehavior===n.ON_MOUSE_DOWN&&(o.leftButton||o.middleButton)){if(o.target){if(o.target.tagName&&"input"===o.target.tagName.toLowerCase())return!1;if(a.p(o.target,"scrollbar","monaco-tree"))return!1;if(a.p(o.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,o,i)}return!1},e.prototype.onClick=function(e,t,o){return r.d&&o.ctrlKey?(o.preventDefault(),o.stopPropagation(),!1):(!o.target||!o.target.tagName||"input"!==o.target.tagName.toLowerCase())&&((this.options.clickBehavior!==n.ON_MOUSE_DOWN||!o.leftButton&&!o.middleButton)&&this.onLeftClick(e,t,o))},e.prototype.onLeftClick=function(e,t,o,n){void 0===n&&(n="mouse");var i=o,r={origin:n,originalEvent:o,didClickOnTwistie:this.isClickOnTwistie(i)};e.getInput()===t?(e.clearFocus(r),e.clearSelection(r)):(o&&i.browserEvent&&"mousedown"===i.browserEvent.type&&1===i.browserEvent.detail||o.preventDefault(),o.stopPropagation(),e.domFocus(),e.setSelection([t],r),e.setFocus(t,r),this.shouldToggleExpansion(t,i,n)&&(e.isExpanded(t)?e.collapse(t).done(null,s.e):e.expand(t).done(null,s.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,o){var n="mouse"===o&&2===t.detail;return this.openOnSingleClick||n||this.isClickOnTwistie(t)},e.prototype.setOpenMode=function(e){this.options.openMode=e},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return this.options.openMode===i.SINGLE_CLICK},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!a.z(t,"content"))return!1;var o=window.getComputedStyle(t,":before");if("none"===o.backgroundImage||"none"===o.display)return!1;var n=parseInt(o.width)+parseInt(o.paddingRight);return e.browserEvent.offsetX<=n},e.prototype.onContextMenu=function(e,t,o){return(!o.target||!o.target.tagName||"input"!==o.target.tagName.toLowerCase())&&(o&&(o.preventDefault(),o.stopPropagation()),!1)},e.prototype.onTap=function(e,t,o){var n=o.initialTarget;return(!n||!n.tagName||"input"!==n.tagName.toLowerCase())&&this.onLeftClick(e,t,o,"touch")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,o){var n=e.dispatch(o.toKeybinding());return!(!n||!n(t,o))&&(o.preventDefault(),o.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusPrevious(1,o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onPageUp=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusPreviousPage(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onDown=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusNext(1,o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onPageDown=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusNextPage(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onHome=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusFirst(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onEnd=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusLast(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onLeft=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(o);else{var n=e.getFocus();e.collapse(n).then((function(t){if(n&&!t)return e.focusParent(o),e.reveal(e.getFocus())})).done(null,s.e)}return!0},e.prototype.onRight=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(o);else{var n=e.getFocus();e.expand(n).then((function(t){if(n&&!t)return e.focusFirstChild(o),e.reveal(e.getFocus())})).done(null,s.e)}return!0},e.prototype.onEnter=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.setSelection([n],o),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var o=e.getFocus();return o&&e.toggleExpansion(o),!0},e.prototype.onEscape=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(o),!0):e.getSelection().length?(e.clearSelection(o),!0):!!e.getFocus()&&(e.clearFocus(o),!0)},e}(),h=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,o){},e.prototype.onDragOver=function(e,t,o,n){return null},e.prototype.drop=function(e,t,o,n){},e}(),d=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),g=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),p=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",o=[];e.listFocusBackground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&o.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: "+e.listFocusAndSelectionBackground+"; }\n\t\t\t"),e.listFocusAndSelectionForeground&&o.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: "+e.listFocusAndSelectionForeground+"; }\n\t\t\t"),e.listInactiveSelectionBackground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&o.push("\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: "+e.listDropBackground+" !important; color: inherit !important; }\n\t\t\t"),e.listFocusOutline&&o.push("\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; background: #000; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  \t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  \t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t");var n=o.join("\n");n!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=n)},e}()},function(e,t,o){"use strict";function n(e,t){if(!e||null===e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return l})),o.d(t,"d",(function(){return c})),o.d(t,"c",(function(){return d})),o.d(t,"e",(function(){return g})),o.d(t,"b",(function(){return p}));var n=o(8),i=o(9),r=o(2),s=o(18),a=o(102),l=function(){function e(e,t,o,n){this.searchString=e,this.isRegex=t,this.matchCase=o,this.wordSeparators=n}return e._isMultilineRegexSource=function(e){if(!e||0===e.length)return!1;for(var t=0,o=e.length;t<o;t++){if(92===e.charCodeAt(t)){if(++t>=o)break;var n=e.charCodeAt(t);if(110===n||114===n)return!0}}return!1},e.prototype.parseSearchRequest=function(){if(""===this.searchString)return null;var t;t=this.isRegex?e._isMultilineRegexSource(this.searchString):this.searchString.indexOf("\n")>=0;var o=null;try{o=n.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0})}catch(e){return null}if(!o)return null;var i=!this.isRegex&&!t;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new u(o,this.wordSeparators?Object(a.a)(this.wordSeparators):null,i?this.searchString:null)},e}(),u=function(e,t,o){this.regex=e,this.wordSeparators=t,this.simpleSearch=o};function c(e,t,o){if(!o)return new s.e(e,null);for(var n=[],i=0,r=t.length;i<r;i++)n[i]=t[i];return new s.e(e,n)}var h=function(){function e(e){for(var t=[],o=0,n=0,i=e.length;n<i;n++)10===e.charCodeAt(n)&&(t[o++]=n);this._lineFeedsOffsets=t}return e.prototype.findLineFeedCountBeforeOffset=function(e){var t=this._lineFeedsOffsets,o=0,n=t.length-1;if(-1===n)return 0;if(e<=t[0])return 0;for(;o<n;){var i=o+((n-o)/2>>0);t[i]>=e?n=i-1:t[i+1]>=e?(o=i,n=i):o=i+1}return o+1},e}(),d=function(){function e(){}return e.findMatches=function(e,t,o,n,i){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,o,new p(r.wordSeparators,r.regex),n,i):this._doFindMatchesLineByLine(e,o,r,n,i):[]},e._getMultilineMatchRange=function(e,t,o,n,i,s){var a,l,u=0;if(a="\r\n"===e.getEOL()?t+i+(u=n.findLineFeedCountBeforeOffset(i)):t+i,"\r\n"===e.getEOL()){var c=n.findLineFeedCountBeforeOffset(i+s.length)-u;l=a+s.length+c}else l=a+s.length;var h=e.getPositionAt(a),d=e.getPositionAt(l);return new r.a(h.lineNumber,h.column,d.lineNumber,d.column)},e._doFindMatchesMultiline=function(e,t,o,n,i){var r,a=e.getOffsetAt(t.getStartPosition()),l=e.getValueInRange(t,s.c.LF),u="\r\n"===e.getEOL()?new h(l):null,d=[],g=0;for(o.reset(0);r=o.next(l);)if(d[g++]=c(this._getMultilineMatchRange(e,a,l,u,r.index,r[0]),r,n),g>=i)return d;return d},e._doFindMatchesLineByLine=function(e,t,o,n,i){var r=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(o,a,t.startLineNumber,t.startColumn-1,s,r,n,i),r}var l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(o,l,t.startLineNumber,t.startColumn-1,s,r,n,i);for(var u=t.startLineNumber+1;u<t.endLineNumber&&s<i;u++)s=this._findMatchesInLine(o,e.getLineContent(u),u,0,s,r,n,i);if(s<i){var c=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);s=this._findMatchesInLine(o,c,t.endLineNumber,0,s,r,n,i)}return r},e._findMatchesInLine=function(e,t,o,n,i,a,l,u){var h=e.wordSeparators;if(!l&&e.simpleSearch){for(var d=e.simpleSearch,f=d.length,m=t.length,_=-f;-1!==(_=t.indexOf(d,_+f));)if((!h||g(h,t,m,_,f))&&(a[i++]=new s.e(new r.a(o,_+1+n,o,_+1+f+n),null),i>=u))return i;return i}var y,v=new p(e.wordSeparators,e.regex);v.reset(0);do{if((y=v.next(t))&&(a[i++]=c(new r.a(o,y.index+1+n,o,y.index+1+y[0].length+n),y,l),i>=u))return i}while(y);return i},e.findNextMatch=function(e,t,o,n){var i=t.parseSearchRequest();if(!i)return null;var r=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindNextMatchMultiline(e,o,r,n):this._doFindNextMatchLineByLine(e,o,r,n)},e._doFindNextMatchMultiline=function(e,t,o,n){var a=new i.a(t.lineNumber,1),l=e.getOffsetAt(a),u=e.getLineCount(),d=e.getValueInRange(new r.a(a.lineNumber,a.column,u,e.getLineMaxColumn(u)),s.c.LF),g="\r\n"===e.getEOL()?new h(d):null;o.reset(t.column-1);var p=o.next(d);return p?c(this._getMultilineMatchRange(e,l,d,g,p.index,p[0]),p,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new i.a(1,1),o,n):null},e._doFindNextMatchLineByLine=function(e,t,o,n){var i=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(o,s,r,t.column,n);if(a)return a;for(var l=1;l<=i;l++){var u=(r+l-1)%i,c=e.getLineContent(u+1),h=this._findFirstMatchInLine(o,c,u+1,1,n);if(h)return h}return null},e._findFirstMatchInLine=function(e,t,o,n,i){e.reset(n-1);var s=e.next(t);return s?c(new r.a(o,s.index+1,o,s.index+1+s[0].length),s,i):null},e.findPreviousMatch=function(e,t,o,n){var i=t.parseSearchRequest();if(!i)return null;var r=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindPreviousMatchMultiline(e,o,r,n):this._doFindPreviousMatchLineByLine(e,o,r,n)},e._doFindPreviousMatchMultiline=function(e,t,o,n){var s=this._doFindMatchesMultiline(e,new r.a(1,1,t.lineNumber,t.column),o,n,9990);if(s.length>0)return s[s.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new i.a(a,e.getLineMaxColumn(a)),o,n):null},e._doFindPreviousMatchLineByLine=function(e,t,o,n){var i=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(o,s,r,n);if(a)return a;for(var l=1;l<=i;l++){var u=(i+r-l-1)%i,c=e.getLineContent(u+1),h=this._findLastMatchInLine(o,c,u+1,n);if(h)return h}return null},e._findLastMatchInLine=function(e,t,o,n){var i,s=null;for(e.reset(0);i=e.next(t);)s=c(new r.a(o,i.index+1,o,i.index+1+i[0].length),i,n);return s},e}();function g(e,t,o,n,i){return function(e,t,o,n,i){if(0===n)return!0;var r=t.charCodeAt(n-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(i>0){var s=t.charCodeAt(n);if(0!==e.get(s))return!0}return!1}(e,t,0,n,i)&&function(e,t,o,n,i){if(n+i===o)return!0;var r=t.charCodeAt(n+i);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(i>0){var s=t.charCodeAt(n+i-1);if(0!==e.get(s))return!0}return!1}(e,t,o,n,i)}var p=function(){function e(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}return e.prototype.reset=function(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0},e.prototype.next=function(e){var t,o=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===o)return null;if(!(t=this._searchRegex.exec(e)))return null;var n=t.index,i=t[0].length;if(n===this._prevMatchStartIndex&&i===this._prevMatchLength)return null;if(this._prevMatchStartIndex=n,this._prevMatchLength=i,!this._wordSeparators||g(this._wordSeparators,e,o,n,i))return t}while(t);return null},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(10),i=o(4),r=function(){function e(e,t,o,n,r){void 0===t&&(t=""),void 0===o&&(o=""),void 0===n&&(n=!0),this._onDidChange=new i.a,this._id=e,this._label=t,this._cssClass=o,this._enabled=n,this._actionCallback=r}return e.prototype.dispose=function(){this._onDidChange.dispose()},Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this._label},set:function(e){this._setLabel(e)},enumerable:!0,configurable:!0}),e.prototype._setLabel=function(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))},Object.defineProperty(e.prototype,"tooltip",{get:function(){return this._tooltip},set:function(e){this._setTooltip(e)},enumerable:!0,configurable:!0}),e.prototype._setTooltip=function(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))},Object.defineProperty(e.prototype,"class",{get:function(){return this._cssClass},set:function(e){this._setClass(e)},enumerable:!0,configurable:!0}),e.prototype._setClass=function(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))},Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._setEnabled(e)},enumerable:!0,configurable:!0}),e.prototype._setEnabled=function(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(e){this._setChecked(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"radio",{get:function(){return this._radio},set:function(e){this._setRadio(e)},enumerable:!0,configurable:!0}),e.prototype._setChecked=function(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))},e.prototype._setRadio=function(e){this._radio!==e&&(this._radio=e,this._onDidChange.fire({radio:e}))},Object.defineProperty(e.prototype,"order",{get:function(){return this._order},set:function(e){this._order=e},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){return void 0!==this._actionCallback?this._actionCallback(e):n.b.as(!0)},e}(),s=function(){function e(){this._onDidBeforeRun=new i.a,this._onDidRun=new i.a}return Object.defineProperty(e.prototype,"onDidRun",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBeforeRun",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){var o=this;return e.enabled?(this._onDidBeforeRun.fire({action:e}),this.runAction(e,t).then((function(t){o._onDidRun.fire({action:e,result:t})}),(function(t){o._onDidRun.fire({action:e,error:t})}))):n.b.as(null)},e.prototype.runAction=function(e,t){var o=t?e.run(t):e.run();return n.b.is(o)?o:n.b.wrap(o)},e.prototype.dispose=function(){this._onDidBeforeRun.dispose(),this._onDidRun.dispose()},e}()},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return c})),o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));var n,i=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function r(e){var t=[];return e.forEach((function(e){return t.push(e)})),t}var s,a=function(){function e(){this._value="",this._pos=0}return e.prototype.reset=function(e){return this._value=e,this._pos=0,this},e.prototype.next=function(){return this._pos+=1,this},e.prototype.hasNext=function(){return this._pos<this._value.length-1},e.prototype.cmp=function(e){return e.charCodeAt(0)-this._value.charCodeAt(this._pos)},e.prototype.value=function(){return this._value[this._pos]},e}(),l=function(){function e(){}return e.prototype.reset=function(e){return this._value=e.replace(/\\$|\/$/,""),this._from=0,this._to=0,this.next()},e.prototype.hasNext=function(){return this._to<this._value.length},e.prototype.next=function(){this._from=this._to;for(var e=!0;this._to<this._value.length;this._to++){var t=this._value.charCodeAt(this._to);if(47===t||92===t){if(!e)break;this._from++}else e=!1}return this},e.prototype.cmp=function(e){for(var t=0,o=e.length,n=this._from;t<o&&n<this._to;){var i=e.charCodeAt(t)-this._value.charCodeAt(n);if(0!==i)return i;t+=1,n+=1}return o===this._to-this._from?0:t<o?-1:1},e.prototype.value=function(){return this._value.substring(this._from,this._to)},e}(),u=function(){},c=function(){function e(e){this._iter=e}return e.forPaths=function(){return new e(new l)},e.forStrings=function(){return new e(new a)},e.prototype.clear=function(){this._root=void 0},e.prototype.set=function(e,t){var o,n=this._iter.reset(e);for(this._root||(this._root=new u,this._root.segment=n.value()),o=this._root;;){var i=n.cmp(o.segment);if(i>0)o.left||(o.left=new u,o.left.segment=n.value()),o=o.left;else if(i<0)o.right||(o.right=new u,o.right.segment=n.value()),o=o.right;else{if(!n.hasNext())break;n.next(),o.mid||(o.mid=new u,o.mid.segment=n.value()),o=o.mid}}var r=o.value;return o.value=t,o.key=e,r},e.prototype.get=function(e){for(var t=this._iter.reset(e),o=this._root;o;){var n=t.cmp(o.segment);if(n>0)o=o.left;else if(n<0)o=o.right;else{if(!t.hasNext())break;t.next(),o=o.mid}}return o?o.value:void 0},e.prototype.findSubstr=function(e){for(var t,o=this._iter.reset(e),n=this._root;n;){var i=o.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else{if(!o.hasNext())break;o.next(),t=n.value||t,n=n.mid}}return n&&n.value||t},e.prototype.forEach=function(e){this._forEach(this._root,e)},e.prototype._forEach=function(e,t){e&&(this._forEach(e.left,t),e.value&&t(e.value,e.key),this._forEach(e.mid,t),this._forEach(e.right,t))},e}(),h=function(){function e(){this.map=new Map,this.ignoreCase=!1}return e.prototype.set=function(e,t){this.map.set(this.toKey(e),t)},e.prototype.get=function(e){return this.map.get(this.toKey(e))},e.prototype.toKey=function(e){var t=e.toString();return this.ignoreCase&&(t=t.toLowerCase()),t},e}();!function(e){e[e.None=0]="None",e[e.AsOld=1]="AsOld",e[e.AsNew=2]="AsNew"}(s||(s={}));var d=function(e){function t(t,o){void 0===o&&(o=1);var n=e.call(this)||this;return n._limit=t,n._ratio=Math.min(Math.max(0,o),1),n}return i(t,e),t.prototype.get=function(t){return e.prototype.get.call(this,t,s.AsNew)},t.prototype.set=function(t,o){e.prototype.set.call(this,t,o,s.AsNew),this.checkTrim()},t.prototype.checkTrim=function(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))},t}(function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.get=function(e,t){void 0===t&&(t=s.None);var o=this._map.get(e);if(o)return t!==s.None&&this.touch(o,t),o.value},e.prototype.set=function(e,t,o){void 0===o&&(o=s.None);var n=this._map.get(e);if(n)n.value=t,o!==s.None&&this.touch(n,o);else{switch(n={key:e,value:t,next:void 0,previous:void 0},o){case s.None:this.addItemLast(n);break;case s.AsOld:this.addItemFirst(n);break;case s.AsNew:default:this.addItemLast(n)}this._map.set(e,n),this._size++}},e.prototype.forEach=function(e,t){for(var o=this._head;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,o=this.size;t&&o>e;)this._map.delete(t.key),t=t.next,o--;this._head=t,this._size=o,t.previous=void 0}else this.clear()},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===s.AsOld||t===s.AsNew)if(t===s.AsOld){if(e===this._head)return;var o=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(o.previous=n,n.next=o),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===s.AsNew){if(e===this._tail)return;o=e.next,n=e.previous;e===this._head?(o.previous=void 0,this._head=o):(o.previous=n,n.next=o),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e.prototype.toJSON=function(){var e=[];return this.forEach((function(t,o){e.push([o,t])})),e},e}())},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,o){"use strict";o(466);var n,i=o(1),r=o(15),s=o(41),a=o(73),l=o(59),u=o(28),c=o(17),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=11,g=function(e){function t(t){var o=e.call(this)||this;return o._onActivate=t.onActivate,o.bgDomNode=document.createElement("div"),o.bgDomNode.className="arrow-background",o.bgDomNode.style.position="absolute",o.bgDomNode.style.width=t.bgWidth+"px",o.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(o.bgDomNode.style.top="0px"),void 0!==t.left&&(o.bgDomNode.style.left="0px"),void 0!==t.bottom&&(o.bgDomNode.style.bottom="0px"),void 0!==t.right&&(o.bgDomNode.style.right="0px"),o.domNode=document.createElement("div"),o.domNode.className=t.className,o.domNode.style.position="absolute",o.domNode.style.width=d+"px",o.domNode.style.height=d+"px",void 0!==t.top&&(o.domNode.style.top=t.top+"px"),void 0!==t.left&&(o.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(o.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(o.domNode.style.right=t.right+"px"),o._mouseMoveMonitor=o._register(new a.a),o.onmousedown(o.bgDomNode,(function(e){return o._arrowMouseDown(e)})),o.onmousedown(o.domNode,(function(e){return o._arrowMouseDown(e)})),o._mousedownRepeatTimer=o._register(new c.b),o._mousedownScheduleRepeatTimer=o._register(new c.f),o}return h(t,e),t.prototype._arrowMouseDown=function(e){var t=this;this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet((function(){t._mousedownRepeatTimer.cancelAndSet((function(){return t._onActivate()}),1e3/24)}),200),this._mouseMoveMonitor.startMonitoring(a.b,(function(e){}),(function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()})),e.preventDefault()},t}(l.a),p=o(6),f=o(42),m=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),_=function(e){function t(t,o,n){var i=e.call(this)||this;return i._visibility=t,i._visibleClassName=o,i._invisibleClassName=n,i._domNode=null,i._isVisible=!1,i._isNeeded=!1,i._shouldBeVisible=!1,i._revealTimer=i._register(new c.f),i}return m(t,e),t.prototype.applyVisibilitySetting=function(e){return this._visibility!==f.b.Hidden&&(this._visibility===f.b.Visible||e)},t.prototype.setShouldBeVisible=function(e){var t=this.applyVisibilitySetting(e);this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())},t.prototype.setIsNeeded=function(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())},t.prototype.setDomNode=function(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)},t.prototype.ensureVisibility=function(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)},t.prototype._reveal=function(){var e=this;this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((function(){e._domNode.setClassName(e._visibleClassName)}),0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(p.a),y=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),v=function(e){function t(t){var o=e.call(this)||this;return o._lazyRender=t.lazyRender,o._host=t.host,o._scrollable=t.scrollable,o._scrollbarState=t.scrollbarState,o._visibilityController=o._register(new _(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),o._mouseMoveMonitor=o._register(new a.a),o._shouldRender=!0,o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o._visibilityController.setDomNode(o.domNode),o.domNode.setPosition("absolute"),o.onmousedown(o.domNode.domNode,(function(e){return o._domNodeMouseDown(e)})),o}return y(t,e),t.prototype._createArrow=function(e){var t=this._register(new g(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,o,n){var i=this;this.slider=Object(u.b)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),this.slider.setWidth(o),this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,(function(e){e.leftButton&&(e.preventDefault(),i._sliderMouseDown(e,(function(){})))}))},t.prototype._onElementSize=function(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollSize=function(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollPosition=function(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype.beginReveal=function(){this._visibilityController.setShouldBeVisible(!0)},t.prototype.beginHide=function(){this._visibilityController.setShouldBeVisible(!1)},t.prototype.render=function(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))},t.prototype._domNodeMouseDown=function(e){e.target===this.domNode.domNode&&this._onMouseDown(e)},t.prototype.delegateMouseDown=function(e){var t=this.domNode.domNode.getClientRects()[0].top,o=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderMousePosition(e);o<=i&&i<=n?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(function(){}))):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,o;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,o=e.browserEvent.offsetY;else{var n=i.u(this.domNode.domNode);t=e.posx-n.left,o=e.posy-n.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,o))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(function(){})))},t.prototype._sliderMouseDown=function(e,t){var o=this,n=this._sliderMousePosition(e),i=this._sliderOrthogonalMousePosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(a.b,(function(e){var t=o._sliderOrthogonalMousePosition(e),a=Math.abs(t-i);if(r.g&&a>140)o._setDesiredScrollPositionNow(s.getScrollPosition());else{var l=o._sliderMousePosition(e)-n;o._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(l))}}),(function(){o.slider.toggleClassName("active",!1),o._host.onDragEnd(),t()})),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(l.a),b=function(){function e(e,t,o){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(o),this._arrowSize=Math.round(e),this._visibleSize=0,this._scrollSize=0,this._scrollPosition=0,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}return e.prototype.clone=function(){var t=new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize);return t.setVisibleSize(this._visibleSize),t.setScrollSize(this._scrollSize),t.setScrollPosition(this._scrollPosition),t},e.prototype.setVisibleSize=function(e){var t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollSize=function(e){var t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollPosition=function(e){var t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)},e._computeValues=function(e,t,o,n,i){var r=Math.max(0,o-e),s=Math.max(0,r-2*t),a=n>0&&n>o;if(!a)return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var l=Math.round(Math.max(20,Math.floor(o*s/n))),u=(s-l)/(n-o),c=i*u;return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:u,computedSliderPosition:Math.round(c)}},e.prototype._refreshComputedValues=function(){var t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition},e.prototype.getArrowSize=function(){return this._arrowSize},e.prototype.getScrollPosition=function(){return this._scrollPosition},e.prototype.getRectangleLargeSize=function(){return this._computedAvailableSize},e.prototype.getRectangleSmallSize=function(){return this._scrollbarSize},e.prototype.isNeeded=function(){return this._computedIsNeeded},e.prototype.getSliderSize=function(){return this._computedSliderSize},e.prototype.getSliderPosition=function(){return this._computedSliderPosition},e.prototype.getDesiredScrollPositionFromOffset=function(e){if(!this._computedIsNeeded)return 0;var t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)},e.prototype.getDesiredScrollPositionFromDelta=function(e){if(!this._computedIsNeeded)return 0;var t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)},e}(),E=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),C=function(e){function t(t,o,n){var i=e.call(this,{lazyRender:o.lazyRender,host:n,scrollbarState:new b(o.horizontalHasArrows?o.arrowSize:0,o.horizontal===f.b.Hidden?0:o.horizontalScrollbarSize,o.vertical===f.b.Hidden?0:o.verticalScrollbarSize),visibility:o.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(o.horizontalHasArrows){var r=(o.arrowSize-d)/2,a=(o.horizontalScrollbarSize-d)/2;i._createArrow({className:"left-arrow",top:a,left:r,bottom:void 0,right:void 0,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,1,0))}}),i._createArrow({className:"right-arrow",top:a,left:void 0,bottom:void 0,right:r,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,-1,0))}})}return i._createSlider(Math.floor((o.horizontalScrollbarSize-o.horizontalSliderSize)/2),0,null,o.horizontalSliderSize),i}return E(t,e),t.prototype._updateSlider=function(e,t){this.slider.setWidth(e),this.slider.setLeft(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e},t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype.writeScrollPosition=function(e,t){e.scrollLeft=t},t}(v),S=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),T=function(e){function t(t,o,n){var i=e.call(this,{lazyRender:o.lazyRender,host:n,scrollbarState:new b(o.verticalHasArrows?o.arrowSize:0,o.vertical===f.b.Hidden?0:o.verticalScrollbarSize,0),visibility:o.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(o.verticalHasArrows){var r=(o.arrowSize-d)/2,a=(o.verticalScrollbarSize-d)/2;i._createArrow({className:"up-arrow",top:r,left:a,bottom:void 0,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,0,1))}}),i._createArrow({className:"down-arrow",top:void 0,left:a,bottom:r,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,0,-1))}})}return i._createSlider(0,Math.floor((o.verticalScrollbarSize-o.verticalSliderSize)/2),o.verticalSliderSize,null),i}return S(t,e),t.prototype._updateSlider=function(e,t){this.slider.setHeight(e),this.slider.setTop(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return t},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx},t.prototype.writeScrollPosition=function(e,t){e.scrollTop=t},t}(v),w=o(4);o.d(t,"b",(function(){return N})),o.d(t,"c",(function(){return I})),o.d(t,"a",(function(){return D}));var k=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),O=function(e,t,o){this.timestamp=e,this.deltaX=t,this.deltaY=o,this.score=0},R=function(){function e(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}return e.prototype.isPhysicalMouseWheel=function(){if(-1===this._front&&-1===this._rear)return!1;for(var e=1,t=0,o=1,n=this._rear;;){var i=n===this._front?e:Math.pow(2,-o);if(e-=i,t+=this._memory[n].score*i,n===this._front)break;n=(this._capacity+n-1)%this._capacity,o++}return t<=.5},e.prototype.accept=function(e,t,o){var n=new O(e,t,o);n.score=this._computeScore(n),-1===this._front&&-1===this._rear?(this._memory[0]=n,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=n)},e.prototype._computeScore=function(e){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;var t=.5;-1===this._front&&-1===this._rear||this._memory[this._rear];return(Math.abs(e.deltaX-Math.round(e.deltaX))>0||Math.abs(e.deltaY-Math.round(e.deltaY))>0)&&(t+=.25),Math.min(Math.max(t,0),1)},e.INSTANCE=new e,e}(),L=function(e){function t(t,o,n){var i=e.call(this)||this;i._onScroll=i._register(new w.a),i.onScroll=i._onScroll.event,t.style.overflow="hidden",i._options=A(o),i._scrollable=n,i._register(i._scrollable.onScroll((function(e){i._onDidScroll(e),i._onScroll.fire(e)})));var r={onMouseWheel:function(e){return i._onMouseWheel(e)},onDragStart:function(){return i._onDragStart()},onDragEnd:function(){return i._onDragEnd()}};return i._verticalScrollbar=i._register(new T(i._scrollable,i._options,r)),i._horizontalScrollbar=i._register(new C(i._scrollable,i._options,r)),i._domNode=document.createElement("div"),i._domNode.className="monaco-scrollable-element "+i._options.className,i._domNode.setAttribute("role","presentation"),i._domNode.style.position="relative",i._domNode.style.overflow="hidden",i._domNode.appendChild(t),i._domNode.appendChild(i._horizontalScrollbar.domNode.domNode),i._domNode.appendChild(i._verticalScrollbar.domNode.domNode),i._options.useShadows&&(i._leftShadowDomNode=Object(u.b)(document.createElement("div")),i._leftShadowDomNode.setClassName("shadow"),i._domNode.appendChild(i._leftShadowDomNode.domNode),i._topShadowDomNode=Object(u.b)(document.createElement("div")),i._topShadowDomNode.setClassName("shadow"),i._domNode.appendChild(i._topShadowDomNode.domNode),i._topLeftShadowDomNode=Object(u.b)(document.createElement("div")),i._topLeftShadowDomNode.setClassName("shadow top-left-corner"),i._domNode.appendChild(i._topLeftShadowDomNode.domNode)),i._listenOnDomNode=i._options.listenOnDomNode||i._domNode,i._mouseWheelToDispose=[],i._setListeningToMouseWheel(i._options.handleMouseWheel),i.onmouseover(i._listenOnDomNode,(function(e){return i._onMouseOver(e)})),i.onnonbubblingmouseout(i._listenOnDomNode,(function(e){return i._onMouseOut(e)})),i._hideTimeout=i._register(new c.f),i._isDragging=!1,i._mouseIsOver=!1,i._shouldRender=!0,i._revealOnScroll=!0,i}return k(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=Object(p.d)(this._mouseWheelToDispose),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._verticalScrollbar.delegateMouseDown(e)},t.prototype.getScrollDimensions=function(){return this._scrollable.getScrollDimensions()},t.prototype.setScrollDimensions=function(e){this._scrollable.setScrollDimensions(e)},t.prototype.updateClassName=function(e){this._options.className=e,r.d&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=A(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._setListeningToMouseWheel(this._options.handleMouseWheel),this._options.lazyRender||this._render()},t.prototype._setListeningToMouseWheel=function(e){var t=this;if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Object(p.d)(this._mouseWheelToDispose),e)){var o=function(e){var o=new s.c(e);t._onMouseWheel(o)};this._mouseWheelToDispose.push(i.g(this._listenOnDomNode,"mousewheel",o)),this._mouseWheelToDispose.push(i.g(this._listenOnDomNode,"DOMMouseScroll",o))}},t.prototype._onMouseWheel=function(e){var t,o=R.INSTANCE;if(o.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var n=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(n=(t=[i,n])[0],i=t[1]);var s=!r.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||i||(i=n,n=0);var a=this._scrollable.getFutureScrollPosition(),l={};if(n){var u=a.scrollTop-50*n;this._verticalScrollbar.writeScrollPosition(l,u)}if(i){var c=a.scrollLeft-50*i;this._horizontalScrollbar.writeScrollPosition(l,c)}if(l=this._scrollable.validateScrollPosition(l),a.scrollLeft!==l.scrollLeft||a.scrollTop!==l.scrollTop)this._options.mouseWheelSmoothScroll&&o.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),this._shouldRender=!0}(this._options.alwaysConsumeMouseWheel||this._shouldRender)&&(e.preventDefault(),e.stopPropagation())},t.prototype._onDidScroll=function(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()},t.prototype.renderNow=function(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()},t.prototype._render=function(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){var e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,o=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(o?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(o?" left":""))}},t.prototype._onDragStart=function(){this._isDragging=!0,this._reveal()},t.prototype._onDragEnd=function(){this._isDragging=!1,this._hide()},t.prototype._onMouseOut=function(e){this._mouseIsOver=!1,this._hide()},t.prototype._onMouseOver=function(e){this._mouseIsOver=!0,this._reveal()},t.prototype._reveal=function(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()},t.prototype._hide=function(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())},t.prototype._scheduleHide=function(){var e=this;this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((function(){return e._hide()}),500)},t}(l.a),N=function(e){function t(t,o){var n=this;(o=o||{}).mouseWheelSmoothScroll=!1;var r=new f.a(0,(function(e){return i.L(e)}));return(n=e.call(this,t,o,r)||this)._register(r),n}return k(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(L),I=function(e){function t(t,o,n){return e.call(this,t,o,n)||this}return k(t,e),t}(L),D=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n._element=t,n.onScroll((function(e){e.scrollTopChanged&&(n._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(n._element.scrollLeft=e.scrollLeft)})),n.scanDomNode(),n}return k(t,e),t.prototype.scanDomNode=function(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})},t}(N);function A(e){var t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:f.b.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:f.b.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,r.d&&(t.className+=" mac"),t}},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(10),i=o(22),r=Object(i.c)("openerService"),s=Object.freeze({_serviceBrand:void 0,open:function(){return n.b.as(void 0)}})},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return r}));var n=o(22),i=Object(n.c)("contextViewService"),r=Object(n.c)("contextMenuService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=o(39),i=o(15),r=o(37),s=o(57),a=new(function(){function e(){this._keybindings=[],this._keybindingsSorted=!0}return e.bindToCurrentPlatform=function(e){if(1===i.a){if(e&&e.win)return e.win}else if(2===i.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t,o){void 0===o&&(o=0);var r=e.bindToCurrentPlatform(t);if(r&&r.primary&&this._registerDefaultKeybinding(Object(n.f)(r.primary,i.a),t.id,t.weight,0,t.when,o),r&&Array.isArray(r.secondary))for(var s=0,a=r.secondary.length;s<a;s++){var l=r.secondary[s];this._registerDefaultKeybinding(Object(n.f)(l,i.a),t.id,t.weight,-s-1,t.when,o)}},e.prototype.registerCommandAndKeybindingRule=function(e,t){void 0===t&&(t=0),this.registerKeybindingRule(e,t),r.a.registerCommand(e)},e._mightProduceChar=function(e){return e>=21&&e<=30||(e>=31&&e<=56||(80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e))},e.prototype._assertNoCtrlAlt=function(t,o){t.ctrlKey&&t.altKey&&!t.metaKey&&e._mightProduceChar(t.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",t," for ",o)},e.prototype._registerDefaultKeybinding=function(e,t,o,n,r,s){0===s&&1===i.a&&(2===e.type?this._assertNoCtrlAlt(e.firstPart,t):this._assertNoCtrlAlt(e,t)),this._keybindings.push({keybinding:e,command:t,commandArgs:void 0,when:r,weight1:o,weight2:n}),this._keybindingsSorted=!1},e.prototype.getDefaultKeybindings=function(){return this._keybindingsSorted||(this._keybindings.sort(l),this._keybindingsSorted=!0),this._keybindings.slice(0)},e}());function l(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.command<t.command?-1:e.command>t.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i})),o.d(t,"c",(function(){return r}));var n=function(){function e(e,t,o){this.offset=0|e,this.type=t,this.language=o}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}(),i=function(e,t){this.tokens=e,this.endState=t},r=function(e,t){this.tokens=e,this.endState=t}},function(e,t,o){"use strict";function n(e,t){for(var o=e.getCount(),n=e.findTokenIndexAtOffset(t),r=e.getLanguageId(n),s=n;s+1<o&&e.getLanguageId(s+1)===r;)s++;for(var a=n;a>0&&e.getLanguageId(a-1)===r;)a--;return new i(e,r,a,s+1,e.getStartOffset(a),e.getEndOffset(s))}o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return r}));var i=function(){function e(e,t,o,n,i,r){this._actual=e,this.languageId=t,this._firstTokenIndex=o,this._lastTokenIndex=n,this.firstCharOffset=i,this._lastCharOffset=r}return e.prototype.getLineContent=function(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)},e.prototype.getTokenCount=function(){return this._lastTokenIndex-this._firstTokenIndex},e.prototype.findTokenIndexAtOffset=function(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex},e.prototype.getStandardTokenType=function(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)},e}();function r(e){return 0!=(7&e)}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(11),i=function(){function e(e,t){this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t}return e.prototype.equals=function(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)},e.prototype.slicedEquals=function(e,t,o){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var n=t<<1,i=n+(o<<1),r=n;r<i;r++)if(this._tokens[r]!==e._tokens[r])return!1;return!0},e.prototype.getLineContent=function(){return this._text},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getStartOffset=function(e){return e>0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return n.x.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return n.x.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return n.x.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return n.x.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var o=this._tokens[1+(e<<1)];return n.x.getInlineStyleFromMetadata(o,t)},e.prototype.getEndOffset=function(e){return this._tokens[e<<1]},e.prototype.findTokenIndexAtOffset=function(t){return e.findIndexInTokensArray(this._tokens,t)},e.prototype.inflate=function(){return this},e.prototype.sliceAndInflate=function(e,t,o){return new r(this,e,t,o)},e.convertToEndOffset=function(e,t){for(var o=(e.length>>>1)-1,n=0;n<o;n++)e[n<<1]=e[n+1<<1];e[o<<1]=t},e.findIndexInTokensArray=function(e,t){if(e.length<=2)return 0;for(var o=0,n=(e.length>>>1)-1;o<n;){var i=o+Math.floor((n-o)/2),r=e[i<<1];if(r===t)return i+1;r<t?o=i+1:r>t&&(n=i)}return o},e}(),r=function(){function e(e,t,o,n){this._source=e,this._startOffset=t,this._endOffset=o,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var i=this._firstTokenIndex,r=e.getCount();i<r;i++){if(e.getStartOffset(i)>=o)break;this._tokensCount++}}return e.prototype.equals=function(t){return t instanceof e&&(this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount))},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getForeground=function(e){return this._source.getForeground(this._firstTokenIndex+e)},e.prototype.getEndOffset=function(e){var t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset},e.prototype.getClassName=function(e){return this._source.getClassName(this._firstTokenIndex+e)},e.prototype.getInlineStyle=function(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)},e.prototype.findTokenIndexAtOffset=function(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(2),i=o(9),r=o(18),s=o(8),a=function(){function e(e,t,o,n,i){this.value=e,this.selectionStart=t,this.selectionEnd=o,this.selectionStartPosition=n,this.selectionEndPosition=i}return e.prototype.toString=function(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"},e.readFromTextArea=function(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)},e.prototype.collapseSelection=function(){return new e(this.value,this.value.length,this.value.length,null,null)},e.prototype.writeToTextArea=function(e,t,o){t.setValue(e,this.value),o&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)},e.prototype.deduceEditorPosition=function(e){if(e<=this.selectionStart){var t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}var o=this.value.substring(this.selectionStart,e);if(-1===o.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,o,1);var n=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,n,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,o){for(var n=0,i=-1;-1!==(i=t.indexOf("\n",i+1));)n++;return[e,o*t.length,n]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,o,n){if(!e)return{text:"",replaceCharCnt:0};var i=e.value,r=e.selectionStart,a=e.selectionEnd,l=t.value,u=t.selectionStart,c=t.selectionEnd;n&&i.length>0&&r===a&&u===c&&!s.startsWith(l,i)&&s.endsWith(l,i)&&(r=0,a=0);var h=i.substring(a),d=l.substring(c),g=s.commonSuffixLength(h,d);l=l.substring(0,l.length-g);var p=(i=i.substring(0,i.length-g)).substring(0,r),f=l.substring(0,u),m=s.commonPrefixLength(p,f);if(l=l.substring(m),i=i.substring(m),u-=m,r-=m,c-=m,a-=m,o&&u===c&&i.length>0){var _=null;if(u===l.length?s.startsWith(l,i)&&(_=l.substring(i.length)):s.endsWith(l,i)&&(_=l.substring(0,l.length-i.length)),null!==_&&_.length>0&&(/\uFE0F/.test(_)||s.containsEmoji(_)))return{text:_,replaceCharCnt:0}}return u===c?i===l&&0===r&&a===i.length&&u===l.length&&-1===l.indexOf("\n")&&s.containsFullWidthCharacter(l)?{text:"",replaceCharCnt:0}:{text:l,replaceCharCnt:p.length-m}:{text:l,replaceCharCnt:a-r}},e.EMPTY=new e("",0,0,null,null),e}(),l=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var o=t*e._LINES_PER_PAGE,i=o+1,r=o+e._LINES_PER_PAGE;return new n.a(i,1,r+1,1)},e.fromEditorSelection=function(t,o,s,l){var u=e._getPageOfLine(s.startLineNumber),c=e._getRangeForPage(u),h=e._getPageOfLine(s.endLineNumber),d=e._getRangeForPage(h),g=c.intersectRanges(new n.a(1,1,s.startLineNumber,s.startColumn)),p=o.getValueInRange(g,r.c.LF),f=o.getLineCount(),m=o.getLineMaxColumn(f),_=d.intersectRanges(new n.a(s.endLineNumber,s.endColumn,f,m)),y=o.getValueInRange(_,r.c.LF),v=null;if(u===h||u+1===h)v=o.getValueInRange(s,r.c.LF);else{var b=c.intersectRanges(s),E=d.intersectRanges(s);v=o.getValueInRange(b,r.c.LF)+String.fromCharCode(8230)+o.getValueInRange(E,r.c.LF)}if(l){p.length>500&&(p=p.substring(p.length-500,p.length)),y.length>500&&(y=y.substring(0,500)),v.length>1e3&&(v=v.substring(0,500)+String.fromCharCode(8230)+v.substring(v.length-500,v.length))}return new a(p+v+y,p.length,p.length+v.length,new i.a(s.startLineNumber,s.startColumn),new i.a(s.endLineNumber,s.endColumn))},e._LINES_PER_PAGE=10,e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("modeService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(8),i=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var o=e.getModel();this.modelVersionId=o?n.format("{0}#{1}",o.uri.toString(),o.getVersionId()):null}0!=(4&this.flags)&&(this.position=e.getPosition()),0!=(2&this.flags)&&(this.selection=e.getSelection()),0!=(8&this.flags)&&(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop())}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var o=t;return this.modelVersionId===o.modelVersionId&&(this.scrollLeft===o.scrollLeft&&this.scrollTop===o.scrollTop&&(!(!this.position&&o.position||this.position&&!o.position||this.position&&o.position&&!this.position.equals(o.position))&&!(!this.selection&&o.selection||this.selection&&!o.selection||this.selection&&o.selection&&!this.selection.equalsRange(o.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}(),r=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var o=null,n=0;if(0!==t.getScrollTop()){var i=t.getVisibleRanges();if(i.length>0){o=i[0].getStartPosition();var r=t.getTopForPosition(o.lineNumber,o.column);n=t.getScrollTop()-r}}return new e(o,n)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("editorWorkerService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"d",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return s}));var n=function(){function e(e,t,o){for(var n=new Uint8Array(e*t),i=0,r=e*t;i<r;i++)n[i]=o;this._data=n,this.rows=e,this.cols=t}return e.prototype.get=function(e,t){return this._data[e*this.cols+t]},e.prototype.set=function(e,t,o){this._data[e*this.cols+t]=o},e}();function i(e){return e<0?0:e>255?255:0|e}function r(e){return e<0?0:e>4294967295?4294967295:0|e}function s(e){for(var t=e.length,o=new Uint32Array(t),n=0;n<t;n++)o[n]=r(e[n]);return o}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return f}));o(439);var n,i,r=o(6),s=o(24),a=o(15),l=o(21),u=o(66),c=o(41),h=o(4),d=o(1),g=o(50),p=!1;!function(e){e[e.VERTICAL=0]="VERTICAL",e[e.HORIZONTAL=1]="HORIZONTAL"}(n||(n={})),function(e){e[e.Disabled=0]="Disabled",e[e.Minimum=1]="Minimum",e[e.Maximum=2]="Maximum",e[e.Enabled=3]="Enabled"}(i||(i={}));var f=function(){function e(e,t,o){void 0===o&&(o={}),this.disposables=[],this._state=i.Enabled,this._onDidEnablementChange=new h.a,this.onDidEnablementChange=this._onDidEnablementChange.event,this._onDidStart=new h.a,this.onDidStart=this._onDidStart.event,this._onDidChange=new h.a,this.onDidChange=this._onDidChange.event,this._onDidReset=new h.a,this.onDidReset=this._onDidReset.event,this._onDidEnd=new h.a,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.orthogonalStartSashDisposables=[],this.orthogonalEndSashDisposables=[],this.el=Object(d.k)(e,Object(d.a)(".monaco-sash")),a.d&&Object(d.f)(this.el,"mac"),Object(g.a)(this.el,"mousedown")(this.onMouseDown,this,this.disposables),Object(g.a)(this.el,"dblclick")(this.onMouseDoubleClick,this,this.disposables),u.b.addTarget(this.el),Object(g.a)(this.el,u.a.Start)(this.onTouchStart,this,this.disposables),s.l&&Object(d.f)(this.el,"touch"),this.setOrientation(o.orientation||n.VERTICAL),this.hidden=!1,this.layoutProvider=t,this.orthogonalStartSash=o.orthogonalStartSash,this.orthogonalEndSash=o.orthogonalEndSash,Object(d.N)(this.el,"debug",p)}return Object.defineProperty(e.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(d.N)(this.el,"disabled",e===i.Disabled),Object(d.N)(this.el,"minimum",e===i.Minimum),Object(d.N)(this.el,"maximum",e===i.Maximum),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables=Object(r.d)(this.orthogonalStartSashDisposables),e?(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this,this.orthogonalStartSashDisposables),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(i.Disabled),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables=Object(r.d)(this.orthogonalEndSashDisposables),e?(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this,this.orthogonalEndSashDisposables),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(i.Disabled),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),e.prototype.setOrientation=function(e){this.orientation=e,this.orientation===n.HORIZONTAL?(Object(d.f)(this.el,"horizontal"),Object(d.G)(this.el,"vertical")):(Object(d.G)(this.el,"horizontal"),Object(d.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},e.prototype.onMouseDown=function(e){var t=this;d.c.stop(e,!1);var o=!1;if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),!e.__orthogonalSashEvent){var s=void 0;this.orientation===n.VERTICAL?e.offsetY<=4?s=this.orthogonalStartSash:e.offsetY>=this.el.clientHeight-4&&(s=this.orthogonalEndSash):e.offsetX<=4?s=this.orthogonalStartSash:e.offsetX>=this.el.clientWidth-4&&(s=this.orthogonalEndSash),s&&(o=!0,e.__orthogonalSashEvent=!0,s.onMouseDown(e))}if(this.state){for(var l=0,u=Object(d.v)("iframe");l<u.length;l++){u[l].style.pointerEvents="none"}var h=new c.b(e),p=h.posx,f=h.posy,m=h.altKey,_={startX:p,currentX:p,startY:f,currentY:f,altKey:m};Object(d.f)(this.el,"active"),this._onDidStart.fire(_);var y=Object(d.o)(this.el),v=function(){var e="";e=o?"all-scroll":t.orientation===n.HORIZONTAL?t.state===i.Minimum?"s-resize":t.state===i.Maximum?"n-resize":a.d?"row-resize":"ns-resize":t.state===i.Minimum?"e-resize":t.state===i.Maximum?"w-resize":a.d?"col-resize":"ew-resize",y.innerHTML="* { cursor: "+e+" !important; }"},b=[];v(),o||this.onDidEnablementChange(v,null,b);Object(g.a)(window,"mousemove")((function(e){d.c.stop(e,!1);var o=new c.b(e),n={startX:p,currentX:o.posx,startY:f,currentY:o.posy,altKey:m};t._onDidChange.fire(n)}),null,b),Object(g.a)(window,"mouseup")((function(e){d.c.stop(e,!1),t.el.removeChild(y),Object(d.G)(t.el,"active"),t._onDidEnd.fire(),Object(r.d)(b);for(var o=0,n=Object(d.v)("iframe");o<n.length;o++){n[o].style.pointerEvents="auto"}}),null,b)}},e.prototype.onMouseDoubleClick=function(e){this._onDidReset.fire()},e.prototype.onTouchStart=function(e){var t=this;d.c.stop(e);var o=[],n=e.pageX,i=e.pageY,s=e.altKey;this._onDidStart.fire({startX:n,currentX:n,startY:i,currentY:i,altKey:s}),o.push(Object(d.g)(this.el,u.a.Change,(function(e){l.f(e.pageX)&&l.f(e.pageY)&&t._onDidChange.fire({startX:n,currentX:e.pageX,startY:i,currentY:e.pageY,altKey:s})}))),o.push(Object(d.g)(this.el,u.a.End,(function(e){t._onDidEnd.fire(),Object(r.d)(o)})))},e.prototype.layout=function(){var e=s.l?20:4;if(this.orientation===n.VERTICAL){var t=this.layoutProvider;this.el.style.left=t.getVerticalSashLeft(this)-e/2+"px",t.getVerticalSashTop&&(this.el.style.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(this.el.style.height=t.getVerticalSashHeight(this)+"px")}else{var o=this.layoutProvider;this.el.style.top=o.getHorizontalSashTop(this)-e/2+"px",o.getHorizontalSashLeft&&(this.el.style.left=o.getHorizontalSashLeft(this)+"px"),o.getHorizontalSashWidth&&(this.el.style.width=o.getHorizontalSashWidth(this)+"px")}},e.prototype.hide=function(){this.hidden=!0,this.el.style.display="none",this.el.setAttribute("aria-hidden","true")},e.prototype.onOrthogonalStartSashEnablementChange=function(e){Object(d.N)(this.el,"orthogonal-start",e!==i.Disabled)},e.prototype.onOrthogonalEndSashEnablementChange=function(e){Object(d.N)(this.el,"orthogonal-end",e!==i.Disabled)},e.prototype.dispose=function(){this.orthogonalStartSashDisposables=Object(r.d)(this.orthogonalStartSashDisposables),this.orthogonalEndSashDisposables=Object(r.d)(this.orthogonalEndSashDisposables),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null,this.disposables=Object(r.d)(this.disposables)},e}()},function(e,t,o){"use strict";function n(e,t,o){var n=null,i=null;if("function"==typeof o.value?(n="value",0!==(i=o.value).length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof o.get&&(n="get",i=o.get),!i)throw new Error("not supported");var r="$memoize$"+t;o[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.hasOwnProperty(r)||Object.defineProperty(this,r,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[r]}}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";var n=o(13),i=o(43),r=o(20),s=o(2),a=o(8),l=o(126),u=o(32),c=o(44),h=o(23),d=function(){function e(e,t,o){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new s.a(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new s.a(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),n=o[0].range,i=o[1].range;return new h.a(n.endLineNumber,n.endColumn,i.endLineNumber,i.endColumn-this._charAfterSelection.length)},e}(),g=o(102);o.d(t,"a",(function(){return p}));var p=function(){function e(){}return e.indent=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=new l.a(o[i],{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return n},e.outdent=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=new l.a(o[i],{isUnshift:!0,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return n},e.shiftIndent=function(e,t,o){o=o||1;for(var n=l.a.shiftIndentCount(t,t.length+o,e.tabSize),i="",r=0;r<n;r++)i+="\t";return i},e.unshiftIndent=function(e,t,o){o=o||1;for(var n=l.a.unshiftIndentCount(t,t.length+o,e.tabSize),i="",r=0;r<n;r++)i+="\t";return i},e._distributedPaste=function(e,t,o,n){for(var s=[],a=0,l=o.length;a<l;a++)s[a]=new i.a(o[a],n[a]);return new r.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._simplePaste=function(e,t,o,n,a){for(var l=[],u=0,c=o.length;u<c;u++){var h=o[u],d=h.getPosition();if(a&&n.indexOf("\n")!==n.length-1&&(a=!1),a&&h.startLineNumber!==h.endLineNumber&&(a=!1),a&&h.startColumn===t.getLineMinColumn(h.startLineNumber)&&h.endColumn===t.getLineMaxColumn(h.startLineNumber)&&(a=!1),a){var g=new s.a(d.lineNumber,1,d.lineNumber,1);l[u]=new i.a(g,n)}else l[u]=new i.a(h,n)}return new r.e(0,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._distributePasteToCursors=function(e,t,o,n){if(o)return null;if(1===e.length)return null;if(n&&n.length===e.length)return n;10===t.charCodeAt(t.length-1)&&(t=t.substr(0,t.length-1));var i=t.split(/\r\n|\r|\n/);return i.length===e.length?i:null},e.paste=function(e,t,o,n,i,r){var a=this._distributePasteToCursors(o,n,i,r);return a?(o=o.sort(s.a.compareRangesUsingStarts),this._distributedPaste(e,t,o,a)):this._simplePaste(e,t,o,n,i)},e._goodIndentForLine=function(t,o,n){var i,r,l=t.autoIndent?u.a.getInheritIndentForLine(o,n,!1):null;if(l)i=l.action,r=l.indentation;else if(n>1){var h=n-1;for(h=n-1;h>=1;h--){var d=o.getLineContent(h);if(a.lastNonWhitespaceIndex(d)>=0)break}if(h<1)return null;var g=o.getLineMaxColumn(h),p=u.a.getEnterAction(o,new s.a(h,g,h,g));p&&(r=p.indentation,(i=p.enterAction)&&(r+=i.appendText))}return i&&(i===c.a.Indent&&(r=e.shiftIndent(t,r)),i===c.a.Outdent&&(r=e.unshiftIndent(t,r)),r=t.normalizeIndentation(r)),r||null},e._replaceJumpToNextIndent=function(e,t,o,n){var s="",a=o.getStartPosition();if(e.insertSpaces)for(var l=r.a.visibleColumnFromColumn2(e,t,a),u=e.tabSize,c=u-l%u,h=0;h<c;h++)s+=" ";else s="\t";return new i.a(o,s,n)},e.tab=function(e,t,o){for(var n=[],r=0,u=o.length;r<u;r++){var c=o[r];if(c.isEmpty()){var h=t.getLineContent(c.startLineNumber);if(/^\s*$/.test(h)&&t.isCheapToTokenize(c.startLineNumber)){var d=this._goodIndentForLine(e,t,c.startLineNumber);d=d||"\t";var g=e.normalizeIndentation(d);if(!a.startsWith(h,g)){n[r]=new i.a(new s.a(c.startLineNumber,1,c.startLineNumber,h.length+1),g,!0);continue}}n[r]=this._replaceJumpToNextIndent(e,t,c,!0)}else{if(c.startLineNumber===c.endLineNumber){var p=t.getLineMaxColumn(c.startLineNumber);if(1!==c.startColumn||c.endColumn!==p){n[r]=this._replaceJumpToNextIndent(e,t,c,!1);continue}}n[r]=new l.a(c,{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops})}}return n},e.replacePreviousChar=function(e,t,o,n,a,l){for(var u=[],c=0,h=n.length;c<h;c++){var d=n[c];if(d.isEmpty()){var g=d.getPosition(),p=Math.max(1,g.column-l),f=new s.a(g.lineNumber,p,g.lineNumber,g.column);u[c]=new i.a(f,a)}else u[c]=null}return new r.e(1,u,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._typeCommand=function(e,t,o){return o?new i.d(e,t,!0):new i.a(e,t,!0)},e._enter=function(t,o,n,l){if(!o.isCheapToTokenize(l.getStartPosition().lineNumber)){var h=o.getLineContent(l.startLineNumber),d=a.getLeadingWhitespace(h).substring(0,l.startColumn-1);return e._typeCommand(l,"\n"+t.normalizeIndentation(d),n)}var g=u.a.getEnterAction(o,l);if(g){var p=g.enterAction,f=g.indentation;if(p.indentAction===c.a.None)return e._typeCommand(l,"\n"+t.normalizeIndentation(f+p.appendText),n);if(p.indentAction===c.a.Indent)return e._typeCommand(l,"\n"+t.normalizeIndentation(f+p.appendText),n);if(p.indentAction===c.a.IndentOutdent){var m=t.normalizeIndentation(f),_=t.normalizeIndentation(f+p.appendText),y="\n"+_+"\n"+m;return n?new i.d(l,y,!0):new i.c(l,y,-1,_.length-m.length,!0)}if(p.indentAction===c.a.Outdent){var v=e.unshiftIndent(t,f);return e._typeCommand(l,"\n"+t.normalizeIndentation(v+p.appendText),n)}}if(!t.autoIndent){var b=o.getLineContent(l.startLineNumber),E=a.getLeadingWhitespace(b).substring(0,l.startColumn-1);return e._typeCommand(l,"\n"+t.normalizeIndentation(E),n)}var C=u.a.getIndentForEnter(o,l,{unshiftIndent:function(o){return e.unshiftIndent(t,o)},shiftIndent:function(o){return e.shiftIndent(t,o)},normalizeIndentation:function(e){return t.normalizeIndentation(e)}},t.autoIndent),S=o.getLineContent(l.startLineNumber),T=a.getLeadingWhitespace(S).substring(0,l.startColumn-1);if(C){var w=r.a.visibleColumnFromColumn2(t,o,l.getEndPosition()),k=l.endColumn,O="\n";T!==t.normalizeIndentation(C.beforeEnter)&&(O=t.normalizeIndentation(C.beforeEnter)+S.substring(T.length,l.startColumn-1)+"\n",l=new s.a(l.startLineNumber,1,l.endLineNumber,l.endColumn));var R=o.getLineContent(l.endLineNumber),L=a.firstNonWhitespaceIndex(R);if(l=L>=0?l.setEndPosition(l.endLineNumber,Math.max(l.endColumn,L+1)):l.setEndPosition(l.endLineNumber,o.getLineMaxColumn(l.endLineNumber)),n)return new i.d(l,O+t.normalizeIndentation(C.afterEnter),!0);var N=0;return k<=L+1&&(t.insertSpaces||(w=Math.ceil(w/t.tabSize)),N=Math.min(w+1-t.normalizeIndentation(C.afterEnter).length-1,0)),new i.c(l,O+t.normalizeIndentation(C.afterEnter),0,N,!0)}return e._typeCommand(l,"\n"+t.normalizeIndentation(T),n)},e._isAutoIndentType=function(e,t,o){if(!e.autoIndent)return!1;for(var n=0,i=o.length;n<i;n++)if(!t.isCheapToTokenize(o[n].getEndPosition().lineNumber))return!1;return!0},e._runAutoIndentType=function(t,o,n,i){var r=u.a.getIndentationAtPosition(o,n.startLineNumber,n.startColumn),a=u.a.getIndentActionForType(o,n,i,{shiftIndent:function(o){return e.shiftIndent(t,o)},unshiftIndent:function(o){return e.unshiftIndent(t,o)}});if(null===a)return null;if(a!==t.normalizeIndentation(r)){var l=o.getLineFirstNonWhitespaceColumn(n.startLineNumber);return 0===l?e._typeCommand(new s.a(n.startLineNumber,0,n.endLineNumber,n.endColumn),t.normalizeIndentation(a)+i,!1):e._typeCommand(new s.a(n.startLineNumber,0,n.endLineNumber,n.endColumn),t.normalizeIndentation(a)+o.getLineContent(n.startLineNumber).substring(l-1,n.startColumn-1)+i,!1)}return null},e._isAutoClosingCloseCharType=function(e,t,o,n){if(!e.autoClosingBrackets||!e.autoClosingPairsClose.hasOwnProperty(n))return!1;for(var i=n===e.autoClosingPairsClose[n],r=0,s=o.length;r<s;r++){var a=o[r];if(!a.isEmpty())return!1;var l=a.getPosition(),u=t.getLineContent(l.lineNumber);if(u.charAt(l.column-1)!==n)return!1;if(i){var c=u.substr(0,l.column-1);if(this._countNeedlesInHaystack(c,n)%2==0)return!1}}return!0},e._countNeedlesInHaystack=function(e,t){for(var o=0,n=-1;-1!==(n=e.indexOf(t,n+1));)o++;return o},e._runAutoClosingCloseCharType=function(e,t,o,n,a){for(var l=[],u=0,c=n.length;u<c;u++){var h=n[u].getPosition(),d=new s.a(h.lineNumber,h.column,h.lineNumber,h.column+1);l[u]=new i.a(d,a)}return new r.e(1,l,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._isBeforeClosingBrace=function(e,t,o){var n=e.autoClosingPairsOpen[t]===t,i=!1;for(var r in e.autoClosingPairsClose){var s=e.autoClosingPairsOpen[r]===r;if((n||!s)&&o===r){i=!0;break}}return i},e._isAutoClosingOpenCharType=function(t,o,i,r){if(!t.autoClosingBrackets||!t.autoClosingPairsOpen.hasOwnProperty(r))return!1;for(var s=0,a=i.length;s<a;s++){var l=i[s];if(!l.isEmpty())return!1;var c=l.getPosition(),h=o.getLineContent(c.lineNumber);if(("'"===r||'"'===r)&&c.column>1){var d=Object(g.a)(t.wordSeparators),p=h.charCodeAt(c.column-2);if(0===d.get(p))return!1}var f=h.charAt(c.column-1);if(f)if(!e._isBeforeClosingBrace(t,r,f)&&!/\s/.test(f))return!1;if(!o.isCheapToTokenize(c.lineNumber))return!1;o.forceTokenization(c.lineNumber);var m=o.getLineTokens(c.lineNumber),_=!1;try{_=u.a.shouldAutoClosePair(r,m,c.column)}catch(e){Object(n.e)(e)}if(!_)return!1}return!0},e._runAutoClosingOpenCharType=function(e,t,o,n,s){for(var a=[],l=0,u=n.length;l<u;l++){var c=n[l],h=t.autoClosingPairsOpen[s];a[l]=new i.c(c,s+h,0,-h.length)}return new r.e(1,a,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})},e._isSurroundSelectionType=function(e,t,o,n){if(!e.autoClosingBrackets||!e.surroundingPairs.hasOwnProperty(n))return!1;for(var i="'"===n||'"'===n,r=0,s=o.length;r<s;r++){var a=o[r];if(a.isEmpty())return!1;for(var l=!0,u=a.startLineNumber;u<=a.endLineNumber;u++){var c=t.getLineContent(u),h=u===a.startLineNumber?a.startColumn-1:0,d=u===a.endLineNumber?a.endColumn-1:c.length,g=c.substring(h,d);if(/[^ \t]/.test(g)){l=!1;break}}if(l)return!1;if(i&&a.startLineNumber===a.endLineNumber&&a.startColumn+1===a.endColumn){var p=t.getValueInRange(a);if("'"===p||'"'===p)return!1}}return!0},e._runSurroundSelectionType=function(e,t,o,n,i){for(var s=[],a=0,l=n.length;a<l;a++){var u=n[a],c=t.surroundingPairs[i];s[a]=new d(u,i,c)}return new r.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._isTypeInterceptorElectricChar=function(e,t,o){return!(1!==o.length||!t.isCheapToTokenize(o[0].getEndPosition().lineNumber))},e._typeInterceptorElectricChar=function(e,t,o,l,c){if(!t.electricChars.hasOwnProperty(c)||!l.isEmpty())return null;var h=l.getPosition();o.forceTokenization(h.lineNumber);var d,g=o.getLineTokens(h.lineNumber);try{d=u.a.onElectricCharacter(c,g,h.column)}catch(e){Object(n.e)(e)}if(!d)return null;if(d.appendText){var p=new i.c(l,c+d.appendText,0,-d.appendText.length);return new r.e(1,[p],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}if(d.matchOpenBracket){var f=(g.getLineContent()+c).lastIndexOf(d.matchOpenBracket)+1,m=o.findMatchingBracketUp(d.matchOpenBracket,{lineNumber:h.lineNumber,column:f});if(m){if(m.startLineNumber===h.lineNumber)return null;var _=o.getLineContent(m.startLineNumber),y=a.getLeadingWhitespace(_),v=t.normalizeIndentation(y),b=o.getLineContent(h.lineNumber),E=o.getLineFirstNonWhitespaceColumn(h.lineNumber)||h.column,C=v+b.substring(E-1,h.column-1)+c,S=new s.a(h.lineNumber,1,h.lineNumber,h.column);p=new i.a(S,C);return new r.e(1,[p],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null},e.compositionEndWithInterceptors=function(t,o,s,a){if(!o.autoClosingBrackets)return null;for(var l=[],c=0;c<a.length;c++)if(a[c].isEmpty()){var h=a[c].getPosition(),d=s.getLineContent(h.lineNumber),p=d.charAt(h.column-2);if(o.autoClosingPairsClose.hasOwnProperty(p)&&p===o.autoClosingPairsClose[p]){var f=d.substr(0,h.column-2);if(this._countNeedlesInHaystack(f,p)%2==1)continue}if(o.autoClosingPairsOpen.hasOwnProperty(p)){if(("'"===p||'"'===p)&&h.column>2){var m=Object(g.a)(o.wordSeparators),_=d.charCodeAt(h.column-3);if(0===m.get(_))continue}var y=d.charAt(h.column-1);if(y)if(!e._isBeforeClosingBrace(o,p,y)&&!/\s/.test(y))continue;if(!s.isCheapToTokenize(h.lineNumber))continue;s.forceTokenization(h.lineNumber);var v=s.getLineTokens(h.lineNumber),b=!1;try{b=u.a.shouldAutoClosePair(p,v,h.column-1)}catch(e){Object(n.e)(e)}if(b){var E=o.autoClosingPairsOpen[p];l[c]=new i.c(a[c],E,0,-E.length)}}}return new r.e(1,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})},e.typeWithInterceptors=function(t,o,n,s,a){if("\n"===a){for(var l=[],u=0,c=s.length;u<c;u++)l[u]=e._enter(o,n,!1,s[u]);return new r.e(1,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoIndentType(o,n,s)){var h=[],d=!1;for(u=0,c=s.length;u<c;u++)if(h[u]=this._runAutoIndentType(o,n,s[u],a),!h[u]){d=!0;break}if(!d)return new r.e(1,h,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingCloseCharType(o,n,s,a))return this._runAutoClosingCloseCharType(t,o,n,s,a);if(this._isAutoClosingOpenCharType(o,n,s,a))return this._runAutoClosingOpenCharType(t,o,n,s,a);if(this._isSurroundSelectionType(o,n,s,a))return this._runSurroundSelectionType(t,o,n,s,a);if(this._isTypeInterceptorElectricChar(o,n,s)){var g=this._typeInterceptorElectricChar(t,o,n,s[0],a);if(g)return g}var p=[];for(u=0,c=s.length;u<c;u++)p[u]=new i.a(s[u],a);var f=1!==t;return" "===a&&(f=!0),new r.e(1,p,{shouldPushStackElementBefore:f,shouldPushStackElementAfter:!1})},e.typeWithoutInterceptors=function(e,t,o,n,s){for(var a=[],l=0,u=n.length;l<u;l++)a[l]=new i.a(n[l],s);return new r.e(1,a,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e.lineInsertBefore=function(e,t,o){for(var n=[],r=0,a=o.length;r<a;r++){var l=o[r].positionLineNumber;if(1===l)n[r]=new i.d(new s.a(1,1,1,1),"\n");else{l--;var u=t.getLineMaxColumn(l);n[r]=this._enter(e,t,!1,new s.a(l,u,l,u))}}return n},e.lineInsertAfter=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++){var a=o[i].positionLineNumber,l=t.getLineMaxColumn(a);n[i]=this._enter(e,t,!1,new s.a(a,l,a,l))}return n},e.lineBreakInsert=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=this._enter(e,t,!0,o[i]);return n},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(4),i=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new n.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.setZoomLevel=function(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))},e}())},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e[e.PREVIEW=0]="PREVIEW",e[e.OPEN=1]="OPEN",e[e.OPEN_IN_BACKGROUND=2]="OPEN_IN_BACKGROUND"}(n||(n={}))},function(e,t,o){"use strict";var n,i=o(0),r=o(8);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(n||(n={})),function(e){var t="error",o="warning",n="warn",s="info",a=Object.create(null);a[e.Error]=i.a("sev.error","Error"),a[e.Warning]=i.a("sev.warning","Warning"),a[e.Info]=i.a("sev.info","Info"),e.fromValue=function(i){return i?r.equalsIgnoreCase(t,i)?e.Error:r.equalsIgnoreCase(o,i)||r.equalsIgnoreCase(n,i)?e.Warning:r.equalsIgnoreCase(s,i)?e.Info:e.Ignore:e.Ignore}}(n||(n={})),t.a=n},function(e,t,o){"use strict";o.d(t,"b",(function(){return v})),o.d(t,"a",(function(){return b}));var n=o(0),i=o(13),r=o(6),s=o(36),a=o(22),l=o(12),u=o(49),c=o(55),h=o(211),d=o(2),g=o(9),p=o(45),f=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},m=function(e,t){return function(o,n){t(o,n,e)}},_=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},y=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},v=new l.f("referenceSearchVisible",!1),b=function(){function e(e,t,o,n,i,r,s,a){this._defaultTreeKeyboardSupport=e,this._editorService=n,this._notificationService=i,this._instantiationService=r,this._storageService=s,this._configurationService=a,this._requestIdPool=0,this._disposables=[],this._ignoreModelChangeEvent=!1,this._editor=t,this._referenceSearchVisible=v.bindTo(o)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._referenceSearchVisible.reset(),Object(r.d)(this._disposables),Object(r.d)(this._widget),Object(r.d)(this._model),this._widget=null,this._model=null,this._editor=null},e.prototype.toggleWidget=function(e,t,o){var i,r=this;if(this._widget&&(i=this._widget.position),this.closeWidget(),i&&e.containsPosition(i))return null;this._referenceSearchVisible.set(!0),this._disposables.push(this._editor.onDidChangeModelLanguage((function(){r.closeWidget()}))),this._disposables.push(this._editor.onDidChangeModel((function(){r._ignoreModelChangeEvent||r.closeWidget()})));var s=JSON.parse(this._storageService.get("peekViewLayout",void 0,"{}"));this._widget=this._instantiationService.createInstance(h.a,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(n.a("labelLoading","Loading...")),this._widget.show(e),this._disposables.push(this._widget.onDidClose((function(){t.cancel(),r._storageService.store("peekViewLayout",JSON.stringify(r._widget.layoutData)),r._widget=null,r.closeWidget()}))),this._disposables.push(this._widget.onDidSelectReference((function(e){var t=e.element,n=e.kind;switch(n){case"open":if("editor"===e.source&&r._configurationService.getValue("editor.stablePeek"))break;case"side":r.openReference(t,"side"===n);break;case"goto":o.onGoto?o.onGoto(t):r._gotoReference(t)}})));var a=++this._requestIdPool;t.then((function(t){if(a===r._requestIdPool&&r._widget)return r._model&&r._model.dispose(),r._model=t,r._widget.setModel(r._model).then((function(){if(r._widget){r._widget.setMetaTitle(o.getMetaTitle(r._model));var t=r._editor.getModel().uri,n=new g.a(e.startLineNumber,e.startColumn),i=r._model.nearestReference(t,n);if(i)return r._widget.setSelection(i)}}))}),(function(e){r._notificationService.error(e)}))},e.prototype.goToNextOrPreviousReference=function(e){return _(this,void 0,void 0,(function(){var t,o,n;return y(this,(function(i){switch(i.label){case 0:return this._model?(t=this._model.nearestReference(this._editor.getModel().uri,this._widget.position),o=this._model.nextOrPreviousReference(t,e),n=this._editor.hasTextFocus(),[4,this._widget.setSelection(o)]):[3,3];case 1:return i.sent(),[4,this._gotoReference(o)];case 2:i.sent(),n&&this._editor.focus(),i.label=3;case 3:return[2]}}))}))},e.prototype.closeWidget=function(){Object(r.d)(this._widget),this._widget=null,this._referenceSearchVisible.reset(),this._disposables=Object(r.d)(this._disposables),Object(r.d)(this._model),this._model=null,this._editor.focus(),this._requestIdPool+=1},e.prototype._gotoReference=function(e){var t=this;this._widget.hide(),this._ignoreModelChangeEvent=!0;var o=d.a.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:o}},this._editor).then((function(e){t._ignoreModelChangeEvent=!1,e&&e===t._editor?(t._widget.show(o),t._widget.focus()):t.closeWidget()}),(function(e){t._ignoreModelChangeEvent=!1,Object(i.e)(e)}))},e.prototype.openReference=function(e,t){var o=e.uri,n=e.range;this._editorService.openCodeEditor({resource:o,options:{selection:n}},this._editor,t),t||this.closeWidget()},e.ID="editor.contrib.referencesController",e=f([m(2,l.e),m(3,s.a),m(4,p.a),m(5,a.a),m(6,c.a),m(7,u.b)],e)}()},function(e,t,o){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var o=0;o<this._listeners[e].length;o++)this._listeners[e][o].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.end()})),e.on("error",(function(e){t.error(e)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var e=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},e.exports=n},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});const i=o(122);t.ErrorCodes=i.ErrorCodes,t.ResponseError=i.ResponseError,t.CancellationToken=i.CancellationToken,t.CancellationTokenSource=i.CancellationTokenSource,t.Disposable=i.Disposable,t.Event=i.Event,t.Emitter=i.Emitter,t.Trace=i.Trace,t.TraceFormat=i.TraceFormat,t.SetTraceNotification=i.SetTraceNotification,t.LogTraceNotification=i.LogTraceNotification,t.RequestType=i.RequestType,t.RequestType0=i.RequestType0,t.NotificationType=i.NotificationType,t.NotificationType0=i.NotificationType0,t.MessageReader=i.MessageReader,t.MessageWriter=i.MessageWriter,t.ConnectionStrategy=i.ConnectionStrategy,t.StreamMessageReader=i.StreamMessageReader,t.StreamMessageWriter=i.StreamMessageWriter,t.IPCMessageReader=i.IPCMessageReader,t.IPCMessageWriter=i.IPCMessageWriter,t.createClientPipeTransport=i.createClientPipeTransport,t.createServerPipeTransport=i.createServerPipeTransport,t.generateRandomPipeName=i.generateRandomPipeName,t.createClientSocketTransport=i.createClientSocketTransport,t.createServerSocketTransport=i.createServerSocketTransport,n(o(509)),n(o(510)),t.createProtocolConnection=function(e,t,o,n){return i.createMessageConnection(e,t,o,n)}},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n,i=o(116),r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),s=function(e){function t(t){for(var o=e.call(this,0)||this,n=0,i=t.length;n<i;n++)o.set(t.charCodeAt(n),2);return o.set(32,1),o.set(9,1),o}return r(t,e),t}(i.a);var a,l,u=(a=function(e){return new s(e)},l={},function(e){return l.hasOwnProperty(e)||(l[e]=a(e)),l[e]})},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("themeService")},function(e,t,o){"use strict";var n=o(0),i=o(4),r=o(57),s=o(21),a=o(8),l="base.contributions.json";var u=new(function(){function e(){this._onDidChangeSchema=new i.a,this.schemasById={}}return e.prototype.registerSchema=function(e,t){var o;this.schemasById[(o=e,o.length>0&&"#"===o.charAt(o.length-1)?o.substring(0,o.length-1):o)]=t,this._onDidChangeSchema.fire(e)},e}());r.a.add(l,u),o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return c})),o.d(t,"c",(function(){return C}));var c,h={Configuration:"base.contributions.configuration"};!function(e){e[e.APPLICATION=1]="APPLICATION",e[e.WINDOW=2]="WINDOW",e[e.RESOURCE=3]="RESOURCE"}(c||(c={}));var d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m="vscode://schemas/settings/editor",_=r.a.as(l),y=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new i.a,this._onDidRegisterConfiguration=new i.a,this.configurationContributors=[],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting"},this.configurationProperties={},this.excludedConfigurationProperties={},this.computeOverridePropertyPattern(),_.registerSchema(m,this.editorConfigurationSchema)}return e.prototype.registerConfiguration=function(e,t){void 0===t&&(t=!0),this.registerConfigurations([e],[],t)},e.prototype.registerConfigurations=function(e,t,o){var n=this;void 0===o&&(o=!0);var i=this.toConfiguration(t);i&&e.push(i);var r=[];e.forEach((function(e){r.push.apply(r,n.validateAndRegisterProperties(e,o)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)})),this._onDidRegisterConfiguration.fire(r)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.toConfiguration=function(e){for(var t={id:"defaultOverrides",title:n.a("defaultConfigurations.title","Default Configuration Overrides"),properties:{}},o=0,i=e;o<i.length;o++){var r=i[o];for(var s in r.defaults){var a=r.defaults[s];C.test(s)&&"object"==typeof a&&(t.properties[s]={type:"object",default:a,description:n.a("overrideSettings.description","Configure editor settings to be overridden for {0} language.",s),$ref:m})}}return Object.keys(t.properties).length?t:null},e.prototype.validateAndRegisterProperties=function(e,t,o,n){void 0===t&&(t=!0),void 0===o&&(o=c.WINDOW),void 0===n&&(n=!1),o=s.j(e.scope)?o:e.scope,n=e.overridable||n;var i=[],r=e.properties;if(r)for(var a in r){var l=void 0;if(t&&(l=w(a)))console.warn(l),delete r[a];else{var u=r[a],h=u.default;s.i(h)&&(u.default=S(u.type)),n&&(u.overridable=!0),C.test(a)?u.scope=void 0:u.scope=s.j(u.scope)?o:u.scope,!r[a].hasOwnProperty("included")||r[a].included?(this.configurationProperties[a]=r[a],i.push(a)):(this.excludedConfigurationProperties[a]=r[a],delete r[a])}}var d=e.allOf;if(d)for(var g=0,p=d;g<p.length;g++){var f=p[g];i.push.apply(i,this.validateAndRegisterProperties(f,t,o,n))}return i},e.prototype.getConfigurationProperties=function(){return this.configurationProperties},e.prototype.registerJSONConfiguration=function(e){!function e(t){var o=t.properties;if(o)for(var n in o)switch(d.properties[n]=o[n],o[n].scope){case c.APPLICATION:g.properties[n]=o[n];break;case c.WINDOW:p.properties[n]=o[n];break;case c.RESOURCE:f.properties[n]=o[n]}var i=t.allOf;i&&i.forEach(e)}(e),this._onDidSchemaChange.fire()},e.prototype.updateSchemaForOverrideSettingsConfiguration=function(e){e.id!==v&&(this.update(e),_.registerSchema(m,this.editorConfigurationSchema))},e.prototype.updateOverridePropertyPatternKey=function(){var e=d.patternProperties[this.overridePropertyPattern];e||(e={type:"object",description:n.a("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:"Unknown Identifier. Use language identifiers",$ref:m}),delete d.patternProperties[this.overridePropertyPattern],delete g.patternProperties[this.overridePropertyPattern],delete p.patternProperties[this.overridePropertyPattern],delete f.patternProperties[this.overridePropertyPattern],this.computeOverridePropertyPattern(),d.patternProperties[this.overridePropertyPattern]=e,g.patternProperties[this.overridePropertyPattern]=e,p.patternProperties[this.overridePropertyPattern]=e,f.patternProperties[this.overridePropertyPattern]=e,this._onDidSchemaChange.fire()},e.prototype.update=function(e){var t=this,o=e.properties;if(o)for(var n in o)o[n].overridable&&(this.editorConfigurationSchema.properties[n]=this.getConfigurationProperties()[n]);var i=e.allOf;i&&i.forEach((function(e){return t.update(e)}))},e.prototype.computeOverridePropertyPattern=function(){this.overridePropertyPattern=this.overrideIdentifiers.length?E.replace("${0}",this.overrideIdentifiers.map((function(e){return a.createRegExp(e,!1).source})).join("|")):b},e}(),v="override",b="\\[.*\\]$",E="\\[(${0})\\]$",C=new RegExp(b);function S(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}var T=new y;function w(e){return C.test(e)?n.a("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==T.getConfigurationProperties()[e]?n.a("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):null}r.a.add(h.Configuration,T)},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return r})),o.d(t,"d",(function(){return s}));var n="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var i=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",o=0;o<n.length;o++)e.indexOf(n[o])>=0||(t+="\\"+n[o]);return t+="\\s]+)",new RegExp(t,"g")}();function r(e){var t=i;if(e&&e instanceof RegExp)if(e.global)t=e;else{var o="g";e.ignoreCase&&(o+="i"),e.multiline&&(o+="m"),t=new RegExp(e.source,o)}return t.lastIndex=0,t}function s(e,t,o,n){t.lastIndex=0;var i=t.exec(o);if(!i)return null;var r=i[0].indexOf(" ")>=0?function(e,t,o,n){var i,r=e-1-n;for(t.lastIndex=0;i=t.exec(o);){if(i.index>r)return null;if(t.lastIndex>=r)return{word:i[0],startColumn:n+1+i.index,endColumn:n+1+t.lastIndex}}return null}(e,t,o,n):function(e,t,o,n){var i,r=e-1-n,s=o.lastIndexOf(" ",r-1)+1,a=o.indexOf(" ",r);for(-1===a&&(a=o.length),t.lastIndex=s;i=t.exec(o);)if(i.index<=r&&t.lastIndex>=r)return{word:i[0],startColumn:n+1+i.index,endColumn:n+1+t.lastIndex};return null}(e,t,o,n);return t.lastIndex=0,r}},function(e,t,o){"use strict";o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return _}));var n=o(8),i=o(2),r=function(e,t,o,n,i){this.languageIdentifier=e,this.open=t,this.close=o,this.forwardRegex=n,this.reversedRegex=i},s=function(e,t){var o=this;this.brackets=t.map((function(t){return new r(e,t[0],t[1],l({open:t[0],close:t[1]}),u({open:t[0],close:t[1]}))})),this.forwardRegex=c(this.brackets),this.reversedRegex=h(this.brackets),this.textIsBracket={},this.textIsOpenBracket={};var n=0;this.brackets.forEach((function(e){o.textIsBracket[e.open.toLowerCase()]=e,o.textIsBracket[e.close.toLowerCase()]=e,o.textIsOpenBracket[e.open.toLowerCase()]=!0,o.textIsOpenBracket[e.close.toLowerCase()]=!1,n=Math.max(n,e.open.length),n=Math.max(n,e.close.length)})),this.maxBracketLength=n};function a(e,t){var o={};return function(n){var i=e(n);return o.hasOwnProperty(i)||(o[i]=t(n)),o[i]}}var l=a((function(e){return e.open+";"+e.close}),(function(e){return g([e.open,e.close])})),u=a((function(e){return e.open+";"+e.close}),(function(e){return g([m(e.open),m(e.close)])})),c=a((function(e){return e.map((function(e){return e.open+";"+e.close})).join(";")}),(function(e){var t=[];return e.forEach((function(e){t.push(e.open),t.push(e.close)})),g(t)})),h=a((function(e){return e.map((function(e){return e.open+";"+e.close})).join(";")}),(function(e){var t=[];return e.forEach((function(e){t.push(m(e.open)),t.push(m(e.close))})),g(t)}));function d(e){var t=/^[\w]+$/.test(e);return e=n.escapeRegExpCharacters(e),t?"\\b"+e+"\\b":e}function g(e){var t="("+e.map(d).join(")|(")+")";return n.createRegExp(t,!0)}var p,f,m=(p=null,f=null,function(e){return p!==e&&(f=function(e){for(var t="",o=e.length-1;o>=0;o--)t+=e.charAt(o);return t}(p=e)),f}),_=function(){function e(){}return e._findPrevBracketInText=function(e,t,o,n){var r=o.match(e);if(!r)return null;var s=o.length-r.index,a=r[0].length,l=n+s;return new i.a(t,l-a+1,t,l+1)},e.findPrevBracketInToken=function(e,t,o,n,i){var r=m(o).substring(o.length-i,o.length-n);return this._findPrevBracketInText(e,t,r,n)},e.findNextBracketInText=function(e,t,o,n){var r=o.match(e);if(!r)return null;var s=r.index,a=r[0].length;if(0===a)return null;var l=n+s;return new i.a(t,l+1,t,l+1+a)},e.findNextBracketInToken=function(e,t,o,n,i){var r=o.substring(n,i);return this.findNextBracketInText(e,t,r,n)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return c})),o.d(t,"b",(function(){return g}));var n,i=o(20),r=o(9),s=o(102),a=o(8),l=o(2),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(){}return e._createWord=function(e,t,o,n,i){return{start:n,end:i,wordType:t,nextCharClass:o}},e._findPreviousWordOnLine=function(e,t,o){var n=t.getLineContent(o.lineNumber);return this._doFindPreviousWordOnLine(n,e,o)},e._doFindPreviousWordOnLine=function(e,t,o){for(var n=0,i=o.column-2;i>=0;i--){var r=e.charCodeAt(i),s=t.get(r);if(0===s){if(2===n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1));n=1}else if(2===s){if(1===n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1));n=2}else if(1===s&&0!==n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1))}return 0!==n?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null},e._findEndOfWord=function(e,t,o,n){for(var i=e.length,r=n;r<i;r++){var s=e.charCodeAt(r),a=t.get(s);if(1===a)return r;if(1===o&&2===a)return r;if(2===o&&0===a)return r}return i},e._findNextWordOnLine=function(e,t,o){var n=t.getLineContent(o.lineNumber);return this._doFindNextWordOnLine(n,e,o)},e._doFindNextWordOnLine=function(e,t,o){for(var n=0,i=e.length,r=o.column-1;r<i;r++){var s=e.charCodeAt(r),a=t.get(s);if(0===a){if(2===n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r);n=1}else if(2===a){if(1===n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r);n=2}else if(1===a&&0!==n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r)}return 0!==n?this._createWord(e,n,1,this._findStartOfWord(e,t,n,i-1),i):null},e._findStartOfWord=function(e,t,o,n){for(var i=n;i>=0;i--){var r=e.charCodeAt(i),s=t.get(r);if(1===s)return i+1;if(1===o&&2===s)return i+1;if(2===o&&0===s)return i+1}return 0},e.moveWordLeft=function(t,o,n,i){var s=n.lineNumber,a=n.column;1===a&&s>1&&(s-=1,a=o.getLineMaxColumn(s));var l=e._findPreviousWordOnLine(t,o,new r.a(s,a));return 0===i?(l&&2===l.wordType&&l.end-l.start==1&&0===l.nextCharClass&&(l=e._findPreviousWordOnLine(t,o,new r.a(s,l.start+1))),a=l?l.start+1:1):(l&&a<=l.end+1&&(l=e._findPreviousWordOnLine(t,o,new r.a(s,l.start+1))),a=l?l.end+1:1),new r.a(s,a)},e.moveWordRight=function(t,o,n,i){var s=n.lineNumber,a=n.column;a===o.getLineMaxColumn(s)&&s<o.getLineCount()&&(s+=1,a=1);var l=e._findNextWordOnLine(t,o,new r.a(s,a));return 1===i?(l&&2===l.wordType&&l.end-l.start==1&&0===l.nextCharClass&&(l=e._findNextWordOnLine(t,o,new r.a(s,l.end+1))),a=l?l.end+1:o.getLineMaxColumn(s)):(l&&a>=l.start+1&&(l=e._findNextWordOnLine(t,o,new r.a(s,l.end+1))),a=l?l.start+1:o.getLineMaxColumn(s)),new r.a(s,a)},e._deleteWordLeftWhitespace=function(e,t){var o=e.getLineContent(t.lineNumber),n=t.column-2,i=a.lastNonWhitespaceIndex(o,n);return i+1<n?new l.a(t.lineNumber,i+2,t.lineNumber,t.column):null},e.deleteWordLeft=function(t,o,n,i,s){if(!n.isEmpty())return n;var a=new r.a(n.positionLineNumber,n.positionColumn),u=a.lineNumber,c=a.column;if(1===u&&1===c)return null;if(i){var h=this._deleteWordLeftWhitespace(o,a);if(h)return h}var d=e._findPreviousWordOnLine(t,o,a);return 0===s?d?c=d.start+1:c>1?c=1:(u--,c=o.getLineMaxColumn(u)):(d&&c<=d.end+1&&(d=e._findPreviousWordOnLine(t,o,new r.a(u,d.start+1))),d?c=d.end+1:c>1?c=1:(u--,c=o.getLineMaxColumn(u))),new l.a(u,c,a.lineNumber,a.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var o=e.length,n=t;n<o;n++){var i=e.charAt(n);if(" "!==i&&"\t"!==i)return n}return o},e._deleteWordRightWhitespace=function(e,t){var o=e.getLineContent(t.lineNumber),n=t.column-1,i=this._findFirstNonWhitespaceChar(o,n);return n+1<i?new l.a(t.lineNumber,t.column,t.lineNumber,i+1):null},e.deleteWordRight=function(t,o,n,i,s){if(!n.isEmpty())return n;var a=new r.a(n.positionLineNumber,n.positionColumn),u=a.lineNumber,c=a.column,h=o.getLineCount(),d=o.getLineMaxColumn(u);if(u===h&&c===d)return null;if(i){var g=this._deleteWordRightWhitespace(o,a);if(g)return g}var p=e._findNextWordOnLine(t,o,a);return 1===s?p?c=p.end+1:c<d||u===h?c=d:(u++,c=(p=e._findNextWordOnLine(t,o,new r.a(u,1)))?p.start+1:o.getLineMaxColumn(u)):(p&&c>=p.start+1&&(p=e._findNextWordOnLine(t,o,new r.a(u,p.end+1))),p?c=p.start+1:c<d||u===h?c=d:(u++,c=(p=e._findNextWordOnLine(t,o,new r.a(u,1)))?p.start+1:o.getLineMaxColumn(u))),new l.a(u,c,a.lineNumber,a.column)},e.word=function(t,o,n,a,u){var c=Object(s.a)(t.wordSeparators),h=e._findPreviousWordOnLine(c,o,u),d=e._findNextWordOnLine(c,o,u);if(!a){var g,p,f=h&&1===h.wordType&&h.start<=u.column-1&&u.column-1<=h.end,m=d&&1===d.wordType&&d.start<=u.column-1&&u.column-1<=d.end;return f?(g=h.start+1,p=h.end+1):m?(g=d.start+1,p=d.end+1):(g=h?h.end+1:1,p=d?d.start+1:o.getLineMaxColumn(u.lineNumber)),new i.f(new l.a(u.lineNumber,g,u.lineNumber,p),0,new r.a(u.lineNumber,p),0)}var _,y,v=h&&1===h.wordType&&h.start<u.column-1&&u.column-1<h.end,b=d&&1===d.wordType&&d.start<u.column-1&&u.column-1<d.end;v?(_=h.start+1,y=h.end+1):b?(_=d.start+1,y=d.end+1):(_=u.column,y=u.column);var E,C=u.lineNumber;if(n.selectionStart.containsPosition(u))E=n.selectionStart.endColumn;else if(u.isBeforeOrEqual(n.selectionStart.getStartPosition())){E=_;var S=new r.a(C,E);n.selectionStart.containsPosition(S)&&(E=n.selectionStart.endColumn)}else{E=y;S=new r.a(C,E);n.selectionStart.containsPosition(S)&&(E=n.selectionStart.startColumn)}return n.move(!0,C,E,0)},e}();function h(e,t){void 0===t&&(t=e.length-1);for(var o=!a.isLowerAsciiLetter(e.charCodeAt(t+1)),n=t;n>=0;n--){var i=e.charCodeAt(n);if(32===i||9===i||!o&&a.isUpperAsciiLetter(i)||95===i)return n-1;if(o&&n<t&&a.isLowerAsciiLetter(i))return n;o=o&&a.isUpperAsciiLetter(i)}return-1}function d(e,t){void 0===t&&(t=0);var o=e.charCodeAt(t-1),n=e.charCodeAt(t);if((32===o||9===o)&&(a.isLowerAsciiLetter(n)||a.isUpperAsciiLetter(n)))return t+1;for(var i=a.isUpperAsciiLetter(n),r=t;r<e.length;++r){if(32===(n=e.charCodeAt(r))||9===n||!i&&a.isUpperAsciiLetter(n))return r+1;if(i&&a.isLowerAsciiLetter(n))return r;if(i=i&&a.isUpperAsciiLetter(n),95===n)return r+2}return e.length+1}var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.deleteWordPartLeft=function(e,t,o,n,i){if(!o.isEmpty())return o;var s=new r.a(o.positionLineNumber,o.positionColumn),a=s.lineNumber,u=s.column;if(1===a&&1===u)return null;if(n){var d=c._deleteWordLeftWhitespace(t,s);if(d)return d}var g=c.deleteWordLeft(e,t,o,n,i),p=h(t.getLineContent(s.lineNumber),s.column-2),f=new l.a(a,u,a,p+2);return f.getStartPosition().isBeforeOrEqual(g.getStartPosition())?g:f},t.deleteWordPartRight=function(e,t,o,n,i){if(!o.isEmpty())return o;var s=new r.a(o.positionLineNumber,o.positionColumn),a=s.lineNumber,u=s.column,h=t.getLineCount(),g=t.getLineMaxColumn(a);if(a===h&&u===g)return null;if(n){var p=c._deleteWordRightWhitespace(t,s);if(p)return p}var f=c.deleteWordRight(e,t,o,n,i),m=d(t.getLineContent(s.lineNumber),s.column),_=new l.a(a,u,a,m);return f.getEndPosition().isBeforeOrEqual(_.getEndPosition())?f:_},t.moveWordPartLeft=function(e,t,o,n){var i=o.lineNumber,s=o.column;if(1===s)return i>1?new r.a(i-1,t.getLineMaxColumn(i-1)):o;var a=c.moveWordLeft(e,t,o,n),l=h(t.getLineContent(i),s-2),u=new r.a(i,l+2);return u.isBeforeOrEqual(a)?a:u},t.moveWordPartRight=function(e,t,o,n){var i=o.lineNumber,s=o.column;if(s===t.getLineMaxColumn(i))return i<t.getLineCount()?new r.a(i+1,1):o;var a=c.moveWordRight(e,t,o,n),l=d(t.getLineContent(i),s),u=new r.a(i,l);return a.isBeforeOrEqual(u)?a:u},t}(c)},function(e,t){var o,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(o===setTimeout)return setTimeout(e,0);if((o===r||!o)&&setTimeout)return o=setTimeout,setTimeout(e,0);try{return o(e,0)}catch(t){try{return o.call(null,e,0)}catch(t){return o.call(this,e,0)}}}!function(){try{o="function"==typeof setTimeout?setTimeout:r}catch(e){o=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var l,u=[],c=!1,h=-1;function d(){c&&l&&(c=!1,l.length?u=l.concat(u):h=-1,u.length&&g())}function g(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(l=u,u=[];++h<t;)l&&l[h].run();h=-1,t=u.length}l=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)t[o-1]=arguments[o];u.push(new p(e,t)),1!==u.length||c||a(g)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,o){"use strict";var n=o(520),i=o(121);e.exports=n.createVSCodeApi(i.Services.get)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("telemetryService")},function(e,t,o){"use strict";o.d(t,"e",(function(){return v})),o.d(t,"a",(function(){return b})),o.d(t,"b",(function(){return E})),o.d(t,"c",(function(){return N})),o.d(t,"d",(function(){return B}));var n=o(8),i=o(79);function r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,o){for(var n=0,i=e.length;n<i;n++){var r=e[n](t,o);if(r)return r}return null}}var s=function(e,t,o){if(!o||o.length<t.length)return null;var i;i=e?n.startsWithIgnoreCase(o,t):0===o.indexOf(t);if(!i)return null;return t.length>0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function l(e){return 65<=e&&e<=90}function u(e){return 48<=e&&e<=57}function c(e){return 32===e||9===e||10===e||13===e}function h(e){return a(e)||l(e)||u(e)}function d(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function g(e,t){for(var o=t;o<e.length;o++){var n=e.charCodeAt(o);if(l(n)||u(n)||o>0&&!h(e.charCodeAt(o-1)))return o}return e.length}function p(e,t,o,n){if(o===e.length)return[];if(n===t.length)return null;if(e[o]!==t[n].toLowerCase())return null;var i=null,r=n+1;for(i=p(e,t,o+1,n+1);!i&&(r=g(t,r))<t.length;)i=p(e,t,o+1,r),r++;return null===i?null:d({start:n,end:n+1},i)}function f(e,t){if(!t)return null;if(0===(t=t.trim()).length)return null;if(!function(e){for(var t=0,o=0,n=0,i=0,r=0;r<e.length;r++)l(n=e.charCodeAt(r))&&t++,a(n)&&o++,c(n)&&i++;return 0!==t&&0!==o||0!==i?t<=5:e.length<=30}(e))return null;if(t.length>60)return null;var o=function(e){for(var t=0,o=0,n=0,i=0,r=0,s=0;s<e.length;s++)l(r=e.charCodeAt(s))&&t++,a(r)&&o++,h(r)&&n++,u(r)&&i++;return{upperPercent:t/e.length,lowerPercent:o/e.length,alphaPercent:n/e.length,numericPercent:i/e.length}}(t);if(!function(e){var t=e.upperPercent,o=e.lowerPercent,n=e.alphaPercent,i=e.numericPercent;return o>.2&&t<.8&&n>.6&&i<.2}(o)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(o))return null;t=t.toLowerCase()}var n=null,i=0;for(e=e.toLowerCase();i<t.length&&null===(n=p(e,t,0,i));)i=g(t,i+1);return n}var m=r(s,f,(function(e,t){var o=t.toLowerCase().indexOf(e.toLowerCase());return-1===o?null:[{start:o,end:o+e.length}]})),_=r(s,f,(function(e,t){return function e(t,o,n,i){if(n===t.length)return[];if(i===o.length)return null;if(t[n]===o[i]){var r;return(r=e(t,o,n+1,i+1))?d({start:i,end:i+1},r):null}return e(t,o,n,i+1)}(e.toLowerCase(),t.toLowerCase(),0,0)})),y=new i.a(1e4);function v(e,t,o){if(void 0===o&&(o=!1),"string"!=typeof e||"string"!=typeof t)return null;var i=y.get(e);i||(i=new RegExp(n.convertSimple2RegExpPattern(e),"i"),y.set(e,i));var r=i.exec(t);return r?[{start:r.index,end:r.index+r[0].length}]:o?_(e,t):m(e,t)}function b(e,t,o){e=e.toLowerCase(),t=t.toLowerCase();for(var n=[],i=0,r=0;r<e.length;++r){var s=t.indexOf(e.charAt(r),i);s>=0&&(n.push(s),i=s+1)}return[n.length,n]}function E(e){var t,o=[];if(!e)return o;for(var n=0,i=e;n<i.length;n++){var r=i[n];t&&t.end===r?t.end+=1:(t={start:r,end:r+1},o.push(t))}return o}function C(){for(var e=[],t=[0],o=1;o<=100;o++)t.push(-o);for(o=0;o<=100;o++){var n=t.slice(0);n[0]=-o,e.push(n)}return e}var S=C(),T=C(),w=C(),k=!1;function O(e,t,o,n,i){function r(e,t,o){for(void 0===o&&(o=" ");e.length<t;)e=o+e;return e}for(var s=" |   |"+n.split("").map((function(e){return r(e,3)})).join("|")+"\n",a=0;a<=o;a++)s+=0===a?" |":t[a-1]+"|",s+=e[a].slice(0,i+1).map((function(e){return r(e.toString(),3)})).join("|")+"\n";return s}function R(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:return!0;default:return!1}}function L(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function N(e,t,o,n){var i=e.length>100?100:e.length,r=t.length>100?100:t.length,s=0;for(void 0===o&&(o=i);s<o&&L(e,s);)s+=1;if(s===i)return[-100,[]];if(!(i>r)){for(var a=e.toLowerCase(),l=t.toLowerCase(),u=s,c=0;u<i&&c<r;)a[u]===l[c]&&(u+=1),c+=1;if(u===i){for(u=s+1;u<=i;u++)for(c=1;c<=r;c++){var h=-1,d=l[c-1];a[u-1]===d&&(h=c===u-s?e[u-1]===t[c-1]?7:5:d===t[c-1]||1!==c&&l[c-2]!==t[c-2]?R(l,c-2)||L(l,c-2)?5:1:e[u-1]===t[c-1]?7:5),T[u][c]=h;var g=S[u-1][c-1]+(h>1?1:h),p=S[u-1][c]+-1,f=S[u][c-1]+-1;f>=p?f>g?(S[u][c]=f,w[u][c]=4):f===g?(S[u][c]=f,w[u][c]=6):(S[u][c]=g,w[u][c]=2):p>g?(S[u][c]=p,w[u][c]=1):p===g?(S[u][c]=p,w[u][c]=3):(S[u][c]=g,w[u][c]=2)}if(k&&(console.log(O(S,e,i,t,r)),console.log(O(w,e,i,t,r)),console.log(O(T,e,i,t,r))),D=0,A=-100,P=s,x=n,function e(t,o,n,i,r){if(D>=10||n<-25)return;var s=0;for(;t>P&&o>0;){var a=T[t][o],l=w[t][o];if(4===l)o-=1,r?n-=5:i.isEmpty()||(n-=1),r=!1,s=0;else{if(!(2&l))return;if(4&l&&e(t,o-1,i.isEmpty()?n:n-1,i.slice(),r),n+=a,t-=1,o-=1,i.unshift(o),r=!0,1===a){if(s+=1,t===P&&!x)return}else n+=1+s*(a-1),s=0}}n-=o>=3?9:3*o;D+=1;n>A&&(A=n,I=i)}(i,r,i===r?1:0,new M,!1),0!==D)return[A,I.toArray()]}}}var I,D=0,A=0,P=0,x=!1;var M=function(){function e(){}return e.prototype.isEmpty=function(){return!this._data&&(!this._parent||this._parent.isEmpty())},e.prototype.unshift=function(e){this._data?this._data.unshift(e):this._data=[e]},e.prototype.slice=function(){var t=new e;return t._parent=this,t._parentLen=this._data?this._data.length:0,t},e.prototype.toArray=function(){if(!this._data)return this._parent.toArray();for(var e=[],t=this;t;)t._parent&&t._parent._data&&e.push(t._parent._data.slice(t._parent._data.length-t._parentLen)),t=t._parent;return Array.prototype.concat.apply(this._data,e)},e}();function B(e,t,o){return function(e,t,o,n){var i=N(e,t,n);if(i&&!o)return i;if(e.length>=3)for(var r=Math.min(7,e.length-1),s=1;s<r;s++){var a=F(e,s);if(a){var l=N(a,t,n);l&&(l[0]-=3,(!i||l[0]>i[0])&&(i=l))}}return i}(e,t,!0,o)}function F(e,t){if(!(t+1>=e.length)){var o=e[t],n=e[t+1];if(o!==n)return e.slice(0,t)+n+o+e.slice(t+2)}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"b",(function(){return a})),o.d(t,"c",(function(){return l}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){var t={next:function(){return{done:!0,value:void 0}}};function o(e,t){for(var o=e.next();!o.done;o=e.next())t(o.value)}e.empty=function(){return t},e.iterate=function(e,t,o){return void 0===t&&(t=0),void 0===o&&(o=e.length),{next:function(){return t>=o?{done:!0,value:void 0}:{done:!1,value:e[t++]}}}},e.map=function(e,t){return{next:function(){var o=e.next(),n=o.done,i=o.value;return{done:n,value:n?void 0:t(i)}}}},e.filter=function(e,t){return{next:function(){for(;;){var o=e.next(),n=o.done,i=o.value;if(n)return{done:n,value:void 0};if(t(i))return{done:n,value:i}}}}},e.forEach=o,e.collect=function(e){var t=[];return o(e,(function(e){return t.push(e)})),t}}(i||(i={}));var s=function(){function e(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=e.length),void 0===n&&(n=t-1),this.items=e,this.start=t,this.end=o,this.index=n}return e.prototype.next=function(){return this.index=Math.min(this.index+1,this.end),this.current()},e.prototype.current=function(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]},e}(),a=function(e){function t(t,o,n,i){return void 0===o&&(o=0),void 0===n&&(n=t.length),void 0===i&&(i=o-1),e.call(this,t,o,n,i)||this}return r(t,e),t.prototype.current=function(){return e.prototype.current.call(this)},t.prototype.previous=function(){return this.index=Math.max(this.index-1,this.start-1),this.current()},t.prototype.first=function(){return this.index=this.start,this.current()},t.prototype.last=function(){return this.index=this.end-1,this.current()},t.prototype.parent=function(){return null},t}(s),l=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return v})),o.d(t,"b",(function(){return E}));o(468);var n,i,r=o(0),s=o(78),a=o(8),l=o(30),u=o(34),c=o(4),h=o(1),d=o(74),g=o(36),p=o(207),f=o(157),m=o(12),_=o(14),y=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function v(e){var t=e.get(g.a).getFocusedCodeEditor();return t instanceof f.a?t.getParentEditor():t}!function(e){e.inPeekEditor=new m.f("inReferenceSearchEditor",!0),e.notInPeekEditor=e.inPeekEditor.toNegated()}(i||(i={}));var b={headerBackgroundColor:_.a.white,primaryHeadingColor:_.a.fromHex("#333333"),secondaryHeadingColor:_.a.fromHex("#6c6c6cb3")},E=function(e){function t(t,o){void 0===o&&(o={});var n=e.call(this,t,o)||this;return n._onDidClose=new c.a,l.g(n.options,b,!1),n}return y(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._onDidClose.fire(this)},Object.defineProperty(t.prototype,"onDidClose",{get:function(){return this._onDidClose.event},enumerable:!0,configurable:!0}),t.prototype.style=function(t){var o=this.options;t.headerBackgroundColor&&(o.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(o.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(o.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=Object(u.a)(".head").getHTMLElement(),this._bodyElement=Object(u.a)(".body").getHTMLElement(),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,o=Object(u.a)(".peekview-title").on(h.d.CLICK,(function(e){return t._onTitleClick(e)})).appendTo(this._headElement).getHTMLElement();this._primaryHeading=Object(u.a)("span.filename").appendTo(o).getHTMLElement(),this._secondaryHeading=Object(u.a)("span.dirname").appendTo(o).getHTMLElement(),this._metaHeading=Object(u.a)("span.meta").appendTo(o).getHTMLElement();var n=Object(u.a)(".peekview-actions").appendTo(this._headElement),i=this._getActionBarOptions();this._actionbarWidget=new d.a(n.getHTMLElement(),i),this._disposables.push(this._actionbarWidget),this._actionbarWidget.push(new s.a("peekview.close",r.a("label.close","Close"),"close-peekview-action",!0,(function(){return t.dispose(),null})),{label:!1,icon:!0})},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){Object(u.a)(this._primaryHeading).safeInnerHtml(e),this._primaryHeading.setAttribute("aria-label",e),t?Object(u.a)(this._secondaryHeading).safeInnerHtml(t):h.l(this._secondaryHeading)},t.prototype.setMetaTitle=function(e){e?Object(u.a)(this._metaHeading).safeInnerHtml(e):h.l(this._metaHeading)},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var o=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),n=e-(o+2);this._doLayoutHead(o,t),this._doLayoutBody(n,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement.style.height=a.format("{0}px",e),this._headElement.style.lineHeight=this._headElement.style.height},t.prototype._doLayoutBody=function(e,t){this._bodyElement.style.height=a.format("{0}px",e)},t}(p.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"c",(function(){return _}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),s=function(){function e(){this.text("")}return e.isDigitCharacter=function(e){return e>=48&&e<=57},e.isVariableCharacter=function(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90},e.prototype.text=function(e){this.value=e,this.pos=0},e.prototype.tokenText=function(e){return this.value.substr(e.pos,e.len)},e.prototype.next=function(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};var t,o=this.pos,n=0,i=this.value.charCodeAt(o);if("number"==typeof(t=e._table[i]))return this.pos+=1,{type:t,pos:o,len:1};if(e.isDigitCharacter(i)){t=8;do{n+=1,i=this.value.charCodeAt(o+n)}while(e.isDigitCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}}if(e.isVariableCharacter(i)){t=9;do{i=this.value.charCodeAt(o+ ++n)}while(e.isVariableCharacter(i)||e.isDigitCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}}t=10;do{n+=1,i=this.value.charCodeAt(o+n)}while(!isNaN(i)&&void 0===e._table[i]&&!e.isDigitCharacter(i)&&!e.isVariableCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}},e._table=((i={})[36]=0,i[58]=1,i[44]=2,i[123]=3,i[125]=4,i[92]=5,i[47]=6,i[124]=7,i[43]=11,i[45]=12,i[63]=13,i),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof l&&this._children[this._children.length-1]instanceof l?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var o=e.parent,n=o.children.indexOf(e),i=o.children.slice(0);i.splice.apply(i,[n,1].concat(t)),o._children=i,t.forEach((function(e){return e.parent=o}))},Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snippet",{get:function(){for(var e=this;;){if(!e)return;if(e instanceof m)return e;e=e.parent}},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.children.reduce((function(e,t){return e+t.toString()}),"")},e.prototype.len=function(){return 0},e}(),l=function(e){function t(t){var o=e.call(this)||this;return o.value=t,o}return r(t,e),t.prototype.toString=function(){return this.value},t.prototype.len=function(){return this.value.length},t.prototype.clone=function(){return new t(this.value)},t}(a),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(a),c=function(e){function t(t){var o=e.call(this)||this;return o.index=t,o}return r(t,e),t.compareByIndex=function(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop?-1:e.index<t.index?-1:e.index>t.index?1:0},Object.defineProperty(t.prototype,"isFinalTabstop",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"choice",{get:function(){return 1===this._children.length&&this._children[0]instanceof h?this._children[0]:void 0},enumerable:!0,configurable:!0}),t.prototype.clone=function(){var e=new t(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((function(e){return e.clone()})),e},t}(u),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return r(t,e),t.prototype.appendChild=function(e){return e instanceof l&&(e.parent=this,this.options.push(e)),this},t.prototype.toString=function(){return this.options[0].value},t.prototype.len=function(){return this.options[0].len()},t.prototype.clone=function(){var e=new t;return this.options.forEach(e.appendChild,e),e},t}(a),d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.resolve=function(e){var t=this;return e.replace(this.regexp,(function(){for(var e="",o=0,n=t._children;o<n.length;o++){var i=n[o];if(i instanceof g){var r=arguments.length-2>i.index?arguments[i.index]:"";e+=r=i.resolve(r)}else e+=i.toString()}return e}))},t.prototype.toString=function(){return""},t.prototype.clone=function(){var e=new t;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((function(e){return e.clone()})),e},t}(a),g=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r.index=t,r.shorthandName=o,r.ifValue=n,r.elseValue=i,r}return r(t,e),t.prototype.resolve=function(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue},t.prototype.clone=function(){return new t(this.index,this.shorthandName,this.ifValue,this.elseValue)},t}(a),p=function(e){function t(t){var o=e.call(this)||this;return o.name=t,o}return r(t,e),t.prototype.resolve=function(e){var t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new l(t)],!0)},t.prototype.clone=function(){var e=new t(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((function(e){return e.clone()})),e},t}(u);function f(e,t){for(var o=e.slice();o.length>0;){var n=o.shift();if(!t(n))break;o.unshift.apply(o,n.children)}}var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk((function(o){return o instanceof c&&(t.push(o),e=!e||e.index<o.index?o:e),!0})),this._placeholders={all:t,last:e}}return this._placeholders},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"placeholders",{get:function(){return this.placeholderInfo.all},enumerable:!0,configurable:!0}),t.prototype.offset=function(e){var t=0,o=!1;return this.walk((function(n){return n===e?(o=!0,!1):(t+=n.len(),!0)})),o?t:-1},t.prototype.fullLen=function(e){var t=0;return f([e],(function(e){return t+=e.len(),!0})),t},t.prototype.enclosingPlaceholders=function(e){for(var t=[],o=e.parent;o;)o instanceof c&&t.push(o),o=o.parent;return t},t.prototype.resolveVariables=function(e){var t=this;return this.walk((function(o){return o instanceof p&&o.resolve(e)&&(t._placeholders=void 0),!0})),this},t.prototype.appendChild=function(t){return this._placeholders=void 0,e.prototype.appendChild.call(this,t)},t.prototype.replace=function(t,o){return this._placeholders=void 0,e.prototype.replace.call(this,t,o)},t.prototype.clone=function(){var e=new t;return this._children=this.children.map((function(e){return e.clone()})),e},t.prototype.walk=function(e){f(this.children,e)},t}(a),_=function(){function e(){this._scanner=new s}return e.escape=function(e){return e.replace(/\$|}|\\/g,"\\$&")},e.prototype.parse=function(e,t,o){this._scanner.text(e),this._token=this._scanner.next();for(var n=new m;this._parse(n););var i=new Map,r=[],s=0;n.walk((function(e){return e instanceof c&&(s+=1,e.isFinalTabstop?i.set(0,void 0):!i.has(e.index)&&e.children.length>0?i.set(e.index,e.children):r.push(e)),!0}));for(var a=0,l=r;a<l.length;a++){var u=l[a];if(i.has(u.index)){var h=new c(u.index);h.transform=u.transform;for(var d=0,g=i.get(u.index);d<g.length;d++){var p=g[d];h.appendChild(p.clone())}n.replace(u,[h])}}return o||(o=s>0&&t),!i.has(0)&&o&&n.appendChild(new c(0)),n},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var o=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),o}return!1},e.prototype._backTo=function(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1},e.prototype._until=function(e){if(14===this._token.type)return!1;for(var t=this._token;this._token.type!==e;)if(this._token=this._scanner.next(),14===this._token.type)return!1;var o=this._scanner.value.substring(t.pos,this._token.pos);return this._token=this._scanner.next(),o},e.prototype._parse=function(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)},e.prototype._parseEscaped=function(e){var t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new l(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,o=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new c(Number(t)):new p(t)),!0):this._backTo(o)},e.prototype._parseComplexPlaceholder=function(e){var t,o=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(o);var n=new c(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new l("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else{if(!(n.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(o),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(o);for(var i=new h;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(i),this._accept(4)))return e.appendChild(n),!0}return this._backTo(o),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,o=[];2!==this._token.type&&7!==this._token.type;){var n=void 0;if(!(n=(n=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||n:this._accept(void 0,!0)))return this._backTo(t),!1;o.push(n)}return 0===o.length?(this._backTo(t),!1):(e.appendChild(new l(o.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,o=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(o);var n=new p(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(o),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(o);for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new l("${"+t+":")),n.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new d,o="",n="";!this._accept(6);){var i=void 0;if(i=this._accept(5,!0))o+=i=this._accept(6,!0)||i;else{if(14===this._token.type)return!1;o+=this._accept(void 0,!0)}}for(;!this._accept(6);){i=void 0;if(i=this._accept(5,!0))i=this._accept(6,!0)||i,t.appendChild(new l(i));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{t.regexp=new RegExp(o,n)}catch(e){return!1}return e.transform=t,!0},e.prototype._parseFormatString=function(e){var t=this._token;if(!this._accept(0))return!1;var o=!1;this._accept(3)&&(o=!0);var n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!o)return e.appendChild(new g(Number(n))),!0;if(this._accept(4))return e.appendChild(new g(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new g(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(r=this._until(4))return e.appendChild(new g(Number(n),void 0,r,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){var r;if(r=this._until(1))if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,r,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new l(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},function(e,t,o){"use strict";(function(e,n){
+function(e){if(Number(e.version.split(".")[0])>=2)e.mixin({beforeCreate:o});else{var t=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[o].concat(e.init):o,t.call(this,e)}}function o(){var e=this.$options;e.store?this.$store="function"==typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}(l=e)}c.state.get=function(){return this._vm._data.$$state},c.state.set=function(e){0},u.prototype.commit=function(e,t,o){var n=this,i=m(e,t,o),r=i.type,s=i.payload,a=(i.options,{type:r,payload:s}),l=this._mutations[r];l&&(this._withCommit((function(){l.forEach((function(e){e(s)}))})),this._subscribers.forEach((function(e){return e(a,n.state)})))},u.prototype.dispatch=function(e,t){var o=this,n=m(e,t),i=n.type,r=n.payload,s={type:i,payload:r},a=this._actions[i];if(a){try{this._actionSubscribers.filter((function(e){return e.before})).forEach((function(e){return e.before(s,o.state)}))}catch(e){0}return(a.length>1?Promise.all(a.map((function(e){return e(r)}))):a[0](r)).then((function(e){try{o._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(s,o.state)}))}catch(e){0}return e}))}},u.prototype.subscribe=function(e){return h(e,this._subscribers)},u.prototype.subscribeAction=function(e){return h("function"==typeof e?{before:e}:e,this._actionSubscribers)},u.prototype.watch=function(e,t,o){var n=this;return this._watcherVM.$watch((function(){return e(n.state,n.getters)}),t,o)},u.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._vm._data.$$state=e}))},u.prototype.registerModule=function(e,t,o){void 0===o&&(o={}),"string"==typeof e&&(e=[e]),this._modules.register(e,t),p(this,this.state,e,this._modules.get(e),o.preserveState),g(this,this.state)},u.prototype.unregisterModule=function(e){var t=this;"string"==typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var o=f(t.state,e.slice(0,-1));l.delete(o,e[e.length-1])})),d(this)},u.prototype.hotUpdate=function(e){this._modules.update(e),d(this,!0)},u.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(u.prototype,c);var y=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){var t=this.$store.state,o=this.$store.getters;if(e){var n=T(this.$store,"mapState",e);if(!n)return;t=n.context.state,o=n.context.getters}return"function"==typeof i?i.call(this,t,o):t[i]},o[n].vuex=!0})),o})),v=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){for(var t=[],o=arguments.length;o--;)t[o]=arguments[o];var n=this.$store.commit;if(e){var r=T(this.$store,"mapMutations",e);if(!r)return;n=r.context.commit}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}})),o})),b=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;i=e+i,o[n]=function(){if(!e||T(this.$store,"mapGetters",e))return this.$store.getters[i]},o[n].vuex=!0})),o})),E=S((function(e,t){var o={};return C(t).forEach((function(t){var n=t.key,i=t.val;o[n]=function(){for(var t=[],o=arguments.length;o--;)t[o]=arguments[o];var n=this.$store.dispatch;if(e){var r=T(this.$store,"mapActions",e);if(!r)return;n=r.context.dispatch}return"function"==typeof i?i.apply(this,[n].concat(t)):n.apply(this.$store,[i].concat(t))}})),o}));function C(e){return Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}}))}function S(e){return function(t,o){return"string"!=typeof t?(o=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,o)}}function T(e,t,o){return e._modulesNamespaceMap[o]}var w={Store:u,install:_,version:"3.1.1",mapState:y,mapMutations:v,mapGetters:b,mapActions:E,createNamespacedHelpers:function(e){return{mapState:y.bind(null,e),mapGetters:b.bind(null,e),mapMutations:v.bind(null,e),mapActions:E.bind(null,e)}}};t.a=w}).call(this,o(80))},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return u}));var n,i=o(25),r=o(6),s=o(1),a=o(94),l=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};!function(e){e.Tap="-monaco-gesturetap",e.Change="-monaco-gesturechange",e.Start="-monaco-gesturestart",e.End="-monaco-gesturesend",e.Contextmenu="-monaco-gesturecontextmenu"}(n||(n={}));var u=function(){function e(){var e=this;this.toDispose=[],this.activeTouches={},this.handle=null,this.targets=[],this.toDispose.push(s.g(document,"touchstart",(function(t){return e.onTouchStart(t)}))),this.toDispose.push(s.g(document,"touchend",(function(t){return e.onTouchEnd(t)}))),this.toDispose.push(s.g(document,"touchmove",(function(t){return e.onTouchMove(t)})))}return e.addTarget=function(t){e.isTouchDevice()&&(e.INSTANCE||(e.INSTANCE=new e),e.INSTANCE.targets.push(t))},e.isTouchDevice=function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||window.navigator.msMaxTouchPoints>0},e.prototype.dispose=function(){this.handle&&(this.handle.dispose(),Object(r.d)(this.toDispose),this.handle=null)},e.prototype.onTouchStart=function(e){var t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(var o=0,i=e.targetTouches.length;o<i;o++){var r=e.targetTouches.item(o);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};var s=this.newGestureEvent(n.Start,r.target);s.pageX=r.pageX,s.pageY=r.pageY,this.dispatchEvent(s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.prototype.onTouchEnd=function(t){for(var o=Date.now(),r=Object.keys(this.activeTouches).length,s=function(s,l){var u=t.changedTouches.item(s);if(!a.activeTouches.hasOwnProperty(String(u.identifier)))return console.warn("move of an UNKNOWN touch",u),"continue";var c=a.activeTouches[u.identifier],h=Date.now()-c.initialTimeStamp;if(h<e.HOLD_DELAY&&Math.abs(c.initialPageX-i.n(c.rollingPageX))<30&&Math.abs(c.initialPageY-i.n(c.rollingPageY))<30)(d=a.newGestureEvent(n.Tap,c.initialTarget)).pageX=i.n(c.rollingPageX),d.pageY=i.n(c.rollingPageY),a.dispatchEvent(d);else if(h>=e.HOLD_DELAY&&Math.abs(c.initialPageX-i.n(c.rollingPageX))<30&&Math.abs(c.initialPageY-i.n(c.rollingPageY))<30){var d;(d=a.newGestureEvent(n.Contextmenu,c.initialTarget)).pageX=i.n(c.rollingPageX),d.pageY=i.n(c.rollingPageY),a.dispatchEvent(d)}else if(1===r){var g=i.n(c.rollingPageX),p=i.n(c.rollingPageY),f=i.n(c.rollingTimestamps)-c.rollingTimestamps[0],m=g-c.rollingPageX[0],_=p-c.rollingPageY[0],y=a.targets.filter((function(e){return c.initialTarget instanceof Node&&e.contains(c.initialTarget)}));a.inertia(y,o,Math.abs(m)/f,m>0?1:-1,g,Math.abs(_)/f,_>0?1:-1,p)}a.dispatchEvent(a.newGestureEvent(n.End,c.initialTarget)),delete a.activeTouches[u.identifier]},a=this,l=0,u=t.changedTouches.length;l<u;l++)s(l);this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)},e.prototype.newGestureEvent=function(e,t){var o=document.createEvent("CustomEvent");return o.initEvent(e,!1,!0),o.initialTarget=t,o},e.prototype.dispatchEvent=function(e){var t=this;this.targets.forEach((function(o){e.initialTarget instanceof Node&&o.contains(e.initialTarget)&&(o.dispatchEvent(e),t.dispatched=!0)}))},e.prototype.inertia=function(t,o,i,r,a,l,u,c){var h=this;this.handle=s.L((function(){var s=Date.now(),d=s-o,g=0,p=0,f=!0;i+=e.SCROLL_FRICTION*d,l+=e.SCROLL_FRICTION*d,i>0&&(f=!1,g=r*i*d),l>0&&(f=!1,p=u*l*d);var m=h.newGestureEvent(n.Change);m.translationX=g,m.translationY=p,t.forEach((function(e){return e.dispatchEvent(m)})),f||h.inertia(t,s,i,r,a+g,l,u,c+p)}))},e.prototype.onTouchMove=function(e){for(var t=Date.now(),o=0,r=e.changedTouches.length;o<r;o++){var s=e.changedTouches.item(o);if(this.activeTouches.hasOwnProperty(String(s.identifier))){var a=this.activeTouches[s.identifier],l=this.newGestureEvent(n.Change,a.initialTarget);l.translationX=s.pageX-i.n(a.rollingPageX),l.translationY=s.pageY-i.n(a.rollingPageY),l.pageX=s.pageX,l.pageY=s.pageY,this.dispatchEvent(l),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(s.pageX),a.rollingPageY.push(s.pageY),a.rollingTimestamps.push(t)}else console.warn("end of an UNKNOWN touch",s)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)},e.SCROLL_FRICTION=-.005,e.HOLD_DELAY=700,l([a.a],e,"isTouchDevice",null),e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return c})),o.d(t,"a",(function(){return n}));var n,i=o(20),r=o(9),s=o(2),a=o(63),l=o(107),u=o(21),c=function(){function e(){}return e.addCursorDown=function(e,t,o){for(var n=[],r=0,s=0,l=t.length;s<l;s++){var u=t[s];n[r++]=new i.d(u.modelState,u.viewState),n[r++]=o?i.d.fromModelState(a.a.translateDown(e.config,e.model,u.modelState)):i.d.fromViewState(a.a.translateDown(e.config,e.viewModel,u.viewState))}return n},e.addCursorUp=function(e,t,o){for(var n=[],r=0,s=0,l=t.length;s<l;s++){var u=t[s];n[r++]=new i.d(u.modelState,u.viewState),n[r++]=o?i.d.fromModelState(a.a.translateUp(e.config,e.model,u.modelState)):i.d.fromViewState(a.a.translateUp(e.config,e.viewModel,u.viewState))}return n},e.moveToBeginningOfLine=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i];n[i]=this._moveToLineStart(e,s,o)}return n},e._moveToLineStart=function(e,t,o){var n=t.viewState.position.column,i=n===t.modelState.position.column,r=t.viewState.position.lineNumber,s=e.viewModel.getLineFirstNonWhitespaceColumn(r);return i||n===s?this._moveToLineStartByModel(e,t,o):this._moveToLineStartByView(e,t,o)},e._moveToLineStartByView=function(e,t,o){return i.d.fromViewState(a.a.moveToBeginningOfLine(e.config,e.viewModel,t.viewState,o))},e._moveToLineStartByModel=function(e,t,o){return i.d.fromModelState(a.a.moveToBeginningOfLine(e.config,e.model,t.modelState,o))},e.moveToEndOfLine=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i];n[i]=this._moveToLineEnd(e,s,o)}return n},e._moveToLineEnd=function(e,t,o){var n=t.viewState.position,i=e.viewModel.getLineMaxColumn(n.lineNumber),r=n.column===i,s=t.modelState.position,a=e.model.getLineMaxColumn(s.lineNumber),l=i-n.column==a-s.column;return r||l?this._moveToLineEndByModel(e,t,o):this._moveToLineEndByView(e,t,o)},e._moveToLineEndByView=function(e,t,o){return i.d.fromViewState(a.a.moveToEndOfLine(e.config,e.viewModel,t.viewState,o))},e._moveToLineEndByModel=function(e,t,o){return i.d.fromModelState(a.a.moveToEndOfLine(e.config,e.model,t.modelState,o))},e.expandLineSelection=function(e,t){for(var o=[],n=0,a=t.length;n<a;n++){var l=t[n].viewState.selection,u=l.startLineNumber,c=e.viewModel.getLineCount(),h=l.endLineNumber,d=void 0;h===c?d=e.viewModel.getLineMaxColumn(c):(h++,d=1),o[n]=i.d.fromViewState(new i.f(new s.a(u,1,u,1),0,new r.a(h,d),0))}return o},e.moveToBeginningOfBuffer=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r];n[r]=i.d.fromModelState(a.a.moveToBeginningOfBuffer(e.config,e.model,l.modelState,o))}return n},e.moveToEndOfBuffer=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r];n[r]=i.d.fromModelState(a.a.moveToEndOfBuffer(e.config,e.model,l.modelState,o))}return n},e.selectAll=function(e,t){var o=e.model.getLineCount(),n=e.model.getLineMaxColumn(o);return i.d.fromModelState(new i.f(new s.a(1,1,1,1),0,new r.a(o,n),0))},e.line=function(e,t,o,n,a){var l=e.model.validatePosition(n),u=a?e.validateViewPosition(new r.a(a.lineNumber,a.column),l):e.convertModelPositionToViewPosition(l);if(!o||!t.modelState.hasSelection()){var c=e.model.getLineCount(),h=l.lineNumber+1,d=1;return h>c&&(h=c,d=e.model.getLineMaxColumn(h)),i.d.fromModelState(new i.f(new s.a(l.lineNumber,1,h,d),0,new r.a(h,d),0))}var g=t.modelState.selectionStart.getStartPosition().lineNumber;if(l.lineNumber<g)return i.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),u.lineNumber,1,0));if(l.lineNumber>g){c=e.viewModel.getLineCount();var p=u.lineNumber+1,f=1;return p>c&&(p=c,f=e.viewModel.getLineMaxColumn(p)),i.d.fromViewState(t.viewState.move(t.modelState.hasSelection(),p,f,0))}var m=t.modelState.selectionStart.getEndPosition();return i.d.fromModelState(t.modelState.move(t.modelState.hasSelection(),m.lineNumber,m.column,0))},e.word=function(e,t,o,n){var r=e.model.validatePosition(n);return i.d.fromModelState(l.a.word(e.config,e.model,t.modelState,o,r))},e.cancelSelection=function(e,t){if(!t.modelState.hasSelection())return new i.d(t.modelState,t.viewState);var o=t.viewState.position.lineNumber,n=t.viewState.position.column;return i.d.fromViewState(new i.f(new s.a(o,n,o,n),0,new r.a(o,n),0))},e.moveTo=function(e,t,o,n,s){var a=e.model.validatePosition(n),l=s?e.validateViewPosition(new r.a(s.lineNumber,s.column),a):e.convertModelPositionToViewPosition(a);return i.d.fromViewState(t.viewState.move(o,l.lineNumber,l.column,0))},e.move=function(e,t,o){var n=o.select,i=o.value;switch(o.direction){case 0:return 4===o.unit?this._moveHalfLineLeft(e,t,n):this._moveLeft(e,t,n,i);case 1:return 4===o.unit?this._moveHalfLineRight(e,t,n):this._moveRight(e,t,n,i);case 2:return 2===o.unit?this._moveUpByViewLines(e,t,n,i):this._moveUpByModelLines(e,t,n,i);case 3:return 2===o.unit?this._moveDownByViewLines(e,t,n,i):this._moveDownByModelLines(e,t,n,i);case 4:return this._moveToViewMinColumn(e,t,n);case 5:return this._moveToViewFirstNonWhitespaceColumn(e,t,n);case 6:return this._moveToViewCenterColumn(e,t,n);case 7:return this._moveToViewMaxColumn(e,t,n);case 8:return this._moveToViewLastNonWhitespaceColumn(e,t,n);case 9:var r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._firstLineNumberInRange(e.model,s,i),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 11:r=t[0],s=e.getCompletelyVisibleModelRange(),a=this._lastLineNumberInRange(e.model,s,i),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 10:r=t[0],s=e.getCompletelyVisibleModelRange(),a=Math.round((s.startLineNumber+s.endLineNumber)/2),l=e.model.getLineFirstNonWhitespaceColumn(a);return[this._moveToModelPosition(e,r,n,a,l)];case 12:for(var u=e.getCompletelyVisibleViewRange(),c=[],h=0,d=t.length;h<d;h++){r=t[h];c[h]=this.findPositionInViewportIfOutside(e,r,u,n)}return c}return null},e.findPositionInViewportIfOutside=function(e,t,o,n){var r=t.viewState.position.lineNumber;if(o.startLineNumber<=r&&r<=o.endLineNumber-1)return new i.d(t.modelState,t.viewState);r>o.endLineNumber-1&&(r=o.endLineNumber-1),r<o.startLineNumber&&(r=o.startLineNumber);var s=e.viewModel.getLineFirstNonWhitespaceColumn(r);return this._moveToViewPosition(e,t,n,r,s)},e._firstLineNumberInRange=function(e,t,o){var n=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(n)&&n++,Math.min(t.endLineNumber,n+o-1)},e._lastLineNumberInRange=function(e,t,o){var n=t.startLineNumber;return t.startColumn!==e.getLineMinColumn(n)&&n++,Math.max(n,t.endLineNumber-o+1)},e._moveLeft=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s],c=a.a.moveLeft(e.config,e.viewModel,u.viewState,o,n);if(1===n&&c.position.lineNumber!==u.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(c.position).lineNumber===u.modelState.position.lineNumber&&(c=a.a.moveLeft(e.config,e.viewModel,c,o,1));r[s]=i.d.fromViewState(c)}return r},e._moveHalfLineLeft=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r],u=l.viewState.position.lineNumber,c=Math.round(e.viewModel.getLineContent(u).length/2);n[r]=i.d.fromViewState(a.a.moveLeft(e.config,e.viewModel,l.viewState,o,c))}return n},e._moveRight=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s],c=a.a.moveRight(e.config,e.viewModel,u.viewState,o,n);if(1===n&&c.position.lineNumber!==u.viewState.position.lineNumber)e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(c.position).lineNumber===u.modelState.position.lineNumber&&(c=a.a.moveRight(e.config,e.viewModel,c,o,1));r[s]=i.d.fromViewState(c)}return r},e._moveHalfLineRight=function(e,t,o){for(var n=[],r=0,s=t.length;r<s;r++){var l=t[r],u=l.viewState.position.lineNumber,c=Math.round(e.viewModel.getLineContent(u).length/2);n[r]=i.d.fromViewState(a.a.moveRight(e.config,e.viewModel,l.viewState,o,c))}return n},e._moveDownByViewLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromViewState(a.a.moveDown(e.config,e.viewModel,u.viewState,o,n))}return r},e._moveDownByModelLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromModelState(a.a.moveDown(e.config,e.model,u.modelState,o,n))}return r},e._moveUpByViewLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromViewState(a.a.moveUp(e.config,e.viewModel,u.viewState,o,n))}return r},e._moveUpByModelLines=function(e,t,o,n){for(var r=[],s=0,l=t.length;s<l;s++){var u=t[s];r[s]=i.d.fromModelState(a.a.moveUp(e.config,e.model,u.modelState,o,n))}return r},e._moveToViewPosition=function(e,t,o,n,r){return i.d.fromViewState(t.viewState.move(o,n,r,0))},e._moveToModelPosition=function(e,t,o,n,r){return i.d.fromModelState(t.modelState.move(o,n,r,0))},e._moveToViewMinColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineMinColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewFirstNonWhitespaceColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineFirstNonWhitespaceColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewCenterColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=Math.round((e.viewModel.getLineMaxColumn(a)+e.viewModel.getLineMinColumn(a))/2);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewMaxColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineMaxColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e._moveToViewLastNonWhitespaceColumn=function(e,t,o){for(var n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=s.viewState.position.lineNumber,l=e.viewModel.getLineLastNonWhitespaceColumn(a);n[i]=this._moveToViewPosition(e,s,o,a,l)}return n},e}();!function(e){e.description={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down'\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(e){if(!u.g(e))return!1;var t=e;return!!u.h(t.to)&&(!(!u.i(t.select)&&!u.c(t.select))&&(!(!u.i(t.by)&&!u.h(t.by))&&!(!u.i(t.value)&&!u.f(t.value))))}}]},e.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},e.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},e.parse=function(t){if(!t.to)return null;var o;switch(t.to){case e.RawDirection.Left:o=0;break;case e.RawDirection.Right:o=1;break;case e.RawDirection.Up:o=2;break;case e.RawDirection.Down:o=3;break;case e.RawDirection.WrappedLineStart:o=4;break;case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:o=5;break;case e.RawDirection.WrappedLineColumnCenter:o=6;break;case e.RawDirection.WrappedLineEnd:o=7;break;case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:o=8;break;case e.RawDirection.ViewPortTop:o=9;break;case e.RawDirection.ViewPortBottom:o=11;break;case e.RawDirection.ViewPortCenter:o=10;break;case e.RawDirection.ViewPortIfOutside:o=12;break;default:return null}var n=0;switch(t.by){case e.RawUnit.Line:n=1;break;case e.RawUnit.WrappedLine:n=2;break;case e.RawUnit.Character:n=3;break;case e.RawUnit.HalfLine:n=4}return{direction:o,unit:n,select:!!t.select,value:t.value||1}}}(n||(n={}))},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l})),o.d(t,"c",(function(){return c})),o.d(t,"d",(function(){return d}));var n=o(123),i=o(8),r=o(159),s=function(e,t){this.endIndex=e,this.type=t},a=function(){function e(e,t,o,n,i,r,s,a,l,u,c,h,d,g){this.useMonospaceOptimizations=e,this.lineContent=t,this.continuesWithWrappedLine=o,this.isBasicASCII=n,this.containsRTL=i,this.fauxIndentLength=r,this.lineTokens=s,this.lineDecorations=a,this.tabSize=l,this.spaceWidth=u,this.stopRenderingLineAfter=c,this.renderWhitespace="all"===h?2:"boundary"===h?1:0,this.renderControlCharacters=d,this.fontLigatures=g}return e.prototype.equals=function(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.spaceWidth===e.spaceWidth&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&n.a.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)},e}(),l=function(){function e(e,t){this.length=e,this._data=new Uint32Array(this.length),this._absoluteOffsets=new Uint32Array(this.length)}return e.getPartIndex=function(e){return(4294901760&e)>>>16},e.getCharIndex=function(e){return(65535&e)>>>0},e.prototype.setPartData=function(e,t,o,n){var i=(t<<16|o<<0)>>>0;this._data[e]=i,this._absoluteOffsets[e]=n+o},e.prototype.getAbsoluteOffsets=function(){return this._absoluteOffsets},e.prototype.charOffsetToPartData=function(e){return 0===this.length?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]},e.prototype.partDataToCharOffset=function(t,o,n){if(0===this.length)return 0;for(var i=(t<<16|n<<0)>>>0,r=0,s=this.length-1;r+1<s;){var a=r+s>>>1,l=this._data[a];if(l===i)return a;l>i?s=a:r=a}if(r===s)return r;var u=this._data[r],c=this._data[s];if(u===i)return r;if(c===i)return s;var h=e.getPartIndex(u);return n-e.getCharIndex(u)<=(h!==e.getPartIndex(c)?o:e.getCharIndex(c))-n?r:s},e}(),u=function(e,t,o){this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=o};function c(e,t){if(0===e.lineContent.length){var o=0,r="<span><span> </span></span>";if(e.lineDecorations.length>0){for(var a=[],c=0,h=e.lineDecorations.length;c<h;c++){var d=e.lineDecorations[c];1===d.type&&(a.push(e.lineDecorations[c].className),o|=1),2===d.type&&(a.push(e.lineDecorations[c].className),o|=2)}0!==o&&(r='<span><span class="'+a.join(" ")+'"></span></span>')}return t.appendASCIIString(r),new u(new l(0,0),!1,o)}return function(e,t){var o=e.fontIsMonospace,n=e.containsForeignElements,r=e.lineContent,s=e.len,a=e.isOverflowing,c=e.parts,h=e.tabSize,d=e.containsRTL,g=e.spaceWidth,p=e.renderWhitespace,f=e.renderControlCharacters,m=new l(s+1,c.length),_=0,y=0,v=0,b=0,E=0;t.appendASCIIString("<span>");for(var C=0,S=c.length;C<S;C++){E+=b;var T=c[C],w=T.endIndex,k=T.type,O=0!==p&&k.indexOf("vs-whitespace")>=0;if(v=0,t.appendASCIIString('<span class="'),t.appendASCIIString(k),t.appendASCII(34),O){for(var R=0,N=_,L=y;N<w;N++){if(9===(I=r.charCodeAt(N)))L+=(D=h-(N+L)%h)-1,R+=D;else R++}if(!o)!("vs-whitespace"===k)&&n||(t.appendASCIIString(' style="width:'),t.appendASCIIString(String(g*R)),t.appendASCIIString('px"'));for(t.appendASCII(62);_<w;_++){if(m.setPartData(_,C,v,E),9===(I=r.charCodeAt(_)))for(y+=(D=h-(_+y)%h)-1,v+=D-1,D>0&&(D>1?t.write1(8594):t.write1(65515),D--);D>0;)t.write1(160),D--;else t.write1(183);v++}b=R}else{R=0;for(d&&t.appendASCIIString(' dir="ltr"'),t.appendASCII(62);_<w;_++){var I;switch(m.setPartData(_,C,v,E),I=r.charCodeAt(_)){case 9:var D;for(y+=(D=h-(_+y)%h)-1,v+=D-1;D>0;)t.write1(160),R++,D--;break;case 32:t.write1(160),R++;break;case 60:t.appendASCIIString("&lt;"),R++;break;case 62:t.appendASCIIString("&gt;"),R++;break;case 38:t.appendASCIIString("&amp;"),R++;break;case 0:t.appendASCIIString("&#00;"),R++;break;case 65279:case 8232:t.write1(65533),R++;break;default:i.isFullWidthCharacter(I)&&y++,f&&I<32?(t.write1(9216+I),R++):(t.write1(I),R++)}v++}b=R}t.appendASCIIString("</span>")}m.setPartData(s,c.length-1,v,E),a&&t.appendASCIIString("<span>&hellip;</span>");return t.appendASCIIString("</span>"),new u(m,d,n)}(function(e){var t,o,r=e.useMonospaceOptimizations,a=e.lineContent;-1!==e.stopRenderingLineAfter&&e.stopRenderingLineAfter<a.length?(t=!0,o=e.stopRenderingLineAfter):(t=!1,o=a.length);var l=function(e,t,o){var n=[],i=0;t>0&&(n[i++]=new s(t,""));for(var r=0,a=e.getCount();r<a;r++){var l=e.getEndOffset(r);if(!(l<=t)){var u=e.getClassName(r);if(l>=o){n[i++]=new s(o,u);break}n[i++]=new s(l,u)}}return n}(e.lineTokens,e.fauxIndentLength,o);2!==e.renderWhitespace&&1!==e.renderWhitespace||(l=function(e,t,o,n,r,a,l,u){var c,h=[],d=0,g=0,p=n[g].type,f=n[g].endIndex,m=i.firstNonWhitespaceIndex(e);-1===m?(m=t,c=t):c=i.lastNonWhitespaceIndex(e);for(var _=0,y=0;y<r;y++){9===(b=e.charCodeAt(y))?_=a:i.isFullWidthCharacter(b)?_+=2:_++}_%=a;var v=!1;for(y=r;y<t;y++){var b=e.charCodeAt(y),E=void 0;if(y<m||y>c)E=!0;else if(9===b)E=!0;else if(32===b)if(u)if(v)E=!0;else{var C=y+1<t?e.charCodeAt(y+1):0;E=32===C||9===C}else E=!0;else E=!1;v?(!E||!l&&_>=a)&&(h[d++]=new s(y,"vs-whitespace"),_%=a):(y===f||E&&y>r)&&(h[d++]=new s(y,p),_%=a),9===b?_=a:i.isFullWidthCharacter(b)?_+=2:_++,v=E,y===f&&(p=n[++g].type,f=n[g].endIndex)}var S=!1;if(v)if(o&&u){var T=t>0?e.charCodeAt(t-1):0,w=t>1?e.charCodeAt(t-2):0;32===T&&32!==w&&9!==w||(S=!0)}else S=!0;return h[d++]=new s(t,S?"vs-whitespace":p),h}(a,o,e.continuesWithWrappedLine,l,e.fauxIndentLength,e.tabSize,r,1===e.renderWhitespace));var u=0;if(e.lineDecorations.length>0){for(var c=0,h=e.lineDecorations.length;c<h;c++){var d=e.lineDecorations[c];3===d.type?u|=1:1===d.type?u|=1:2===d.type&&(u|=2)}l=function(e,t,o,i){i.sort(n.a.compare);for(var r=n.b.normalize(e,i),a=r.length,l=0,u=[],c=0,h=0,d=0,g=o.length;d<g;d++){for(var p=o[d],f=p.endIndex,m=p.type;l<a&&r[l].startOffset<f;){var _=r[l];if(_.startOffset>h&&(h=_.startOffset,u[c++]=new s(h,m)),!(_.endOffset+1<=f)){h=f,u[c++]=new s(h,m+" "+_.className);break}h=_.endOffset+1,u[c++]=new s(h,m+" "+_.className),l++}f>h&&(h=f,u[c++]=new s(h,m))}var y=o[o.length-1].endIndex;if(l<a&&r[l].startOffset===y){for(var v=[];l<a&&r[l].startOffset===y;)v.push(r[l].className),l++;u[c++]=new s(h,v.join(" "))}return u}(a,0,l,e.lineDecorations)}e.isBasicASCII&&!e.fontLigatures&&(l=function(e,t){for(var o=0,n=[],i=0,r=0,a=t.length;r<a;r++){var l=t[r],u=l.endIndex,c=u-o;if(c>50){for(var h=l.type,d=Math.ceil(c/50),g=1;g<d;g++){var p=o+50*g;n[i++]=new s(p,h)}n[i++]=new s(u,h)}else n[i++]=l;o=u}return n}(0,l));return new g(r,a,o,t,l,u,e.tabSize,e.containsRTL,e.spaceWidth,e.renderWhitespace,e.renderControlCharacters)}(e),t)}var h=function(e,t,o,n){this.characterMapping=e,this.html=t,this.containsRTL=o,this.containsForeignElements=n};function d(e){var t=Object(r.a)(1e4),o=c(e,t);return new h(o.characterMapping,t.build(),o.containsRTL,o.containsForeignElements)}var g=function(e,t,o,n,i,r,s,a,l,u,c){this.fontIsMonospace=e,this.lineContent=t,this.len=o,this.isOverflowing=n,this.parts=i,this.containsForeignElements=r,this.tabSize=s,this.containsRTL=a,this.spaceWidth=l,this.renderWhitespace=u,this.renderControlCharacters=c}},function(e,t,o){"use strict";o.d(t,"c",(function(){return r})),o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return a})),o.d(t,"d",(function(){return l})),o.d(t,"e",(function(){return u}));var n=o(11),i=o(85),r=new(function(){function e(){}return e.prototype.clone=function(){return this},e.prototype.equals=function(e){return this===e},e}()),s="vs.editor.nullMode",a=new n.o(s,0);function l(e,t,o,n){return new i.b([new i.a(n,"",e)],o)}function u(e,t,o,n){var r=new Uint32Array(2);return r[0]=n,r[1]=(16384|e<<0|2<<23)>>>0,new i.c(r,o)}},function(e,t,o){"use strict";var n,i=o(4),r=o(6),s=o(15),a=o(24),l=o(131),u=o(132),c=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),h=function(e){function t(t,o){var n=e.call(this)||this;return n.referenceDomElement=t,n.changeCallback=o,n.measureReferenceDomElementToken=-1,n.width=-1,n.height=-1,n.measureReferenceDomElement(!1),n}return c(t,e),t.prototype.dispose=function(){this.stopObserving(),e.prototype.dispose.call(this)},t.prototype.getWidth=function(){return this.width},t.prototype.getHeight=function(){return this.height},t.prototype.startObserving=function(){var e=this;-1===this.measureReferenceDomElementToken&&(this.measureReferenceDomElementToken=setInterval((function(){return e.measureReferenceDomElement(!0)}),100))},t.prototype.stopObserving=function(){-1!==this.measureReferenceDomElementToken&&(clearInterval(this.measureReferenceDomElementToken),this.measureReferenceDomElementToken=-1)},t.prototype.observe=function(e){this.measureReferenceDomElement(!0,e)},t.prototype.measureReferenceDomElement=function(e,t){var o=0,n=0;t?(o=t.width,n=t.height):this.referenceDomElement&&(o=this.referenceDomElement.clientWidth,n=this.referenceDomElement.clientHeight),o=Math.max(5,o),n=Math.max(5,n),this.width===o&&this.height===n||(this.width=o,this.height=n,e&&this.changeCallback())},t}(r.a),d=function(){function e(e,t){this.chr=e,this.type=t,this.width=0}return e.prototype.fulfill=function(e){this.width=e},e}(),g=function(){function e(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}return e.prototype.read=function(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null},e.prototype._createDomElements=function(){var t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";var o=document.createElement("div");o.style.fontFamily=this._bareFontInfo.fontFamily,o.style.fontWeight=this._bareFontInfo.fontWeight,o.style.fontSize=this._bareFontInfo.fontSize+"px",o.style.lineHeight=this._bareFontInfo.lineHeight+"px",o.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(o);var n=document.createElement("div");n.style.fontFamily=this._bareFontInfo.fontFamily,n.style.fontWeight="bold",n.style.fontSize=this._bareFontInfo.fontSize+"px",n.style.lineHeight=this._bareFontInfo.lineHeight+"px",n.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",t.appendChild(n);var i=document.createElement("div");i.style.fontFamily=this._bareFontInfo.fontFamily,i.style.fontWeight=this._bareFontInfo.fontWeight,i.style.fontSize=this._bareFontInfo.fontSize+"px",i.style.lineHeight=this._bareFontInfo.lineHeight+"px",i.style.letterSpacing=this._bareFontInfo.letterSpacing+"px",i.style.fontStyle="italic",t.appendChild(i);for(var r=[],s=0,a=this._requests.length;s<a;s++){var l=this._requests[s],u=void 0;0===l.type&&(u=o),2===l.type&&(u=n),1===l.type&&(u=i),u.appendChild(document.createElement("br"));var c=document.createElement("span");e._render(c,l),u.appendChild(c),r[s]=c}this._container=t,this._testElements=r},e._render=function(e,t){if(" "===t.chr){for(var o="&nbsp;",n=0;n<8;n++)o+=o;e.innerHTML=o}else{var i=t.chr;for(n=0;n<8;n++)i+=i;e.textContent=i}},e.prototype._readFromDomElements=function(){for(var e=0,t=this._requests.length;e<t;e++){var o=this._requests[e],n=this._testElements[e];o.fulfill(n.offsetWidth/256)}},e}();o.d(t,"a",(function(){return _}));var p=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),f=function(){function e(){this._keys=Object.create(null),this._values=Object.create(null)}return e.prototype.has=function(e){var t=e.getId();return!!this._values[t]},e.prototype.get=function(e){var t=e.getId();return this._values[t]},e.prototype.put=function(e,t){var o=e.getId();this._keys[o]=e,this._values[o]=t},e.prototype.remove=function(e){var t=e.getId();delete this._keys[t],delete this._values[t]},e.prototype.getValues=function(){var e=this;return Object.keys(this._keys).map((function(t){return e._values[t]}))},e}(),m=function(e){function t(){var t=e.call(this)||this;return t._onDidChange=t._register(new i.a),t.onDidChange=t._onDidChange.event,t._cache=new f,t._evictUntrustedReadingsTimeout=-1,t}return p(t,e),t.prototype.dispose=function(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),e.prototype.dispose.call(this)},t.prototype._writeToCache=function(e,t){var o=this;this._cache.put(e,t),t.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=setTimeout((function(){o._evictUntrustedReadingsTimeout=-1,o._evictUntrustedReadings()}),5e3))},t.prototype._evictUntrustedReadings=function(){for(var e=this._cache.getValues(),t=!1,o=0,n=e.length;o<n;o++){var i=e[o];i.isTrusted||(t=!0,this._cache.remove(i))}t&&this._onDidChange.fire()},t.prototype.readConfiguration=function(e){if(!this._cache.has(e)){var o=t._actualReadConfiguration(e);(o.typicalHalfwidthCharacterWidth<=2||o.typicalFullwidthCharacterWidth<=2||o.spaceWidth<=2||o.maxDigitWidth<=2)&&(o=new u.b({zoomLevel:a.d(),fontFamily:o.fontFamily,fontWeight:o.fontWeight,fontSize:o.fontSize,lineHeight:o.lineHeight,letterSpacing:o.letterSpacing,isMonospace:o.isMonospace,typicalHalfwidthCharacterWidth:Math.max(o.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(o.typicalFullwidthCharacterWidth,5),spaceWidth:Math.max(o.spaceWidth,5),maxDigitWidth:Math.max(o.maxDigitWidth,5)},!1)),this._writeToCache(e,o)}return this._cache.get(e)},t.createRequest=function(e,t,o,n){var i=new d(e,t);return o.push(i),n&&n.push(i),i},t._actualReadConfiguration=function(e){var t=[],o=[],n=this.createRequest("n",0,t,o),i=this.createRequest("m",0,t,null),r=this.createRequest(" ",0,t,o),s=this.createRequest("0",0,t,o),l=this.createRequest("1",0,t,o),c=this.createRequest("2",0,t,o),h=this.createRequest("3",0,t,o),d=this.createRequest("4",0,t,o),p=this.createRequest("5",0,t,o),f=this.createRequest("6",0,t,o),m=this.createRequest("7",0,t,o),_=this.createRequest("8",0,t,o),y=this.createRequest("9",0,t,o);this.createRequest("→",0,t,o),this.createRequest("·",0,t,o),this.createRequest("|",0,t,o),this.createRequest("/",0,t,o),this.createRequest("-",0,t,o),this.createRequest("_",0,t,o),this.createRequest("i",0,t,o),this.createRequest("l",0,t,o),this.createRequest("m",0,t,o),this.createRequest("|",1,t,o),this.createRequest("_",1,t,o),this.createRequest("i",1,t,o),this.createRequest("l",1,t,o),this.createRequest("m",1,t,o),this.createRequest("n",1,t,o),this.createRequest("|",2,t,o),this.createRequest("_",2,t,o),this.createRequest("i",2,t,o),this.createRequest("l",2,t,o),this.createRequest("m",2,t,o),this.createRequest("n",2,t,o),function(e,t){new g(e,t).read()}(e,t);for(var v=Math.max(s.width,l.width,c.width,h.width,d.width,p.width,f.width,m.width,_.width,y.width),b=!0,E=o[0].width,C=1,S=o.length;C<S;C++){var T=E-o[C].width;if(T<-.001||T>.001){b=!1;break}}var w=a.c()>2e3;return new u.b({zoomLevel:a.d(),fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:b,typicalHalfwidthCharacterWidth:n.width,typicalFullwidthCharacterWidth:i.width,spaceWidth:r.width,maxDigitWidth:v},w)},t.INSTANCE=new t,t}(r.a),_=function(e){function t(t,o){void 0===o&&(o=null);var n=e.call(this,t)||this;return n._elementSizeObserver=n._register(new h(o,(function(){return n._onReferenceDomElementSizeChanged()}))),n._register(m.INSTANCE.onDidChange((function(){return n._onCSSBasedConfigurationChanged()}))),n._validatedOptions.automaticLayout&&n._elementSizeObserver.startObserving(),n._register(a.p((function(e){return n._recomputeOptions()}))),n._register(a.o((function(){return n._recomputeOptions()}))),n._recomputeOptions(),n}return p(t,e),t._massageFontFamily=function(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?'"'+e+'"':e},t.applyFontInfoSlow=function(e,o){e.style.fontFamily=t._massageFontFamily(o.fontFamily),e.style.fontWeight=o.fontWeight,e.style.fontSize=o.fontSize+"px",e.style.lineHeight=o.lineHeight+"px",e.style.letterSpacing=o.letterSpacing+"px"},t.applyFontInfo=function(e,o){e.setFontFamily(t._massageFontFamily(o.fontFamily)),e.setFontWeight(o.fontWeight),e.setFontSize(o.fontSize),e.setLineHeight(o.lineHeight),e.setLetterSpacing(o.letterSpacing)},t.prototype._onReferenceDomElementSizeChanged=function(){this._recomputeOptions()},t.prototype._onCSSBasedConfigurationChanged=function(){this._recomputeOptions()},t.prototype.observeReferenceElement=function(e){this._elementSizeObserver.observe(e)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getExtraEditorClassName=function(){var e="";return a.k?e+="ie ":a.j?e+="ff ":a.g?e+="edge ":a.m&&(e+="safari "),s.d&&(e+="mac "),e},t.prototype._getEnvConfiguration=function(){return{extraEditorClassName:this._getExtraEditorClassName(),outerWidth:this._elementSizeObserver.getWidth(),outerHeight:this._elementSizeObserver.getHeight(),emptySelectionClipboard:a.n||a.j,pixelRatio:a.b(),zoomLevel:a.d(),accessibilitySupport:a.a()}},t.prototype.readConfiguration=function(e){return m.INSTANCE.readConfiguration(e)},t}(l.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return a})),o.d(t,"d",(function(){return u}));var n=o(25),i=function(){function e(e){void 0===e&&(e=""),this.value=e}return e.prototype.appendText=function(e){return this.value+=e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&"),this},e.prototype.appendMarkdown=function(e){return this.value+=e,this},e.prototype.appendCodeblock=function(e,t){return this.value+="\n```",this.value+=e,this.value+="\n",this.value+=t,this.value+="\n```\n",this},e}();function r(e){return s(e)?!e.value:!Array.isArray(e)||e.every(r)}function s(e){return e instanceof i||!(!e||"object"!=typeof e)&&("string"==typeof e.value&&("boolean"==typeof e.isTrusted||void 0===e.isTrusted))}function a(e,t){return!e&&!t||!(!e||!t)&&(Array.isArray(e)&&Array.isArray(t)?Object(n.e)(e,t,l):!(!s(e)||!s(t))&&l(e,t))}function l(e,t){return e===t||!(!e||!t)&&(e.value===t.value&&e.isTrusted===t.isTrusted)}function u(e){return e?e.replace(/\\([\\`*_{}[\]()#+\-.!])/g,"$1"):e}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(9),r=o(2),s=o(52),a=o(20),l=o(35),u=o(67),c=o(3),h=function(){function e(){}return e._columnSelect=function(e,t,o,n,s,l){for(var u=Math.abs(s-o)+1,c=o>s,h=n>l,d=n<l,g=[],p=0;p<u;p++){var f=o+(c?-p:p),m=a.a.columnFromVisibleColumn2(e,t,f,n),_=a.a.columnFromVisibleColumn2(e,t,f,l),y=a.a.visibleColumnFromColumn2(e,t,new i.a(f,m)),v=a.a.visibleColumnFromColumn2(e,t,new i.a(f,_));if(d){if(y>l)continue;if(v<n)continue}if(h){if(v>n)continue;if(y<l)continue}g.push(new a.f(new r.a(f,m,f,m),0,new i.a(f,_),0))}return{viewStates:g,reversed:c,toLineNumber:s,toVisualColumn:l}},e.columnSelect=function(t,o,n,r,s){var l=new i.a(n.selectionStartLineNumber,n.selectionStartColumn),u=a.a.visibleColumnFromColumn2(t,o,l);return e._columnSelect(t,o,l.lineNumber,u,r,s)},e.columnSelectLeft=function(e,t,o,n,i){return i>1&&i--,this.columnSelect(e,t,o.selection,n,i)},e.columnSelectRight=function(e,t,o,n,r){for(var s=0,l=Math.min(o.position.lineNumber,n),u=Math.max(o.position.lineNumber,n),c=l;c<=u;c++){var h=t.getLineMaxColumn(c),d=a.a.visibleColumnFromColumn2(e,t,new i.a(c,h));s=Math.max(s,d)}return r<s&&r++,this.columnSelect(e,t,o.selection,n,r)},e.columnSelectUp=function(e,t,o,n,i,r){return(i-=n?e.pageSize:1)<1&&(i=1),this.columnSelect(e,t,o.selection,i,r)},e.columnSelectDown=function(e,t,o,n,i,r){return(i+=n?e.pageSize:1)>t.getLineCount()&&(i=t.getLineCount()),this.columnSelect(e,t,o.selection,i,r)},e}(),d=o(5),g=o(36),p=o(12),f=o(21),m=o(95),_=o(176),y=o(38);o.d(t,"CoreEditorCommand",(function(){return L})),o.d(t,"EditorScroll_",(function(){return b})),o.d(t,"RevealLine_",(function(){return C})),o.d(t,"CoreNavigationCommands",(function(){return T})),o.d(t,"CoreEditingCommands",(function(){return w}));var v,b,E,C,S,T,w,k,O=(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),R=s.b,N=0,L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors();n&&this.runCoreEditorCommand(n,o||{})},t}(c.c);function I(e){return e.get(g.a).getFocusedCodeEditor()}function D(e){e.register()}(E=b||(b={})).description={description:"Scroll editor in the given direction",args:[{name:"Editor scroll argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory direction value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'up', 'down'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'page', 'halfPage'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'revealCursor': If 'true' reveals the cursor if it is outside view port.\n\t\t\t\t",constraint:function(e){if(!f.g(e))return!1;var t=e;return!(!f.h(t.to)||!f.i(t.by)&&!f.h(t.by)||!f.i(t.value)&&!f.f(t.value)||!f.i(t.revealCursor)&&!f.c(t.revealCursor))}}]},E.RawDirection={Up:"up",Down:"down"},E.RawUnit={Line:"line",WrappedLine:"wrappedLine",Page:"page",HalfPage:"halfPage"},E.parse=function(e){var t,o;switch(e.to){case E.RawDirection.Up:t=1;break;case E.RawDirection.Down:t=2;break;default:return null}switch(e.by){case E.RawUnit.Line:o=1;break;case E.RawUnit.WrappedLine:o=2;break;case E.RawUnit.Page:o=3;break;case E.RawUnit.HalfPage:o=4;break;default:o=2}return{direction:t,unit:o,value:Math.floor(e.value||1),revealCursor:!!e.revealCursor,select:!!e.select}},(S=C||(C={})).description={description:"Reveal the given line at the given logical position",args:[{name:"Reveal line argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'lineNumber': A mandatory line number value.\n\t\t\t\t\t* 'at': Logical position at which line has to be revealed .\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'top', 'center', 'bottom'\n\t\t\t\t\t\t```\n\t\t\t\t",constraint:function(e){if(!f.g(e))return!1;var t=e;return!(!f.f(t.lineNumber)||!f.i(t.at)&&!f.h(t.at))}}]},S.RawAtArgument={Top:"top",Center:"center",Bottom:"bottom"},function(e){var t=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.moveTo(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!0,0,0)},t}(L);e.MoveTo=Object(c.g)(new t({id:"_moveTo",inSelectionMode:!1,precondition:null})),e.MoveToSelect=Object(c.g)(new t({id:"_moveToSelect",inSelectionMode:!0,precondition:null}));var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement();var o=this._getColumnSelectResult(e.context,e.getPrimaryCursor(),e.getColumnSelectData(),t);e.setStates(t.source,l.a.Explicit,o.viewStates.map((function(e){return a.d.fromViewState(e)}))),e.setColumnSelectData({toViewLineNumber:o.toLineNumber,toViewVisualColumn:o.toVisualColumn}),e.reveal(!0,o.reversed?1:2,0)},t}(L);e.ColumnSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"columnSelect",precondition:null})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){var r,s=e.model.validatePosition(n.position);return r=n.viewPosition?e.validateViewPosition(new i.a(n.viewPosition.lineNumber,n.viewPosition.column),s):e.convertModelPositionToViewPosition(s),h.columnSelect(e.config,e.viewModel,t.viewState.selection,r.lineNumber,n.mouseColumn-1)},t}(o))),e.CursorColumnSelectLeft=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectLeft",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3599,linux:{primary:0}}})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectLeft(e.config,e.viewModel,t.viewState,o.toViewLineNumber,o.toViewVisualColumn)},t}(o))),e.CursorColumnSelectRight=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorColumnSelectRight",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3601,linux:{primary:0}}})||this}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectRight(e.config,e.viewModel,t.viewState,o.toViewLineNumber,o.toViewVisualColumn)},t}(o)));var n=function(e){function t(t){var o=e.call(this,t)||this;return o._isPaged=t.isPaged,o}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectUp(e.config,e.viewModel,t.viewState,this._isPaged,o.toViewLineNumber,o.toViewVisualColumn)},t}(o);e.CursorColumnSelectUp=Object(c.g)(new n({isPaged:!1,id:"cursorColumnSelectUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=Object(c.g)(new n({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3595,linux:{primary:0}}}));var s=function(e){function t(t){var o=e.call(this,t)||this;return o._isPaged=t.isPaged,o}return O(t,e),t.prototype._getColumnSelectResult=function(e,t,o,n){return h.columnSelectDown(e.config,e.viewModel,t.viewState,this._isPaged,o.toViewLineNumber,o.toViewVisualColumn)},t}(o);e.CursorColumnSelectDown=Object(c.g)(new s({isPaged:!1,id:"cursorColumnSelectDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=Object(c.g)(new s({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3596,linux:{primary:0}}}));var g=function(e){function t(){return e.call(this,{id:"cursorMove",precondition:null,description:u.a.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=u.a.parse(t);o&&this._runCursorMove(e,t.source,o)},t.prototype._runCursorMove=function(e,t,o){e.context.model.pushStackElement(),e.setStates(t,l.a.Explicit,u.b.move(e.context,e.getAll(),o)),e.reveal(!0,0,0)},t}(L);e.CursorMoveImpl=g,e.CursorMove=Object(c.g)(new g);var p=function(t){function o(e){var o=t.call(this,e)||this;return o._staticArgs=e.args,o}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){var n=this._staticArgs;-1===this._staticArgs.value&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.context.config.pageSize}),e.CursorMove._runCursorMove(t,o.source,n)},o}(L);e.CursorLeft=Object(c.g)(new p({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=Object(c.g)(new p({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1039}})),e.CursorRight=Object(c.g)(new p({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=Object(c.g)(new p({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1041}})),e.CursorUp=Object(c.g)(new p({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=Object(c.g)(new p({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=Object(c.g)(new p({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:11}})),e.CursorPageUpSelect=Object(c.g)(new p({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1035}})),e.CursorDown=Object(c.g)(new p({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=Object(c.g)(new p({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=Object(c.g)(new p({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:12}})),e.CursorPageDownSelect=Object(c.g)(new p({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1036}})),e.CreateCursor=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"createCursor",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o,n=e.context;o=t.wholeLine?u.b.line(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition):u.b.moveTo(n,e.getPrimaryCursor(),!1,t.position,t.viewPosition);var i=e.getAll();if(i.length>1)for(var r=o.modelState?o.modelState.position:null,s=o.viewState?o.viewState.position:null,a=0,c=i.length;a<c;a++){var h=i[a];if((!r||h.modelState.selection.containsPosition(r))&&(!s||h.viewState.selection.containsPosition(s)))return i.splice(a,1),e.context.model.pushStackElement(),void e.setStates(t.source,l.a.Explicit,i)}i.push(o),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(L))),e.LastCursorMoveToSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"_lastCursorMoveToSelect",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.context,n=e.getLastAddedCursorIndex(),i=e.getAll().slice(0);i[n]=u.b.moveTo(o,i[n],!0,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(L)));var f=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToBeginningOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(L);e.CursorHome=Object(c.g)(new f({inSelectionMode:!1,id:"cursorHome",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:14,mac:{primary:14,secondary:[2063]}}})),e.CursorHomeSelect=Object(c.g)(new f({inSelectionMode:!0,id:"cursorHomeSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1038,mac:{primary:1038,secondary:[3087]}}})),e.CursorLineStart=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorLineStart",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:0,mac:{primary:287}}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n],s=r.modelState.position.lineNumber;o[n]=a.d.fromModelState(r.modelState.move(!1,s,1,0))}return o},t}(L)));var m=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToEndOfLine(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(L);e.CursorEnd=Object(c.g)(new m({inSelectionMode:!1,id:"cursorEnd",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:13,mac:{primary:13,secondary:[2065]}}})),e.CursorEndSelect=Object(c.g)(new m({inSelectionMode:!0,id:"cursorEndSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1037,mac:{primary:1037,secondary:[3089]}}})),e.CursorLineEnd=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cursorLineEnd",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:0,mac:{primary:291}}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,this._exec(e.context,e.getAll())),e.reveal(!0,0,0)},t.prototype._exec=function(e,t){for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n],s=r.modelState.position.lineNumber,l=e.model.getLineMaxColumn(s);o[n]=a.d.fromModelState(r.modelState.move(!1,s,l,0))}return o},t}(L)));var _=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToBeginningOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(L);e.CursorTop=Object(c.g)(new _({inSelectionMode:!1,id:"cursorTop",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2062,mac:{primary:2064}}})),e.CursorTopSelect=Object(c.g)(new _({inSelectionMode:!0,id:"cursorTopSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3086,mac:{primary:3088}}}));var y=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.moveToEndOfBuffer(e.context,e.getAll(),this._inSelectionMode)),e.reveal(!0,0,0)},t}(L);e.CursorBottom=Object(c.g)(new y({inSelectionMode:!1,id:"cursorBottom",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2061,mac:{primary:2066}}})),e.CursorBottomSelect=Object(c.g)(new y({inSelectionMode:!0,id:"cursorBottomSelect",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:3085,mac:{primary:3090}}}));var v=function(e){function t(){return e.call(this,{id:"editorScroll",precondition:null,description:b.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=b.parse(t);o&&this._runEditorScroll(e,t.source,o)},t.prototype._runEditorScroll=function(e,t,o){var n=this._computeDesiredScrollTop(e.context,o);if(o.revealCursor){var i=e.context.getCompletelyVisibleViewRangeAtScrollTop(n);e.setStates(t,l.a.Explicit,[u.b.findPositionInViewportIfOutside(e.context,e.getPrimaryCursor(),i,o.select)])}e.scrollTo(n)},t.prototype._computeDesiredScrollTop=function(e,t){if(1===t.unit){var o=e.getCompletelyVisibleModelRange(),n=void 0;n=1===t.direction?Math.max(1,o.startLineNumber-t.value):Math.min(e.model.getLineCount(),o.startLineNumber+t.value);var r=e.convertModelPositionToViewPosition(new i.a(n,1));return e.getVerticalOffsetForViewLine(r.lineNumber)}var s;s=3===t.unit?e.config.pageSize*t.value:4===t.unit?Math.round(e.config.pageSize/2)*t.value:t.value;var a=(1===t.direction?-1:1)*s;return e.getCurrentScrollTop()+a*e.config.lineHeight},t}(L);e.EditorScrollImpl=v,e.EditorScroll=Object(c.g)(new v),e.ScrollLineUp=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollLineUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2064,mac:{primary:267}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:1,unit:2,value:1,revealCursor:!1,select:!1})},o}(L))),e.ScrollPageUp=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollPageUp",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2059,win:{primary:523},linux:{primary:523}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:1,unit:3,value:1,revealCursor:!1,select:!1})},o}(L))),e.ScrollLineDown=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollLineDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2066,mac:{primary:268}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:2,unit:2,value:1,revealCursor:!1,select:!1})},o}(L))),e.ScrollPageDown=Object(c.g)(new(function(t){function o(){return t.call(this,{id:"scrollPageDown",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2060,win:{primary:524},linux:{primary:524}}})||this}return O(o,t),o.prototype.runCoreEditorCommand=function(t,o){e.EditorScroll._runEditorScroll(t,o.source,{direction:2,unit:3,value:1,revealCursor:!1,select:!1})},o}(L)));var E=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.word(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position)]),e.reveal(!0,0,0)},t}(L);e.WordSelect=Object(c.g)(new E({inSelectionMode:!1,id:"_wordSelect",precondition:null})),e.WordSelectDrag=Object(c.g)(new E({inSelectionMode:!0,id:"_wordSelectDrag",precondition:null})),e.LastCursorWordSelect=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"lastCursorWordSelect",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.context,n=e.getLastAddedCursorIndex(),i=e.getAll().slice(0),r=i[n];i[n]=u.b.word(o,r,r.modelState.hasSelection(),t.position),o.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,i)},t}(L)));var S=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.line(e.context,e.getPrimaryCursor(),this._inSelectionMode,t.position,t.viewPosition)]),e.reveal(!1,0,0)},t}(L);e.LineSelect=Object(c.g)(new S({inSelectionMode:!1,id:"_lineSelect",precondition:null})),e.LineSelectDrag=Object(c.g)(new S({inSelectionMode:!0,id:"_lineSelectDrag",precondition:null}));var T=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=e.getLastAddedCursorIndex(),n=e.getAll().slice(0);n[o]=u.b.line(e.context,n[o],this._inSelectionMode,t.position,t.viewPosition),e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,n)},t}(L);e.LastCursorLineSelect=Object(c.g)(new T({inSelectionMode:!1,id:"lastCursorLineSelect",precondition:null})),e.LastCursorLineSelectDrag=Object(c.g)(new T({inSelectionMode:!0,id:"lastCursorLineSelectDrag",precondition:null})),e.ExpandLineSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"expandLineSelection",precondition:null,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2087}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,u.b.expandLineSelection(e.context,e.getAll())),e.reveal(!0,0,0)},t}(L))),e.CancelSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"cancelSelection",precondition:d.a.hasNonEmptySelection,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.cancelSelection(e.context,e.getPrimaryCursor())]),e.reveal(!0,0,0)},t}(L))),e.RemoveSecondaryCursors=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"removeSecondaryCursors",precondition:d.a.hasMultipleSelections,kbOpts:{weight:N+1,kbExpr:d.a.textInputFocus,primary:9,secondary:[1033]}})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[e.getPrimaryCursor()]),e.reveal(!0,0,0)},t}(L))),e.RevealLine=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"revealLine",precondition:null,description:C.description})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){var o=t,n=o.lineNumber+1;n<1&&(n=1);var i=e.context.model.getLineCount();n>i&&(n=i);var s=new r.a(n,1,n,e.context.model.getLineMaxColumn(n)),a=0;if(o.at)switch(o.at){case C.RawAtArgument.Top:a=3;break;case C.RawAtArgument.Center:a=1;break;case C.RawAtArgument.Bottom:a=4}var l=e.context.convertModelRangeToViewRange(s);e.revealRange(!1,l,a,0)},t}(L))),e.SelectAll=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"selectAll",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[u.b.selectAll(e.context,e.getPrimaryCursor())])},t}(L))),e.SetSelection=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"setSelection",precondition:null})||this}return O(t,e),t.prototype.runCoreEditorCommand=function(e,t){e.context.model.pushStackElement(),e.setStates(t.source,l.a.Explicit,[a.d.fromModelSelection(t.selection)])},t}(L)))}(T||(T={})),(k=w||(w={})).LineBreakInsert=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"lineBreakInsert",precondition:d.a.writable,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:null,mac:{primary:301}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.lineBreakInsert(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(c.c))),k.Outdent=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"outdent",precondition:d.a.writable,kbOpts:{weight:N,kbExpr:p.d.and(d.a.editorTextFocus,d.a.tabDoesNotMoveFocus),primary:1026}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.outdent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(c.c))),k.Tab=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"tab",precondition:d.a.writable,kbOpts:{weight:N,kbExpr:p.d.and(d.a.editorTextFocus,d.a.tabDoesNotMoveFocus),primary:2}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){t.pushUndoStop(),t.executeCommands(this.id,m.a.tab(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(c.c))),k.DeleteLeft=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"deleteLeft",precondition:d.a.writable,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors(),i=_.a.deleteLeft(n.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),r=i[0],s=i[1];r&&t.pushUndoStop(),t.executeCommands(this.id,s),n.setPrevEditOperationType(2)},t}(c.c))),k.DeleteRight=Object(c.g)(new(function(e){function t(){return e.call(this,{id:"deleteRight",precondition:d.a.writable,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})||this}return O(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=t._getCursors(),i=_.a.deleteRight(n.getPrevEditOperationType(),t._getCursorConfiguration(),t.getModel(),t.getSelections()),r=i[0],s=i[1];r&&t.pushUndoStop(),t.executeCommands(this.id,s),n.setPrevEditOperationType(3)},t}(c.c)));var A=function(e){function t(t){var o=e.call(this,t)||this;return o._editorHandler=t.editorHandler,o._inputHandler=t.inputHandler,o}return O(t,e),t.prototype.runCommand=function(e,t){var o=I(e);if(o&&o.hasTextFocus())return this._runEditorHandler(o,t);var n=document.activeElement;if(!(n&&["input","textarea"].indexOf(n.tagName.toLowerCase())>=0)){var i=e.get(g.a).getActiveCodeEditor();return i?(i.focus(),this._runEditorHandler(i,t)):void 0}document.execCommand(this._inputHandler)},t.prototype._runEditorHandler=function(e,t){var o=this._editorHandler;"string"==typeof o?e.trigger("keyboard",o,t):((t=t||{}).source="keyboard",o.runEditorCommand(null,e,t))},t}(c.a),P=function(e){function t(t,o){var n=e.call(this,{id:t,precondition:null})||this;return n._handlerId=o,n}return O(t,e),t.prototype.runCommand=function(e,t){var o=I(e);o&&o.trigger("keyboard",this._handlerId,t)},t}(c.a);function M(e){D(new P("default:"+e,e)),D(new P(e,e))}D(new A({editorHandler:T.SelectAll,inputHandler:"selectAll",id:"editor.action.selectAll",precondition:d.a.textInputFocus,kbOpts:{weight:N,kbExpr:null,primary:2079},menubarOpts:{menuId:y.b.MenubarSelectionMenu,group:"1_basic",title:n.a({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1}})),D(new A({editorHandler:R.Undo,inputHandler:"undo",id:R.Undo,precondition:d.a.writable,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2104},menubarOpts:{menuId:y.b.MenubarEditMenu,group:"1_do",title:n.a({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1}})),D(new P("default:"+R.Undo,R.Undo)),D(new A({editorHandler:R.Redo,inputHandler:"redo",id:R.Redo,precondition:d.a.writable,kbOpts:{weight:N,kbExpr:d.a.textInputFocus,primary:2103,secondary:[3128],mac:{primary:3128}},menubarOpts:{menuId:y.b.MenubarEditMenu,group:"1_do",title:n.a({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2}})),D(new P("default:"+R.Redo,R.Redo)),M(R.Type),M(R.ReplacePreviousChar),M(R.CompositionStart),M(R.CompositionEnd),M(R.Paste),M(R.Cut)},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c}));var n,i=o(6),r=o(1),s=o(173),a=o(41),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){var o=new a.b(t);return o.preventDefault(),{leftButton:o.leftButton,posx:o.posx,posy:o.posy}}var c=function(e){function t(){var t=e.call(this)||this;return t.hooks=[],t.mouseMoveEventMerger=null,t.mouseMoveCallback=null,t.onStopCallback=null,t}return l(t,e),t.prototype.dispose=function(){this.stopMonitoring(!1),e.prototype.dispose.call(this)},t.prototype.stopMonitoring=function(e){if(this.isMonitoring()){this.hooks=Object(i.d)(this.hooks),this.mouseMoveEventMerger=null,this.mouseMoveCallback=null;var t=this.onStopCallback;this.onStopCallback=null,e&&t()}},t.prototype.isMonitoring=function(){return this.hooks.length>0},t.prototype.startMonitoring=function(e,t,o){var n=this;if(!this.isMonitoring()){this.mouseMoveEventMerger=e,this.mouseMoveCallback=t,this.onStopCallback=o;for(var i=s.a.getSameOriginWindowChain(),l=0;l<i.length;l++)this.hooks.push(r.i(i[l].window.document,"mousemove",(function(e){return n.mouseMoveCallback(e)}),(function(e,t){return n.mouseMoveEventMerger(e,t)}))),this.hooks.push(r.g(i[l].window.document,"mouseup",(function(e){return n.stopMonitoring(!0)})));if(s.a.hasDifferentOriginAncestor()){var u=i[i.length-1];this.hooks.push(r.g(u.window.document,"mouseout",(function(e){"html"===new a.b(e).target.tagName.toLowerCase()&&n.stopMonitoring(!0)}))),this.hooks.push(r.g(u.window.document,"mouseover",(function(e){"html"===new a.b(e).target.tagName.toLowerCase()&&n.stopMonitoring(!0)}))),this.hooks.push(r.g(u.window.document.body,"mouseleave",(function(e){n.stopMonitoring(!0)})))}}},t}(i.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return m})),o.d(t,"e",(function(){return _})),o.d(t,"b",(function(){return y})),o.d(t,"c",(function(){return i})),o.d(t,"a",(function(){return b}));o(435);var n,i,r=o(15),s=o(0),a=o(6),l=o(34),u=o(78),c=o(1),h=o(21),d=o(66),g=o(51),p=o(4),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(e,t,o){var n=this;this.options=o,this._callOnDispose=[],this._context=e||this,this._action=t,t instanceof u.a&&this._callOnDispose.push(t.onDidChange((function(e){n.builder&&n._handleActionChangeEvent(e)})))}return e.prototype._handleActionChangeEvent=function(e){void 0!==e.enabled&&this._updateEnabled(),void 0!==e.checked&&this._updateChecked(),void 0!==e.class&&this._updateClass(),void 0!==e.label&&(this._updateLabel(),this._updateTooltip()),void 0!==e.tooltip&&this._updateTooltip()},Object.defineProperty(e.prototype,"actionRunner",{get:function(){return this._actionRunner},set:function(e){this._actionRunner=e},enumerable:!0,configurable:!0}),e.prototype.getAction=function(){return this._action},e.prototype.isEnabled=function(){return this._action.enabled},e.prototype.setActionContext=function(e){this._context=e},e.prototype.render=function(e){var t=this;this.builder=Object(l.a)(e),d.b.addTarget(e);var o=this.options&&this.options.draggable;o&&(e.draggable=!0),this.builder.on(d.a.Tap,(function(e){return t.onClick(e)})),this.builder.on(c.d.MOUSE_DOWN,(function(e){o||c.c.stop(e,!0);var n=e;t._action.enabled&&0===n.button&&t.builder.addClass("active")})),this.builder.on(c.d.CLICK,(function(e){c.c.stop(e,!0),t.options&&t.options.isMenu?t.onClick(e):r.h((function(){return t.onClick(e)}))})),this.builder.on([c.d.MOUSE_UP,c.d.MOUSE_OUT],(function(e){c.c.stop(e),t.builder.removeClass("active")}))},e.prototype.onClick=function(e){var t;c.c.stop(e,!0),h.j(this._context)||!h.g(this._context)?t=e:(t=this._context).event=e,this._actionRunner.run(this._action,t)},e.prototype._updateEnabled=function(){},e.prototype._updateLabel=function(){},e.prototype._updateTooltip=function(){},e.prototype._updateClass=function(){},e.prototype._updateChecked=function(){},e.prototype.dispose=function(){this.builder&&(this.builder.destroy(),this.builder=null),this._callOnDispose=a.d(this._callOnDispose)},e}(),_=function(e){function t(o,n){var i=e.call(this,t.ID,o,o?"separator text":"separator")||this;return i.checked=!1,i.radio=!1,i.enabled=!1,i.order=n,i}return f(t,e),t.ID="vs.actions.separator",t}(u.a),y=function(e){function t(t,o,n){void 0===n&&(n={});var i=e.call(this,t,o,n)||this;return i.options=n,i.options.icon=void 0!==n.icon&&n.icon,i.options.label=void 0===n.label||n.label,i.cssClass="",i}return f(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.$e=Object(l.a)("a.action-label").appendTo(this.builder),this._action.id===_.ID?this.$e.attr({role:"presentation"}):this.options.isMenu?this.$e.attr({role:"menuitem"}):this.$e.attr({role:"button"}),this.options.label&&this.options.keybinding&&Object(l.a)("span.keybinding").text(this.options.keybinding).appendTo(this.builder),this._updateClass(),this._updateLabel(),this._updateTooltip(),this._updateEnabled(),this._updateChecked()},t.prototype._updateLabel=function(){this.options.label&&this.$e.text(this.getAction().label)},t.prototype._updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=s.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&this.$e.attr({title:e})},t.prototype._updateClass=function(){this.cssClass&&this.$e.removeClass(this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,this.$e.addClass("icon"),this.cssClass&&this.$e.addClass(this.cssClass),this._updateEnabled()):this.$e.removeClass("icon")},t.prototype._updateEnabled=function(){this.getAction().enabled?(this.builder.removeClass("disabled"),this.$e.removeClass("disabled"),this.$e.attr({tabindex:0})):(this.builder.addClass("disabled"),this.$e.addClass("disabled"),c.H(this.$e.getHTMLElement()))},t.prototype._updateChecked=function(){this.getAction().checked?this.$e.addClass("checked"):this.$e.removeClass("checked")},t}(m);!function(e){e[e.HORIZONTAL=0]="HORIZONTAL",e[e.HORIZONTAL_REVERSE=1]="HORIZONTAL_REVERSE",e[e.VERTICAL=2]="VERTICAL",e[e.VERTICAL_REVERSE=3]="VERTICAL_REVERSE"}(i||(i={}));var v={orientation:i.HORIZONTAL,context:null},b=function(){function e(e,t){void 0===t&&(t=v);var o,n,r=this;switch(this._onDidBlur=new p.a,this._onDidCancel=new p.a,this._onDidRun=new p.a,this._onDidBeforeRun=new p.a,this.options=t,this._context=t.context,this.toDispose=[],this._actionRunner=this.options.actionRunner,this._actionRunner||(this._actionRunner=new u.b,this.toDispose.push(this._actionRunner)),this.toDispose.push(this._actionRunner.onDidRun((function(e){return r._onDidRun.fire(e)}))),this.toDispose.push(this._actionRunner.onDidBeforeRun((function(e){return r._onDidBeforeRun.fire(e)}))),this.items=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==t.animated&&c.f(this.domNode,"animated"),this.options.orientation){case i.HORIZONTAL:o=15,n=17;break;case i.HORIZONTAL_REVERSE:o=17,n=15,this.domNode.className+=" reverse";break;case i.VERTICAL:o=16,n=18,this.domNode.className+=" vertical";break;case i.VERTICAL_REVERSE:o=18,n=16,this.domNode.className+=" vertical reverse"}Object(l.a)(this.domNode).on(c.d.KEY_DOWN,(function(e){var t=new g.a(e),i=!0;t.equals(o)?r.focusPrevious():t.equals(n)?r.focusNext():t.equals(9)?r.cancel():t.equals(3)||t.equals(10)||(i=!1),i&&(t.preventDefault(),t.stopPropagation())})),Object(l.a)(this.domNode).on(c.d.KEY_UP,(function(e){var t=new g.a(e);t.equals(3)||t.equals(10)?(r.doTrigger(t),t.preventDefault(),t.stopPropagation()):(t.equals(2)||t.equals(1026))&&r.updateFocusedItem()})),this.focusTracker=c.O(this.domNode),this.toDispose.push(this.focusTracker.onDidBlur((function(){document.activeElement!==r.domNode&&c.B(document.activeElement,r.domNode)||(r._onDidBlur.fire(),r.focusedItem=void 0)}))),this.toDispose.push(this.focusTracker.onDidFocus((function(){return r.updateFocusedItem()}))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.isMenu?this.actionsList.setAttribute("role","menu"):this.actionsList.setAttribute("role","toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.options.isMenu&&(this.domNode.tabIndex=0,Object(l.a)(this.domNode).on(c.d.MOUSE_OUT,(function(e){var t=e.relatedTarget;c.B(t,r.domNode)||(r.focusedItem=void 0,r.updateFocus(),e.stopPropagation())})),Object(l.a)(this.actionsList).on(c.d.MOUSE_OVER,(function(e){var t=e.target;if(t&&c.B(t,r.actionsList)&&t!==r.actionsList){for(;t.parentElement!==r.actionsList;)t=t.parentElement;if(c.z(t,"action-item")){var o=r.focusedItem;r.setFocusedItem(t),o!==r.focusedItem&&r.updateFocus()}}}))),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"onDidBlur",{get:function(){return this._onDidBlur.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidCancel",{get:function(){return this._onDidCancel.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidRun",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBeforeRun",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.setFocusedItem=function(e){for(var t=0;t<this.actionsList.children.length;t++){if(e===this.actionsList.children[t]){this.focusedItem=t;break}}},e.prototype.updateFocusedItem=function(){for(var e=0;e<this.actionsList.children.length;e++){var t=this.actionsList.children[e];if(c.B(document.activeElement,t)){this.focusedItem=e;break}}},Object.defineProperty(e.prototype,"context",{get:function(){return this._context},set:function(e){this._context=e,this.items.forEach((function(t){return t.setActionContext(e)}))},enumerable:!0,configurable:!0}),e.prototype.getContainer=function(){return this.domNode},e.prototype.push=function(e,t){var o=this;void 0===t&&(t={});var n=Array.isArray(e)?e:[e],i=h.f(t.index)?t.index:null;n.forEach((function(e){var n=document.createElement("li");n.className="action-item",n.setAttribute("role","presentation"),Object(l.a)(n).on(c.d.CONTEXT_MENU,(function(e){e.preventDefault(),e.stopPropagation()}));var r=null;o.options.actionItemProvider&&(r=o.options.actionItemProvider(e)),r||(r=new y(o.context,e,t)),r.actionRunner=o._actionRunner,r.setActionContext(o.context),r.render(n),null===i||i<0||i>=o.actionsList.children.length?(o.actionsList.appendChild(n),o.items.push(r)):(o.actionsList.insertBefore(n,o.actionsList.children[i]),o.items.splice(i,0,r),i++)}))},e.prototype.clear=function(){this.items=a.d(this.items),Object(l.a)(this.actionsList).empty()},e.prototype.isEmpty=function(){return 0===this.items.length},e.prototype.focus=function(e){e&&void 0===this.focusedItem?(this.focusedItem=this.items.length-1,this.focusNext()):this.updateFocus()},e.prototype.focusNext=function(){void 0===this.focusedItem&&(this.focusedItem=this.items.length-1);var e,t=this.focusedItem;do{this.focusedItem=(this.focusedItem+1)%this.items.length,e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus()},e.prototype.focusPrevious=function(){void 0===this.focusedItem&&(this.focusedItem=0);var e,t=this.focusedItem;do{this.focusedItem=this.focusedItem-1,this.focusedItem<0&&(this.focusedItem=this.items.length-1),e=this.items[this.focusedItem]}while(this.focusedItem!==t&&!e.isEnabled());this.focusedItem!==t||e.isEnabled()||(this.focusedItem=void 0),this.updateFocus(!0)},e.prototype.updateFocus=function(e){void 0===this.focusedItem&&this.domNode.focus();for(var t=0;t<this.items.length;t++){var o=this.items[t];t===this.focusedItem?h.e(o.isEnabled)&&(o.isEnabled()&&h.e(o.focus)?o.focus(e):this.domNode.focus()):h.e(o.blur)&&o.blur()}},e.prototype.doTrigger=function(e){if(void 0!==this.focusedItem){var t=this.items[this.focusedItem];if(t instanceof m){var o=null===t._context||void 0===t._context?e:t._context;this.run(t._action,o).done()}}},e.prototype.cancel=function(){document.activeElement instanceof HTMLElement&&document.activeElement.blur(),this._onDidCancel.fire()},e.prototype.run=function(e,t){return this._actionRunner.run(e,t)},e.prototype.dispose=function(){null!==this.items&&a.d(this.items),this.items=null,this.focusTracker&&(this.focusTracker.dispose(),this.focusTracker=null),this.toDispose=a.d(this.toDispose),Object(l.a)(this.getContainer()).destroy()},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"g",(function(){return i})),o.d(t,"c",(function(){return c})),o.d(t,"d",(function(){return h})),o.d(t,"e",(function(){return d})),o.d(t,"b",(function(){return g})),o.d(t,"f",(function(){return p}));var n,i,r=o(15),s=o(13),a=o(1),l=o(39);!function(e){e[e.ON_MOUSE_DOWN=0]="ON_MOUSE_DOWN",e[e.ON_MOUSE_UP=1]="ON_MOUSE_UP"}(n||(n={})),function(e){e[e.SINGLE_CLICK=0]="SINGLE_CLICK",e[e.DOUBLE_CLICK=1]="DOUBLE_CLICK"}(i||(i={}));var u=function(){function e(){this._arr=[]}return e.prototype.set=function(e,t){this._arr.push({keybinding:Object(l.f)(e,r.a),callback:t})},e.prototype.dispatch=function(e){for(var t=this._arr.length-1;t>=0;t--){var o=this._arr[t];if(e.equals(o.keybinding))return o.callback}return null},e}(),c=function(){function e(e){void 0===e&&(e={clickBehavior:n.ON_MOUSE_DOWN,keyboardSupport:!0,openMode:i.SINGLE_CLICK});var t=this;this.options=e,this.downKeyBindingDispatcher=new u,this.upKeyBindingDispatcher=new u,("boolean"!=typeof e.keyboardSupport||e.keyboardSupport)&&(this.downKeyBindingDispatcher.set(16,(function(e,o){return t.onUp(e,o)})),this.downKeyBindingDispatcher.set(18,(function(e,o){return t.onDown(e,o)})),this.downKeyBindingDispatcher.set(15,(function(e,o){return t.onLeft(e,o)})),this.downKeyBindingDispatcher.set(17,(function(e,o){return t.onRight(e,o)})),r.d&&(this.downKeyBindingDispatcher.set(2064,(function(e,o){return t.onLeft(e,o)})),this.downKeyBindingDispatcher.set(300,(function(e,o){return t.onDown(e,o)})),this.downKeyBindingDispatcher.set(302,(function(e,o){return t.onUp(e,o)}))),this.downKeyBindingDispatcher.set(11,(function(e,o){return t.onPageUp(e,o)})),this.downKeyBindingDispatcher.set(12,(function(e,o){return t.onPageDown(e,o)})),this.downKeyBindingDispatcher.set(14,(function(e,o){return t.onHome(e,o)})),this.downKeyBindingDispatcher.set(13,(function(e,o){return t.onEnd(e,o)})),this.downKeyBindingDispatcher.set(10,(function(e,o){return t.onSpace(e,o)})),this.downKeyBindingDispatcher.set(9,(function(e,o){return t.onEscape(e,o)})),this.upKeyBindingDispatcher.set(3,this.onEnter.bind(this)),this.upKeyBindingDispatcher.set(2051,this.onEnter.bind(this)))}return e.prototype.onMouseDown=function(e,t,o,i){if(void 0===i&&(i="mouse"),this.options.clickBehavior===n.ON_MOUSE_DOWN&&(o.leftButton||o.middleButton)){if(o.target){if(o.target.tagName&&"input"===o.target.tagName.toLowerCase())return!1;if(a.p(o.target,"scrollbar","monaco-tree"))return!1;if(a.p(o.target,"monaco-action-bar","row"))return!1}return this.onLeftClick(e,t,o,i)}return!1},e.prototype.onClick=function(e,t,o){return r.d&&o.ctrlKey?(o.preventDefault(),o.stopPropagation(),!1):(!o.target||!o.target.tagName||"input"!==o.target.tagName.toLowerCase())&&((this.options.clickBehavior!==n.ON_MOUSE_DOWN||!o.leftButton&&!o.middleButton)&&this.onLeftClick(e,t,o))},e.prototype.onLeftClick=function(e,t,o,n){void 0===n&&(n="mouse");var i=o,r={origin:n,originalEvent:o,didClickOnTwistie:this.isClickOnTwistie(i)};e.getInput()===t?(e.clearFocus(r),e.clearSelection(r)):(o&&i.browserEvent&&"mousedown"===i.browserEvent.type&&1===i.browserEvent.detail||o.preventDefault(),o.stopPropagation(),e.domFocus(),e.setSelection([t],r),e.setFocus(t,r),this.shouldToggleExpansion(t,i,n)&&(e.isExpanded(t)?e.collapse(t).done(null,s.e):e.expand(t).done(null,s.e)));return!0},e.prototype.shouldToggleExpansion=function(e,t,o){var n="mouse"===o&&2===t.detail;return this.openOnSingleClick||n||this.isClickOnTwistie(t)},e.prototype.setOpenMode=function(e){this.options.openMode=e},Object.defineProperty(e.prototype,"openOnSingleClick",{get:function(){return this.options.openMode===i.SINGLE_CLICK},enumerable:!0,configurable:!0}),e.prototype.isClickOnTwistie=function(e){var t=e.target;if(!a.z(t,"content"))return!1;var o=window.getComputedStyle(t,":before");if("none"===o.backgroundImage||"none"===o.display)return!1;var n=parseInt(o.width)+parseInt(o.paddingRight);return e.browserEvent.offsetX<=n},e.prototype.onContextMenu=function(e,t,o){return(!o.target||!o.target.tagName||"input"!==o.target.tagName.toLowerCase())&&(o&&(o.preventDefault(),o.stopPropagation()),!1)},e.prototype.onTap=function(e,t,o){var n=o.initialTarget;return(!n||!n.tagName||"input"!==n.tagName.toLowerCase())&&this.onLeftClick(e,t,o,"touch")},e.prototype.onKeyDown=function(e,t){return this.onKey(this.downKeyBindingDispatcher,e,t)},e.prototype.onKeyUp=function(e,t){return this.onKey(this.upKeyBindingDispatcher,e,t)},e.prototype.onKey=function(e,t,o){var n=e.dispatch(o.toKeybinding());return!(!n||!n(t,o))&&(o.preventDefault(),o.stopPropagation(),!0)},e.prototype.onUp=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusPrevious(1,o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onPageUp=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusPreviousPage(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onDown=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusNext(1,o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onPageDown=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusNextPage(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onHome=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusFirst(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onEnd=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?e.clearHighlight(o):(e.focusLast(o),e.reveal(e.getFocus()).done(null,s.e)),!0},e.prototype.onLeft=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(o);else{var n=e.getFocus();e.collapse(n).then((function(t){if(n&&!t)return e.focusParent(o),e.reveal(e.getFocus())})).done(null,s.e)}return!0},e.prototype.onRight=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())e.clearHighlight(o);else{var n=e.getFocus();e.expand(n).then((function(t){if(n&&!t)return e.focusFirstChild(o),e.reveal(e.getFocus())})).done(null,s.e)}return!0},e.prototype.onEnter=function(e,t){var o={origin:"keyboard",originalEvent:t};if(e.getHighlight())return!1;var n=e.getFocus();return n&&e.setSelection([n],o),!0},e.prototype.onSpace=function(e,t){if(e.getHighlight())return!1;var o=e.getFocus();return o&&e.toggleExpansion(o),!0},e.prototype.onEscape=function(e,t){var o={origin:"keyboard",originalEvent:t};return e.getHighlight()?(e.clearHighlight(o),!0):e.getSelection().length?(e.clearSelection(o),!0):!!e.getFocus()&&(e.clearFocus(o),!0)},e}(),h=function(){function e(){}return e.prototype.getDragURI=function(e,t){return null},e.prototype.onDragStart=function(e,t,o){},e.prototype.onDragOver=function(e,t,o,n){return null},e.prototype.drop=function(e,t,o,n){},e}(),d=function(){function e(){}return e.prototype.isVisible=function(e,t){return!0},e}(),g=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return null},e}(),p=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",o=[];e.listFocusBackground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: "+e.listFocusBackground+"; }"),e.listFocusForeground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listActiveSelectionBackground+"; }"),e.listActiveSelectionForeground&&o.push(".monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&o.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: "+e.listFocusAndSelectionBackground+"; }\n\t\t\t"),e.listFocusAndSelectionForeground&&o.push("\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: "+e.listFocusAndSelectionForeground+"; }\n\t\t\t"),e.listInactiveSelectionBackground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+e.listInactiveSelectionBackground+"; }"),e.listInactiveSelectionForeground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: "+e.listHoverBackground+"; }"),e.listHoverForeground&&o.push(".monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: "+e.listHoverForeground+"; }"),e.listDropBackground&&o.push("\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: "+e.listDropBackground+" !important; color: inherit !important; }\n\t\t\t"),e.listFocusOutline&&o.push("\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; background: #000; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+".focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  \t\t\t\t\t\t\t{ border: 1px solid "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  \t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree"+t+" .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed "+e.listFocusOutline+"; }\n\t\t\t");var n=o.join("\n");n!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=n)},e}()},function(e,t,o){"use strict";function n(e,t){if(!e||null===e)throw new Error(t?"Assertion failed ("+t+")":"Assertion Failed")}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return l})),o.d(t,"d",(function(){return c})),o.d(t,"c",(function(){return d})),o.d(t,"e",(function(){return g})),o.d(t,"b",(function(){return p}));var n=o(8),i=o(9),r=o(2),s=o(18),a=o(102),l=function(){function e(e,t,o,n){this.searchString=e,this.isRegex=t,this.matchCase=o,this.wordSeparators=n}return e._isMultilineRegexSource=function(e){if(!e||0===e.length)return!1;for(var t=0,o=e.length;t<o;t++){if(92===e.charCodeAt(t)){if(++t>=o)break;var n=e.charCodeAt(t);if(110===n||114===n)return!0}}return!1},e.prototype.parseSearchRequest=function(){if(""===this.searchString)return null;var t;t=this.isRegex?e._isMultilineRegexSource(this.searchString):this.searchString.indexOf("\n")>=0;var o=null;try{o=n.createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0})}catch(e){return null}if(!o)return null;var i=!this.isRegex&&!t;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new u(o,this.wordSeparators?Object(a.a)(this.wordSeparators):null,i?this.searchString:null)},e}(),u=function(e,t,o){this.regex=e,this.wordSeparators=t,this.simpleSearch=o};function c(e,t,o){if(!o)return new s.e(e,null);for(var n=[],i=0,r=t.length;i<r;i++)n[i]=t[i];return new s.e(e,n)}var h=function(){function e(e){for(var t=[],o=0,n=0,i=e.length;n<i;n++)10===e.charCodeAt(n)&&(t[o++]=n);this._lineFeedsOffsets=t}return e.prototype.findLineFeedCountBeforeOffset=function(e){var t=this._lineFeedsOffsets,o=0,n=t.length-1;if(-1===n)return 0;if(e<=t[0])return 0;for(;o<n;){var i=o+((n-o)/2>>0);t[i]>=e?n=i-1:t[i+1]>=e?(o=i,n=i):o=i+1}return o+1},e}(),d=function(){function e(){}return e.findMatches=function(e,t,o,n,i){var r=t.parseSearchRequest();return r?r.regex.multiline?this._doFindMatchesMultiline(e,o,new p(r.wordSeparators,r.regex),n,i):this._doFindMatchesLineByLine(e,o,r,n,i):[]},e._getMultilineMatchRange=function(e,t,o,n,i,s){var a,l,u=0;if(a="\r\n"===e.getEOL()?t+i+(u=n.findLineFeedCountBeforeOffset(i)):t+i,"\r\n"===e.getEOL()){var c=n.findLineFeedCountBeforeOffset(i+s.length)-u;l=a+s.length+c}else l=a+s.length;var h=e.getPositionAt(a),d=e.getPositionAt(l);return new r.a(h.lineNumber,h.column,d.lineNumber,d.column)},e._doFindMatchesMultiline=function(e,t,o,n,i){var r,a=e.getOffsetAt(t.getStartPosition()),l=e.getValueInRange(t,s.c.LF),u="\r\n"===e.getEOL()?new h(l):null,d=[],g=0;for(o.reset(0);r=o.next(l);)if(d[g++]=c(this._getMultilineMatchRange(e,a,l,u,r.index,r[0]),r,n),g>=i)return d;return d},e._doFindMatchesLineByLine=function(e,t,o,n,i){var r=[],s=0;if(t.startLineNumber===t.endLineNumber){var a=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return s=this._findMatchesInLine(o,a,t.startLineNumber,t.startColumn-1,s,r,n,i),r}var l=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);s=this._findMatchesInLine(o,l,t.startLineNumber,t.startColumn-1,s,r,n,i);for(var u=t.startLineNumber+1;u<t.endLineNumber&&s<i;u++)s=this._findMatchesInLine(o,e.getLineContent(u),u,0,s,r,n,i);if(s<i){var c=e.getLineContent(t.endLineNumber).substring(0,t.endColumn-1);s=this._findMatchesInLine(o,c,t.endLineNumber,0,s,r,n,i)}return r},e._findMatchesInLine=function(e,t,o,n,i,a,l,u){var h=e.wordSeparators;if(!l&&e.simpleSearch){for(var d=e.simpleSearch,f=d.length,m=t.length,_=-f;-1!==(_=t.indexOf(d,_+f));)if((!h||g(h,t,m,_,f))&&(a[i++]=new s.e(new r.a(o,_+1+n,o,_+1+f+n),null),i>=u))return i;return i}var y,v=new p(e.wordSeparators,e.regex);v.reset(0);do{if((y=v.next(t))&&(a[i++]=c(new r.a(o,y.index+1+n,o,y.index+1+y[0].length+n),y,l),i>=u))return i}while(y);return i},e.findNextMatch=function(e,t,o,n){var i=t.parseSearchRequest();if(!i)return null;var r=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindNextMatchMultiline(e,o,r,n):this._doFindNextMatchLineByLine(e,o,r,n)},e._doFindNextMatchMultiline=function(e,t,o,n){var a=new i.a(t.lineNumber,1),l=e.getOffsetAt(a),u=e.getLineCount(),d=e.getValueInRange(new r.a(a.lineNumber,a.column,u,e.getLineMaxColumn(u)),s.c.LF),g="\r\n"===e.getEOL()?new h(d):null;o.reset(t.column-1);var p=o.next(d);return p?c(this._getMultilineMatchRange(e,l,d,g,p.index,p[0]),p,n):1!==t.lineNumber||1!==t.column?this._doFindNextMatchMultiline(e,new i.a(1,1),o,n):null},e._doFindNextMatchLineByLine=function(e,t,o,n){var i=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r),a=this._findFirstMatchInLine(o,s,r,t.column,n);if(a)return a;for(var l=1;l<=i;l++){var u=(r+l-1)%i,c=e.getLineContent(u+1),h=this._findFirstMatchInLine(o,c,u+1,1,n);if(h)return h}return null},e._findFirstMatchInLine=function(e,t,o,n,i){e.reset(n-1);var s=e.next(t);return s?c(new r.a(o,s.index+1,o,s.index+1+s[0].length),s,i):null},e.findPreviousMatch=function(e,t,o,n){var i=t.parseSearchRequest();if(!i)return null;var r=new p(i.wordSeparators,i.regex);return i.regex.multiline?this._doFindPreviousMatchMultiline(e,o,r,n):this._doFindPreviousMatchLineByLine(e,o,r,n)},e._doFindPreviousMatchMultiline=function(e,t,o,n){var s=this._doFindMatchesMultiline(e,new r.a(1,1,t.lineNumber,t.column),o,n,9990);if(s.length>0)return s[s.length-1];var a=e.getLineCount();return t.lineNumber!==a||t.column!==e.getLineMaxColumn(a)?this._doFindPreviousMatchMultiline(e,new i.a(a,e.getLineMaxColumn(a)),o,n):null},e._doFindPreviousMatchLineByLine=function(e,t,o,n){var i=e.getLineCount(),r=t.lineNumber,s=e.getLineContent(r).substring(0,t.column-1),a=this._findLastMatchInLine(o,s,r,n);if(a)return a;for(var l=1;l<=i;l++){var u=(i+r-l-1)%i,c=e.getLineContent(u+1),h=this._findLastMatchInLine(o,c,u+1,n);if(h)return h}return null},e._findLastMatchInLine=function(e,t,o,n){var i,s=null;for(e.reset(0);i=e.next(t);)s=c(new r.a(o,i.index+1,o,i.index+1+i[0].length),i,n);return s},e}();function g(e,t,o,n,i){return function(e,t,o,n,i){if(0===n)return!0;var r=t.charCodeAt(n-1);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(i>0){var s=t.charCodeAt(n);if(0!==e.get(s))return!0}return!1}(e,t,0,n,i)&&function(e,t,o,n,i){if(n+i===o)return!0;var r=t.charCodeAt(n+i);if(0!==e.get(r))return!0;if(13===r||10===r)return!0;if(i>0){var s=t.charCodeAt(n+i-1);if(0!==e.get(s))return!0}return!1}(e,t,o,n,i)}var p=function(){function e(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}return e.prototype.reset=function(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0},e.prototype.next=function(e){var t,o=e.length;do{if(this._prevMatchStartIndex+this._prevMatchLength===o)return null;if(!(t=this._searchRegex.exec(e)))return null;var n=t.index,i=t[0].length;if(n===this._prevMatchStartIndex&&i===this._prevMatchLength)return null;if(this._prevMatchStartIndex=n,this._prevMatchLength=i,!this._wordSeparators||g(this._wordSeparators,e,o,n,i))return t}while(t);return null},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(10),i=o(4),r=function(){function e(e,t,o,n,r){void 0===t&&(t=""),void 0===o&&(o=""),void 0===n&&(n=!0),this._onDidChange=new i.a,this._id=e,this._label=t,this._cssClass=o,this._enabled=n,this._actionCallback=r}return e.prototype.dispose=function(){this._onDidChange.dispose()},Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"label",{get:function(){return this._label},set:function(e){this._setLabel(e)},enumerable:!0,configurable:!0}),e.prototype._setLabel=function(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))},Object.defineProperty(e.prototype,"tooltip",{get:function(){return this._tooltip},set:function(e){this._setTooltip(e)},enumerable:!0,configurable:!0}),e.prototype._setTooltip=function(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))},Object.defineProperty(e.prototype,"class",{get:function(){return this._cssClass},set:function(e){this._setClass(e)},enumerable:!0,configurable:!0}),e.prototype._setClass=function(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))},Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._setEnabled(e)},enumerable:!0,configurable:!0}),e.prototype._setEnabled=function(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))},Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(e){this._setChecked(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"radio",{get:function(){return this._radio},set:function(e){this._setRadio(e)},enumerable:!0,configurable:!0}),e.prototype._setChecked=function(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))},e.prototype._setRadio=function(e){this._radio!==e&&(this._radio=e,this._onDidChange.fire({radio:e}))},Object.defineProperty(e.prototype,"order",{get:function(){return this._order},set:function(e){this._order=e},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){return void 0!==this._actionCallback?this._actionCallback(e):n.b.as(!0)},e}(),s=function(){function e(){this._onDidBeforeRun=new i.a,this._onDidRun=new i.a}return Object.defineProperty(e.prototype,"onDidRun",{get:function(){return this._onDidRun.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBeforeRun",{get:function(){return this._onDidBeforeRun.event},enumerable:!0,configurable:!0}),e.prototype.run=function(e,t){var o=this;return e.enabled?(this._onDidBeforeRun.fire({action:e}),this.runAction(e,t).then((function(t){o._onDidRun.fire({action:e,result:t})}),(function(t){o._onDidRun.fire({action:e,error:t})}))):n.b.as(null)},e.prototype.runAction=function(e,t){var o=t?e.run(t):e.run();return n.b.is(o)?o:n.b.wrap(o)},e.prototype.dispose=function(){this._onDidBeforeRun.dispose(),this._onDidRun.dispose()},e}()},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"c",(function(){return c})),o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));var n,i=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function r(e){var t=[];return e.forEach((function(e){return t.push(e)})),t}var s,a=function(){function e(){this._value="",this._pos=0}return e.prototype.reset=function(e){return this._value=e,this._pos=0,this},e.prototype.next=function(){return this._pos+=1,this},e.prototype.hasNext=function(){return this._pos<this._value.length-1},e.prototype.cmp=function(e){return e.charCodeAt(0)-this._value.charCodeAt(this._pos)},e.prototype.value=function(){return this._value[this._pos]},e}(),l=function(){function e(){}return e.prototype.reset=function(e){return this._value=e.replace(/\\$|\/$/,""),this._from=0,this._to=0,this.next()},e.prototype.hasNext=function(){return this._to<this._value.length},e.prototype.next=function(){this._from=this._to;for(var e=!0;this._to<this._value.length;this._to++){var t=this._value.charCodeAt(this._to);if(47===t||92===t){if(!e)break;this._from++}else e=!1}return this},e.prototype.cmp=function(e){for(var t=0,o=e.length,n=this._from;t<o&&n<this._to;){var i=e.charCodeAt(t)-this._value.charCodeAt(n);if(0!==i)return i;t+=1,n+=1}return o===this._to-this._from?0:t<o?-1:1},e.prototype.value=function(){return this._value.substring(this._from,this._to)},e}(),u=function(){},c=function(){function e(e){this._iter=e}return e.forPaths=function(){return new e(new l)},e.forStrings=function(){return new e(new a)},e.prototype.clear=function(){this._root=void 0},e.prototype.set=function(e,t){var o,n=this._iter.reset(e);for(this._root||(this._root=new u,this._root.segment=n.value()),o=this._root;;){var i=n.cmp(o.segment);if(i>0)o.left||(o.left=new u,o.left.segment=n.value()),o=o.left;else if(i<0)o.right||(o.right=new u,o.right.segment=n.value()),o=o.right;else{if(!n.hasNext())break;n.next(),o.mid||(o.mid=new u,o.mid.segment=n.value()),o=o.mid}}var r=o.value;return o.value=t,o.key=e,r},e.prototype.get=function(e){for(var t=this._iter.reset(e),o=this._root;o;){var n=t.cmp(o.segment);if(n>0)o=o.left;else if(n<0)o=o.right;else{if(!t.hasNext())break;t.next(),o=o.mid}}return o?o.value:void 0},e.prototype.findSubstr=function(e){for(var t,o=this._iter.reset(e),n=this._root;n;){var i=o.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else{if(!o.hasNext())break;o.next(),t=n.value||t,n=n.mid}}return n&&n.value||t},e.prototype.forEach=function(e){this._forEach(this._root,e)},e.prototype._forEach=function(e,t){e&&(this._forEach(e.left,t),e.value&&t(e.value,e.key),this._forEach(e.mid,t),this._forEach(e.right,t))},e}(),h=function(){function e(){this.map=new Map,this.ignoreCase=!1}return e.prototype.set=function(e,t){this.map.set(this.toKey(e),t)},e.prototype.get=function(e){return this.map.get(this.toKey(e))},e.prototype.toKey=function(e){var t=e.toString();return this.ignoreCase&&(t=t.toLowerCase()),t},e}();!function(e){e[e.None=0]="None",e[e.AsOld=1]="AsOld",e[e.AsNew=2]="AsNew"}(s||(s={}));var d=function(e){function t(t,o){void 0===o&&(o=1);var n=e.call(this)||this;return n._limit=t,n._ratio=Math.min(Math.max(0,o),1),n}return i(t,e),t.prototype.get=function(t){return e.prototype.get.call(this,t,s.AsNew)},t.prototype.set=function(t,o){e.prototype.set.call(this,t,o,s.AsNew),this.checkTrim()},t.prototype.checkTrim=function(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))},t}(function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.get=function(e,t){void 0===t&&(t=s.None);var o=this._map.get(e);if(o)return t!==s.None&&this.touch(o,t),o.value},e.prototype.set=function(e,t,o){void 0===o&&(o=s.None);var n=this._map.get(e);if(n)n.value=t,o!==s.None&&this.touch(n,o);else{switch(n={key:e,value:t,next:void 0,previous:void 0},o){case s.None:this.addItemLast(n);break;case s.AsOld:this.addItemFirst(n);break;case s.AsNew:default:this.addItemLast(n)}this._map.set(e,n),this._size++}},e.prototype.forEach=function(e,t){for(var o=this._head;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next},e.prototype.trimOld=function(e){if(!(e>=this.size))if(0!==e){for(var t=this._head,o=this.size;t&&o>e;)this._map.delete(t.key),t=t.next,o--;this._head=t,this._size=o,t.previous=void 0}else this.clear()},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===s.AsOld||t===s.AsNew)if(t===s.AsOld){if(e===this._head)return;var o=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(o.previous=n,n.next=o),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===s.AsNew){if(e===this._tail)return;o=e.next,n=e.previous;e===this._head?(o.previous=void 0,this._head=o):(o.previous=n,n.next=o),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e.prototype.toJSON=function(){var e=[];return this.forEach((function(t,o){e.push([o,t])})),e},e}())},function(e,t){var o;o=function(){return this}();try{o=o||new Function("return this")()}catch(e){"object"==typeof window&&(o=window)}e.exports=o},function(e,t,o){"use strict";o(466);var n,i=o(1),r=o(15),s=o(41),a=o(73),l=o(59),u=o(28),c=o(17),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=11,g=function(e){function t(t){var o=e.call(this)||this;return o._onActivate=t.onActivate,o.bgDomNode=document.createElement("div"),o.bgDomNode.className="arrow-background",o.bgDomNode.style.position="absolute",o.bgDomNode.style.width=t.bgWidth+"px",o.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(o.bgDomNode.style.top="0px"),void 0!==t.left&&(o.bgDomNode.style.left="0px"),void 0!==t.bottom&&(o.bgDomNode.style.bottom="0px"),void 0!==t.right&&(o.bgDomNode.style.right="0px"),o.domNode=document.createElement("div"),o.domNode.className=t.className,o.domNode.style.position="absolute",o.domNode.style.width=d+"px",o.domNode.style.height=d+"px",void 0!==t.top&&(o.domNode.style.top=t.top+"px"),void 0!==t.left&&(o.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(o.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(o.domNode.style.right=t.right+"px"),o._mouseMoveMonitor=o._register(new a.a),o.onmousedown(o.bgDomNode,(function(e){return o._arrowMouseDown(e)})),o.onmousedown(o.domNode,(function(e){return o._arrowMouseDown(e)})),o._mousedownRepeatTimer=o._register(new c.b),o._mousedownScheduleRepeatTimer=o._register(new c.f),o}return h(t,e),t.prototype._arrowMouseDown=function(e){var t=this;this._onActivate(),this._mousedownRepeatTimer.cancel(),this._mousedownScheduleRepeatTimer.cancelAndSet((function(){t._mousedownRepeatTimer.cancelAndSet((function(){return t._onActivate()}),1e3/24)}),200),this._mouseMoveMonitor.startMonitoring(a.b,(function(e){}),(function(){t._mousedownRepeatTimer.cancel(),t._mousedownScheduleRepeatTimer.cancel()})),e.preventDefault()},t}(l.a),p=o(6),f=o(42),m=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),_=function(e){function t(t,o,n){var i=e.call(this)||this;return i._visibility=t,i._visibleClassName=o,i._invisibleClassName=n,i._domNode=null,i._isVisible=!1,i._isNeeded=!1,i._shouldBeVisible=!1,i._revealTimer=i._register(new c.f),i}return m(t,e),t.prototype.applyVisibilitySetting=function(e){return this._visibility!==f.b.Hidden&&(this._visibility===f.b.Visible||e)},t.prototype.setShouldBeVisible=function(e){var t=this.applyVisibilitySetting(e);this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())},t.prototype.setIsNeeded=function(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())},t.prototype.setDomNode=function(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)},t.prototype.ensureVisibility=function(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)},t.prototype._reveal=function(){var e=this;this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((function(){e._domNode.setClassName(e._visibleClassName)}),0))},t.prototype._hide=function(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode.setClassName(this._invisibleClassName+(e?" fade":"")))},t}(p.a),y=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),v=function(e){function t(t){var o=e.call(this)||this;return o._lazyRender=t.lazyRender,o._host=t.host,o._scrollable=t.scrollable,o._scrollbarState=t.scrollbarState,o._visibilityController=o._register(new _(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),o._mouseMoveMonitor=o._register(new a.a),o._shouldRender=!0,o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o._visibilityController.setDomNode(o.domNode),o.domNode.setPosition("absolute"),o.onmousedown(o.domNode.domNode,(function(e){return o._domNodeMouseDown(e)})),o}return y(t,e),t.prototype._createArrow=function(e){var t=this._register(new g(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)},t.prototype._createSlider=function(e,t,o,n){var i=this;this.slider=Object(u.b)(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),this.slider.setWidth(o),this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.domNode.domNode.appendChild(this.slider.domNode),this.onmousedown(this.slider.domNode,(function(e){e.leftButton&&(e.preventDefault(),i._sliderMouseDown(e,(function(){})))}))},t.prototype._onElementSize=function(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollSize=function(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype._onElementScrollPosition=function(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender},t.prototype.beginReveal=function(){this._visibilityController.setShouldBeVisible(!0)},t.prototype.beginHide=function(){this._visibilityController.setShouldBeVisible(!1)},t.prototype.render=function(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))},t.prototype._domNodeMouseDown=function(e){e.target===this.domNode.domNode&&this._onMouseDown(e)},t.prototype.delegateMouseDown=function(e){var t=this.domNode.domNode.getClientRects()[0].top,o=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderMousePosition(e);o<=i&&i<=n?e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(function(){}))):this._onMouseDown(e)},t.prototype._onMouseDown=function(e){var t,o;if(e.target===this.domNode.domNode&&"number"==typeof e.browserEvent.offsetX&&"number"==typeof e.browserEvent.offsetY)t=e.browserEvent.offsetX,o=e.browserEvent.offsetY;else{var n=i.u(this.domNode.domNode);t=e.posx-n.left,o=e.posy-n.top}this._setDesiredScrollPositionNow(this._scrollbarState.getDesiredScrollPositionFromOffset(this._mouseDownRelativePosition(t,o))),e.leftButton&&(e.preventDefault(),this._sliderMouseDown(e,(function(){})))},t.prototype._sliderMouseDown=function(e,t){var o=this,n=this._sliderMousePosition(e),i=this._sliderOrthogonalMousePosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._mouseMoveMonitor.startMonitoring(a.b,(function(e){var t=o._sliderOrthogonalMousePosition(e),a=Math.abs(t-i);if(r.g&&a>140)o._setDesiredScrollPositionNow(s.getScrollPosition());else{var l=o._sliderMousePosition(e)-n;o._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(l))}}),(function(){o.slider.toggleClassName("active",!1),o._host.onDragEnd(),t()})),this._host.onDragStart()},t.prototype._setDesiredScrollPositionNow=function(e){var t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)},t}(l.a),b=function(){function e(e,t,o){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(o),this._arrowSize=Math.round(e),this._visibleSize=0,this._scrollSize=0,this._scrollPosition=0,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}return e.prototype.clone=function(){var t=new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize);return t.setVisibleSize(this._visibleSize),t.setScrollSize(this._scrollSize),t.setScrollPosition(this._scrollPosition),t},e.prototype.setVisibleSize=function(e){var t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollSize=function(e){var t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)},e.prototype.setScrollPosition=function(e){var t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)},e._computeValues=function(e,t,o,n,i){var r=Math.max(0,o-e),s=Math.max(0,r-2*t),a=n>0&&n>o;if(!a)return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(s),computedSliderRatio:0,computedSliderPosition:0};var l=Math.round(Math.max(20,Math.floor(o*s/n))),u=(s-l)/(n-o),c=i*u;return{computedAvailableSize:Math.round(r),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:u,computedSliderPosition:Math.round(c)}},e.prototype._refreshComputedValues=function(){var t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition},e.prototype.getArrowSize=function(){return this._arrowSize},e.prototype.getScrollPosition=function(){return this._scrollPosition},e.prototype.getRectangleLargeSize=function(){return this._computedAvailableSize},e.prototype.getRectangleSmallSize=function(){return this._scrollbarSize},e.prototype.isNeeded=function(){return this._computedIsNeeded},e.prototype.getSliderSize=function(){return this._computedSliderSize},e.prototype.getSliderPosition=function(){return this._computedSliderPosition},e.prototype.getDesiredScrollPositionFromOffset=function(e){if(!this._computedIsNeeded)return 0;var t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)},e.prototype.getDesiredScrollPositionFromDelta=function(e){if(!this._computedIsNeeded)return 0;var t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)},e}(),E=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),C=function(e){function t(t,o,n){var i=e.call(this,{lazyRender:o.lazyRender,host:n,scrollbarState:new b(o.horizontalHasArrows?o.arrowSize:0,o.horizontal===f.b.Hidden?0:o.horizontalScrollbarSize,o.vertical===f.b.Hidden?0:o.verticalScrollbarSize),visibility:o.horizontal,extraScrollbarClassName:"horizontal",scrollable:t})||this;if(o.horizontalHasArrows){var r=(o.arrowSize-d)/2,a=(o.horizontalScrollbarSize-d)/2;i._createArrow({className:"left-arrow",top:a,left:r,bottom:void 0,right:void 0,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,1,0))}}),i._createArrow({className:"right-arrow",top:a,left:void 0,bottom:void 0,right:r,bgWidth:o.arrowSize,bgHeight:o.horizontalScrollbarSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,-1,0))}})}return i._createSlider(Math.floor((o.horizontalScrollbarSize-o.horizontalSliderSize)/2),0,null,o.horizontalSliderSize),i}return E(t,e),t.prototype._updateSlider=function(e,t){this.slider.setWidth(e),this.slider.setLeft(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return e},t.prototype._sliderMousePosition=function(e){return e.posx},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posy},t.prototype.writeScrollPosition=function(e,t){e.scrollLeft=t},t}(v),S=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),T=function(e){function t(t,o,n){var i=e.call(this,{lazyRender:o.lazyRender,host:n,scrollbarState:new b(o.verticalHasArrows?o.arrowSize:0,o.vertical===f.b.Hidden?0:o.verticalScrollbarSize,0),visibility:o.vertical,extraScrollbarClassName:"vertical",scrollable:t})||this;if(o.verticalHasArrows){var r=(o.arrowSize-d)/2,a=(o.verticalScrollbarSize-d)/2;i._createArrow({className:"up-arrow",top:r,left:a,bottom:void 0,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,0,1))}}),i._createArrow({className:"down-arrow",top:void 0,left:a,bottom:r,right:void 0,bgWidth:o.verticalScrollbarSize,bgHeight:o.arrowSize,onActivate:function(){return i._host.onMouseWheel(new s.c(null,0,-1))}})}return i._createSlider(0,Math.floor((o.verticalScrollbarSize-o.verticalSliderSize)/2),o.verticalSliderSize,null),i}return S(t,e),t.prototype._updateSlider=function(e,t){this.slider.setHeight(e),this.slider.setTop(t)},t.prototype._renderDomNode=function(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)},t.prototype.onDidScroll=function(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender},t.prototype._mouseDownRelativePosition=function(e,t){return t},t.prototype._sliderMousePosition=function(e){return e.posy},t.prototype._sliderOrthogonalMousePosition=function(e){return e.posx},t.prototype.writeScrollPosition=function(e,t){e.scrollTop=t},t}(v),w=o(4);o.d(t,"b",(function(){return L})),o.d(t,"c",(function(){return I})),o.d(t,"a",(function(){return D}));var k=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),O=function(e,t,o){this.timestamp=e,this.deltaX=t,this.deltaY=o,this.score=0},R=function(){function e(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}return e.prototype.isPhysicalMouseWheel=function(){if(-1===this._front&&-1===this._rear)return!1;for(var e=1,t=0,o=1,n=this._rear;;){var i=n===this._front?e:Math.pow(2,-o);if(e-=i,t+=this._memory[n].score*i,n===this._front)break;n=(this._capacity+n-1)%this._capacity,o++}return t<=.5},e.prototype.accept=function(e,t,o){var n=new O(e,t,o);n.score=this._computeScore(n),-1===this._front&&-1===this._rear?(this._memory[0]=n,this._front=0,this._rear=0):(this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=n)},e.prototype._computeScore=function(e){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;var t=.5;-1===this._front&&-1===this._rear||this._memory[this._rear];return(Math.abs(e.deltaX-Math.round(e.deltaX))>0||Math.abs(e.deltaY-Math.round(e.deltaY))>0)&&(t+=.25),Math.min(Math.max(t,0),1)},e.INSTANCE=new e,e}(),N=function(e){function t(t,o,n){var i=e.call(this)||this;i._onScroll=i._register(new w.a),i.onScroll=i._onScroll.event,t.style.overflow="hidden",i._options=A(o),i._scrollable=n,i._register(i._scrollable.onScroll((function(e){i._onDidScroll(e),i._onScroll.fire(e)})));var r={onMouseWheel:function(e){return i._onMouseWheel(e)},onDragStart:function(){return i._onDragStart()},onDragEnd:function(){return i._onDragEnd()}};return i._verticalScrollbar=i._register(new T(i._scrollable,i._options,r)),i._horizontalScrollbar=i._register(new C(i._scrollable,i._options,r)),i._domNode=document.createElement("div"),i._domNode.className="monaco-scrollable-element "+i._options.className,i._domNode.setAttribute("role","presentation"),i._domNode.style.position="relative",i._domNode.style.overflow="hidden",i._domNode.appendChild(t),i._domNode.appendChild(i._horizontalScrollbar.domNode.domNode),i._domNode.appendChild(i._verticalScrollbar.domNode.domNode),i._options.useShadows&&(i._leftShadowDomNode=Object(u.b)(document.createElement("div")),i._leftShadowDomNode.setClassName("shadow"),i._domNode.appendChild(i._leftShadowDomNode.domNode),i._topShadowDomNode=Object(u.b)(document.createElement("div")),i._topShadowDomNode.setClassName("shadow"),i._domNode.appendChild(i._topShadowDomNode.domNode),i._topLeftShadowDomNode=Object(u.b)(document.createElement("div")),i._topLeftShadowDomNode.setClassName("shadow top-left-corner"),i._domNode.appendChild(i._topLeftShadowDomNode.domNode)),i._listenOnDomNode=i._options.listenOnDomNode||i._domNode,i._mouseWheelToDispose=[],i._setListeningToMouseWheel(i._options.handleMouseWheel),i.onmouseover(i._listenOnDomNode,(function(e){return i._onMouseOver(e)})),i.onnonbubblingmouseout(i._listenOnDomNode,(function(e){return i._onMouseOut(e)})),i._hideTimeout=i._register(new c.f),i._isDragging=!1,i._mouseIsOver=!1,i._shouldRender=!0,i._revealOnScroll=!0,i}return k(t,e),t.prototype.dispose=function(){this._mouseWheelToDispose=Object(p.d)(this._mouseWheelToDispose),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getOverviewRulerLayoutInfo=function(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._verticalScrollbar.delegateMouseDown(e)},t.prototype.getScrollDimensions=function(){return this._scrollable.getScrollDimensions()},t.prototype.setScrollDimensions=function(e){this._scrollable.setScrollDimensions(e)},t.prototype.updateClassName=function(e){this._options.className=e,r.d&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className},t.prototype.updateOptions=function(e){var t=A(e);this._options.handleMouseWheel=t.handleMouseWheel,this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity,this._setListeningToMouseWheel(this._options.handleMouseWheel),this._options.lazyRender||this._render()},t.prototype._setListeningToMouseWheel=function(e){var t=this;if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Object(p.d)(this._mouseWheelToDispose),e)){var o=function(e){var o=new s.c(e);t._onMouseWheel(o)};this._mouseWheelToDispose.push(i.g(this._listenOnDomNode,"mousewheel",o)),this._mouseWheelToDispose.push(i.g(this._listenOnDomNode,"DOMMouseScroll",o))}},t.prototype._onMouseWheel=function(e){var t,o=R.INSTANCE;if(o.accept(Date.now(),e.deltaX,e.deltaY),e.deltaY||e.deltaX){var n=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.flipAxes&&(n=(t=[i,n])[0],i=t[1]);var s=!r.d&&e.browserEvent&&e.browserEvent.shiftKey;!this._options.scrollYToX&&!s||i||(i=n,n=0);var a=this._scrollable.getFutureScrollPosition(),l={};if(n){var u=a.scrollTop-50*n;this._verticalScrollbar.writeScrollPosition(l,u)}if(i){var c=a.scrollLeft-50*i;this._horizontalScrollbar.writeScrollPosition(l,c)}if(l=this._scrollable.validateScrollPosition(l),a.scrollLeft!==l.scrollLeft||a.scrollTop!==l.scrollTop)this._options.mouseWheelSmoothScroll&&o.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),this._shouldRender=!0}(this._options.alwaysConsumeMouseWheel||this._shouldRender)&&(e.preventDefault(),e.stopPropagation())},t.prototype._onDidScroll=function(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()},t.prototype.renderNow=function(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()},t.prototype._render=function(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){var e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,o=e.scrollLeft>0;this._leftShadowDomNode.setClassName("shadow"+(o?" left":"")),this._topShadowDomNode.setClassName("shadow"+(t?" top":"")),this._topLeftShadowDomNode.setClassName("shadow top-left-corner"+(t?" top":"")+(o?" left":""))}},t.prototype._onDragStart=function(){this._isDragging=!0,this._reveal()},t.prototype._onDragEnd=function(){this._isDragging=!1,this._hide()},t.prototype._onMouseOut=function(e){this._mouseIsOver=!1,this._hide()},t.prototype._onMouseOver=function(e){this._mouseIsOver=!0,this._reveal()},t.prototype._reveal=function(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()},t.prototype._hide=function(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())},t.prototype._scheduleHide=function(){var e=this;this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((function(){return e._hide()}),500)},t}(l.a),L=function(e){function t(t,o){var n=this;(o=o||{}).mouseWheelSmoothScroll=!1;var r=new f.a(0,(function(e){return i.L(e)}));return(n=e.call(this,t,o,r)||this)._register(r),n}return k(t,e),t.prototype.setScrollPosition=function(e){this._scrollable.setScrollPositionNow(e)},t.prototype.getScrollPosition=function(){return this._scrollable.getCurrentScrollPosition()},t}(N),I=function(e){function t(t,o,n){return e.call(this,t,o,n)||this}return k(t,e),t}(N),D=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n._element=t,n.onScroll((function(e){e.scrollTopChanged&&(n._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(n._element.scrollLeft=e.scrollLeft)})),n.scanDomNode(),n}return k(t,e),t.prototype.scanDomNode=function(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})},t}(L);function A(e){var t={lazyRender:void 0!==e.lazyRender&&e.lazyRender,className:void 0!==e.className?e.className:"",useShadows:void 0===e.useShadows||e.useShadows,handleMouseWheel:void 0===e.handleMouseWheel||e.handleMouseWheel,flipAxes:void 0!==e.flipAxes&&e.flipAxes,alwaysConsumeMouseWheel:void 0!==e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:void 0!==e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:void 0!==e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,mouseWheelSmoothScroll:void 0===e.mouseWheelSmoothScroll||e.mouseWheelSmoothScroll,arrowSize:void 0!==e.arrowSize?e.arrowSize:11,listenOnDomNode:void 0!==e.listenOnDomNode?e.listenOnDomNode:null,horizontal:void 0!==e.horizontal?e.horizontal:f.b.Auto,horizontalScrollbarSize:void 0!==e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:void 0!==e.horizontalHasArrows&&e.horizontalHasArrows,vertical:void 0!==e.vertical?e.vertical:f.b.Auto,verticalScrollbarSize:void 0!==e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:void 0!==e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:void 0!==e.verticalSliderSize?e.verticalSliderSize:0};return t.horizontalSliderSize=void 0!==e.horizontalSliderSize?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=void 0!==e.verticalSliderSize?e.verticalSliderSize:t.verticalScrollbarSize,r.d&&(t.className+=" mac"),t}},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(10),i=o(22),r=Object(i.c)("openerService"),s=Object.freeze({_serviceBrand:void 0,open:function(){return n.b.as(void 0)}})},function(e,t,o){"use strict";o.d(t,"b",(function(){return i})),o.d(t,"a",(function(){return r}));var n=o(22),i=Object(n.c)("contextViewService"),r=Object(n.c)("contextMenuService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=o(39),i=o(15),r=o(37),s=o(57),a=new(function(){function e(){this._keybindings=[],this._keybindingsSorted=!0}return e.bindToCurrentPlatform=function(e){if(1===i.a){if(e&&e.win)return e.win}else if(2===i.a){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e},e.prototype.registerKeybindingRule=function(t,o){void 0===o&&(o=0);var r=e.bindToCurrentPlatform(t);if(r&&r.primary&&this._registerDefaultKeybinding(Object(n.f)(r.primary,i.a),t.id,t.weight,0,t.when,o),r&&Array.isArray(r.secondary))for(var s=0,a=r.secondary.length;s<a;s++){var l=r.secondary[s];this._registerDefaultKeybinding(Object(n.f)(l,i.a),t.id,t.weight,-s-1,t.when,o)}},e.prototype.registerCommandAndKeybindingRule=function(e,t){void 0===t&&(t=0),this.registerKeybindingRule(e,t),r.a.registerCommand(e)},e._mightProduceChar=function(e){return e>=21&&e<=30||(e>=31&&e<=56||(80===e||81===e||82===e||83===e||84===e||85===e||86===e||110===e||111===e||87===e||88===e||89===e||90===e||91===e||92===e))},e.prototype._assertNoCtrlAlt=function(t,o){t.ctrlKey&&t.altKey&&!t.metaKey&&e._mightProduceChar(t.keyCode)&&console.warn("Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ",t," for ",o)},e.prototype._registerDefaultKeybinding=function(e,t,o,n,r,s){0===s&&1===i.a&&(2===e.type?this._assertNoCtrlAlt(e.firstPart,t):this._assertNoCtrlAlt(e,t)),this._keybindings.push({keybinding:e,command:t,commandArgs:void 0,when:r,weight1:o,weight2:n}),this._keybindingsSorted=!1},e.prototype.getDefaultKeybindings=function(){return this._keybindingsSorted||(this._keybindings.sort(l),this._keybindingsSorted=!0),this._keybindings.slice(0)},e}());function l(e,t){return e.weight1!==t.weight1?e.weight1-t.weight1:e.command<t.command?-1:e.command>t.command?1:e.weight2-t.weight2}s.a.add("platform.keybindingsRegistry",a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i})),o.d(t,"c",(function(){return r}));var n=function(){function e(e,t,o){this.offset=0|e,this.type=t,this.language=o}return e.prototype.toString=function(){return"("+this.offset+", "+this.type+")"},e}(),i=function(e,t){this.tokens=e,this.endState=t},r=function(e,t){this.tokens=e,this.endState=t}},function(e,t,o){"use strict";function n(e,t){for(var o=e.getCount(),n=e.findTokenIndexAtOffset(t),r=e.getLanguageId(n),s=n;s+1<o&&e.getLanguageId(s+1)===r;)s++;for(var a=n;a>0&&e.getLanguageId(a-1)===r;)a--;return new i(e,r,a,s+1,e.getStartOffset(a),e.getEndOffset(s))}o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return r}));var i=function(){function e(e,t,o,n,i,r){this._actual=e,this.languageId=t,this._firstTokenIndex=o,this._lastTokenIndex=n,this.firstCharOffset=i,this._lastCharOffset=r}return e.prototype.getLineContent=function(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)},e.prototype.getTokenCount=function(){return this._lastTokenIndex-this._firstTokenIndex},e.prototype.findTokenIndexAtOffset=function(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex},e.prototype.getStandardTokenType=function(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)},e}();function r(e){return 0!=(7&e)}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(11),i=function(){function e(e,t){this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t}return e.prototype.equals=function(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)},e.prototype.slicedEquals=function(e,t,o){if(this._text!==e._text)return!1;if(this._tokensCount!==e._tokensCount)return!1;for(var n=t<<1,i=n+(o<<1),r=n;r<i;r++)if(this._tokens[r]!==e._tokens[r])return!1;return!0},e.prototype.getLineContent=function(){return this._text},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getStartOffset=function(e){return e>0?this._tokens[e-1<<1]:0},e.prototype.getLanguageId=function(e){var t=this._tokens[1+(e<<1)];return n.x.getLanguageId(t)},e.prototype.getStandardTokenType=function(e){var t=this._tokens[1+(e<<1)];return n.x.getTokenType(t)},e.prototype.getForeground=function(e){var t=this._tokens[1+(e<<1)];return n.x.getForeground(t)},e.prototype.getClassName=function(e){var t=this._tokens[1+(e<<1)];return n.x.getClassNameFromMetadata(t)},e.prototype.getInlineStyle=function(e,t){var o=this._tokens[1+(e<<1)];return n.x.getInlineStyleFromMetadata(o,t)},e.prototype.getEndOffset=function(e){return this._tokens[e<<1]},e.prototype.findTokenIndexAtOffset=function(t){return e.findIndexInTokensArray(this._tokens,t)},e.prototype.inflate=function(){return this},e.prototype.sliceAndInflate=function(e,t,o){return new r(this,e,t,o)},e.convertToEndOffset=function(e,t){for(var o=(e.length>>>1)-1,n=0;n<o;n++)e[n<<1]=e[n+1<<1];e[o<<1]=t},e.findIndexInTokensArray=function(e,t){if(e.length<=2)return 0;for(var o=0,n=(e.length>>>1)-1;o<n;){var i=o+Math.floor((n-o)/2),r=e[i<<1];if(r===t)return i+1;r<t?o=i+1:r>t&&(n=i)}return o},e}(),r=function(){function e(e,t,o,n){this._source=e,this._startOffset=t,this._endOffset=o,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(var i=this._firstTokenIndex,r=e.getCount();i<r;i++){if(e.getStartOffset(i)>=o)break;this._tokensCount++}}return e.prototype.equals=function(t){return t instanceof e&&(this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount))},e.prototype.getCount=function(){return this._tokensCount},e.prototype.getForeground=function(e){return this._source.getForeground(this._firstTokenIndex+e)},e.prototype.getEndOffset=function(e){var t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset},e.prototype.getClassName=function(e){return this._source.getClassName(this._firstTokenIndex+e)},e.prototype.getInlineStyle=function(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)},e.prototype.findTokenIndexAtOffset=function(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex},e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(2),i=o(9),r=o(18),s=o(8),a=function(){function e(e,t,o,n,i){this.value=e,this.selectionStart=t,this.selectionEnd=o,this.selectionStartPosition=n,this.selectionEndPosition=i}return e.prototype.toString=function(){return"[ <"+this.value+">, selectionStart: "+this.selectionStart+", selectionEnd: "+this.selectionEnd+"]"},e.readFromTextArea=function(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)},e.prototype.collapseSelection=function(){return new e(this.value,this.value.length,this.value.length,null,null)},e.prototype.writeToTextArea=function(e,t,o){t.setValue(e,this.value),o&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)},e.prototype.deduceEditorPosition=function(e){if(e<=this.selectionStart){var t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}var o=this.value.substring(this.selectionStart,e);if(-1===o.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(this.selectionStartPosition,o,1);var n=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,n,-1)},e.prototype._finishDeduceEditorPosition=function(e,t,o){for(var n=0,i=-1;-1!==(i=t.indexOf("\n",i+1));)n++;return[e,o*t.length,n]},e.selectedText=function(t){return new e(t,0,t.length,null,null)},e.deduceInput=function(e,t,o,n){if(!e)return{text:"",replaceCharCnt:0};var i=e.value,r=e.selectionStart,a=e.selectionEnd,l=t.value,u=t.selectionStart,c=t.selectionEnd;n&&i.length>0&&r===a&&u===c&&!s.startsWith(l,i)&&s.endsWith(l,i)&&(r=0,a=0);var h=i.substring(a),d=l.substring(c),g=s.commonSuffixLength(h,d);l=l.substring(0,l.length-g);var p=(i=i.substring(0,i.length-g)).substring(0,r),f=l.substring(0,u),m=s.commonPrefixLength(p,f);if(l=l.substring(m),i=i.substring(m),u-=m,r-=m,c-=m,a-=m,o&&u===c&&i.length>0){var _=null;if(u===l.length?s.startsWith(l,i)&&(_=l.substring(i.length)):s.endsWith(l,i)&&(_=l.substring(0,l.length-i.length)),null!==_&&_.length>0&&(/\uFE0F/.test(_)||s.containsEmoji(_)))return{text:_,replaceCharCnt:0}}return u===c?i===l&&0===r&&a===i.length&&u===l.length&&-1===l.indexOf("\n")&&s.containsFullWidthCharacter(l)?{text:"",replaceCharCnt:0}:{text:l,replaceCharCnt:p.length-m}:{text:l,replaceCharCnt:a-r}},e.EMPTY=new e("",0,0,null,null),e}(),l=function(){function e(){}return e._getPageOfLine=function(t){return Math.floor((t-1)/e._LINES_PER_PAGE)},e._getRangeForPage=function(t){var o=t*e._LINES_PER_PAGE,i=o+1,r=o+e._LINES_PER_PAGE;return new n.a(i,1,r+1,1)},e.fromEditorSelection=function(t,o,s,l){var u=e._getPageOfLine(s.startLineNumber),c=e._getRangeForPage(u),h=e._getPageOfLine(s.endLineNumber),d=e._getRangeForPage(h),g=c.intersectRanges(new n.a(1,1,s.startLineNumber,s.startColumn)),p=o.getValueInRange(g,r.c.LF),f=o.getLineCount(),m=o.getLineMaxColumn(f),_=d.intersectRanges(new n.a(s.endLineNumber,s.endColumn,f,m)),y=o.getValueInRange(_,r.c.LF),v=null;if(u===h||u+1===h)v=o.getValueInRange(s,r.c.LF);else{var b=c.intersectRanges(s),E=d.intersectRanges(s);v=o.getValueInRange(b,r.c.LF)+String.fromCharCode(8230)+o.getValueInRange(E,r.c.LF)}if(l){p.length>500&&(p=p.substring(p.length-500,p.length)),y.length>500&&(y=y.substring(0,500)),v.length>1e3&&(v=v.substring(0,500)+String.fromCharCode(8230)+v.substring(v.length-500,v.length))}return new a(p+v+y,p.length,p.length+v.length,new i.a(s.startLineNumber,s.startColumn),new i.a(s.endLineNumber,s.endColumn))},e._LINES_PER_PAGE=10,e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("modeService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(8),i=function(){function e(e,t){if(this.flags=t,0!=(1&this.flags)){var o=e.getModel();this.modelVersionId=o?n.format("{0}#{1}",o.uri.toString(),o.getVersionId()):null}0!=(4&this.flags)&&(this.position=e.getPosition()),0!=(2&this.flags)&&(this.selection=e.getSelection()),0!=(8&this.flags)&&(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop())}return e.prototype._equals=function(t){if(!(t instanceof e))return!1;var o=t;return this.modelVersionId===o.modelVersionId&&(this.scrollLeft===o.scrollLeft&&this.scrollTop===o.scrollTop&&(!(!this.position&&o.position||this.position&&!o.position||this.position&&o.position&&!this.position.equals(o.position))&&!(!this.selection&&o.selection||this.selection&&!o.selection||this.selection&&o.selection&&!this.selection.equalsRange(o.selection))))},e.prototype.validate=function(t){return this._equals(new e(t,this.flags))},e}(),r=function(){function e(e,t){this._visiblePosition=e,this._visiblePositionScrollDelta=t}return e.capture=function(t){var o=null,n=0;if(0!==t.getScrollTop()){var i=t.getVisibleRanges();if(i.length>0){o=i[0].getStartPosition();var r=t.getTopForPosition(o.lineNumber,o.column);n=t.getScrollTop()-r}}return new e(o,n)},e.prototype.restore=function(e){if(this._visiblePosition){var t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("editorWorkerService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"d",(function(){return i})),o.d(t,"b",(function(){return r})),o.d(t,"c",(function(){return s}));var n=function(){function e(e,t,o){for(var n=new Uint8Array(e*t),i=0,r=e*t;i<r;i++)n[i]=o;this._data=n,this.rows=e,this.cols=t}return e.prototype.get=function(e,t){return this._data[e*this.cols+t]},e.prototype.set=function(e,t,o){this._data[e*this.cols+t]=o},e}();function i(e){return e<0?0:e>255?255:0|e}function r(e){return e<0?0:e>4294967295?4294967295:0|e}function s(e){for(var t=e.length,o=new Uint32Array(t),n=0;n<t;n++)o[n]=r(e[n]);return o}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"c",(function(){return i})),o.d(t,"b",(function(){return f}));o(439);var n,i,r=o(6),s=o(24),a=o(15),l=o(21),u=o(66),c=o(41),h=o(4),d=o(1),g=o(50),p=!1;!function(e){e[e.VERTICAL=0]="VERTICAL",e[e.HORIZONTAL=1]="HORIZONTAL"}(n||(n={})),function(e){e[e.Disabled=0]="Disabled",e[e.Minimum=1]="Minimum",e[e.Maximum=2]="Maximum",e[e.Enabled=3]="Enabled"}(i||(i={}));var f=function(){function e(e,t,o){void 0===o&&(o={}),this.disposables=[],this._state=i.Enabled,this._onDidEnablementChange=new h.a,this.onDidEnablementChange=this._onDidEnablementChange.event,this._onDidStart=new h.a,this.onDidStart=this._onDidStart.event,this._onDidChange=new h.a,this.onDidChange=this._onDidChange.event,this._onDidReset=new h.a,this.onDidReset=this._onDidReset.event,this._onDidEnd=new h.a,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.orthogonalStartSashDisposables=[],this.orthogonalEndSashDisposables=[],this.el=Object(d.k)(e,Object(d.a)(".monaco-sash")),a.d&&Object(d.f)(this.el,"mac"),Object(g.a)(this.el,"mousedown")(this.onMouseDown,this,this.disposables),Object(g.a)(this.el,"dblclick")(this.onMouseDoubleClick,this,this.disposables),u.b.addTarget(this.el),Object(g.a)(this.el,u.a.Start)(this.onTouchStart,this,this.disposables),s.l&&Object(d.f)(this.el,"touch"),this.setOrientation(o.orientation||n.VERTICAL),this.hidden=!1,this.layoutProvider=t,this.orthogonalStartSash=o.orthogonalStartSash,this.orthogonalEndSash=o.orthogonalEndSash,Object(d.N)(this.el,"debug",p)}return Object.defineProperty(e.prototype,"state",{get:function(){return this._state},set:function(e){this._state!==e&&(Object(d.N)(this.el,"disabled",e===i.Disabled),Object(d.N)(this.el,"minimum",e===i.Minimum),Object(d.N)(this.el,"maximum",e===i.Maximum),this._state=e,this._onDidEnablementChange.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"orthogonalStartSash",{get:function(){return this._orthogonalStartSash},set:function(e){this.orthogonalStartSashDisposables=Object(r.d)(this.orthogonalStartSashDisposables),e?(e.onDidEnablementChange(this.onOrthogonalStartSashEnablementChange,this,this.orthogonalStartSashDisposables),this.onOrthogonalStartSashEnablementChange(e.state)):this.onOrthogonalStartSashEnablementChange(i.Disabled),this._orthogonalStartSash=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"orthogonalEndSash",{get:function(){return this._orthogonalEndSash},set:function(e){this.orthogonalEndSashDisposables=Object(r.d)(this.orthogonalEndSashDisposables),e?(e.onDidEnablementChange(this.onOrthogonalEndSashEnablementChange,this,this.orthogonalEndSashDisposables),this.onOrthogonalEndSashEnablementChange(e.state)):this.onOrthogonalEndSashEnablementChange(i.Disabled),this._orthogonalEndSash=e},enumerable:!0,configurable:!0}),e.prototype.setOrientation=function(e){this.orientation=e,this.orientation===n.HORIZONTAL?(Object(d.f)(this.el,"horizontal"),Object(d.G)(this.el,"vertical")):(Object(d.G)(this.el,"horizontal"),Object(d.f)(this.el,"vertical")),this.layoutProvider&&this.layout()},e.prototype.onMouseDown=function(e){var t=this;d.c.stop(e,!1);var o=!1;if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onMouseDown(e)),!e.__orthogonalSashEvent){var s=void 0;this.orientation===n.VERTICAL?e.offsetY<=4?s=this.orthogonalStartSash:e.offsetY>=this.el.clientHeight-4&&(s=this.orthogonalEndSash):e.offsetX<=4?s=this.orthogonalStartSash:e.offsetX>=this.el.clientWidth-4&&(s=this.orthogonalEndSash),s&&(o=!0,e.__orthogonalSashEvent=!0,s.onMouseDown(e))}if(this.state){for(var l=0,u=Object(d.v)("iframe");l<u.length;l++){u[l].style.pointerEvents="none"}var h=new c.b(e),p=h.posx,f=h.posy,m=h.altKey,_={startX:p,currentX:p,startY:f,currentY:f,altKey:m};Object(d.f)(this.el,"active"),this._onDidStart.fire(_);var y=Object(d.o)(this.el),v=function(){var e="";e=o?"all-scroll":t.orientation===n.HORIZONTAL?t.state===i.Minimum?"s-resize":t.state===i.Maximum?"n-resize":a.d?"row-resize":"ns-resize":t.state===i.Minimum?"e-resize":t.state===i.Maximum?"w-resize":a.d?"col-resize":"ew-resize",y.innerHTML="* { cursor: "+e+" !important; }"},b=[];v(),o||this.onDidEnablementChange(v,null,b);Object(g.a)(window,"mousemove")((function(e){d.c.stop(e,!1);var o=new c.b(e),n={startX:p,currentX:o.posx,startY:f,currentY:o.posy,altKey:m};t._onDidChange.fire(n)}),null,b),Object(g.a)(window,"mouseup")((function(e){d.c.stop(e,!1),t.el.removeChild(y),Object(d.G)(t.el,"active"),t._onDidEnd.fire(),Object(r.d)(b);for(var o=0,n=Object(d.v)("iframe");o<n.length;o++){n[o].style.pointerEvents="auto"}}),null,b)}},e.prototype.onMouseDoubleClick=function(e){this._onDidReset.fire()},e.prototype.onTouchStart=function(e){var t=this;d.c.stop(e);var o=[],n=e.pageX,i=e.pageY,s=e.altKey;this._onDidStart.fire({startX:n,currentX:n,startY:i,currentY:i,altKey:s}),o.push(Object(d.g)(this.el,u.a.Change,(function(e){l.f(e.pageX)&&l.f(e.pageY)&&t._onDidChange.fire({startX:n,currentX:e.pageX,startY:i,currentY:e.pageY,altKey:s})}))),o.push(Object(d.g)(this.el,u.a.End,(function(e){t._onDidEnd.fire(),Object(r.d)(o)})))},e.prototype.layout=function(){var e=s.l?20:4;if(this.orientation===n.VERTICAL){var t=this.layoutProvider;this.el.style.left=t.getVerticalSashLeft(this)-e/2+"px",t.getVerticalSashTop&&(this.el.style.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(this.el.style.height=t.getVerticalSashHeight(this)+"px")}else{var o=this.layoutProvider;this.el.style.top=o.getHorizontalSashTop(this)-e/2+"px",o.getHorizontalSashLeft&&(this.el.style.left=o.getHorizontalSashLeft(this)+"px"),o.getHorizontalSashWidth&&(this.el.style.width=o.getHorizontalSashWidth(this)+"px")}},e.prototype.hide=function(){this.hidden=!0,this.el.style.display="none",this.el.setAttribute("aria-hidden","true")},e.prototype.onOrthogonalStartSashEnablementChange=function(e){Object(d.N)(this.el,"orthogonal-start",e!==i.Disabled)},e.prototype.onOrthogonalEndSashEnablementChange=function(e){Object(d.N)(this.el,"orthogonal-end",e!==i.Disabled)},e.prototype.dispose=function(){this.orthogonalStartSashDisposables=Object(r.d)(this.orthogonalStartSashDisposables),this.orthogonalEndSashDisposables=Object(r.d)(this.orthogonalEndSashDisposables),this.el&&this.el.parentElement&&this.el.parentElement.removeChild(this.el),this.el=null,this.disposables=Object(r.d)(this.disposables)},e}()},function(e,t,o){"use strict";function n(e,t,o){var n=null,i=null;if("function"==typeof o.value?(n="value",0!==(i=o.value).length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof o.get&&(n="get",i=o.get),!i)throw new Error("not supported");var r="$memoize$"+t;o[n]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.hasOwnProperty(r)||Object.defineProperty(this,r,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[r]}}o.d(t,"a",(function(){return n}))},function(e,t,o){"use strict";var n=o(13),i=o(43),r=o(20),s=o(2),a=o(8),l=o(126),u=o(32),c=o(44),h=o(23),d=function(){function e(e,t,o){this._range=e,this._charBeforeSelection=t,this._charAfterSelection=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(new s.a(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),t.addTrackedEditOperation(new s.a(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations(),n=o[0].range,i=o[1].range;return new h.a(n.endLineNumber,n.endColumn,i.endLineNumber,i.endColumn-this._charAfterSelection.length)},e}(),g=o(102);o.d(t,"a",(function(){return p}));var p=function(){function e(){}return e.indent=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=new l.a(o[i],{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return n},e.outdent=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=new l.a(o[i],{isUnshift:!0,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops});return n},e.shiftIndent=function(e,t,o){o=o||1;for(var n=l.a.shiftIndentCount(t,t.length+o,e.tabSize),i="",r=0;r<n;r++)i+="\t";return i},e.unshiftIndent=function(e,t,o){o=o||1;for(var n=l.a.unshiftIndentCount(t,t.length+o,e.tabSize),i="",r=0;r<n;r++)i+="\t";return i},e._distributedPaste=function(e,t,o,n){for(var s=[],a=0,l=o.length;a<l;a++)s[a]=new i.a(o[a],n[a]);return new r.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._simplePaste=function(e,t,o,n,a){for(var l=[],u=0,c=o.length;u<c;u++){var h=o[u],d=h.getPosition();if(a&&n.indexOf("\n")!==n.length-1&&(a=!1),a&&h.startLineNumber!==h.endLineNumber&&(a=!1),a&&h.startColumn===t.getLineMinColumn(h.startLineNumber)&&h.endColumn===t.getLineMaxColumn(h.startLineNumber)&&(a=!1),a){var g=new s.a(d.lineNumber,1,d.lineNumber,1);l[u]=new i.a(g,n)}else l[u]=new i.a(h,n)}return new r.e(0,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._distributePasteToCursors=function(e,t,o,n){if(o)return null;if(1===e.length)return null;if(n&&n.length===e.length)return n;10===t.charCodeAt(t.length-1)&&(t=t.substr(0,t.length-1));var i=t.split(/\r\n|\r|\n/);return i.length===e.length?i:null},e.paste=function(e,t,o,n,i,r){var a=this._distributePasteToCursors(o,n,i,r);return a?(o=o.sort(s.a.compareRangesUsingStarts),this._distributedPaste(e,t,o,a)):this._simplePaste(e,t,o,n,i)},e._goodIndentForLine=function(t,o,n){var i,r,l=t.autoIndent?u.a.getInheritIndentForLine(o,n,!1):null;if(l)i=l.action,r=l.indentation;else if(n>1){var h=n-1;for(h=n-1;h>=1;h--){var d=o.getLineContent(h);if(a.lastNonWhitespaceIndex(d)>=0)break}if(h<1)return null;var g=o.getLineMaxColumn(h),p=u.a.getEnterAction(o,new s.a(h,g,h,g));p&&(r=p.indentation,(i=p.enterAction)&&(r+=i.appendText))}return i&&(i===c.a.Indent&&(r=e.shiftIndent(t,r)),i===c.a.Outdent&&(r=e.unshiftIndent(t,r)),r=t.normalizeIndentation(r)),r||null},e._replaceJumpToNextIndent=function(e,t,o,n){var s="",a=o.getStartPosition();if(e.insertSpaces)for(var l=r.a.visibleColumnFromColumn2(e,t,a),u=e.tabSize,c=u-l%u,h=0;h<c;h++)s+=" ";else s="\t";return new i.a(o,s,n)},e.tab=function(e,t,o){for(var n=[],r=0,u=o.length;r<u;r++){var c=o[r];if(c.isEmpty()){var h=t.getLineContent(c.startLineNumber);if(/^\s*$/.test(h)&&t.isCheapToTokenize(c.startLineNumber)){var d=this._goodIndentForLine(e,t,c.startLineNumber);d=d||"\t";var g=e.normalizeIndentation(d);if(!a.startsWith(h,g)){n[r]=new i.a(new s.a(c.startLineNumber,1,c.startLineNumber,h.length+1),g,!0);continue}}n[r]=this._replaceJumpToNextIndent(e,t,c,!0)}else{if(c.startLineNumber===c.endLineNumber){var p=t.getLineMaxColumn(c.startLineNumber);if(1!==c.startColumn||c.endColumn!==p){n[r]=this._replaceJumpToNextIndent(e,t,c,!1);continue}}n[r]=new l.a(c,{isUnshift:!1,tabSize:e.tabSize,oneIndent:e.oneIndent,useTabStops:e.useTabStops})}}return n},e.replacePreviousChar=function(e,t,o,n,a,l){for(var u=[],c=0,h=n.length;c<h;c++){var d=n[c];if(d.isEmpty()){var g=d.getPosition(),p=Math.max(1,g.column-l),f=new s.a(g.lineNumber,p,g.lineNumber,g.column);u[c]=new i.a(f,a)}else u[c]=null}return new r.e(1,u,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._typeCommand=function(e,t,o){return o?new i.d(e,t,!0):new i.a(e,t,!0)},e._enter=function(t,o,n,l){if(!o.isCheapToTokenize(l.getStartPosition().lineNumber)){var h=o.getLineContent(l.startLineNumber),d=a.getLeadingWhitespace(h).substring(0,l.startColumn-1);return e._typeCommand(l,"\n"+t.normalizeIndentation(d),n)}var g=u.a.getEnterAction(o,l);if(g){var p=g.enterAction,f=g.indentation;if(p.indentAction===c.a.None)return e._typeCommand(l,"\n"+t.normalizeIndentation(f+p.appendText),n);if(p.indentAction===c.a.Indent)return e._typeCommand(l,"\n"+t.normalizeIndentation(f+p.appendText),n);if(p.indentAction===c.a.IndentOutdent){var m=t.normalizeIndentation(f),_=t.normalizeIndentation(f+p.appendText),y="\n"+_+"\n"+m;return n?new i.d(l,y,!0):new i.c(l,y,-1,_.length-m.length,!0)}if(p.indentAction===c.a.Outdent){var v=e.unshiftIndent(t,f);return e._typeCommand(l,"\n"+t.normalizeIndentation(v+p.appendText),n)}}if(!t.autoIndent){var b=o.getLineContent(l.startLineNumber),E=a.getLeadingWhitespace(b).substring(0,l.startColumn-1);return e._typeCommand(l,"\n"+t.normalizeIndentation(E),n)}var C=u.a.getIndentForEnter(o,l,{unshiftIndent:function(o){return e.unshiftIndent(t,o)},shiftIndent:function(o){return e.shiftIndent(t,o)},normalizeIndentation:function(e){return t.normalizeIndentation(e)}},t.autoIndent),S=o.getLineContent(l.startLineNumber),T=a.getLeadingWhitespace(S).substring(0,l.startColumn-1);if(C){var w=r.a.visibleColumnFromColumn2(t,o,l.getEndPosition()),k=l.endColumn,O="\n";T!==t.normalizeIndentation(C.beforeEnter)&&(O=t.normalizeIndentation(C.beforeEnter)+S.substring(T.length,l.startColumn-1)+"\n",l=new s.a(l.startLineNumber,1,l.endLineNumber,l.endColumn));var R=o.getLineContent(l.endLineNumber),N=a.firstNonWhitespaceIndex(R);if(l=N>=0?l.setEndPosition(l.endLineNumber,Math.max(l.endColumn,N+1)):l.setEndPosition(l.endLineNumber,o.getLineMaxColumn(l.endLineNumber)),n)return new i.d(l,O+t.normalizeIndentation(C.afterEnter),!0);var L=0;return k<=N+1&&(t.insertSpaces||(w=Math.ceil(w/t.tabSize)),L=Math.min(w+1-t.normalizeIndentation(C.afterEnter).length-1,0)),new i.c(l,O+t.normalizeIndentation(C.afterEnter),0,L,!0)}return e._typeCommand(l,"\n"+t.normalizeIndentation(T),n)},e._isAutoIndentType=function(e,t,o){if(!e.autoIndent)return!1;for(var n=0,i=o.length;n<i;n++)if(!t.isCheapToTokenize(o[n].getEndPosition().lineNumber))return!1;return!0},e._runAutoIndentType=function(t,o,n,i){var r=u.a.getIndentationAtPosition(o,n.startLineNumber,n.startColumn),a=u.a.getIndentActionForType(o,n,i,{shiftIndent:function(o){return e.shiftIndent(t,o)},unshiftIndent:function(o){return e.unshiftIndent(t,o)}});if(null===a)return null;if(a!==t.normalizeIndentation(r)){var l=o.getLineFirstNonWhitespaceColumn(n.startLineNumber);return 0===l?e._typeCommand(new s.a(n.startLineNumber,0,n.endLineNumber,n.endColumn),t.normalizeIndentation(a)+i,!1):e._typeCommand(new s.a(n.startLineNumber,0,n.endLineNumber,n.endColumn),t.normalizeIndentation(a)+o.getLineContent(n.startLineNumber).substring(l-1,n.startColumn-1)+i,!1)}return null},e._isAutoClosingCloseCharType=function(e,t,o,n){if(!e.autoClosingBrackets||!e.autoClosingPairsClose.hasOwnProperty(n))return!1;for(var i=n===e.autoClosingPairsClose[n],r=0,s=o.length;r<s;r++){var a=o[r];if(!a.isEmpty())return!1;var l=a.getPosition(),u=t.getLineContent(l.lineNumber);if(u.charAt(l.column-1)!==n)return!1;if(i){var c=u.substr(0,l.column-1);if(this._countNeedlesInHaystack(c,n)%2==0)return!1}}return!0},e._countNeedlesInHaystack=function(e,t){for(var o=0,n=-1;-1!==(n=e.indexOf(t,n+1));)o++;return o},e._runAutoClosingCloseCharType=function(e,t,o,n,a){for(var l=[],u=0,c=n.length;u<c;u++){var h=n[u].getPosition(),d=new s.a(h.lineNumber,h.column,h.lineNumber,h.column+1);l[u]=new i.a(d,a)}return new r.e(1,l,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e._isBeforeClosingBrace=function(e,t,o){var n=e.autoClosingPairsOpen[t]===t,i=!1;for(var r in e.autoClosingPairsClose){var s=e.autoClosingPairsOpen[r]===r;if((n||!s)&&o===r){i=!0;break}}return i},e._isAutoClosingOpenCharType=function(t,o,i,r){if(!t.autoClosingBrackets||!t.autoClosingPairsOpen.hasOwnProperty(r))return!1;for(var s=0,a=i.length;s<a;s++){var l=i[s];if(!l.isEmpty())return!1;var c=l.getPosition(),h=o.getLineContent(c.lineNumber);if(("'"===r||'"'===r)&&c.column>1){var d=Object(g.a)(t.wordSeparators),p=h.charCodeAt(c.column-2);if(0===d.get(p))return!1}var f=h.charAt(c.column-1);if(f)if(!e._isBeforeClosingBrace(t,r,f)&&!/\s/.test(f))return!1;if(!o.isCheapToTokenize(c.lineNumber))return!1;o.forceTokenization(c.lineNumber);var m=o.getLineTokens(c.lineNumber),_=!1;try{_=u.a.shouldAutoClosePair(r,m,c.column)}catch(e){Object(n.e)(e)}if(!_)return!1}return!0},e._runAutoClosingOpenCharType=function(e,t,o,n,s){for(var a=[],l=0,u=n.length;l<u;l++){var c=n[l],h=t.autoClosingPairsOpen[s];a[l]=new i.c(c,s+h,0,-h.length)}return new r.e(1,a,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})},e._isSurroundSelectionType=function(e,t,o,n){if(!e.autoClosingBrackets||!e.surroundingPairs.hasOwnProperty(n))return!1;for(var i="'"===n||'"'===n,r=0,s=o.length;r<s;r++){var a=o[r];if(a.isEmpty())return!1;for(var l=!0,u=a.startLineNumber;u<=a.endLineNumber;u++){var c=t.getLineContent(u),h=u===a.startLineNumber?a.startColumn-1:0,d=u===a.endLineNumber?a.endColumn-1:c.length,g=c.substring(h,d);if(/[^ \t]/.test(g)){l=!1;break}}if(l)return!1;if(i&&a.startLineNumber===a.endLineNumber&&a.startColumn+1===a.endColumn){var p=t.getValueInRange(a);if("'"===p||'"'===p)return!1}}return!0},e._runSurroundSelectionType=function(e,t,o,n,i){for(var s=[],a=0,l=n.length;a<l;a++){var u=n[a],c=t.surroundingPairs[i];s[a]=new d(u,i,c)}return new r.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e._isTypeInterceptorElectricChar=function(e,t,o){return!(1!==o.length||!t.isCheapToTokenize(o[0].getEndPosition().lineNumber))},e._typeInterceptorElectricChar=function(e,t,o,l,c){if(!t.electricChars.hasOwnProperty(c)||!l.isEmpty())return null;var h=l.getPosition();o.forceTokenization(h.lineNumber);var d,g=o.getLineTokens(h.lineNumber);try{d=u.a.onElectricCharacter(c,g,h.column)}catch(e){Object(n.e)(e)}if(!d)return null;if(d.appendText){var p=new i.c(l,c+d.appendText,0,-d.appendText.length);return new r.e(1,[p],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}if(d.matchOpenBracket){var f=(g.getLineContent()+c).lastIndexOf(d.matchOpenBracket)+1,m=o.findMatchingBracketUp(d.matchOpenBracket,{lineNumber:h.lineNumber,column:f});if(m){if(m.startLineNumber===h.lineNumber)return null;var _=o.getLineContent(m.startLineNumber),y=a.getLeadingWhitespace(_),v=t.normalizeIndentation(y),b=o.getLineContent(h.lineNumber),E=o.getLineFirstNonWhitespaceColumn(h.lineNumber)||h.column,C=v+b.substring(E-1,h.column-1)+c,S=new s.a(h.lineNumber,1,h.lineNumber,h.column);p=new i.a(S,C);return new r.e(1,[p],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!0})}}return null},e.compositionEndWithInterceptors=function(t,o,s,a){if(!o.autoClosingBrackets)return null;for(var l=[],c=0;c<a.length;c++)if(a[c].isEmpty()){var h=a[c].getPosition(),d=s.getLineContent(h.lineNumber),p=d.charAt(h.column-2);if(o.autoClosingPairsClose.hasOwnProperty(p)&&p===o.autoClosingPairsClose[p]){var f=d.substr(0,h.column-2);if(this._countNeedlesInHaystack(f,p)%2==1)continue}if(o.autoClosingPairsOpen.hasOwnProperty(p)){if(("'"===p||'"'===p)&&h.column>2){var m=Object(g.a)(o.wordSeparators),_=d.charCodeAt(h.column-3);if(0===m.get(_))continue}var y=d.charAt(h.column-1);if(y)if(!e._isBeforeClosingBrace(o,p,y)&&!/\s/.test(y))continue;if(!s.isCheapToTokenize(h.lineNumber))continue;s.forceTokenization(h.lineNumber);var v=s.getLineTokens(h.lineNumber),b=!1;try{b=u.a.shouldAutoClosePair(p,v,h.column-1)}catch(e){Object(n.e)(e)}if(b){var E=o.autoClosingPairsOpen[p];l[c]=new i.c(a[c],E,0,-E.length)}}}return new r.e(1,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})},e.typeWithInterceptors=function(t,o,n,s,a){if("\n"===a){for(var l=[],u=0,c=s.length;u<c;u++)l[u]=e._enter(o,n,!1,s[u]);return new r.e(1,l,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoIndentType(o,n,s)){var h=[],d=!1;for(u=0,c=s.length;u<c;u++)if(h[u]=this._runAutoIndentType(o,n,s[u],a),!h[u]){d=!0;break}if(!d)return new r.e(1,h,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}if(this._isAutoClosingCloseCharType(o,n,s,a))return this._runAutoClosingCloseCharType(t,o,n,s,a);if(this._isAutoClosingOpenCharType(o,n,s,a))return this._runAutoClosingOpenCharType(t,o,n,s,a);if(this._isSurroundSelectionType(o,n,s,a))return this._runSurroundSelectionType(t,o,n,s,a);if(this._isTypeInterceptorElectricChar(o,n,s)){var g=this._typeInterceptorElectricChar(t,o,n,s[0],a);if(g)return g}var p=[];for(u=0,c=s.length;u<c;u++)p[u]=new i.a(s[u],a);var f=1!==t;return" "===a&&(f=!0),new r.e(1,p,{shouldPushStackElementBefore:f,shouldPushStackElementAfter:!1})},e.typeWithoutInterceptors=function(e,t,o,n,s){for(var a=[],l=0,u=n.length;l<u;l++)a[l]=new i.a(n[l],s);return new r.e(1,a,{shouldPushStackElementBefore:1!==e,shouldPushStackElementAfter:!1})},e.lineInsertBefore=function(e,t,o){for(var n=[],r=0,a=o.length;r<a;r++){var l=o[r].positionLineNumber;if(1===l)n[r]=new i.d(new s.a(1,1,1,1),"\n");else{l--;var u=t.getLineMaxColumn(l);n[r]=this._enter(e,t,!1,new s.a(l,u,l,u))}}return n},e.lineInsertAfter=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++){var a=o[i].positionLineNumber,l=t.getLineMaxColumn(a);n[i]=this._enter(e,t,!1,new s.a(a,l,a,l))}return n},e.lineBreakInsert=function(e,t,o){for(var n=[],i=0,r=o.length;i<r;i++)n[i]=this._enter(e,t,!0,o[i]);return n},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(4),i=new(function(){function e(){this._zoomLevel=0,this._onDidChangeZoomLevel=new n.a,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}return e.prototype.getZoomLevel=function(){return this._zoomLevel},e.prototype.setZoomLevel=function(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))},e}())},function(e,t,o){"use strict";var n;o.d(t,"a",(function(){return n})),function(e){e[e.PREVIEW=0]="PREVIEW",e[e.OPEN=1]="OPEN",e[e.OPEN_IN_BACKGROUND=2]="OPEN_IN_BACKGROUND"}(n||(n={}))},function(e,t,o){"use strict";var n,i=o(0),r=o(8);!function(e){e[e.Ignore=0]="Ignore",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(n||(n={})),function(e){var t="error",o="warning",n="warn",s="info",a=Object.create(null);a[e.Error]=i.a("sev.error","Error"),a[e.Warning]=i.a("sev.warning","Warning"),a[e.Info]=i.a("sev.info","Info"),e.fromValue=function(i){return i?r.equalsIgnoreCase(t,i)?e.Error:r.equalsIgnoreCase(o,i)||r.equalsIgnoreCase(n,i)?e.Warning:r.equalsIgnoreCase(s,i)?e.Info:e.Ignore:e.Ignore}}(n||(n={})),t.a=n},function(e,t,o){"use strict";o.d(t,"b",(function(){return v})),o.d(t,"a",(function(){return b}));var n=o(0),i=o(13),r=o(6),s=o(36),a=o(22),l=o(12),u=o(49),c=o(55),h=o(211),d=o(2),g=o(9),p=o(45),f=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},m=function(e,t){return function(o,n){t(o,n,e)}},_=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},y=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},v=new l.f("referenceSearchVisible",!1),b=function(){function e(e,t,o,n,i,r,s,a){this._defaultTreeKeyboardSupport=e,this._editorService=n,this._notificationService=i,this._instantiationService=r,this._storageService=s,this._configurationService=a,this._requestIdPool=0,this._disposables=[],this._ignoreModelChangeEvent=!1,this._editor=t,this._referenceSearchVisible=v.bindTo(o)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._referenceSearchVisible.reset(),Object(r.d)(this._disposables),Object(r.d)(this._widget),Object(r.d)(this._model),this._widget=null,this._model=null,this._editor=null},e.prototype.toggleWidget=function(e,t,o){var i,r=this;if(this._widget&&(i=this._widget.position),this.closeWidget(),i&&e.containsPosition(i))return null;this._referenceSearchVisible.set(!0),this._disposables.push(this._editor.onDidChangeModelLanguage((function(){r.closeWidget()}))),this._disposables.push(this._editor.onDidChangeModel((function(){r._ignoreModelChangeEvent||r.closeWidget()})));var s=JSON.parse(this._storageService.get("peekViewLayout",void 0,"{}"));this._widget=this._instantiationService.createInstance(h.a,this._editor,this._defaultTreeKeyboardSupport,s),this._widget.setTitle(n.a("labelLoading","Loading...")),this._widget.show(e),this._disposables.push(this._widget.onDidClose((function(){t.cancel(),r._storageService.store("peekViewLayout",JSON.stringify(r._widget.layoutData)),r._widget=null,r.closeWidget()}))),this._disposables.push(this._widget.onDidSelectReference((function(e){var t=e.element,n=e.kind;switch(n){case"open":if("editor"===e.source&&r._configurationService.getValue("editor.stablePeek"))break;case"side":r.openReference(t,"side"===n);break;case"goto":o.onGoto?o.onGoto(t):r._gotoReference(t)}})));var a=++this._requestIdPool;t.then((function(t){if(a===r._requestIdPool&&r._widget)return r._model&&r._model.dispose(),r._model=t,r._widget.setModel(r._model).then((function(){if(r._widget){r._widget.setMetaTitle(o.getMetaTitle(r._model));var t=r._editor.getModel().uri,n=new g.a(e.startLineNumber,e.startColumn),i=r._model.nearestReference(t,n);if(i)return r._widget.setSelection(i)}}))}),(function(e){r._notificationService.error(e)}))},e.prototype.goToNextOrPreviousReference=function(e){return _(this,void 0,void 0,(function(){var t,o,n;return y(this,(function(i){switch(i.label){case 0:return this._model?(t=this._model.nearestReference(this._editor.getModel().uri,this._widget.position),o=this._model.nextOrPreviousReference(t,e),n=this._editor.hasTextFocus(),[4,this._widget.setSelection(o)]):[3,3];case 1:return i.sent(),[4,this._gotoReference(o)];case 2:i.sent(),n&&this._editor.focus(),i.label=3;case 3:return[2]}}))}))},e.prototype.closeWidget=function(){Object(r.d)(this._widget),this._widget=null,this._referenceSearchVisible.reset(),this._disposables=Object(r.d)(this._disposables),Object(r.d)(this._model),this._model=null,this._editor.focus(),this._requestIdPool+=1},e.prototype._gotoReference=function(e){var t=this;this._widget.hide(),this._ignoreModelChangeEvent=!0;var o=d.a.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:o}},this._editor).then((function(e){t._ignoreModelChangeEvent=!1,e&&e===t._editor?(t._widget.show(o),t._widget.focus()):t.closeWidget()}),(function(e){t._ignoreModelChangeEvent=!1,Object(i.e)(e)}))},e.prototype.openReference=function(e,t){var o=e.uri,n=e.range;this._editorService.openCodeEditor({resource:o,options:{selection:n}},this._editor,t),t||this.closeWidget()},e.ID="editor.contrib.referencesController",e=f([m(2,l.e),m(3,s.a),m(4,p.a),m(5,a.a),m(6,c.a),m(7,u.b)],e)}()},function(e,t,o){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var o=0;o<this._listeners[e].length;o++)this._listeners[e][o].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.end()})),e.on("error",(function(e){t.error(e)})),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;this.isPaused=!1;var e=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)this.extraStreamInfo.hasOwnProperty(e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},e.exports=n},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});const i=o(122);t.ErrorCodes=i.ErrorCodes,t.ResponseError=i.ResponseError,t.CancellationToken=i.CancellationToken,t.CancellationTokenSource=i.CancellationTokenSource,t.Disposable=i.Disposable,t.Event=i.Event,t.Emitter=i.Emitter,t.Trace=i.Trace,t.TraceFormat=i.TraceFormat,t.SetTraceNotification=i.SetTraceNotification,t.LogTraceNotification=i.LogTraceNotification,t.RequestType=i.RequestType,t.RequestType0=i.RequestType0,t.NotificationType=i.NotificationType,t.NotificationType0=i.NotificationType0,t.MessageReader=i.MessageReader,t.MessageWriter=i.MessageWriter,t.ConnectionStrategy=i.ConnectionStrategy,t.StreamMessageReader=i.StreamMessageReader,t.StreamMessageWriter=i.StreamMessageWriter,t.IPCMessageReader=i.IPCMessageReader,t.IPCMessageWriter=i.IPCMessageWriter,t.createClientPipeTransport=i.createClientPipeTransport,t.createServerPipeTransport=i.createServerPipeTransport,t.generateRandomPipeName=i.generateRandomPipeName,t.createClientSocketTransport=i.createClientSocketTransport,t.createServerSocketTransport=i.createServerSocketTransport,n(o(509)),n(o(510)),t.createProtocolConnection=function(e,t,o,n){return i.createMessageConnection(e,t,o,n)}},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n,i=o(116),r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),s=function(e){function t(t){for(var o=e.call(this,0)||this,n=0,i=t.length;n<i;n++)o.set(t.charCodeAt(n),2);return o.set(32,1),o.set(9,1),o}return r(t,e),t}(i.a);var a,l,u=(a=function(e){return new s(e)},l={},function(e){return l.hasOwnProperty(e)||(l[e]=a(e)),l[e]})},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("themeService")},function(e,t,o){"use strict";var n=o(0),i=o(4),r=o(57),s=o(21),a=o(8),l="base.contributions.json";var u=new(function(){function e(){this._onDidChangeSchema=new i.a,this.schemasById={}}return e.prototype.registerSchema=function(e,t){var o;this.schemasById[(o=e,o.length>0&&"#"===o.charAt(o.length-1)?o.substring(0,o.length-1):o)]=t,this._onDidChangeSchema.fire(e)},e}());r.a.add(l,u),o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return c})),o.d(t,"c",(function(){return C}));var c,h={Configuration:"base.contributions.configuration"};!function(e){e[e.APPLICATION=1]="APPLICATION",e[e.WINDOW=2]="WINDOW",e[e.RESOURCE=3]="RESOURCE"}(c||(c={}));var d={properties:{},patternProperties:{}},g={properties:{},patternProperties:{}},p={properties:{},patternProperties:{}},f={properties:{},patternProperties:{}},m="vscode://schemas/settings/editor",_=r.a.as(l),y=function(){function e(){this.overrideIdentifiers=[],this._onDidSchemaChange=new i.a,this._onDidRegisterConfiguration=new i.a,this.configurationContributors=[],this.editorConfigurationSchema={properties:{},patternProperties:{},additionalProperties:!1,errorMessage:"Unknown editor configuration setting"},this.configurationProperties={},this.excludedConfigurationProperties={},this.computeOverridePropertyPattern(),_.registerSchema(m,this.editorConfigurationSchema)}return e.prototype.registerConfiguration=function(e,t){void 0===t&&(t=!0),this.registerConfigurations([e],[],t)},e.prototype.registerConfigurations=function(e,t,o){var n=this;void 0===o&&(o=!0);var i=this.toConfiguration(t);i&&e.push(i);var r=[];e.forEach((function(e){r.push.apply(r,n.validateAndRegisterProperties(e,o)),n.configurationContributors.push(e),n.registerJSONConfiguration(e),n.updateSchemaForOverrideSettingsConfiguration(e)})),this._onDidRegisterConfiguration.fire(r)},e.prototype.registerOverrideIdentifiers=function(e){var t;(t=this.overrideIdentifiers).push.apply(t,e),this.updateOverridePropertyPatternKey()},e.prototype.toConfiguration=function(e){for(var t={id:"defaultOverrides",title:n.a("defaultConfigurations.title","Default Configuration Overrides"),properties:{}},o=0,i=e;o<i.length;o++){var r=i[o];for(var s in r.defaults){var a=r.defaults[s];C.test(s)&&"object"==typeof a&&(t.properties[s]={type:"object",default:a,description:n.a("overrideSettings.description","Configure editor settings to be overridden for {0} language.",s),$ref:m})}}return Object.keys(t.properties).length?t:null},e.prototype.validateAndRegisterProperties=function(e,t,o,n){void 0===t&&(t=!0),void 0===o&&(o=c.WINDOW),void 0===n&&(n=!1),o=s.j(e.scope)?o:e.scope,n=e.overridable||n;var i=[],r=e.properties;if(r)for(var a in r){var l=void 0;if(t&&(l=w(a)))console.warn(l),delete r[a];else{var u=r[a],h=u.default;s.i(h)&&(u.default=S(u.type)),n&&(u.overridable=!0),C.test(a)?u.scope=void 0:u.scope=s.j(u.scope)?o:u.scope,!r[a].hasOwnProperty("included")||r[a].included?(this.configurationProperties[a]=r[a],i.push(a)):(this.excludedConfigurationProperties[a]=r[a],delete r[a])}}var d=e.allOf;if(d)for(var g=0,p=d;g<p.length;g++){var f=p[g];i.push.apply(i,this.validateAndRegisterProperties(f,t,o,n))}return i},e.prototype.getConfigurationProperties=function(){return this.configurationProperties},e.prototype.registerJSONConfiguration=function(e){!function e(t){var o=t.properties;if(o)for(var n in o)switch(d.properties[n]=o[n],o[n].scope){case c.APPLICATION:g.properties[n]=o[n];break;case c.WINDOW:p.properties[n]=o[n];break;case c.RESOURCE:f.properties[n]=o[n]}var i=t.allOf;i&&i.forEach(e)}(e),this._onDidSchemaChange.fire()},e.prototype.updateSchemaForOverrideSettingsConfiguration=function(e){e.id!==v&&(this.update(e),_.registerSchema(m,this.editorConfigurationSchema))},e.prototype.updateOverridePropertyPatternKey=function(){var e=d.patternProperties[this.overridePropertyPattern];e||(e={type:"object",description:n.a("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:"Unknown Identifier. Use language identifiers",$ref:m}),delete d.patternProperties[this.overridePropertyPattern],delete g.patternProperties[this.overridePropertyPattern],delete p.patternProperties[this.overridePropertyPattern],delete f.patternProperties[this.overridePropertyPattern],this.computeOverridePropertyPattern(),d.patternProperties[this.overridePropertyPattern]=e,g.patternProperties[this.overridePropertyPattern]=e,p.patternProperties[this.overridePropertyPattern]=e,f.patternProperties[this.overridePropertyPattern]=e,this._onDidSchemaChange.fire()},e.prototype.update=function(e){var t=this,o=e.properties;if(o)for(var n in o)o[n].overridable&&(this.editorConfigurationSchema.properties[n]=this.getConfigurationProperties()[n]);var i=e.allOf;i&&i.forEach((function(e){return t.update(e)}))},e.prototype.computeOverridePropertyPattern=function(){this.overridePropertyPattern=this.overrideIdentifiers.length?E.replace("${0}",this.overrideIdentifiers.map((function(e){return a.createRegExp(e,!1).source})).join("|")):b},e}(),v="override",b="\\[.*\\]$",E="\\[(${0})\\]$",C=new RegExp(b);function S(e){switch(Array.isArray(e)?e[0]:e){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}var T=new y;function w(e){return C.test(e)?n.a("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",e):void 0!==T.getConfigurationProperties()[e]?n.a("config.property.duplicate","Cannot register '{0}'. This property is already registered.",e):null}r.a.add(h.Configuration,T)},function(e,t,o){"use strict";o.d(t,"b",(function(){return n})),o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return r})),o.d(t,"d",(function(){return s}));var n="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";var i=function(e){void 0===e&&(e="");for(var t="(-?\\d*\\.\\d\\w*)|([^",o=0;o<n.length;o++)e.indexOf(n[o])>=0||(t+="\\"+n[o]);return t+="\\s]+)",new RegExp(t,"g")}();function r(e){var t=i;if(e&&e instanceof RegExp)if(e.global)t=e;else{var o="g";e.ignoreCase&&(o+="i"),e.multiline&&(o+="m"),t=new RegExp(e.source,o)}return t.lastIndex=0,t}function s(e,t,o,n){t.lastIndex=0;var i=t.exec(o);if(!i)return null;var r=i[0].indexOf(" ")>=0?function(e,t,o,n){var i,r=e-1-n;for(t.lastIndex=0;i=t.exec(o);){if(i.index>r)return null;if(t.lastIndex>=r)return{word:i[0],startColumn:n+1+i.index,endColumn:n+1+t.lastIndex}}return null}(e,t,o,n):function(e,t,o,n){var i,r=e-1-n,s=o.lastIndexOf(" ",r-1)+1,a=o.indexOf(" ",r);for(-1===a&&(a=o.length),t.lastIndex=s;i=t.exec(o);)if(i.index<=r&&t.lastIndex>=r)return{word:i[0],startColumn:n+1+i.index,endColumn:n+1+t.lastIndex};return null}(e,t,o,n);return t.lastIndex=0,r}},function(e,t,o){"use strict";o.d(t,"b",(function(){return s})),o.d(t,"a",(function(){return _}));var n=o(8),i=o(2),r=function(e,t,o,n,i){this.languageIdentifier=e,this.open=t,this.close=o,this.forwardRegex=n,this.reversedRegex=i},s=function(e,t){var o=this;this.brackets=t.map((function(t){return new r(e,t[0],t[1],l({open:t[0],close:t[1]}),u({open:t[0],close:t[1]}))})),this.forwardRegex=c(this.brackets),this.reversedRegex=h(this.brackets),this.textIsBracket={},this.textIsOpenBracket={};var n=0;this.brackets.forEach((function(e){o.textIsBracket[e.open.toLowerCase()]=e,o.textIsBracket[e.close.toLowerCase()]=e,o.textIsOpenBracket[e.open.toLowerCase()]=!0,o.textIsOpenBracket[e.close.toLowerCase()]=!1,n=Math.max(n,e.open.length),n=Math.max(n,e.close.length)})),this.maxBracketLength=n};function a(e,t){var o={};return function(n){var i=e(n);return o.hasOwnProperty(i)||(o[i]=t(n)),o[i]}}var l=a((function(e){return e.open+";"+e.close}),(function(e){return g([e.open,e.close])})),u=a((function(e){return e.open+";"+e.close}),(function(e){return g([m(e.open),m(e.close)])})),c=a((function(e){return e.map((function(e){return e.open+";"+e.close})).join(";")}),(function(e){var t=[];return e.forEach((function(e){t.push(e.open),t.push(e.close)})),g(t)})),h=a((function(e){return e.map((function(e){return e.open+";"+e.close})).join(";")}),(function(e){var t=[];return e.forEach((function(e){t.push(m(e.open)),t.push(m(e.close))})),g(t)}));function d(e){var t=/^[\w]+$/.test(e);return e=n.escapeRegExpCharacters(e),t?"\\b"+e+"\\b":e}function g(e){var t="("+e.map(d).join(")|(")+")";return n.createRegExp(t,!0)}var p,f,m=(p=null,f=null,function(e){return p!==e&&(f=function(e){for(var t="",o=e.length-1;o>=0;o--)t+=e.charAt(o);return t}(p=e)),f}),_=function(){function e(){}return e._findPrevBracketInText=function(e,t,o,n){var r=o.match(e);if(!r)return null;var s=o.length-r.index,a=r[0].length,l=n+s;return new i.a(t,l-a+1,t,l+1)},e.findPrevBracketInToken=function(e,t,o,n,i){var r=m(o).substring(o.length-i,o.length-n);return this._findPrevBracketInText(e,t,r,n)},e.findNextBracketInText=function(e,t,o,n){var r=o.match(e);if(!r)return null;var s=r.index,a=r[0].length;if(0===a)return null;var l=n+s;return new i.a(t,l+1,t,l+1+a)},e.findNextBracketInToken=function(e,t,o,n,i){var r=o.substring(n,i);return this.findNextBracketInText(e,t,r,n)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return c})),o.d(t,"b",(function(){return g}));var n,i=o(20),r=o(9),s=o(102),a=o(8),l=o(2),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(){}return e._createWord=function(e,t,o,n,i){return{start:n,end:i,wordType:t,nextCharClass:o}},e._findPreviousWordOnLine=function(e,t,o){var n=t.getLineContent(o.lineNumber);return this._doFindPreviousWordOnLine(n,e,o)},e._doFindPreviousWordOnLine=function(e,t,o){for(var n=0,i=o.column-2;i>=0;i--){var r=e.charCodeAt(i),s=t.get(r);if(0===s){if(2===n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1));n=1}else if(2===s){if(1===n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1));n=2}else if(1===s&&0!==n)return this._createWord(e,n,s,i+1,this._findEndOfWord(e,t,n,i+1))}return 0!==n?this._createWord(e,n,1,0,this._findEndOfWord(e,t,n,0)):null},e._findEndOfWord=function(e,t,o,n){for(var i=e.length,r=n;r<i;r++){var s=e.charCodeAt(r),a=t.get(s);if(1===a)return r;if(1===o&&2===a)return r;if(2===o&&0===a)return r}return i},e._findNextWordOnLine=function(e,t,o){var n=t.getLineContent(o.lineNumber);return this._doFindNextWordOnLine(n,e,o)},e._doFindNextWordOnLine=function(e,t,o){for(var n=0,i=e.length,r=o.column-1;r<i;r++){var s=e.charCodeAt(r),a=t.get(s);if(0===a){if(2===n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r);n=1}else if(2===a){if(1===n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r);n=2}else if(1===a&&0!==n)return this._createWord(e,n,a,this._findStartOfWord(e,t,n,r-1),r)}return 0!==n?this._createWord(e,n,1,this._findStartOfWord(e,t,n,i-1),i):null},e._findStartOfWord=function(e,t,o,n){for(var i=n;i>=0;i--){var r=e.charCodeAt(i),s=t.get(r);if(1===s)return i+1;if(1===o&&2===s)return i+1;if(2===o&&0===s)return i+1}return 0},e.moveWordLeft=function(t,o,n,i){var s=n.lineNumber,a=n.column;1===a&&s>1&&(s-=1,a=o.getLineMaxColumn(s));var l=e._findPreviousWordOnLine(t,o,new r.a(s,a));return 0===i?(l&&2===l.wordType&&l.end-l.start==1&&0===l.nextCharClass&&(l=e._findPreviousWordOnLine(t,o,new r.a(s,l.start+1))),a=l?l.start+1:1):(l&&a<=l.end+1&&(l=e._findPreviousWordOnLine(t,o,new r.a(s,l.start+1))),a=l?l.end+1:1),new r.a(s,a)},e.moveWordRight=function(t,o,n,i){var s=n.lineNumber,a=n.column;a===o.getLineMaxColumn(s)&&s<o.getLineCount()&&(s+=1,a=1);var l=e._findNextWordOnLine(t,o,new r.a(s,a));return 1===i?(l&&2===l.wordType&&l.end-l.start==1&&0===l.nextCharClass&&(l=e._findNextWordOnLine(t,o,new r.a(s,l.end+1))),a=l?l.end+1:o.getLineMaxColumn(s)):(l&&a>=l.start+1&&(l=e._findNextWordOnLine(t,o,new r.a(s,l.end+1))),a=l?l.start+1:o.getLineMaxColumn(s)),new r.a(s,a)},e._deleteWordLeftWhitespace=function(e,t){var o=e.getLineContent(t.lineNumber),n=t.column-2,i=a.lastNonWhitespaceIndex(o,n);return i+1<n?new l.a(t.lineNumber,i+2,t.lineNumber,t.column):null},e.deleteWordLeft=function(t,o,n,i,s){if(!n.isEmpty())return n;var a=new r.a(n.positionLineNumber,n.positionColumn),u=a.lineNumber,c=a.column;if(1===u&&1===c)return null;if(i){var h=this._deleteWordLeftWhitespace(o,a);if(h)return h}var d=e._findPreviousWordOnLine(t,o,a);return 0===s?d?c=d.start+1:c>1?c=1:(u--,c=o.getLineMaxColumn(u)):(d&&c<=d.end+1&&(d=e._findPreviousWordOnLine(t,o,new r.a(u,d.start+1))),d?c=d.end+1:c>1?c=1:(u--,c=o.getLineMaxColumn(u))),new l.a(u,c,a.lineNumber,a.column)},e._findFirstNonWhitespaceChar=function(e,t){for(var o=e.length,n=t;n<o;n++){var i=e.charAt(n);if(" "!==i&&"\t"!==i)return n}return o},e._deleteWordRightWhitespace=function(e,t){var o=e.getLineContent(t.lineNumber),n=t.column-1,i=this._findFirstNonWhitespaceChar(o,n);return n+1<i?new l.a(t.lineNumber,t.column,t.lineNumber,i+1):null},e.deleteWordRight=function(t,o,n,i,s){if(!n.isEmpty())return n;var a=new r.a(n.positionLineNumber,n.positionColumn),u=a.lineNumber,c=a.column,h=o.getLineCount(),d=o.getLineMaxColumn(u);if(u===h&&c===d)return null;if(i){var g=this._deleteWordRightWhitespace(o,a);if(g)return g}var p=e._findNextWordOnLine(t,o,a);return 1===s?p?c=p.end+1:c<d||u===h?c=d:(u++,c=(p=e._findNextWordOnLine(t,o,new r.a(u,1)))?p.start+1:o.getLineMaxColumn(u)):(p&&c>=p.start+1&&(p=e._findNextWordOnLine(t,o,new r.a(u,p.end+1))),p?c=p.start+1:c<d||u===h?c=d:(u++,c=(p=e._findNextWordOnLine(t,o,new r.a(u,1)))?p.start+1:o.getLineMaxColumn(u))),new l.a(u,c,a.lineNumber,a.column)},e.word=function(t,o,n,a,u){var c=Object(s.a)(t.wordSeparators),h=e._findPreviousWordOnLine(c,o,u),d=e._findNextWordOnLine(c,o,u);if(!a){var g,p,f=h&&1===h.wordType&&h.start<=u.column-1&&u.column-1<=h.end,m=d&&1===d.wordType&&d.start<=u.column-1&&u.column-1<=d.end;return f?(g=h.start+1,p=h.end+1):m?(g=d.start+1,p=d.end+1):(g=h?h.end+1:1,p=d?d.start+1:o.getLineMaxColumn(u.lineNumber)),new i.f(new l.a(u.lineNumber,g,u.lineNumber,p),0,new r.a(u.lineNumber,p),0)}var _,y,v=h&&1===h.wordType&&h.start<u.column-1&&u.column-1<h.end,b=d&&1===d.wordType&&d.start<u.column-1&&u.column-1<d.end;v?(_=h.start+1,y=h.end+1):b?(_=d.start+1,y=d.end+1):(_=u.column,y=u.column);var E,C=u.lineNumber;if(n.selectionStart.containsPosition(u))E=n.selectionStart.endColumn;else if(u.isBeforeOrEqual(n.selectionStart.getStartPosition())){E=_;var S=new r.a(C,E);n.selectionStart.containsPosition(S)&&(E=n.selectionStart.endColumn)}else{E=y;S=new r.a(C,E);n.selectionStart.containsPosition(S)&&(E=n.selectionStart.startColumn)}return n.move(!0,C,E,0)},e}();function h(e,t){void 0===t&&(t=e.length-1);for(var o=!a.isLowerAsciiLetter(e.charCodeAt(t+1)),n=t;n>=0;n--){var i=e.charCodeAt(n);if(32===i||9===i||!o&&a.isUpperAsciiLetter(i)||95===i)return n-1;if(o&&n<t&&a.isLowerAsciiLetter(i))return n;o=o&&a.isUpperAsciiLetter(i)}return-1}function d(e,t){void 0===t&&(t=0);var o=e.charCodeAt(t-1),n=e.charCodeAt(t);if((32===o||9===o)&&(a.isLowerAsciiLetter(n)||a.isUpperAsciiLetter(n)))return t+1;for(var i=a.isUpperAsciiLetter(n),r=t;r<e.length;++r){if(32===(n=e.charCodeAt(r))||9===n||!i&&a.isUpperAsciiLetter(n))return r+1;if(i&&a.isLowerAsciiLetter(n))return r;if(i=i&&a.isUpperAsciiLetter(n),95===n)return r+2}return e.length+1}var g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return u(t,e),t.deleteWordPartLeft=function(e,t,o,n,i){if(!o.isEmpty())return o;var s=new r.a(o.positionLineNumber,o.positionColumn),a=s.lineNumber,u=s.column;if(1===a&&1===u)return null;if(n){var d=c._deleteWordLeftWhitespace(t,s);if(d)return d}var g=c.deleteWordLeft(e,t,o,n,i),p=h(t.getLineContent(s.lineNumber),s.column-2),f=new l.a(a,u,a,p+2);return f.getStartPosition().isBeforeOrEqual(g.getStartPosition())?g:f},t.deleteWordPartRight=function(e,t,o,n,i){if(!o.isEmpty())return o;var s=new r.a(o.positionLineNumber,o.positionColumn),a=s.lineNumber,u=s.column,h=t.getLineCount(),g=t.getLineMaxColumn(a);if(a===h&&u===g)return null;if(n){var p=c._deleteWordRightWhitespace(t,s);if(p)return p}var f=c.deleteWordRight(e,t,o,n,i),m=d(t.getLineContent(s.lineNumber),s.column),_=new l.a(a,u,a,m);return f.getEndPosition().isBeforeOrEqual(_.getEndPosition())?f:_},t.moveWordPartLeft=function(e,t,o,n){var i=o.lineNumber,s=o.column;if(1===s)return i>1?new r.a(i-1,t.getLineMaxColumn(i-1)):o;var a=c.moveWordLeft(e,t,o,n),l=h(t.getLineContent(i),s-2),u=new r.a(i,l+2);return u.isBeforeOrEqual(a)?a:u},t.moveWordPartRight=function(e,t,o,n){var i=o.lineNumber,s=o.column;if(s===t.getLineMaxColumn(i))return i<t.getLineCount()?new r.a(i+1,1):o;var a=c.moveWordRight(e,t,o,n),l=d(t.getLineContent(i),s),u=new r.a(i,l);return a.isBeforeOrEqual(u)?a:u},t}(c)},function(e,t){var o,n,i=e.exports={};function r(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(e){if(o===setTimeout)return setTimeout(e,0);if((o===r||!o)&&setTimeout)return o=setTimeout,setTimeout(e,0);try{return o(e,0)}catch(t){try{return o.call(null,e,0)}catch(t){return o.call(this,e,0)}}}!function(){try{o="function"==typeof setTimeout?setTimeout:r}catch(e){o=r}try{n="function"==typeof clearTimeout?clearTimeout:s}catch(e){n=s}}();var l,u=[],c=!1,h=-1;function d(){c&&l&&(c=!1,l.length?u=l.concat(u):h=-1,u.length&&g())}function g(){if(!c){var e=a(d);c=!0;for(var t=u.length;t;){for(l=u,u=[];++h<t;)l&&l[h].run();h=-1,t=u.length}l=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function f(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)t[o-1]=arguments[o];u.push(new p(e,t)),1!==u.length||c||a(g)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,o){"use strict";var n=o(520),i=o(121);e.exports=n.createVSCodeApi(i.Services.get)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("telemetryService")},function(e,t,o){"use strict";o.d(t,"e",(function(){return v})),o.d(t,"a",(function(){return b})),o.d(t,"b",(function(){return E})),o.d(t,"c",(function(){return L})),o.d(t,"d",(function(){return B}));var n=o(8),i=o(79);function r(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(t,o){for(var n=0,i=e.length;n<i;n++){var r=e[n](t,o);if(r)return r}return null}}var s=function(e,t,o){if(!o||o.length<t.length)return null;var i;i=e?n.startsWithIgnoreCase(o,t):0===o.indexOf(t);if(!i)return null;return t.length>0?[{start:0,end:t.length}]:[]}.bind(void 0,!0);function a(e){return 97<=e&&e<=122}function l(e){return 65<=e&&e<=90}function u(e){return 48<=e&&e<=57}function c(e){return 32===e||9===e||10===e||13===e}function h(e){return a(e)||l(e)||u(e)}function d(e,t){return 0===t.length?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function g(e,t){for(var o=t;o<e.length;o++){var n=e.charCodeAt(o);if(l(n)||u(n)||o>0&&!h(e.charCodeAt(o-1)))return o}return e.length}function p(e,t,o,n){if(o===e.length)return[];if(n===t.length)return null;if(e[o]!==t[n].toLowerCase())return null;var i=null,r=n+1;for(i=p(e,t,o+1,n+1);!i&&(r=g(t,r))<t.length;)i=p(e,t,o+1,r),r++;return null===i?null:d({start:n,end:n+1},i)}function f(e,t){if(!t)return null;if(0===(t=t.trim()).length)return null;if(!function(e){for(var t=0,o=0,n=0,i=0,r=0;r<e.length;r++)l(n=e.charCodeAt(r))&&t++,a(n)&&o++,c(n)&&i++;return 0!==t&&0!==o||0!==i?t<=5:e.length<=30}(e))return null;if(t.length>60)return null;var o=function(e){for(var t=0,o=0,n=0,i=0,r=0,s=0;s<e.length;s++)l(r=e.charCodeAt(s))&&t++,a(r)&&o++,h(r)&&n++,u(r)&&i++;return{upperPercent:t/e.length,lowerPercent:o/e.length,alphaPercent:n/e.length,numericPercent:i/e.length}}(t);if(!function(e){var t=e.upperPercent,o=e.lowerPercent,n=e.alphaPercent,i=e.numericPercent;return o>.2&&t<.8&&n>.6&&i<.2}(o)){if(!function(e){var t=e.upperPercent;return 0===e.lowerPercent&&t>.6}(o))return null;t=t.toLowerCase()}var n=null,i=0;for(e=e.toLowerCase();i<t.length&&null===(n=p(e,t,0,i));)i=g(t,i+1);return n}var m=r(s,f,(function(e,t){var o=t.toLowerCase().indexOf(e.toLowerCase());return-1===o?null:[{start:o,end:o+e.length}]})),_=r(s,f,(function(e,t){return function e(t,o,n,i){if(n===t.length)return[];if(i===o.length)return null;if(t[n]===o[i]){var r;return(r=e(t,o,n+1,i+1))?d({start:i,end:i+1},r):null}return e(t,o,n,i+1)}(e.toLowerCase(),t.toLowerCase(),0,0)})),y=new i.a(1e4);function v(e,t,o){if(void 0===o&&(o=!1),"string"!=typeof e||"string"!=typeof t)return null;var i=y.get(e);i||(i=new RegExp(n.convertSimple2RegExpPattern(e),"i"),y.set(e,i));var r=i.exec(t);return r?[{start:r.index,end:r.index+r[0].length}]:o?_(e,t):m(e,t)}function b(e,t,o){e=e.toLowerCase(),t=t.toLowerCase();for(var n=[],i=0,r=0;r<e.length;++r){var s=t.indexOf(e.charAt(r),i);s>=0&&(n.push(s),i=s+1)}return[n.length,n]}function E(e){var t,o=[];if(!e)return o;for(var n=0,i=e;n<i.length;n++){var r=i[n];t&&t.end===r?t.end+=1:(t={start:r,end:r+1},o.push(t))}return o}function C(){for(var e=[],t=[0],o=1;o<=100;o++)t.push(-o);for(o=0;o<=100;o++){var n=t.slice(0);n[0]=-o,e.push(n)}return e}var S=C(),T=C(),w=C(),k=!1;function O(e,t,o,n,i){function r(e,t,o){for(void 0===o&&(o=" ");e.length<t;)e=o+e;return e}for(var s=" |   |"+n.split("").map((function(e){return r(e,3)})).join("|")+"\n",a=0;a<=o;a++)s+=0===a?" |":t[a-1]+"|",s+=e[a].slice(0,i+1).map((function(e){return r(e.toString(),3)})).join("|")+"\n";return s}function R(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:return!0;default:return!1}}function N(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function L(e,t,o,n){var i=e.length>100?100:e.length,r=t.length>100?100:t.length,s=0;for(void 0===o&&(o=i);s<o&&N(e,s);)s+=1;if(s===i)return[-100,[]];if(!(i>r)){for(var a=e.toLowerCase(),l=t.toLowerCase(),u=s,c=0;u<i&&c<r;)a[u]===l[c]&&(u+=1),c+=1;if(u===i){for(u=s+1;u<=i;u++)for(c=1;c<=r;c++){var h=-1,d=l[c-1];a[u-1]===d&&(h=c===u-s?e[u-1]===t[c-1]?7:5:d===t[c-1]||1!==c&&l[c-2]!==t[c-2]?R(l,c-2)||N(l,c-2)?5:1:e[u-1]===t[c-1]?7:5),T[u][c]=h;var g=S[u-1][c-1]+(h>1?1:h),p=S[u-1][c]+-1,f=S[u][c-1]+-1;f>=p?f>g?(S[u][c]=f,w[u][c]=4):f===g?(S[u][c]=f,w[u][c]=6):(S[u][c]=g,w[u][c]=2):p>g?(S[u][c]=p,w[u][c]=1):p===g?(S[u][c]=p,w[u][c]=3):(S[u][c]=g,w[u][c]=2)}if(k&&(console.log(O(S,e,i,t,r)),console.log(O(w,e,i,t,r)),console.log(O(T,e,i,t,r))),D=0,A=-100,P=s,M=n,function e(t,o,n,i,r){if(D>=10||n<-25)return;var s=0;for(;t>P&&o>0;){var a=T[t][o],l=w[t][o];if(4===l)o-=1,r?n-=5:i.isEmpty()||(n-=1),r=!1,s=0;else{if(!(2&l))return;if(4&l&&e(t,o-1,i.isEmpty()?n:n-1,i.slice(),r),n+=a,t-=1,o-=1,i.unshift(o),r=!0,1===a){if(s+=1,t===P&&!M)return}else n+=1+s*(a-1),s=0}}n-=o>=3?9:3*o;D+=1;n>A&&(A=n,I=i)}(i,r,i===r?1:0,new x,!1),0!==D)return[A,I.toArray()]}}}var I,D=0,A=0,P=0,M=!1;var x=function(){function e(){}return e.prototype.isEmpty=function(){return!this._data&&(!this._parent||this._parent.isEmpty())},e.prototype.unshift=function(e){this._data?this._data.unshift(e):this._data=[e]},e.prototype.slice=function(){var t=new e;return t._parent=this,t._parentLen=this._data?this._data.length:0,t},e.prototype.toArray=function(){if(!this._data)return this._parent.toArray();for(var e=[],t=this;t;)t._parent&&t._parent._data&&e.push(t._parent._data.slice(t._parent._data.length-t._parentLen)),t=t._parent;return Array.prototype.concat.apply(this._data,e)},e}();function B(e,t,o){return function(e,t,o,n){var i=L(e,t,n);if(i&&!o)return i;if(e.length>=3)for(var r=Math.min(7,e.length-1),s=1;s<r;s++){var a=F(e,s);if(a){var l=L(a,t,n);l&&(l[0]-=3,(!i||l[0]>i[0])&&(i=l))}}return i}(e,t,!0,o)}function F(e,t){if(!(t+1>=e.length)){var o=e[t],n=e[t+1];if(o!==n)return e.slice(0,t)+n+o+e.slice(t+2)}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return s})),o.d(t,"b",(function(){return a})),o.d(t,"c",(function(){return l}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});!function(e){var t={next:function(){return{done:!0,value:void 0}}};function o(e,t){for(var o=e.next();!o.done;o=e.next())t(o.value)}e.empty=function(){return t},e.iterate=function(e,t,o){return void 0===t&&(t=0),void 0===o&&(o=e.length),{next:function(){return t>=o?{done:!0,value:void 0}:{done:!1,value:e[t++]}}}},e.map=function(e,t){return{next:function(){var o=e.next(),n=o.done,i=o.value;return{done:n,value:n?void 0:t(i)}}}},e.filter=function(e,t){return{next:function(){for(;;){var o=e.next(),n=o.done,i=o.value;if(n)return{done:n,value:void 0};if(t(i))return{done:n,value:i}}}}},e.forEach=o,e.collect=function(e){var t=[];return o(e,(function(e){return t.push(e)})),t}}(i||(i={}));var s=function(){function e(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=e.length),void 0===n&&(n=t-1),this.items=e,this.start=t,this.end=o,this.index=n}return e.prototype.next=function(){return this.index=Math.min(this.index+1,this.end),this.current()},e.prototype.current=function(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]},e}(),a=function(e){function t(t,o,n,i){return void 0===o&&(o=0),void 0===n&&(n=t.length),void 0===i&&(i=o-1),e.call(this,t,o,n,i)||this}return r(t,e),t.prototype.current=function(){return e.prototype.current.call(this)},t.prototype.previous=function(){return this.index=Math.max(this.index-1,this.start-1),this.current()},t.prototype.first=function(){return this.index=this.start,this.current()},t.prototype.last=function(){return this.index=this.end-1,this.current()},t.prototype.parent=function(){return null},t}(s),l=function(){function e(e,t){this.iterator=e,this.fn=t}return e.prototype.next=function(){return this.fn(this.iterator.next())},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"c",(function(){return v})),o.d(t,"b",(function(){return E}));o(468);var n,i,r=o(0),s=o(78),a=o(8),l=o(30),u=o(34),c=o(4),h=o(1),d=o(74),g=o(36),p=o(207),f=o(157),m=o(12),_=o(14),y=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function v(e){var t=e.get(g.a).getFocusedCodeEditor();return t instanceof f.a?t.getParentEditor():t}!function(e){e.inPeekEditor=new m.f("inReferenceSearchEditor",!0),e.notInPeekEditor=e.inPeekEditor.toNegated()}(i||(i={}));var b={headerBackgroundColor:_.a.white,primaryHeadingColor:_.a.fromHex("#333333"),secondaryHeadingColor:_.a.fromHex("#6c6c6cb3")},E=function(e){function t(t,o){void 0===o&&(o={});var n=e.call(this,t,o)||this;return n._onDidClose=new c.a,l.g(n.options,b,!1),n}return y(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._onDidClose.fire(this)},Object.defineProperty(t.prototype,"onDidClose",{get:function(){return this._onDidClose.event},enumerable:!0,configurable:!0}),t.prototype.style=function(t){var o=this.options;t.headerBackgroundColor&&(o.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(o.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(o.secondaryHeadingColor=t.secondaryHeadingColor),e.prototype.style.call(this,t)},t.prototype._applyStyles=function(){e.prototype._applyStyles.call(this);var t=this.options;this._headElement&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&(this._bodyElement.style.borderColor=t.frameColor.toString())},t.prototype._fillContainer=function(e){this.setCssClass("peekview-widget"),this._headElement=Object(u.a)(".head").getHTMLElement(),this._bodyElement=Object(u.a)(".body").getHTMLElement(),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)},t.prototype._fillHead=function(e){var t=this,o=Object(u.a)(".peekview-title").on(h.d.CLICK,(function(e){return t._onTitleClick(e)})).appendTo(this._headElement).getHTMLElement();this._primaryHeading=Object(u.a)("span.filename").appendTo(o).getHTMLElement(),this._secondaryHeading=Object(u.a)("span.dirname").appendTo(o).getHTMLElement(),this._metaHeading=Object(u.a)("span.meta").appendTo(o).getHTMLElement();var n=Object(u.a)(".peekview-actions").appendTo(this._headElement),i=this._getActionBarOptions();this._actionbarWidget=new d.a(n.getHTMLElement(),i),this._disposables.push(this._actionbarWidget),this._actionbarWidget.push(new s.a("peekview.close",r.a("label.close","Close"),"close-peekview-action",!0,(function(){return t.dispose(),null})),{label:!1,icon:!0})},t.prototype._getActionBarOptions=function(){return{}},t.prototype._onTitleClick=function(e){},t.prototype.setTitle=function(e,t){Object(u.a)(this._primaryHeading).safeInnerHtml(e),this._primaryHeading.setAttribute("aria-label",e),t?Object(u.a)(this._secondaryHeading).safeInnerHtml(t):h.l(this._secondaryHeading)},t.prototype.setMetaTitle=function(e){e?Object(u.a)(this._metaHeading).safeInnerHtml(e):h.l(this._metaHeading)},t.prototype._doLayout=function(e,t){if(!this._isShowing&&e<0)this.dispose();else{var o=Math.ceil(1.2*this.editor.getConfiguration().lineHeight),n=e-(o+2);this._doLayoutHead(o,t),this._doLayoutBody(n,t)}},t.prototype._doLayoutHead=function(e,t){this._headElement.style.height=a.format("{0}px",e),this._headElement.style.lineHeight=this._headElement.style.height},t.prototype._doLayoutBody=function(e,t){this._bodyElement.style.height=a.format("{0}px",e)},t}(p.a)},function(e,t,o){"use strict";o.d(t,"d",(function(){return l})),o.d(t,"b",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"c",(function(){return _}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),s=function(){function e(){this.text("")}return e.isDigitCharacter=function(e){return e>=48&&e<=57},e.isVariableCharacter=function(e){return 95===e||e>=97&&e<=122||e>=65&&e<=90},e.prototype.text=function(e){this.value=e,this.pos=0},e.prototype.tokenText=function(e){return this.value.substr(e.pos,e.len)},e.prototype.next=function(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};var t,o=this.pos,n=0,i=this.value.charCodeAt(o);if("number"==typeof(t=e._table[i]))return this.pos+=1,{type:t,pos:o,len:1};if(e.isDigitCharacter(i)){t=8;do{n+=1,i=this.value.charCodeAt(o+n)}while(e.isDigitCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}}if(e.isVariableCharacter(i)){t=9;do{i=this.value.charCodeAt(o+ ++n)}while(e.isVariableCharacter(i)||e.isDigitCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}}t=10;do{n+=1,i=this.value.charCodeAt(o+n)}while(!isNaN(i)&&void 0===e._table[i]&&!e.isDigitCharacter(i)&&!e.isVariableCharacter(i));return this.pos+=n,{type:t,pos:o,len:n}},e._table=((i={})[36]=0,i[58]=1,i[44]=2,i[123]=3,i[125]=4,i[92]=5,i[47]=6,i[124]=7,i[43]=11,i[45]=12,i[63]=13,i),e}(),a=function(){function e(){this._children=[]}return e.prototype.appendChild=function(e){return e instanceof l&&this._children[this._children.length-1]instanceof l?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this},e.prototype.replace=function(e,t){var o=e.parent,n=o.children.indexOf(e),i=o.children.slice(0);i.splice.apply(i,[n,1].concat(t)),o._children=i,t.forEach((function(e){return e.parent=o}))},Object.defineProperty(e.prototype,"children",{get:function(){return this._children},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"snippet",{get:function(){for(var e=this;;){if(!e)return;if(e instanceof m)return e;e=e.parent}},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this.children.reduce((function(e,t){return e+t.toString()}),"")},e.prototype.len=function(){return 0},e}(),l=function(e){function t(t){var o=e.call(this)||this;return o.value=t,o}return r(t,e),t.prototype.toString=function(){return this.value},t.prototype.len=function(){return this.value.length},t.prototype.clone=function(){return new t(this.value)},t}(a),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t}(a),c=function(e){function t(t){var o=e.call(this)||this;return o.index=t,o}return r(t,e),t.compareByIndex=function(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop?-1:e.index<t.index?-1:e.index>t.index?1:0},Object.defineProperty(t.prototype,"isFinalTabstop",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"choice",{get:function(){return 1===this._children.length&&this._children[0]instanceof h?this._children[0]:void 0},enumerable:!0,configurable:!0}),t.prototype.clone=function(){var e=new t(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((function(e){return e.clone()})),e},t}(u),h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.options=[],t}return r(t,e),t.prototype.appendChild=function(e){return e instanceof l&&(e.parent=this,this.options.push(e)),this},t.prototype.toString=function(){return this.options[0].value},t.prototype.len=function(){return this.options[0].len()},t.prototype.clone=function(){var e=new t;return this.options.forEach(e.appendChild,e),e},t}(a),d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.resolve=function(e){var t=this;return e.replace(this.regexp,(function(){for(var e="",o=0,n=t._children;o<n.length;o++){var i=n[o];if(i instanceof g){var r=arguments.length-2>i.index?arguments[i.index]:"";e+=r=i.resolve(r)}else e+=i.toString()}return e}))},t.prototype.toString=function(){return""},t.prototype.clone=function(){var e=new t;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map((function(e){return e.clone()})),e},t}(a),g=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r.index=t,r.shorthandName=o,r.ifValue=n,r.elseValue=i,r}return r(t,e),t.prototype.resolve=function(e){return"upcase"===this.shorthandName?e?e.toLocaleUpperCase():"":"downcase"===this.shorthandName?e?e.toLocaleLowerCase():"":"capitalize"===this.shorthandName?e?e[0].toLocaleUpperCase()+e.substr(1):"":Boolean(e)&&"string"==typeof this.ifValue?this.ifValue:Boolean(e)||"string"!=typeof this.elseValue?e||"":this.elseValue},t.prototype.clone=function(){return new t(this.index,this.shorthandName,this.ifValue,this.elseValue)},t}(a),p=function(e){function t(t){var o=e.call(this)||this;return o.name=t,o}return r(t,e),t.prototype.resolve=function(e){var t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),void 0!==t&&(this._children=[new l(t)],!0)},t.prototype.clone=function(){var e=new t(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map((function(e){return e.clone()})),e},t}(u);function f(e,t){for(var o=e.slice();o.length>0;){var n=o.shift();if(!t(n))break;o.unshift.apply(o,n.children)}}var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),Object.defineProperty(t.prototype,"placeholderInfo",{get:function(){if(!this._placeholders){var e,t=[];this.walk((function(o){return o instanceof c&&(t.push(o),e=!e||e.index<o.index?o:e),!0})),this._placeholders={all:t,last:e}}return this._placeholders},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"placeholders",{get:function(){return this.placeholderInfo.all},enumerable:!0,configurable:!0}),t.prototype.offset=function(e){var t=0,o=!1;return this.walk((function(n){return n===e?(o=!0,!1):(t+=n.len(),!0)})),o?t:-1},t.prototype.fullLen=function(e){var t=0;return f([e],(function(e){return t+=e.len(),!0})),t},t.prototype.enclosingPlaceholders=function(e){for(var t=[],o=e.parent;o;)o instanceof c&&t.push(o),o=o.parent;return t},t.prototype.resolveVariables=function(e){var t=this;return this.walk((function(o){return o instanceof p&&o.resolve(e)&&(t._placeholders=void 0),!0})),this},t.prototype.appendChild=function(t){return this._placeholders=void 0,e.prototype.appendChild.call(this,t)},t.prototype.replace=function(t,o){return this._placeholders=void 0,e.prototype.replace.call(this,t,o)},t.prototype.clone=function(){var e=new t;return this._children=this.children.map((function(e){return e.clone()})),e},t.prototype.walk=function(e){f(this.children,e)},t}(a),_=function(){function e(){this._scanner=new s}return e.escape=function(e){return e.replace(/\$|}|\\/g,"\\$&")},e.prototype.parse=function(e,t,o){this._scanner.text(e),this._token=this._scanner.next();for(var n=new m;this._parse(n););var i=new Map,r=[],s=0;n.walk((function(e){return e instanceof c&&(s+=1,e.isFinalTabstop?i.set(0,void 0):!i.has(e.index)&&e.children.length>0?i.set(e.index,e.children):r.push(e)),!0}));for(var a=0,l=r;a<l.length;a++){var u=l[a];if(i.has(u.index)){var h=new c(u.index);h.transform=u.transform;for(var d=0,g=i.get(u.index);d<g.length;d++){var p=g[d];h.appendChild(p.clone())}n.replace(u,[h])}}return o||(o=s>0&&t),!i.has(0)&&o&&n.appendChild(new c(0)),n},e.prototype._accept=function(e,t){if(void 0===e||this._token.type===e){var o=!t||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),o}return!1},e.prototype._backTo=function(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1},e.prototype._until=function(e){if(14===this._token.type)return!1;for(var t=this._token;this._token.type!==e;)if(this._token=this._scanner.next(),14===this._token.type)return!1;var o=this._scanner.value.substring(t.pos,this._token.pos);return this._token=this._scanner.next(),o},e.prototype._parse=function(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)},e.prototype._parseEscaped=function(e){var t;return!!(t=this._accept(5,!0))&&(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new l(t)),!0)},e.prototype._parseTabstopOrVariableName=function(e){var t,o=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new c(Number(t)):new p(t)),!0):this._backTo(o)},e.prototype._parseComplexPlaceholder=function(e){var t,o=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(o);var n=new c(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new l("${"+t+":")),n.children.forEach(e.appendChild,e),!0}else{if(!(n.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(o),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(o);for(var i=new h;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(n.appendChild(i),this._accept(4)))return e.appendChild(n),!0}return this._backTo(o),!1}}},e.prototype._parseChoiceElement=function(e){for(var t=this._token,o=[];2!==this._token.type&&7!==this._token.type;){var n=void 0;if(!(n=(n=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||n:this._accept(void 0,!0)))return this._backTo(t),!1;o.push(n)}return 0===o.length?(this._backTo(t),!1):(e.appendChild(new l(o.join(""))),!0)},e.prototype._parseComplexVariable=function(e){var t,o=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(o);var n=new p(t);if(!this._accept(1))return this._accept(6)?this._parseTransform(n)?(e.appendChild(n),!0):(this._backTo(o),!1):this._accept(4)?(e.appendChild(n),!0):this._backTo(o);for(;;){if(this._accept(4))return e.appendChild(n),!0;if(!this._parse(n))return e.appendChild(new l("${"+t+":")),n.children.forEach(e.appendChild,e),!0}},e.prototype._parseTransform=function(e){for(var t=new d,o="",n="";!this._accept(6);){var i=void 0;if(i=this._accept(5,!0))o+=i=this._accept(6,!0)||i;else{if(14===this._token.type)return!1;o+=this._accept(void 0,!0)}}for(;!this._accept(6);){i=void 0;if(i=this._accept(5,!0))i=this._accept(6,!0)||i,t.appendChild(new l(i));else if(!this._parseFormatString(t)&&!this._parseAnything(t))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;n+=this._accept(void 0,!0)}try{t.regexp=new RegExp(o,n)}catch(e){return!1}return e.transform=t,!0},e.prototype._parseFormatString=function(e){var t=this._token;if(!this._accept(0))return!1;var o=!1;this._accept(3)&&(o=!0);var n=this._accept(8,!0);if(!n)return this._backTo(t),!1;if(!o)return e.appendChild(new g(Number(n))),!0;if(this._accept(4))return e.appendChild(new g(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1;if(this._accept(6)){var i=this._accept(9,!0);return i&&this._accept(4)?(e.appendChild(new g(Number(n),i)),!0):(this._backTo(t),!1)}if(this._accept(11)){if(r=this._until(4))return e.appendChild(new g(Number(n),void 0,r,void 0)),!0}else if(this._accept(12)){if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){var r;if(r=this._until(1))if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,r,s)),!0}else{var s;if(s=this._until(4))return e.appendChild(new g(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1},e.prototype._parseAnything=function(e){return 14!==this._token.type&&(e.appendChild(new l(this._scanner.tokenText(this._token))),this._accept(void 0),!0)},e}()},function(e,t,o){"use strict";(function(e,n){
 /*!
  * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
  * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
  */
-function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),n.forEach((function(t){s(e,t,o[t])}))}return e}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!t||o.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw r}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,o=new Array(e.length);t<e.length;t++)o[t]=e[t];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}o.d(t,"b",(function(){return Fe})),o.d(t,"a",(function(){return N})),o.d(t,"e",(function(){return He})),o.d(t,"c",(function(){return xe})),o.d(t,"d",(function(){return Be}));var c=function(){},h={},d={},g={mark:c,measure:c};try{"undefined"!=typeof window&&(h=window),"undefined"!=typeof document&&(d=document),"undefined"!=typeof MutationObserver&&MutationObserver,"undefined"!=typeof performance&&(g=performance)}catch(e){}var p=(h.navigator||{}).userAgent,f=void 0===p?"":p,m=h,_=d,y=g,v=(m.document,!!_.documentElement&&!!_.head&&"function"==typeof _.addEventListener&&"function"==typeof _.createElement),b=~f.indexOf("MSIE")||~f.indexOf("Trident/"),E=16,C="fa",S="svg-inline--fa",T="data-fa-i2svg",w=(function(){try{}catch(e){return!1}}(),[1,2,3,4,5,6,7,8,9,10]),k=w.concat([11,12,13,14,15,16,17,18,19,20]),O={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},R=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",O.GROUP,O.SWAP_OPACITY,O.PRIMARY,O.SECONDARY].concat(w.map((function(e){return"".concat(e,"x")}))).concat(k.map((function(e){return"w-".concat(e)}))),m.FontAwesomeConfig||{});if(_&&"function"==typeof _.querySelector){[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach((function(e){var t=l(e,2),o=t[0],n=t[1],i=function(e){return""===e||"false"!==e&&("true"===e||e)}(function(e){var t=_.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}(o));null!=i&&(R[n]=i)}))}var L=a({},{familyPrefix:C,replacementClass:S,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},R);L.autoReplaceSvg||(L.observeMutations=!1);var N=a({},L);m.FontAwesomeConfig=N;var I=m||{};I.___FONT_AWESOME___||(I.___FONT_AWESOME___={}),I.___FONT_AWESOME___.styles||(I.___FONT_AWESOME___.styles={}),I.___FONT_AWESOME___.hooks||(I.___FONT_AWESOME___.hooks={}),I.___FONT_AWESOME___.shims||(I.___FONT_AWESOME___.shims=[]);var D=I.___FONT_AWESOME___,A=[];v&&((_.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(_.readyState)||_.addEventListener("DOMContentLoaded",(function e(){_.removeEventListener("DOMContentLoaded",e),1,A.map((function(e){return e()}))})));var P,x="pending",M="settled",B="fulfilled",F="rejected",H=function(){},U=void 0!==e&&void 0!==e.process&&"function"==typeof e.process.emit,V=void 0===n?setTimeout:n,W=[];function j(){for(var e=0;e<W.length;e++)W[e][0](W[e][1]);W=[],P=!1}function G(e,t){W.push([e,t]),P||(P=!0,V(j,0))}function z(e){var t=e.owner,o=t._state,n=t._data,i=e[o],r=e.then;if("function"==typeof i){o=B;try{n=i(n)}catch(e){q(r,e)}}K(r,n)||(o===B&&Y(r,n),o===F&&q(r,n))}function K(e,t){var o;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"==typeof t||"object"===i(t))){var n=t.then;if("function"==typeof n)return n.call(t,(function(n){o||(o=!0,t===n?X(e,n):Y(e,n))}),(function(t){o||(o=!0,q(e,t))})),!0}}catch(t){return o||q(e,t),!0}return!1}function Y(e,t){e!==t&&K(e,t)||X(e,t)}function X(e,t){e._state===x&&(e._state=M,e._data=t,G(J,e))}function q(e,t){e._state===x&&(e._state=M,e._data=t,G(Z,e))}function $(e){e._then=e._then.forEach(z)}function J(e){e._state=B,$(e)}function Z(t){t._state=F,$(t),!t._handled&&U&&e.process.emit("unhandledRejection",t._data,t)}function Q(t){e.process.emit("rejectionHandled",t)}function ee(e){if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof ee==!1)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],function(e,t){function o(e){q(t,e)}try{e((function(e){Y(t,e)}),o)}catch(e){o(e)}}(e,this)}ee.prototype={constructor:ee,_state:x,_then:null,_data:void 0,_handled:!1,then:function(e,t){var o={owner:this,then:new this.constructor(H),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,this._state===F&&U&&G(Q,this)),this._state===B||this._state===F?G(z,o):this._then.push(o),o.then},catch:function(e){return this.then(null,e)}},ee.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new ee((function(t,o){var n=[],i=0;function r(e){return i++,function(o){n[e]=o,--i||t(n)}}for(var s,a=0;a<e.length;a++)(s=e[a])&&"function"==typeof s.then?s.then(r(a),o):n[a]=s;i||t(n)}))},ee.race=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.race().");return new ee((function(t,o){for(var n,i=0;i<e.length;i++)(n=e[i])&&"function"==typeof n.then?n.then(t,o):t(n)}))},ee.resolve=function(e){return e&&"object"===i(e)&&e.constructor===ee?e:new ee((function(t){t(e)}))},ee.reject=function(e){return new ee((function(t,o){o(e)}))};"function"==typeof Promise&&Promise;var te=E,oe={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function ne(e){if(e&&v){var t=_.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var o=_.head.childNodes,n=null,i=o.length-1;i>-1;i--){var r=o[i],s=(r.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(n=r)}return _.head.insertBefore(t,n),e}}var ie="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function re(){for(var e=12,t="";e-- >0;)t+=ie[62*Math.random()|0];return t}function se(e){return"".concat(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ae(e){return Object.keys(e||{}).reduce((function(t,o){return t+"".concat(o,": ").concat(e[o],";")}),"")}function le(e){return e.size!==oe.size||e.x!==oe.x||e.y!==oe.y||e.rotate!==oe.rotate||e.flipX||e.flipY}function ue(e){var t=e.transform,o=e.containerWidth,n=e.iconWidth,i={transform:"translate(".concat(o/2," 256)")},r="translate(".concat(32*t.x,", ").concat(32*t.y,") "),s="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),a="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(r," ").concat(s," ").concat(a)},path:{transform:"translate(".concat(n/2*-1," -256)")}}}var ce={x:0,y:0,width:"100%",height:"100%"};function he(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function de(e){var t=e.icons,o=t.main,n=t.mask,i=e.prefix,r=e.iconName,s=e.transform,l=e.symbol,u=e.title,c=e.maskId,h=e.titleId,d=e.extra,g=e.watchable,p=void 0!==g&&g,f=n.found?n:o,m=f.width,_=f.height,y="fak"===i,v=y?"":"fa-w-".concat(Math.ceil(m/_*16)),b=[N.replacementClass,r?"".concat(N.familyPrefix,"-").concat(r):"",v].filter((function(e){return-1===d.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(d.classes).join(" "),E={children:[],attributes:a({},d.attributes,{"data-prefix":i,"data-icon":r,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(_)})},C=y&&!~d.classes.indexOf("fa-fw")?{width:"".concat(m/_*16*.0625,"em")}:{};p&&(E.attributes[T]=""),u&&E.children.push({tag:"title",attributes:{id:E.attributes["aria-labelledby"]||"title-".concat(h||re())},children:[u]});var S=a({},E,{prefix:i,iconName:r,main:o,mask:n,maskId:c,transform:s,symbol:l,styles:a({},C,d.styles)}),w=n.found&&o.found?function(e){var t,o=e.children,n=e.attributes,i=e.main,r=e.mask,s=e.maskId,l=e.transform,u=i.width,c=i.icon,h=r.width,d=r.icon,g=ue({transform:l,containerWidth:h,iconWidth:u}),p={tag:"rect",attributes:a({},ce,{fill:"white"})},f=c.children?{children:c.children.map(he)}:{},m={tag:"g",attributes:a({},g.inner),children:[he(a({tag:c.tag,attributes:a({},c.attributes,g.path)},f))]},_={tag:"g",attributes:a({},g.outer),children:[m]},y="mask-".concat(s||re()),v="clip-".concat(s||re()),b={tag:"mask",attributes:a({},ce,{id:y,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,_]},E={tag:"defs",children:[{tag:"clipPath",attributes:{id:v},children:(t=d,"g"===t.tag?t.children:[t])},b]};return o.push(E,{tag:"rect",attributes:a({fill:"currentColor","clip-path":"url(#".concat(v,")"),mask:"url(#".concat(y,")")},ce)}),{children:o,attributes:n}}(S):function(e){var t=e.children,o=e.attributes,n=e.main,i=e.transform,r=ae(e.styles);if(r.length>0&&(o.style=r),le(i)){var s=ue({transform:i,containerWidth:n.width,iconWidth:n.width});t.push({tag:"g",attributes:a({},s.outer),children:[{tag:"g",attributes:a({},s.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:a({},n.icon.attributes,s.path)}]}]})}else t.push(n.icon);return{children:t,attributes:o}}(S),k=w.children,O=w.attributes;return S.children=k,S.attributes=O,l?function(e){var t=e.prefix,o=e.iconName,n=e.children,i=e.attributes,r=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:a({},i,{id:!0===r?"".concat(t,"-").concat(N.familyPrefix,"-").concat(o):r}),children:n}]}]}(S):function(e){var t=e.children,o=e.main,n=e.mask,i=e.attributes,r=e.styles,s=e.transform;if(le(s)&&o.found&&!n.found){var l={x:o.width/o.height/2,y:.5};i.style=ae(a({},r,{"transform-origin":"".concat(l.x+s.x/16,"em ").concat(l.y+s.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(S)}function ge(e){var t=e.content,o=e.width,n=e.height,i=e.transform,r=e.title,s=e.extra,l=e.watchable,u=void 0!==l&&l,c=a({},s.attributes,r?{title:r}:{},{class:s.classes.join(" ")});u&&(c[T]="");var h=a({},s.styles);le(i)&&(h.transform=function(e){var t=e.transform,o=e.width,n=void 0===o?E:o,i=e.height,r=void 0===i?E:i,s=e.startCentered,a=void 0!==s&&s,l="";return l+=a&&b?"translate(".concat(t.x/te-n/2,"em, ").concat(t.y/te-r/2,"em) "):a?"translate(calc(-50% + ".concat(t.x/te,"em), calc(-50% + ").concat(t.y/te,"em)) "):"translate(".concat(t.x/te,"em, ").concat(t.y/te,"em) "),l+="scale(".concat(t.size/te*(t.flipX?-1:1),", ").concat(t.size/te*(t.flipY?-1:1),") "),l+="rotate(".concat(t.rotate,"deg) ")}({transform:i,startCentered:!0,width:o,height:n}),h["-webkit-transform"]=h.transform);var d=ae(h);d.length>0&&(c.style=d);var g=[];return g.push({tag:"span",attributes:c,children:[t]}),r&&g.push({tag:"span",attributes:{class:"sr-only"},children:[r]}),g}var pe=function(){},fe=(N.measurePerformance&&y&&y.mark&&y.measure,function(e,t,o,n){var i,r,s,a=Object.keys(e),l=a.length,u=void 0!==n?function(e,t){return function(o,n,i,r){return e.call(t,o,n,i,r)}}(t,n):t;for(void 0===o?(i=1,s=e[a[0]]):(i=0,s=o);i<l;i++)s=u(s,e[r=a[i]],r,e);return s});function me(e,t){var o=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,n=void 0!==o&&o,i=Object.keys(t).reduce((function(e,o){var n=t[o];return!!n.icon?e[n.iconName]=n.icon:e[o]=n,e}),{});"function"!=typeof D.hooks.addPack||n?D.styles[e]=a({},D.styles[e]||{},i):D.hooks.addPack(e,i),"fas"===e&&me("fa",t)}var _e=D.styles,ye=D.shims,ve=function(){var e=function(e){return fe(_e,(function(t,o,n){return t[n]=fe(o,e,{}),t}),{})};e((function(e,t,o){return t[3]&&(e[t[3]]=o),e})),e((function(e,t,o){var n=t[2];return e[o]=o,n.forEach((function(t){e[t]=o})),e}));var t="far"in _e;fe(ye,(function(e,o){var n=o[0],i=o[1],r=o[2];return"far"!==i||t||(i="fas"),e[n]={prefix:i,iconName:r},e}),{})};ve();D.styles;function be(e,t,o){if(e&&e[t]&&e[t][o])return{prefix:t,iconName:o,icon:e[t][o]}}function Ee(e){var t=e.tag,o=e.attributes,n=void 0===o?{}:o,i=e.children,r=void 0===i?[]:i;return"string"==typeof e?se(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,o){return t+"".concat(o,'="').concat(se(e[o]),'" ')}),"").trim()}(n),">").concat(r.map(Ee).join(""),"</").concat(t,">")}var Ce=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var o=t.toLowerCase().split("-"),n=o[0],i=o.slice(1).join("-");if(n&&"h"===i)return e.flipX=!0,e;if(n&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(n){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e}),t):t};function Se(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}Se.prototype=Object.create(Error.prototype),Se.prototype.constructor=Se;var Te={fill:"currentColor"},we={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ke={tag:"path",attributes:a({},Te,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Oe=a({},we,{attributeName:"opacity"});a({},Te,{cx:"256",cy:"364",r:"28"}),a({},we,{attributeName:"r",values:"28;14;28;28;14;28;"}),a({},Oe,{values:"1;0;1;1;0;1;"}),a({},Te,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),a({},Oe,{values:"1;0;0;0;0;1;"}),a({},Te,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),a({},Oe,{values:"0;0;1;1;0;0;"}),D.styles;function Re(e){var t=e[0],o=e[1],n=l(e.slice(4),1)[0];return{found:!0,width:t,height:o,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(N.familyPrefix,"-").concat(O.GROUP)},children:[{tag:"path",attributes:{class:"".concat(N.familyPrefix,"-").concat(O.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(N.familyPrefix,"-").concat(O.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}D.styles;var Le='svg:not(:root).svg-inline--fa {\n  overflow: visible;\n}\n\n.svg-inline--fa {\n  display: inline-block;\n  font-size: inherit;\n  height: 1em;\n  overflow: visible;\n  vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n  vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n  width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n  width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n  width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n  width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n  width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n  width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n  width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n  width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n  width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n  width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n  width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n  width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n  width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n  width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n  width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n  width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n  width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n  width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n  width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n  width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n  margin-right: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n  margin-left: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-border {\n  height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n  width: 2em;\n}\n.svg-inline--fa.fa-fw {\n  width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.fa-layers {\n  display: inline-block;\n  height: 1em;\n  position: relative;\n  text-align: center;\n  vertical-align: -0.125em;\n  width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n  display: inline-block;\n  position: absolute;\n  text-align: center;\n}\n\n.fa-layers-text {\n  left: 50%;\n  top: 50%;\n  -webkit-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter {\n  background-color: #ff253a;\n  border-radius: 1em;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  color: #fff;\n  height: 1.5em;\n  line-height: 1;\n  max-width: 5em;\n  min-width: 1.5em;\n  overflow: hidden;\n  padding: 0.25em;\n  right: 0;\n  text-overflow: ellipsis;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n  bottom: 0;\n  right: 0;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom right;\n          transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n  bottom: 0;\n  left: 0;\n  right: auto;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom left;\n          transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n  right: 0;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-top-left {\n  left: 0;\n  right: auto;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top left;\n          transform-origin: top left;\n}\n\n.fa-lg {\n  font-size: 1.3333333333em;\n  line-height: 0.75em;\n  vertical-align: -0.0667em;\n}\n\n.fa-xs {\n  font-size: 0.75em;\n}\n\n.fa-sm {\n  font-size: 0.875em;\n}\n\n.fa-1x {\n  font-size: 1em;\n}\n\n.fa-2x {\n  font-size: 2em;\n}\n\n.fa-3x {\n  font-size: 3em;\n}\n\n.fa-4x {\n  font-size: 4em;\n}\n\n.fa-5x {\n  font-size: 5em;\n}\n\n.fa-6x {\n  font-size: 6em;\n}\n\n.fa-7x {\n  font-size: 7em;\n}\n\n.fa-8x {\n  font-size: 8em;\n}\n\n.fa-9x {\n  font-size: 9em;\n}\n\n.fa-10x {\n  font-size: 10em;\n}\n\n.fa-fw {\n  text-align: center;\n  width: 1.25em;\n}\n\n.fa-ul {\n  list-style-type: none;\n  margin-left: 2.5em;\n  padding-left: 0;\n}\n.fa-ul > li {\n  position: relative;\n}\n\n.fa-li {\n  left: -2em;\n  position: absolute;\n  text-align: center;\n  width: 2em;\n  line-height: inherit;\n}\n\n.fa-border {\n  border: solid 0.08em #eee;\n  border-radius: 0.1em;\n  padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n  float: left;\n}\n\n.fa-pull-right {\n  float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n  margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n  margin-left: 0.3em;\n}\n\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.fa-rotate-90 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n  -webkit-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n  -webkit-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n  -webkit-transform: rotate(270deg);\n          transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n  -webkit-transform: scale(-1, 1);\n          transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(1, -1);\n          transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(-1, -1);\n          transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n  -webkit-filter: none;\n          filter: none;\n}\n\n.fa-stack {\n  display: inline-block;\n  height: 2em;\n  position: relative;\n  width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n  height: 1em;\n  width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n  height: 2em;\n  width: 2.5em;\n}\n\n.fa-inverse {\n  color: #fff;\n}\n\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  clip: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  position: static;\n  width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n  fill: var(--fa-primary-color, currentColor);\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n  fill: var(--fa-secondary-color, currentColor);\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n  fill: black;\n}\n\n.fad.fa-inverse {\n  color: #fff;\n}';function Ne(){var e=C,t=S,o=N.familyPrefix,n=N.replacementClass,i=Le;if(o!==e||n!==t){var r=new RegExp("\\.".concat(e,"\\-"),"g"),s=new RegExp("\\--".concat(e,"\\-"),"g"),a=new RegExp("\\.".concat(t),"g");i=i.replace(r,".".concat(o,"-")).replace(s,"--".concat(o,"-")).replace(a,".".concat(n))}return i}function Ie(){N.autoAddCss&&!Me&&(ne(Ne()),Me=!0)}function De(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return Ee(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(v){var t=_.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function Ae(e){var t=e.prefix,o=void 0===t?"fa":t,n=e.iconName;if(n)return be(xe.definitions,o,n)||be(D.styles,o,n)}var Pe,xe=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,o,n;return t=e,(o=[{key:"add",value:function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];var i=o.reduce(this._pullDefinitions,{});Object.keys(i).forEach((function(t){e.definitions[t]=a({},e.definitions[t]||{},i[t]),me(t,i[t]),ve()}))}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var o=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(o).map((function(t){var n=o[t],i=n.prefix,r=n.iconName,s=n.icon;e[i]||(e[i]={}),e[i][r]=s})),e}}])&&r(t.prototype,o),n&&r(t,n),e}()),Me=!1,Be={transform:function(e){return Ce(e)}},Fe=(Pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.transform,n=void 0===o?oe:o,i=t.symbol,r=void 0!==i&&i,s=t.mask,l=void 0===s?null:s,u=t.maskId,c=void 0===u?null:u,h=t.title,d=void 0===h?null:h,g=t.titleId,p=void 0===g?null:g,f=t.classes,m=void 0===f?[]:f,_=t.attributes,y=void 0===_?{}:_,v=t.styles,b=void 0===v?{}:v;if(e){var E=e.prefix,C=e.iconName,S=e.icon;return De(a({type:"icon"},e),(function(){return Ie(),N.autoA11y&&(d?y["aria-labelledby"]="".concat(N.replacementClass,"-title-").concat(p||re()):(y["aria-hidden"]="true",y.focusable="false")),de({icons:{main:Re(S),mask:l?Re(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:E,iconName:C,transform:a({},oe,n),symbol:r,title:d,maskId:c,titleId:p,extra:{attributes:y,styles:b,classes:m}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(e||{}).icon?e:Ae(e||{}),n=t.mask;return n&&(n=(n||{}).icon?n:Ae(n||{})),Pe(o,a({},t,{mask:n}))}),He=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.transform,n=void 0===o?oe:o,i=t.title,r=void 0===i?null:i,s=t.classes,l=void 0===s?[]:s,c=t.attributes,h=void 0===c?{}:c,d=t.styles,g=void 0===d?{}:d;return De({type:"text",content:e},(function(){return Ie(),ge({content:e,transform:a({},oe,n),title:r,extra:{attributes:h,styles:g,classes:["".concat(N.familyPrefix,"-layers-text")].concat(u(l))}})}))}}).call(this,o(80),o(148).setImmediate)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(92),i=function(){function e(t){var o=Object(n.d)(t);this._defaultValue=o,this._asciiMap=e._createAsciiMap(o),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),o=0;o<256;o++)t[o]=e;return t},e.prototype.set=function(e,t){var o=Object(n.d)(t);e>=0&&e<256?this._asciiMap[e]=o:this._map.set(e,o)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),r=function(){function e(){this._actual=new i(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n=function(){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._entries=new Map;for(var o=0,n=e;o<n.length;o++){var i=n[o],r=i[0],s=i[1];this.set(r,s)}}return e.prototype.set=function(e,t){var o=this._entries.get(e);return this._entries.set(e,t),o},e.prototype.forEach=function(e){this._entries.forEach((function(t,o){return e(o,t)}))},e.prototype.has=function(e){return this._entries.has(e)},e.prototype.get=function(e){return this._entries.get(e)},e}()},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"a",(function(){return a})),o.d(t,"c",(function(){return l})),o.d(t,"b",(function(){return u})),o.d(t,"e",(function(){return c}));var n=o(7),i=o(30);function r(e,t){var o=Object.create(null);for(var n in t){var i=t[n];"string"==typeof i?o[n]=e.getColor(i):"function"==typeof i&&(o[n]=i(e))}return o}function s(e,t,o){function n(n){var i=r(e.getTheme(),t);"function"==typeof o?o(i):o.style(i)}return n(e.getTheme()),e.onThemeChange(n)}function a(e,t,o){return s(t,{badgeBackground:o&&o.badgeBackground||n.c,badgeForeground:o&&o.badgeForeground||n.d,badgeBorder:n.e},e)}function l(e,t,o){return s(t,{foreground:o&&o.foreground||n.I,background:o&&o.background||n.n,borderColor:o&&o.borderColor||n.e,widgetShadow:o&&o.widgetShadow||n.rb,progressBarBackground:o&&o.progressBarBackground||n.jb,pickerGroupForeground:o&&o.pickerGroupForeground||n.ib,pickerGroupBorder:o&&o.pickerGroupBorder||n.hb,inputBackground:o&&o.inputBackground||n.K,inputForeground:o&&o.inputForeground||n.M,inputBorder:o&&o.inputBorder||n.L,inputValidationInfoBorder:o&&o.inputValidationInfoBorder||n.Q,inputValidationInfoBackground:o&&o.inputValidationInfoBackground||n.P,inputValidationWarningBorder:o&&o.inputValidationWarningBorder||n.S,inputValidationWarningBackground:o&&o.inputValidationWarningBackground||n.R,inputValidationErrorBorder:o&&o.inputValidationErrorBorder||n.O,inputValidationErrorBackground:o&&o.inputValidationErrorBackground||n.N,listFocusBackground:o&&o.listFocusBackground||n.W,listFocusForeground:o&&o.listFocusForeground||n.X,listActiveSelectionBackground:o&&o.listActiveSelectionBackground||n.T,listActiveSelectionForeground:o&&o.listActiveSelectionForeground||n.U,listFocusAndSelectionBackground:o&&o.listFocusAndSelectionBackground||n.T,listFocusAndSelectionForeground:o&&o.listFocusAndSelectionForeground||n.U,listInactiveSelectionBackground:o&&o.listInactiveSelectionBackground||n.cb,listInactiveSelectionForeground:o&&o.listInactiveSelectionForeground||n.db,listInactiveFocusBackground:o&&o.listInactiveFocusBackground||n.bb,listHoverBackground:o&&o.listHoverBackground||n.Z,listHoverForeground:o&&o.listHoverForeground||n.ab,listDropBackground:o&&o.listDropBackground||n.V,listFocusOutline:o&&o.listFocusOutline||n.b,listSelectionOutline:o&&o.listSelectionOutline||n.b,listHoverOutline:o&&o.listHoverOutline||n.b},e)}function u(e,t,o){return s(t,Object(i.g)(o||Object.create(null),c,!1),e)}var c={listFocusBackground:n.W,listFocusForeground:n.X,listActiveSelectionBackground:n.T,listActiveSelectionForeground:n.U,listFocusAndSelectionBackground:n.T,listFocusAndSelectionForeground:n.U,listInactiveSelectionBackground:n.cb,listInactiveSelectionForeground:n.db,listInactiveFocusBackground:n.bb,listHoverBackground:n.Z,listHoverForeground:n.ab,listDropBackground:n.V,listFocusOutline:n.b,listSelectionOutline:n.b,listHoverOutline:n.b}},function(e,t,o){var n;self.MonacoEnvironment=(n={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{getWorkerUrl:function(e,t){var o="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"";return(o?o.replace(/\/$/,"")+"/":"")+n[t]}}),o(223),o(224),o(259),o(225),o(249),o(254),o(172),o(252),o(226),o(72),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(230),o(247),o(262),o(231),o(232),o(250),o(261),o(233),o(251),o(234),o(256),o(235),o(236),o(260),o(255),o(139),o(246),o(237),o(153),o(238),o(239),o(130),o(240),e.exports=o(487),o(241)},function(e,t,o){"use strict";(function(e){
+function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t){for(var o=0;o<t.length;o++){var n=t[o];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function s(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter((function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable})))),n.forEach((function(t){s(e,t,o[t])}))}return e}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!t||o.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw r}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function u(e){return function(e){if(Array.isArray(e)){for(var t=0,o=new Array(e.length);t<e.length;t++)o[t]=e[t];return o}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}o.d(t,"b",(function(){return Fe})),o.d(t,"a",(function(){return L})),o.d(t,"e",(function(){return He})),o.d(t,"c",(function(){return Me})),o.d(t,"d",(function(){return Be}));var c=function(){},h={},d={},g={mark:c,measure:c};try{"undefined"!=typeof window&&(h=window),"undefined"!=typeof document&&(d=document),"undefined"!=typeof MutationObserver&&MutationObserver,"undefined"!=typeof performance&&(g=performance)}catch(e){}var p=(h.navigator||{}).userAgent,f=void 0===p?"":p,m=h,_=d,y=g,v=(m.document,!!_.documentElement&&!!_.head&&"function"==typeof _.addEventListener&&"function"==typeof _.createElement),b=~f.indexOf("MSIE")||~f.indexOf("Trident/"),E=16,C="fa",S="svg-inline--fa",T="data-fa-i2svg",w=(function(){try{}catch(e){return!1}}(),[1,2,3,4,5,6,7,8,9,10]),k=w.concat([11,12,13,14,15,16,17,18,19,20]),O={GROUP:"group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},R=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","flip-both","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter",O.GROUP,O.SWAP_OPACITY,O.PRIMARY,O.SECONDARY].concat(w.map((function(e){return"".concat(e,"x")}))).concat(k.map((function(e){return"w-".concat(e)}))),m.FontAwesomeConfig||{});if(_&&"function"==typeof _.querySelector){[["data-family-prefix","familyPrefix"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach((function(e){var t=l(e,2),o=t[0],n=t[1],i=function(e){return""===e||"false"!==e&&("true"===e||e)}(function(e){var t=_.querySelector("script["+e+"]");if(t)return t.getAttribute(e)}(o));null!=i&&(R[n]=i)}))}var N=a({},{familyPrefix:C,replacementClass:S,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},R);N.autoReplaceSvg||(N.observeMutations=!1);var L=a({},N);m.FontAwesomeConfig=L;var I=m||{};I.___FONT_AWESOME___||(I.___FONT_AWESOME___={}),I.___FONT_AWESOME___.styles||(I.___FONT_AWESOME___.styles={}),I.___FONT_AWESOME___.hooks||(I.___FONT_AWESOME___.hooks={}),I.___FONT_AWESOME___.shims||(I.___FONT_AWESOME___.shims=[]);var D=I.___FONT_AWESOME___,A=[];v&&((_.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(_.readyState)||_.addEventListener("DOMContentLoaded",(function e(){_.removeEventListener("DOMContentLoaded",e),1,A.map((function(e){return e()}))})));var P,M="pending",x="settled",B="fulfilled",F="rejected",H=function(){},U=void 0!==e&&void 0!==e.process&&"function"==typeof e.process.emit,V=void 0===n?setTimeout:n,W=[];function j(){for(var e=0;e<W.length;e++)W[e][0](W[e][1]);W=[],P=!1}function G(e,t){W.push([e,t]),P||(P=!0,V(j,0))}function z(e){var t=e.owner,o=t._state,n=t._data,i=e[o],r=e.then;if("function"==typeof i){o=B;try{n=i(n)}catch(e){q(r,e)}}K(r,n)||(o===B&&Y(r,n),o===F&&q(r,n))}function K(e,t){var o;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(t&&("function"==typeof t||"object"===i(t))){var n=t.then;if("function"==typeof n)return n.call(t,(function(n){o||(o=!0,t===n?X(e,n):Y(e,n))}),(function(t){o||(o=!0,q(e,t))})),!0}}catch(t){return o||q(e,t),!0}return!1}function Y(e,t){e!==t&&K(e,t)||X(e,t)}function X(e,t){e._state===M&&(e._state=x,e._data=t,G(J,e))}function q(e,t){e._state===M&&(e._state=x,e._data=t,G(Z,e))}function $(e){e._then=e._then.forEach(z)}function J(e){e._state=B,$(e)}function Z(t){t._state=F,$(t),!t._handled&&U&&e.process.emit("unhandledRejection",t._data,t)}function Q(t){e.process.emit("rejectionHandled",t)}function ee(e){if("function"!=typeof e)throw new TypeError("Promise resolver "+e+" is not a function");if(this instanceof ee==!1)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");this._then=[],function(e,t){function o(e){q(t,e)}try{e((function(e){Y(t,e)}),o)}catch(e){o(e)}}(e,this)}ee.prototype={constructor:ee,_state:M,_then:null,_data:void 0,_handled:!1,then:function(e,t){var o={owner:this,then:new this.constructor(H),fulfilled:e,rejected:t};return!t&&!e||this._handled||(this._handled=!0,this._state===F&&U&&G(Q,this)),this._state===B||this._state===F?G(z,o):this._then.push(o),o.then},catch:function(e){return this.then(null,e)}},ee.all=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.all().");return new ee((function(t,o){var n=[],i=0;function r(e){return i++,function(o){n[e]=o,--i||t(n)}}for(var s,a=0;a<e.length;a++)(s=e[a])&&"function"==typeof s.then?s.then(r(a),o):n[a]=s;i||t(n)}))},ee.race=function(e){if(!Array.isArray(e))throw new TypeError("You must pass an array to Promise.race().");return new ee((function(t,o){for(var n,i=0;i<e.length;i++)(n=e[i])&&"function"==typeof n.then?n.then(t,o):t(n)}))},ee.resolve=function(e){return e&&"object"===i(e)&&e.constructor===ee?e:new ee((function(t){t(e)}))},ee.reject=function(e){return new ee((function(t,o){o(e)}))};"function"==typeof Promise&&Promise;var te=E,oe={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function ne(e){if(e&&v){var t=_.createElement("style");t.setAttribute("type","text/css"),t.innerHTML=e;for(var o=_.head.childNodes,n=null,i=o.length-1;i>-1;i--){var r=o[i],s=(r.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(s)>-1&&(n=r)}return _.head.insertBefore(t,n),e}}var ie="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";function re(){for(var e=12,t="";e-- >0;)t+=ie[62*Math.random()|0];return t}function se(e){return"".concat(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function ae(e){return Object.keys(e||{}).reduce((function(t,o){return t+"".concat(o,": ").concat(e[o],";")}),"")}function le(e){return e.size!==oe.size||e.x!==oe.x||e.y!==oe.y||e.rotate!==oe.rotate||e.flipX||e.flipY}function ue(e){var t=e.transform,o=e.containerWidth,n=e.iconWidth,i={transform:"translate(".concat(o/2," 256)")},r="translate(".concat(32*t.x,", ").concat(32*t.y,") "),s="scale(".concat(t.size/16*(t.flipX?-1:1),", ").concat(t.size/16*(t.flipY?-1:1),") "),a="rotate(".concat(t.rotate," 0 0)");return{outer:i,inner:{transform:"".concat(r," ").concat(s," ").concat(a)},path:{transform:"translate(".concat(n/2*-1," -256)")}}}var ce={x:0,y:0,width:"100%",height:"100%"};function he(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return e.attributes&&(e.attributes.fill||t)&&(e.attributes.fill="black"),e}function de(e){var t=e.icons,o=t.main,n=t.mask,i=e.prefix,r=e.iconName,s=e.transform,l=e.symbol,u=e.title,c=e.maskId,h=e.titleId,d=e.extra,g=e.watchable,p=void 0!==g&&g,f=n.found?n:o,m=f.width,_=f.height,y="fak"===i,v=y?"":"fa-w-".concat(Math.ceil(m/_*16)),b=[L.replacementClass,r?"".concat(L.familyPrefix,"-").concat(r):"",v].filter((function(e){return-1===d.classes.indexOf(e)})).filter((function(e){return""!==e||!!e})).concat(d.classes).join(" "),E={children:[],attributes:a({},d.attributes,{"data-prefix":i,"data-icon":r,class:b,role:d.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(_)})},C=y&&!~d.classes.indexOf("fa-fw")?{width:"".concat(m/_*16*.0625,"em")}:{};p&&(E.attributes[T]=""),u&&E.children.push({tag:"title",attributes:{id:E.attributes["aria-labelledby"]||"title-".concat(h||re())},children:[u]});var S=a({},E,{prefix:i,iconName:r,main:o,mask:n,maskId:c,transform:s,symbol:l,styles:a({},C,d.styles)}),w=n.found&&o.found?function(e){var t,o=e.children,n=e.attributes,i=e.main,r=e.mask,s=e.maskId,l=e.transform,u=i.width,c=i.icon,h=r.width,d=r.icon,g=ue({transform:l,containerWidth:h,iconWidth:u}),p={tag:"rect",attributes:a({},ce,{fill:"white"})},f=c.children?{children:c.children.map(he)}:{},m={tag:"g",attributes:a({},g.inner),children:[he(a({tag:c.tag,attributes:a({},c.attributes,g.path)},f))]},_={tag:"g",attributes:a({},g.outer),children:[m]},y="mask-".concat(s||re()),v="clip-".concat(s||re()),b={tag:"mask",attributes:a({},ce,{id:y,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[p,_]},E={tag:"defs",children:[{tag:"clipPath",attributes:{id:v},children:(t=d,"g"===t.tag?t.children:[t])},b]};return o.push(E,{tag:"rect",attributes:a({fill:"currentColor","clip-path":"url(#".concat(v,")"),mask:"url(#".concat(y,")")},ce)}),{children:o,attributes:n}}(S):function(e){var t=e.children,o=e.attributes,n=e.main,i=e.transform,r=ae(e.styles);if(r.length>0&&(o.style=r),le(i)){var s=ue({transform:i,containerWidth:n.width,iconWidth:n.width});t.push({tag:"g",attributes:a({},s.outer),children:[{tag:"g",attributes:a({},s.inner),children:[{tag:n.icon.tag,children:n.icon.children,attributes:a({},n.icon.attributes,s.path)}]}]})}else t.push(n.icon);return{children:t,attributes:o}}(S),k=w.children,O=w.attributes;return S.children=k,S.attributes=O,l?function(e){var t=e.prefix,o=e.iconName,n=e.children,i=e.attributes,r=e.symbol;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:a({},i,{id:!0===r?"".concat(t,"-").concat(L.familyPrefix,"-").concat(o):r}),children:n}]}]}(S):function(e){var t=e.children,o=e.main,n=e.mask,i=e.attributes,r=e.styles,s=e.transform;if(le(s)&&o.found&&!n.found){var l={x:o.width/o.height/2,y:.5};i.style=ae(a({},r,{"transform-origin":"".concat(l.x+s.x/16,"em ").concat(l.y+s.y/16,"em")}))}return[{tag:"svg",attributes:i,children:t}]}(S)}function ge(e){var t=e.content,o=e.width,n=e.height,i=e.transform,r=e.title,s=e.extra,l=e.watchable,u=void 0!==l&&l,c=a({},s.attributes,r?{title:r}:{},{class:s.classes.join(" ")});u&&(c[T]="");var h=a({},s.styles);le(i)&&(h.transform=function(e){var t=e.transform,o=e.width,n=void 0===o?E:o,i=e.height,r=void 0===i?E:i,s=e.startCentered,a=void 0!==s&&s,l="";return l+=a&&b?"translate(".concat(t.x/te-n/2,"em, ").concat(t.y/te-r/2,"em) "):a?"translate(calc(-50% + ".concat(t.x/te,"em), calc(-50% + ").concat(t.y/te,"em)) "):"translate(".concat(t.x/te,"em, ").concat(t.y/te,"em) "),l+="scale(".concat(t.size/te*(t.flipX?-1:1),", ").concat(t.size/te*(t.flipY?-1:1),") "),l+="rotate(".concat(t.rotate,"deg) ")}({transform:i,startCentered:!0,width:o,height:n}),h["-webkit-transform"]=h.transform);var d=ae(h);d.length>0&&(c.style=d);var g=[];return g.push({tag:"span",attributes:c,children:[t]}),r&&g.push({tag:"span",attributes:{class:"sr-only"},children:[r]}),g}var pe=function(){},fe=(L.measurePerformance&&y&&y.mark&&y.measure,function(e,t,o,n){var i,r,s,a=Object.keys(e),l=a.length,u=void 0!==n?function(e,t){return function(o,n,i,r){return e.call(t,o,n,i,r)}}(t,n):t;for(void 0===o?(i=1,s=e[a[0]]):(i=0,s=o);i<l;i++)s=u(s,e[r=a[i]],r,e);return s});function me(e,t){var o=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).skipHooks,n=void 0!==o&&o,i=Object.keys(t).reduce((function(e,o){var n=t[o];return!!n.icon?e[n.iconName]=n.icon:e[o]=n,e}),{});"function"!=typeof D.hooks.addPack||n?D.styles[e]=a({},D.styles[e]||{},i):D.hooks.addPack(e,i),"fas"===e&&me("fa",t)}var _e=D.styles,ye=D.shims,ve=function(){var e=function(e){return fe(_e,(function(t,o,n){return t[n]=fe(o,e,{}),t}),{})};e((function(e,t,o){return t[3]&&(e[t[3]]=o),e})),e((function(e,t,o){var n=t[2];return e[o]=o,n.forEach((function(t){e[t]=o})),e}));var t="far"in _e;fe(ye,(function(e,o){var n=o[0],i=o[1],r=o[2];return"far"!==i||t||(i="fas"),e[n]={prefix:i,iconName:r},e}),{})};ve();D.styles;function be(e,t,o){if(e&&e[t]&&e[t][o])return{prefix:t,iconName:o,icon:e[t][o]}}function Ee(e){var t=e.tag,o=e.attributes,n=void 0===o?{}:o,i=e.children,r=void 0===i?[]:i;return"string"==typeof e?se(e):"<".concat(t," ").concat(function(e){return Object.keys(e||{}).reduce((function(t,o){return t+"".concat(o,'="').concat(se(e[o]),'" ')}),"").trim()}(n),">").concat(r.map(Ee).join(""),"</").concat(t,">")}var Ce=function(e){var t={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return e?e.toLowerCase().split(" ").reduce((function(e,t){var o=t.toLowerCase().split("-"),n=o[0],i=o.slice(1).join("-");if(n&&"h"===i)return e.flipX=!0,e;if(n&&"v"===i)return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(n){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e}),t):t};function Se(e){this.name="MissingIcon",this.message=e||"Icon unavailable",this.stack=(new Error).stack}Se.prototype=Object.create(Error.prototype),Se.prototype.constructor=Se;var Te={fill:"currentColor"},we={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},ke={tag:"path",attributes:a({},Te,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Oe=a({},we,{attributeName:"opacity"});a({},Te,{cx:"256",cy:"364",r:"28"}),a({},we,{attributeName:"r",values:"28;14;28;28;14;28;"}),a({},Oe,{values:"1;0;1;1;0;1;"}),a({},Te,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),a({},Oe,{values:"1;0;0;0;0;1;"}),a({},Te,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),a({},Oe,{values:"0;0;1;1;0;0;"}),D.styles;function Re(e){var t=e[0],o=e[1],n=l(e.slice(4),1)[0];return{found:!0,width:t,height:o,icon:Array.isArray(n)?{tag:"g",attributes:{class:"".concat(L.familyPrefix,"-").concat(O.GROUP)},children:[{tag:"path",attributes:{class:"".concat(L.familyPrefix,"-").concat(O.SECONDARY),fill:"currentColor",d:n[0]}},{tag:"path",attributes:{class:"".concat(L.familyPrefix,"-").concat(O.PRIMARY),fill:"currentColor",d:n[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:n}}}}D.styles;var Ne='svg:not(:root).svg-inline--fa {\n  overflow: visible;\n}\n\n.svg-inline--fa {\n  display: inline-block;\n  font-size: inherit;\n  height: 1em;\n  overflow: visible;\n  vertical-align: -0.125em;\n}\n.svg-inline--fa.fa-lg {\n  vertical-align: -0.225em;\n}\n.svg-inline--fa.fa-w-1 {\n  width: 0.0625em;\n}\n.svg-inline--fa.fa-w-2 {\n  width: 0.125em;\n}\n.svg-inline--fa.fa-w-3 {\n  width: 0.1875em;\n}\n.svg-inline--fa.fa-w-4 {\n  width: 0.25em;\n}\n.svg-inline--fa.fa-w-5 {\n  width: 0.3125em;\n}\n.svg-inline--fa.fa-w-6 {\n  width: 0.375em;\n}\n.svg-inline--fa.fa-w-7 {\n  width: 0.4375em;\n}\n.svg-inline--fa.fa-w-8 {\n  width: 0.5em;\n}\n.svg-inline--fa.fa-w-9 {\n  width: 0.5625em;\n}\n.svg-inline--fa.fa-w-10 {\n  width: 0.625em;\n}\n.svg-inline--fa.fa-w-11 {\n  width: 0.6875em;\n}\n.svg-inline--fa.fa-w-12 {\n  width: 0.75em;\n}\n.svg-inline--fa.fa-w-13 {\n  width: 0.8125em;\n}\n.svg-inline--fa.fa-w-14 {\n  width: 0.875em;\n}\n.svg-inline--fa.fa-w-15 {\n  width: 0.9375em;\n}\n.svg-inline--fa.fa-w-16 {\n  width: 1em;\n}\n.svg-inline--fa.fa-w-17 {\n  width: 1.0625em;\n}\n.svg-inline--fa.fa-w-18 {\n  width: 1.125em;\n}\n.svg-inline--fa.fa-w-19 {\n  width: 1.1875em;\n}\n.svg-inline--fa.fa-w-20 {\n  width: 1.25em;\n}\n.svg-inline--fa.fa-pull-left {\n  margin-right: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-pull-right {\n  margin-left: 0.3em;\n  width: auto;\n}\n.svg-inline--fa.fa-border {\n  height: 1.5em;\n}\n.svg-inline--fa.fa-li {\n  width: 2em;\n}\n.svg-inline--fa.fa-fw {\n  width: 1.25em;\n}\n\n.fa-layers svg.svg-inline--fa {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.fa-layers {\n  display: inline-block;\n  height: 1em;\n  position: relative;\n  text-align: center;\n  vertical-align: -0.125em;\n  width: 1em;\n}\n.fa-layers svg.svg-inline--fa {\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter, .fa-layers-text {\n  display: inline-block;\n  position: absolute;\n  text-align: center;\n}\n\n.fa-layers-text {\n  left: 50%;\n  top: 50%;\n  -webkit-transform: translate(-50%, -50%);\n          transform: translate(-50%, -50%);\n  -webkit-transform-origin: center center;\n          transform-origin: center center;\n}\n\n.fa-layers-counter {\n  background-color: #ff253a;\n  border-radius: 1em;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  color: #fff;\n  height: 1.5em;\n  line-height: 1;\n  max-width: 5em;\n  min-width: 1.5em;\n  overflow: hidden;\n  padding: 0.25em;\n  right: 0;\n  text-overflow: ellipsis;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-bottom-right {\n  bottom: 0;\n  right: 0;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom right;\n          transform-origin: bottom right;\n}\n\n.fa-layers-bottom-left {\n  bottom: 0;\n  left: 0;\n  right: auto;\n  top: auto;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: bottom left;\n          transform-origin: bottom left;\n}\n\n.fa-layers-top-right {\n  right: 0;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top right;\n          transform-origin: top right;\n}\n\n.fa-layers-top-left {\n  left: 0;\n  right: auto;\n  top: 0;\n  -webkit-transform: scale(0.25);\n          transform: scale(0.25);\n  -webkit-transform-origin: top left;\n          transform-origin: top left;\n}\n\n.fa-lg {\n  font-size: 1.3333333333em;\n  line-height: 0.75em;\n  vertical-align: -0.0667em;\n}\n\n.fa-xs {\n  font-size: 0.75em;\n}\n\n.fa-sm {\n  font-size: 0.875em;\n}\n\n.fa-1x {\n  font-size: 1em;\n}\n\n.fa-2x {\n  font-size: 2em;\n}\n\n.fa-3x {\n  font-size: 3em;\n}\n\n.fa-4x {\n  font-size: 4em;\n}\n\n.fa-5x {\n  font-size: 5em;\n}\n\n.fa-6x {\n  font-size: 6em;\n}\n\n.fa-7x {\n  font-size: 7em;\n}\n\n.fa-8x {\n  font-size: 8em;\n}\n\n.fa-9x {\n  font-size: 9em;\n}\n\n.fa-10x {\n  font-size: 10em;\n}\n\n.fa-fw {\n  text-align: center;\n  width: 1.25em;\n}\n\n.fa-ul {\n  list-style-type: none;\n  margin-left: 2.5em;\n  padding-left: 0;\n}\n.fa-ul > li {\n  position: relative;\n}\n\n.fa-li {\n  left: -2em;\n  position: absolute;\n  text-align: center;\n  width: 2em;\n  line-height: inherit;\n}\n\n.fa-border {\n  border: solid 0.08em #eee;\n  border-radius: 0.1em;\n  padding: 0.2em 0.25em 0.15em;\n}\n\n.fa-pull-left {\n  float: left;\n}\n\n.fa-pull-right {\n  float: right;\n}\n\n.fa.fa-pull-left,\n.fas.fa-pull-left,\n.far.fa-pull-left,\n.fal.fa-pull-left,\n.fab.fa-pull-left {\n  margin-right: 0.3em;\n}\n.fa.fa-pull-right,\n.fas.fa-pull-right,\n.far.fa-pull-right,\n.fal.fa-pull-right,\n.fab.fa-pull-right {\n  margin-left: 0.3em;\n}\n\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n          animation: fa-spin 2s infinite linear;\n}\n\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n          animation: fa-spin 1s infinite steps(8);\n}\n\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.fa-rotate-90 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";\n  -webkit-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n.fa-rotate-180 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";\n  -webkit-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n\n.fa-rotate-270 {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";\n  -webkit-transform: rotate(270deg);\n          transform: rotate(270deg);\n}\n\n.fa-flip-horizontal {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";\n  -webkit-transform: scale(-1, 1);\n          transform: scale(-1, 1);\n}\n\n.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(1, -1);\n          transform: scale(1, -1);\n}\n\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\n  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";\n  -webkit-transform: scale(-1, -1);\n          transform: scale(-1, -1);\n}\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical,\n:root .fa-flip-both {\n  -webkit-filter: none;\n          filter: none;\n}\n\n.fa-stack {\n  display: inline-block;\n  height: 2em;\n  position: relative;\n  width: 2.5em;\n}\n\n.fa-stack-1x,\n.fa-stack-2x {\n  bottom: 0;\n  left: 0;\n  margin: auto;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.svg-inline--fa.fa-stack-1x {\n  height: 1em;\n  width: 1.25em;\n}\n.svg-inline--fa.fa-stack-2x {\n  height: 2em;\n  width: 2.5em;\n}\n\n.fa-inverse {\n  color: #fff;\n}\n\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  clip: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  position: static;\n  width: auto;\n}\n\n.svg-inline--fa .fa-primary {\n  fill: var(--fa-primary-color, currentColor);\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa .fa-secondary {\n  fill: var(--fa-secondary-color, currentColor);\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-primary {\n  opacity: 0.4;\n  opacity: var(--fa-secondary-opacity, 0.4);\n}\n\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\n  opacity: 1;\n  opacity: var(--fa-primary-opacity, 1);\n}\n\n.svg-inline--fa mask .fa-primary,\n.svg-inline--fa mask .fa-secondary {\n  fill: black;\n}\n\n.fad.fa-inverse {\n  color: #fff;\n}';function Le(){var e=C,t=S,o=L.familyPrefix,n=L.replacementClass,i=Ne;if(o!==e||n!==t){var r=new RegExp("\\.".concat(e,"\\-"),"g"),s=new RegExp("\\--".concat(e,"\\-"),"g"),a=new RegExp("\\.".concat(t),"g");i=i.replace(r,".".concat(o,"-")).replace(s,"--".concat(o,"-")).replace(a,".".concat(n))}return i}function Ie(){L.autoAddCss&&!xe&&(ne(Le()),xe=!0)}function De(e,t){return Object.defineProperty(e,"abstract",{get:t}),Object.defineProperty(e,"html",{get:function(){return e.abstract.map((function(e){return Ee(e)}))}}),Object.defineProperty(e,"node",{get:function(){if(v){var t=_.createElement("div");return t.innerHTML=e.html,t.children}}}),e}function Ae(e){var t=e.prefix,o=void 0===t?"fa":t,n=e.iconName;if(n)return be(Me.definitions,o,n)||be(D.styles,o,n)}var Pe,Me=new(function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.definitions={}}var t,o,n;return t=e,(o=[{key:"add",value:function(){for(var e=this,t=arguments.length,o=new Array(t),n=0;n<t;n++)o[n]=arguments[n];var i=o.reduce(this._pullDefinitions,{});Object.keys(i).forEach((function(t){e.definitions[t]=a({},e.definitions[t]||{},i[t]),me(t,i[t]),ve()}))}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(e,t){var o=t.prefix&&t.iconName&&t.icon?{0:t}:t;return Object.keys(o).map((function(t){var n=o[t],i=n.prefix,r=n.iconName,s=n.icon;e[i]||(e[i]={}),e[i][r]=s})),e}}])&&r(t.prototype,o),n&&r(t,n),e}()),xe=!1,Be={transform:function(e){return Ce(e)}},Fe=(Pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.transform,n=void 0===o?oe:o,i=t.symbol,r=void 0!==i&&i,s=t.mask,l=void 0===s?null:s,u=t.maskId,c=void 0===u?null:u,h=t.title,d=void 0===h?null:h,g=t.titleId,p=void 0===g?null:g,f=t.classes,m=void 0===f?[]:f,_=t.attributes,y=void 0===_?{}:_,v=t.styles,b=void 0===v?{}:v;if(e){var E=e.prefix,C=e.iconName,S=e.icon;return De(a({type:"icon"},e),(function(){return Ie(),L.autoA11y&&(d?y["aria-labelledby"]="".concat(L.replacementClass,"-title-").concat(p||re()):(y["aria-hidden"]="true",y.focusable="false")),de({icons:{main:Re(S),mask:l?Re(l.icon):{found:!1,width:null,height:null,icon:{}}},prefix:E,iconName:C,transform:a({},oe,n),symbol:r,title:d,maskId:c,titleId:p,extra:{attributes:y,styles:b,classes:m}})}))}},function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=(e||{}).icon?e:Ae(e||{}),n=t.mask;return n&&(n=(n||{}).icon?n:Ae(n||{})),Pe(o,a({},t,{mask:n}))}),He=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.transform,n=void 0===o?oe:o,i=t.title,r=void 0===i?null:i,s=t.classes,l=void 0===s?[]:s,c=t.attributes,h=void 0===c?{}:c,d=t.styles,g=void 0===d?{}:d;return De({type:"text",content:e},(function(){return Ie(),ge({content:e,transform:a({},oe,n),title:r,extra:{attributes:h,styles:g,classes:["".concat(L.familyPrefix,"-layers-text")].concat(u(l))}})}))}}).call(this,o(80),o(148).setImmediate)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(92),i=function(){function e(t){var o=Object(n.d)(t);this._defaultValue=o,this._asciiMap=e._createAsciiMap(o),this._map=new Map}return e._createAsciiMap=function(e){for(var t=new Uint8Array(256),o=0;o<256;o++)t[o]=e;return t},e.prototype.set=function(e,t){var o=Object(n.d)(t);e>=0&&e<256?this._asciiMap[e]=o:this._map.set(e,o)},e.prototype.get=function(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue},e}(),r=function(){function e(){this._actual=new i(0)}return e.prototype.add=function(e){this._actual.set(e,1)},e.prototype.has=function(e){return 1===this._actual.get(e)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n=function(){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._entries=new Map;for(var o=0,n=e;o<n.length;o++){var i=n[o],r=i[0],s=i[1];this.set(r,s)}}return e.prototype.set=function(e,t){var o=this._entries.get(e);return this._entries.set(e,t),o},e.prototype.forEach=function(e){this._entries.forEach((function(t,o){return e(o,t)}))},e.prototype.has=function(e){return this._entries.has(e)},e.prototype.get=function(e){return this._entries.get(e)},e}()},function(e,t,o){"use strict";o.d(t,"d",(function(){return r})),o.d(t,"a",(function(){return a})),o.d(t,"c",(function(){return l})),o.d(t,"b",(function(){return u})),o.d(t,"e",(function(){return c}));var n=o(7),i=o(30);function r(e,t){var o=Object.create(null);for(var n in t){var i=t[n];"string"==typeof i?o[n]=e.getColor(i):"function"==typeof i&&(o[n]=i(e))}return o}function s(e,t,o){function n(n){var i=r(e.getTheme(),t);"function"==typeof o?o(i):o.style(i)}return n(e.getTheme()),e.onThemeChange(n)}function a(e,t,o){return s(t,{badgeBackground:o&&o.badgeBackground||n.c,badgeForeground:o&&o.badgeForeground||n.d,badgeBorder:n.e},e)}function l(e,t,o){return s(t,{foreground:o&&o.foreground||n.I,background:o&&o.background||n.n,borderColor:o&&o.borderColor||n.e,widgetShadow:o&&o.widgetShadow||n.rb,progressBarBackground:o&&o.progressBarBackground||n.jb,pickerGroupForeground:o&&o.pickerGroupForeground||n.ib,pickerGroupBorder:o&&o.pickerGroupBorder||n.hb,inputBackground:o&&o.inputBackground||n.K,inputForeground:o&&o.inputForeground||n.M,inputBorder:o&&o.inputBorder||n.L,inputValidationInfoBorder:o&&o.inputValidationInfoBorder||n.Q,inputValidationInfoBackground:o&&o.inputValidationInfoBackground||n.P,inputValidationWarningBorder:o&&o.inputValidationWarningBorder||n.S,inputValidationWarningBackground:o&&o.inputValidationWarningBackground||n.R,inputValidationErrorBorder:o&&o.inputValidationErrorBorder||n.O,inputValidationErrorBackground:o&&o.inputValidationErrorBackground||n.N,listFocusBackground:o&&o.listFocusBackground||n.W,listFocusForeground:o&&o.listFocusForeground||n.X,listActiveSelectionBackground:o&&o.listActiveSelectionBackground||n.T,listActiveSelectionForeground:o&&o.listActiveSelectionForeground||n.U,listFocusAndSelectionBackground:o&&o.listFocusAndSelectionBackground||n.T,listFocusAndSelectionForeground:o&&o.listFocusAndSelectionForeground||n.U,listInactiveSelectionBackground:o&&o.listInactiveSelectionBackground||n.cb,listInactiveSelectionForeground:o&&o.listInactiveSelectionForeground||n.db,listInactiveFocusBackground:o&&o.listInactiveFocusBackground||n.bb,listHoverBackground:o&&o.listHoverBackground||n.Z,listHoverForeground:o&&o.listHoverForeground||n.ab,listDropBackground:o&&o.listDropBackground||n.V,listFocusOutline:o&&o.listFocusOutline||n.b,listSelectionOutline:o&&o.listSelectionOutline||n.b,listHoverOutline:o&&o.listHoverOutline||n.b},e)}function u(e,t,o){return s(t,Object(i.g)(o||Object.create(null),c,!1),e)}var c={listFocusBackground:n.W,listFocusForeground:n.X,listActiveSelectionBackground:n.T,listActiveSelectionForeground:n.U,listFocusAndSelectionBackground:n.T,listFocusAndSelectionForeground:n.U,listInactiveSelectionBackground:n.cb,listInactiveSelectionForeground:n.db,listInactiveFocusBackground:n.bb,listHoverBackground:n.Z,listHoverForeground:n.ab,listDropBackground:n.V,listFocusOutline:n.b,listSelectionOutline:n.b,listHoverOutline:n.b}},function(e,t,o){var n;self.MonacoEnvironment=(n={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{getWorkerUrl:function(e,t){var o="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"";return(o?o.replace(/\/$/,"")+"/":"")+n[t]}}),o(223),o(224),o(259),o(225),o(249),o(254),o(172),o(252),o(226),o(72),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(230),o(247),o(262),o(231),o(232),o(250),o(261),o(233),o(251),o(234),o(256),o(235),o(236),o(260),o(255),o(139),o(246),o(237),o(153),o(238),o(239),o(130),o(240),e.exports=o(487),o(241)},function(e,t,o){"use strict";(function(e){
 /*!
  * The buffer module from node.js, for the browser.
  *
  * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  * @license  MIT
  */
-var n=o(326),i=o(327),r=o(265);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,o){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,o);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,o)}function u(e,t,o,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,o,n){if(t.byteLength,o<0||t.byteLength<o)throw new RangeError("'offset' is out of bounds");if(t.byteLength<o+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===o&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,o):new Uint8Array(t,o,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=d(e,t);return e}(e,t,o,n):"string"==typeof t?function(e,t,o){"string"==typeof o&&""!==o||(o="utf8");if(!l.isEncoding(o))throw new TypeError('"encoding" must be a valid string encoding');var n=0|p(t,o),i=(e=a(e,n)).write(t,o);i!==n&&(e=e.slice(0,i));return e}(e,t,o):function(e,t){if(l.isBuffer(t)){var o=0|g(t.length);return 0===(e=a(e,o)).length?e:(t.copy(e,0,0,o),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?a(e,0):d(e,t);if("Buffer"===t.type&&r(t.data))return d(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=a(e,t<0?0:0|g(t)),!l.TYPED_ARRAY_SUPPORT)for(var o=0;o<t;++o)e[o]=0;return e}function d(e,t){var o=t.length<0?0:0|g(t.length);e=a(e,o);for(var n=0;n<o;n+=1)e[n]=255&t[n];return e}function g(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var o=e.length;if(0===o)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":case void 0:return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return W(e).length;default:if(n)return V(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,o){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return"";if((o>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return N(this,t,o);case"utf8":case"utf-8":return k(this,t,o);case"ascii":return R(this,t,o);case"latin1":case"binary":return L(this,t,o);case"base64":return w(this,t,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,o);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,o){var n=e[t];e[t]=e[o],e[o]=n}function _(e,t,o,n,i){if(0===e.length)return-1;if("string"==typeof o?(n=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,isNaN(o)&&(o=i?0:e.length-1),o<0&&(o=e.length+o),o>=e.length){if(i)return-1;o=e.length-1}else if(o<0){if(!i)return-1;o=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:y(e,t,o,n,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,o):Uint8Array.prototype.lastIndexOf.call(e,t,o):y(e,[t],o,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,o,n,i){var r,s=1,a=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,a/=2,l/=2,o/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(r=o;r<a;r++)if(u(e,r)===u(t,-1===c?0:r-c)){if(-1===c&&(c=r),r-c+1===l)return c*s}else-1!==c&&(r-=r-c),c=-1}else for(o+l>a&&(o=a-l),r=o;r>=0;r--){for(var h=!0,d=0;d<l;d++)if(u(e,r+d)!==u(t,d)){h=!1;break}if(h)return r}return-1}function v(e,t,o,n){o=Number(o)||0;var i=e.length-o;n?(n=Number(n))>i&&(n=i):n=i;var r=t.length;if(r%2!=0)throw new TypeError("Invalid hex string");n>r/2&&(n=r/2);for(var s=0;s<n;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[o+s]=a}return s}function b(e,t,o,n){return j(V(t,e.length-o),e,o,n)}function E(e,t,o,n){return j(function(e){for(var t=[],o=0;o<e.length;++o)t.push(255&e.charCodeAt(o));return t}(t),e,o,n)}function C(e,t,o,n){return E(e,t,o,n)}function S(e,t,o,n){return j(W(t),e,o,n)}function T(e,t,o,n){return j(function(e,t){for(var o,n,i,r=[],s=0;s<e.length&&!((t-=2)<0);++s)o=e.charCodeAt(s),n=o>>8,i=o%256,r.push(i),r.push(n);return r}(t,e.length-o),e,o,n)}function w(e,t,o){return 0===t&&o===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,o))}function k(e,t,o){o=Math.min(e.length,o);for(var n=[],i=t;i<o;){var r,s,a,l,u=e[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=o)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(r=e[i+1]))&&(l=(31&u)<<6|63&r)>127&&(c=l);break;case 3:r=e[i+1],s=e[i+2],128==(192&r)&&128==(192&s)&&(l=(15&u)<<12|(63&r)<<6|63&s)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:r=e[i+1],s=e[i+2],a=e[i+3],128==(192&r)&&128==(192&s)&&128==(192&a)&&(l=(15&u)<<18|(63&r)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var o="",n=0;for(;n<t;)o+=String.fromCharCode.apply(String,e.slice(n,n+=O));return o}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,o){return u(null,e,t,o)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,o){return function(e,t,o,n){return c(t),t<=0?a(e,t):void 0!==o?"string"==typeof n?a(e,t).fill(o,n):a(e,t).fill(o):a(e,t)}(null,e,t,o)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var o=e.length,n=t.length,i=0,r=Math.min(o,n);i<r;++i)if(e[i]!==t[i]){o=e[i],n=t[i];break}return o<n?-1:n<o?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!r(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var o;if(void 0===t)for(t=0,o=0;o<e.length;++o)t+=e[o].length;var n=l.allocUnsafe(t),i=0;for(o=0;o<e.length;++o){var s=e[o];if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,i),i+=s.length}return n},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?k(this,0,e):f.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",o=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,o).match(/.{2}/g).join(" "),this.length>o&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,o,n,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===o&&(o=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||o>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=o)return 0;if(n>=i)return-1;if(t>=o)return 1;if(this===e)return 0;for(var r=(i>>>=0)-(n>>>=0),s=(o>>>=0)-(t>>>=0),a=Math.min(r,s),u=this.slice(n,i),c=e.slice(t,o),h=0;h<a;++h)if(u[h]!==c[h]){r=u[h],s=c[h];break}return r<s?-1:s<r?1:0},l.prototype.includes=function(e,t,o){return-1!==this.indexOf(e,t,o)},l.prototype.indexOf=function(e,t,o){return _(this,e,t,o,!0)},l.prototype.lastIndexOf=function(e,t,o){return _(this,e,t,o,!1)},l.prototype.write=function(e,t,o,n){if(void 0===t)n="utf8",o=this.length,t=0;else if(void 0===o&&"string"==typeof t)n=t,o=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(o)?(o|=0,void 0===n&&(n="utf8")):(n=o,o=void 0)}var i=this.length-t;if((void 0===o||o>i)&&(o=i),e.length>0&&(o<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var r=!1;;)switch(n){case"hex":return v(this,e,t,o);case"utf8":case"utf-8":return b(this,e,t,o);case"ascii":return E(this,e,t,o);case"latin1":case"binary":return C(this,e,t,o);case"base64":return S(this,e,t,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,o);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),r=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function R(e,t,o){var n="";o=Math.min(e.length,o);for(var i=t;i<o;++i)n+=String.fromCharCode(127&e[i]);return n}function L(e,t,o){var n="";o=Math.min(e.length,o);for(var i=t;i<o;++i)n+=String.fromCharCode(e[i]);return n}function N(e,t,o){var n=e.length;(!t||t<0)&&(t=0),(!o||o<0||o>n)&&(o=n);for(var i="",r=t;r<o;++r)i+=U(e[r]);return i}function I(e,t,o){for(var n=e.slice(t,o),i="",r=0;r<n.length;r+=2)i+=String.fromCharCode(n[r]+256*n[r+1]);return i}function D(e,t,o){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>o)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,o,n,i,r){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<r)throw new RangeError('"value" argument is out of bounds');if(o+n>e.length)throw new RangeError("Index out of range")}function P(e,t,o,n){t<0&&(t=65535+t+1);for(var i=0,r=Math.min(e.length-o,2);i<r;++i)e[o+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function x(e,t,o,n){t<0&&(t=4294967295+t+1);for(var i=0,r=Math.min(e.length-o,4);i<r;++i)e[o+i]=t>>>8*(n?i:3-i)&255}function M(e,t,o,n,i,r){if(o+n>e.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function B(e,t,o,n,r){return r||M(e,0,o,4),i.write(e,t,o,n,23,4),o+4}function F(e,t,o,n,r){return r||M(e,0,o,8),i.write(e,t,o,n,52,8),o+8}l.prototype.slice=function(e,t){var o,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;o=new l(i,void 0);for(var r=0;r<i;++r)o[r]=this[r+e]}return o},l.prototype.readUIntLE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e],i=1,r=0;++r<t&&(i*=256);)n+=this[e+r]*i;return n},l.prototype.readUIntBE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e],i=1,r=0;++r<t&&(i*=256);)n+=this[e+r]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=t,i=1,r=this[e+--n];n>0&&(i*=256);)r+=this[e+--n]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var o=this[e]|this[e+1]<<8;return 32768&o?4294901760|o:o},l.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var o=this[e+1]|this[e]<<8;return 32768&o?4294901760|o:o},l.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,o,n){(e=+e,t|=0,o|=0,n)||A(this,e,t,o,Math.pow(2,8*o)-1,0);var i=1,r=0;for(this[t]=255&e;++r<o&&(i*=256);)this[t+r]=e/i&255;return t+o},l.prototype.writeUIntBE=function(e,t,o,n){(e=+e,t|=0,o|=0,n)||A(this,e,t,o,Math.pow(2,8*o)-1,0);var i=o-1,r=1;for(this[t+i]=255&e;--i>=0&&(r*=256);)this[t+i]=e/r&255;return t+o},l.prototype.writeUInt8=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):x(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):x(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,o,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*o-1);A(this,e,t,o,i-1,-i)}var r=0,s=1,a=0;for(this[t]=255&e;++r<o&&(s*=256);)e<0&&0===a&&0!==this[t+r-1]&&(a=1),this[t+r]=(e/s>>0)-a&255;return t+o},l.prototype.writeIntBE=function(e,t,o,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*o-1);A(this,e,t,o,i-1,-i)}var r=o-1,s=1,a=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===a&&0!==this[t+r+1]&&(a=1),this[t+r]=(e/s>>0)-a&255;return t+o},l.prototype.writeInt8=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):x(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):x(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,o){return B(this,e,t,!0,o)},l.prototype.writeFloatBE=function(e,t,o){return B(this,e,t,!1,o)},l.prototype.writeDoubleLE=function(e,t,o){return F(this,e,t,!0,o)},l.prototype.writeDoubleBE=function(e,t,o){return F(this,e,t,!1,o)},l.prototype.copy=function(e,t,o,n){if(o||(o=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<o&&(n=o),n===o)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-o&&(n=e.length-t+o);var i,r=n-o;if(this===e&&o<t&&t<n)for(i=r-1;i>=0;--i)e[i+t]=this[i+o];else if(r<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<r;++i)e[i+t]=this[i+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+r),t);return r},l.prototype.fill=function(e,t,o,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,o=this.length):"string"==typeof o&&(n=o,o=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<o)throw new RangeError("Out of range index");if(o<=t)return this;var r;if(t>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"==typeof e)for(r=t;r<o;++r)this[r]=e;else{var s=l.isBuffer(e)?e:V(new l(e,n).toString()),a=s.length;for(r=0;r<o-t;++r)this[r+t]=s[r%a]}return this};var H=/[^+\/0-9A-Za-z-_]/g;function U(e){return e<16?"0"+e.toString(16):e.toString(16)}function V(e,t){var o;t=t||1/0;for(var n=e.length,i=null,r=[],s=0;s<n;++s){if((o=e.charCodeAt(s))>55295&&o<57344){if(!i){if(o>56319){(t-=3)>-1&&r.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&r.push(239,191,189);continue}i=o;continue}if(o<56320){(t-=3)>-1&&r.push(239,191,189),i=o;continue}o=65536+(i-55296<<10|o-56320)}else i&&(t-=3)>-1&&r.push(239,191,189);if(i=null,o<128){if((t-=1)<0)break;r.push(o)}else if(o<2048){if((t-=2)<0)break;r.push(o>>6|192,63&o|128)}else if(o<65536){if((t-=3)<0)break;r.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;r.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return r}function W(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(H,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function j(e,t,o,n){for(var i=0;i<n&&!(i+o>=t.length||i>=e.length);++i)t[i+o]=e[i];return i}}).call(this,o(80))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(101),i=o(242);t.Disposable=i.Disposable,t.CancellationToken=i.CancellationToken,t.Event=i.Event,t.Emitter=i.Emitter,function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101)),function(e){var t=window,o=Symbol("Services");e.get=function(){var e=t[o];if(!e)throw new Error("Language Client services has not been installed");return e},e.install=function(e){t[o]&&console.error(new Error("Language Client services has been overriden")),t[o]=e}}(t.Services||(t.Services={})),t.isDocumentSelector=function(e){return!(!e||!Array.isArray(e))&&e.every((function(e){return"string"==typeof e||n.DocumentFilter.is(e)}))},function(e){e.is=function(e){return!!e&&"uri"in e&&"languageId"in e}}(t.DocumentIdentifier||(t.DocumentIdentifier={})),function(e){e[e.Global=1]="Global",e[e.Workspace=2]="Workspace",e[e.WorkspaceFolder=3]="WorkspaceFolder"}(t.ConfigurationTarget||(t.ConfigurationTarget={}))},function(e,t,o){"use strict";(function(e){function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});const i=o(171),r=o(504);t.RequestType=r.RequestType,t.RequestType0=r.RequestType0,t.RequestType1=r.RequestType1,t.RequestType2=r.RequestType2,t.RequestType3=r.RequestType3,t.RequestType4=r.RequestType4,t.RequestType5=r.RequestType5,t.RequestType6=r.RequestType6,t.RequestType7=r.RequestType7,t.RequestType8=r.RequestType8,t.RequestType9=r.RequestType9,t.ResponseError=r.ResponseError,t.ErrorCodes=r.ErrorCodes,t.NotificationType=r.NotificationType,t.NotificationType0=r.NotificationType0,t.NotificationType1=r.NotificationType1,t.NotificationType2=r.NotificationType2,t.NotificationType3=r.NotificationType3,t.NotificationType4=r.NotificationType4,t.NotificationType5=r.NotificationType5,t.NotificationType6=r.NotificationType6,t.NotificationType7=r.NotificationType7,t.NotificationType8=r.NotificationType8,t.NotificationType9=r.NotificationType9;const s=o(243);t.MessageReader=s.MessageReader,t.StreamMessageReader=s.StreamMessageReader,t.IPCMessageReader=s.IPCMessageReader,t.SocketMessageReader=s.SocketMessageReader;const a=o(244);t.MessageWriter=a.MessageWriter,t.StreamMessageWriter=a.StreamMessageWriter,t.IPCMessageWriter=a.IPCMessageWriter,t.SocketMessageWriter=a.SocketMessageWriter;const l=o(186);t.Disposable=l.Disposable,t.Event=l.Event,t.Emitter=l.Emitter;const u=o(505);t.CancellationTokenSource=u.CancellationTokenSource,t.CancellationToken=u.CancellationToken;const c=o(506);var h,d,g,p,f,m,_;n(o(507)),n(o(508)),function(e){e.type=new r.NotificationType("$/cancelRequest")}(h||(h={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(g=t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(g=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new r.NotificationType("$/setTraceNotification")}(p=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new r.NotificationType("$/logTraceNotification")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));class y extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,y.prototype)}}function v(t,o,n,s){let a=0,v=0,b=0;const E="2.0";let C,S,T=void 0,w=Object.create(null),k=void 0,O=Object.create(null),R=new c.LinkedMap,L=Object.create(null),N=Object.create(null),I=d.Off,D=g.Text,A=_.New,P=new l.Emitter,x=new l.Emitter,M=new l.Emitter,B=new l.Emitter;function F(e){return"req-"+e.toString()}function H(e,t){var o;r.isRequestMessage(t)?e.set(F(t.id),t):r.isResponseMessage(t)?e.set(null===(o=t.id)?"res-unknown-"+(++b).toString():"res-"+o.toString(),t):e.set("not-"+(++v).toString(),t)}function U(e){}function V(){return A===_.Listening}function W(){return A===_.Closed}function j(){return A===_.Disposed}function G(){A!==_.New&&A!==_.Listening||(A=_.Closed,x.fire(void 0))}function z(){C||0===R.size||(C=e(()=>{C=void 0,function(){if(0===R.size)return;let e=R.shift();try{r.isRequestMessage(e)?function(e){if(j())return;function t(t,n,i){let s={jsonrpc:E,id:e.id};t instanceof r.ResponseError?s.error=t.toJson():s.result=void 0===t?null:t,Y(s,n,i),o.write(s)}function n(t,n,i){let r={jsonrpc:E,id:e.id,error:t.toJson()};Y(r,n,i),o.write(r)}!function(e){if(I===d.Off||!S)return;if(D===g.Text){let t=void 0;I===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),S.log(`Received request '${e.method} - (${e.id})'.`,t)}else X("receive-request",e)}(e);let s,a,l=w[e.method];l&&(s=l.type,a=l.handler);let c=Date.now();if(a||T){let l=new u.CancellationTokenSource,h=String(e.id);N[h]=l;try{let u,d=u=void 0===e.params||void 0!==s&&0===s.numberOfParams?a?a(l.token):T(e.method,l.token):i.array(e.params)&&(void 0===s||s.numberOfParams>1)?a?a(...e.params,l.token):T(e.method,...e.params,l.token):a?a(e.params,l.token):T(e.method,e.params,l.token);u?d.then?d.then(o=>{delete N[h],t(o,e.method,c)},t=>{delete N[h],t instanceof r.ResponseError?n(t,e.method,c):t&&i.string(t.message)?n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}):(delete N[h],t(u,e.method,c)):(delete N[h],function(t,n,i){void 0===t&&(t=null);let r={jsonrpc:E,id:e.id,result:t};Y(r,n,i),o.write(r)}(u,e.method,c))}catch(o){delete N[h],o instanceof r.ResponseError?t(o,e.method,c):o&&i.string(o.message)?n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${o.message}`),e.method,c):n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else n(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):r.isNotificationMessage(e)?function(e){if(j())return;let t,o=void 0;if(e.method===h.type.method)t=e=>{let t=e.id,o=N[String(t)];o&&o.cancel()};else{let n=O[e.method];n&&(t=n.handler,o=n.type)}if(t||k)try{!function(e){if(I===d.Off||!S||e.method===f.type.method)return;if(D===g.Text){let t=void 0;I===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),S.log(`Received notification '${e.method}'.`,t)}else X("receive-notification",e)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():k(e.method):i.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t(...e.params):k(e.method,...e.params):t?t(e.params):k(e.method,e.params)}catch(t){t.message?n.error(`Notification handler '${e.method}' failed with message: ${t.message}`):n.error(`Notification handler '${e.method}' failed unexpectedly.`)}else M.fire(e)}(e):r.isResponseMessage(e)?function(e){if(j())return;if(null===e.id)e.error?n.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):n.error("Received response message without id. No further error information provided.");else{let t=String(e.id),o=L[t];if(function(e,t){if(I===d.Off||!S)return;if(D===g.Text){let o=void 0;if(I===d.Verbose&&(e.error&&e.error.data?o=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?o=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(o="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";S.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,o)}else S.log(`Received response ${e.id} without active response promise.`,o)}else X("receive-response",e)}(e,o),o){delete L[t];try{if(e.error){let t=e.error;o.reject(new r.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(e){e.message?n.error(`Response handler '${o.method}' failed with message: ${e.message}`):n.error(`Response handler '${o.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);let t=e;if(i.string(t.id)||i.number(t.id)){let e=String(t.id),o=L[e];o&&o.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{z()}}()}))}t.onClose(G),t.onError((function(e){P.fire([e,void 0,void 0])})),o.onClose(G),o.onError((function(e){P.fire(e)}));let K=e=>{try{if(r.isNotificationMessage(e)&&e.method===h.type.method){let t=F(e.params.id),n=R.get(t);if(r.isRequestMessage(n)){let i=s&&s.cancelUndispatched?s.cancelUndispatched(n,U):void 0;if(i&&(void 0!==i.error||void 0!==i.result))return R.delete(t),i.id=n.id,Y(i,e.method,Date.now()),void o.write(i)}}H(R,e)}finally{z()}};function Y(e,t,o){if(I!==d.Off&&S)if(D===g.Text){let n=void 0;I===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),S.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-o}ms`,n)}else X("send-response",e)}function X(e,t){if(!S||I===d.Off)return;const o={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};S.log(o)}function q(){if(W())throw new y(m.Closed,"Connection is closed.");if(j())throw new y(m.Disposed,"Connection is disposed.")}function $(e){return void 0===e?null:e}function J(e,t){let o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(let e=0;e<t.length&&e<n;e++)o.push($(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)o.push(null)}return o}let Z={sendNotification:(e,...t)=>{let n,r;if(q(),i.string(e))switch(n=e,t.length){case 0:r=null;break;case 1:r=t[0];break;default:r=t}else n=e.method,r=J(e,t);let s={jsonrpc:E,method:n,params:r};!function(e){if(I!==d.Off&&S)if(D===g.Text){let t=void 0;I===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),S.log(`Sending notification '${e.method}'.`,t)}else X("send-notification",e)}(s),o.write(s)},onNotification:(e,t)=>{q(),i.func(e)?k=e:t&&(i.string(e)?O[e]={type:void 0,handler:t}:O[e.method]={type:e,handler:t})},sendRequest:(e,...t)=>{let n,s;q(),function(){if(!V())throw new Error("Call listen() first.")}();let l=void 0;if(i.string(e))switch(n=e,t.length){case 0:s=null;break;case 1:u.CancellationToken.is(t[0])?(s=null,l=t[0]):s=$(t[0]);break;default:const e=t.length-1;u.CancellationToken.is(t[e])?(l=t[e],s=2===t.length?$(t[0]):t.slice(0,e).map(e=>$(e))):s=t.map(e=>$(e))}else{n=e.method,s=J(e,t);let o=e.numberOfParams;l=u.CancellationToken.is(t[o])?t[o]:void 0}let c=a++,p=new Promise((e,t)=>{let i={jsonrpc:E,id:c,method:n,params:s},a={method:n,timerStart:Date.now(),resolve:e,reject:t};!function(e){if(I!==d.Off&&S)if(D===g.Text){let t=void 0;I===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),S.log(`Sending request '${e.method} - (${e.id})'.`,t)}else X("send-request",e)}(i);try{o.write(i)}catch(e){a.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(L[String(c)]=a)});return l&&l.onCancellationRequested(()=>{Z.sendNotification(h.type,{id:c})}),p},onRequest:(e,t)=>{q(),i.func(e)?T=e:t&&(i.string(e)?w[e]={type:void 0,handler:t}:w[e.method]={type:e,handler:t})},trace:(e,t,o)=>{let n=!1,r=g.Text;void 0!==o&&(i.boolean(o)?n=o:(n=o.sendNotification||!1,r=o.traceFormat||g.Text)),D=r,S=(I=e)===d.Off?void 0:t,!n||W()||j()||Z.sendNotification(p.type,{value:d.toString(e)})},onError:P.event,onClose:x.event,onUnhandledNotification:M.event,onDispose:B.event,dispose:()=>{if(j())return;A=_.Disposed,B.fire(void 0);let e=new Error("Connection got disposed.");Object.keys(L).forEach(t=>{L[t].reject(e)}),L=Object.create(null),N=Object.create(null),R=new c.LinkedMap,i.func(o.dispose)&&o.dispose(),i.func(t.dispose)&&t.dispose()},listen:()=>{q(),function(){if(V())throw new y(m.AlreadyListening,"Connection is already listening")}(),A=_.Listening,t.listen(K)},inspect:()=>{console.log("inspect")}};return Z.onNotification(f.type,e=>{I!==d.Off&&S&&S.log(e.message,I===d.Verbose?e.verbose:void 0)}),Z}t.ConnectionError=y,function(e){e.is=function(e){let t=e;return t&&i.func(t.cancelUndispatched)}}(t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(_||(_={})),t.createMessageConnection=function(e,o,n,i){var r;return n||(n=t.NullLogger),v(void 0!==(r=e).listen&&void 0===r.read?e:new s.StreamMessageReader(e),function(e){return void 0!==e.write&&void 0===e.end}(o)?o:new a.StreamMessageWriter(o),n,i)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return a}));var n=o(8),i=function(){function e(e,t,o,n){this.startColumn=e,this.endColumn=t,this.className=o,this.type=n}return e._equals=function(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type},e.equalsArr=function(t,o){var n=t.length;if(n!==o.length)return!1;for(var i=0;i<n;i++)if(!e._equals(t[i],o[i]))return!1;return!0},e.filter=function(t,o,n,i){if(0===t.length)return[];for(var r=[],s=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.range;if(!(c.endLineNumber<o||c.startLineNumber>o)&&(!c.isEmpty()||0!==u.type&&3!==u.type)){var h=c.startLineNumber===o?c.startColumn:n,d=c.endLineNumber===o?c.endColumn:i;r[s++]=new e(h,d,u.inlineClassName,u.type)}}return r},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.className<t.className?-1:e.className>t.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),r=function(e,t,o){this.startOffset=e,this.endOffset=t,this.className=o},s=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,o){for(;this.count>0&&this.stopOffsets[0]<e;){for(var n=0;n+1<this.count&&this.stopOffsets[n]===this.stopOffsets[n+1];)n++;o.push(new r(t,this.stopOffsets[n],this.classNames.join(" "))),t=this.stopOffsets[n]+1,this.stopOffsets.splice(0,n+1),this.classNames.splice(0,n+1),this.count-=n+1}return this.count>0&&t<e&&(o.push(new r(t,e-1,this.classNames.join(" "))),t=e),t},e.prototype.insert=function(e,t){if(0===this.count||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t);else for(var o=0;o<this.count;o++)if(this.stopOffsets[o]>=e){this.stopOffsets.splice(o,0,e),this.classNames.splice(o,0,t);break}this.count++},e}(),a=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var o=[],i=new s,r=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.startColumn,h=u.endColumn,d=u.className;if(c>1){var g=e.charCodeAt(c-2);n.isHighSurrogate(g)&&c--}if(h>1){g=e.charCodeAt(h-2);n.isHighSurrogate(g)&&h--}var p=c-1,f=h-2;r=i.consumeLowerThan(p,r,o),0===i.count&&(r=p),i.insert(f,d)}return i.consumeLowerThan(1073741824,r,o),o},e}()},function(e,t,o){"use strict";var n=o(0),i=o(10),r=o(204),s=o(74),a=o(125),l=o(1),u=(o(473),o(30)),c=o(179),h=l.a,d=function(){function e(e,t){this.os=t,this.domNode=l.k(e,h(".monaco-keybinding")),this.didEverRender=!1,e.appendChild(this.domNode)}return e.prototype.set=function(t,o){this.didEverRender&&this.keybinding===t&&e.areSame(this.matches,o)||(this.keybinding=t,this.matches=o,this.render())},e.prototype.render=function(){if(l.l(this.domNode),this.keybinding){var e=this.keybinding.getParts(),t=e[0],o=e[1];t&&this.renderPart(this.domNode,t,this.matches?this.matches.firstPart:null),o&&(l.k(this.domNode,h("span.monaco-keybinding-key-chord-separator",null," ")),this.renderPart(this.domNode,o,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()}this.didEverRender=!0},e.prototype.renderPart=function(e,t,o){var n=c.b.modifierLabels[this.os];t.ctrlKey&&this.renderKey(e,n.ctrlKey,o&&o.ctrlKey,n.separator),t.shiftKey&&this.renderKey(e,n.shiftKey,o&&o.shiftKey,n.separator),t.altKey&&this.renderKey(e,n.altKey,o&&o.altKey,n.separator),t.metaKey&&this.renderKey(e,n.metaKey,o&&o.metaKey,n.separator);var i=t.keyLabel;i&&this.renderKey(e,i,o&&o.keyCode,"")},e.prototype.renderKey=function(e,t,o,n){l.k(e,h("span.monaco-keybinding-key"+(o?".highlight":""),null,t)),n&&l.k(e,h("span.monaco-keybinding-key-separator",null,n))},e.prototype.dispose=function(){this.keybinding=null},e.areSame=function(e,t){return e===t||!e&&!t||!!e&&!!t&&Object(u.e)(e.firstPart,t.firstPart)&&Object(u.e)(e.chordPart,t.chordPart)},e}(),g=o(15);o.d(t,"a",(function(){return _})),o.d(t,"b",(function(){return y})),o.d(t,"c",(function(){return E}));var p,f=(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=0,_=function(){function e(e){void 0===e&&(e=[]),this.id=(m++).toString(),this.labelHighlights=e,this.descriptionHighlights=[]}return e.prototype.getId=function(){return this.id},e.prototype.getLabel=function(){return null},e.prototype.getLabelOptions=function(){return null},e.prototype.getAriaLabel=function(){return[this.getLabel(),this.getDescription(),this.getDetail()].filter((function(e){return!!e})).join(", ")},e.prototype.getDetail=function(){return null},e.prototype.getIcon=function(){return null},e.prototype.getDescription=function(){return null},e.prototype.getTooltip=function(){return null},e.prototype.getDescriptionTooltip=function(){return null},e.prototype.getKeybinding=function(){return null},e.prototype.isHidden=function(){return this.hidden},e.prototype.setHighlights=function(e,t,o){this.labelHighlights=e,this.descriptionHighlights=t,this.detailHighlights=o},e.prototype.getHighlights=function(){return[this.labelHighlights,this.descriptionHighlights,this.detailHighlights]},e.prototype.run=function(e,t){return!1},e}(),y=function(e){function t(t,o,n){var i=e.call(this)||this;return i.entry=t,i.groupLabel=o,i.withBorder=n,i}return f(t,e),t.prototype.getGroupLabel=function(){return this.groupLabel},t.prototype.setGroupLabel=function(e){this.groupLabel=e},t.prototype.showBorder=function(){return this.withBorder},t.prototype.setShowBorder=function(e){this.withBorder=e},t.prototype.getLabel=function(){return this.entry?this.entry.getLabel():e.prototype.getLabel.call(this)},t.prototype.getLabelOptions=function(){return this.entry?this.entry.getLabelOptions():e.prototype.getLabelOptions.call(this)},t.prototype.getAriaLabel=function(){return this.entry?this.entry.getAriaLabel():e.prototype.getAriaLabel.call(this)},t.prototype.getDetail=function(){return this.entry?this.entry.getDetail():e.prototype.getDetail.call(this)},t.prototype.getIcon=function(){return this.entry?this.entry.getIcon():e.prototype.getIcon.call(this)},t.prototype.getDescription=function(){return this.entry?this.entry.getDescription():e.prototype.getDescription.call(this)},t.prototype.getHighlights=function(){return this.entry?this.entry.getHighlights():e.prototype.getHighlights.call(this)},t.prototype.isHidden=function(){return this.entry?this.entry.isHidden():e.prototype.isHidden.call(this)},t.prototype.setHighlights=function(t,o,n){this.entry?this.entry.setHighlights(t,o,n):e.prototype.setHighlights.call(this,t,o,n)},t.prototype.run=function(t,o){return this.entry?this.entry.run(t,o):e.prototype.run.call(this,t,o)},t}(_),v=function(){function e(){}return e.prototype.hasActions=function(e,t){return!1},e.prototype.getActions=function(e,t){return i.b.as(null)},e}(),b=function(){function e(e,t){void 0===e&&(e=new v),void 0===t&&(t=null),this.actionProvider=e,this.actionRunner=t}return e.prototype.getHeight=function(e){return e.getDetail()?44:22},e.prototype.getTemplateId=function(e){return e instanceof y?"quickOpenEntryGroup":"quickOpenEntry"},e.prototype.renderTemplate=function(e,t,o){var n=document.createElement("div");l.f(n,"sub-content"),t.appendChild(n);var i=l.a(".quick-open-row"),u=l.a(".quick-open-row"),c=l.a(".quick-open-entry",null,i,u);n.appendChild(c);var h=document.createElement("span");i.appendChild(h);var p=new r.b(i,{supportHighlights:!0,supportDescriptionHighlights:!0}),f=document.createElement("span");i.appendChild(f),l.f(f,"quick-open-entry-keybinding");var m=new d(f,g.a),_=document.createElement("div");u.appendChild(_),l.f(_,"quick-open-entry-meta");var y,v=new a.a(_);"quickOpenEntryGroup"===e&&(y=document.createElement("div"),l.f(y,"results-group"),t.appendChild(y)),l.f(t,"actions");var b=document.createElement("div");return l.f(b,"primary-action-bar"),t.appendChild(b),{container:t,entry:c,icon:h,label:p,detail:v,keybinding:m,group:y,actionBar:new s.a(b,{actionRunner:this.actionRunner})}},e.prototype.renderElement=function(e,t,o,n){if(this.actionProvider.hasActions(null,e)?l.f(o.container,"has-actions"):l.G(o.container,"has-actions"),o.actionBar.context=e,this.actionProvider.getActions(null,e).then((function(e){o.actionBar.isEmpty()&&e&&e.length>0?o.actionBar.push(e,{icon:!0,label:!1}):o.actionBar.isEmpty()||e&&0!==e.length||o.actionBar.clear()})),e instanceof y&&e.getGroupLabel()?l.f(o.container,"has-group-label"):l.G(o.container,"has-group-label"),e instanceof y){var i=e,r=o;i.showBorder()?(l.f(r.container,"results-group-separator"),r.container.style.borderTopColor=n.pickerGroupBorder.toString()):(l.G(r.container,"results-group-separator"),r.container.style.borderTopColor=null);var s=i.getGroupLabel()||"";r.group.textContent=s,r.group.style.color=n.pickerGroupForeground.toString()}if(e instanceof _){var a=e.getHighlights(),u=a[0],c=a[1],h=a[2],d=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";o.icon.className=d;var g=e.getLabelOptions()||Object.create(null);g.matches=u||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=c||[],o.label.setValue(e.getLabel(),e.getDescription(),g),o.detail.set(e.getDetail(),h),o.keybinding.set(e.getKeybinding(),null)}},e.prototype.disposeTemplate=function(e,t){var o=t;o.actionBar.dispose(),o.actionBar=null,o.container=null,o.entry=null,o.keybinding.dispose(),o.keybinding=null,o.detail.dispose(),o.detail=null,o.group=null,o.icon=null,o.label.dispose(),o.label=null},e}(),E=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new v),this._entries=e,this._dataSource=this,this._renderer=new b(t),this._filter=this,this._runner=this,this._accessibilityProvider=this}return Object.defineProperty(e.prototype,"entries",{get:function(){return this._entries},set:function(e){this._entries=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"runner",{get:function(){return this._runner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessibilityProvider",{get:function(){return this._accessibilityProvider},enumerable:!0,configurable:!0}),e.prototype.getId=function(e){return e.getId()},e.prototype.getLabel=function(e){return e.getLabel()},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?n.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):n.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,o){return e.run(t,o)},e}()},function(e,t,o){"use strict";var n=o(1),i=o(30),r=o(8);function s(e){return Object(r.escape)(e)}o.d(t,"a",(function(){return a}));var a=function(){function e(e){this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(t,o,n,r){void 0===o&&(o=[]),void 0===n&&(n=""),t||(t=""),r&&(t=e.escapeNewLines(t,o)),this.didEverRender&&this.text===t&&this.title===n&&i.e(this.highlights,o)||(Array.isArray(o)||(o=[]),this.text=t,this.title=n,this.highlights=o,this.render())},e.prototype.render=function(){n.l(this.domNode);for(var e,t=[],o=0,i=0;i<this.highlights.length;i++)(e=this.highlights[i]).end!==e.start&&(o<e.start&&(t.push("<span>"),t.push(s(this.text.substring(o,e.start))),t.push("</span>"),o=e.end),t.push('<span class="highlight">'),t.push(s(this.text.substring(e.start,e.end))),t.push("</span>"),o=e.end);o<this.text.length&&(t.push("<span>"),t.push(s(this.text.substring(o))),t.push("</span>")),this.domNode.innerHTML=t.join(""),this.domNode.title=this.title,this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e.escapeNewLines=function(e,t){var o=0,n=0;return e.replace(/\r\n|\r|\n/,(function(e,i){n="\r\n"===e?-1:0,i+=o;for(var r=0,s=t;r<s.length;r++){var a=s[r];a.end<=i||(a.start>=i&&(a.start+=n),a.end>=i&&(a.end+=n))}return o+=n,"⏎"}))},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var n=o(8),i=o(20),r=o(2),s=o(23),a=o(32),l=function(){function e(e,t){this._opts=t,this._selection=e,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}return e.unshiftIndentCount=function(e,t,o){var n=i.a.visibleColumnFromColumn(e,t,o);return i.a.prevTabStop(n,o)/o},e.shiftIndentCount=function(e,t,o){var n=i.a.visibleColumnFromColumn(e,t,o);return i.a.nextTabStop(n,o)/o},e.prototype._addEditOperation=function(e,t,o){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,o):e.addEditOperation(t,o)},e.prototype.getEditOperations=function(t,o){var s=this._selection.startLineNumber,l=this._selection.endLineNumber;1===this._selection.endColumn&&s!==l&&(l-=1);var u=this._opts.tabSize,c=this._opts.oneIndent,h=s===l;if(this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(s))&&(this._useLastEditRangeForCursorEndPosition=!0),this._opts.useTabStops)for(var d=["",c],g=0,p=0,f=s;f<=l;f++,g=p){p=0;var m=t.getLineContent(f),_=n.firstNonWhitespaceIndex(m);if((!this._opts.isUnshift||0!==m.length&&0!==_)&&(h||this._opts.isUnshift||0!==m.length)){if(-1===_&&(_=m.length),f>1)if(i.a.visibleColumnFromColumn(m,_+1,u)%u!=0&&t.isCheapToTokenize(f-1)){var y=a.a.getRawEnterActionAtPosition(t,f-1,t.getLineMaxColumn(f-1));if(y){if(p=g,y.appendText)for(var v=0,b=y.appendText.length;v<b&&p<u&&32===y.appendText.charCodeAt(v);v++)p++;y.removeText&&(p=Math.max(0,p-y.removeText));for(v=0;v<p&&(0!==_&&32===m.charCodeAt(_-1));v++)_--}}if(!this._opts.isUnshift||0!==_){var E=void 0;E=this._opts.isUnshift?e.unshiftIndentCount(m,_+1,u):e.shiftIndentCount(m,_+1,u);for(v=d.length;v<=E;v++)d[v]=d[v-1]+c;this._addEditOperation(o,new r.a(f,1,f,_+1),d[E]),f===s&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=_+1)}}}else for(f=s;f<=l;f++){m=t.getLineContent(f),_=n.firstNonWhitespaceIndex(m);if((!this._opts.isUnshift||0!==m.length&&0!==_)&&((h||this._opts.isUnshift||0!==m.length)&&(-1===_&&(_=m.length),!this._opts.isUnshift||0!==_)))if(this._opts.isUnshift){_=Math.min(_,u);for(var C=0;C<_;C++){if(9===m.charCodeAt(C)){_=C+1;break}}this._addEditOperation(o,new r.a(f,1,f,_+1),"")}else this._addEditOperation(o,new r.a(f,1,f,1),c),f===s&&(this._selectionStartColumnStaysPut=1===this._selection.startColumn)}this._selectionId=o.trackSelection(this._selection)},e.prototype.computeCursorState=function(e,t){if(this._useLastEditRangeForCursorEndPosition){var o=t.getInverseEditOperations()[0];return new s.a(o.range.endLineNumber,o.range.endColumn,o.range.endLineNumber,o.range.endColumn)}var n=t.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){var i=this._selection.startColumn;return n.startColumn<=i?n:n.getDirection()===s.b.LTR?new s.a(n.startLineNumber,i,n.endLineNumber,n.endColumn):new s.a(n.endLineNumber,n.endColumn,n.startLineNumber,i)}return n},e}()},function(e,t,o){"use strict";(function(e){if(t.base64=!0,t.array=!0,t.string=!0,t.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,t.nodebuffer=void 0!==e,t.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)t.blob=!1;else{var n=new ArrayBuffer(0);try{t.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),t.blob=0===i.getBlob("application/zip").size}catch(e){t.blob=!1}}}try{t.nodestream=!!o(266).Readable}catch(e){t.nodestream=!1}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var o=t.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var n in o)i(o,n)&&(e[n]=o[n])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,o,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(o,o+n),i);else for(var r=0;r<n;r++)e[i+r]=t[o+r]},flattenChunks:function(e){var t,o,n,i,r,s;for(n=0,t=0,o=e.length;t<o;t++)n+=e[t].length;for(s=new Uint8Array(n),i=0,t=0,o=e.length;t<o;t++)r=e[t],s.set(r,i),i+=r.length;return s}},s={arraySet:function(e,t,o,n,i){for(var r=0;r<n;r++)e[i+r]=t[o+r]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,r)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,s))},t.setTyped(n)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("progressService")},function(e,t,o){"use strict";o.r(t),o.d(t,"MoveWordCommand",(function(){return f})),o.d(t,"WordLeftCommand",(function(){return m})),o.d(t,"WordRightCommand",(function(){return _})),o.d(t,"CursorWordStartLeft",(function(){return y})),o.d(t,"CursorWordEndLeft",(function(){return v})),o.d(t,"CursorWordLeft",(function(){return b})),o.d(t,"CursorWordStartLeftSelect",(function(){return E})),o.d(t,"CursorWordEndLeftSelect",(function(){return C})),o.d(t,"CursorWordLeftSelect",(function(){return S})),o.d(t,"CursorWordStartRight",(function(){return T})),o.d(t,"CursorWordEndRight",(function(){return w})),o.d(t,"CursorWordRight",(function(){return k})),o.d(t,"CursorWordStartRightSelect",(function(){return O})),o.d(t,"CursorWordEndRightSelect",(function(){return R})),o.d(t,"CursorWordRightSelect",(function(){return L})),o.d(t,"DeleteWordCommand",(function(){return N})),o.d(t,"DeleteWordLeftCommand",(function(){return I})),o.d(t,"DeleteWordRightCommand",(function(){return D})),o.d(t,"DeleteWordStartLeft",(function(){return A})),o.d(t,"DeleteWordEndLeft",(function(){return P})),o.d(t,"DeleteWordLeft",(function(){return x})),o.d(t,"DeleteWordStartRight",(function(){return M})),o.d(t,"DeleteWordEndRight",(function(){return B})),o.d(t,"DeleteWordRight",(function(){return F}));var n,i=o(5),r=o(23),s=o(3),a=o(9),l=o(2),u=o(107),c=o(43),h=o(102),d=o(20),g=o(35),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o._wordNavigationType=t.wordNavigationType,o}return p(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=t.getConfiguration(),r=Object(h.a)(i.wordSeparators),s=t.getModel(),l=t.getSelections().map((function(e){var t=new a.a(e.positionLineNumber,e.positionColumn),o=n._move(r,s,t,n._wordNavigationType);return n._moveTo(e,o,n._inSelectionMode)}));if(t._getCursors().setStates("moveWordCommand",g.a.NotSet,l.map((function(e){return d.d.fromModelSelection(e)}))),1===l.length){var u=new a.a(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(u,0)}},t.prototype._moveTo=function(e,t,o){return o?new r.a(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new r.a(t.lineNumber,t.column,t.lineNumber,t.column)},t}(s.c),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._move=function(e,t,o,n){return u.a.moveWordLeft(e,t,o,n)},t}(f),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._move=function(e,t,o,n){return u.a.moveWordRight(e,t,o,n)},t}(f),y=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:2063,mac:{primary:527},weight:100}})||this}return p(t,e),t}(m),v=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndLeft",precondition:null})||this}return p(t,e),t}(m),b=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordLeft",precondition:null})||this}return p(t,e),t}(m),E=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:3087,mac:{primary:1551},weight:100}})||this}return p(t,e),t}(m),C=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndLeftSelect",precondition:null})||this}return p(t,e),t}(m),S=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordLeftSelect",precondition:null})||this}return p(t,e),t}(m),T=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:null})||this}return p(t,e),t}(_),w=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndRight",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:2065,mac:{primary:529},weight:100}})||this}return p(t,e),t}(_),k=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordRight",precondition:null})||this}return p(t,e),t}(_),O=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:null})||this}return p(t,e),t}(_),R=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndRightSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:3089,mac:{primary:1553},weight:100}})||this}return p(t,e),t}(_),L=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordRightSelect",precondition:null})||this}return p(t,e),t}(_),N=function(e){function t(t){var o=e.call(this,t)||this;return o._whitespaceHeuristics=t.whitespaceHeuristics,o._wordNavigationType=t.wordNavigationType,o}return p(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=t.getConfiguration(),r=Object(h.a)(i.wordSeparators),s=t.getModel(),a=t.getSelections().map((function(e){var t=n._delete(r,s,e,n._whitespaceHeuristics,n._wordNavigationType);return new c.a(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()},t}(s.c),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._delete=function(e,t,o,n,i){var r=u.a.deleteWordLeft(e,t,o,n,i);return r||new l.a(1,1,1,1)},t}(N),D=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._delete=function(e,t,o,n,i){var r=u.a.deleteWordRight(e,t,o,n,i);if(r)return r;var s=t.getLineCount(),a=t.getLineMaxColumn(s);return new l.a(s,a,s,a)},t}(N),A=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:i.a.writable})||this}return p(t,e),t}(I),P=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndLeft",precondition:i.a.writable})||this}return p(t,e),t}(I),x=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:2049,mac:{primary:513},weight:100}})||this}return p(t,e),t}(I),M=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:i.a.writable})||this}return p(t,e),t}(D),B=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndRight",precondition:i.a.writable})||this}return p(t,e),t}(D),F=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:"deleteWordRight",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:2068,mac:{primary:532},weight:100}})||this}return p(t,e),t}(D);Object(s.g)(new y),Object(s.g)(new v),Object(s.g)(new b),Object(s.g)(new E),Object(s.g)(new C),Object(s.g)(new S),Object(s.g)(new T),Object(s.g)(new w),Object(s.g)(new k),Object(s.g)(new O),Object(s.g)(new R),Object(s.g)(new L),Object(s.g)(new A),Object(s.g)(new P),Object(s.g)(new x),Object(s.g)(new M),Object(s.g)(new B),Object(s.g)(new F)},function(e,t,o){"use strict";o.d(t,"b",(function(){return y})),o.d(t,"a",(function(){return b})),o.d(t,"d",(function(){return w})),o.d(t,"c",(function(){return k}));var n,i=o(0),r=o(4),s=o(6),a=o(30),l=o(15),u=o(104),c=o(57),h=o(132),d=o(96),g=o(27),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=g.a,m=g.b,_=g.c,y=new(function(){function e(){this._tabFocus=!1,this._onDidChangeTabFocus=new r.a,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}return e.prototype.getTabFocusMode=function(){return this._tabFocus},e.prototype.setTabFocusMode=function(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))},e}()),v=Object.hasOwnProperty,b=function(e){function t(t){var o=e.call(this)||this;return o._onDidChange=o._register(new r.a),o.onDidChange=o._onDidChange.event,o._rawOptions=a.g({},t||{}),o._rawOptions.scrollbar=a.g({},o._rawOptions.scrollbar||{}),o._rawOptions.minimap=a.g({},o._rawOptions.minimap||{}),o._rawOptions.find=a.g({},o._rawOptions.find||{}),o._rawOptions.hover=a.g({},o._rawOptions.hover||{}),o._validatedOptions=g.d.validate(o._rawOptions,f),o.editor=null,o._isDominatedByLongLines=!1,o._lineNumbersDigitCount=1,o._register(d.a.onDidChangeZoomLevel((function(e){return o._recomputeOptions()}))),o._register(y.onDidChangeTabFocus((function(e){return o._recomputeOptions()}))),o}return p(t,e),t.prototype.observeReferenceElement=function(e){},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._recomputeOptions=function(){var e=this.editor,t=this._computeInternalOptions();e&&e.equals(t)||(this.editor=t,e&&this._onDidChange.fire(e.createChangeEvent(t)))},t.prototype.getRawOptions=function(){return this._rawOptions},t.prototype._computeInternalOptions=function(){var e=this._validatedOptions,t=this._getEnvConfiguration(),o=h.a.createFromRawSettings(this._rawOptions,t.zoomLevel),n={outerWidth:t.outerWidth,outerHeight:t.outerHeight,fontInfo:this.readConfiguration(o),extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:y.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport};return g.f.createInternalEditorOptions(n,e)},t._primitiveArrayEquals=function(e,t){if(e.length!==t.length)return!1;for(var o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0},t._subsetEquals=function(e,t){for(var o in t)if(v.call(t,o)){var n=t[o],i=e[o];if(i===n)continue;if(Array.isArray(i)&&Array.isArray(n)){if(!this._primitiveArrayEquals(i,n))return!1;continue}if("object"==typeof i&&"object"==typeof n){if(!this._subsetEquals(i,n))return!1;continue}return!1}return!0},t.prototype.updateOptions=function(e){void 0!==e&&(t._subsetEquals(this._rawOptions,e)||(this._rawOptions=a.g(this._rawOptions,e||{}),this._validatedOptions=g.d.validate(this._rawOptions,f),this._recomputeOptions()))},t.prototype.setIsDominatedByLongLines=function(e){this._isDominatedByLongLines=e,this._recomputeOptions()},t.prototype.setMaxLineNumber=function(e){var o=t._digitCount(e);this._lineNumbersDigitCount!==o&&(this._lineNumbersDigitCount=o,this._recomputeOptions())},t._digitCount=function(e){for(var t=0;e;)e=Math.floor(e/10),t++;return t||1},t}(s.a),E=c.a.as(u.b.Configuration),C={id:"editor",order:5,type:"object",title:i.a("editorConfigurationTitle","Editor"),overridable:!0,scope:u.a.RESOURCE,properties:{"editor.fontFamily":{type:"string",default:m.fontFamily,description:i.a("fontFamily","Controls the font family.")},"editor.fontWeight":{type:"string",enum:["normal","bold","100","200","300","400","500","600","700","800","900"],default:m.fontWeight,description:i.a("fontWeight","Controls the font weight.")},"editor.fontSize":{type:"number",default:m.fontSize,description:i.a("fontSize","Controls the font size in pixels.")},"editor.lineHeight":{type:"number",default:m.lineHeight,description:i.a("lineHeight","Controls the line height. Use 0 to compute the line height from the font size.")},"editor.letterSpacing":{type:"number",default:m.letterSpacing,description:i.a("letterSpacing","Controls the letter spacing in pixels.")},"editor.lineNumbers":{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[i.a("lineNumbers.off","Line numbers are not rendered."),i.a("lineNumbers.on","Line numbers are rendered as absolute number."),i.a("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),i.a("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:i.a("lineNumbers","Controls the display of line numbers.")},"editor.rulers":{type:"array",items:{type:"number"},default:f.viewInfo.rulers,description:i.a("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")},"editor.wordSeparators":{type:"string",default:f.wordSeparators,description:i.a("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")},"editor.tabSize":{type:"number",default:_.tabSize,minimum:1,description:i.a("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on."),errorMessage:i.a("tabSize.errorMessage","Expected 'number'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")},"editor.insertSpaces":{type:"boolean",default:_.insertSpaces,description:i.a("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on."),errorMessage:i.a("insertSpaces.errorMessage","Expected 'boolean'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")},"editor.detectIndentation":{type:"boolean",default:_.detectIndentation,description:i.a("detectIndentation","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.")},"editor.roundedSelection":{type:"boolean",default:f.viewInfo.roundedSelection,description:i.a("roundedSelection","Controls whether selections should have rounded corners.")},"editor.scrollBeyondLastLine":{type:"boolean",default:f.viewInfo.scrollBeyondLastLine,description:i.a("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")},"editor.scrollBeyondLastColumn":{type:"number",default:f.viewInfo.scrollBeyondLastColumn,description:i.a("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")},"editor.smoothScrolling":{type:"boolean",default:f.viewInfo.smoothScrolling,description:i.a("smoothScrolling","Controls whether the editor will scroll using an animation.")},"editor.minimap.enabled":{type:"boolean",default:f.viewInfo.minimap.enabled,description:i.a("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:f.viewInfo.minimap.side,description:i.a("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:f.viewInfo.minimap.showSlider,description:i.a("minimap.showSlider","Controls whether the minimap slider is automatically hidden.")},"editor.minimap.renderCharacters":{type:"boolean",default:f.viewInfo.minimap.renderCharacters,description:i.a("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:f.viewInfo.minimap.maxColumn,description:i.a("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.hover.enabled":{type:"boolean",default:f.contribInfo.hover.enabled,description:i.a("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:f.contribInfo.hover.delay,description:i.a("hover.delay","Time delay in milliseconds after which to the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:f.contribInfo.hover.sticky,description:i.a("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.find.seedSearchStringFromSelection":{type:"boolean",default:f.contribInfo.find.seedSearchStringFromSelection,description:i.a("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"boolean",default:f.contribInfo.find.autoFindInSelection,description:i.a("find.autoFindInSelection","Controls whether the find operation is carried on selected text or the entire file in the editor.")},"editor.find.globalFindClipboard":{type:"boolean",default:f.contribInfo.find.globalFindClipboard,description:i.a("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:l.d},"editor.wordWrap":{type:"string",enum:["off","on","wordWrapColumn","bounded"],enumDescriptions:[i.a("wordWrap.off","Lines will never wrap."),i.a("wordWrap.on","Lines will wrap at the viewport width."),i.a({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),i.a({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],default:f.wordWrap,description:i.a({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")},"editor.wordWrapColumn":{type:"integer",default:f.wordWrapColumn,minimum:1,description:i.a({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")},"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[i.a("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),i.a("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),i.a("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),i.a("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],default:"same",description:i.a("wrappingIndent","Controls the indentation of wrapped lines.")},"editor.mouseWheelScrollSensitivity":{type:"number",default:f.viewInfo.scrollbar.mouseWheelScrollSensitivity,description:i.a("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},"editor.multiCursorModifier":{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[i.a("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.a("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"alt",description:i.a({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")},"editor.multiCursorMergeOverlapping":{type:"boolean",default:f.multiCursorMergeOverlapping,description:i.a("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")},"editor.quickSuggestions":{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:!1,description:i.a("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:!1,description:i.a("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:!0,description:i.a("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}}}],default:f.contribInfo.quickSuggestions,description:i.a("quickSuggestions","Controls whether suggestions should automatically show up while typing.")},"editor.quickSuggestionsDelay":{type:"integer",default:f.contribInfo.quickSuggestionsDelay,minimum:0,description:i.a("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")},"editor.parameterHints":{type:"boolean",default:f.contribInfo.parameterHints,description:i.a("parameterHints","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.autoClosingBrackets":{type:"boolean",default:f.autoClosingBrackets,description:i.a("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")},"editor.formatOnType":{type:"boolean",default:f.contribInfo.formatOnType,description:i.a("formatOnType","Controls whether the editor should automatically format the line after typing.")},"editor.formatOnPaste":{type:"boolean",default:f.contribInfo.formatOnPaste,description:i.a("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")},"editor.autoIndent":{type:"boolean",default:f.autoIndent,description:i.a("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste or move lines. Extensions with indentation rules of the language must be available.")},"editor.suggestOnTriggerCharacters":{type:"boolean",default:f.contribInfo.suggestOnTriggerCharacters,description:i.a("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")},"editor.acceptSuggestionOnEnter":{type:"string",enum:["on","smart","off"],default:f.contribInfo.acceptSuggestionOnEnter,enumDescriptions:["",i.a("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],description:i.a("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")},"editor.acceptSuggestionOnCommitCharacter":{type:"boolean",default:f.contribInfo.acceptSuggestionOnCommitCharacter,description:i.a("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")},"editor.snippetSuggestions":{type:"string",enum:["top","bottom","inline","none"],enumDescriptions:[i.a("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),i.a("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),i.a("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),i.a("snippetSuggestions.none","Do not show snippet suggestions.")],default:f.contribInfo.suggest.snippets,description:i.a("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")},"editor.emptySelectionClipboard":{type:"boolean",default:f.emptySelectionClipboard,description:i.a("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")},"editor.wordBasedSuggestions":{type:"boolean",default:f.contribInfo.wordBasedSuggestions,description:i.a("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.suggestSelection":{type:"string",enum:["first","recentlyUsed","recentlyUsedByPrefix"],enumDescriptions:[i.a("suggestSelection.first","Always select the first suggestion."),i.a("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),i.a("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:i.a("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,description:i.a("suggestFontSize","Font size for the suggest widget.")},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,description:i.a("suggestLineHeight","Line height for the suggest widget.")},"editor.suggest.filterGraceful":{type:"boolean",default:!0,description:i.a("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:!0,description:i.a("suggest.snippetsPreventQuickSuggestions","Control whether an active snippet prevents quick suggestions.")},"editor.selectionHighlight":{type:"boolean",default:f.contribInfo.selectionHighlight,description:i.a("selectionHighlight","Controls whether the editor should highlight matches similar to the selection")},"editor.occurrencesHighlight":{type:"boolean",default:f.contribInfo.occurrencesHighlight,description:i.a("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")},"editor.overviewRulerLanes":{type:"integer",default:3,description:i.a("overviewRulerLanes","Controls the number of decorations that can show up at the same position in the overview ruler.")},"editor.overviewRulerBorder":{type:"boolean",default:f.viewInfo.overviewRulerBorder,description:i.a("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:g.k(f.viewInfo.cursorBlinking),description:i.a("cursorBlinking","Control the cursor animation style.")},"editor.mouseWheelZoom":{type:"boolean",default:f.viewInfo.mouseWheelZoom,description:i.a("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:g.l(f.viewInfo.cursorStyle),description:i.a("cursorStyle","Controls the cursor style.")},"editor.cursorWidth":{type:"integer",default:f.viewInfo.cursorWidth,description:i.a("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")},"editor.fontLigatures":{type:"boolean",default:f.viewInfo.fontLigatures,description:i.a("fontLigatures","Enables/Disables font ligatures.")},"editor.hideCursorInOverviewRuler":{type:"boolean",default:f.viewInfo.hideCursorInOverviewRuler,description:i.a("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")},"editor.renderWhitespace":{type:"string",enum:["none","boundary","all"],enumDescriptions:["",i.a("renderWhiteSpace.boundary","Render whitespace characters except for single spaces between words."),""],default:f.viewInfo.renderWhitespace,description:i.a("renderWhitespace","Controls how the editor should render whitespace characters.")},"editor.renderControlCharacters":{type:"boolean",default:f.viewInfo.renderControlCharacters,description:i.a("renderControlCharacters","Controls whether the editor should render control characters.")},"editor.renderIndentGuides":{type:"boolean",default:f.viewInfo.renderIndentGuides,description:i.a("renderIndentGuides","Controls whether the editor should render indent guides.")},"editor.highlightActiveIndentGuide":{type:"boolean",default:f.viewInfo.highlightActiveIndentGuide,description:i.a("highlightActiveIndentGuide","Controls whether the editor should highlight the active indent guide.")},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",i.a("renderLineHighlight.all","Highlights both the gutter and the current line.")],default:f.viewInfo.renderLineHighlight,description:i.a("renderLineHighlight","Controls how the editor should render the current line highlight.")},"editor.codeLens":{type:"boolean",default:f.contribInfo.codeLens,description:i.a("codeLens","Controls whether the editor shows CodeLens")},"editor.folding":{type:"boolean",default:f.contribInfo.folding,description:i.a("folding","Controls whether the editor has code folding enabled")},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:f.contribInfo.foldingStrategy,description:i.a("foldingStrategy","Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.")},"editor.showFoldingControls":{type:"string",enum:["always","mouseover"],default:f.contribInfo.showFoldingControls,description:i.a("showFoldingControls","Controls whether the fold controls on the gutter are automatically hidden.")},"editor.matchBrackets":{type:"boolean",default:f.contribInfo.matchBrackets,description:i.a("matchBrackets","Highlight matching brackets when one of them is selected.")},"editor.glyphMargin":{type:"boolean",default:f.viewInfo.glyphMargin,description:i.a("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")},"editor.useTabStops":{type:"boolean",default:f.useTabStops,description:i.a("useTabStops","Inserting and deleting whitespace follows tab stops.")},"editor.trimAutoWhitespace":{type:"boolean",default:_.trimAutoWhitespace,description:i.a("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.stablePeek":{type:"boolean",default:!1,description:i.a("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.dragAndDrop":{type:"boolean",default:f.dragAndDrop,description:i.a("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[i.a("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),i.a("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),i.a("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:f.accessibilitySupport,description:i.a("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:f.showUnused,description:i.a("showUnused","Controls fading out of unused code.")},"editor.links":{type:"boolean",default:f.contribInfo.links,description:i.a("links","Controls whether the editor should detect links and make them clickable.")},"editor.colorDecorators":{type:"boolean",default:f.contribInfo.colorDecorators,description:i.a("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")},"editor.lightbulb.enabled":{type:"boolean",default:f.contribInfo.lightbulbEnabled,description:i.a("codeActions","Enables the code action lightbulb in the editor.")},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:i.a("codeActionsOnSave.organizeImports","Controls whether organize imports action should be run on file save.")}},additionalProperties:{type:"boolean"},default:f.contribInfo.codeActionsOnSave,description:i.a("codeActionsOnSave","Code action kinds to be run on save.")},"editor.codeActionsOnSaveTimeout":{type:"number",default:f.contribInfo.codeActionsOnSaveTimeout,description:i.a("codeActionsOnSaveTimeout","Timeout in milliseconds after which the code actions that are run on save are cancelled.")},"editor.selectionClipboard":{type:"boolean",default:f.contribInfo.selectionClipboard,description:i.a("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:l.c},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:i.a("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:i.a("ignoreTrimWhitespace","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.")},"editor.largeFileOptimizations":{type:"boolean",default:_.largeFileOptimizations,description:i.a("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:i.a("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")}}},S=null;function T(){return null===S&&(S=Object.create(null),Object.keys(C.properties).forEach((function(e){S[e]=!0}))),S}function w(e){return T()["editor."+e]||!1}function k(e){return T()["diffEditor."+e]||!1}E.registerConfiguration(C)},function(e,t,o){"use strict";o.d(t,"a",(function(){return d})),o.d(t,"b",(function(){return g}));var n,i=o(15),r=o(96),s=o(27),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=i.d?1.5:1.35;function u(e,t){if("number"==typeof e)return e;var o=parseFloat(e);return isNaN(o)?t:o}function c(e,t,o){return e<t?t:e>o?o:e}function h(e,t){return"string"!=typeof e?t:e}var d=function(){function e(e){this.zoomLevel=e.zoomLevel,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.lineHeight=0|e.lineHeight,this.letterSpacing=e.letterSpacing}return e.createFromRawSettings=function(t,o){var n=h(t.fontFamily,s.b.fontFamily),i=h(t.fontWeight,s.b.fontWeight),a=u(t.fontSize,s.b.fontSize);0===(a=c(a,0,100))?a=s.b.fontSize:a<8&&(a=8);var d=function(e,t){if("number"==typeof e)return Math.round(e);var o=parseInt(e);return isNaN(o)?t:o}(t.lineHeight,0);0===(d=c(d,0,150))?d=Math.round(l*a):d<8&&(d=8);var g=u(t.letterSpacing,0);g=c(g,-5,20);var p=1+.1*r.a.getZoomLevel();return new e({zoomLevel:o,fontFamily:n,fontWeight:i,fontSize:a*=p,lineHeight:d*=p,letterSpacing:g})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e}(),g=function(e){function t(t,o){var n=e.call(this,t)||this;return n.isTrusted=o,n.isMonospace=t.isMonospace,n.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,n.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,n.spaceWidth=t.spaceWidth,n.maxDigitWidth=t.maxDigitWidth,n}return a(t,e),t.prototype.equals=function(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(d)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("textModelService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return S})),o.d(t,"b",(function(){return T})),o.d(t,"c",(function(){return B})),o.d(t,"d",(function(){return F}));var n,i,r=o(22),s=o(6),a=o(12),l=o(210),u=o(118),c=o(19),h=o(49),d=o(0),g=o(57),p=o(104),f=o(75),m=o(21),_=o(1),y=o(42),v=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),b=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(r.c)("listService"),T=function(){function e(e){this.lists=[],this._lastFocusedWidget=void 0}return Object.defineProperty(e.prototype,"lastFocusedList",{get:function(){return this._lastFocusedWidget},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var o=this;if(this.lists.some((function(t){return t.widget===e})))throw new Error("Cannot register the same widget multiple times");var n={widget:e,extraContextKeys:t};return this.lists.push(n),e.isDOMFocused()&&(this._lastFocusedWidget=e),Object(s.c)([e.onDidFocus((function(){return o._lastFocusedWidget=e})),Object(s.f)((function(){return o.lists.splice(o.lists.indexOf(n),1)})),e.onDidDispose((function(){o.lists=o.lists.filter((function(e){return e!==n})),o._lastFocusedWidget===e&&(o._lastFocusedWidget=void 0)}))])},e=E([C(0,a.e)],e)}(),w=new a.f("listFocus",!0),k=new a.f("listSupportsMultiselect",!0),O=new a.f("listHasSelectionOrFocus",!1),R=new a.f("listDoubleSelection",!1),L=new a.f("listMultiSelection",!1);var N,I="workbench.list.multiSelectModifier",D="workbench.list.openMode",A="workbench.tree.horizontalScrolling";function P(e){return"alt"===e.getValue(I)}function x(e){return"doubleClick"!==e.getValue(D)}function M(e,t){return e.controller||(e.controller=t.createInstance(F,{})),e.styler||(e.styler=new f.f((N||(N=Object(_.o)()),N))),e}var B=function(e){function t(t,o,n,i,r,s,a,l){var c=this,h=M(o,a),d=l.getValue(A)?y.b.Auto:y.b.Hidden,g=b({horizontalScrollMode:d,keyboardSupport:!1},Object(u.d)(s.getTheme(),u.e),n);return(c=e.call(this,t,h,g)||this).disposables=[],c.contextKeyService=function(e,t){var o=e.createScoped(t.getHTMLElement());return w.bindTo(o),o}(i,c),k.bindTo(c.contextKeyService),c.listHasSelectionOrFocus=O.bindTo(c.contextKeyService),c.listDoubleSelection=R.bindTo(c.contextKeyService),c.listMultiSelection=L.bindTo(c.contextKeyService),c._openOnSingleClick=x(l),c._useAltAsMultipleSelectionModifier=P(l),c.disposables.push(c.contextKeyService,r.register(c),Object(u.b)(c,s)),c.disposables.push(c.onDidChangeSelection((function(){var e=c.getSelection(),t=c.getFocus();c.listHasSelectionOrFocus.set(e&&e.length>0||!!t),c.listDoubleSelection.set(e&&2===e.length),c.listMultiSelection.set(e&&e.length>1)}))),c.disposables.push(c.onDidChangeFocus((function(){var e=c.getSelection(),t=c.getFocus();c.listHasSelectionOrFocus.set(e&&e.length>0||!!t)}))),c.disposables.push(l.onDidChangeConfiguration((function(e){e.affectsConfiguration(D)&&(c._openOnSingleClick=x(l)),e.affectsConfiguration(I)&&(c._useAltAsMultipleSelectionModifier=P(l))}))),c}return v(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.disposables=Object(s.d)(this.disposables)},t=E([C(3,a.e),C(4,S),C(5,c.c),C(6,r.a),C(7,h.b)],t)}(l.a);var F=function(e){function t(t,o){var n=e.call(this,function(e){return"boolean"!=typeof e.keyboardSupport&&(e.keyboardSupport=!1),"number"!=typeof e.clickBehavior&&(e.clickBehavior=f.a.ON_MOUSE_DOWN),e}(t))||this;return n.configurationService=o,n.disposables=[],Object(m.j)(t.openMode)&&(n.setOpenMode(n.getOpenModeSetting()),n.registerListeners()),n}return v(t,e),t.prototype.registerListeners=function(){var e=this;this.disposables.push(this.configurationService.onDidChangeConfiguration((function(t){t.affectsConfiguration(D)&&e.setOpenMode(e.getOpenModeSetting())})))},t.prototype.getOpenModeSetting=function(){return x(this.configurationService)?f.g.SINGLE_CLICK:f.g.DOUBLE_CLICK},t.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},t=E([C(1,h.b)],t)}(f.c);g.a.as(p.b.Configuration).registerConfiguration({id:"workbench",order:7,title:Object(d.a)("workbenchConfigurationTitle","Workbench"),type:"object",properties:(i={},i[I]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[Object(d.a)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),Object(d.a)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:Object(d.a)({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},i[D]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:Object(d.a)({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ")},i[A]={type:"boolean",default:!1,description:Object(d.a)("horizontalScrolling setting","Controls whether trees support horizontal scrolling in the workbench.")},i)})},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(22),i=Object(n.c)("logService"),r=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o]},e.prototype.error=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o]},e.prototype.dispose=function(){},e}()},function(e,t,o){"use strict";var n=o(180),i=Object.keys||function(e){var t=[];for(var o in e)t.push(o);return t};e.exports=h;var r=o(167);r.inherits=o(147);var s=o(267),a=o(214);r.inherits(h,s);for(var l=i(a.prototype),u=0;u<l.length;u++){var c=l[u];h.prototype[c]||(h.prototype[c]=a.prototype[c])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||n.nextTick(g,this)}function g(e){e.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),n.nextTick(t,e)}},function(e,t,o){var n;self.MonacoEnvironment=(n={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{getWorkerUrl:function(e,t){var o="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"";return(o?o.replace(/\/$/,"")+"/":"")+n[t]}}),o(223),o(224),o(259),o(225),o(249),o(254),o(172),o(252),o(226),o(72),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(230),o(247),o(262),o(231),o(232),o(250),o(261),o(233),o(251),o(234),o(256),o(235),o(236),o(260),o(255),o(139),o(246),o(237),o(153),o(238),o(239),o(130),o(240),e.exports=o(551),o(241)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return"[object Function]"===n.call(e)}function s(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=r,t.array=s,t.stringArray=function(e){return s(e)&&e.every((function(e){return i(e)}))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&r(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(12),i=o(3),r=o(6),s=(o(484),o(8)),a=o(18),l=o(53),u=o(114),c=o(23),h=o(2),d=o(25),g=o(0),p=o(40),f=function(){function e(e){this._delegates=e}return e.prototype.resolve=function(e){for(var t=0,o=this._delegates;t<o.length;t++){var n=o[t].resolve(e);if(void 0!==n)return n}},e}(),m=function(){function e(e,t){this._model=e,this._selection=t}return e.prototype.resolve=function(e){var t=e.name;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){var o=this._model.getValueInRange(this._selection)||void 0;if(o&&this._selection.startLineNumber!==this._selection.endLineNumber){var n=this._model.getLineContent(this._selection.startLineNumber),i=Object(s.getLeadingWhitespace)(n,0,this._selection.startColumn-1),r=i;e.snippet.walk((function(t){return t!==e&&(t instanceof u.d&&(r=Object(s.getLeadingWhitespace)(t.value.split(/\r\n|\r|\n/).pop())),!0)}));var a=Object(s.commonPrefixLength)(r,i);o=o.replace(/(\r\n|\r|\n)(.*)/g,(function(e,t,o){return""+t+r.substr(a)+o}))}return o}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){var l=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return l&&l.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):void 0},e}(),_=function(){function e(e){this._model=e}return e.prototype.resolve=function(e){var t=e.name;if("TM_FILENAME"===t)return Object(p.a)(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){var o=Object(p.a)(this._model.uri.fsPath),n=o.lastIndexOf(".");return n<=0?o:o.slice(0,n)}if("TM_DIRECTORY"===t){var i=Object(p.b)(this._model.uri.fsPath);return"."!==i?i:""}return"TM_FILEPATH"===t?this._model.uri.fsPath:void 0},e}(),y=function(){function e(e,t,o){this._clipboardService=e,this._selectionIdx=t,this._selectionCount=o}return e.prototype.resolve=function(e){if("CLIPBOARD"===e.name&&this._clipboardService){var t=this._clipboardService.readText();if(t){var o=t.split(/\r\n|\n|\r/).filter((function(e){return!Object(s.isFalsyOrWhitespace)(e)}));return o.length===this._selectionCount?o[this._selectionIdx]:t}}},e}(),v=function(){function e(){}return e.prototype.resolve=function(t){var o=t.name;return"CURRENT_YEAR"===o?String((new Date).getFullYear()):"CURRENT_YEAR_SHORT"===o?String((new Date).getFullYear()).slice(-2):"CURRENT_MONTH"===o?Object(s.pad)((new Date).getMonth().valueOf()+1,2):"CURRENT_DATE"===o?Object(s.pad)((new Date).getDate().valueOf(),2):"CURRENT_HOUR"===o?Object(s.pad)((new Date).getHours().valueOf(),2):"CURRENT_MINUTE"===o?Object(s.pad)((new Date).getMinutes().valueOf(),2):"CURRENT_SECOND"===o?Object(s.pad)((new Date).getSeconds().valueOf(),2):"CURRENT_DAY_NAME"===o?e.dayNames[(new Date).getDay()]:"CURRENT_DAY_NAME_SHORT"===o?e.dayNamesShort[(new Date).getDay()]:"CURRENT_MONTH_NAME"===o?e.monthNames[(new Date).getMonth()]:"CURRENT_MONTH_NAME_SHORT"===o?e.monthNamesShort[(new Date).getMonth()]:void 0},e.dayNames=[g.a("Sunday","Sunday"),g.a("Monday","Monday"),g.a("Tuesday","Tuesday"),g.a("Wednesday","Wednesday"),g.a("Thursday","Thursday"),g.a("Friday","Friday"),g.a("Saturday","Saturday")],e.dayNamesShort=[g.a("SundayShort","Sun"),g.a("MondayShort","Mon"),g.a("TuesdayShort","Tue"),g.a("WednesdayShort","Wed"),g.a("ThursdayShort","Thu"),g.a("FridayShort","Fri"),g.a("SaturdayShort","Sat")],e.monthNames=[g.a("January","January"),g.a("February","February"),g.a("March","March"),g.a("April","April"),g.a("May","May"),g.a("June","June"),g.a("July","July"),g.a("August","August"),g.a("September","September"),g.a("October","October"),g.a("November","November"),g.a("December","December")],e.monthNamesShort=[g.a("JanuaryShort","Jan"),g.a("FebruaryShort","Feb"),g.a("MarchShort","Mar"),g.a("AprilShort","Apr"),g.a("MayShort","May"),g.a("JuneShort","Jun"),g.a("JulyShort","Jul"),g.a("AugustShort","Aug"),g.a("SeptemberShort","Sep"),g.a("OctoberShort","Oct"),g.a("NovemberShort","Nov"),g.a("DecemberShort","Dec")],e}(),b=o(26),E=o(177),C=o(22),S=function(){function e(e,t,o){this._nestingLevel=1,this._editor=e,this._snippet=t,this._offset=o,this._placeholderGroups=Object(d.j)(t.placeholders,u.b.compareByIndex),this._placeholderGroupsIdx=-1}return e.prototype.dispose=function(){if(this._placeholderDecorations){var e=[];this._placeholderDecorations.forEach((function(t){return e.push(t)})),this._editor.deltaDecorations(e,[])}this._placeholderGroups.length=0},e.prototype._initDecorations=function(){var t=this;if(!this._placeholderDecorations){this._placeholderDecorations=new Map;var o=this._editor.getModel();this._editor.changeDecorations((function(n){for(var i=0,r=t._snippet.placeholders;i<r.length;i++){var s=r[i],a=t._snippet.offset(s),l=t._snippet.fullLen(s),u=h.a.fromPositions(o.getPositionAt(t._offset+a),o.getPositionAt(t._offset+a+l)),c=s.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,d=n.addDecoration(u,c);t._placeholderDecorations.set(s,d)}}))}},e.prototype.move=function(t){var o=this;if(this._initDecorations(),this._placeholderGroupsIdx>=0){for(var n=[],i=0,r=this._placeholderGroups[this._placeholderGroupsIdx];i<r.length;i++){var s=r[i];if(s.transform){var a=this._placeholderDecorations.get(s),u=this._editor.getModel().getDecorationRange(a),h=this._editor.getModel().getValueInRange(u);n.push(l.a.replaceMove(u,s.transform.resolve(h)))}}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}return!0===t&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?this._placeholderGroupsIdx+=1:!1===t&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1),this._editor.getModel().changeDecorations((function(t){for(var n=new Set,i=[],r=0,s=o._placeholderGroups[o._placeholderGroupsIdx];r<s.length;r++){var a=s[r],l=o._placeholderDecorations.get(a),u=o._editor.getModel().getDecorationRange(l);i.push(new c.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t.changeDecorationOptions(l,a.isFinalTabstop?e._decor.activeFinal:e._decor.active),n.add(a);for(var h=0,d=o._snippet.enclosingPlaceholders(a);h<d.length;h++){var g=d[h],p=o._placeholderDecorations.get(g);t.changeDecorationOptions(p,g.isFinalTabstop?e._decor.activeFinal:e._decor.active),n.add(g)}}return o._placeholderDecorations.forEach((function(o,i){n.has(i)||t.changeDecorationOptions(o,i.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive)})),i}))},Object.defineProperty(e.prototype,"isAtFirstPlaceholder",{get:function(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAtLastPlaceholder",{get:function(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPlaceholder",{get:function(){return this._snippet.placeholders.length>0},enumerable:!0,configurable:!0}),e.prototype.computePossibleSelections=function(){for(var e=new Map,t=0,o=this._placeholderGroups;t<o.length;t++)for(var n=void 0,i=0,r=o[t];i<r.length;i++){var s=r[i];if(s.isFinalTabstop)break;n||(n=[],e.set(s.index,n));var a=this._placeholderDecorations.get(s),l=this._editor.getModel().getDecorationRange(a);if(!l){e.delete(s.index);break}n.push(l)}return e},Object.defineProperty(e.prototype,"choice",{get:function(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice},enumerable:!0,configurable:!0}),e.prototype.merge=function(t){var o=this,n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((function(i){for(var r=0,s=o._placeholderGroups[o._placeholderGroupsIdx];r<s.length;r++){var a=s[r],l=t.shift();console.assert(!l._placeholderDecorations);for(var c=0,g=l._snippet.placeholderInfo.all;c<g.length;c++){var p=g[c];p.isFinalTabstop?p.index=a.index+(l._snippet.placeholderInfo.last.index+1)/o._nestingLevel:p.index=a.index+p.index/o._nestingLevel}o._snippet.replace(a,l._snippet.children);var f=o._placeholderDecorations.get(a);i.removeDecoration(f),o._placeholderDecorations.delete(a);for(var m=0,_=l._snippet.placeholders;m<_.length;m++){var y=_[m],v=l._snippet.offset(y),b=l._snippet.fullLen(y),E=h.a.fromPositions(n.getPositionAt(l._offset+v),n.getPositionAt(l._offset+v+b)),C=i.addDecoration(E,e._decor.inactive);o._placeholderDecorations.set(y,C)}}o._placeholderGroups=Object(d.j)(o._snippet.placeholders,u.b.compareByIndex)}))},e._decor={active:b.a.register({stickiness:a.h.AlwaysGrowsWhenTypingAtEdges,className:"snippet-placeholder"}),inactive:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"snippet-placeholder"}),activeFinal:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"finish-snippet-placeholder"}),inactiveFinal:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"finish-snippet-placeholder"})},e}(),T=function(){function e(e,t,o,n){void 0===o&&(o=0),void 0===n&&(n=0),this._templateMerges=[],this._snippets=[],this._editor=e,this._template=t,this._overwriteBefore=o,this._overwriteAfter=n}return e.adjustWhitespace2=function(e,t,o){var n=e.getLineContent(t.lineNumber),i=Object(s.getLeadingWhitespace)(n,0,t.column-1);o.walk((function(t){if(t instanceof u.d&&!(t.parent instanceof u.a)){for(var o=t.value.split(/\r\n|\r|\n/),n=1;n<o.length;n++){var r=Object(s.getLeadingWhitespace)(o[n]);o[n]=e.normalizeIndentation(i+r)+o[n].substr(r.length)}var a=o.join(e.getEOL());a!==t.value&&t.parent.replace(t,[new u.d(a)])}return!0}))},e.adjustSelection=function(e,t,o,n){if(0!==o||0!==n){var i=t.positionLineNumber,r=t.positionColumn,s=r-o,a=r+n,l=e.validateRange({startLineNumber:i,startColumn:s,endLineNumber:i,endColumn:a});t=c.a.createWithDirection(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn,t.getDirection())}return t},e.createEditsAndSnippets=function(t,o,n,i,r){for(var s=t.getModel(),a=[],c=[],d=new _(s),g=t.invokeWithinContext((function(e){return e.get(E.a,C.d)})),p=0,b=s.getValueInRange(e.adjustSelection(s,t.getSelection(),n,0)),T=s.getValueInRange(e.adjustSelection(s,t.getSelection(),0,i)),w=t.getSelections().map((function(e,t){return{selection:e,idx:t}})).sort((function(e,t){return h.a.compareRangesUsingStarts(e.selection,t.selection)})),k=0,O=w;k<O.length;k++){var R=O[k],L=R.selection,N=R.idx,I=e.adjustSelection(s,L,n,0),D=e.adjustSelection(s,L,0,i);b!==s.getValueInRange(I)&&(I=L),T!==s.getValueInRange(D)&&(D=L);var A=L.setStartPosition(I.startLineNumber,I.startColumn).setEndPosition(D.endLineNumber,D.endColumn),P=(new u.c).parse(o,!0,r),x=A.getStartPosition();e.adjustWhitespace2(s,x,P),P.resolveVariables(new f([d,new y(g,N,w.length),new m(s,L),new v]));var M=s.getOffsetAt(x)+p;p+=P.toString().length-s.getValueLengthInRange(A),a[N]=l.a.replace(A,P.toString()),c[N]=new S(t,P,M)}return{edits:a,snippets:c}},e.prototype.dispose=function(){Object(r.d)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this,o=this._editor.getModel(),n=e.createEditsAndSnippets(this._editor,this._template,this._overwriteBefore,this._overwriteAfter,!1),i=n.edits,r=n.snippets;this._snippets=r;var s=o.pushEditOperations(this._editor.getSelections(),i,(function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map((function(e){return c.a.fromPositions(e.range.getEndPosition())}))}));this._editor.setSelections(s),this._editor.revealRange(s[0])},e.prototype.merge=function(t,o,n){var i=this;void 0===o&&(o=0),void 0===n&&(n=0),this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var r=e.createEditsAndSnippets(this._editor,t,o,n,!0),s=r.edits,a=r.snippets;this._editor.setSelections(this._editor.getModel().pushEditOperations(this._editor.getSelections(),s,(function(e){for(var t=0,o=i._snippets;t<o.length;t++){o[t].merge(a)}return console.assert(0===a.length),i._snippets[0].hasPlaceholder?i._move(void 0):e.map((function(e){return c.a.fromPositions(e.range.getEndPosition())}))})))},e.prototype.next=function(){var e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype.prev=function(){var e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype._move=function(e){for(var t=[],o=0,n=this._snippets;o<n.length;o++){var i=n[o].move(e);t.push.apply(t,i)}return t},Object.defineProperty(e.prototype,"isAtFirstPlaceholder",{get:function(){return this._snippets[0].isAtFirstPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAtLastPlaceholder",{get:function(){return this._snippets[0].isAtLastPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPlaceholder",{get:function(){return this._snippets[0].hasPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"choice",{get:function(){return this._snippets[0].choice},enumerable:!0,configurable:!0}),e.prototype.isSelectionWithinPlaceholders=function(){if(!this.hasPlaceholder)return!1;var e,t=this._editor.getSelections();if(t.length<this._snippets.length)return!1;for(var o=function(o){var n=o.computePossibleSelections();if(e||(e=new Map,n.forEach((function(o,n){o.sort(h.a.compareRangesUsingStarts);for(var i=0,r=t;i<r.length;i++){var s=r[i];if(o[0].containsRange(s)){e.set(n,[]);break}}}))),0===e.size)return{value:!1};e.forEach((function(e,t){e.push.apply(e,n.get(t))}))},n=0,i=this._snippets;n<i.length;n++){var r=o(i[n]);if("object"==typeof r)return r.value}return t.sort(h.a.compareRangesUsingStarts),e.forEach((function(o,n){if(o.length===t.length){o.sort(h.a.compareRangesUsingStarts);for(var i=0;i<o.length;i++)if(!o[i].containsRange(t[i]))return void e.delete(n)}else e.delete(n)})),e.size>0},e}(),w=o(5),k=o(47),O=o(135);o.d(t,"SnippetController2",(function(){return N}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},N=function(){function e(t,o,n){this._editor=t,this._logService=o,this._snippetListener=[],this._inSnippet=e.InSnippetMode.bindTo(n),this._hasNextTabstop=e.HasNextTabstop.bindTo(n),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(n)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(r.d)(this._session)},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t,o,n,i){void 0===t&&(t=0),void 0===o&&(o=0),void 0===n&&(n=!0),void 0===i&&(i=!0);try{this._doInsert(e,t,o,n,i)}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}},e.prototype._doInsert=function(e,t,o,n,i){var s=this;void 0===t&&(t=0),void 0===o&&(o=0),void 0===n&&(n=!0),void 0===i&&(i=!0),this._snippetListener=Object(r.d)(this._snippetListener),n&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t,o):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new T(this._editor,e,t,o),this._session.insert()),i&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener=[this._editor.onDidChangeModelContent((function(e){return e.isFlush&&s.cancel()})),this._editor.onDidChangeModel((function(){return s.cancel()})),this._editor.onDidChangeCursorSelection((function(){return s._updateState()}))]},e.prototype._updateState=function(){if(this._session){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}},e.prototype._handleChoice=function(){var e=this._session.choice;if(e){if(this._currentChoice!==e){this._currentChoice=e,this._editor.setSelections(this._editor.getSelections().map((function(e){return c.a.fromPositions(e.getStartPosition())})));var t=e.options[0];Object(k.e)(this._editor,e.options.map((function(e,o){return{type:"value",label:e.value,insertText:e.value,sortText:Object(s.repeat)("a",o),overwriteAfter:t.value.length}})))}}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(r.d)(this._snippetListener),Object(r.d)(this._session),this._session=void 0,this._modelVersionId=-1},e.prototype.prev=function(){this._session.prev(),this._updateState()},e.prototype.next=function(){this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return this._inSnippet.get()},e.InSnippetMode=new n.f("inSnippetMode",!1),e.HasNextTabstop=new n.f("hasNextTabstop",!1),e.HasPrevTabstop=new n.f("hasPrevTabstop",!1),e=R([L(1,O.a),L(2,n.e)],e)}();Object(i.h)(N);var I=i.c.bindToContribution(N.get);Object(i.g)(new I({id:"jumpToNextSnippetPlaceholder",precondition:n.d.and(N.InSnippetMode,N.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:2}})),Object(i.g)(new I({id:"jumpToPrevSnippetPlaceholder",precondition:n.d.and(N.InSnippetMode,N.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:1026}})),Object(i.g)(new I({id:"leaveSnippet",precondition:N.InSnippetMode,handler:function(e){return e.cancel()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(i.g)(new I({id:"acceptSnippet",precondition:N.InSnippetMode,handler:function(e){return e.finish()}}))},function(e,t,o){"use strict";o(449),o(450);var n,i=o(0),r=o(1),s=o(13),a=o(4),l=o(6),u=o(10),c=o(22),h=o(117),d=o(12),g=o(70),p=o(8),f=o(20),m=o(9),_=o(2),y=o(23),v=o(18),b=function(){function e(e){this.modelState=null,this.viewState=null,this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new f.f(new _.a(1,1,1,1),0,new m.a(1,1),0),new f.f(new _.a(1,1,1,1),0,new m.a(1,1),0))}return e.prototype.dispose=function(e){this._removeTrackedRange(e)},e.prototype.startTrackingSelection=function(e){this._trackSelection=!0,this._updateTrackedRange(e)},e.prototype.stopTrackingSelection=function(e){this._trackSelection=!1,this._removeTrackedRange(e)},e.prototype._updateTrackedRange=function(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,v.h.AlwaysGrowsWhenTypingAtEdges))},e.prototype._removeTrackedRange=function(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,v.h.AlwaysGrowsWhenTypingAtEdges)},e.prototype.asCursorState=function(){return new f.d(this.modelState,this.viewState)},e.prototype.readSelectionFromMarkers=function(e){var t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.getDirection()===y.b.LTR?new y.a(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new y.a(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)},e.prototype.ensureValidState=function(e){this._setState(e,this.modelState,this.viewState)},e.prototype.setState=function(e,t,o){this._setState(e,t,o)},e.prototype._setState=function(e,t,o){if(t){r=e.model.validateRange(t.selectionStart);var n=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,i=(s=e.model.validatePosition(t.position),t.position.equals(s)?t.leftoverVisibleColumns:0);t=new f.f(r,n,s,i)}else{var r=e.model.validateRange(e.convertViewRangeToModelRange(o.selectionStart)),s=e.model.validatePosition(e.convertViewPositionToModelPosition(o.position.lineNumber,o.position.column));t=new f.f(r,o.selectionStartLeftoverVisibleColumns,s,o.leftoverVisibleColumns)}if(o){u=e.validateViewRange(o.selectionStart,t.selectionStart),c=e.validateViewPosition(o.position,t.position);o=new f.f(u,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}else{var a=e.convertModelPositionToViewPosition(new m.a(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),l=e.convertModelPositionToViewPosition(new m.a(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),u=new _.a(a.lineNumber,a.column,l.lineNumber,l.column),c=e.convertModelPositionToViewPosition(t.position);o=new f.f(u,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=o,this._updateTrackedRange(e)},e}(),E=function(){function e(e){this.context=e,this.primaryCursor=new b(e),this.secondaryCursors=[],this.lastAddedCursorIndex=0}return e.prototype.dispose=function(){this.primaryCursor.dispose(this.context),this.killSecondaryCursors()},e.prototype.startTrackingSelections=function(){this.primaryCursor.startTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].startTrackingSelection(this.context)},e.prototype.stopTrackingSelections=function(){this.primaryCursor.stopTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].stopTrackingSelection(this.context)},e.prototype.updateContext=function(e){this.context=e},e.prototype.ensureValidState=function(){this.primaryCursor.ensureValidState(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].ensureValidState(this.context)},e.prototype.readSelectionFromMarkers=function(){var e=[];e[0]=this.primaryCursor.readSelectionFromMarkers(this.context);for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].readSelectionFromMarkers(this.context);return e},e.prototype.getAll=function(){var e=[];e[0]=this.primaryCursor.asCursorState();for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].asCursorState();return e},e.prototype.getViewPositions=function(){var e=[];e[0]=this.primaryCursor.viewState.position;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].viewState.position;return e},e.prototype.getSelections=function(){var e=[];e[0]=this.primaryCursor.modelState.selection;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].modelState.selection;return e},e.prototype.getViewSelections=function(){var e=[];e[0]=this.primaryCursor.viewState.selection;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].viewState.selection;return e},e.prototype.setSelections=function(e){this.setStates(f.d.fromModelSelections(e))},e.prototype.getPrimaryCursor=function(){return this.primaryCursor.asCursorState()},e.prototype.setStates=function(e){null!==e&&(this.primaryCursor.setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))},e.prototype._setSecondaryStates=function(e){var t=this.secondaryCursors.length,o=e.length;if(t<o)for(var n=o-t,i=0;i<n;i++)this._addSecondaryCursor();else if(t>o){var r=t-o;for(i=0;i<r;i++)this._removeSecondaryCursor(this.secondaryCursors.length-1)}for(i=0;i<o;i++)this.secondaryCursors[i].setState(this.context,e[i].modelState,e[i].viewState)},e.prototype.killSecondaryCursors=function(){this._setSecondaryStates([])},e.prototype._addSecondaryCursor=function(){this.secondaryCursors.push(new b(this.context)),this.lastAddedCursorIndex=this.secondaryCursors.length},e.prototype.getLastAddedCursorIndex=function(){return 0===this.secondaryCursors.length||0===this.lastAddedCursorIndex?0:this.lastAddedCursorIndex},e.prototype._removeSecondaryCursor=function(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)},e.prototype._getAll=function(){var e=[];e[0]=this.primaryCursor;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t];return e},e.prototype.normalize=function(){if(0!==this.secondaryCursors.length){for(var e=this._getAll(),t=[],o=0,n=e.length;o<n;o++)t.push({index:o,selection:e[o].modelState.selection});t.sort((function(e,t){return e.selection.startLineNumber===t.selection.startLineNumber?e.selection.startColumn-t.selection.startColumn:e.selection.startLineNumber-t.selection.startLineNumber}));for(var i=0;i<t.length-1;i++){var r=t[i],s=t[i+1],a=r.selection,l=s.selection;if(this.context.config.multiCursorMergeOverlapping){if(l.isEmpty()||a.isEmpty()?l.getStartPosition().isBeforeOrEqual(a.getEndPosition()):l.getStartPosition().isBefore(a.getEndPosition())){var u=r.index<s.index?i:i+1,c=r.index<s.index?i+1:i,h=t[c].index,d=t[u].index,g=t[c].selection,p=t[u].selection;if(!g.equalsSelection(p)){var m=g.plusRange(p),_=g.selectionStartLineNumber===g.startLineNumber&&g.selectionStartColumn===g.startColumn,v=p.selectionStartLineNumber===p.startLineNumber&&p.selectionStartColumn===p.startColumn,b=void 0;h===this.lastAddedCursorIndex?(b=_,this.lastAddedCursorIndex=d):b=v;var E=void 0;E=b?new y.a(m.startLineNumber,m.startColumn,m.endLineNumber,m.endColumn):new y.a(m.endLineNumber,m.endColumn,m.startLineNumber,m.startColumn),t[u].selection=E;var C=f.d.fromModelSelection(E);e[d].setState(this.context,C.modelState,C.viewState)}for(var S=0;S<t.length;S++)t[S].index>h&&t[S].index--;e.splice(h,1),t.splice(c,1),this._removeSecondaryCursor(h-1),i--}}}}},e}(),C=o(52),S=o(176),T=o(95),w=o(35),k=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),O=function(e){this.type=1,this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo},R=function(e){this.type=2,this.selections=e},L=function(){this.type=3},N=function(){this.type=4},I=function(e){this.type=5,this.isFocused=e},D=function(){this.type=6},A=function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t},P=function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t},x=function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t},M=function(e,t,o,n){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=o,this.scrollType=n},B=function(e){this.type=11,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged},F=function(e){this.type=12,this.ranges=e},H=function(){this.type=15},U=function(){this.type=13},V=function(){this.type=14},W=function(){this.type=16},j=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return k(t,e),t.prototype.dispose=function(){this._listeners=[],e.prototype.dispose.call(this)},t.prototype._beginEmit=function(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new G),this._collector},t.prototype._endEmit=function(){if(this._collectorCnt--,0===this._collectorCnt){var e=this._collector.finalize();this._collector=null,e.length>0&&this._emit(e)}},t.prototype._emit=function(e){for(var t=this._listeners.slice(0),o=0,n=t.length;o<n;o++)z(t[o],e)},t.prototype.addEventListener=function(e){var t=this;return this._listeners.push(e),Object(l.f)((function(){for(var o=t._listeners,n=0,i=o.length;n<i;n++)if(o[n]===e){o.splice(n,1);break}}))},t}(l.a),G=function(){function e(){this._eventsLen=0,this._events=[],this._eventsLen=0}return e.prototype.emit=function(e){this._events[this._eventsLen++]=e},e.prototype.finalize=function(){var e=this._events;return this._events=null,e},e}();function z(e,t){try{e(t)}catch(e){s.e(e)}}var K=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var Y=function(e,t,o){this.selections=e,this.source=t,this.reason=o},X=function(){function e(e,t){this.modelVersionId=e.getVersionId(),this.cursorState=t.getAll()}return e.prototype.equals=function(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(var t=0,o=this.cursorState.length;t<o;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0},e}(),q=function(e){function t(t,o,n){var i=e.call(this)||this;i._onDidReachMaxCursorCount=i._register(new a.a),i.onDidReachMaxCursorCount=i._onDidReachMaxCursorCount.event,i._onDidAttemptReadOnlyEdit=i._register(new a.a),i.onDidAttemptReadOnlyEdit=i._onDidAttemptReadOnlyEdit.event,i._onDidChange=i._register(new a.a),i.onDidChange=i._onDidChange.event,i._configuration=t,i._model=o,i._knownModelVersionId=i._model.getVersionId(),i._viewModel=n,i.context=new f.c(i._configuration,i._model,i._viewModel),i._cursors=new E(i.context),i._isHandling=!1,i._isDoingComposition=!1,i._columnSelectData=null,i._prevEditOperationType=0,i._register(i._model.onDidChangeRawContent((function(e){if(i._knownModelVersionId=e.versionId,!i._isHandling){var t=e.containsEvent(1);i._onModelContentChanged(t)}}))),i._register(n.addEventListener((function(e){(function(e){for(var t=0,o=e.length;t<o;t++)if(6===e[t].type)return!0;return!1})(e)&&i._knownModelVersionId===i._model.getVersionId()&&i.setStates("viewModel",w.a.NotSet,i.getAll())})));var r=function(){i.context=new f.c(i._configuration,i._model,i._viewModel),i._cursors.updateContext(i.context)};return i._register(i._model.onDidChangeLanguage((function(e){r()}))),i._register(i._model.onDidChangeLanguageConfiguration((function(){r()}))),i._register(i._model.onDidChangeOptions((function(){r()}))),i._register(i._configuration.onDidChange((function(e){f.b.shouldRecreate(e)&&r()}))),i}return K(t,e),t.prototype.dispose=function(){this._cursors.dispose(),e.prototype.dispose.call(this)},t.prototype.getPrimaryCursor=function(){return this._cursors.getPrimaryCursor()},t.prototype.getLastAddedCursorIndex=function(){return this._cursors.getLastAddedCursorIndex()},t.prototype.getAll=function(){return this._cursors.getAll()},t.prototype.setStates=function(e,o,n){n.length>t.MAX_CURSOR_COUNT&&(n=n.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var i=new X(this._model,this);this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._emitStateChangedIfNecessary(e,o,i)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,o){this._revealRange(t,0,e,o)},t.prototype.revealRange=function(e,t,o,n){this.emitCursorRevealRange(t,o,e,n)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),o=0,n=t.length;o<n;o++){var i=t[o];e.push({inSelectionMode:!i.isEmpty(),selectionStart:{lineNumber:i.selectionStartLineNumber,column:i.selectionStartColumn},position:{lineNumber:i.positionLineNumber,column:i.positionColumn}})}return e},t.prototype.restoreState=function(e){for(var t=[],o=0,n=e.length;o<n;o++){var i=e[o],r=1,s=1;i.position&&i.position.lineNumber&&(r=i.position.lineNumber),i.position&&i.position.column&&(s=i.position.column);var a=r,l=s;i.selectionStart&&i.selectionStart.lineNumber&&(a=i.selectionStart.lineNumber),i.selectionStart&&i.selectionStart.column&&(l=i.selectionStart.column),t.push({selectionStartLineNumber:a,selectionStartColumn:l,positionLineNumber:r,positionColumn:s})}this.setStates("restoreState",w.a.NotSet,f.d.fromModelSelections(t)),this.reveal(!0,0,1)},t.prototype._onModelContentChanged=function(e){if(this._prevEditOperationType=0,e)this._cursors.dispose(),this._cursors=new E(this.context),this._emitStateChangedIfNecessary("model",w.a.ContentFlush,null);else{var t=this._cursors.readSelectionFromMarkers();this.setStates("modelChange",w.a.RecoverFromMarkers,f.d.fromModelSelections(t))}},t.prototype.getSelection=function(){return this._cursors.getPrimaryCursor().modelState.selection},t.prototype.getColumnSelectData=function(){if(this._columnSelectData)return this._columnSelectData;var e=this._cursors.getPrimaryCursor().viewState.position;return{toViewLineNumber:e.lineNumber,toViewVisualColumn:f.a.visibleColumnFromColumn2(this.context.config,this.context.viewModel,e)}},t.prototype.getSelections=function(){return this._cursors.getSelections()},t.prototype.getViewSelections=function(){return this._cursors.getViewSelections()},t.prototype.getPosition=function(){return this._cursors.getPrimaryCursor().modelState.position},t.prototype.setSelections=function(e,t){this.setStates(e,w.a.NotSet,f.d.fromModelSelections(t))},t.prototype.getPrevEditOperationType=function(){return this._prevEditOperationType},t.prototype.setPrevEditOperationType=function(e){this._prevEditOperationType=e},t.prototype._executeEditOperation=function(e){if(e){e.shouldPushStackElementBefore&&this._model.pushStackElement();var t=$.executeCommands(this._model,this._cursors.getSelections(),e.commands);t&&(this._interpretCommandResult(t),this._prevEditOperationType=e.type),e.shouldPushStackElementAfter&&this._model.pushStackElement()}},t.prototype._interpretCommandResult=function(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()},t.prototype._emitStateChangedIfNecessary=function(e,t,o){var n=new X(this._model,this);if(n.equals(o))return!1;var i=this._cursors.getSelections(),r=this._cursors.getViewSelections();try{this._beginEmit().emit(new R(r))}finally{this._endEmit()}return o&&o.cursorState.length===n.cursorState.length&&!n.cursorState.some((function(e,t){return!e.modelState.equals(o.cursorState[t].modelState)}))||this._onDidChange.fire(new Y(i,e||"keyboard",t)),!0},t.prototype._revealRange=function(e,t,o,n){var i=this._cursors.getViewPositions(),r=i[0];if(1===e)for(var s=1;s<i.length;s++)i[s].isBefore(r)&&(r=i[s]);else if(2===e)for(s=1;s<i.length;s++)r.isBeforeOrEqual(i[s])&&(r=i[s]);else if(i.length>1)return;var a=new _.a(r.lineNumber,r.column,r.lineNumber,r.column);this.emitCursorRevealRange(a,t,o,n)},t.prototype.emitCursorRevealRange=function(e,t,o,n){try{this._beginEmit().emit(new M(e,t,o,n))}finally{this._endEmit()}},t.prototype.trigger=function(e,t,o){var n=C.b;if(t!==n.CompositionStart)if(t===n.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var i=new X(this._model,this),r=w.a.NotSet;t!==n.Undo&&t!==n.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case n.Type:this._type(e,o.text);break;case n.ReplacePreviousChar:this._replacePreviousChar(o.text,o.replaceCharCnt);break;case n.Paste:r=w.a.Paste,this._paste(o.text,o.pasteOnNewLine,o.multicursorText);break;case n.Cut:this._cut();break;case n.Undo:r=w.a.Undo,this._interpretCommandResult(this._model.undo());break;case n.Redo:r=w.a.Redo,this._interpretCommandResult(this._model.redo());break;case n.ExecuteCommand:this._externalExecuteCommand(o);break;case n.ExecuteCommands:this._externalExecuteCommands(o);break;case n.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){Object(s.e)(e)}this._isHandling=!1,t!==n.Undo&&t!==n.Redo&&this._cursors.startTrackingSelections(),this._emitStateChangedIfNecessary(e,r,i)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!0},t.prototype._interpretCompositionEnd=function(e){this._isDoingComposition||"keyboard"!==e||this._executeEditOperation(T.a.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections()))},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(T.a.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var o=0,n=t.length;o<n;o++){var i=t.charCodeAt(o),r=void 0;p.isHighSurrogate(i)&&o+1<n?(r=t.charAt(o)+t.charAt(o+1),o++):r=t.charAt(o),this._executeEditOperation(T.a.typeWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),r))}},t.prototype._replacePreviousChar=function(e,t){this._executeEditOperation(T.a.replacePreviousChar(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),e,t))},t.prototype._paste=function(e,t,o){this._executeEditOperation(T.a.paste(this.context.config,this.context.model,this.getSelections(),e,t,o))},t.prototype._cut=function(){this._executeEditOperation(S.a.cut(this.context.config,this.context.model,this.getSelections()))},t.prototype._externalExecuteCommand=function(e){this._cursors.killSecondaryCursors(),this._executeEditOperation(new f.e(0,[e],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.prototype._externalExecuteCommands=function(e){this._executeEditOperation(new f.e(0,e,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.MAX_CURSOR_COUNT=1e4,t}(j),$=function(){function e(){}return e.executeCommands=function(e,t,o){for(var n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},i=this._innerExecuteCommands(n,o),r=0,s=n.trackedRanges.length;r<s;r++)n.model._setTrackedRange(n.trackedRanges[r],null,v.h.AlwaysGrowsWhenTypingAtEdges);return i},e._innerExecuteCommands=function(e,t){if(this._arrayIsEmpty(t))return null;var o=this._getEditOperations(e,t);if(0===o.operations.length)return null;var n=o.operations,i=this._getLoserCursorMap(n);if(i.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;for(var r=[],s=0,a=n.length;s<a;s++)i.hasOwnProperty(n[s].identifier.major.toString())||r.push(n[s]);o.hadTrackedEditOperation&&r.length>0&&(r[0]._isTracked=!0);var l=e.model.pushEditOperations(e.selectionsBefore,r,(function(o){for(var n=[],i=0;i<e.selectionsBefore.length;i++)n[i]=[];for(i=0;i<o.length;i++){var r=o[i];r.identifier&&n[r.identifier.major].push(r)}var s=function(e,t){return e.identifier.minor-t.identifier.minor},a=[],l=function(o){n[o].length>0?(n[o].sort(s),a[o]=t[o].computeCursorState(e.model,{getInverseEditOperations:function(){return n[o]},getTrackedSelection:function(t){var o=parseInt(t,10),n=e.model._getTrackedRange(e.trackedRanges[o]);return e.trackedRangesDirection[o]===y.b.LTR?new y.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new y.a(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):a[o]=e.selectionsBefore[o]};for(i=0;i<e.selectionsBefore.length;i++)l(i);return a})),u=[];for(var c in i)i.hasOwnProperty(c)&&u.push(parseInt(c,10));u.sort((function(e,t){return t-e}));for(s=0;s<u.length;s++)l.splice(u[s],1);return l},e._arrayIsEmpty=function(e){for(var t=0,o=e.length;t<o;t++)if(e[t])return!1;return!0},e._getEditOperations=function(e,t){for(var o=[],n=!1,i=0,r=t.length;i<r;i++)if(t[i]){var s=this._getEditOperationsFromCommand(e,i,t[i]);o=o.concat(s.operations),n=n||s.hadTrackedEditOperation}return{operations:o,hadTrackedEditOperation:n}},e._getEditOperationsFromCommand=function(e,t,o){var n=[],r=0,a=function(e,i){e.isEmpty()&&""===i||n.push({identifier:{major:t,minor:r++},range:e,text:i,forceMoveMarkers:!1,isAutoWhitespaceEdit:o.insertsAutoWhitespace})},l=!1,u={addEditOperation:a,addTrackedEditOperation:function(e,t){l=!0,a(e,t)},trackSelection:function(t,o){var n;if(t.isEmpty())if("boolean"==typeof o)n=o?v.h.GrowsOnlyWhenTypingBefore:v.h.GrowsOnlyWhenTypingAfter;else{var i=e.model.getLineMaxColumn(t.startLineNumber);n=t.startColumn===i?v.h.GrowsOnlyWhenTypingBefore:v.h.GrowsOnlyWhenTypingAfter}else n=v.h.NeverGrowsWhenTypingAtEdges;var r=e.trackedRanges.length,s=e.model._setTrackedRange(null,t,n);return e.trackedRanges[r]=s,e.trackedRangesDirection[r]=t.getDirection(),r.toString()}};try{o.getEditOperations(e.model,u)}catch(e){return e.friendlyMessage=i.a("corrupt.commands","Unexpected exception while executing command."),Object(s.e)(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:l}},e._getLoserCursorMap=function(e){(e=e.slice(0)).sort((function(e,t){return-_.a.compareRangesUsingEnds(e.range,t.range)}));for(var t={},o=1;o<e.length;o++){var n=e[o-1],i=e[o];if(n.range.getStartPosition().isBefore(i.range.getEndPosition())){var r=void 0;t[(r=n.identifier.major>i.identifier.major?n.identifier.major:i.identifier.major).toString()]=!0;for(var s=0;s<e.length;s++)e[s].identifier.major===r&&(e.splice(s,1),s<o&&o--,s--);o>0&&o--}}return t},e}(),J=o(11),Z=o(205),Q=o(54),ee=function(){function e(e,t,o,n,i){this.editorId=e,this.model=t,this.configuration=o,this._linesCollection=n,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null},e.prototype.dispose=function(){this._decorationsCache=null,this._clearCachedModelDecorationsResolver()},e.prototype.reset=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onModelDecorationsChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onLineMappingChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype._getOrCreateViewModelDecoration=function(e){var t=e.id,o=this._decorationsCache[t];if(!o){var n=e.range,i=e.options,r=void 0;if(i.isWholeLine){var s=this._coordinatesConverter.convertModelPositionToViewPosition(new m.a(n.startLineNumber,1)),a=this._coordinatesConverter.convertModelPositionToViewPosition(new m.a(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)));r=new _.a(s.lineNumber,s.column,a.lineNumber,a.column)}else r=this._coordinatesConverter.convertModelRangeToViewRange(n);o=new Q.e(r,i),this._decorationsCache[t]=o}return o},e.prototype.getDecorationsViewportData=function(e){var t=!0;return(t=(t=t&&null!==this._cachedModelDecorationsResolver)&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver},e.prototype._getDecorationsViewportData=function(e){for(var t=this._linesCollection.getDecorationsInRange(e,this.editorId,this.configuration.editor.readOnly),o=e.startLineNumber,n=e.endLineNumber,i=[],r=0,s=[],a=o;a<=n;a++)s[a-o]=[];for(var l=0,u=t.length;l<u;l++){var c=t[l],h=c.options,d=this._getOrCreateViewModelDecoration(c),g=d.range;if(i[r++]=d,h.inlineClassName){var p=new Q.a(g,h.inlineClassName,h.inlineClassNameAffectsLetterSpacing?3:0),f=Math.max(o,g.startLineNumber),m=Math.min(n,g.endLineNumber);for(a=f;a<=m;a++)s[a-o].push(p)}if(h.beforeContentClassName&&o<=g.startLineNumber&&g.startLineNumber<=n){p=new Q.a(new _.a(g.startLineNumber,g.startColumn,g.startLineNumber,g.startColumn),h.beforeContentClassName,1);s[g.startLineNumber-o].push(p)}if(h.afterContentClassName&&o<=g.endLineNumber&&g.endLineNumber<=n){p=new Q.a(new _.a(g.endLineNumber,g.endColumn,g.endLineNumber,g.endColumn),h.afterContentClassName,2);s[g.endLineNumber-o].push(p)}}return{decorations:i,inlineDecorations:s}},e}(),te=o(158),oe=o(26),ne=o(14),ie=function(e,t){this.outputLineIndex=e,this.outputOffset=t},re=function(){function e(e){this._lines=e}return e.prototype.convertViewPositionToModelPosition=function(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)},e.prototype.convertViewRangeToModelRange=function(e){var t=this._lines.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),o=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new _.a(t.lineNumber,t.column,o.lineNumber,o.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var o=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new _.a(o.lineNumber,o.column,n.lineNumber,n.column)},e.prototype.convertModelPositionToViewPosition=function(e){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column)},e.prototype.convertModelRangeToViewRange=function(e){var t=this._lines.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),o=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new _.a(t.lineNumber,t.column,o.lineNumber,o.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),se=function(){function e(e,t,o,n,i,r){this.model=e,this._validModelVersionId=-1,this.tabSize=o,this.wrappingColumn=n,this.columnsForFullWidthChar=i,this.wrappingIndent=r,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new re(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!")},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var o=this.model.getLinesContent(),n=o.length,i=new Uint32Array(n),r=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(_.a.compareRangesUsingStarts),s=1,a=0,l=-1,u=l+1<r.length?a+1:n+2,c=0;c<n;c++){var h=c+1;h===u&&(s=r[++l].startLineNumber,a=r[l].endLineNumber,u=l+1<r.length?a+1:n+2);var d=h>=s&&h<=a,g=ce(this.linePositionMapperFactory,o[c],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!d);i[c]=g.getViewLineCount(),this.lines[c]=g}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new te.b(i)},e.prototype.getHiddenAreas=function(){var e=this;return this.hiddenAreasIds.map((function(t){return e.model.getDecorationRange(t)}))},e.prototype._reduceRanges=function(e){var t=this;if(0===e.length)return[];for(var o=e.map((function(e){return t.model.validateRange(e)})).sort(_.a.compareRangesUsingStarts),n=[],i=o[0].startLineNumber,r=o[0].endLineNumber,s=1,a=o.length;s<a;s++){var l=o[s];l.startLineNumber>r+1?(n.push(new _.a(i,1,r,1)),i=l.startLineNumber,r=l.endLineNumber):l.endLineNumber>r&&(r=l.endLineNumber)}return n.push(new _.a(i,1,r,1)),n},e.prototype.setHiddenAreas=function(e){var t=this,o=this._reduceRanges(e),n=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(_.a.compareRangesUsingStarts);if(o.length===n.length){for(var i=!1,r=0;r<o.length;r++)if(!o[r].equalsRange(n[r])){i=!0;break}if(!i)return!1}var s=[];for(r=0;r<o.length;r++)s.push({range:o[r],options:oe.a.EMPTY});this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,s);var a=o,l=1,u=0,c=-1,h=c+1<a.length?u+1:this.lines.length+2,d=!1;for(r=0;r<this.lines.length;r++){var g=r+1;g===h&&(l=a[++c].startLineNumber,u=a[c].endLineNumber,h=c+1<a.length?u+1:this.lines.length+2);var p=!1;if(g>=l&&g<=u?this.lines[r].isVisible()&&(this.lines[r]=this.lines[r].setVisible(!1),p=!0):(d=!0,this.lines[r].isVisible()||(this.lines[r]=this.lines[r].setVisible(!0),p=!0)),p){var f=this.lines[r].getViewLineCount();this.prefixSumComputer.changeValue(r,f)}}return d||this.setHiddenAreas([]),!0},e.prototype.modelPositionIsVisible=function(e,t){return!(e<1||e>this.lines.length)&&this.lines[e-1].isVisible()},e.prototype.setTabSize=function(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1),!0)},e.prototype.setWrappingSettings=function(e,t,o){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==o)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=o,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,o){if(e<=this._validModelVersionId)return null;var n=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,i=this.prefixSumComputer.getAccumulatedValue(o-1);return this.lines.splice(t-1,o-t+1),this.prefixSumComputer.removeValues(t-1,o-t+1),new P(n,i)},e.prototype.onModelLinesInserted=function(e,t,o,n){if(e<=this._validModelVersionId)return null;for(var i=this.getHiddenAreas(),r=!1,s=new m.a(t,1),a=0;a<i.length;a++)if(i[a].containsPosition(s)){r=!0;break}for(var l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,u=0,c=[],h=new Uint32Array(n.length),d=(a=0,n.length);a<d;a++){var g=ce(this.linePositionMapperFactory,n[a],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!r);c.push(g);var p=g.getViewLineCount();u+=p,h[a]=p}return this.lines=this.lines.slice(0,t-1).concat(c).concat(this.lines.slice(t-1)),this.prefixSumComputer.insertValues(t-1,h),new x(l,l+u-1)},e.prototype.onModelLineChanged=function(e,t,o){if(e<=this._validModelVersionId)return[!1,null,null,null];var n=t-1,i=this.lines[n].getViewLineCount(),r=this.lines[n].isVisible(),s=ce(this.linePositionMapperFactory,o,this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,r);this.lines[n]=s;var a=this.lines[n].getViewLineCount(),l=!1,u=0,c=-1,h=0,d=-1,g=0,p=-1;return i>a?(p=(g=(c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(i-a)-1,l=!0):i<a?(d=(h=(c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+i-1)+1)+(a-i)-1,l=!0):c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1,this.prefixSumComputer.changeValue(n,a),[l,u<=c?new A(u,c):null,h<=d?new x(h,d):null,g<=p?new P(g,p):null]},e.prototype.acceptVersionId=function(e){this._validModelVersionId=e,1!==this.lines.length||this.lines[0].isVisible()||this.setHiddenAreas([])},e.prototype.getViewLineCount=function(){return this._ensureValidState(),this.prefixSumComputer.getTotalValue()},e.prototype._toValidViewLineNumber=function(e){if(e<1)return 1;var t=this.getViewLineCount();return e>t?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),o=this._toValidViewLineNumber(o);var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(o,this.getViewLineMinColumn(o)),s=this.model.getActiveIndentGuide(n.lineNumber,i.lineNumber,r.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),l=this.convertModelPositionToViewPosition(s.endLineNumber,1);return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],r=[],s=[],a=o.lineNumber-1,l=n.lineNumber-1,u=null,c=a;c<=l;c++){var h=this.lines[c];if(h.isVisible()){var d=h.getViewLineNumberOfModelPosition(0,c===a?o.column:1),g=h.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(c+1)),p=0;(C=g-d+1)>1&&1===h.getViewLineMinColumn(this.model,c+1,g)&&(p=0===d?1:2),r.push(C),s.push(p),null===u&&(u=new m.a(c+1,0))}else null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,c)),u=null)}null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,n.lineNumber)),u=null);for(var f=t-e+1,_=new Array(f),y=0,v=0,b=i.length;v<b;v++){var E=i[v],C=Math.min(f-y,r[v]),S=void 0;S=2===(p=s[v])?0:1===p?1:C;for(var T=0;T<C;T++)T===S&&(E=0),_[y++]=E}return _},e.prototype.getViewLineContent=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineContent(this.model,o+1,n)},e.prototype.getViewLineLength=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineLength(this.model,o+1,n)},e.prototype.getViewLineMinColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineMinColumn(this.model,o+1,n)},e.prototype.getViewLineMaxColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineMaxColumn(this.model,o+1,n)},e.prototype.getViewLineData=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineData(this.model,o+1,n)},e.prototype.getViewLinesData=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.prefixSumComputer.getIndexOf(e-1),i=e,r=n.index,s=n.remainder,a=[],l=r,u=this.model.getLineCount();l<u;l++){var c=this.lines[l];if(c.isVisible()){var h=l===r?s:0,d=c.getViewLineCount()-h,g=!1;i+d>t&&(g=!0,d=t-i+1);var p=h+d;if(c.getViewLinesData(this.model,l+1,h,p,i-e,o,a),i+=d,g)break}}return a},e.prototype.validateViewPosition=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),i=n.index,r=n.remainder,s=this.lines[i],a=s.getViewLineMinColumn(this.model,i+1,r),l=s.getViewLineMaxColumn(this.model,i+1,r);t<a&&(t=a),t>l&&(t=l);var u=s.getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new m.a(i+1,u)).equals(o)?new m.a(e,t):this.convertModelPositionToViewPosition(o.lineNumber,o.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var o=this.prefixSumComputer.getIndexOf(e-1),n=o.index,i=o.remainder,r=this.lines[n].getModelColumnOfViewPosition(i,t);return this.model.validatePosition(new m.a(n+1,r))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var o=this.model.validatePosition(new m.a(e,t)),n=o.lineNumber,i=o.column,r=n-1,s=!1;r>0&&!this.lines[r].isVisible();)r--,s=!0;if(0===r&&!this.lines[r].isVisible())return new m.a(1,1);var a=1+(0===r?0:this.prefixSumComputer.getAccumulatedValue(r-1));return s?this.lines[r].getViewPositionOfModelPosition(a,this.model.getLineMaxColumn(r+1)):this.lines[n-1].getViewPositionOfModelPosition(a,i)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var o=e-1;if(this.lines[o].isVisible()){var n=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return this.lines[o].getViewLineNumberOfModelPosition(n,t)}for(;o>0&&!this.lines[o].isVisible();)o--;if(0===o&&!this.lines[o].isVisible())return 1;var i=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return this.lines[o].getViewLineNumberOfModelPosition(i,this.model.getLineMaxColumn(o+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,o){for(var n=this.model.getOverviewRulerDecorations(e,t),i=new ge,r=0,s=n.length;r<s;r++){var a=n[r],l=a.options.overviewRuler,u=l.position;if(0!==u){var c=pe(l,o),h=this._getViewLineNumberForModelPosition(a.range.startLineNumber,a.range.startColumn),d=this._getViewLineNumberForModelPosition(a.range.endLineNumber,a.range.endColumn);i.accept(c,h,d,u)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,o){var n=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(i.lineNumber-n.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new _.a(n.lineNumber,n.column,i.lineNumber,i.column),t,o);for(var r=[],s=n.lineNumber-1,a=i.lineNumber-1,l=null,u=s;u<=a;u++){if(this.lines[u].isVisible())null===l&&(l=new m.a(u+1,u===s?n.column:1));else if(null!==l){var c=this.model.getLineMaxColumn(u);r=r.concat(this.model.getDecorationsInRange(new _.a(l.lineNumber,l.column,u,c),t,o)),l=null}}return null!==l&&(r=r.concat(this.model.getDecorationsInRange(new _.a(l.lineNumber,l.column,i.lineNumber,i.column),t,o)),l=null),r},e}(),ae=function(){function e(){}return e.prototype.isVisible=function(){return!0},e.prototype.setVisible=function(e){return e?this:le.INSTANCE},e.prototype.getViewLineCount=function(){return 1},e.prototype.getViewLineContent=function(e,t,o){return e.getLineContent(t)},e.prototype.getViewLineLength=function(e,t,o){return e.getLineLength(t)},e.prototype.getViewLineMinColumn=function(e,t,o){return e.getLineMinColumn(t)},e.prototype.getViewLineMaxColumn=function(e,t,o){return e.getLineMaxColumn(t)},e.prototype.getViewLineData=function(e,t,o){var n=e.getLineTokens(t),i=n.getLineContent();return new Q.c(i,!1,1,i.length+1,n.inflate())},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){r[i]?s[i]=this.getViewLineData(e,t,0):s[i]=null},e.prototype.getModelColumnOfViewPosition=function(e,t){return t},e.prototype.getViewPositionOfModelPosition=function(e,t){return new m.a(e,t)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){return e},e.INSTANCE=new e,e}(),le=function(){function e(){}return e.prototype.isVisible=function(){return!1},e.prototype.setVisible=function(e){return e?ae.INSTANCE:this},e.prototype.getViewLineCount=function(){return 0},e.prototype.getViewLineContent=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineLength=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineMinColumn=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineMaxColumn=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineData=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){throw new Error("Not supported")},e.prototype.getModelColumnOfViewPosition=function(e,t){throw new Error("Not supported")},e.prototype.getViewPositionOfModelPosition=function(e,t){throw new Error("Not supported")},e.prototype.getViewLineNumberOfModelPosition=function(e,t){throw new Error("Not supported")},e.INSTANCE=new e,e}(),ue=function(){function e(e,t){this.positionMapper=e,this.wrappedIndent=this.positionMapper.getWrappedLinesIndent(),this.wrappedIndentLength=this.wrappedIndent.length,this.outputLineCount=this.positionMapper.getOutputLineCount(),this._isVisible=t}return e.prototype.isVisible=function(){return this._isVisible},e.prototype.setVisible=function(e){return this._isVisible=e,this},e.prototype.getViewLineCount=function(){return this._isVisible?this.outputLineCount:0},e.prototype.getInputStartOffsetOfOutputLineIndex=function(e){return this.positionMapper.getInputOffsetOfOutputPosition(e,0)},e.prototype.getInputEndOffsetOfOutputLineIndex=function(e,t,o){return o+1===this.outputLineCount?e.getLineMaxColumn(t)-1:this.positionMapper.getInputOffsetOfOutputPosition(o+1,0)},e.prototype.getViewLineContent=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o),r=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:i+1});return o>0&&(r=this.wrappedIndent+r),r},e.prototype.getViewLineLength=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o)-n;return o>0&&(i=this.wrappedIndent.length+i),i},e.prototype.getViewLineMinColumn=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");return o>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,o).length+1},e.prototype.getViewLineData=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o),r=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:i+1});o>0&&(r=this.wrappedIndent+r);var s=o>0?this.wrappedIndentLength+1:1,a=r.length+1,l=o+1<this.getViewLineCount(),u=0;o>0&&(u=this.wrappedIndentLength);var c=e.getLineTokens(t);return new Q.c(r,l,s,a,c.sliceAndInflate(n,i,u))},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){if(!this._isVisible)throw new Error("Not supported");for(var a=o;a<n;a++){var l=i+a-o;r[l]?s[l]=this.getViewLineData(e,t,a):s[l]=null}},e.prototype.getModelColumnOfViewPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");var o=t-1;return e>0&&(o<this.wrappedIndentLength?o=0:o-=this.wrappedIndentLength),this.positionMapper.getInputOffsetOfOutputPosition(e,o)+1},e.prototype.getViewPositionOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");var o=this.positionMapper.getOutputPositionOfInputOffset(t-1),n=o.outputLineIndex,i=o.outputOffset+1;return n>0&&(i+=this.wrappedIndentLength),new m.a(e+n,i)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function ce(e,t,o,n,i,r,s){var a=e.createLineMapping(t,o,n,i,r);return null===a?s?ae.INSTANCE:le.INSTANCE:new ue(a,s)}var he=function(){function e(e){this._lines=e}return e.prototype._validPosition=function(e){return this._lines.model.validatePosition(e)},e.prototype._validRange=function(e){return this._lines.model.validateRange(e)},e.prototype.convertViewPositionToModelPosition=function(e){return this._validPosition(e)},e.prototype.convertViewRangeToModelRange=function(e){return this._validRange(e)},e.prototype.validateViewPosition=function(e,t){return this._validPosition(t)},e.prototype.validateViewRange=function(e,t){return this._validRange(t)},e.prototype.convertModelPositionToViewPosition=function(e){return this._validPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this._validRange(e)},e.prototype.modelPositionIsVisible=function(e){var t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)},e}(),de=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new he(this)},e.prototype.getHiddenAreas=function(){return[]},e.prototype.setHiddenAreas=function(e){return!1},e.prototype.setTabSize=function(e){return!1},e.prototype.setWrappingSettings=function(e,t,o){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,o){return new P(t,o)},e.prototype.onModelLinesInserted=function(e,t,o,n){return new x(t,o)},e.prototype.onModelLineChanged=function(e,t,o){return[!1,new A(t,t),null,null]},e.prototype.acceptVersionId=function(e){},e.prototype.getViewLineCount=function(){return this.model.getLineCount()},e.prototype.warmUpLookupCache=function(e,t){},e.prototype.getActiveIndentGuide=function(e,t,o){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var o=t-e+1,n=new Array(o),i=0;i<o;i++)n[i]=0;return n},e.prototype.getViewLineContent=function(e){return this.model.getLineContent(e)},e.prototype.getViewLineLength=function(e){return this.model.getLineLength(e)},e.prototype.getViewLineMinColumn=function(e){return this.model.getLineMinColumn(e)},e.prototype.getViewLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},e.prototype.getViewLineData=function(e){var t=this.model.getLineTokens(e),o=t.getLineContent();return new Q.c(o,!1,1,o.length+1,t.inflate())},e.prototype.getViewLinesData=function(e,t,o){var n=this.model.getLineCount();e=Math.min(Math.max(1,e),n),t=Math.min(Math.max(1,t),n);for(var i=[],r=e;r<=t;r++){var s=r-e;o[s]||(i[s]=null),i[s]=this.getViewLineData(r)}return i},e.prototype.getAllOverviewRulerDecorations=function(e,t,o){for(var n=this.model.getOverviewRulerDecorations(e,t),i=new ge,r=0,s=n.length;r<s;r++){var a=n[r],l=a.options.overviewRuler,u=l.position;if(0!==u){var c=pe(l,o),h=a.range.startLineNumber,d=a.range.endLineNumber;i.accept(c,h,d,u)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,o){return this.model.getDecorationsInRange(e,t,o)},e}(),ge=function(){function e(){this.result=Object.create(null)}return e.prototype.accept=function(e,t,o,n){var i=this.result[e];if(i){var r=i[i.length-3],s=i[i.length-1];if(r===n&&s+1>=t)return void(o>s&&(i[i.length-1]=o));i.push(n,t,o)}else this.result[e]=[n,t,o]},e}();function pe(e,t){if(!e._resolvedColor){var o=t.type,n="dark"===o?e.darkColor:"light"===o?e.color:e.hcColor;e._resolvedColor=function(e,t){if("string"==typeof e)return e;var o=e?t.getColor(e.id):null;o||(o=ne.a.transparent);return o.toString()}(n,t)}return e._resolvedColor}var fe=function(){function e(t,o,n,i){this.r=e._clamp(t),this.g=e._clamp(o),this.b=e._clamp(n),this.a=e._clamp(i)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e}(),me=function(){function e(){var e=this;this._onDidChange=new a.a,this.onDidChange=this._onDidChange.event,this._updateColorMap(),J.y.onDidChange((function(t){t.changedColorMap&&e._updateColorMap()}))}return e.getInstance=function(){return this._INSTANCE||(this._INSTANCE=new e),this._INSTANCE},e.prototype._updateColorMap=function(){var e=J.y.getColorMap();if(!e)return this._colors=[null],void(this._backgroundIsLight=!0);this._colors=[null];for(var t=1;t<e.length;t++){var o=e[t].rgba;this._colors[t]=new fe(o.r,o.g,o.b,Math.round(255*o.a))}var n=e[2].getRelativeLuminance();this._backgroundIsLight=n>=.5,this._onDidChange.fire(void 0)},e.prototype.getColor=function(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]},e.prototype.backgroundIsLight=function(){return this._backgroundIsLight},e._INSTANCE=null,e}(),_e=function(){function e(t,o){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==o.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=o,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(o,50/60)}return e.soften=function(e,t){for(var o=new Uint8ClampedArray(e.length),n=0,i=e.length;n<i;n++)o[n]=e[n]*t;return o},e._getChIndex=function(e){return(e-=32)<0&&(e+=95),e%95},e.prototype.x2RenderChar=function(t,o,n,i,r,s,a){if(o+2>t.width||n+4>t.height)console.warn("bad render request outside image data");else{var l=a?this.x2charDataLight:this.x2charData,u=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,g=s.b,p=r.r-h,f=r.g-d,m=r.b-g,_=t.data,y=4*u*2,v=n*c+4*o,b=l[y]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+1]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+2]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+3]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+4]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+5]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+6]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+7]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b}},e.prototype.x1RenderChar=function(t,o,n,i,r,s,a){if(o+1>t.width||n+2>t.height)console.warn("bad render request outside image data");else{var l=a?this.x1charDataLight:this.x1charData,u=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,g=s.b,p=r.r-h,f=r.g-d,m=r.b-g,_=t.data,y=2*u*1,v=n*c+4*o,b=l[y]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b,v+=c;b=l[y+1]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b}},e.prototype.x2BlockRenderChar=function(e,t,o,n,i,r){if(t+2>e.width||o+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=i.r,l=i.g,u=i.b,c=a+.5*(n.r-a),h=l+.5*(n.g-l),d=u+.5*(n.b-u),g=e.data,p=o*s+4*t;g[p+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d}},e.prototype.x1BlockRenderChar=function(e,t,o,n,i,r){if(t+1>e.width||o+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=i.r,l=i.g,u=i.b,c=a+.5*(n.r-a),h=l+.5*(n.g-l),d=u+.5*(n.b-u),g=e.data,p=o*s+4*t;g[p+0]=c,g[p+1]=h,g[p+2]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d}},e}(),ye=o(116),ve=o(92),be=o(27),Ee=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ce=function(e){function t(t,o,n){for(var i=e.call(this,0)||this,r=0;r<t.length;r++)i.set(t.charCodeAt(r),1);for(r=0;r<o.length;r++)i.set(o.charCodeAt(r),2);for(r=0;r<n.length;r++)i.set(n.charCodeAt(r),3);return i}return Ee(t,e),t.prototype.get=function(t){return t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(ye.a),Se=function(){function e(e,t,o){this.classifier=new Ce(e,t,o)}return e.nextVisibleColumn=function(e,t,o,n){return e=+e,t=+t,n=+n,o?e+(t-e%t):e+n},e.prototype.createLineMapping=function(t,o,n,i,r){if(-1===n)return null;o=+o,n=+n,i=+i;var s=0,a="",l=-1;if((r=+r)!==be.j.None&&-1!==(l=p.firstNonWhitespaceIndex(t))){a=t.substring(0,l);for(var u=0;u<l;u++)s=e.nextVisibleColumn(s,o,9===t.charCodeAt(u),1);var c=0;r===be.j.Indent?c=1:r===be.j.DeepIndent&&(c=2);for(u=0;u<c;u++)a+="\t",s=e.nextVisibleColumn(s,o,!0,1);s+i>n&&(a="",s=0)}var h=this.classifier,d=0,g=[],f=0,m=0,_=-1,y=0,v=-1,b=0,E=t.length;for(u=0;u<E;u++){var C=t.charCodeAt(u),S=9===C,T=h.get(C);if(1===T&&(_=u,y=s),4===T&&u>0){var w=t.charCodeAt(u-1);1!==h.get(w)&&(_=u,y=s)}var k=1;if(p.isFullWidthCharacter(C)&&(k=i),(m=e.nextVisibleColumn(m,o,S,k))>n&&0!==u){var O=void 0,R=void 0;-1!==_&&y<=n?(O=_,R=y):-1!==v&&b<=n?(O=v,R=b):(O=u,R=s),g[f++]=O-d,d=O,m=e.nextVisibleColumn(R,o,S,k),_=-1,y=0,v=-1,b=0}if(-1!==_&&(y=e.nextVisibleColumn(y,o,S,k)),-1!==v&&(b=e.nextVisibleColumn(b,o,S,k)),2===T&&(r===be.j.None||u>=l)&&(_=u+1,y=s),4===T&&u<E-1){var L=t.charCodeAt(u+1);2!==h.get(L)&&(_=u+1,y=s)}3===T&&(v=u+1,b=s)}return 0===f?null:(g[f++]=E-d,new Te(new te.a(Object(ve.c)(g)),a))},e}(),Te=function(){function e(e,t){this._prefixSums=e,this._wrappedLinesIndent=t}return e.prototype.getOutputLineCount=function(){return this._prefixSums.getCount()},e.prototype.getWrappedLinesIndent=function(){return this._wrappedLinesIndent},e.prototype.getInputOffsetOfOutputPosition=function(e,t){return 0===e?t:this._prefixSums.getAccumulatedValue(e-1)+t},e.prototype.getOutputPositionOfInputOffset=function(e){var t=this._prefixSums.getIndexOf(e);return new ie(t.index,t.remainder)},e}(),we=o(42),ke=function(){function e(){this._heights=[],this._minWidths=[],this._ids=[],this._afterLineNumbers=[],this._ordinals=[],this._prefixSum=[],this._prefixSumValidIndex=-1,this._whitespaceId2Index={},this._lastWhitespaceId=0,this._minWidth=-1}return e.findInsertionIndex=function(e,t,o,n){for(var i=0,r=e.length;i<r;){var s=i+r>>>1;t===e[s]?n<o[s]?r=s:i=s+1:t<e[s]?r=s:i=s+1}return i},e.prototype.insertWhitespace=function(t,o,n,i){t|=0,o|=0,n|=0,i|=0;var r=++this._lastWhitespaceId,s=e.findInsertionIndex(this._afterLineNumbers,t,this._ordinals,o);return this._insertWhitespaceAtIndex(r,s,t,o,n,i),this._minWidth=-1,r},e.prototype._insertWhitespaceAtIndex=function(e,t,o,n,i,r){e|=0,t|=0,o|=0,n|=0,i|=0,r|=0,this._heights.splice(t,0,i),this._minWidths.splice(t,0,r),this._ids.splice(t,0,e),this._afterLineNumbers.splice(t,0,o),this._ordinals.splice(t,0,n),this._prefixSum.splice(t,0,0);for(var s=Object.keys(this._whitespaceId2Index),a=0,l=s.length;a<l;a++){var u=s[a],c=this._whitespaceId2Index[u];c>=t&&(this._whitespaceId2Index[u]=c+1)}this._whitespaceId2Index[e.toString()]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,o){e|=0,t|=0,o|=0;var n=!1;return n=this.changeWhitespaceHeight(e,o)||n,n=this.changeWhitespaceAfterLineNumber(e,t)||n},e.prototype.changeWhitespaceHeight=function(e,t){t|=0;var o=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(o)){var n=this._whitespaceId2Index[o];if(this._heights[n]!==t)return this._heights[n]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1),!0}return!1},e.prototype.changeWhitespaceAfterLineNumber=function(t,o){o|=0;var n=(t|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(n)){var i=this._whitespaceId2Index[n];if(this._afterLineNumbers[i]!==o){var r=this._ordinals[i],s=this._heights[i],a=this._minWidths[i];this.removeWhitespace(t);var l=e.findInsertionIndex(this._afterLineNumbers,o,this._ordinals,r);return this._insertWhitespaceAtIndex(t,l,o,r,s,a),!0}}return!1},e.prototype.removeWhitespace=function(e){var t=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(t)){var o=this._whitespaceId2Index[t];return delete this._whitespaceId2Index[t],this._removeWhitespaceAtIndex(o),this._minWidth=-1,!0}return!1},e.prototype._removeWhitespaceAtIndex=function(e){e|=0,this._heights.splice(e,1),this._minWidths.splice(e,1),this._ids.splice(e,1),this._afterLineNumbers.splice(e,1),this._ordinals.splice(e,1),this._prefixSum.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1);for(var t=Object.keys(this._whitespaceId2Index),o=0,n=t.length;o<n;o++){var i=t[o],r=this._whitespaceId2Index[i];r>=e&&(this._whitespaceId2Index[i]=r-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var o=0,n=this._afterLineNumbers.length;o<n;o++){var i=this._afterLineNumbers[o];e<=i&&i<=t?this._afterLineNumbers[o]=e-1:i>t&&(this._afterLineNumbers[o]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var o=0,n=this._afterLineNumbers.length;o<n;o++){e<=this._afterLineNumbers[o]&&(this._afterLineNumbers[o]+=t-e+1)}},e.prototype.getTotalHeight=function(){return 0===this._heights.length?0:this.getAccumulatedHeight(this._heights.length-1)},e.prototype.getAccumulatedHeight=function(e){e|=0;var t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._prefixSum[0]=this._heights[0],t++);for(var o=t;o<=e;o++)this._prefixSum[o]=this._prefixSum[o-1]+this._heights[o];return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._prefixSum[e]},e.prototype.getAccumulatedHeightBeforeLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e);return-1===t?0:this.getAccumulatedHeight(t)},e.prototype._findLastWhitespaceBeforeLineNumber=function(e){e|=0;for(var t=this._afterLineNumbers,o=0,n=t.length-1;o<=n;){var i=o+((n-o|0)/2|0)|0;if(t[i]<e){if(i+1>=t.length||t[i+1]>=e)return i;o=i+1|0}else n=i-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._heights.length?t:-1},e.prototype.getFirstWhitespaceIndexAfterLineNumber=function(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)},e.prototype.getCount=function(){return this._heights.length},e.prototype.getMinWidth=function(){if(-1===this._minWidth){for(var e=0,t=0,o=this._minWidths.length;t<o;t++)e=Math.max(e,this._minWidths[t]);this._minWidth=e}return this._minWidth},e.prototype.getAfterLineNumberForWhitespaceIndex=function(e){return e|=0,this._afterLineNumbers[e]},e.prototype.getIdForWhitespaceIndex=function(e){return e|=0,this._ids[e]},e.prototype.getHeightForWhitespaceIndex=function(e){return e|=0,this._heights[e]},e.prototype.getWhitespaces=function(e){e|=0;for(var t=[],o=0;o<this._heights.length;o++)t.push({id:this._ids[o],afterLineNumber:this._afterLineNumbers[o],heightInLines:this._heights[o]/e});return t},e}(),Oe=function(){function e(e,t){this._lineCount=e,this._lineHeight=t,this._whitespaces=new ke}return e.prototype.setLineHeight=function(e){this._lineHeight=e},e.prototype.onFlushed=function(e){this._lineCount=e},e.prototype.insertWhitespace=function(e,t,o,n){return this._whitespaces.insertWhitespace(e,t,o,n)},e.prototype.changeWhitespace=function(e,t,o){return this._whitespaces.changeWhitespace(e,t,o)},e.prototype.removeWhitespace=function(e){return this._whitespaces.removeWhitespace(e)},e.prototype.onLinesDeleted=function(e,t){this._lineCount-=t-e+1,this._whitespaces.onLinesDeleted(e,t)},e.prototype.onLinesInserted=function(e,t){this._lineCount+=t-e+1,this._whitespaces.onLinesInserted(e,t)},e.prototype.getLinesTotalHeight=function(){return this._lineHeight*this._lineCount+this._whitespaces.getTotalHeight()},e.prototype.getVerticalOffsetForLineNumber=function(e){return((e|=0)>1?this._lineHeight*(e-1):0)+this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceMinWidth=function(){return this._whitespaces.getMinWidth()},e.prototype.isAfterLines=function(e){return e>this.getLinesTotalHeight()},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){if((e|=0)<0)return 1;for(var t=0|this._lineCount,o=this._lineHeight,n=1,i=t;n<i;){var r=(n+i)/2|0,s=0|this.getVerticalOffsetForLineNumber(r);if(e>=s+o)n=r+1;else{if(e>=s)return r;i=r}}return n>t?t:n},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var o,n,i=this._lineHeight,r=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(r),a=0|this._lineCount,l=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),u=0|this._whitespaces.getCount();-1===l?(l=u,n=a+1,o=0):(n=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(l),o=0|this._whitespaces.getHeightForWhitespaceIndex(l));var c=s,h=c,d=0;s>=5e5&&(d=5e5*Math.floor(s/5e5),h-=d=Math.floor(d/i)*i);for(var g=[],p=e+(t-e)/2,f=-1,m=r;m<=a;m++){if(-1===f){(c<=p&&p<c+i||c>p)&&(f=m)}for(c+=i,g[m-r]=h,h+=i;n===m;)h+=o,c+=o,++l>=u?n=a+1:(n=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(l),o=0|this._whitespaces.getHeightForWhitespaceIndex(l));if(c>=t){a=m;break}}-1===f&&(f=a);var _=0|this.getVerticalOffsetForLineNumber(a),y=r,v=a;return y<v&&s<e&&y++,y<v&&_+i>t&&v--,{bigNumbersDelta:d,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:g,centeredLineNumber:f,completelyVisibleStartLineNumber:y,completelyVisibleEndLineNumber:v}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e){e|=0;var t=this._whitespaces.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this._whitespaces.getAccumulatedHeight(e-1):0)},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e){e|=0;var t,o,n=0,i=this._whitespaces.getCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this._whitespaces.getHeightForWhitespaceIndex(i))return-1;for(;n<i;)if(t=Math.floor((n+i)/2),e>=(o=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))n=t+1;else{if(e>=o)return t;i=t}return n},e.prototype.getWhitespaceAtVerticalOffset=function(e){e|=0;var t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this._whitespaces.getCount())return null;var o=this.getVerticalOffsetForWhitespaceIndex(t);if(o>e)return null;var n=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:o,height:n}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var o=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this._whitespaces.getCount()-1;if(o<0)return[];for(var i=[],r=o;r<=n;r++){var s=this.getVerticalOffsetForWhitespaceIndex(r),a=this._whitespaces.getHeightForWhitespaceIndex(r);if(s>=t)break;i.push({id:this._whitespaces.getIdForWhitespaceIndex(r),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a})}return i},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),Re=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Le=function(e){function t(t,o,n){var i=e.call(this)||this;return i._configuration=t,i._linesLayout=new Oe(o,i._configuration.editor.lineHeight),i.scrollable=i._register(new we.a(0,n)),i._configureSmoothScrollDuration(),i.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),i.onDidScroll=i.scrollable.onScroll,i._updateHeight(),i}return Re(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onHeightMaybeChanged=function(){this._updateHeight()},t.prototype._configureSmoothScrollDuration=function(){this.scrollable.setSmoothScrollDuration(this._configuration.editor.viewInfo.smoothScrolling?125:0)},t.prototype.onConfigurationChanged=function(e){e.lineHeight&&this._linesLayout.setLineHeight(this._configuration.editor.lineHeight),e.layoutInfo&&this.scrollable.setScrollDimensions({width:this._configuration.editor.layoutInfo.contentWidth,height:this._configuration.editor.layoutInfo.contentHeight}),e.viewInfo&&this._configureSmoothScrollDuration(),this._updateHeight()},t.prototype.onFlushed=function(e){this._linesLayout.onFlushed(e)},t.prototype.onLinesDeleted=function(e,t){this._linesLayout.onLinesDeleted(e,t)},t.prototype.onLinesInserted=function(e,t){this._linesLayout.onLinesInserted(e,t)},t.prototype._getHorizontalScrollbarHeight=function(e){return this._configuration.editor.viewInfo.scrollbar.horizontal===we.b.Hidden?0:e.width>=e.scrollWidth?0:this._configuration.editor.viewInfo.scrollbar.horizontalScrollbarSize},t.prototype._getTotalHeight=function(){var e=this.scrollable.getScrollDimensions(),t=this._linesLayout.getLinesTotalHeight();return this._configuration.editor.viewInfo.scrollBeyondLastLine?t+=e.height-this._configuration.editor.lineHeight:t+=this._getHorizontalScrollbarHeight(e),Math.max(e.height,t)},t.prototype._updateHeight=function(){this.scrollable.setScrollDimensions({scrollHeight:this._getTotalHeight()})},t.prototype.getCurrentViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getCurrentScrollPosition();return new Q.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new Q.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){if(!this._configuration.editor.wrappingInfo.isViewportWrapping){var o=this._configuration.editor.viewInfo.scrollBeyondLastColumn*this._configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+o,t,n)}return Math.max(e,t)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width);this.scrollable.setScrollDimensions({scrollWidth:t}),this._updateHeight()},t.prototype.saveState=function(){var e=this.scrollable.getFutureScrollPosition(),t=e.scrollTop,o=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(o),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,o,n){return this._linesLayout.insertWhitespace(e,t,o,n)},t.prototype.changeWhitespace=function(e,t,o){return this._linesLayout.changeWhitespace(e,t,o)},t.prototype.removeWhitespace=function(e){return this._linesLayout.removeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.isAfterLines=function(e){return this._linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)},t.prototype.getLinesViewportDataAtScrollTop=function(e){var t=this.scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)},t.prototype.getWhitespaceViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)},t.prototype.getWhitespaces=function(){return this._linesLayout.getWhitespaces()},t.prototype.getScrollWidth=function(){return this.scrollable.getScrollDimensions().scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollable.getScrollDimensions().scrollHeight},t.prototype.getCurrentScrollLeft=function(){return this.scrollable.getCurrentScrollPosition().scrollLeft},t.prototype.getCurrentScrollTop=function(){return this.scrollable.getCurrentScrollPosition().scrollTop},t.prototype.validateScrollPosition=function(e){return this.scrollable.validateScrollPosition(e)},t.prototype.setScrollPositionNow=function(e){this.scrollable.setScrollPositionNow(e)},t.prototype.setScrollPositionSmooth=function(e){this.scrollable.setScrollPositionSmooth(e)},t.prototype.deltaScrollNow=function(e,t){var o=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:o.scrollLeft+e,scrollTop:o.scrollTop+t})},t}(l.a),Ne=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ie=!0,De=function(e){function t(t,o,n,i){var r=e.call(this)||this;if(r.editorId=t,r.configuration=o,r.model=n,r.hasFocus=!1,r.viewportStartLine=-1,r.viewportStartLineTrackedRange=null,r.viewportStartLineTop=0,Ie&&r.model.isTooLargeForTokenization())r.lines=new de(r.model);else{var s=r.configuration.editor,a=new Se(s.wrappingInfo.wordWrapBreakBeforeCharacters,s.wrappingInfo.wordWrapBreakAfterCharacters,s.wrappingInfo.wordWrapBreakObtrusiveCharacters);r.lines=new se(r.model,a,r.model.getOptions().tabSize,s.wrappingInfo.wrappingColumn,s.fontInfo.typicalFullwidthCharacterWidth/s.fontInfo.typicalHalfwidthCharacterWidth,s.wrappingInfo.wrappingIndent)}return r.coordinatesConverter=r.lines.createCoordinatesConverter(),r.viewLayout=r._register(new Le(r.configuration,r.getLineCount(),i)),r._register(r.viewLayout.onDidScroll((function(e){try{r._beginEmit().emit(new B(e))}finally{r._endEmit()}}))),r.decorations=new ee(r.editorId,r.model,r.configuration,r.lines,r.coordinatesConverter),r._registerModelEvents(),r._register(r.configuration.onDidChange((function(e){try{var t=r._beginEmit();r._onConfigurationChanged(t,e)}finally{r._endEmit()}}))),r._register(me.getInstance().onDidChange((function(){try{r._beginEmit().emit(new U)}finally{r._endEmit()}}))),r}return Ne(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.decorations.dispose(),this.lines.dispose(),this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,null,v.h.NeverGrowsWhenTypingAtEdges)},t.prototype.setHasFocus=function(e){this.hasFocus=e},t.prototype._onConfigurationChanged=function(e,t){var o=null;if(-1!==this.viewportStartLine){var n=new m.a(this.viewportStartLine,this.getLineMinColumn(this.viewportStartLine));o=this.coordinatesConverter.convertViewPositionToModelPosition(n)}var i=!1,r=this.configuration.editor;if(this.lines.setWrappingSettings(r.wrappingInfo.wrappingIndent,r.wrappingInfo.wrappingColumn,r.fontInfo.typicalFullwidthCharacterWidth/r.fontInfo.typicalHalfwidthCharacterWidth)&&(e.emit(new N),e.emit(new D),e.emit(new L),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),0!==this.viewLayout.getCurrentScrollTop()&&(i=!0)),t.readOnly&&(this.decorations.reset(),e.emit(new L)),e.emit(new O(t)),this.viewLayout.onConfigurationChanged(t),i&&o){var s=this.coordinatesConverter.convertModelPositionToViewPosition(o),a=this.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber);this.viewLayout.deltaScrollNow(0,a-this.viewportStartLineTop)}},t.prototype._registerModelEvents=function(){var e=this;this._register(this.model.onDidChangeRawContentFast((function(t){try{for(var o=e._beginEmit(),n=!1,i=!1,r=t.changes,s=t.versionId,a=0,l=r.length;a<l;a++){var u=r[a];switch(u.changeType){case 1:e.lines.onModelFlushed(),o.emit(new N),e.decorations.reset(),e.viewLayout.onFlushed(e.getLineCount()),n=!0;break;case 3:null!==(p=e.lines.onModelLinesDeleted(s,u.fromLineNumber,u.toLineNumber))&&(o.emit(p),e.viewLayout.onLinesDeleted(p.fromLineNumber,p.toLineNumber)),n=!0;break;case 4:null!==(g=e.lines.onModelLinesInserted(s,u.fromLineNumber,u.toLineNumber,u.detail))&&(o.emit(g),e.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),n=!0;break;case 2:var c=e.lines.onModelLineChanged(s,u.lineNumber,u.detail),h=c[0],d=c[1],g=c[2],p=c[3];i=h,d&&o.emit(d),g&&(o.emit(g),e.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),p&&(o.emit(p),e.viewLayout.onLinesDeleted(p.fromLineNumber,p.toLineNumber))}}e.lines.acceptVersionId(s),e.viewLayout.onHeightMaybeChanged(),!n&&i&&(o.emit(new D),o.emit(new L),e.decorations.onLineMappingChanged())}finally{e._endEmit()}if(e.viewportStartLine=-1,e.configuration.setMaxLineNumber(e.model.getLineCount()),!e.hasFocus&&e.model.getAttachedEditorCount()>=2&&e.viewportStartLineTrackedRange){var f=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(f){var m=e.coordinatesConverter.convertModelPositionToViewPosition(f.getStartPosition()),_=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.deltaScrollNow(0,_-e.viewportStartLineTop)}}}))),this._register(this.model.onDidChangeTokens((function(t){for(var o=[],n=0,i=t.ranges.length;n<i;n++){var r=t.ranges[n],s=e.coordinatesConverter.convertModelPositionToViewPosition(new m.a(r.fromLineNumber,1)).lineNumber,a=e.coordinatesConverter.convertModelPositionToViewPosition(new m.a(r.toLineNumber,e.model.getLineMaxColumn(r.toLineNumber))).lineNumber;o[n]={fromLineNumber:s,toLineNumber:a}}try{e._beginEmit().emit(new F(o))}finally{e._endEmit()}}))),this._register(this.model.onDidChangeLanguageConfiguration((function(t){try{e._beginEmit().emit(new W)}finally{e._endEmit()}}))),this._register(this.model.onDidChangeOptions((function(t){if(e.lines.setTabSize(e.model.getOptions().tabSize)){e.decorations.onLineMappingChanged(),e.viewLayout.onFlushed(e.getLineCount());try{var o=e._beginEmit();o.emit(new N),o.emit(new D),o.emit(new L)}finally{e._endEmit()}}}))),this._register(this.model.onDidChangeDecorations((function(t){e.decorations.onModelDecorationsChanged();try{e._beginEmit().emit(new L)}finally{e._endEmit()}})))},t.prototype.setHiddenAreas=function(e){try{var t=this._beginEmit();this.lines.setHiddenAreas(e)&&(t.emit(new N),t.emit(new D),t.emit(new L),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._endEmit()}},t.prototype.getVisibleRanges=function(){var e=this.getCompletelyVisibleViewRange(),t=this.coordinatesConverter.convertViewRangeToModelRange(e),o=this.lines.getHiddenAreas();if(0===o.length)return[t];for(var n=[],i=0,r=t.startLineNumber,s=t.startColumn,a=t.endLineNumber,l=t.endColumn,u=0,c=o.length;u<c;u++){var h=o[u].startLineNumber,d=o[u].endLineNumber;d<r||(h>a||(r<h&&(n[i++]=new _.a(r,s,h-1,this.model.getLineMaxColumn(h-1))),r=d+1,s=1))}return(r<a||r===a&&s<l)&&(n[i++]=new _.a(r,s,a,l)),n},t.prototype.getCompletelyVisibleViewRange=function(){var e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,o=e.completelyVisibleEndLineNumber;return new _.a(t,this.getLineMinColumn(t),o,this.getLineMaxColumn(o))},t.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){var t=this.viewLayout.getLinesViewportDataAtScrollTop(e),o=t.completelyVisibleStartLineNumber,n=t.completelyVisibleEndLineNumber;return new _.a(o,this.getLineMinColumn(o),n,this.getLineMaxColumn(n))},t.prototype.saveState=function(){var e=this.viewLayout.saveState(),t=e.scrollTop,o=this.viewLayout.getLineNumberAtVerticalOffset(t),n=this.coordinatesConverter.convertViewPositionToModelPosition(new m.a(o,this.getLineMinColumn(o))),i=this.viewLayout.getVerticalOffsetForLineNumber(o)-t;return{scrollLeft:e.scrollLeft,firstPosition:n,firstPositionDeltaTop:i}},t.prototype.reduceRestoreState=function(e){if(void 0===e.firstPosition)return this._reduceRestoreStateCompatibility(e);var t=this.model.validatePosition(e.firstPosition),o=this.coordinatesConverter.convertModelPositionToViewPosition(t),n=this.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:n}},t.prototype._reduceRestoreStateCompatibility=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}},t.prototype.getTabSize=function(){return this.model.getOptions().tabSize},t.prototype.getLineCount=function(){return this.lines.getViewLineCount()},t.prototype.setViewport=function(e,t,o){this.lines.warmUpLookupCache(e,t),this.viewportStartLine=e;var n=this.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e,this.getLineMinColumn(e)));this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,new _.a(n.lineNumber,n.column,n.lineNumber,n.column),v.h.NeverGrowsWhenTypingAtEdges),this.viewportStartLineTop=this.viewLayout.getVerticalOffsetForLineNumber(e)},t.prototype.getActiveIndentGuide=function(e,t,o){return this.lines.getActiveIndentGuide(e,t,o)},t.prototype.getLinesIndentGuides=function(e,t){return this.lines.getViewLinesIndentGuides(e,t)},t.prototype.getLineContent=function(e){return this.lines.getViewLineContent(e)},t.prototype.getLineLength=function(e){return this.lines.getViewLineLength(e)},t.prototype.getLineMinColumn=function(e){return this.lines.getViewLineMinColumn(e)},t.prototype.getLineMaxColumn=function(e){return this.lines.getViewLineMaxColumn(e)},t.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=p.firstNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){var t=p.lastNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+2},t.prototype.getDecorationsInViewport=function(e){return this.decorations.getDecorationsViewportData(e).decorations},t.prototype.getViewLineRenderingData=function(e,t){var o=this.model.mightContainRTL(),n=this.model.mightContainNonBasicASCII(),i=this.getTabSize(),r=this.lines.getViewLineData(t),s=this.decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return new Q.d(r.minColumn,r.maxColumn,r.content,r.continuesWithWrappedLine,o,n,r.tokens,s,i)},t.prototype.getViewLineData=function(e){return this.lines.getViewLineData(e)},t.prototype.getMinimapLinesRenderingData=function(e,t,o){var n=this.lines.getViewLinesData(e,t,o);return new Q.b(this.getTabSize(),n)},t.prototype.getAllOverviewRulerDecorations=function(e){return this.lines.getAllOverviewRulerDecorations(this.editorId,this.configuration.editor.readOnly,e)},t.prototype.invalidateOverviewRulerColorCache=function(){for(var e=this.model.getOverviewRulerDecorations(),t=0,o=e.length;t<o;t++){e[t].options.overviewRuler._resolvedColor=null}},t.prototype.getValueInRange=function(e,t){var o=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(o,t)},t.prototype.getModelLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},t.prototype.validateModelPosition=function(e){return this.model.validatePosition(e)},t.prototype.deduceModelPositionRelativeToViewPosition=function(e,t,o){var n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=o:t+=o);var i=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(i)},t.prototype.getEOL=function(){return this.model.getEOL()},t.prototype.getPlainTextToCopy=function(e,t,o){var n=this,i=o?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(_.a.compareRangesUsingStarts);var r=e.filter((function(e){return!e.isEmpty()}));if(0===r.length){if(!t)return"";for(var s=e.map((function(e){var t=new m.a(e.startLineNumber,1);return n.coordinatesConverter.convertViewPositionToModelPosition(t).lineNumber})),a="",l=0;l<s.length;l++)l>0&&s[l-1]===s[l]||(a+=this.model.getLineContent(s[l])+i);return a}var u=[];for(l=0;l<r.length;l++)u.push(this.getValueInRange(r[l],o?v.c.CRLF:v.c.TextDefined));return 1===u.length?u[0]:u},t.prototype.getHTMLToCopy=function(e,t){if(1===this.model.getLanguageIdentifier().id)return null;if(1!==e.length)return null;var o=this.coordinatesConverter.convertViewRangeToModelRange(e[0]);if(o.isEmpty()){if(!t)return null;var n=o.startLineNumber;o=new _.a(n,this.model.getLineMinColumn(n),n,this.model.getLineMaxColumn(n))}var i=this.configuration.editor.fontInfo,r=this._getColorMap();return'<div style="color: '+r[1]+";background-color: "+r[2]+";font-family: "+i.fontFamily+";font-weight: "+i.fontWeight+";font-size: "+i.fontSize+"px;line-height: "+i.lineHeight+'px;white-space: pre;">'+this._getHTMLToCopy(o,r)+"</div>"},t.prototype._getHTMLToCopy=function(e,t){for(var o=e.startLineNumber,n=e.startColumn,i=e.endLineNumber,r=e.endColumn,s=this.getTabSize(),a="",l=o;l<=i;l++){var u=this.model.getLineTokens(l),c=u.getLineContent(),h=l===o?n-1:0,d=l===i?r-1:c.length;a+=""===c?"<br>":Object(Z.a)(c,u.inflate(),t,h,d,s)}return a},t.prototype._getColorMap=function(){for(var e=J.y.getColorMap(),t=[null],o=1,n=e.length;o<n;o++)t[o]=ne.a.Format.CSS.formatHex(e[o]);return t},t}(j),Ae=o(5),Pe=o(62),xe=o(45),Me=o(36),Be=o(37),Fe=o(19),He=o(28),Ue=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ve=function(e){function t(){var t=e.call(this)||this;return t._shouldRender=!0,t}return Ue(t,e),t.prototype.shouldRender=function(){return this._shouldRender},t.prototype.forceShouldRender=function(){this._shouldRender=!0},t.prototype.setShouldRender=function(){this._shouldRender=!0},t.prototype.onDidRender=function(){this._shouldRender=!1},t.prototype.onConfigurationChanged=function(e){return!1},t.prototype.onCursorStateChanged=function(e){return!1},t.prototype.onDecorationsChanged=function(e){return!1},t.prototype.onFlushed=function(e){return!1},t.prototype.onFocusChanged=function(e){return!1},t.prototype.onLanguageConfigurationChanged=function(e){return!1},t.prototype.onLineMappingChanged=function(e){return!1},t.prototype.onLinesChanged=function(e){return!1},t.prototype.onLinesDeleted=function(e){return!1},t.prototype.onLinesInserted=function(e){return!1},t.prototype.onRevealRangeRequest=function(e){return!1},t.prototype.onScrollChanged=function(e){return!1},t.prototype.onTokensChanged=function(e){return!1},t.prototype.onTokensColorsChanged=function(e){return!1},t.prototype.onZonesChanged=function(e){return!1},t.prototype.onThemeChanged=function(e){return!1},t.prototype.handleEvents=function(e){for(var t=!1,o=0,n=e.length;o<n;o++){var i=e[o];switch(i.type){case 1:this.onConfigurationChanged(i)&&(t=!0);break;case 2:this.onCursorStateChanged(i)&&(t=!0);break;case 3:this.onDecorationsChanged(i)&&(t=!0);break;case 4:this.onFlushed(i)&&(t=!0);break;case 5:this.onFocusChanged(i)&&(t=!0);break;case 16:this.onLanguageConfigurationChanged(i)&&(t=!0);break;case 6:this.onLineMappingChanged(i)&&(t=!0);break;case 7:this.onLinesChanged(i)&&(t=!0);break;case 8:this.onLinesDeleted(i)&&(t=!0);break;case 9:this.onLinesInserted(i)&&(t=!0);break;case 10:this.onRevealRangeRequest(i)&&(t=!0);break;case 11:this.onScrollChanged(i)&&(t=!0);break;case 12:this.onTokensChanged(i)&&(t=!0);break;case 13:this.onTokensColorsChanged(i)&&(t=!0);break;case 14:this.onZonesChanged(i)&&(t=!0);break;case 15:this.onThemeChanged(i)&&(t=!0);break;default:console.info("View received unknown event: "),console.info(i)}}t&&(this._shouldRender=!0)},t}(l.a),We=(o(451),o(15)),je=o(24),Ge=o(174),ze=o(88),Ke=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ye=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._context.addEventHandler(o),o}return Ke(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t}(Ve),Xe=function(){function e(){}return e.write=function(e,t){He.a,e.setAttribute("data-mprt",String(t))},e.read=function(e){var t=e.getAttribute("data-mprt");return null===t?0:parseInt(t,10)},e.collect=function(e,t){for(var o=[],n=0;e&&e!==document.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(o[n++]=this.read(e)),e=e.parentElement;for(var i=new Uint8Array(n),r=0;r<n;r++)i[r]=o[n-r-1];return i},e}(),qe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),$e=function(e){function t(t){var o=e.call(this,t)||this;return o._canUseLayerHinting=o._context.configuration.editor.canUseLayerHinting,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o._glyphMarginLeft=o._context.configuration.editor.layoutInfo.glyphMarginLeft,o._glyphMarginWidth=o._context.configuration.editor.layoutInfo.glyphMarginWidth,o._domNode=o._createDomNode(),o}return qe(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._createDomNode=function(){var e=Object(He.b)(document.createElement("div"));return e.setClassName(t.OUTER_CLASS_NAME),e.setPosition("absolute"),e.setAttribute("role","presentation"),e.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=Object(He.b)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),e.appendChild(this._glyphMarginBackgroundDomNode),e},t.prototype.onConfigurationChanged=function(e){return e.canUseLayerHinting&&(this._canUseLayerHinting=this._context.configuration.editor.canUseLayerHinting),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollTopChanged},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setLayerHinting(this._canUseLayerHinting);var t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);var o=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(o),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(o)},t.CLASS_NAME="glyph-margin",t.OUTER_CLASS_NAME="margin",t}(Ye),Je=(o(452),o(29)),Ze=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ze(t,e),t}(Ve),et=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),tt=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._readConfig(),o._lastCursorModelPosition=new m.a(1,1),o._renderResult=null,o._context.addEventHandler(o),o}return et(t,e),t.prototype._readConfig=function(){var e=this._context.configuration.editor;this._lineHeight=e.lineHeight,this._renderLineNumbers=e.viewInfo.renderLineNumbers,this._renderCustomLineNumbers=e.viewInfo.renderCustomLineNumbers,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return this._readConfig(),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0].getPosition();return this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(t),2===this._renderLineNumbers||3===this._renderLineNumbers},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getLineRenderLineNumber=function(e){var t=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e,1));if(1!==t.column)return"";var o=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(o);if(2===this._renderLineNumbers){var n=Math.abs(this._lastCursorModelPosition.lineNumber-o);return 0===n?'<span class="relative-current-line-number">'+o+"</span>":String(n)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===o?String(o):o%10==0?String(o):"":String(o)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var o=We.c?this._lineHeight%2==0?" lh-even":" lh-odd":"",n=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r='<div class="'+t.CLASS_NAME+o+'" style="left:'+this._lineNumbersLeft.toString()+"px;width:"+this._lineNumbersWidth.toString()+'px;">',s=[],a=n;a<=i;a++){var l=a-n,u=this._getLineRenderLineNumber(a);s[l]=u?r+u+"</div>":""}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t.CLASS_NAME="line-numbers",t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.q);o&&t.addRule(".monaco-editor .line-numbers { color: "+o+"; }");var n=e.getColor(Je.b);n&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+n+"; }")}));var ot=o(102),nt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),it=function(){function e(e,t,o){this.top=e,this.left=t,this.width=o}return e.prototype.setWidth=function(t){return new e(this.top,this.left,t)},e}(),rt=je.h||je.j,st=function(){function e(){this._lastState=null}return e.prototype.set=function(e){this._lastState=e},e.prototype.get=function(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState:(this._lastState=null,null)},e.INSTANCE=new e,e}(),at=function(e){function t(t,o,n){var i=e.call(this,t)||this;i._primaryCursorVisibleRange=null,i._viewController=o,i._viewHelper=n;var r=i._context.configuration.editor;i._accessibilitySupport=r.accessibilitySupport,i._contentLeft=r.layoutInfo.contentLeft,i._contentWidth=r.layoutInfo.contentWidth,i._contentHeight=r.layoutInfo.contentHeight,i._scrollLeft=0,i._scrollTop=0,i._fontInfo=r.fontInfo,i._lineHeight=r.lineHeight,i._emptySelectionClipboard=r.emptySelectionClipboard,i._visibleTextArea=null,i._selections=[new y.a(1,1,1,1)],i.textArea=Object(He.b)(document.createElement("textarea")),Xe.write(i.textArea,6),i.textArea.setClassName("inputarea"),i.textArea.setAttribute("wrap","off"),i.textArea.setAttribute("autocorrect","off"),i.textArea.setAttribute("autocapitalize","off"),i.textArea.setAttribute("autocomplete","off"),i.textArea.setAttribute("spellcheck","false"),i.textArea.setAttribute("aria-label",r.viewInfo.ariaLabel),i.textArea.setAttribute("role","textbox"),i.textArea.setAttribute("aria-multiline","true"),i.textArea.setAttribute("aria-haspopup","false"),i.textArea.setAttribute("aria-autocomplete","both"),i.textAreaCover=Object(He.b)(document.createElement("div")),i.textAreaCover.setPosition("absolute");var s={getLineCount:function(){return i._context.model.getLineCount()},getLineMaxColumn:function(e){return i._context.model.getLineMaxColumn(e)},getValueInRange:function(e,t){return i._context.model.getValueInRange(e,t)}},a={getPlainTextToCopy:function(){var e=i._context.model.getPlainTextToCopy(i._selections,i._emptySelectionClipboard,We.g),t=i._context.model.getEOL(),o=i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),n=Array.isArray(e)?e:null,r=Array.isArray(e)?e.join(t):e,s=null;(o||n)&&(s={lastCopiedValue:je.j?r.replace(/\r\n/g,"\n"):r,isFromEmptySelection:i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),multicursorText:n});return st.INSTANCE.set(s),r},getHTMLToCopy:function(){return i._context.model.getHTMLToCopy(i._selections,i._emptySelectionClipboard)},getScreenReaderContent:function(e){if(je.l)return ze.b.EMPTY;if(1===i._accessibilitySupport){if(We.d){var t=i._selections[0];if(t.isEmpty()){var o=t.getStartPosition(),n=i._getWordBeforePosition(o);if(0===n.length&&(n=i._getCharacterBeforePosition(o)),n.length>0)return new ze.b(n,n.length,n.length,o,o)}}return ze.b.EMPTY}return ze.a.fromEditorSelection(e,s,i._selections[0],0===i._accessibilitySupport)},deduceModelPosition:function(e,t,o){return i._context.model.deduceModelPositionRelativeToViewPosition(e,t,o)}};return i._textAreaInput=i._register(new Ge.b(a,i.textArea)),i._register(i._textAreaInput.onKeyDown((function(e){i._viewController.emitKeyDown(e)}))),i._register(i._textAreaInput.onKeyUp((function(e){i._viewController.emitKeyUp(e)}))),i._register(i._textAreaInput.onPaste((function(e){var t=st.INSTANCE.get(e.text),o=!1,n=null;t&&(o=i._emptySelectionClipboard&&t.isFromEmptySelection,n=t.multicursorText),i._viewController.paste("keyboard",e.text,o,n)}))),i._register(i._textAreaInput.onCut((function(){i._viewController.cut("keyboard")}))),i._register(i._textAreaInput.onType((function(e){e.replaceCharCnt?i._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):i._viewController.type("keyboard",e.text)}))),i._register(i._textAreaInput.onSelectionChangeRequest((function(e){i._viewController.setSelection("keyboard",e)}))),i._register(i._textAreaInput.onCompositionStart((function(){var e=i._selections[0].startLineNumber,t=i._selections[0].startColumn;i._context.privateViewEventBus.emit(new M(new _.a(e,t,e,t),0,!0,1));var o=i._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);o&&(i._visibleTextArea=new it(i._context.viewLayout.getVerticalOffsetForLineNumber(e),o.left,rt?0:1),i._render()),i.textArea.setClassName("inputarea ime-input"),i._viewController.compositionStart("keyboard")}))),i._register(i._textAreaInput.onCompositionUpdate((function(e){je.h?i._visibleTextArea=i._visibleTextArea.setWidth(0):i._visibleTextArea=i._visibleTextArea.setWidth(function(e,t){var o=document.createElement("canvas").getContext("2d");o.font=(n=t,i="normal",r=n.fontWeight,s=n.fontSize,a=n.lineHeight,l=n.fontFamily,i+" normal "+r+" "+s+"px / "+a+"px "+l);var n,i,r,s,a,l;var u=o.measureText(e);return je.j?u.width+2:u.width}(e.data,i._fontInfo)),i._render()}))),i._register(i._textAreaInput.onCompositionEnd((function(){i._visibleTextArea=null,i._render(),i.textArea.setClassName("inputarea"),i._viewController.compositionEnd("keyboard")}))),i._register(i._textAreaInput.onFocus((function(){i._context.privateViewEventBus.emit(new I(!0))}))),i._register(i._textAreaInput.onBlur((function(){i._context.privateViewEventBus.emit(new I(!1))}))),i}return nt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getWordBeforePosition=function(e){for(var t=this._context.model.getLineContent(e.lineNumber),o=Object(ot.a)(this._context.configuration.editor.wordSeparators),n=e.column,i=0;n>1;){var r=t.charCodeAt(n-2);if(0!==o.get(r)||i>50)return t.substring(n-1,e.column-1);i++,n--}return t.substring(0,e.column-1)},t.prototype._getCharacterBeforePosition=function(e){if(e.column>1){var t=this._context.model.getLineContent(e.lineNumber).charAt(e.column-2);if(!p.isHighSurrogate(t.charCodeAt(0)))return t}return""},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.editor;return e.fontInfo&&(this._fontInfo=t.fontInfo),e.viewInfo&&this.textArea.setAttribute("aria-label",t.viewInfo.ariaLabel),e.layoutInfo&&(this._contentLeft=t.layoutInfo.contentLeft,this._contentWidth=t.layoutInfo.contentWidth,this._contentHeight=t.layoutInfo.contentHeight),e.lineHeight&&(this._lineHeight=t.lineHeight),e.accessibilitySupport&&(this._accessibilitySupport=t.accessibilitySupport,this._textAreaInput.writeScreenReaderContent("strategy changed")),e.emptySelectionClipboard&&(this._emptySelectionClipboard=t.emptySelectionClipboard),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.isFocused=function(){return this._textAreaInput.isFocused()},t.prototype.focusTextArea=function(){this._textAreaInput.focusTextArea()},t.prototype.prepareRender=function(e){if(2===this._accessibilitySupport)this._primaryCursorVisibleRange=null;else{var t=new m.a(this._selections[0].positionLineNumber,this._selections[0].positionColumn);this._primaryCursorVisibleRange=e.visibleRangeForPosition(t)}},t.prototype.render=function(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()},t.prototype._render=function(){if(this._visibleTextArea)this._renderInsideEditor(this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight,!0);else if(this._primaryCursorVisibleRange){var e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(e<this._contentLeft||e>this._contentLeft+this._contentWidth)this._renderAtTopLeft();else{var t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;t<0||t>this._contentHeight?this._renderAtTopLeft():this._renderInsideEditor(t,e,rt?0:1,rt?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,o,n,i){var r=this.textArea,s=this.textAreaCover;i?g.a.applyFontInfo(r,this._fontInfo):(r.setFontSize(1),r.setLineHeight(this._fontInfo.lineHeight)),r.setTop(e),r.setLeft(t),r.setWidth(o),r.setHeight(n),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(g.a.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),rt)return e.setWidth(0),e.setHeight(0),t.setWidth(0),void t.setHeight(0);e.setWidth(1),e.setHeight(1),t.setWidth(1),t.setHeight(1),this._context.configuration.editor.viewInfo.glyphMargin?t.setClassName("monaco-editor-background textAreaCover "+$e.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+tt.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(Ye);var lt=o(66),ut=o(16),ct=o(41),ht=o(73),dt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),gt=function(){function e(e,t){this.x=e,this.y=t}return e.prototype.toClientCoordinates=function(){return new pt(this.x-r.e.scrollX,this.y-r.e.scrollY)},e}(),pt=function(){function e(e,t){this.clientX=e,this.clientY=t}return e.prototype.toPageCoordinates=function(){return new gt(this.clientX+r.e.scrollX,this.clientY+r.e.scrollY)},e}(),ft=function(e,t,o,n){this.x=e,this.y=t,this.width=o,this.height=n};function mt(e){var t=r.u(e);return new ft(t.left,t.top,t.width,t.height)}var _t=function(e){function t(t,o){var n=e.call(this,t)||this;return n.pos=new gt(n.posx,n.posy),n.editorPos=mt(o),n}return dt(t,e),t}(ct.b),yt=function(){function e(e){this._editorViewDomNode=e}return e.prototype._create=function(e){return new _t(e,this._editorViewDomNode)},e.prototype.onContextMenu=function(e,t){var o=this;return r.g(e,"contextmenu",(function(e){t(o._create(e))}))},e.prototype.onMouseUp=function(e,t){var o=this;return r.g(e,"mouseup",(function(e){t(o._create(e))}))},e.prototype.onMouseDown=function(e,t){var o=this;return r.g(e,"mousedown",(function(e){t(o._create(e))}))},e.prototype.onMouseLeave=function(e,t){var o=this;return r.h(e,(function(e){t(o._create(e))}))},e.prototype.onMouseMoveThrottled=function(e,t,o,n){var i=this;return r.i(e,"mousemove",t,(function(e,t){return o(e,i._create(t))}),n)},e}(),vt=function(e){function t(t){var o=e.call(this)||this;return o._editorViewDomNode=t,o._globalMouseMoveMonitor=o._register(new ht.a),o._keydownListener=null,o}return dt(t,e),t.prototype.startMonitoring=function(e,t,o){var n=this;this._keydownListener=r.j(document,"keydown",(function(e){e.toKeybinding().isModifierKey()||n._globalMouseMoveMonitor.stopMonitoring(!0)}),!0);this._globalMouseMoveMonitor.startMonitoring((function(t,o){return e(t,new _t(o,n._editorViewDomNode))}),t,(function(){n._keydownListener.dispose(),o()}))},t}(l.a),bt=o(123),Et=o(68),Ct=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),St=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i._viewLines=n,i}return Ct(t,e),t.prototype.linesVisibleRangesForRange=function(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)},t.prototype.visibleRangeForPosition=function(e){var t=this._viewLines.visibleRangesForRange2(new _.a(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},t}(function(){function e(e,t){this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;var o=this._viewLayout.getCurrentViewport();this.scrollTop=o.top,this.scrollLeft=o.left,this.viewportWidth=o.width,this.viewportHeight=o.height}return e.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollTop},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.getDecorationsInViewport=function(){return this.viewportData.getDecorationsInViewport()},e}()),Tt=function(e,t){this.lineNumber=e,this.ranges=t},wt=function(){function e(e,t){this.left=Math.round(e),this.width=Math.round(t)}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e}(),kt=function(){function e(e,t){this.left=e,this.width=t}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e.compare=function(e,t){return e.left-t.left},e}(),Ot=function(){function e(){}return e._createRange=function(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange},e._detachRange=function(e,t){e.selectNodeContents(t)},e._readClientRects=function(e,t,o,n,i){var r=this._createRange();try{return r.setStart(e,t),r.setEnd(o,n),r.getClientRects()}catch(e){return null}finally{this._detachRange(r,i)}},e._mergeAdjacentRanges=function(e){if(1===e.length)return[new wt(e[0].left,e[0].width)];e.sort(kt.compare);for(var t=[],o=0,n=e[0].left,i=e[0].width,r=1,s=e.length;r<s;r++){var a=e[r],l=a.left,u=a.width;n+i+.9>=l?i=Math.max(i,l+u-n):(t[o++]=new wt(n,i),n=l,i=u)}return t[o++]=new wt(n,i),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];o[n]=new kt(Math.max(0,r.left-t),r.width)}return this._mergeAdjacentRanges(o)},e.readHorizontalRanges=function(e,t,o,n,i,r,s){var a=e.children.length-1;if(0>a)return null;(t=Math.min(a,Math.max(0,t)))!==(n=Math.min(a,Math.max(0,n)))&&n>0&&0===i&&(n--,i=Number.MAX_VALUE);var l=e.children[t].firstChild,u=e.children[n].firstChild;if(l&&u||(!l&&0===o&&t>0&&(l=e.children[t-1].firstChild,o=1073741824),!u&&0===i&&n>0&&(u=e.children[n-1].firstChild,i=1073741824)),!l||!u)return null;o=Math.min(l.textContent.length,Math.max(0,o)),i=Math.min(u.textContent.length,Math.max(0,i));var c=this._readClientRects(l,o,u,i,s);return this._createHorizontalRangesFromClientRects(c,r)},e}(),Rt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Lt=!!We.e||!(We.c||je.j||je.m),Nt=je.h,It=function(){function e(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectDeltaLeftRead=!1,this.endNode=t}return Object.defineProperty(e.prototype,"clientRectDeltaLeft",{get:function(){return this._clientRectDeltaLeftRead||(this._clientRectDeltaLeftRead=!0,this._clientRectDeltaLeft=this._domNode.getBoundingClientRect().left),this._clientRectDeltaLeft},enumerable:!0,configurable:!0}),e}(),Dt=function(){function e(e,t){this.themeType=t,this.renderWhitespace=e.editor.viewInfo.renderWhitespace,this.renderControlCharacters=e.editor.viewInfo.renderControlCharacters,this.spaceWidth=e.editor.fontInfo.spaceWidth,this.useMonospaceOptimizations=e.editor.fontInfo.isMonospace&&!e.editor.viewInfo.disableMonospaceOptimizations,this.lineHeight=e.editor.lineHeight,this.stopRenderingLineAfter=e.editor.viewInfo.stopRenderingLineAfter,this.fontLigatures=e.editor.viewInfo.fontLigatures}return e.prototype.equals=function(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),At=function(){function e(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}return e.prototype.getDomNode=function(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null},e.prototype.setDomNode=function(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=Object(He.b)(e)},e.prototype.onContentChanged=function(){this._isMaybeInvalid=!0},e.prototype.onTokensChanged=function(){this._isMaybeInvalid=!0},e.prototype.onDecorationsChanged=function(){this._isMaybeInvalid=!0},e.prototype.onOptionsChanged=function(e){this._isMaybeInvalid=!0,this._options=e},e.prototype.onSelectionChanged=function(){return!(!Nt&&this._options.themeType!==Fe.b)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,o,n,i){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var r=n.getViewLineRenderingData(t),s=this._options,a=bt.a.filter(r.inlineDecorations,t,r.minColumn,r.maxColumn);if(Nt||s.themeType===Fe.b)for(var l=n.selections,u=0,c=l.length;u<c;u++){var h=l[u];if(!(h.endLineNumber<t||h.startLineNumber>t)){var d=h.startLineNumber===t?h.startColumn:r.minColumn,g=h.endLineNumber===t?h.endColumn:r.maxColumn;d<g&&a.push(new bt.a(d,g,"inline-selected-text",0))}}var p=new Et.b(s.useMonospaceOptimizations,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,r.minColumn-1,r.tokens,a,r.tabSize,s.spaceWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures);if(this._renderedViewLine&&this._renderedViewLine.input.equals(p))return!1;i.appendASCIIString('<div style="top:'),i.appendASCIIString(String(o)),i.appendASCIIString("px;height:"),i.appendASCIIString(String(this._options.lineHeight)),i.appendASCIIString('px;" class="'),i.appendASCIIString(e.CLASS_NAME),i.appendASCIIString('">');var f=Object(Et.c)(p,i);i.appendASCIIString("</div>");var m=null;return Lt&&r.isBasicASCII&&s.useMonospaceOptimizations&&0===f.containsForeignElements&&r.content.length<300&&p.lineTokens.getCount()<100&&(m=new Pt(this._renderedViewLine?this._renderedViewLine.domNode:null,p,f.characterMapping)),m||(m=Bt(this._renderedViewLine?this._renderedViewLine.domNode:null,p,f.characterMapping,f.containsRTL,f.containsForeignElements)),this._renderedViewLine=m,!0},e.prototype.layoutLine=function(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))},e.prototype.getWidth=function(){return this._renderedViewLine?this._renderedViewLine.getWidth():0},e.prototype.getWidthIsFast=function(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()},e.prototype.getVisibleRangesForRange=function(e,t,o){e|=0,t|=0,e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e)),t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t));var n=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==n&&e>n&&t>n?null:(-1!==n&&e>n&&(e=n),-1!==n&&t>n&&(t=n),this._renderedViewLine.getVisibleRangesForRange(e,t,o))},e.prototype.getColumnOfNodeOffset=function(e,t,o){return this._renderedViewLine.getColumnOfNodeOffset(e,t,o)},e.CLASS_NAME="view-line",e}(),Pt=function(){function e(e,t,o){this.domNode=e,this.input=t,this._characterMapping=o,this._charWidth=t.spaceWidth}return e.prototype.getWidth=function(){return this._getCharPosition(this._characterMapping.length)},e.prototype.getWidthIsFast=function(){return!0},e.prototype.getVisibleRangesForRange=function(e,t,o){var n=this._getCharPosition(e),i=this._getCharPosition(t);return[new wt(n,i-n)]},e.prototype._getCharPosition=function(e){var t=this._characterMapping.getAbsoluteOffsets();return 0===t.length?0:Math.round(this._charWidth*t[e-1])},e.prototype.getColumnOfNodeOffset=function(e,t,o){for(var n=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,n,o)+1},e}(),xt=function(){function e(e,t,o,n,i){if(this.domNode=e,this.input=t,this._characterMapping=o,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=i,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var r=0,s=this._characterMapping.length;r<=s;r++)this._pixelOffsetCache[r]=-1}}return e.prototype._getReadingTarget=function(){return this.domNode.domNode.firstChild},e.prototype.getWidth=function(){return-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget().offsetWidth),this._cachedWidth},e.prototype.getWidthIsFast=function(){return-1!==this._cachedWidth},e.prototype.getVisibleRangesForRange=function(e,t,o){if(null!==this._pixelOffsetCache){var n=this._readPixelOffset(e,o);if(-1===n)return null;var i=this._readPixelOffset(t,o);return-1===i?null:[new wt(n,i-n)]}return this._readVisibleRangesForRange(e,t,o)},e.prototype._readVisibleRangesForRange=function(e,t,o){if(e===t){var n=this._readPixelOffset(e,o);return-1===n?null:[new wt(n,0)]}return this._readRawVisibleRangesForRange(e,t,o)},e.prototype._readPixelOffset=function(e,t){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth()}if(null!==this._pixelOffsetCache){var o=this._pixelOffsetCache[e];if(-1!==o)return o;var n=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=n,n}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var o=Ot.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return o&&0!==o.length?o[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var n=this._characterMapping.charOffsetToPartData(e-1),i=Et.a.getPartIndex(n),r=Et.a.getCharIndex(n),s=Ot.readHorizontalRanges(this._getReadingTarget(),i,r,i,r,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,o){if(1===e&&t===this._characterMapping.length)return[new wt(0,this.getWidth())];var n=this._characterMapping.charOffsetToPartData(e-1),i=Et.a.getPartIndex(n),r=Et.a.getCharIndex(n),s=this._characterMapping.charOffsetToPartData(t-1),a=Et.a.getPartIndex(s),l=Et.a.getCharIndex(s);return Ot.readHorizontalRanges(this._getReadingTarget(),i,r,a,l,o.clientRectDeltaLeft,o.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,o){for(var n=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,n,o)+1},e}(),Mt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Rt(t,e),t.prototype._readVisibleRangesForRange=function(t,o,n){var i=e.prototype._readVisibleRangesForRange.call(this,t,o,n);if(!i||0===i.length||t===o||1===t&&o===this._characterMapping.length)return i;var r=this._readPixelOffset(o-1,n),s=this._readPixelOffset(o,n);if(-1!==r&&-1!==s){var a=r<=s,l=i[i.length-1];a&&l.left<s&&(l.width=s-l.left)}return i},t}(xt),Bt=je.n?Ft:Ht;function Ft(e,t,o,n,i){return new Mt(e,t,o,n,i)}function Ht(e,t,o,n,i){return new xt(e,t,o,n,i)}var Ut=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Vt=function(){function e(e,t,o,n,i,r){void 0===o&&(o=0),void 0===n&&(n=null),void 0===i&&(i=null),void 0===r&&(r=null),this.element=e,this.type=t,this.mouseColumn=o,this.position=n,!i&&n&&(i=new _.a(n.lineNumber,n.column,n.lineNumber,n.column)),this.range=i,this.detail=r}return e._typeToString=function(e){return e===ut.b.TEXTAREA?"TEXTAREA":e===ut.b.GUTTER_GLYPH_MARGIN?"GUTTER_GLYPH_MARGIN":e===ut.b.GUTTER_LINE_NUMBERS?"GUTTER_LINE_NUMBERS":e===ut.b.GUTTER_LINE_DECORATIONS?"GUTTER_LINE_DECORATIONS":e===ut.b.GUTTER_VIEW_ZONE?"GUTTER_VIEW_ZONE":e===ut.b.CONTENT_TEXT?"CONTENT_TEXT":e===ut.b.CONTENT_EMPTY?"CONTENT_EMPTY":e===ut.b.CONTENT_VIEW_ZONE?"CONTENT_VIEW_ZONE":e===ut.b.CONTENT_WIDGET?"CONTENT_WIDGET":e===ut.b.OVERVIEW_RULER?"OVERVIEW_RULER":e===ut.b.SCROLLBAR?"SCROLLBAR":e===ut.b.OVERLAY_WIDGET?"OVERLAY_WIDGET":"UNKNOWN"},e.toString=function(e){return this._typeToString(e.type)+": "+e.position+" - "+e.range+" - "+e.detail},e.prototype.toString=function(){return e.toString(this)},e}(),Wt=function(){function e(){}return e.isTextArea=function(e){return 2===e.length&&3===e[0]&&6===e[1]},e.isChildOfViewLines=function(e){return e.length>=4&&3===e[0]&&7===e[3]},e.isStrictChildOfViewLines=function(e){return e.length>4&&3===e[0]&&7===e[3]},e.isChildOfScrollableElement=function(e){return e.length>=2&&3===e[0]&&5===e[1]},e.isChildOfMinimap=function(e){return e.length>=2&&3===e[0]&&8===e[1]},e.isChildOfContentWidgets=function(e){return e.length>=4&&3===e[0]&&1===e[3]},e.isChildOfOverflowingContentWidgets=function(e){return e.length>=1&&2===e[0]},e.isChildOfOverlayWidgets=function(e){return e.length>=2&&3===e[0]&&4===e[1]},e}(),jt=function(){function e(e,t,o){this.model=e.model,this.layoutInfo=e.configuration.editor.layoutInfo,this.viewDomNode=t.viewDomNode,this.lineHeight=e.configuration.editor.lineHeight,this.typicalHalfwidthCharacterWidth=e.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this.lastViewCursorsRenderData=o,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var o=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(o){var n=o.verticalOffset+o.height/2,i=e.model.getLineCount(),r=null,s=void 0,a=null;return o.afterLineNumber!==i&&(a=new m.a(o.afterLineNumber+1,1)),o.afterLineNumber>0&&(r=new m.a(o.afterLineNumber,e.model.getLineMaxColumn(o.afterLineNumber))),s=null===a?r:null===r?a:t<n?r:a,{viewZoneId:o.id,afterLineNumber:o.afterLineNumber,positionBefore:r,positionAfter:a,position:s}}return null},e.prototype.getFullLineRangeAtCoord=function(e){if(this._context.viewLayout.isAfterLines(e)){var t=this._context.model.getLineCount(),o=this._context.model.getLineMaxColumn(t);return{range:new _.a(t,o,t,o),isAfterLines:!0}}var n=this._context.viewLayout.getLineNumberAtVerticalOffset(e),i=this._context.model.getLineMaxColumn(n);return{range:new _.a(n,1,n,i),isAfterLines:!1}},e.prototype.getLineNumberAtVerticalOffset=function(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)},e.prototype.isAfterLines=function(e){return this._context.viewLayout.isAfterLines(e)},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.findAttribute=function(t,o){return e._findAttribute(t,o,this._viewHelper.viewDomNode)},e._findAttribute=function(e,t,o){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===o)return null;e=e.parentNode}return null},e.prototype.getLineWidth=function(e){return this._viewHelper.getLineWidth(e)},e.prototype.visibleRangeForPosition2=function(e,t){return this._viewHelper.visibleRangeForPosition2(e,t)},e.prototype.getPositionFromDOMInfo=function(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)},e.prototype.getCurrentScrollTop=function(){return this._context.viewLayout.getCurrentScrollTop()},e.prototype.getCurrentScrollLeft=function(){return this._context.viewLayout.getCurrentScrollLeft()},e}(),Gt=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._ctx=t,i?(r.target=i,r.targetPath=Xe.collect(i,t.viewDomNode)):(r.target=null,r.targetPath=new Uint8Array(0)),r}return Ut(t,e),t.prototype.toString=function(){return"pos("+this.pos.x+","+this.pos.y+"), editorPos("+this.editorPos.x+","+this.editorPos.y+"), mouseVerticalOffset: "+this.mouseVerticalOffset+", mouseContentHorizontalOffset: "+this.mouseContentHorizontalOffset+"\n\ttarget: "+(this.target?this.target.outerHTML:null)},t.prototype.fulfill=function(e,t,o,n){return void 0===t&&(t=null),void 0===o&&(o=null),void 0===n&&(n=null),new Vt(this.target,e,this.mouseColumn,t,o,n)},t.prototype.withTarget=function(e){return new t(this._ctx,this.editorPos,this.pos,e)},t}((function(e,t,o){this.editorPos=t,this.pos=o,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+o.y-t.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+o.x-t.x-e.layoutInfo.contentLeft,this.isInMarginArea=o.x-t.x<e.layoutInfo.contentLeft&&o.x-t.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Yt._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))})),zt={isAfterLines:!0};function Kt(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var Yt=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,o=Xe.collect(t,this._viewHelper.viewDomNode);return!(!Wt.isChildOfContentWidgets(o)&&!Wt.isChildOfOverflowingContentWidgets(o))||!!Wt.isChildOfOverlayWidgets(o)},e.prototype.createMouseTarget=function(t,o,n,i){var r=new jt(this._context,this._viewHelper,t),s=new Gt(r,o,n,i);try{return e._createMouseTarget(r,s,!1)}catch(e){return s.fulfill(ut.b.UNKNOWN)}},e._createMouseTarget=function(t,o,n){if(null===o.target){if(n)return o.fulfill(ut.b.UNKNOWN);var i=e._doHitTest(t,o);return i.position?e.createMouseTargetFromHitTestPosition(t,o,i.position.lineNumber,i.position.column):this._createMouseTarget(t,o.withTarget(i.hitTarget),!0)}var r=null;return(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r||e._hitTestContentWidget(t,o))||e._hitTestOverlayWidget(t,o))||e._hitTestMinimap(t,o))||e._hitTestScrollbarSlider(t,o))||e._hitTestViewZone(t,o))||e._hitTestMargin(t,o))||e._hitTestViewCursor(t,o))||e._hitTestTextArea(t,o))||e._hitTestViewLines(t,o,n))||e._hitTestScrollbar(t,o))||o.fulfill(ut.b.UNKNOWN)},e._hitTestContentWidget=function(e,t){if(Wt.isChildOfContentWidgets(t.targetPath)||Wt.isChildOfOverflowingContentWidgets(t.targetPath)){var o=e.findAttribute(t.target,"widgetId");return o?t.fulfill(ut.b.CONTENT_WIDGET,null,null,o):t.fulfill(ut.b.UNKNOWN)}return null},e._hitTestOverlayWidget=function(e,t){if(Wt.isChildOfOverlayWidgets(t.targetPath)){var o=e.findAttribute(t.target,"widgetId");return o?t.fulfill(ut.b.OVERLAY_WIDGET,null,null,o):t.fulfill(ut.b.UNKNOWN)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var o=0,n=(r=e.lastViewCursorsRenderData).length;o<n;o++){var i=r[o];if(t.target===i.domNode)return t.fulfill(ut.b.CONTENT_TEXT,i.position)}if(t.isInContentArea){var r=e.lastViewCursorsRenderData,s=t.mouseContentHorizontalOffset,a=t.mouseVerticalOffset;for(o=0,n=r.length;o<n;o++){if(!(s<(i=r[o]).contentLeft)&&!(s>i.contentLeft+i.width)){var l=e.getVerticalOffsetForLineNumber(i.position.lineNumber);if(l<=a&&a<=l+i.height)return t.fulfill(ut.b.CONTENT_TEXT,i.position)}}}return null},e._hitTestViewZone=function(e,t){var o=e.getZoneAtCoord(t.mouseVerticalOffset);if(o){var n=t.isInContentArea?ut.b.CONTENT_VIEW_ZONE:ut.b.GUTTER_VIEW_ZONE;return t.fulfill(n,o.position,null,o)}return null},e._hitTestTextArea=function(e,t){return Wt.isTextArea(t.targetPath)?t.fulfill(ut.b.TEXTAREA):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var o=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=o.range.getStartPosition(),i=Math.abs(t.pos.x-t.editorPos.x),r={isAfterLines:o.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};return(i-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(ut.b.GUTTER_GLYPH_MARGIN,n,o.range,r):(i-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(ut.b.GUTTER_LINE_NUMBERS,n,o.range,r):(i-=e.layoutInfo.lineNumbersWidth,t.fulfill(ut.b.GUTTER_LINE_DECORATIONS,n,o.range,r))}return null},e._hitTestViewLines=function(t,o,n){if(!Wt.isChildOfViewLines(o.targetPath))return null;if(t.isAfterLines(o.mouseVerticalOffset)){var i=t.model.getLineCount(),r=t.model.getLineMaxColumn(i);return o.fulfill(ut.b.CONTENT_EMPTY,new m.a(i,r),void 0,zt)}if(n){if(Wt.isStrictChildOfViewLines(o.targetPath)){var s=t.getLineNumberAtVerticalOffset(o.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),l=Kt(o.mouseContentHorizontalOffset-a);return o.fulfill(ut.b.CONTENT_EMPTY,new m.a(s,1),void 0,l)}}return o.fulfill(ut.b.UNKNOWN)}var u=e._doHitTest(t,o);return u.position?e.createMouseTargetFromHitTestPosition(t,o,u.position.lineNumber,u.position.column):this._createMouseTarget(t,o.withTarget(u.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(Wt.isChildOfMinimap(t.targetPath)){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.model.getLineMaxColumn(o);return t.fulfill(ut.b.SCROLLBAR,new m.a(o,n))}return null},e._hitTestScrollbarSlider=function(e,t){if(Wt.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var o=t.target.className;if(o&&/\b(slider|scrollbar)\b/.test(o)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(ut.b.SCROLLBAR,new m.a(n,i))}}return null},e._hitTestScrollbar=function(e,t){if(Wt.isChildOfScrollableElement(t.targetPath)){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.model.getLineMaxColumn(o);return t.fulfill(ut.b.SCROLLBAR,new m.a(o,n))}return null},e.prototype.getMouseColumn=function(t,o){var n=this._context.configuration.editor.layoutInfo,i=this._context.viewLayout.getCurrentScrollLeft()+o.x-t.x-n.contentLeft;return e._getMouseColumn(i,this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth)},e._getMouseColumn=function(e,t){return e<0?1:Math.round(e/t)+1},e.createMouseTargetFromHitTestPosition=function(e,t,o,n){var i=new m.a(o,n),r=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>r){if(je.g&&1===i.column){var s=Kt(t.mouseContentHorizontalOffset-r);return t.fulfill(ut.b.CONTENT_EMPTY,new m.a(o,e.model.getLineMaxColumn(o)),void 0,s)}var a=Kt(t.mouseContentHorizontalOffset-r);return t.fulfill(ut.b.CONTENT_EMPTY,i,void 0,a)}var l=e.visibleRangeForPosition2(o,n);if(!l)return t.fulfill(ut.b.UNKNOWN,i);var u=l.left;if(t.mouseContentHorizontalOffset===u)return t.fulfill(ut.b.CONTENT_TEXT,i);var c=[];if(c.push({offset:l.left,column:n}),n>1){var h=e.visibleRangeForPosition2(o,n-1);h&&c.push({offset:h.left,column:n-1})}if(n<e.model.getLineMaxColumn(o)){var d=e.visibleRangeForPosition2(o,n+1);d&&c.push({offset:d.left,column:n+1})}c.sort((function(e,t){return e.offset-t.offset}));for(var g=1;g<c.length;g++){var p=c[g-1],f=c[g];if(p.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=f.offset){var y=new _.a(o,p.column,o,f.column);return t.fulfill(ut.b.CONTENT_TEXT,i,y)}}return t.fulfill(ut.b.CONTENT_TEXT,i)},e._doHitTestWithCaretRangeFromPoint=function(e,t){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.getVerticalOffsetForLineNumber(o)+Math.floor(e.lineHeight/2),i=t.pos.y+(n-t.mouseVerticalOffset);i<=t.editorPos.y&&(i=t.editorPos.y+1),i>=t.editorPos.y+e.layoutInfo.height&&(i=t.editorPos.y+e.layoutInfo.height-1);var r=new gt(t.pos.x,i),s=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var o=document.caretRangeFromPoint(t.clientX,t.clientY);if(!o||!o.startContainer)return{position:null,hitTarget:null};var n,i=o.startContainer;if(i.nodeType===i.TEXT_NODE){var r=(a=(s=i.parentNode)?s.parentNode:null)?a.parentNode:null;if((r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===At.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,o.startOffset),hitTarget:null};n=i.parentNode}else if(i.nodeType===i.ELEMENT_NODE){var s,a;if(((a=(s=i.parentNode)?s.parentNode:null)&&a.nodeType===a.ELEMENT_NODE?a.className:null)===At.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};n=i}return{position:null,hitTarget:n}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var o=document.caretPositionFromPoint(t.clientX,t.clientY);if(o.offsetNode.nodeType===o.offsetNode.TEXT_NODE){var n=o.offsetNode.parentNode,i=n?n.parentNode:null,r=i?i.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===At.CLASS_NAME?{position:e.getPositionFromDOMInfo(o.offsetNode.parentNode,o.offset),hitTarget:null}:{position:null,hitTarget:o.offsetNode.parentNode}}return{position:null,hitTarget:o.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var o=null,n=null,i=document.body.createTextRange();try{i.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}i.collapse(!0);var r=i?i.parentElement():null,s=r?r.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===At.CLASS_NAME){var l=i.duplicate();l.moveToElementText(r),l.setEndPoint("EndToStart",i),o=e.getPositionFromDOMInfo(r,l.text.length),l.moveToElementText(e.viewDomNode)}else n=r;return i.moveToElementText(e.viewDomNode),{position:o,hitTarget:n}},e._doHitTest=function(e,t){return document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates()):document.body.createTextRange?this._doHitTestWithMoveToPoint(e,t.pos.toClientCoordinates()):{position:null,hitTarget:null}},e}(),Xt=o(17),qt=o(96),$t=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function Jt(e){return function(t,o){var n=!1;return e&&(n=e.mouseTargetIsWidget(o)),n||o.preventDefault(),o}}var Zt=function(e){function t(o,n,i){var s=e.call(this)||this;s._isFocused=!1,s._context=o,s.viewController=n,s.viewHelper=i,s.mouseTargetFactory=new Yt(s._context,i),s._mouseDownOperation=s._register(new Qt(s._context,s.viewController,s.viewHelper,(function(e,t){return s._createMouseTarget(e,t)}),(function(e){return s._getMouseColumn(e)}))),s._asyncFocus=s._register(new Xt.c((function(){return s.viewHelper.focusTextArea()}),0)),s.lastMouseLeaveTime=-1;var a=new yt(s.viewHelper.viewDomNode);s._register(a.onContextMenu(s.viewHelper.viewDomNode,(function(e){return s._onContextMenu(e,!0)}))),s._register(a.onMouseMoveThrottled(s.viewHelper.viewDomNode,(function(e){return s._onMouseMove(e)}),Jt(s.mouseTargetFactory),t.MOUSE_MOVE_MINIMUM_TIME)),s._register(a.onMouseUp(s.viewHelper.viewDomNode,(function(e){return s._onMouseUp(e)}))),s._register(a.onMouseLeave(s.viewHelper.viewDomNode,(function(e){return s._onMouseLeave(e)}))),s._register(a.onMouseDown(s.viewHelper.viewDomNode,(function(e){return s._onMouseDown(e)})));var l=function(e){if(s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new ct.c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var o=qt.a.getZoomLevel(),n=t.deltaY>0?1:-1;qt.a.setZoomLevel(o+n),t.preventDefault(),t.stopPropagation()}}};return s._register(r.g(s.viewHelper.viewDomNode,"mousewheel",l,!0)),s._register(r.g(s.viewHelper.viewDomNode,"DOMMouseScroll",l,!0)),s._context.addEventHandler(s),s}return $t(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype.onCursorStateChanged=function(e){return this._mouseDownOperation.onCursorStateChanged(e),!1},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!1},t.prototype.onScrollChanged=function(e){return this._mouseDownOperation.onScrollChanged(),!1},t.prototype.getTargetAtClientPoint=function(e,t){var o=new pt(e,t).toPageCoordinates(),n=mt(this.viewHelper.viewDomNode);if(o.y<n.y||o.y>n.y+n.height||o.x<n.x||o.x>n.x+n.width)return null;var i=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(i,n,o,null)},t.prototype._createMouseTarget=function(e,t){var o=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(o,e.editorPos,e.pos,t?e.target:null)},t.prototype._getMouseColumn=function(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)},t.prototype._onContextMenu=function(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})},t.prototype._onMouseMove=function(e){this._mouseDownOperation.isActive()||(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))},t.prototype._onMouseLeave=function(e){this.lastMouseLeaveTime=(new Date).getTime(),this.viewController.emitMouseLeave({event:e,target:null})},t.prototype._onMouseUp=function(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})},t.prototype._onMouseDown=function(e){var t=this,o=this._createMouseTarget(e,!0),n=o.type===ut.b.CONTENT_TEXT||o.type===ut.b.CONTENT_EMPTY,i=o.type===ut.b.GUTTER_GLYPH_MARGIN||o.type===ut.b.GUTTER_LINE_NUMBERS||o.type===ut.b.GUTTER_LINE_DECORATIONS,r=o.type===ut.b.GUTTER_LINE_NUMBERS,s=this._context.configuration.editor.viewInfo.selectOnLineNumbers,a=o.type===ut.b.CONTENT_VIEW_ZONE||o.type===ut.b.GUTTER_VIEW_ZONE,l=o.type===ut.b.CONTENT_WIDGET,u=e.leftButton||e.middleButton;We.d&&e.leftButton&&e.ctrlKey&&(u=!1);var c=function(){je.k&&!t._isFocused?t._asyncFocus.schedule():(e.preventDefault(),t.viewHelper.focusTextArea())};if(u&&(n||r&&s))c(),this._mouseDownOperation.start(o.type,e);else if(i)e.preventDefault();else if(a){var h=o.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(c(),this._mouseDownOperation.start(o.type,e),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(o.detail)&&(c(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:o})},t.MOUSE_MOVE_MINIMUM_TIME=100,t}(Ve),Qt=function(e){function t(t,o,n,i,r){var s=e.call(this)||this;return s._context=t,s._viewController=o,s._viewHelper=n,s._createMouseTarget=i,s._getMouseColumn=r,s._mouseMoveMonitor=s._register(new vt(s._viewHelper.viewDomNode)),s._onScrollTimeout=s._register(new Xt.f),s._mouseState=new eo,s._currentSelection=new y.a(1,1,1,1),s._isActive=!1,s._lastMouseEvent=null,s}return $t(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.isActive=function(){return this._isActive},t.prototype._onMouseDownThenMove=function(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);var t=this._findMousePosition(e,!0);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))},t.prototype.start=function(e,t){var o=this;this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===ut.b.GUTTER_LINE_NUMBERS),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);var n=this._findMousePosition(t,!0);if(n){if(this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count,!this._context.configuration.editor.readOnly&&this._context.configuration.editor.dragAndDrop&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&this._currentSelection.containsPosition(n.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(Jt(null),(function(e){return o._onMouseDownThenMove(e)}),(function(){var e=o._findMousePosition(o._lastMouseEvent,!0);o._viewController.emitMouseDrop({event:o._lastMouseEvent,target:e?o._createMouseTarget(o._lastMouseEvent,!0):null}),o._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(Jt(null),(function(e){return o._onMouseDownThenMove(e)}),(function(){return o._stop()})))}},t.prototype._stop=function(){this._isActive=!1,this._onScrollTimeout.cancel()},t.prototype.onScrollChanged=function(){var e=this;this._isActive&&this._onScrollTimeout.setIfNotSet((function(){var t=e._findMousePosition(e._lastMouseEvent,!1);t&&(e._mouseState.isDragAndDrop||e._dispatchMouse(t,!0))}),10)},t.prototype.onCursorStateChanged=function(e){this._currentSelection=e.selections[0]},t.prototype._getPositionOutsideEditor=function(e){var t=e.editorPos,o=this._context.model,n=this._context.viewLayout,i=this._getMouseColumn(e);if(e.posy<t.y){var r=Math.max(n.getCurrentScrollTop()-(t.y-e.posy),0);if(a=jt.getZoneAtCoord(this._context,r))if(l=this._helpPositionJumpOverViewZone(a))return new Vt(null,ut.b.OUTSIDE_EDITOR,i,l);var s=n.getLineNumberAtVerticalOffset(r);return new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(s,1))}if(e.posy>t.y+t.height){var a,l;r=n.getCurrentScrollTop()+(e.posy-t.y);if(a=jt.getZoneAtCoord(this._context,r))if(l=this._helpPositionJumpOverViewZone(a))return new Vt(null,ut.b.OUTSIDE_EDITOR,i,l);var u=n.getLineNumberAtVerticalOffset(r);return new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(u,o.getLineMaxColumn(u)))}var c=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+(e.posy-t.y));return e.posx<t.x?new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(c,1)):e.posx>t.x+t.width?new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(c,o.getLineMaxColumn(c))):null},t.prototype._findMousePosition=function(e,t){var o=this._getPositionOutsideEditor(e);if(o)return o;var n=this._createMouseTarget(e,t);if(!n.position)return null;if(n.type===ut.b.CONTENT_VIEW_ZONE||n.type===ut.b.GUTTER_VIEW_ZONE){var i=this._helpPositionJumpOverViewZone(n.detail);if(i)return new Vt(n.element,n.type,n.mouseColumn,i,null,n.detail)}return n},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new m.a(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),o=e.positionBefore,n=e.positionAfter;return o&&n?o.isBefore(t)?o:n:null},t.prototype._dispatchMouse=function(e,t){this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})},t}(l.a),eo=function(){function e(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}return Object.defineProperty(e.prototype,"altKey",{get:function(){return this._altKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ctrlKey",{get:function(){return this._ctrlKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"metaKey",{get:function(){return this._metaKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shiftKey",{get:function(){return this._shiftKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftButton",{get:function(){return this._leftButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"middleButton",{get:function(){return this._middleButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startedOnLineNumbers",{get:function(){return this._startedOnLineNumbers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._lastMouseDownCount},enumerable:!0,configurable:!0}),e.prototype.setModifiers=function(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey},e.prototype.setStartButtons=function(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton},e.prototype.setStartedOnLineNumbers=function(e){this._startedOnLineNumbers=e},e.prototype.trySetCount=function(t,o){var n=(new Date).getTime();n-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=n,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(o)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=o,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),to=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function oo(e,t){var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o}var no=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.viewHelper.linesContentDomNode.style.msTouchAction="none",i.viewHelper.linesContentDomNode.style.msContentZooming="none",i._installGestureHandlerTimeout=window.setTimeout((function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",(function(o){var n=o.pointerType;n!==(o.MSPOINTER_TYPE_MOUSE||"mouse")?n===(o.MSPOINTER_TYPE_TOUCH||"touch")?(i._lastPointerType="touch",e.addPointer(o.pointerId)):(i._lastPointerType="pen",t.addPointer(o.pointerId)):i._lastPointerType="mouse"})),i._register(r.i(i.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return i._onGestureChange(e)}),oo)),i._register(r.g(i.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return i._onCaptureGestureTap(e)}),!0))}}),100),i._lastPointerType="mouse",i}return to(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,o=new _t(e,this.viewHelper.viewDomNode),n=this._createMouseTarget(o,!1);n.position&&this.viewController.moveTo(n.position),o.browserEvent.fromElement?(o.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Zt),io=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.viewHelper.linesContentDomNode.style.touchAction="none",i._installGestureHandlerTimeout=window.setTimeout((function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener("pointerdown",(function(o){var n=o.pointerType;"mouse"!==n?"touch"===n?(i._lastPointerType="touch",e.addPointer(o.pointerId)):(i._lastPointerType="pen",t.addPointer(o.pointerId)):i._lastPointerType="mouse"})),i._register(r.i(i.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return i._onGestureChange(e)}),oo)),i._register(r.g(i.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return i._onCaptureGestureTap(e)}),!0))}}),100),i._lastPointerType="mouse",i}return to(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,o=new _t(e,this.viewHelper.viewDomNode),n=this._createMouseTarget(o,!1);n.position&&this.viewController.moveTo(n.position),o.browserEvent.fromElement?(o.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Zt),ro=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return lt.b.addTarget(i.viewHelper.linesContentDomNode),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Tap,(function(e){return i.onTap(e)}))),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Change,(function(e){return i.onChange(e)}))),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Contextmenu,(function(e){return i._onContextMenu(new _t(e,i.viewHelper.viewDomNode),!1)}))),i}return to(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new _t(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.moveTo(t.position)},t.prototype.onChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t}(Zt),so=function(){function e(e,t,o){window.navigator.msPointerEnabled?this.handler=new no(e,t,o):window.TouchEvent?this.handler=new ro(e,t,o):window.navigator.pointerEnabled||window.PointerEvent?this.handler=new io(e,t,o):this.handler=new Zt(e,t,o)}return e.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},e.prototype.dispose=function(){this.handler.dispose()},e}(),ao=o(72),lo=function(){function e(e,t,o,n,i){this.configuration=e,this.viewModel=t,this._execCoreEditorCommandFunc=o,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this._execCoreEditorCommandFunc(e,t)},e.prototype.paste=function(e,t,o,n){this.commandDelegate.paste(e,t,o,n)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,o){this.commandDelegate.replacePreviousChar(e,t,o)},e.prototype.compositionStart=function(e){this.commandDelegate.compositionStart(e)},e.prototype.compositionEnd=function(e){this.commandDelegate.compositionEnd(e)},e.prototype.cut=function(e){this.commandDelegate.cut(e)},e.prototype.setSelection=function(e,t){this._execCoreEditorCommandFunc(ao.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new m.a(e.lineNumber,t):e},e.prototype._hasMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey}return!1},e.prototype._hasNonMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey}return!1},e.prototype.dispatchMouse=function(e){e.middleButton?e.inSelectionMode?this.columnSelect(e.position,e.mouseColumn):this.moveTo(e.position):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelect(e.position):this.createCursor(e.position,!0):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):e.mouseDownCount>=4?this.selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelectDrag(e.position):this.lastCursorLineSelect(e.position):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):2===e.mouseDownCount?this._hasMulticursorModifier(e)?this.lastCursorWordSelect(e.position):e.inSelectionMode?this.wordSelectDrag(e.position):this.wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this.columnSelect(e.position,e.mouseColumn):e.inSelectionMode?this.lastCursorMoveToSelect(e.position):this.createCursor(e.position,!1)):e.inSelectionMode?this.moveToSelect(e.position):this.moveTo(e.position)},e.prototype._usualArgs=function(e){return e=this._validateViewColumn(e),{position:this.convertViewToModelPosition(e),viewPosition:e}},e.prototype.moveTo=function(e){this._execMouseCommand(ao.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype.moveToSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype.columnSelect=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ao.CoreNavigationCommands.ColumnSelect,{position:this.convertViewToModelPosition(e),viewPosition:e,mouseColumn:t})},e.prototype.createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ao.CoreNavigationCommands.CreateCursor,{position:this.convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype.lastCursorMoveToSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype.wordSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype.wordSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype.lastCursorWordSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype.lineSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype.lineSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype.lastCursorLineSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype.lastCursorLineSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype.selectAll=function(){this._execMouseCommand(ao.CoreNavigationCommands.SelectAll,{})},e.prototype.convertViewToModelPosition=function(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},e.prototype.emitKeyDown=function(e){this.outgoingEvents.emitKeyDown(e)},e.prototype.emitKeyUp=function(e){this.outgoingEvents.emitKeyUp(e)},e.prototype.emitContextMenu=function(e){this.outgoingEvents.emitContextMenu(e)},e.prototype.emitMouseMove=function(e){this.outgoingEvents.emitMouseMove(e)},e.prototype.emitMouseLeave=function(e){this.outgoingEvents.emitMouseLeave(e)},e.prototype.emitMouseUp=function(e){this.outgoingEvents.emitMouseUp(e)},e.prototype.emitMouseDown=function(e){this.outgoingEvents.emitMouseDown(e)},e.prototype.emitMouseDrag=function(e){this.outgoingEvents.emitMouseDrag(e)},e.prototype.emitMouseDrop=function(e){this.outgoingEvents.emitMouseDrop(e)},e}(),uo=function(){function e(e){this._eventHandlerGateKeeper=e,this._eventHandlers=[],this._eventQueue=null,this._isConsumingQueue=!1}return e.prototype.addEventHandler=function(e){for(var t=0,o=this._eventHandlers.length;t<o;t++)this._eventHandlers[t]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this._eventHandlers.push(e)},e.prototype.removeEventHandler=function(e){for(var t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}},e.prototype.emit=function(e){this._eventQueue?this._eventQueue.push(e):this._eventQueue=[e],this._isConsumingQueue||this.consumeQueue()},e.prototype.emitMany=function(e){this._eventQueue?this._eventQueue=this._eventQueue.concat(e):this._eventQueue=e,this._isConsumingQueue||this.consumeQueue()},e.prototype.consumeQueue=function(){var e=this;this._eventHandlerGateKeeper((function(){try{e._isConsumingQueue=!0,e._doConsumeQueue()}finally{e._isConsumingQueue=!1}}))},e.prototype._doConsumeQueue=function(){for(;this._eventQueue;){var e=this._eventQueue;this._eventQueue=null;for(var t=this._eventHandlers.slice(0),o=0,n=t.length;o<n;o++)t[o].handleEvents(e)}},e}(),co=o(159),ho=function(){function e(e){this._createLine=e,this._set(1,[])}return e.prototype.flush=function(){this._set(1,[])},e.prototype._set=function(e,t){this._lines=t,this._rendLineNumberStart=e},e.prototype._get=function(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}},e.prototype.getStartLineNumber=function(){return this._rendLineNumberStart},e.prototype.getEndLineNumber=function(){return this._rendLineNumberStart+this._lines.length-1},e.prototype.getCount=function(){return this._lines.length},e.prototype.getLine=function(e){var t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[t]},e.prototype.onLinesDeleted=function(e,t){if(0===this.getCount())return null;var o=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<o){var i=t-e+1;return this._rendLineNumberStart-=i,null}if(e>n)return null;for(var r=0,s=0,a=o;a<=n;a++){var l=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(r=l,s=1):s++)}if(e<o){var u=0;u=t<o?t-e+1:o-e,this._rendLineNumberStart-=u}return this._lines.splice(r,s)},e.prototype.onLinesChanged=function(e,t){if(0===this.getCount())return!1;for(var o=this.getStartLineNumber(),n=this.getEndLineNumber(),i=!1,r=e;r<=t;r++)r>=o&&r<=n&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),i=!0);return i},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var o=t-e+1,n=this.getStartLineNumber(),i=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=o,null;if(e>i)return null;if(o+e>i)return this._lines.splice(e-this._rendLineNumberStart,i-e+1);for(var r=[],s=0;s<o;s++)r[s]=this._createLine();var a=e-this._rendLineNumberStart,l=this._lines.slice(0,a),u=this._lines.slice(a,this._lines.length-o),c=this._lines.slice(this._lines.length-o,this._lines.length);return this._lines=l.concat(r).concat(u),c},e.prototype.onTokensChanged=function(e){if(0===this.getCount())return!1;for(var t=this.getStartLineNumber(),o=this.getEndLineNumber(),n=!1,i=0,r=e.length;i<r;i++){var s=e[i];if(!(s.toLineNumber<t||s.fromLineNumber>o))for(var a=Math.max(t,s.fromLineNumber),l=Math.min(o,s.toLineNumber),u=a;u<=l;u++){var c=u-this._rendLineNumberStart;this._lines[c].onTokensChanged(),n=!0}}return n},e}(),go=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new ho((function(){return t._host.createVisibleLine()}))}return e.prototype._createDomNode=function(){var e=Object(He.b)(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e},e.prototype.onConfigurationChanged=function(e){return e.layoutInfo},e.prototype.onFlushed=function(e){return this._linesCollection.flush(),!0},e.prototype.onLinesChanged=function(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){var t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(var o=0,n=t.length;o<n;o++){var i=t[o].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onLinesInserted=function(e){var t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(var o=0,n=t.length;o<n;o++){var i=t[o].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onScrollChanged=function(e){return e.scrollTopChanged},e.prototype.onTokensChanged=function(e){return this._linesCollection.onTokensChanged(e.ranges)},e.prototype.onZonesChanged=function(e){return!0},e.prototype.getStartLineNumber=function(){return this._linesCollection.getStartLineNumber()},e.prototype.getEndLineNumber=function(){return this._linesCollection.getEndLineNumber()},e.prototype.getVisibleLine=function(e){return this._linesCollection.getLine(e)},e.prototype.renderLines=function(e){var t=this._linesCollection._get(),o=new po(this.domNode.domNode,this._host,e),n={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},i=o.render(n,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)},e}(),po=function(){function e(e,t,o){this.domNode=e,this.host=t,this.viewportData=o}return e.prototype.render=function(e,t,o,n){var i={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(i.rendLineNumberStart+i.linesLength-1<t||o<i.rendLineNumberStart){i.rendLineNumberStart=t,i.linesLength=o-t+1,i.lines=[];for(var r=t;r<=o;r++)i.lines[r-t]=this.host.createVisibleLine();return this._finishRendering(i,!0,n),i}if(this._renderUntouchedLines(i,Math.max(t-i.rendLineNumberStart,0),Math.min(o-i.rendLineNumberStart,i.linesLength-1),n,t),i.rendLineNumberStart>t)(l=t)<=(s=Math.min(o,i.rendLineNumberStart-1))&&(this._insertLinesBefore(i,l,s,n,t),i.linesLength+=s-l+1);else if(i.rendLineNumberStart<t){(a=Math.min(i.linesLength,t-i.rendLineNumberStart))>0&&(this._removeLinesBefore(i,a),i.linesLength-=a)}if(i.rendLineNumberStart=t,i.rendLineNumberStart+i.linesLength-1<o)(l=i.rendLineNumberStart+i.linesLength)<=(s=o)&&(this._insertLinesAfter(i,l,s,n,t),i.linesLength+=s-l+1);else if(i.rendLineNumberStart+i.linesLength-1>o){var s,a,l=Math.max(0,o-i.rendLineNumberStart+1);(a=(s=i.linesLength-1)-l+1)>0&&(this._removeLinesAfter(i,a),i.linesLength-=a)}return this._finishRendering(i,!1,n),i},e.prototype._renderUntouchedLines=function(e,t,o,n,i){for(var r=e.rendLineNumberStart,s=e.lines,a=t;a<=o;a++){var l=r+a;s[a].layoutLine(l,n[l-i])}},e.prototype._insertLinesBefore=function(e,t,o,n,i){for(var r=[],s=0,a=t;a<=o;a++)r[s++]=this.host.createVisibleLine();e.lines=r.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var o=0;o<t;o++){var n=e.lines[o].getDomNode();n&&this.domNode.removeChild(n)}e.lines.splice(0,t)},e.prototype._insertLinesAfter=function(e,t,o,n,i){for(var r=[],s=0,a=t;a<=o;a++)r[s++]=this.host.createVisibleLine();e.lines=e.lines.concat(r)},e.prototype._removeLinesAfter=function(e,t){for(var o=e.linesLength-t,n=0;n<t;n++){var i=e.lines[o+n].getDomNode();i&&this.domNode.removeChild(i)}e.lines.splice(o,t)},e.prototype._finishRenderingNewLines=function(e,t,o,n){var i=this.domNode.lastChild;t||!i?this.domNode.innerHTML=o:i.insertAdjacentHTML("afterend",o);for(var r=this.domNode.lastChild,s=e.linesLength-1;s>=0;s--){var a=e.lines[s];n[s]&&(a.setDomNode(r),r=r.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,o){var n=document.createElement("div");n.innerHTML=t;for(var i=0;i<e.linesLength;i++){var r=e.lines[i];if(o[i]){var s=n.firstChild,a=r.getDomNode();a.parentNode.replaceChild(s,a),r.setDomNode(s)}}},e.prototype._finishRendering=function(t,o,n){var i=e._sb,r=t.linesLength,s=t.lines,a=t.rendLineNumberStart,l=[];i.reset();for(var u=!1,c=0;c<r;c++){var h=s[c];if(l[c]=!1,!h.getDomNode())h.renderLine(c+a,n[c],this.viewportData,i)&&(l[c]=!0,u=!0)}u&&this._finishRenderingNewLines(t,o,i.build(),l),i.reset();var d=!1,g=[];for(c=0;c<r;c++){h=s[c];if(g[c]=!1,!l[c])h.renderLine(c+a,n[c],this.viewportData,i)&&(g[c]=!0,d=!0)}d&&this._finishRenderingInvalidLines(t,i.build(),g)},e._sb=Object(co.a)(1e5),e}(),fo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),mo=function(e){function t(t){var o=e.call(this,t)||this;return o._visibleLines=new go(o),o.domNode=o._visibleLines.domNode,o._dynamicOverlays=[],o._isFocused=!1,o.domNode.setClassName("view-overlays"),o}return fo(t,e),t.prototype.shouldRender=function(){if(e.prototype.shouldRender.call(this))return!0;for(var t=0,o=this._dynamicOverlays.length;t<o;t++){if(this._dynamicOverlays[t].shouldRender())return!0}return!1},t.prototype.dispose=function(){e.prototype.dispose.call(this);for(var t=0,o=this._dynamicOverlays.length;t<o;t++){this._dynamicOverlays[t].dispose()}this._dynamicOverlays=null},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new _o(this._context.configuration,this._dynamicOverlays)},t.prototype.addDynamicOverlay=function(e){this._dynamicOverlays.push(e)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e);for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++){this._visibleLines.getVisibleLine(n).onConfigurationChanged(e)}return!0},t.prototype.onFlushed=function(e){return this._visibleLines.onFlushed(e)},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!0},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onScrollChanged=function(e){return this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._visibleLines.onZonesChanged(e)},t.prototype.prepareRender=function(e){for(var t=this._dynamicOverlays.filter((function(e){return e.shouldRender()})),o=0,n=t.length;o<n;o++){var i=t[o];i.prepareRender(e),i.onDidRender()}return null},t.prototype.render=function(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)},t.prototype._viewOverlaysRender=function(e){this._visibleLines.renderLines(e.viewportData)},t}(Ye),_o=function(){function e(e,t){this._configuration=e,this._lineHeight=this._configuration.editor.lineHeight,this._dynamicOverlays=t,this._domNode=null,this._renderedContent=null}return e.prototype.getDomNode=function(){return this._domNode?this._domNode.domNode:null},e.prototype.setDomNode=function(e){this._domNode=Object(He.b)(e)},e.prototype.onContentChanged=function(){},e.prototype.onTokensChanged=function(){},e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._configuration.editor.lineHeight)},e.prototype.renderLine=function(e,t,o,n){for(var i="",r=0,s=this._dynamicOverlays.length;r<s;r++){i+=this._dynamicOverlays[r].render(o.startLineNumber,e)}return this._renderedContent!==i&&(this._renderedContent=i,n.appendASCIIString('<div style="position:absolute;top:'),n.appendASCIIString(String(t)),n.appendASCIIString("px;width:100%;height:"),n.appendASCIIString(String(this._lineHeight)),n.appendASCIIString('px;">'),n.appendASCIIString(i),n.appendASCIIString("</div>"),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),yo=function(e){function t(t){var o=e.call(this,t)||this;return o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o.domNode.setHeight(0),o}return fo(t,e),t.prototype.onConfigurationChanged=function(t){return t.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),e.prototype.onConfigurationChanged.call(this,t)},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollWidthChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))},t}(mo),vo=function(e){function t(t){var o=e.call(this,t)||this;return o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o.domNode.setClassName("margin-view-overlays"),o.domNode.setWidth(1),g.a.applyFontInfo(o.domNode,o._context.configuration.editor.fontInfo),o}return fo(t,e),t.prototype.onConfigurationChanged=function(t){var o=!1;return t.fontInfo&&(g.a.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),o=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,o=!0),e.prototype.onConfigurationChanged.call(this,t)||o},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t);var o=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)},t}(mo),bo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Eo=function(e,t){this.top=e,this.left=t},Co=function(e){function t(t,o){var n=e.call(this,t)||this;return n._viewDomNode=o,n._widgets={},n.domNode=Object(He.b)(document.createElement("div")),Xe.write(n.domNode,1),n.domNode.setClassName("contentWidgets"),n.domNode.setPosition("absolute"),n.domNode.setTop(0),n.overflowingContentWidgetsDomNode=Object(He.b)(document.createElement("div")),Xe.write(n.overflowingContentWidgetsDomNode,2),n.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets"),n}return bo(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null,this.domNode=null},t.prototype.onConfigurationChanged=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onConfigurationChanged(e)}return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLineMappingChanged=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onLineMappingChanged(e)}return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.addWidget=function(e){var t=new So(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t,o){this._widgets[e.getId()].setPosition(t,o),this.setShouldRender()},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var o=this._widgets[t];delete this._widgets[t];var n=o.domNode.domNode;n.parentNode.removeChild(n),n.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}},t.prototype.shouldSuppressMouseDownOnWidget=function(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown},t.prototype.onBeforeRender=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onBeforeRender(e)}},t.prototype.prepareRender=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].prepareRender(e)}},t.prototype.render=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].render(e)}},t}(Ye),So=function(){function e(e,t,o){this._context=e,this._viewDomNode=t,this._actual=o,this.domNode=Object(He.b)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1,this._fixedOverflowWidgets=this._context.configuration.editor.viewInfo.fixedOverflowWidgets,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._lineHeight=this._context.configuration.editor.lineHeight,this._setPosition(null),this._preference=null,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}return e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._maxWidth=this._getMaxWidth())},e.prototype.onLineMappingChanged=function(e){this._setPosition(this._position)},e.prototype._setPosition=function(e){if(this._position=e,this._viewPosition=null,this._position){var t=this._context.model.validateModelPosition(this._position);this._context.model.coordinatesConverter.modelPositionIsVisible(t)&&(this._viewPosition=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t))}},e.prototype._getMaxWidth=function(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth:this._contentWidth},e.prototype.setPosition=function(e,t){this._setPosition(e),this._preference=t,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1},e.prototype._layoutBoxInViewport=function(e,t,o,n){var i=e.top,r=i,s=e.top+this._lineHeight,a=i-o,l=r>=o,u=s,c=n.viewportHeight-s>=o,h=e.left;return h+t>n.scrollLeft+n.viewportWidth&&(h=n.scrollLeft+n.viewportWidth-t),h<n.scrollLeft&&(h=n.scrollLeft),{aboveTop:a,fitsAbove:l,belowTop:u,fitsBelow:c,left:h}},e.prototype._layoutBoxInPage=function(e,t,o,n){var i=e.left-n.scrollLeft;if(i<0||i>this._contentWidth)return null;var s,a=e.top-o,l=e.top+this._lineHeight,u=i+this._contentLeft,c=r.u(this._viewDomNode.domNode),h=c.top+a-r.e.scrollY,d=c.top+l-r.e.scrollY,g=c.left+u-r.e.scrollX,p=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f=h>=22,m=d+o<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;g+t+20>p&&(g-=s=g-(p-t-20),u-=s);g<0&&(g-=s=g,u-=s);return this._fixedOverflowWidgets&&(a=h,l=d,u=g),{aboveTop:a,fitsAbove:f,belowTop:l,fitsBelow:m,left:u}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new Eo(e.top,e.left+this._contentLeft)},e.prototype._getTopLeft=function(e){if(!this._viewPosition)return null;var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return null;var o=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop;return new Eo(o,t.left)},e.prototype._prepareRenderWidget=function(e,t){var o=this;if(!e)return null;for(var n=null,i=function(){if(!n){if(-1===o._cachedDomNodeClientWidth||-1===o._cachedDomNodeClientHeight){var i=o.domNode.domNode;o._cachedDomNodeClientWidth=i.clientWidth,o._cachedDomNodeClientHeight=i.clientHeight}n=o.allowEditorOverflow?o._layoutBoxInPage(e,o._cachedDomNodeClientWidth,o._cachedDomNodeClientHeight,t):o._layoutBoxInViewport(e,o._cachedDomNodeClientWidth,o._cachedDomNodeClientHeight,t)}},r=1;r<=2;r++)for(var s=0;s<this._preference.length;s++){var a=this._preference[s];if(a===ut.a.ABOVE){if(i(),!n)return null;if(2===r||n.fitsAbove)return new Eo(n.aboveTop,n.left)}else{if(a!==ut.a.BELOW)return this.allowEditorOverflow?this._prepareRenderWidgetAtExactPositionOverflowing(e):e;if(i(),!n)return null;if(2===r||n.fitsBelow)return new Eo(n.belowTop,n.left)}}return null},e.prototype.onBeforeRender=function(e){this._viewPosition&&this._preference&&(this._viewPosition.lineNumber<e.startLineNumber||this._viewPosition.lineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){var t=this._getTopLeft(e);this._renderData=this._prepareRenderWidget(t,e)},e.prototype.render=function(e){this._renderData?(this.allowEditorOverflow?(this.domNode.setTop(this._renderData.top),this.domNode.setLeft(this._renderData.left)):(this.domNode.setTop(this._renderData.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0)):this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden"))},e}(),To=(o(453),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),wo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._renderLineHighlight=o._context.configuration.editor.viewInfo.renderLineHighlight,o._selectionIsEmpty=!0,o._primaryCursorLineNumber=1,o._scrollWidth=0,o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o._context.addEventHandler(o),o}return To(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,o=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==o&&(this._primaryCursorLineNumber=o,t=!0);var n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n?(this._selectionIsEmpty=n,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){this._scrollWidth=e.scrollWidth},t.prototype.render=function(e,t){return t===this._primaryCursorLineNumber&&this._shouldShowCurrentLine()?'<div class="'+("current-line"+(this._willRenderMarginCurrentLine()?" current-line-both":""))+'" style="width:'+String(Math.max(this._scrollWidth,this._contentWidth))+"px; height:"+String(this._lineHeight)+'px;"></div>':""},t.prototype._shouldShowCurrentLine=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t.prototype._willRenderMarginCurrentLine=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.o);if(o&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+o+"; }"),!o||o.isTransparent()||e.defines(Je.p)){var n=e.getColor(Je.p);n&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}}));o(454);var ko=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Oo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._renderLineHighlight=o._context.configuration.editor.viewInfo.renderLineHighlight,o._selectionIsEmpty=!0,o._primaryCursorLineNumber=1,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o._context.addEventHandler(o),o}return ko(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,o=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==o&&(this._primaryCursorLineNumber=o,t=!0);var n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n?(this._selectionIsEmpty=n,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e,t){if(t===this._primaryCursorLineNumber){var o="current-line";if(this._shouldShowCurrentLine())o="current-line current-line-margin"+(this._willRenderContentCurrentLine()?" current-line-margin-both":"");return'<div class="'+o+'" style="width:'+String(this._contentLeft)+"px; height:"+String(this._lineHeight)+'px;"></div>'}return""},t.prototype._shouldShowCurrentLine=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t.prototype._willRenderContentCurrentLine=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.o);if(o)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+o+"; border: none; }");else{var n=e.getColor(Je.p);n&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}}));o(455);var Ro=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Lo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o._renderResult=null,o._context.addEventHandler(o),o}return Ro(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i];s.options.className&&(o[n++]=s)}o=o.sort((function(e,t){if(e.options.zIndex<t.options.zIndex)return-1;if(e.options.zIndex>t.options.zIndex)return 1;var o=e.options.className,n=t.options.className;return o<n?-1:o>n?1:_.a.compareRangesUsingStarts(e.range,t.range)}));for(var a=e.visibleRange.startLineNumber,l=e.visibleRange.endLineNumber,u=[],c=a;c<=l;c++){u[c-a]=""}this._renderWholeLineDecorations(e,o,u),this._renderNormalDecorations(e,o,u),this._renderResult=u},t.prototype._renderWholeLineDecorations=function(e,t,o){for(var n=String(this._lineHeight),i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=0,a=t.length;s<a;s++){var l=t[s];if(l.options.isWholeLine)for(var u='<div class="cdr '+l.options.className+'" style="left:0;width:100%;height:'+n+'px;"></div>',c=Math.max(l.range.startLineNumber,i),h=Math.min(l.range.endLineNumber,r),d=c;d<=h;d++){o[d-i]+=u}}},t.prototype._renderNormalDecorations=function(e,t,o){for(var n=String(this._lineHeight),i=e.visibleRange.startLineNumber,r=null,s=!1,a=null,l=0,u=t.length;l<u;l++){var c=t[l];if(!c.options.isWholeLine){var h=c.options.className,d=c.options.showIfCollapsed,g=c.range;d&&1===g.endColumn&&g.endLineNumber!==g.startLineNumber&&(g=new _.a(g.startLineNumber,g.startColumn,g.endLineNumber-1,this._context.model.getLineMaxColumn(g.endLineNumber-1))),r===h&&s===d&&_.a.areIntersectingOrTouching(a,g)?a=_.a.plusRange(a,g):(null!==r&&this._renderNormalDecoration(e,a,r,s,n,i,o),r=h,s=d,a=g)}}null!==r&&this._renderNormalDecoration(e,a,r,s,n,i,o)},t.prototype._renderNormalDecoration=function(e,t,o,n,i,r,s){var a=e.linesVisibleRangesForRange(t,"findMatch"===o);if(a)for(var l=0,u=a.length;l<u;l++){var c=a[l],h=c.lineNumber-r;if(n&&1===c.ranges.length){var d=c.ranges[0];0===d.width&&(c.ranges[0]=new wt(d.left,this._typicalHalfwidthCharacterWidth))}for(var g=0,p=c.ranges.length;g<p;g++){var f=c.ranges[g],m='<div class="cdr '+o+'" style="left:'+String(f.left)+"px;width:"+String(f.width)+"px;height:"+i+'px;"></div>';s[h]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Qe),No=(o(456),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Io=function(e,t,o){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(o)},Do=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return No(t,e),t.prototype._render=function(e,t,o){for(var n=[],i=e;i<=t;i++){n[i-e]=[]}if(0===o.length)return n;o.sort((function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1}));for(var r=null,s=0,a=0,l=o.length;a<l;a++){var u=o[a],c=u.className,h=Math.max(u.startLineNumber,e)-e,d=Math.min(u.endLineNumber,t)-e;r===c?(h=Math.max(s+1,h),s=Math.max(s,d)):(r=c,s=d);for(var g=h;g<=s;g++)n[g].push(r)}return n},t}(Qe),Ao=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._glyphMargin=o._context.configuration.editor.viewInfo.glyphMargin,o._glyphMarginLeft=o._context.configuration.editor.layoutInfo.glyphMarginLeft,o._glyphMarginWidth=o._context.configuration.editor.layoutInfo.glyphMarginWidth,o._renderResult=null,o._context.addEventHandler(o),o}return No(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._glyphMargin=this._context.configuration.editor.viewInfo.glyphMargin),e.layoutInfo&&(this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.glyphMarginClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){if(this._glyphMargin){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i=this._lineHeight.toString(),r='" style="left:'+this._glyphMarginLeft.toString()+"px;width:"+this._glyphMarginWidth.toString()+"px;height:"+i+'px;"></div>',s=[],a=t;a<=o;a++){var l=a-t,u=n[l];0===u.length?s[l]="":s[l]='<div class="cgmr '+u.join(" ")+r}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Do),Po=(o(457),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),xo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._primaryLineNumber=0,o._lineHeight=o._context.configuration.editor.lineHeight,o._spaceWidth=o._context.configuration.editor.fontInfo.spaceWidth,o._enabled=o._context.configuration.editor.viewInfo.renderIndentGuides,o._activeIndentEnabled=o._context.configuration.editor.viewInfo.highlightActiveIndentGuide,o._renderResult=null,o._context.addEventHandler(o),o}return Po(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._spaceWidth=this._context.configuration.editor.fontInfo.spaceWidth),e.viewInfo&&(this._enabled=this._context.configuration.editor.viewInfo.renderIndentGuides,this._activeIndentEnabled=this._context.configuration.editor.viewInfo.highlightActiveIndentGuide),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],o=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==o&&(this._primaryLineNumber=o,!0)},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLanguageConfigurationChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._enabled){var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._context.model.getTabSize()*this._spaceWidth,i=e.scrollWidth,r=this._lineHeight,s=n,a=this._context.model.getLinesIndentGuides(t,o),l=0,u=0,c=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var h=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,o);l=h.startLineNumber,u=h.endLineNumber,c=h.indent}for(var d=[],g=t;g<=o;g++){for(var p=l<=g&&g<=u,f=g-t,_=a[f],y="",v=e.visibleRangeForPosition(new m.a(g,1)),b=v?v.left:0,E=1;E<=_;E++){if(y+='<div class="'+(p&&E===c?"cigra":"cigr")+'" style="left:'+b+"px;height:"+r+"px;width:"+s+'px"></div>',(b+=n)>i)break}d[f]=y}this._renderResult=d}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.l);o&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+o+" inset; }");var n=e.getColor(Je.a)||o;n&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+n+" inset; }")}));o(458);var Mo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Bo=function(){function e(){this._currentVisibleRange=new _.a(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),Fo=function(e,t,o,n,i,r){this.lineNumber=e,this.startColumn=t,this.endColumn=o,this.startScrollTop=n,this.stopScrollTop=i,this.scrollType=r},Ho=function(e){function t(t,o){var n=e.call(this,t)||this;n._linesContent=o,n._textRangeRestingSpot=document.createElement("div"),n._visibleLines=new go(n),n.domNode=n._visibleLines.domNode;var i=n._context.configuration;return n._lineHeight=i.editor.lineHeight,n._typicalHalfwidthCharacterWidth=i.editor.fontInfo.typicalHalfwidthCharacterWidth,n._isViewportWrapping=i.editor.wrappingInfo.isViewportWrapping,n._revealHorizontalRightPadding=i.editor.viewInfo.revealHorizontalRightPadding,n._canUseLayerHinting=i.editor.canUseLayerHinting,n._viewLineOptions=new Dt(i,n._context.theme.type),Xe.write(n.domNode,7),n.domNode.setClassName("view-lines"),g.a.applyFontInfo(n.domNode,i.editor.fontInfo),n._maxLineWidth=0,n._asyncUpdateLineWidths=new Xt.c((function(){n._updateLineWidthsSlow()}),200),n._lastRenderedData=new Bo,n._horizontalRevealRequest=null,n}return Mo(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new At(this._viewLineOptions)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e),e.wrappingInfo&&(this._maxLineWidth=0);var t=this._context.configuration;return e.lineHeight&&(this._lineHeight=t.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=t.editor.fontInfo.typicalHalfwidthCharacterWidth),e.wrappingInfo&&(this._isViewportWrapping=t.editor.wrappingInfo.isViewportWrapping),e.viewInfo&&(this._revealHorizontalRightPadding=t.editor.viewInfo.revealHorizontalRightPadding),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&g.a.applyFontInfo(this.domNode,t.editor.fontInfo),this._onOptionsMaybeChanged(),e.layoutInfo&&(this._maxLineWidth=0),!0},t.prototype._onOptionsMaybeChanged=function(){var e=this._context.configuration,t=new Dt(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var o=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=o;i<=n;i++){this._visibleLines.getVisibleLine(i).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=!1,i=t;i<=o;i++)n=this._visibleLines.getVisibleLine(i).onSelectionChanged()||n;return n},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged();return!0},t.prototype.onFlushed=function(e){var t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onRevealRangeRequest=function(e){var t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.range,e.verticalType),o=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?o={scrollTop:o.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new Fo(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),o.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-o.scrollTop);return 0===e.scrollType&&n>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(o):this._context.viewLayout.setScrollPositionNow(o),!0},t.prototype.onScrollChanged=function(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){var t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),o=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>o)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth),this._visibleLines.onZonesChanged(e)},t.prototype.onThemeChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.getPositionFromDOMInfo=function(e,t){var o=this._getViewLineDomNode(e);if(null===o)return null;var n=this._getLineNumberFor(o);if(-1===n)return null;if(n<1||n>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(n))return new m.a(n,1);var i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(n<i||n>r)return null;var s=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(n,e,t),a=this._context.model.getLineMinColumn(n);return s<a&&(s=a),new m.a(n,s)},t.prototype._getViewLineDomNode=function(e){for(;e&&1===e.nodeType;){if(e.className===At.CLASS_NAME)return e;e=e.parentElement}return null},t.prototype._getLineNumberFor=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++){if(e===this._visibleLines.getVisibleLine(n).getDomNode())return n}return-1},t.prototype.getLineWidth=function(e){var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();return e<t||e>o?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var o=e.endLineNumber;if(!(e=_.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;var n,i=[],r=0,s=new It(this.domNode.domNode,this._textRangeRestingSpot);t&&(n=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e.startLineNumber,1)).lineNumber);for(var a=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber(),u=e.startLineNumber;u<=e.endLineNumber;u++)if(!(u<a||u>l)){var c=u===e.startLineNumber?e.startColumn:1,h=u===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(u),d=this._visibleLines.getVisibleLine(u).getVisibleRangesForRange(c,h,s);if(d&&0!==d.length){if(t&&u<o)n!==(n=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u+1,1)).lineNumber)&&(d[d.length-1].width+=this._typicalHalfwidthCharacterWidth);i[r++]=new Tt(u,d)}}return 0===r?null:i},t.prototype.visibleRangesForRange2=function(e){if(this.shouldRender())return null;if(!(e=_.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;for(var t=[],o=new It(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),r=e.startLineNumber;r<=e.endLineNumber;r++)if(!(r<n||r>i)){var s=r===e.startLineNumber?e.startColumn:1,a=r===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(r),l=this._visibleLines.getVisibleLine(r).getVisibleRangesForRange(s,a,o);l&&0!==l.length&&(t=t.concat(l))}return 0===t.length?null:t},t.prototype.updateLineWidths=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidthsFast=function(){return this._updateLineWidths(!0)},t.prototype._updateLineWidthsSlow=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidths=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=1,i=!0,r=t;r<=o;r++){var s=this._visibleLines.getVisibleLine(r);!e||s.getWidthIsFast()?n=Math.max(n,s.getWidth()):i=!1}return i&&1===t&&o===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),i},t.prototype.prepareRender=function(){throw new Error("Not supported")},t.prototype.render=function(){throw new Error("Not supported")},t.prototype.renderText=function(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){var t=this._horizontalRevealRequest.lineNumber,o=this._horizontalRevealRequest.startColumn,n=this._horizontalRevealRequest.endColumn,i=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var r=this._computeScrollLeftToRevealRange(t,o,n);this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),0===i?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:r.scrollLeft}):this._context.viewLayout.setScrollPositionNow({scrollLeft:r.scrollLeft})}}this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),this._linesContent.setLayerHinting(this._canUseLayerHinting);var s=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())},t.prototype._ensureMaxLineWidth=function(e){var t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth))},t.prototype._computeScrollTopToRevealRange=function(e,t,o){var n,i,r,s=e.top,a=e.height,l=s+a;if(n=this._context.viewLayout.getVerticalOffsetForLineNumber(t.startLineNumber),i=this._context.viewLayout.getVerticalOffsetForLineNumber(t.endLineNumber)+this._lineHeight,0!==o&&4!==o||(i+=this._lineHeight),1===o||2===o)if(2===o&&s<=n&&i<=l)r=s;else{var u=(n+i)/2;r=Math.max(0,u-a/2)}else r=this._computeMinimumScrolling(s,l,n,i,3===o,4===o);return r},t.prototype._computeScrollLeftToRevealRange=function(e,o,n){var i=0,r=this._context.viewLayout.getCurrentViewport(),s=r.left,a=s+r.width,l=this.visibleRangesForRange2(new _.a(e,o,e,n)),u=Number.MAX_VALUE,c=0;if(!l)return{scrollLeft:s,maxHorizontalOffset:i};for(var h=0;h<l.length;h++){var d=l[h];d.left<u&&(u=d.left),d.left+d.width>c&&(c=d.left+d.width)}return i=c,u=Math.max(0,u-t.HORIZONTAL_EXTRA_PX),c+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,u,c),maxHorizontalOffset:i}},t.prototype._computeMinimumScrolling=function(e,t,o,n,i,r){i=!!i,r=!!r;var s=(t|=0)-(e|=0);return(n|=0)-(o|=0)<s?i?o:r?Math.max(0,n-s):o<e?o:n>t?Math.max(0,n-s):e:o},t.HORIZONTAL_EXTRA_PX=30,t}(Ye),Uo=(o(459),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Vo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._decorationsLeft=o._context.configuration.editor.layoutInfo.decorationsLeft,o._decorationsWidth=o._context.configuration.editor.layoutInfo.decorationsWidth,o._renderResult=null,o._context.addEventHandler(o),o}return Uo(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.layoutInfo&&(this._decorationsLeft=this._context.configuration.editor.layoutInfo.decorationsLeft,this._decorationsWidth=this._context.configuration.editor.layoutInfo.decorationsWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.linesDecorationsClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i='" style="left:'+this._decorationsLeft.toString()+"px;width:"+this._decorationsWidth.toString()+'px;"></div>',r=[],s=t;s<=o;s++){for(var a=s-t,l=n[a],u="",c=0,h=l.length;c<h;c++)u+='<div class="cldr '+l[c]+i;r[a]=u}this._renderResult=r},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Do),Wo=(o(460),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),jo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._renderResult=null,o._context.addEventHandler(o),o}return Wo(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.marginClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i=[],r=t;r<=o;r++){for(var s=r-t,a=n[s],l="",u=0,c=a.length;u<c;u++)l+='<div class="cmdr '+a[u]+'" style=""></div>';i[s]=l}this._renderResult=i},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Do),Go=(o(461),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),zo=function(e){function t(t){var o=e.call(this,t)||this;return o._widgets={},o._verticalScrollbarWidth=o._context.configuration.editor.layoutInfo.verticalScrollbarWidth,o._minimapWidth=o._context.configuration.editor.layoutInfo.minimapWidth,o._horizontalScrollbarHeight=o._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,o._editorHeight=o._context.configuration.editor.layoutInfo.height,o._editorWidth=o._context.configuration.editor.layoutInfo.width,o._domNode=Object(He.b)(document.createElement("div")),Xe.write(o._domNode,4),o._domNode.setClassName("overlayWidgets"),o}return Go(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){return!!e.layoutInfo&&(this._verticalScrollbarWidth=this._context.configuration.editor.layoutInfo.verticalScrollbarWidth,this._minimapWidth=this._context.configuration.editor.layoutInfo.minimapWidth,this._horizontalScrollbarHeight=this._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,this._editorHeight=this._context.configuration.editor.layoutInfo.height,this._editorWidth=this._context.configuration.editor.layoutInfo.width,!0)},t.prototype.addWidget=function(e){var t=Object(He.b)(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),this._domNode.appendChild(t),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t){var o=this._widgets[e.getId()];return o.preference!==t&&(o.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var o=this._widgets[t].domNode.domNode;delete this._widgets[t],o.parentNode.removeChild(o),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(e.preference===ut.c.TOP_RIGHT_CORNER)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===ut.c.BOTTOM_RIGHT_CORNER){var o=t.domNode.clientHeight;t.setTop(this._editorHeight-o-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===ut.c.TOP_CENTER&&(t.setTop(0),t.domNode.style.right="50%");else t.unsetTop()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._editorWidth);for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._renderWidget(this._widgets[i])}},t}(Ye),Ko=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Yo=function(){function e(e,t){this.lineHeight=e.editor.lineHeight,this.pixelRatio=e.editor.pixelRatio,this.overviewRulerLanes=e.editor.viewInfo.overviewRulerLanes,this.renderBorder=e.editor.viewInfo.overviewRulerBorder;var o=t.getColor(Je.r);this.borderColor=o?o.toString():null,this.hideCursor=e.editor.viewInfo.hideCursorInOverviewRuler;var n=t.getColor(Je.g);this.cursorColor=n?n.transparent(.7).toString():null,this.themeType=t.type;var i=e.editor.viewInfo.minimap.enabled,r=e.editor.viewInfo.minimap.side,s=i?J.y.getDefaultBackground():null;this.backgroundColor=null===s||"left"===r?null:ne.a.Format.CSS.formatHex(s);var a=e.editor.layoutInfo.overviewRuler;this.top=a.top,this.right=a.right,this.domWidth=a.width,this.domHeight=a.height,this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0;var l=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes),u=l[0],c=l[1];this.x=u,this.w=c}return e.prototype._initLanes=function(e,t,o){var n=t-e;if(o>=3){var i,r,s,a=n-(i=Math.floor(n/3))-(r=Math.floor(n/3)),l=(s=e)+i;return[[0,s,l,s,s+i+a,s,l,s],[0,i,a,i+a,r,i+a+r,a+r,i+a+r]]}if(2===o)return[[0,s=e,s,s,s+(i=Math.floor(n/2)),s,s,s],[0,i,i,i,r=n-i,i+r,i+r,i+r]];return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]]},e.prototype.equals=function(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight},e}(),Xo=function(e){function t(t){var o=e.call(this,t)||this;return o._domNode=Object(He.b)(document.createElement("canvas")),o._domNode.setClassName("decorationsOverviewRuler"),o._domNode.setPosition("absolute"),o._domNode.setLayerHinting(!0),o._domNode.setAttribute("aria-hidden","true"),o._settings=null,o._updateSettings(!1),o._tokensColorTrackerListener=J.y.onDidChange((function(e){e.changedColorMap&&o._updateSettings(!0)})),o._cursorPositions=[],o}return Ko(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new Yo(this._context.configuration,this._context.theme);return(null===this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)},t.prototype.onConfigurationChanged=function(e){return this._updateSettings(!1)},t.prototype.onCursorStateChanged=function(e){this._cursorPositions=[];for(var t=0,o=e.selections.length;t<o;t++)this._cursorPositions[t]=e.selections[t].getPosition();return this._cursorPositions.sort(m.a.compare),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateOverviewRulerColorCache(),this._updateSettings(!1)},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._render()},t.prototype._render=function(){var e=this._settings.canvasWidth,t=this._settings.canvasHeight,o=this._settings.lineHeight,n=this._context.viewLayout,i=t/this._context.viewLayout.getScrollHeight(),r=this._context.model.getAllOverviewRulerDecorations(this._context.theme),s=6*this._settings.pixelRatio|0,a=s/2|0,l=this._domNode.domNode.getContext("2d");null===this._settings.backgroundColor?l.clearRect(0,0,e,t):(l.fillStyle=this._settings.backgroundColor,l.fillRect(0,0,e,t));var u=this._settings.x,c=this._settings.w,h=Object.keys(r);h.sort();for(var d=0,g=h.length;d<g;d++){var p=h[d],f=r[p];l.fillStyle=p;for(var m=0,_=0,y=0,v=0,b=f.length;v<b;v++){var E=f[3*v],C=f[3*v+1],S=f[3*v+2],T=n.getVerticalOffsetForLineNumber(C)*i|0;if((I=(n.getVerticalOffsetForLineNumber(S)+o)*i|0)-T<s)(L=(T+I)/2|0)<a?L=a:L+a>t&&(L=t-a),T=L-a,I=L+a;T>y+1||E!==m?(0!==v&&l.fillRect(u[m],_,c[m],y-_),m=E,_=T,y=I):I>y&&(y=I)}l.fillRect(u[m],_,c[m],y-_)}if(!this._settings.hideCursor){var w=2*this._settings.pixelRatio|0,k=w/2|0,O=this._settings.x[7],R=this._settings.w[7];l.fillStyle=this._settings.cursorColor;for(_=-100,y=-100,v=0,b=this._cursorPositions.length;v<b;v++){var L,N=this._cursorPositions[v];(L=n.getVerticalOffsetForLineNumber(N.lineNumber)*i|0)<k?L=k:L+k>t&&(L=t-k);var I=(T=L-k)+w;T>y+1?(0!==v&&l.fillRect(O,_,R,y-_),_=T,y=I):I>y&&(y=I)}l.fillRect(O,_,R,y-_)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,t),l.stroke(),l.moveTo(0,0),l.lineTo(e,0),l.stroke())},t}(Ye),qo=o(145),$o=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Jo=function(e){function t(t,o){var n=e.call(this)||this;return n._context=t,n._domNode=Object(He.b)(document.createElement("canvas")),n._domNode.setClassName(o),n._domNode.setPosition("absolute"),n._domNode.setLayerHinting(!0),n._zoneManager=new qo.b((function(e){return n._context.viewLayout.getVerticalOffsetForLineNumber(e)})),n._zoneManager.setDOMWidth(0),n._zoneManager.setDOMHeight(0),n._zoneManager.setOuterHeight(n._context.viewLayout.getScrollHeight()),n._zoneManager.setLineHeight(n._context.configuration.editor.lineHeight),n._zoneManager.setPixelRatio(n._context.configuration.editor.pixelRatio),n._context.addEventHandler(n),n}return $o(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._zoneManager=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._zoneManager.setLineHeight(this._context.configuration.editor.lineHeight),this._render()),e.pixelRatio&&(this._zoneManager.setPixelRatio(this._context.configuration.editor.pixelRatio),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0},t.prototype.onFlushed=function(e){return this._render(),!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0},t.prototype.onZonesChanged=function(e){return this._render(),!0},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.setLayout=function(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);var t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())},t.prototype.setZones=function(e){this._zoneManager.setZones(e),this._render()},t.prototype._render=function(){if(0===this._zoneManager.getOuterHeight())return!1;var e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),o=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),i=this._domNode.domNode.getContext("2d");return i.clearRect(0,0,e,t),o.length>0&&this._renderOneLane(i,o,n,e),!0},t.prototype._renderOneLane=function(e,t,o,n){for(var i=0,r=0,s=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.colorId,h=u.from,d=u.to;c!==i?(e.fillRect(0,r,n,s-r),i=c,e.fillStyle=o[i],r=h,s=d):s>=h?s=Math.max(s,d):(e.fillRect(0,r,n,s-r),r=h,s=d)}e.fillRect(0,r,n,s-r)},t}(Ve),Zo=(o(462),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Qo=function(e){function t(t){var o=e.call(this,t)||this;return o.domNode=Object(He.b)(document.createElement("div")),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o.domNode.setClassName("view-rulers"),o._renderedRulers=[],o._rulers=o._context.configuration.editor.viewInfo.rulers,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o}return Zo(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!!(e.viewInfo||e.layoutInfo||e.fontInfo)&&(this._rulers=this._context.configuration.editor.viewInfo.rulers,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,!0)},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.prepareRender=function(e){},t.prototype._ensureRulersCount=function(){var e=this._renderedRulers.length,t=this._rulers.length;if(e!==t)if(e<t)for(var o=this._context.model.getTabSize(),n=t-e;n>0;){(r=Object(He.b)(document.createElement("div"))).setClassName("view-ruler"),r.setWidth(o),this.domNode.appendChild(r),this._renderedRulers.push(r),n--}else for(var i=e-t;i>0;){var r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,o=this._rulers.length;t<o;t++){var n=this._renderedRulers[t];n.setHeight(Math.min(e.scrollHeight,1e6)),n.setLeft(this._rulers[t]*this._typicalHalfwidthCharacterWidth)}},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(Je.s);o&&t.addRule(".monaco-editor .view-ruler { box-shadow: 1px 0 0 0 "+o+" inset; }")}));o(463);var en=o(7),tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),on=function(e){function t(t){var o=e.call(this,t)||this;return o._scrollTop=0,o._width=0,o._updateWidth(),o._shouldShow=!1,o._useShadows=o._context.configuration.editor.viewInfo.scrollbar.useShadows,o._domNode=Object(He.b)(document.createElement("div")),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o}return tn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._updateShouldShow=function(){var e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._updateWidth=function(){var e=this._context.configuration.editor.layoutInfo,t=0;return t=0===e.renderMinimap||e.minimapWidth>0&&0===e.minimapLeft?e.width:e.width-e.minimapWidth-e.verticalScrollbarWidth,this._width!==t&&(this._width=t,!0)},t.prototype.onConfigurationChanged=function(e){var t=!1;return e.viewInfo&&(this._useShadows=this._context.configuration.editor.viewInfo.scrollbar.useShadows),e.layoutInfo&&(t=this._updateWidth()),this._updateShouldShow()||t},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(en.lb);o&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+o+" 0 6px 6px -6px inset; }")}));o(464);var nn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),rn=function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null},sn=function(e,t){this.lineNumber=e,this.ranges=t};function an(e){return new rn(e)}function ln(e){return new sn(e.lineNumber,e.ranges.map(an))}var un=je.h,cn=function(e){function t(t){var o=e.call(this)||this;return o._previousFrameVisibleRangesWithStyle=[],o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._roundedSelection=o._context.configuration.editor.viewInfo.roundedSelection,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o._selections=[],o._renderResult=null,o._context.addEventHandler(o),o}return nn(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._selections=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._roundedSelection=this._context.configuration.editor.viewInfo.roundedSelection),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._visibleRangesHaveGaps=function(e){for(var t=0,o=e.length;t<o;t++){if(e[t].ranges.length>1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,o){var n=this._typicalHalfwidthCharacterWidth/4,i=null,r=null;if(o&&o.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!i&&a<o.length;a++)o[a].lineNumber===s&&(i=o[a].ranges[0]);var l=t[t.length-1].lineNumber;if(l===e.endLineNumber)for(a=o.length-1;!r&&a>=0;a--)o[a].lineNumber===l&&(r=o[a].ranges[0]);i&&!i.startStyle&&(i=null),r&&!r.startStyle&&(r=null)}a=0;for(var u=t.length;a<u;a++){var c=t[a].ranges[0],h=c.left,d=c.left+c.width,g={top:0,bottom:0},p={top:0,bottom:0};if(a>0){var f=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;hn(h-f)<n?g.top=2:h>f&&(g.top=1),hn(d-m)<n?p.top=2:f<d&&d<m&&(p.top=1)}else i&&(g.top=i.startStyle.top,p.top=i.endStyle.top);if(a+1<u){var _=t[a+1].ranges[0].left,y=t[a+1].ranges[0].left+t[a+1].ranges[0].width;hn(h-_)<n?g.bottom=2:_<h&&h<y&&(g.bottom=1),hn(d-y)<n?p.bottom=2:d<y&&(p.bottom=1)}else r&&(g.bottom=r.startStyle.bottom,p.bottom=r.endStyle.bottom);c.startStyle=g,c.endStyle=p}},t.prototype._getVisibleRangesWithStyle=function(e,t,o){var n=(t.linesVisibleRangesForRange(e,!0)||[]).map(ln),i=this._visibleRangesHaveGaps(n);return un||i||!this._roundedSelection||this._enrichVisibleRangesWithStyle(t.visibleRange,n,o),n},t.prototype._createSelectionPiece=function(e,t,o,n,i){return'<div class="cslr '+o+'" style="top:'+e.toString()+"px;left:"+n.toString()+"px;width:"+i.toString()+"px;height:"+t+'px;"></div>'},t.prototype._actualRenderOneSelection=function(e,o,n,i){for(var r=i.length>0&&i[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),l=i.length>0?i[0].lineNumber:0,u=i.length>0?i[i.length-1].lineNumber:0,c=0,h=i.length;c<h;c++){for(var d=i[c],g=d.lineNumber,p=g-o,f=n&&(g===u||g===l)?a:s,m=n&&g===l?1:0,_="",y=0,v=d.ranges.length;y<v;y++){var b=d.ranges[y];if(r){if(1===b.startStyle.top||1===b.startStyle.bottom){_+=this._createSelectionPiece(m,f,t.SELECTION_CLASS_NAME,b.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH);var E=t.EDITOR_BACKGROUND_CLASS_NAME;1===b.startStyle.top&&(E+=" "+t.SELECTION_TOP_RIGHT),1===b.startStyle.bottom&&(E+=" "+t.SELECTION_BOTTOM_RIGHT),_+=this._createSelectionPiece(m,f,E,b.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH)}if(1===b.endStyle.top||1===b.endStyle.bottom){_+=this._createSelectionPiece(m,f,t.SELECTION_CLASS_NAME,b.left+b.width,t.ROUNDED_PIECE_WIDTH);var C=t.EDITOR_BACKGROUND_CLASS_NAME;1===b.endStyle.top&&(C+=" "+t.SELECTION_TOP_LEFT),1===b.endStyle.bottom&&(C+=" "+t.SELECTION_BOTTOM_LEFT),_+=this._createSelectionPiece(m,f,C,b.left+b.width,t.ROUNDED_PIECE_WIDTH)}}var S=t.SELECTION_CLASS_NAME;r&&(0===b.startStyle.top&&(S+=" "+t.SELECTION_TOP_LEFT),0===b.startStyle.bottom&&(S+=" "+t.SELECTION_BOTTOM_LEFT),0===b.endStyle.top&&(S+=" "+t.SELECTION_TOP_RIGHT),0===b.endStyle.bottom&&(S+=" "+t.SELECTION_BOTTOM_RIGHT)),_+=this._createSelectionPiece(m,f,S,b.left,b.width)}e[p]+=_}},t.prototype.prepareRender=function(e){for(var t=[],o=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,i=o;i<=n;i++){t[i-o]=""}for(var r=[],s=0,a=this._selections.length;s<a;s++){var l=this._selections[s];if(l.isEmpty())r[s]=null;else{var u=this._getVisibleRangesWithStyle(l,e,this._previousFrameVisibleRangesWithStyle[s]);r[s]=u,this._actualRenderOneSelection(t,o,this._selections.length>1,u)}}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t.SELECTION_CLASS_NAME="selected-text",t.SELECTION_TOP_LEFT="top-left-radius",t.SELECTION_BOTTOM_LEFT="bottom-left-radius",t.SELECTION_TOP_RIGHT="top-right-radius",t.SELECTION_BOTTOM_RIGHT="bottom-right-radius",t.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",t.ROUNDED_PIECE_WIDTH=10,t}(Qe);function hn(e){return e<0?-e:e}Object(Fe.e)((function(e,t){var o=e.getColor(en.z);o&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+o+"; }");var n=e.getColor(en.y);n&&t.addRule(".monaco-editor .selected-text { background-color: "+n+"; }");var i=e.getColor(en.A);i&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+i+"; }")}));o(465);var dn=function(e,t,o,n,i,r){this.top=e,this.left=t,this.width=o,this.height=n,this.textContent=i,this.textContentClassName=r},gn=function(){function e(e){this._context=e,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineHeight=this._context.configuration.editor.lineHeight,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=Object(He.b)(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),g.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this.updatePosition(new m.a(1,1)),this._lastRenderedContent="",this._renderData=null}return e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)},e.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(g.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),e.viewInfo&&(this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth)),!0},e.prototype.onCursorPositionChanged=function(e){return this.updatePosition(e),!0},e.prototype._prepareRender=function(e){var t="",o="";if(this._cursorStyle===be.i.Line||this._cursorStyle===be.i.LineThin){var n,i=e.visibleRangeForPosition(this._position);if(!i)return null;if(this._cursorStyle===be.i.Line){if((n=r.m(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else n=r.m(1);var s=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new dn(s,i.left,n,this._lineHeight,t,o)}var a=e.linesVisibleRangesForRange(new _.a(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!a||0===a.length||0===a[0].ranges.length)return null;var l=a[0].ranges[0],u=l.width<1?this._typicalHalfwidthCharacterWidth:l.width;if(this._cursorStyle===be.i.Block){var c=this._context.model.getViewLineData(this._position.lineNumber);t=c.content.charAt(this._position.column-1),p.isHighSurrogate(c.content.charCodeAt(this._position.column-1))&&(t+=c.content.charAt(this._position.column));var h=c.tokens.findTokenIndexAtOffset(this._position.column-1);o=c.tokens.getClassName(h)}var d=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,g=this._lineHeight;return this._cursorStyle!==be.i.Underline&&this._cursorStyle!==be.i.UnderlineThin||(d+=this._lineHeight-2,g=2),new dn(d,l.left,u,g,t,o)},e.prototype.prepareRender=function(e){this._renderData=this._prepareRender(e)},e.prototype.render=function(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName("cursor "+this._renderData.textContentClassName),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)},e.prototype.updatePosition=function(e){this._position=e},e}(),pn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),fn=function(e){function t(t){var o=e.call(this,t)||this;return o._readOnly=o._context.configuration.editor.readOnly,o._cursorBlinking=o._context.configuration.editor.viewInfo.cursorBlinking,o._cursorStyle=o._context.configuration.editor.viewInfo.cursorStyle,o._selectionIsEmpty=!0,o._primaryCursor=new gn(o._context),o._secondaryCursors=[],o._renderData=[],o._domNode=Object(He.b)(document.createElement("div")),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o._updateDomClassName(),o._domNode.appendChild(o._primaryCursor.getDomNode()),o._startCursorBlinkAnimation=new Xt.f,o._cursorFlatBlinkInterval=new Xt.b,o._blinkingEnabled=!1,o._editorHasFocus=!1,o._updateBlinking(),o}return pn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){e.readOnly&&(this._readOnly=this._context.configuration.editor.readOnly),e.viewInfo&&(this._cursorBlinking=this._context.configuration.editor.viewInfo.cursorBlinking,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,o=this._secondaryCursors.length;t<o;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0},t.prototype._onCursorPositionChanged=function(e,t){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<t.length)for(var o=t.length-this._secondaryCursors.length,n=0;n<o;n++){var i=new gn(this._context);this._domNode.domNode.insertBefore(i.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(i)}else if(this._secondaryCursors.length>t.length){var r=this._secondaryCursors.length-t.length;for(n=0;n<r;n++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(n=0;n<t.length;n++)this._secondaryCursors[n].onCursorPositionChanged(t[n])},t.prototype.onCursorStateChanged=function(e){for(var t=[],o=0,n=e.selections.length;o<n;o++)t[o]=e.selections[o].getPosition();this._onCursorPositionChanged(t[0],t.slice(1));var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,this._updateDomClassName()),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onFocusChanged=function(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){var t=function(t){for(var o=0,n=e.ranges.length;o<n;o++)if(e.ranges[o].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[o].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(var o=0;o<this._secondaryCursors.length;o++)if(t(this._secondaryCursors[o].getPosition()))return!0;return!1},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getCursorBlinking=function(){return this._editorHasFocus?this._readOnly?be.h.Solid:this._cursorBlinking:be.h.Hidden},t.prototype._updateBlinking=function(){var e=this;this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();var o=this._getCursorBlinking(),n=o===be.h.Hidden,i=o===be.h.Solid;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),n||i||(o===be.h.Blink?this._cursorFlatBlinkInterval.cancelAndSet((function(){e._isVisible?e._hide():e._show()}),t.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet((function(){e._blinkingEnabled=!0,e._updateDomClassName()}),t.BLINK_INTERVAL))},t.prototype._updateDomClassName=function(){this._domNode.setClassName(this._getClassName())},t.prototype._getClassName=function(){var e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case be.i.Line:e+=" cursor-line-style";break;case be.i.Block:e+=" cursor-block-style";break;case be.i.Underline:e+=" cursor-underline-style";break;case be.i.LineThin:e+=" cursor-line-thin-style";break;case be.i.BlockOutline:e+=" cursor-block-outline-style";break;case be.i.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case be.h.Blink:e+=" cursor-blink";break;case be.h.Smooth:e+=" cursor-smooth";break;case be.h.Phase:e+=" cursor-phase";break;case be.h.Expand:e+=" cursor-expand";break;case be.h.Solid:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return e},t.prototype._show=function(){this._primaryCursor.show();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0},t.prototype._hide=function(){this._primaryCursor.hide();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1},t.prototype.prepareRender=function(e){this._primaryCursor.prepareRender(e);for(var t=0,o=this._secondaryCursors.length;t<o;t++)this._secondaryCursors[t].prepareRender(e)},t.prototype.render=function(e){var t=[],o=0,n=this._primaryCursor.render(e);n&&(t[o++]=n);for(var i=0,r=this._secondaryCursors.length;i<r;i++){var s=this._secondaryCursors[i].render(e);s&&(t[o++]=s)}this._renderData=t},t.prototype.getLastRenderData=function(){return this._renderData},t.BLINK_INTERVAL=500,t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(Je.g);if(o){var n=e.getColor(Je.f);n||(n=o.opposite()),t.addRule(".monaco-editor .cursor { background-color: "+o+"; border-color: "+o+"; color: "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid "+n+"; border-right: 1px solid "+n+"; }")}}));var mn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),_n=function(e){function t(t){var o=e.call(this,t)||this;return o._lineHeight=o._context.configuration.editor.lineHeight,o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o.domNode=Object(He.b)(document.createElement("div")),o.domNode.setClassName("view-zones"),o.domNode.setPosition("absolute"),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o.marginDomNode=Object(He.b)(document.createElement("div")),o.marginDomNode.setClassName("margin-view-zones"),o.marginDomNode.setPosition("absolute"),o.marginDomNode.setAttribute("role","presentation"),o.marginDomNode.setAttribute("aria-hidden","true"),o._zones={},o}return mn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._zones={}},t.prototype._recomputeWhitespacesProps=function(){for(var e=!1,t=Object.keys(this._zones),o=0,n=t.length;o<n;o++){var i=t[o],r=this._zones[i],s=this._computeWhitespaceProps(r.delegate);this._context.viewLayout.changeWhitespace(parseInt(i,10),s.afterViewLineNumber,s.heightInPx)&&(this._safeCallOnComputedHeight(r.delegate,s.heightInPx),e=!0)}return e},t.prototype.onConfigurationChanged=function(e){return e.lineHeight?(this._lineHeight=this._context.configuration.editor.lineHeight,this._recomputeWhitespacesProps()):(e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0)},t.prototype.onLineMappingChanged=function(e){var t=this._recomputeWhitespacesProps();return t&&this._context.viewLayout.onHeightMaybeChanged(),t},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype._getZoneOrdinal=function(e){return void 0!==e.afterColumn?e.afterColumn:1e4},t.prototype._computeWhitespaceProps=function(e){if(0===e.afterLineNumber)return{afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};var t,o;if(void 0!==e.afterColumn)t=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{var n=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new m.a(n,this._context.model.getModelLineMaxColumn(n))}o=t.column===this._context.model.getModelLineMaxColumn(t.lineNumber)?this._context.model.validateModelPosition({lineNumber:t.lineNumber+1,column:1}):this._context.model.validateModelPosition({lineNumber:t.lineNumber,column:t.column+1});var i=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t),r=this._context.model.coordinatesConverter.modelPositionIsVisible(o);return{afterViewLineNumber:i.lineNumber,heightInPx:r?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}},t.prototype.addZone=function(e){var t=this._computeWhitespaceProps(e),o={whitespaceId:this._context.viewLayout.addWhitespace(t.afterViewLineNumber,this._getZoneOrdinal(e),t.heightInPx,t.minWidthInPx),delegate:e,isVisible:!1,domNode:Object(He.b)(e.domNode),marginDomNode:e.marginDomNode?Object(He.b)(e.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,t.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId.toString()),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId.toString()),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId.toString()]=o,this.setShouldRender(),o.whitespaceId},t.prototype.removeZone=function(e){if(this._zones.hasOwnProperty(e.toString())){var t=this._zones[e.toString()];return delete this._zones[e.toString()],this._context.viewLayout.removeWhitespace(t.whitespaceId),t.domNode.removeAttribute("monaco-visible-view-zone"),t.domNode.removeAttribute("monaco-view-zone"),t.domNode.domNode.parentNode.removeChild(t.domNode.domNode),t.marginDomNode&&(t.marginDomNode.removeAttribute("monaco-visible-view-zone"),t.marginDomNode.removeAttribute("monaco-view-zone"),t.marginDomNode.domNode.parentNode.removeChild(t.marginDomNode.domNode)),this.setShouldRender(),!0}return!1},t.prototype.layoutZone=function(e){var t=!1;if(this._zones.hasOwnProperty(e.toString())){var o=this._zones[e.toString()],n=this._computeWhitespaceProps(o.delegate);(t=this._context.viewLayout.changeWhitespace(o.whitespaceId,n.afterViewLineNumber,n.heightInPx)||t)&&(this._safeCallOnComputedHeight(o.delegate,n.heightInPx),this.setShouldRender())}return t},t.prototype.shouldSuppressMouseDownOnViewZone=function(e){return!!this._zones.hasOwnProperty(e.toString())&&this._zones[e.toString()].delegate.suppressMouseDown},t.prototype._heightInPixels=function(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight},t.prototype._minWidthInPixels=function(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0},t.prototype._safeCallOnComputedHeight=function(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){Object(s.e)(e)}},t.prototype._safeCallOnDomNodeTop=function(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){Object(s.e)(e)}},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){for(var t=e.viewportData.whitespaceViewportData,o={},n=!1,i=0,r=t.length;i<r;i++)o[t[i].id.toString()]=t[i],n=!0;var s=Object.keys(this._zones);for(i=0,r=s.length;i<r;i++){var a=s[i],l=this._zones[a],u=0,c=0,h="none";o.hasOwnProperty(a)?(u=o[a].verticalOffset-e.bigNumbersDelta,c=o[a].height,h="block",l.isVisible||(l.domNode.setAttribute("monaco-visible-view-zone","true"),l.isVisible=!0),this._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(o[a].verticalOffset))):(l.isVisible&&(l.domNode.removeAttribute("monaco-visible-view-zone"),l.isVisible=!1),this._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),l.domNode.setTop(u),l.domNode.setHeight(c),l.domNode.setDisplay(h),l.marginDomNode&&(l.marginDomNode.setTop(u),l.marginDomNode.setHeight(c),l.marginDomNode.setDisplay(h))}n&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))},t}(Ye),yn=function(){function e(e,t,o,n){this.configuration=e,this.theme=t,this.model=o,this.viewLayout=o.viewLayout,this.privateViewEventBus=n}return e.prototype.addEventHandler=function(e){this.privateViewEventBus.addEventHandler(e)},e.prototype.removeEventHandler=function(e){this.privateViewEventBus.removeEventHandler(e)},e}(),vn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),bn=function(e){function t(t){var o=e.call(this)||this;return o.onDidScroll=null,o.onDidGainFocus=null,o.onDidLoseFocus=null,o.onKeyDown=null,o.onKeyUp=null,o.onContextMenu=null,o.onMouseMove=null,o.onMouseLeave=null,o.onMouseUp=null,o.onMouseDown=null,o.onMouseDrag=null,o.onMouseDrop=null,o._viewModel=t,o}return vn(t,e),t.prototype.emitScrollChanged=function(e){this.onDidScroll&&this.onDidScroll(e)},t.prototype.emitViewFocusGained=function(){this.onDidGainFocus&&this.onDidGainFocus(void 0)},t.prototype.emitViewFocusLost=function(){this.onDidLoseFocus&&this.onDidLoseFocus(void 0)},t.prototype.emitKeyDown=function(e){this.onKeyDown&&this.onKeyDown(e)},t.prototype.emitKeyUp=function(e){this.onKeyUp&&this.onKeyUp(e)},t.prototype.emitContextMenu=function(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseMove=function(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseLeave=function(e){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseUp=function(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDown=function(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrag=function(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrop=function(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))},t.prototype._convertViewToModelMouseEvent=function(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e},t.prototype._convertViewToModelMouseTarget=function(e){return new En(e.element,e.type,e.mouseColumn,e.position?this._convertViewToModelPosition(e.position):null,e.range?this._convertViewToModelRange(e.range):null,e.detail)},t.prototype._convertViewToModelPosition=function(e){return this._viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},t.prototype._convertViewToModelRange=function(e){return this._viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},t}(l.a),En=function(){function e(e,t,o,n,i,r){this.element=e,this.type=t,this.mouseColumn=o,this.position=n,this.range=i,this.detail=r}return e.prototype.toString=function(){return Vt.toString(this)},e}(),Cn=function(){function e(e,t,o,n){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=o,this._model=n,this.visibleRange=new _.a(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}return e.prototype.getViewLineRenderingData=function(e){return this._model.getViewLineRenderingData(this.visibleRange,e)},e.prototype.getDecorationsInViewport=function(){return this._model.getDecorationsInViewport(this.visibleRange)},e}(),Sn=o(81),Tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),wn=function(e){function t(t,o,n,i){var s=e.call(this,t)||this,a=s._context.configuration.editor.viewInfo.scrollbar,l={listenOnDomNode:n.domNode,className:"editor-scrollable "+Object(Fe.d)(t.theme.type),useShadows:!1,lazyRender:!0,vertical:a.vertical,horizontal:a.horizontal,verticalHasArrows:a.verticalHasArrows,horizontalHasArrows:a.horizontalHasArrows,verticalScrollbarSize:a.verticalScrollbarSize,verticalSliderSize:a.verticalSliderSize,horizontalScrollbarSize:a.horizontalScrollbarSize,horizontalSliderSize:a.horizontalSliderSize,handleMouseWheel:a.handleMouseWheel,arrowSize:a.arrowSize,mouseWheelScrollSensitivity:a.mouseWheelScrollSensitivity};s.scrollbar=s._register(new Sn.c(o.domNode,l,s._context.viewLayout.scrollable)),Xe.write(s.scrollbar.getDomNode(),5),s.scrollbarDomNode=Object(He.b)(s.scrollbar.getDomNode()),s.scrollbarDomNode.setPosition("absolute"),s._setLayout();var u=function(e,t,o){var n={};if(t){var i=e.scrollTop;i&&(n.scrollTop=s._context.viewLayout.getCurrentScrollTop()+i,e.scrollTop=0)}if(o){var r=e.scrollLeft;r&&(n.scrollLeft=s._context.viewLayout.getCurrentScrollLeft()+r,e.scrollLeft=0)}s._context.viewLayout.setScrollPositionNow(n)};return s._register(r.g(n.domNode,"scroll",(function(e){return u(n.domNode,!0,!0)}))),s._register(r.g(o.domNode,"scroll",(function(e){return u(o.domNode,!0,!1)}))),s._register(r.g(i.domNode,"scroll",(function(e){return u(i.domNode,!0,!1)}))),s._register(r.g(s.scrollbarDomNode.domNode,"scroll",(function(e){return u(s.scrollbarDomNode.domNode,!0,!1)}))),s}return Tn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.scrollbarDomNode.setLeft(e.contentLeft),"right"===this._context.configuration.editor.viewInfo.minimap.side?this.scrollbarDomNode.setWidth(e.contentWidth+e.minimapWidth):this.scrollbarDomNode.setWidth(e.contentWidth),this.scrollbarDomNode.setHeight(e.contentHeight)},t.prototype.getOverviewRulerLayoutInfo=function(){return this.scrollbar.getOverviewRulerLayoutInfo()},t.prototype.getDomNode=function(){return this.scrollbarDomNode},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.onConfigurationChanged=function(e){if(e.viewInfo){var t=this._context.configuration.editor,o={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity};this.scrollbar.updateOptions(o)}return e.layoutInfo&&this._setLayout(),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this.scrollbar.updateClassName("editor-scrollable "+Object(Fe.d)(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(Ye);o(467);function kn(e){for(var t=new Uint8ClampedArray(e.length),o=0,n=e.length;o<n;o++)t[o]=e[o];return t}var On=null;function Rn(){if(!On){var e=kn(Nn);Nn=null;var t=kn(Ln);Ln=null,On=new _e(t,e)}return On}var Ln=[0,0,0,0,0,0,0,0,39,14,39,14,14,5,29,10,96,96,29,29,0,0,0,0,49,113,195,214,227,166,135,42,40,29,194,38,75,148,197,187,145,0,160,61,75,143,2,183,138,58,163,6,177,223,197,227,38,13,11,4,0,0,0,0,10,54,52,8,62,4,71,122,73,2,19,40,10,50,155,36,79,70,145,121,7,5,0,0,2,1,36,12,204,166,16,5,0,0,0,0,1,0,154,34,0,0,0,0,96,83,0,0,0,0,0,0,0,0,46,34,0,82,2,56,53,3,146,0,146,119,152,132,152,131,145,119,170,42,15,42,15,42,172,194,131,132,0,139,80,28,227,143,159,135,15,118,11,126,171,144,20,124,88,106,217,196,0,106,189,92,168,43,5,130,164,133,130,115,183,65,134,120,141,141,170,196,2,106,31,32,105,2,145,130,116,114,132,135,138,140,138,113,147,137,81,183,129,94,0,0,21,16,4,3,46,34,0,0,45,34,1,0,160,49,0,0,43,143,203,23,1,76,0,0,38,28,131,96,38,28,0,0,168,31,29,191,98,0,118,139,5,113,45,13,37,6,97,115,161,179,204,105,223,224,83,52,111,100,184,186,120,132,212,145,180,139,174,161,212,182,104,162,131,0,131,0,104,161,219,120,110,116,110,116,219,120,207,154,163,40,147,22,207,154,202,159,161,47,145,23,111,0,139,154,144,30,144,135,139,187,110,110,168,161,150,145,110,110,185,162,43,16,43,16,185,162,73,129,0,110,0,110,191,87,149,149,236,48,195,91,146,149,146,0,146,0,146,0,187,173,200,201,222,215,172,147,95,95,193,97,224,129,159,206,97,192,155,139,153,115,153,115,156,140,189,158,123,136,190,64,111,0,155,139,153,115,153,114,156,241,197,148,150,152,170,116,110,157,156,128,169,14,13,159,158,149,212,189,43,16,43,16,43,16,148,110,148,110,147,109,182,151,133,121,106,118,114,103,89,66,94,94,211,188,205,207,139,168,151,152,87,76,101,79,151,152,130,156,125,116,47,29,43,16,169,228,11,103,120,6,230,176,55,49,55,6,55,6,193,102,92,0,71,0,13,30,0,147,63,43,12,43,12,43,142,152,71,53,61,61,0,0,0,0,0,0,0,0,0,0,158,146,25,2,0,0,0,0,0,0,0,0,107,130,170,194,176,188,109,0,203,159,113,111,202,158,0,0,135,135,114,0,136,135,0,109,187,190,148,126,177,187,0,0,149,130,218,105,169,135,37,113,146,113,49,13,49,13,0,0,178,195,147,114,255,255,109,0,193,149,110,109,109,109,12,15,125,41,33,41,144,188,1,6,75,53,10,53,210,161,110,0,152,148,210,60,110,156,213,5,63,5,63,5,45,111,0,0,232,172,190,168,190,169,0,0,190,144,109,109,109,109,0,0,168,140,148,111,168,140,0,0,200,151,113,110,255,158,0,0,184,188,147,139,186,255,0,0,122,130,111,0,109,0,0,0,132,69,109,93,110,136,51,5,205,103,61,6,47,106,0,0,110,109,110,122,155,179,0,0,132,120,113,114,84,63,0,0,124,108,202,189,160,174,0,0,144,142,79,57,159,146,0,0,138,138,119,117,255,69,0,0,97,198,47,38,208,84,23,112,41,14,157,7,121,192,35,11,35,11,35,11,160,61,129,9,40,19,20,139,236,44,0,0,15,3,97,93,0,0],Nn=[0,0,23,12,53,0,130,127,58,149,67,77,72,198,13,0,25,51,25,49,94,2,8,64,0,24,0,21,0,9,19,27,126,126,51,80,72,105,87,98,73,93,106,85,111,123,87,30,116,126,123,110,4,16,9,28,21,53,8,62,23,52,73,21,132,183,78,142,168,175,70,70,128,128,123,110,125,43,100,139,125,119,78,78,54,77,139,139,33,87,201,117,162,149,130,130,138,60,130,172,149,127,95,98,95,25,118,135,110,85,147,175,105,110,121,30,101,113,34,68,20,26,34,68,56,0,0,44,3,0,27,175,80,133,31,66,85,147,32,150,90,25,45,230,77,101,36,83,22,84,71,118,44,44,52,172,38,101,35,130,40,197,43,197,29,26,23,103,67,44,25,129,29,85,27,177,33,97,32,145,33,77,38,96,20,55,36,95,2,22],In=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function Dn(e){return 2===e?4:4===e?6:1===e?2:3}function An(e){return 2===e?2:4===e?2:1}var Pn=140,xn=function(){function e(e){var t=e.editor.pixelRatio,o=e.editor.layoutInfo,n=e.editor.viewInfo,i=e.editor.fontInfo;this.renderMinimap=0|o.renderMinimap,this.scrollBeyondLastLine=n.scrollBeyondLastLine,this.showSlider=n.minimap.showSlider,this.pixelRatio=t,this.typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this.lineHeight=e.editor.lineHeight,this.minimapLeft=o.minimapLeft,this.minimapWidth=o.minimapWidth,this.minimapHeight=o.height,this.canvasInnerWidth=Math.max(1,Math.floor(t*this.minimapWidth)),this.canvasInnerHeight=Math.max(1,Math.floor(t*this.minimapHeight)),this.canvasOuterWidth=this.canvasInnerWidth/t,this.canvasOuterHeight=this.canvasInnerHeight/t}return e.prototype.equals=function(e){return this.renderMinimap===e.renderMinimap&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight},e}(),Mn=function(){function e(e,t,o,n,i,r,s){this.scrollTop=e,this.scrollHeight=t,this._computedSliderRatio=o,this.sliderTop=n,this.sliderHeight=i,this.startLineNumber=r,this.endLineNumber=s}return e.prototype.getDesiredScrollTopFromDelta=function(e){var t=this.sliderTop+e;return Math.round(t/this._computedSliderRatio)},e.create=function(t,o,n,i,r,s,a,l,u){var c,h,d=t.pixelRatio,g=Dn(t.renderMinimap),p=Math.floor(t.canvasInnerHeight/g),f=t.lineHeight;if(r&&n!==s){var m=n-o+1;c=Math.floor(m*g/d)}else{var _=i/f;c=Math.floor(_*g/d)}h=t.scrollBeyondLastLine?(s-1)*g/d:Math.max(0,s*g/d-c);var y=(h=Math.min(t.minimapHeight-c,h))/(l-i),v=a*y;if(p>=s)return new e(a,l,y,v,c,b=1,s);var b=Math.max(1,Math.floor(o-v*d/g));return u&&u.scrollHeight===l&&(u.scrollTop>a&&(b=Math.min(b,u.startLineNumber)),u.scrollTop<a&&(b=Math.max(b,u.startLineNumber))),new e(a,l,y,v,c,b,Math.min(s,b+p-1))},e}(),Bn=function(){function e(e){this.dy=e}return e.prototype.onContentChanged=function(){this.dy=-1},e.prototype.onTokensChanged=function(){this.dy=-1},e.INVALID=new e(-1),e}(),Fn=function(){function e(e,t,o){this.renderedLayout=e,this._imageData=t,this._renderedLines=new ho((function(){return Bn.INVALID})),this._renderedLines._set(e.startLineNumber,o)}return e.prototype.linesEquals=function(e){if(this.renderedLayout.startLineNumber!==e.startLineNumber)return!1;if(this.renderedLayout.endLineNumber!==e.endLineNumber)return!1;for(var t=this._renderedLines._get().lines,o=0,n=t.length;o<n;o++)if(-1===t[o].dy)return!1;return!0},e.prototype._get=function(){var e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}},e.prototype.onLinesChanged=function(e){return this._renderedLines.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){this._renderedLines.onLinesDeleted(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesInserted=function(e){this._renderedLines.onLinesInserted(e.fromLineNumber,e.toLineNumber)},e.prototype.onTokensChanged=function(e){return this._renderedLines.onTokensChanged(e.ranges)},e}(),Hn=function(){function e(t,o,n,i){this._backgroundFillData=e._createBackgroundFillData(o,n,i),this._buffers=[t.createImageData(o,n),t.createImageData(o,n)],this._lastUsedBuffer=0}return e.prototype.getBuffer=function(){this._lastUsedBuffer=1-this._lastUsedBuffer;var e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e},e._createBackgroundFillData=function(e,t,o){for(var n=o.r,i=o.g,r=o.b,s=new Uint8ClampedArray(e*t*4),a=0,l=0;l<t;l++)for(var u=0;u<e;u++)s[a]=n,s[a+1]=i,s[a+2]=r,s[a+3]=255,a+=4;return s},e}(),Un=function(e){function t(t){var o=e.call(this,t)||this;return o._options=new xn(o._context.configuration),o._lastRenderData=null,o._buffers=null,o._domNode=Object(He.b)(document.createElement("div")),Xe.write(o._domNode,8),o._domNode.setClassName(o._getMinimapDomNodeClassName()),o._domNode.setPosition("absolute"),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o._shadow=Object(He.b)(document.createElement("div")),o._shadow.setClassName("minimap-shadow-hidden"),o._domNode.appendChild(o._shadow),o._canvas=Object(He.b)(document.createElement("canvas")),o._canvas.setPosition("absolute"),o._canvas.setLeft(0),o._domNode.appendChild(o._canvas),o._slider=Object(He.b)(document.createElement("div")),o._slider.setPosition("absolute"),o._slider.setClassName("minimap-slider"),o._slider.setLayerHinting(!0),o._domNode.appendChild(o._slider),o._sliderHorizontal=Object(He.b)(document.createElement("div")),o._sliderHorizontal.setPosition("absolute"),o._sliderHorizontal.setClassName("minimap-slider-horizontal"),o._slider.appendChild(o._sliderHorizontal),o._tokensColorTracker=me.getInstance(),o._applyLayout(),o._mouseDownListener=r.j(o._canvas.domNode,"mousedown",(function(e){e.preventDefault();var t=o._options.renderMinimap;if(0!==t&&o._lastRenderData){var n=Dn(t),i=o._options.pixelRatio*e.browserEvent.offsetY,r=Math.floor(i/n)+o._lastRenderData.renderedLayout.startLineNumber;r=Math.min(r,o._context.model.getLineCount()),o._context.privateViewEventBus.emit(new M(new _.a(r,1,r,1),1,!1,0))}})),o._sliderMouseMoveMonitor=new ht.a,o._sliderMouseDownListener=r.j(o._slider.domNode,"mousedown",(function(e){if(e.preventDefault(),e.leftButton&&o._lastRenderData){var t=e.posy,n=e.posx,i=o._lastRenderData.renderedLayout;o._slider.toggleClassName("active",!0),o._sliderMouseMoveMonitor.startMonitoring(ht.b,(function(e){var r=Math.abs(e.posx-n);if(We.g&&r>Pn)o._context.viewLayout.setScrollPositionNow({scrollTop:i.scrollTop});else{var s=e.posy-t;o._context.viewLayout.setScrollPositionNow({scrollTop:i.getDesiredScrollTopFromDelta(s)})}}),(function(){o._slider.toggleClassName("active",!1)}))}})),o}return In(t,e),t.prototype.dispose=function(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),e.prototype.dispose.call(this)},t.prototype._getMinimapDomNodeClassName=function(){return"always"===this._options.showSlider?"minimap slider-always":"minimap slider-mouseover"},t.prototype.getDomNode=function(){return this._domNode},t.prototype._applyLayout=function(){this._domNode.setLeft(this._options.minimapLeft),this._domNode.setWidth(this._options.minimapWidth),this._domNode.setHeight(this._options.minimapHeight),this._shadow.setHeight(this._options.minimapHeight),this._canvas.setWidth(this._options.canvasOuterWidth),this._canvas.setHeight(this._options.canvasOuterHeight),this._canvas.domNode.width=this._options.canvasInnerWidth,this._canvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new Hn(this._canvas.domNode.getContext("2d"),this._options.canvasInnerWidth,this._options.canvasInnerHeight,this._tokensColorTracker.getColor(2))),this._buffers.getBuffer()},t.prototype._onOptionsMaybeChanged=function(){var e=new xn(this._context.configuration);return!this._options.equals(e)&&(this._options=e,this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName()),!0)},t.prototype.onConfigurationChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.onFlushed=function(e){return this._lastRenderData=null,!0},t.prototype.onLinesChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e),!0},t.prototype.onLinesInserted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)},t.prototype.onTokensColorsChanged=function(e){return this._lastRenderData=null,this._buffers=null,!0},t.prototype.onZonesChanged=function(e){return this._lastRenderData=null,!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){if(0===this._options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");var t=Mn.create(this._options,e.visibleRange.startLineNumber,e.visibleRange.endLineNumber,e.viewportHeight,e.viewportData.whitespaceViewportData.length>0,this._context.model.getLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight);var o=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,n=Math.min(this._options.minimapWidth,Math.round(o*An(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(n),this._sliderHorizontal.setWidth(this._options.minimapWidth-n),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this._lastRenderData=this.renderLines(t)},t.prototype.renderLines=function(e){var o=this._options.renderMinimap,n=e.startLineNumber,i=e.endLineNumber,r=Dn(o);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new Fn(e,s.imageData,s.lines)}for(var a=this._getBuffer(),l=t._renderUntouchedLines(a,n,i,r,this._lastRenderData),u=l[0],c=l[1],h=l[2],d=this._context.model.getMinimapLinesRenderingData(n,i,h),g=d.tabSize,p=this._tokensColorTracker.getColor(2),f=this._tokensColorTracker.backgroundIsLight(),m=0,_=[],y=0,v=i-n+1;y<v;y++)h[y]&&t._renderLine(a,p,f,o,this._tokensColorTracker,Rn(),m,g,d.data[y]),_[y]=new Bn(m),m+=r;var b=-1===u?0:u,E=(-1===c?a.height:c)-b;return this._canvas.domNode.getContext("2d").putImageData(a,0,0,0,b,a.width,E),new Fn(e,a,_)},t._renderUntouchedLines=function(e,t,o,n,i){var r=[];if(!i){for(var s=0,a=o-t+1;s<a;s++)r[s]=!0;return[-1,-1,r]}for(var l=i._get(),u=l.imageData.data,c=l.rendLineNumberStart,h=l.lines,d=h.length,g=e.width,p=e.data,f=(o-t+1)*n*g*4,m=-1,_=-1,y=-1,v=-1,b=-1,E=-1,C=0,S=t;S<=o;S++){var T=S-t,w=S-c,k=w>=0&&w<d?h[w].dy:-1;if(-1!==k){var O=k*g*4,R=(k+n)*g*4,L=C*g*4,N=(C+n)*g*4;v===O&&E===L?(v=R,E=N):(-1!==y&&(p.set(u.subarray(y,v),b),-1===m&&0===y&&y===b&&(m=v),-1===_&&v===f&&y===b&&(_=y)),y=O,v=R,b=L,E=N),r[T]=!1,C+=n}else r[T]=!0,C+=n}return-1!==y&&(p.set(u.subarray(y,v),b),-1===m&&0===y&&y===b&&(m=v),-1===_&&v===f&&y===b&&(_=y)),[-1===m?-1:m/(4*g),-1===_?-1:_/(4*g),r]},t._renderLine=function(e,t,o,n,i,r,s,a,l){for(var u=l.content,c=l.tokens,h=An(n),d=e.width-h,g=0,f=0,m=0,_=0,y=c.getCount();_<y;_++)for(var v=c.getEndOffset(_),b=c.getForeground(_),E=i.getColor(b);f<v;f++){if(g>d)return;var C=u.charCodeAt(f);if(9===C){var S=a-(f+m)%a;m+=S-1,g+=S*h}else if(32===C)g+=h;else for(var T=p.isFullWidthCharacter(C)?2:1,w=0;w<T;w++)if(2===n?r.x2RenderChar(e,g,s,C,E,t,o):1===n?r.x1RenderChar(e,g,s,C,E,t,o):4===n?r.x2BlockRenderChar(e,g,s,E,t,o):r.x1BlockRenderChar(e,g,s,E,t,o),(g+=h)>d)return}},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(en.nb);if(o){var n=o.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+n+"; }")}var i=e.getColor(en.ob);if(i){var r=i.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+r+"; }")}var s=e.getColor(en.mb);if(s){var a=s.transparent(.5);t.addRule(".monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: "+a+"; }")}var l=e.getColor(en.lb);l&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+l+" -6px 0 6px -6px inset; }")}));var Vn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Wn=function(e){function t(t,o,n,i,r,s){var a=e.call(this)||this;a._cursor=r,a._renderAnimationFrame=null,a.outgoingEvents=new bn(i);var l=new lo(o,i,s,a.outgoingEvents,t);return a.eventDispatcher=new uo((function(e){return a._renderOnce(e)})),a.eventDispatcher.addEventHandler(a),a._context=new yn(o,n.getTheme(),i,a.eventDispatcher),a._register(n.onThemeChange((function(e){a._context.theme=e,a.eventDispatcher.emit(new H),a.render(!0,!1)}))),a.viewParts=[],a._textAreaHandler=new at(a._context,l,a.createTextAreaHandlerHelper()),a.viewParts.push(a._textAreaHandler),a.createViewParts(),a._setLayout(),a.pointerHandler=new so(a._context,l,a.createPointerHandlerHelper()),a._register(i.addEventListener((function(e){a.eventDispatcher.emitMany(e)}))),a._register(a._cursor.addEventListener((function(e){a.eventDispatcher.emitMany(e)}))),a}return Vn(t,e),t.prototype.createViewParts=function(){this.linesContent=Object(He.b)(document.createElement("div")),this.linesContent.setClassName("lines-content monaco-editor-background"),this.linesContent.setPosition("absolute"),this.domNode=Object(He.b)(document.createElement("div")),this.domNode.setClassName(this.getEditorClassName()),this.overflowGuardContainer=Object(He.b)(document.createElement("div")),Xe.write(this.overflowGuardContainer,3),this.overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new wn(this._context,this.linesContent,this.domNode,this.overflowGuardContainer),this.viewParts.push(this._scrollbar),this.viewLines=new Ho(this._context,this.linesContent),this.viewZones=new _n(this._context),this.viewParts.push(this.viewZones);var e=new Xo(this._context);this.viewParts.push(e);var t=new on(this._context);this.viewParts.push(t);var o=new yo(this._context);this.viewParts.push(o),o.addDynamicOverlay(new wo(this._context)),o.addDynamicOverlay(new cn(this._context)),o.addDynamicOverlay(new xo(this._context)),o.addDynamicOverlay(new Lo(this._context));var n=new vo(this._context);this.viewParts.push(n),n.addDynamicOverlay(new Oo(this._context)),n.addDynamicOverlay(new Ao(this._context)),n.addDynamicOverlay(new jo(this._context)),n.addDynamicOverlay(new Vo(this._context)),n.addDynamicOverlay(new tt(this._context));var i=new $e(this._context);i.getDomNode().appendChild(this.viewZones.marginDomNode),i.getDomNode().appendChild(n.getDomNode()),this.viewParts.push(i),this.contentWidgets=new Co(this._context,this.domNode),this.viewParts.push(this.contentWidgets),this.viewCursors=new fn(this._context),this.viewParts.push(this.viewCursors),this.overlayWidgets=new zo(this._context),this.viewParts.push(this.overlayWidgets);var r=new Qo(this._context);this.viewParts.push(r);var s=new Un(this._context);if(this.viewParts.push(s),e){var a=this._scrollbar.getOverviewRulerLayoutInfo();a.parent.insertBefore(e.getDomNode(),a.insertBefore)}this.linesContent.appendChild(o.getDomNode()),this.linesContent.appendChild(r.domNode),this.linesContent.appendChild(this.viewZones.domNode),this.linesContent.appendChild(this.viewLines.getDomNode()),this.linesContent.appendChild(this.contentWidgets.domNode),this.linesContent.appendChild(this.viewCursors.getDomNode()),this.overflowGuardContainer.appendChild(i.getDomNode()),this.overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this.overflowGuardContainer.appendChild(t.getDomNode()),this.overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this.overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this.overflowGuardContainer.appendChild(this.overlayWidgets.getDomNode()),this.overflowGuardContainer.appendChild(s.getDomNode()),this.domNode.appendChild(this.overflowGuardContainer),this.domNode.appendChild(this.contentWidgets.overflowingContentWidgetsDomNode)},t.prototype._flushAccumulatedAndRenderNow=function(){this._renderNow()},t.prototype.createPointerHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode.domNode,linesContentDomNode:this.linesContent.domNode,focusTextArea:function(){e.focus()},getLastViewCursorsRenderData:function(){return e.viewCursors.getLastRenderData()||[]},shouldSuppressMouseDownOnViewZone:function(t){return e.viewZones.shouldSuppressMouseDownOnViewZone(t)},shouldSuppressMouseDownOnWidget:function(t){return e.contentWidgets.shouldSuppressMouseDownOnWidget(t)},getPositionFromDOMInfo:function(t,o){return e._flushAccumulatedAndRenderNow(),e.viewLines.getPositionFromDOMInfo(t,o)},visibleRangeForPosition2:function(t,o){e._flushAccumulatedAndRenderNow();var n=e.viewLines.visibleRangesForRange2(new _.a(t,o,t,o));return n?n[0]:null},getLineWidth:function(t){return e._flushAccumulatedAndRenderNow(),e.viewLines.getLineWidth(t)}}},t.prototype.createTextAreaHandlerHelper=function(){var e=this;return{visibleRangeForPositionRelativeToEditor:function(t,o){e._flushAccumulatedAndRenderNow();var n=e.viewLines.visibleRangesForRange2(new _.a(t,o,t,o));return n?n[0]:null}}},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this.overflowGuardContainer.setWidth(e.width),this.overflowGuardContainer.setHeight(e.height),this.linesContent.setWidth(1e6),this.linesContent.setHeight(1e6)},t.prototype.getEditorClassName=function(){var e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.editor.editorClassName+" "+Object(Fe.d)(this._context.theme.type)+e},t.prototype.onConfigurationChanged=function(e){return e.editorClassName&&this.domNode.setClassName(this.getEditorClassName()),e.layoutInfo&&this._setLayout(),!1},t.prototype.onFocusChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),this._context.model.setHasFocus(e.isFocused),e.isFocused?this.outgoingEvents.emitViewFocusGained():this.outgoingEvents.emitViewFocusLost(),!1},t.prototype.onScrollChanged=function(e){return this.outgoingEvents.emitScrollChanged(e),!1},t.prototype.onThemeChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),!1},t.prototype.dispose=function(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this.eventDispatcher.removeEventHandler(this),this.outgoingEvents.dispose(),this.pointerHandler.dispose(),this.viewLines.dispose();for(var t=0,o=this.viewParts.length;t<o;t++)this.viewParts[t].dispose();this.viewParts=[],e.prototype.dispose.call(this)},t.prototype._renderOnce=function(e){var t=jn(e);return this._scheduleRender(),t},t.prototype._scheduleRender=function(){null===this._renderAnimationFrame&&(this._renderAnimationFrame=r.J(this._onRenderScheduled.bind(this),100))},t.prototype._onRenderScheduled=function(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()},t.prototype._renderNow=function(){var e=this;jn((function(){return e._actualRender()}))},t.prototype._getViewPartsToRender=function(){for(var e=[],t=0,o=0,n=this.viewParts.length;o<n;o++){var i=this.viewParts[o];i.shouldRender()&&(e[t++]=i)}return e},t.prototype._actualRender=function(){if(r.D(this.domNode.domNode)){var e=this._getViewPartsToRender();if(this.viewLines.shouldRender()||0!==e.length){var t=this._context.viewLayout.getLinesViewportData();this._context.model.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);var o=new Cn(this._cursor.getViewSelections(),t,this._context.viewLayout.getWhitespaceViewportData(),this._context.model);this.contentWidgets.shouldRender()&&this.contentWidgets.onBeforeRender(o),this.viewLines.shouldRender()&&(this.viewLines.renderText(o),this.viewLines.onDidRender(),e=this._getViewPartsToRender());for(var n=new St(this._context.viewLayout,o,this.viewLines),i=0,s=e.length;i<s;i++){(a=e[i]).prepareRender(n)}for(i=0,s=e.length;i<s;i++){var a;(a=e[i]).render(n),a.onDidRender()}}}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.restoreState=function(e){this._context.viewLayout.setScrollPositionNow({scrollTop:e.scrollTop}),this._renderNow(),this.viewLines.updateLineWidths(),this._context.viewLayout.setScrollPositionNow({scrollLeft:e.scrollLeft})},t.prototype.getOffsetForColumn=function(e,t){var o=this._context.model.validateModelPosition({lineNumber:e,column:t}),n=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(o);this._flushAccumulatedAndRenderNow();var i=this.viewLines.visibleRangesForRange2(new _.a(n.lineNumber,n.column,n.lineNumber,n.column));return i?i[0].left:-1},t.prototype.getTargetAtClientPoint=function(e,t){return this.pointerHandler.getTargetAtClientPoint(e,t)},t.prototype.getInternalEventBus=function(){return this.outgoingEvents},t.prototype.createOverviewRuler=function(e){return new Jo(this._context,e)},t.prototype.change=function(e){var t=this,o=!1;return this._renderOnce((function(){var n={addZone:function(e){return o=!0,t.viewZones.addZone(e)},removeZone:function(e){e&&(o=t.viewZones.removeZone(e)||o)},layoutZone:function(e){e&&(o=t.viewZones.layoutZone(e)||o)}};!function(e,t){try{e(t)}catch(e){Object(s.e)(e)}}(e,n),n.addZone=null,n.removeZone=null,o&&(t._context.viewLayout.onHeightMaybeChanged(),t._context.privateViewEventBus.emit(new V))})),o},t.prototype.render=function(e,t){if(t){this.viewLines.forceShouldRender();for(var o=0,n=this.viewParts.length;o<n;o++){this.viewParts[o].forceShouldRender()}}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()},t.prototype.focus=function(){this._textAreaHandler.focusTextArea()},t.prototype.isFocused=function(){return this._textAreaHandler.isFocused()},t.prototype.addContentWidget=function(e){this.contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()},t.prototype.layoutContentWidget=function(e){var t=e.position?e.position.position:null,o=e.position?e.position.preference:null;this.contentWidgets.setWidgetPosition(e.widget,t,o),this._scheduleRender()},t.prototype.removeContentWidget=function(e){this.contentWidgets.removeWidget(e.widget),this._scheduleRender()},t.prototype.addOverlayWidget=function(e){this.overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()},t.prototype.layoutOverlayWidget=function(e){var t=e.position?e.position.preference:null;this.overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()},t.prototype.removeOverlayWidget=function(e){this.overlayWidgets.removeWidget(e.widget),this._scheduleRender()},t}(Ve);function jn(e){try{return e()}catch(e){Object(s.e)(e)}}var Gn=o(3),zn=o(206);o.d(t,"a",(function(){return Jn}));var Kn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Yn=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Xn=function(e,t){return function(o,n){t(o,n,e)}},qn=0,$n="showUnused",Jn=function(e){function t(t,o,n,i,r,l,u,c,g){var p=e.call(this)||this;p._onDidDispose=p._register(new a.a),p.onDidDispose=p._onDidDispose.event,p._onDidChangeModelContent=p._register(new a.a),p.onDidChangeModelContent=p._onDidChangeModelContent.event,p._onDidChangeModelLanguage=p._register(new a.a),p.onDidChangeModelLanguage=p._onDidChangeModelLanguage.event,p._onDidChangeModelLanguageConfiguration=p._register(new a.a),p.onDidChangeModelLanguageConfiguration=p._onDidChangeModelLanguageConfiguration.event,p._onDidChangeModelOptions=p._register(new a.a),p.onDidChangeModelOptions=p._onDidChangeModelOptions.event,p._onDidChangeModelDecorations=p._register(new a.a),p.onDidChangeModelDecorations=p._onDidChangeModelDecorations.event,p._onDidChangeConfiguration=p._register(new a.a),p.onDidChangeConfiguration=p._onDidChangeConfiguration.event,p._onDidChangeModel=p._register(new a.a),p.onDidChangeModel=p._onDidChangeModel.event,p._onDidChangeCursorPosition=p._register(new a.a),p.onDidChangeCursorPosition=p._onDidChangeCursorPosition.event,p._onDidChangeCursorSelection=p._register(new a.a),p.onDidChangeCursorSelection=p._onDidChangeCursorSelection.event,p._onDidAttemptReadOnlyEdit=p._register(new a.a),p.onDidAttemptReadOnlyEdit=p._onDidAttemptReadOnlyEdit.event,p._onDidLayoutChange=p._register(new a.a),p.onDidLayoutChange=p._onDidLayoutChange.event,p._editorTextFocus=p._register(new Zn),p.onDidFocusEditorText=p._editorTextFocus.onDidChangeToTrue,p.onDidBlurEditorText=p._editorTextFocus.onDidChangeToFalse,p._editorWidgetFocus=p._register(new Zn),p.onDidFocusEditorWidget=p._editorWidgetFocus.onDidChangeToTrue,p.onDidBlurEditorWidget=p._editorWidgetFocus.onDidChangeToFalse,p._onWillType=p._register(new a.a),p.onWillType=p._onWillType.event,p._onDidType=p._register(new a.a),p.onDidType=p._onDidType.event,p._onDidPaste=p._register(new a.a),p.onDidPaste=p._onDidPaste.event,p._onMouseUp=p._register(new a.a),p.onMouseUp=p._onMouseUp.event,p._onMouseDown=p._register(new a.a),p.onMouseDown=p._onMouseDown.event,p._onMouseDrag=p._register(new a.a),p.onMouseDrag=p._onMouseDrag.event,p._onMouseDrop=p._register(new a.a),p.onMouseDrop=p._onMouseDrop.event,p._onContextMenu=p._register(new a.a),p.onContextMenu=p._onContextMenu.event,p._onMouseMove=p._register(new a.a),p.onMouseMove=p._onMouseMove.event,p._onMouseLeave=p._register(new a.a),p.onMouseLeave=p._onMouseLeave.event,p._onKeyUp=p._register(new a.a),p.onKeyUp=p._onKeyUp.event,p._onKeyDown=p._register(new a.a),p.onKeyDown=p._onKeyDown.event,p._onDidScrollChange=p._register(new a.a),p.onDidScrollChange=p._onDidScrollChange.event,p._onDidChangeViewZones=p._register(new a.a),p.onDidChangeViewZones=p._onDidChangeViewZones.event,p.domElement=t,p.id=++qn,p._decorationTypeKeysToIds={},p._decorationTypeSubtypes={},p.isSimpleWidget=n.isSimpleWidget||!1,p._telemetryData=n.telemetryData||null,o=o||{},p._configuration=p._register(p._createConfiguration(o)),p._register(p._configuration.onDidChange((function(e){p._onDidChangeConfiguration.fire(e),e.layoutInfo&&p._onDidLayoutChange.fire(p._configuration.editor.layoutInfo),p._configuration.editor.showUnused?p.domElement.classList.add($n):p.domElement.classList.remove($n)}))),p._contextKeyService=p._register(u.createScoped(p.domElement)),p._notificationService=g,p._codeEditorService=r,p._commandService=l,p._themeService=c,p._register(new Qn(p,p._contextKeyService)),p._register(new ei(p,p._contextKeyService)),p._instantiationService=i.createChild(new h.a([d.e,p._contextKeyService])),p._attachModel(null),p._contributions={},p._actions={},p._focusTracker=new ti(t),p._focusTracker.onChange((function(){p._editorWidgetFocus.setValue(p._focusTracker.hasFocus())})),p.contentWidgets={},p.overlayWidgets={};var f=n.contributions;Array.isArray(f)||(f=Gn.d.getEditorContributions());for(var m=0,_=f.length;m<_;m++){var y=f[m];try{var v=p._instantiationService.createInstance(y,p);p._contributions[v.getId()]=v}catch(e){Object(s.e)(e)}}return Gn.d.getEditorActions().forEach((function(e){var t=new zn.a(e.id,e.label,e.alias,e.precondition,(function(){return p._instantiationService.invokeFunction((function(t){return e.runEditorCommand(t,p,null)}))}),p._contextKeyService);p._actions[t.id]=t})),p._codeEditorService.addCodeEditor(p),p}return Kn(t,e),t.prototype._createConfiguration=function(e){return new g.a(e,this.domElement)},t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return C.a.ICodeEditor},t.prototype.dispose=function(){this._codeEditorService.removeCodeEditor(this),this.contentWidgets={},this.overlayWidgets={},this._focusTracker.dispose();for(var t=Object.keys(this._contributions),o=0,n=t.length;o<n;o++){var i=t[o];this._contributions[i].dispose()}this._contributions={},this._actions={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.invokeWithinContext=function(e){return this._instantiationService.invokeFunction(e)},t.prototype.updateOptions=function(e){this._configuration.updateOptions(e)},t.prototype.getConfiguration=function(){return this._configuration.editor},t.prototype.getRawConfiguration=function(){return this._configuration.getRawOptions()},t.prototype.getValue=function(e){if(void 0===e&&(e=null),this.model){var t=!(!e||!e.preserveBOM),o=v.c.TextDefined;return e&&e.lineEnding&&"\n"===e.lineEnding?o=v.c.LF:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(o=v.c.CRLF),this.model.getValue(o,t)}return""},t.prototype.setValue=function(e){this.model&&this.model.setValue(e)},t.prototype.getModel=function(){return this.model},t.prototype.setModel=function(e){if(void 0===e&&(e=null),this.model!==e){var t=this._detachModel();this._attachModel(e);var o={oldModelUrl:t?t.uri:null,newModelUrl:e?e.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(o),this._postDetachModelCleanup(t)}},t.prototype._removeDecorationTypes=function(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(var e in this._decorationTypeSubtypes){var t=this._decorationTypeSubtypes[e];for(var o in t)this._removeDecorationType(e+"-"+o)}this._decorationTypeSubtypes={}}},t.prototype.getVisibleRanges=function(){return this.hasView?this.viewModel.getVisibleRanges():[]},t.prototype.getWhitespaces=function(){return this.hasView?this.viewModel.viewLayout.getWhitespaces():[]},t.prototype._getVerticalOffsetForPosition=function(e,t){var o=this.model.validatePosition({lineNumber:e,column:t}),n=this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)},t.prototype.getTopForLineNumber=function(e){return this.hasView?this._getVerticalOffsetForPosition(e,1):-1},t.prototype.getTopForPosition=function(e,t){return this.hasView?this._getVerticalOffsetForPosition(e,t):-1},t.prototype.setHiddenAreas=function(e){this.viewModel&&this.viewModel.setHiddenAreas(e.map((function(e){return _.a.lift(e)})))},t.prototype.getVisibleColumnFromPosition=function(e){if(!this.model)return e.column;var t=this.model.validatePosition(e),o=this.model.getOptions().tabSize;return f.a.visibleColumnFromColumn(this.model.getLineContent(t.lineNumber),t.column,o)+1},t.prototype.getPosition=function(){return this.cursor?this.cursor.getPosition().clone():null},t.prototype.setPosition=function(e){if(this.cursor){if(!m.a.isIPosition(e))throw new Error("Invalid arguments");this.cursor.setSelections("api",[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}},t.prototype._sendRevealRange=function(e,t,o,n){if(this.model&&this.cursor){if(!_.a.isIRange(e))throw new Error("Invalid arguments");var i=this.model.validateRange(e),r=this.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this.cursor.emitCursorRevealRange(r,t,o,n)}},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this._revealLine(e,0,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this._revealLine(e,1,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealLine(e,2,t)},t.prototype._revealLine=function(e,t,o){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e,1,e,1),t,!1,o)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this._revealPosition(e,0,!0,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this._revealPosition(e,1,!0,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealPosition(e,2,!0,t)},t.prototype._revealPosition=function(e,t,o,n){if(!m.a.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e.lineNumber,e.column,e.lineNumber,e.column),t,o,n)},t.prototype.getSelection=function(){return this.cursor?this.cursor.getSelection().clone():null},t.prototype.getSelections=function(){if(!this.cursor)return null;for(var e=this.cursor.getSelections(),t=[],o=0,n=e.length;o<n;o++)t[o]=e[o].clone();return t},t.prototype.setSelection=function(e){var t=y.a.isISelection(e),o=_.a.isIRange(e);if(!t&&!o)throw new Error("Invalid arguments");if(t)this._setSelectionImpl(e);else if(o){var n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n)}},t.prototype._setSelectionImpl=function(e){if(this.cursor){var t=new y.a(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this.cursor.setSelections("api",[t])}},t.prototype.revealLines=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,0,o)},t.prototype.revealLinesInCenter=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,1,o)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,2,o)},t.prototype._revealLines=function(e,t,o,n){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e,1,t,1),o,!1,n)},t.prototype.revealRange=function(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=!1),void 0===n&&(n=!0),this._revealRange(e,o?1:0,n,t)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this._revealRange(e,1,!0,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealRange(e,2,!0,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this._revealRange(e,3,!0,t)},t.prototype._revealRange=function(e,t,o,n){if(!_.a.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(_.a.lift(e),t,o,n)},t.prototype.setSelections=function(e){if(this.cursor){if(!e||0===e.length)throw new Error("Invalid arguments");for(var t=0,o=e.length;t<o;t++)if(!y.a.isISelection(e[t]))throw new Error("Invalid arguments");this.cursor.setSelections("api",e)}},t.prototype.getScrollWidth=function(){return this.hasView?this.viewModel.viewLayout.getScrollWidth():-1},t.prototype.getScrollLeft=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollLeft():-1},t.prototype.getScrollHeight=function(){return this.hasView?this.viewModel.viewLayout.getScrollHeight():-1},t.prototype.getScrollTop=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollTop():-1},t.prototype.setScrollLeft=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this.viewModel.viewLayout.setScrollPositionNow({scrollLeft:e})}},t.prototype.setScrollTop=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this.viewModel.viewLayout.setScrollPositionNow({scrollTop:e})}},t.prototype.setScrollPosition=function(e){this.hasView&&this.viewModel.viewLayout.setScrollPositionNow(e)},t.prototype.saveViewState=function(){if(!this.cursor||!this.hasView)return null;for(var e={},t=Object.keys(this._contributions),o=0,n=t.length;o<n;o++){var i=t[o],r=this._contributions[i];"function"==typeof r.saveViewState&&(e[i]=r.saveViewState())}return{cursorState:this.cursor.saveState(),viewState:this.viewModel.saveState(),contributionsState:e}},t.prototype.restoreViewState=function(e){if(this.cursor&&this.hasView&&e&&e.cursorState&&e.viewState){var t=e.cursorState;Array.isArray(t)?this.cursor.restoreState(t):this.cursor.restoreState([t]);for(var o=e.contributionsState||{},n=Object.keys(this._contributions),i=0,r=n.length;i<r;i++){var s=n[i],a=this._contributions[s];"function"==typeof a.restoreViewState&&a.restoreViewState(o[s])}var l=this.viewModel.reduceRestoreState(e.viewState),u=this.viewModel.viewLayout.getLinesViewportDataAtScrollTop(l.scrollTop),c=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u.startLineNumber,1)),h=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u.endLineNumber,1));this.model.tokenizeViewport(c.lineNumber,h.lineNumber),this._view.restoreState(l)}},t.prototype.getContribution=function(e){return this._contributions[e]||null},t.prototype.getActions=function(){for(var e=[],t=Object.keys(this._actions),o=0,n=t.length;o<n;o++){var i=t[o];e.push(this._actions[i])}return e},t.prototype.getSupportedActions=function(){var e=this.getActions();return e=e.filter((function(e){return e.isSupported()}))},t.prototype.getAction=function(e){return this._actions[e]||null},t.prototype.trigger=function(e,t,o){if(o=o||{},t===C.b.Type){if(!this.cursor||"string"!=typeof o.text||0===o.text.length)return;return"keyboard"===e&&this._onWillType.fire(o.text),this.cursor.trigger(e,t,o),void("keyboard"===e&&this._onDidType.fire(o.text))}if(t!==C.b.Paste){var n=this.getAction(t);n?u.b.as(n.run()).then(null,s.e):this.cursor&&(this._triggerEditorCommand(e,t,o)||this.cursor.trigger(e,t,o))}else{if(!this.cursor||"string"!=typeof o.text||0===o.text.length)return;var i=this.cursor.getSelection().getStartPosition();this.cursor.trigger(e,t,o);var r=this.cursor.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire(new _.a(i.lineNumber,i.column,r.lineNumber,r.column))}},t.prototype._triggerEditorCommand=function(e,t,o){var n=Gn.d.getEditorCommand(t);return!!n&&((o=o||{}).source=e,u.b.as(n.runEditorCommand(null,this,o)).done(null,s.e),!0)},t.prototype._getCursors=function(){return this.cursor},t.prototype._getCursorConfiguration=function(){return this.cursor.context.config},t.prototype.pushUndoStop=function(){return!!this.model&&(!this._configuration.editor.readOnly&&(this.model.pushStackElement(),!0))},t.prototype.executeEdits=function(e,t,o){return!!this.cursor&&(!this._configuration.editor.readOnly&&(this.model.pushEditOperations(this.cursor.getSelections(),t,(function(){return o||null})),o&&this.cursor.setSelections(e,o),!0))},t.prototype.executeCommand=function(e,t){this.cursor&&this.cursor.trigger(e,C.b.ExecuteCommand,t)},t.prototype.executeCommands=function(e,t){this.cursor&&this.cursor.trigger(e,C.b.ExecuteCommands,t)},t.prototype.changeDecorations=function(e){return this.model?this.model.changeDecorations(e,this.id):null},t.prototype.getLineDecorations=function(e){return this.model?this.model.getLineDecorations(e,this.id,this._configuration.editor.readOnly):null},t.prototype.deltaDecorations=function(e,t){return this.model?0===e.length&&0===t.length?e:this.model.deltaDecorations(e,t,this.id):[]},t.prototype.removeDecorations=function(e){var t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]},t.prototype.getLayoutInfo=function(){return this._configuration.editor.layoutInfo},t.prototype.createOverviewRuler=function(e){return this._view.createOverviewRuler(e)},t.prototype.getDomNode=function(){return this.hasView?this._view.domNode.domNode:null},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.hasView&&this._view.delegateVerticalScrollbarMouseDown(e)},t.prototype.layout=function(e){this._configuration.observeReferenceElement(e),this.render()},t.prototype.focus=function(){this.hasView&&this._view.focus()},t.prototype.hasTextFocus=function(){return this.hasView&&this._view.isFocused()},t.prototype.hasWidgetFocus=function(){return this._focusTracker&&this._focusTracker.hasFocus()},t.prototype.addContentWidget=function(e){var t={widget:e,position:e.getPosition()};this.contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id."),this.contentWidgets[e.getId()]=t,this.hasView&&this._view.addContentWidget(t)},t.prototype.layoutContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var o=this.contentWidgets[t];o.position=e.getPosition(),this.hasView&&this._view.layoutContentWidget(o)}},t.prototype.removeContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var o=this.contentWidgets[t];delete this.contentWidgets[t],this.hasView&&this._view.removeContentWidget(o)}},t.prototype.addOverlayWidget=function(e){var t={widget:e,position:e.getPosition()};this.overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this.overlayWidgets[e.getId()]=t,this.hasView&&this._view.addOverlayWidget(t)},t.prototype.layoutOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var o=this.overlayWidgets[t];o.position=e.getPosition(),this.hasView&&this._view.layoutOverlayWidget(o)}},t.prototype.removeOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var o=this.overlayWidgets[t];delete this.overlayWidgets[t],this.hasView&&this._view.removeOverlayWidget(o)}},t.prototype.changeViewZones=function(e){this.hasView&&(this._view.change(e)&&this._onDidChangeViewZones.fire())},t.prototype.getTargetAtClientPoint=function(e,t){return this.hasView?this._view.getTargetAtClientPoint(e,t):null},t.prototype.getScrolledVisiblePosition=function(e){if(!this.hasView)return null;var t=this.model.validatePosition(e),o=this._configuration.editor.layoutInfo;return{top:this._getVerticalOffsetForPosition(t.lineNumber,t.column)-this.getScrollTop(),left:this._view.getOffsetForColumn(t.lineNumber,t.column)+o.glyphMarginWidth+o.lineNumbersWidth+o.decorationsWidth-this.getScrollLeft(),height:this._configuration.editor.lineHeight}},t.prototype.getOffsetForColumn=function(e,t){return this.hasView?this._view.getOffsetForColumn(e,t):-1},t.prototype.render=function(){this.hasView&&this._view.render(!0,!1)},t.prototype.applyFontInfo=function(e){g.a.applyFontInfoSlow(e,this._configuration.editor.fontInfo)},t.prototype._attachModel=function(e){var t=this;if(this._view=null,this.model=e||null,this.listenersToRemove=[],this.viewModel=null,this.cursor=null,this.model?(this.domElement.setAttribute("data-mode-id",this.model.getLanguageIdentifier().language),this._configuration.setIsDominatedByLongLines(this.model.isDominatedByLongLines()),this._configuration.setMaxLineNumber(this.model.getLineCount()),this.model.onBeforeAttached(),this.viewModel=new De(this.id,this._configuration,this.model,(function(e){return r.L(e)})),this.listenersToRemove.push(this.model.onDidChangeDecorations((function(e){return t._onDidChangeModelDecorations.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeLanguage((function(e){t.model&&(t.domElement.setAttribute("data-mode-id",t.model.getLanguageIdentifier().language),t._onDidChangeModelLanguage.fire(e))}))),this.listenersToRemove.push(this.model.onDidChangeLanguageConfiguration((function(e){return t._onDidChangeModelLanguageConfiguration.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeContent((function(e){return t._onDidChangeModelContent.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeOptions((function(e){return t._onDidChangeModelOptions.fire(e)}))),this.listenersToRemove.push(this.model.onWillDispose((function(){return t.setModel(null)}))),this.cursor=new q(this._configuration,this.model,this.viewModel),this._createView(),this.listenersToRemove.push(this.cursor.onDidReachMaxCursorCount((function(){t._notificationService.warn(i.a("cursors.maximum","The number of cursors has been limited to {0}.",q.MAX_CURSOR_COUNT))}))),this.listenersToRemove.push(this.cursor.onDidAttemptReadOnlyEdit((function(){t._onDidAttemptReadOnlyEdit.fire(void 0)}))),this.listenersToRemove.push(this.cursor.onDidChange((function(e){for(var o=[],n=0,i=e.selections.length;n<i;n++)o[n]=e.selections[n].getPosition();var r={position:o[0],secondaryPositions:o.slice(1),reason:e.reason,source:e.source};t._onDidChangeCursorPosition.fire(r);var s={selection:e.selections[0],secondarySelections:e.selections.slice(1),source:e.source,reason:e.reason};t._onDidChangeCursorSelection.fire(s)})))):this.hasView=!1,this._view){this.domElement.appendChild(this._view.domNode.domNode);for(var o=Object.keys(this.contentWidgets),n=0,s=o.length;n<s;n++){var a=o[n];this._view.addContentWidget(this.contentWidgets[a])}for(n=0,s=(o=Object.keys(this.overlayWidgets)).length;n<s;n++){a=o[n];this._view.addOverlayWidget(this.overlayWidgets[a])}this._view.render(!1,!0),this.hasView=!0,this._view.domNode.domNode.setAttribute("data-uri",e.uri.toString())}},t.prototype._createView=function(){var e,t=this;e=this.isSimpleWidget?{paste:function(e,o,n,i){t.trigger(e,C.b.Paste,{text:o,pasteOnNewLine:n,multicursorText:i})},type:function(e,o){t.trigger(e,C.b.Type,{text:o})},replacePreviousChar:function(e,o,n){t.trigger(e,C.b.ReplacePreviousChar,{text:o,replaceCharCnt:n})},compositionStart:function(e){t.trigger(e,C.b.CompositionStart,void 0)},compositionEnd:function(e){t.trigger(e,C.b.CompositionEnd,void 0)},cut:function(e){t.trigger(e,C.b.Cut,void 0)}}:{paste:function(e,o,n,i){t._commandService.executeCommand(C.b.Paste,{text:o,pasteOnNewLine:n,multicursorText:i})},type:function(e,o){t._commandService.executeCommand(C.b.Type,{text:o})},replacePreviousChar:function(e,o,n){t._commandService.executeCommand(C.b.ReplacePreviousChar,{text:o,replaceCharCnt:n})},compositionStart:function(e){t._commandService.executeCommand(C.b.CompositionStart,{})},compositionEnd:function(e){t._commandService.executeCommand(C.b.CompositionEnd,{})},cut:function(e){t._commandService.executeCommand(C.b.Cut,{})}},this._view=new Wn(e,this._configuration,this._themeService,this.viewModel,this.cursor,(function(e,o){t.cursor&&e.runCoreEditorCommand(t.cursor,o)}));var o=this._view.getInternalEventBus();o.onDidGainFocus=function(){t._editorTextFocus.setValue(!0),t._editorWidgetFocus.setValue(!0)},o.onDidScroll=function(e){return t._onDidScrollChange.fire(e)},o.onDidLoseFocus=function(){return t._editorTextFocus.setValue(!1)},o.onContextMenu=function(e){return t._onContextMenu.fire(e)},o.onMouseDown=function(e){return t._onMouseDown.fire(e)},o.onMouseUp=function(e){return t._onMouseUp.fire(e)},o.onMouseDrag=function(e){return t._onMouseDrag.fire(e)},o.onMouseDrop=function(e){return t._onMouseDrop.fire(e)},o.onKeyUp=function(e){return t._onKeyUp.fire(e)},o.onMouseMove=function(e){return t._onMouseMove.fire(e)},o.onMouseLeave=function(e){return t._onMouseLeave.fire(e)},o.onKeyDown=function(e){return t._onKeyDown.fire(e)}},t.prototype._postDetachModelCleanup=function(e){e&&e.removeAllDecorationsWithOwnerId(this.id)},t.prototype._detachModel=function(){var e=null;this._view&&(this._view.dispose(),e=this._view.domNode.domNode,this._view=null),this.model&&this.model.onBeforeDetached(),this.hasView=!1,this.listenersToRemove=Object(l.d)(this.listenersToRemove),this.cursor&&(this.cursor.dispose(),this.cursor=null),this.viewModel&&(this.viewModel.dispose(),this.viewModel=null);var t=this.model;return this.model=null,this.domElement.removeAttribute("data-mode-id"),e&&this.domElement.removeChild(e),t},t.prototype._removeDecorationType=function(e){this._codeEditorService.removeDecorationType(e)},t.prototype.getTelemetryData=function(){return this._telemetryData},t=Yn([Xn(3,c.a),Xn(4,Me.a),Xn(5,Be.b),Xn(6,d.e),Xn(7,Fe.c),Xn(8,xe.a)],t)}(l.a),Zn=function(e){function t(){var t=e.call(this)||this;return t._onDidChangeToTrue=t._register(new a.a),t.onDidChangeToTrue=t._onDidChangeToTrue.event,t._onDidChangeToFalse=t._register(new a.a),t.onDidChangeToFalse=t._onDidChangeToFalse.event,t._value=0,t}return Kn(t,e),t.prototype.setValue=function(e){var t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())},t}(l.a),Qn=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,o.createKey("editorId",t.getId()),n._editorFocus=Ae.a.focus.bindTo(o),n._textInputFocus=Ae.a.textInputFocus.bindTo(o),n._editorTextFocus=Ae.a.editorTextFocus.bindTo(o),n._editorTabMovesFocus=Ae.a.tabMovesFocus.bindTo(o),n._editorReadonly=Ae.a.readOnly.bindTo(o),n._hasMultipleSelections=Ae.a.hasMultipleSelections.bindTo(o),n._hasNonEmptySelection=Ae.a.hasNonEmptySelection.bindTo(o),n._canUndo=Ae.a.canUndo.bindTo(o),n._canRedo=Ae.a.canRedo.bindTo(o),n._register(n._editor.onDidChangeConfiguration((function(){return n._updateFromConfig()}))),n._register(n._editor.onDidChangeCursorSelection((function(){return n._updateFromSelection()}))),n._register(n._editor.onDidFocusEditorWidget((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidBlurEditorWidget((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidFocusEditorText((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidBlurEditorText((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidChangeModel((function(){return n._updateFromModel()}))),n._register(n._editor.onDidChangeConfiguration((function(){return n._updateFromModel()}))),n._updateFromConfig(),n._updateFromSelection(),n._updateFromFocus(),n._updateFromModel(),n}return Kn(t,e),t.prototype._updateFromConfig=function(){var e=this._editor.getConfiguration();this._editorTabMovesFocus.set(e.tabFocusMode),this._editorReadonly.set(e.readOnly)},t.prototype._updateFromSelection=function(){var e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some((function(e){return!e.isEmpty()})))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())},t.prototype._updateFromFocus=function(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())},t.prototype._updateFromModel=function(){var e=this._editor.getModel();this._canUndo.set(e&&e.canUndo()),this._canRedo.set(e&&e.canRedo())},t}(l.a),ei=function(e){function t(t,o){var n=e.call(this)||this;n._editor=t,n._langId=Ae.a.languageId.bindTo(o),n._hasCompletionItemProvider=Ae.a.hasCompletionItemProvider.bindTo(o),n._hasCodeActionsProvider=Ae.a.hasCodeActionsProvider.bindTo(o),n._hasCodeLensProvider=Ae.a.hasCodeLensProvider.bindTo(o),n._hasDefinitionProvider=Ae.a.hasDefinitionProvider.bindTo(o),n._hasImplementationProvider=Ae.a.hasImplementationProvider.bindTo(o),n._hasTypeDefinitionProvider=Ae.a.hasTypeDefinitionProvider.bindTo(o),n._hasHoverProvider=Ae.a.hasHoverProvider.bindTo(o),n._hasDocumentHighlightProvider=Ae.a.hasDocumentHighlightProvider.bindTo(o),n._hasDocumentSymbolProvider=Ae.a.hasDocumentSymbolProvider.bindTo(o),n._hasReferenceProvider=Ae.a.hasReferenceProvider.bindTo(o),n._hasRenameProvider=Ae.a.hasRenameProvider.bindTo(o),n._hasDocumentFormattingProvider=Ae.a.hasDocumentFormattingProvider.bindTo(o),n._hasDocumentSelectionFormattingProvider=Ae.a.hasDocumentSelectionFormattingProvider.bindTo(o),n._hasSignatureHelpProvider=Ae.a.hasSignatureHelpProvider.bindTo(o),n._isInWalkThrough=Ae.a.isInEmbeddedEditor.bindTo(o);var i=function(){return n._update()};return n._register(t.onDidChangeModel(i)),n._register(t.onDidChangeModelLanguage(i)),n._register(J.u.onDidChange(i)),n._register(J.a.onDidChange(i)),n._register(J.c.onDidChange(i)),n._register(J.e.onDidChange(i)),n._register(J.n.onDidChange(i)),n._register(J.z.onDidChange(i)),n._register(J.m.onDidChange(i)),n._register(J.h.onDidChange(i)),n._register(J.j.onDidChange(i)),n._register(J.r.onDidChange(i)),n._register(J.s.onDidChange(i)),n._register(J.f.onDidChange(i)),n._register(J.i.onDidChange(i)),n._register(J.t.onDidChange(i)),i(),n}return Kn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()},t.prototype._update=function(){var e=this._editor.getModel();e?(this._langId.set(e.getLanguageIdentifier().language),this._hasCompletionItemProvider.set(J.u.has(e)),this._hasCodeActionsProvider.set(J.a.has(e)),this._hasCodeLensProvider.set(J.c.has(e)),this._hasDefinitionProvider.set(J.e.has(e)),this._hasImplementationProvider.set(J.n.has(e)),this._hasTypeDefinitionProvider.set(J.z.has(e)),this._hasHoverProvider.set(J.m.has(e)),this._hasDocumentHighlightProvider.set(J.h.has(e)),this._hasDocumentSymbolProvider.set(J.j.has(e)),this._hasReferenceProvider.set(J.r.has(e)),this._hasRenameProvider.set(J.s.has(e)),this._hasSignatureHelpProvider.set(J.t.has(e)),this._hasDocumentFormattingProvider.set(J.f.has(e)||J.i.has(e)),this._hasDocumentSelectionFormattingProvider.set(J.i.has(e)),this._isInWalkThrough.set(e.uri.scheme===Pe.a.walkThroughSnippet)):this.reset()},t}(l.a),ti=function(e){function t(t){var o=e.call(this)||this;return o._onChange=o._register(new a.a),o.onChange=o._onChange.event,o._hasFocus=!1,o._domFocusTracker=o._register(r.O(t)),o._register(o._domFocusTracker.onDidFocus((function(){o._hasFocus=!0,o._onChange.fire(void 0)}))),o._register(o._domFocusTracker.onDidBlur((function(){o._hasFocus=!1,o._onChange.fire(void 0)}))),o}return Kn(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(l.a),oi=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),ni=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function ii(e){return oi+encodeURIComponent(e.toString())+ni}var ri=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),si=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');Object(Fe.e)((function(e,t){var o=e.getColor(Je.h);o&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+o+"; }");var n=e.getColor(Je.i);n&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+ii(n)+'") repeat-x bottom left; }');var i=e.getColor(Je.v);i&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+i+"; }");var r=e.getColor(Je.w);r&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+ii(r)+'") repeat-x bottom left; }');var s=e.getColor(Je.m);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor(Je.n);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+ii(a)+'") repeat-x bottom left; }');var l=e.getColor(Je.j);l&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+l+"; }");var u=e.getColor(Je.k);u&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(ri+encodeURIComponent(u.toString())+si)+'") no-repeat bottom left; }');var c=e.getColor(Je.u);c&&t.addRule("."+$n+" .monaco-editor .squiggly-inline-unnecessary { opacity: "+c.rgba.a+"; will-change: opacity; }");var h=e.getColor(Je.t);h&&t.addRule("."+$n+" .monaco-editor .squiggly-unnecessary { border-bottom: 2px dashed "+h+"; }")}))},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(6),r=o(12),s=o(8),a=o(3),l=o(17),u=function(){function e(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?(this._staticValue=e[0].staticValue,this._pieces=null):(this._staticValue=null,this._pieces=e):(this._staticValue="",this._pieces=null)}return e.fromStaticValue=function(t){return new e([c.staticValue(t)])},Object.defineProperty(e.prototype,"hasReplacementPatterns",{get:function(){return null===this._staticValue},enumerable:!0,configurable:!0}),e.prototype.buildReplaceString=function(t){if(null!==this._staticValue)return this._staticValue;for(var o="",n=0,i=this._pieces.length;n<i;n++){var r=this._pieces[n];null===r.staticValue?o+=e._substitute(r.matchIndex,t):o+=r.staticValue}return o},e._substitute=function(e,t){if(0===e)return t[0];for(var o="";e>0;){if(e<t.length)return(t[e]||"")+o;o=String(e%10)+o,e=Math.floor(e/10)}return"$"+o},e}(),c=function(){function e(e,t){this.staticValue=e,this.matchIndex=t}return e.staticValue=function(t){return new e(t,-1)},e.matchIndex=function(t){return new e(null,t)},e}(),h=function(){function e(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}return e.prototype.emitUnchanged=function(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e},e.prototype.emitStatic=function(e,t){this._emitStatic(e),this._lastCharIndex=t},e.prototype._emitStatic=function(e){0!==e.length&&(this._currentStaticPiece+=e)},e.prototype.emitMatchIndex=function(e,t){0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=c.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=c.matchIndex(e),this._lastCharIndex=t},e.prototype.finalize=function(){return this.emitUnchanged(this._source.length),0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=c.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new u(this._result)},e}();var d=o(43),g=o(9),p=o(2),f=o(26),m=o(7),_=o(19),y=o(18),v=function(){function e(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}return e.prototype.dispose=function(){this._editor.deltaDecorations(this._allDecorations(),[]),this._editor=null,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=null},e.prototype.reset=function(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null},e.prototype.getCount=function(){return this._decorations.length},e.prototype.getFindScope=function(){return this._findScopeDecorationId?this._editor.getModel().getDecorationRange(this._findScopeDecorationId):null},e.prototype.getStartPosition=function(){return this._startPosition},e.prototype.setStartPosition=function(e){this._startPosition=e,this.setCurrentFindMatch(null)},e.prototype._getDecorationIndex=function(e){var t=this._decorations.indexOf(e);return t>=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){for(var o=this._editor.getModel().getDecorationsInRange(t),n=0,i=o.length;n<i;n++){var r=o[n],s=r.options;if(s===e._FIND_MATCH_DECORATION||s===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(r.id)}return 1},e.prototype.setCurrentFindMatch=function(t){var o=this,n=null,i=0;if(t)for(var r=0,s=this._decorations.length;r<s;r++){var a=this._editor.getModel().getDecorationRange(this._decorations[r]);if(t.equalsRange(a)){n=this._decorations[r],i=r+1;break}}return null===this._highlightedDecorationId&&null===n||this._editor.changeDecorations((function(t){if(null!==o._highlightedDecorationId&&(t.changeDecorationOptions(o._highlightedDecorationId,e._FIND_MATCH_DECORATION),o._highlightedDecorationId=null),null!==n&&(o._highlightedDecorationId=n,t.changeDecorationOptions(o._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),null!==o._rangeHighlightDecorationId&&(t.removeDecoration(o._rangeHighlightDecorationId),o._rangeHighlightDecorationId=null),null!==n){var i=o._editor.getModel().getDecorationRange(n);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){var r=i.endLineNumber-1,s=o._editor.getModel().getLineMaxColumn(r);i=new p.a(i.startLineNumber,i.startColumn,r,s)}o._rangeHighlightDecorationId=t.addDecoration(i,e._RANGE_HIGHLIGHT_DECORATION)}})),i},e.prototype.set=function(t,o){var n=this;this._editor.changeDecorations((function(i){var r=e._FIND_MATCH_DECORATION,s=[];if(t.length>1e3){r=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=n._editor.getModel().getLineCount(),l=n._editor.getLayoutInfo().height/a,u=Math.max(2,Math.ceil(3/l)),c=t[0].range.startLineNumber,h=t[0].range.endLineNumber,d=1,g=t.length;d<g;d++){var f=t[d].range;h+u>=f.startLineNumber?f.endLineNumber>h&&(h=f.endLineNumber):(s.push({range:new p.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=f.startLineNumber,h=f.endLineNumber)}s.push({range:new p.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(d=0,g=t.length;d<g;d++)m[d]={range:t[d].range,options:r};n._decorations=i.deltaDecorations(n._decorations,m),n._overviewRulerApproximateDecorations=i.deltaDecorations(n._overviewRulerApproximateDecorations,s),n._rangeHighlightDecorationId&&(i.removeDecoration(n._rangeHighlightDecorationId),n._rangeHighlightDecorationId=null),n._findScopeDecorationId&&(i.removeDecoration(n._findScopeDecorationId),n._findScopeDecorationId=null),o&&(n._findScopeDecorationId=i.addDecoration(o,e._FIND_SCOPE_DECORATION))}))},e.prototype.matchBeforePosition=function(e){if(0===this._decorations.length)return null;for(var t=this._decorations.length-1;t>=0;t--){var o=this._decorations[t],n=this._editor.getModel().getDecorationRange(o);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])},e.prototype.matchAfterPosition=function(e){if(0===this._decorations.length)return null;for(var t=0,o=this._decorations.length;t<o;t++){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.startLineNumber<e.lineNumber)){if(i.startLineNumber>e.lineNumber)return i;if(!(i.startColumn<e.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[0])},e.prototype._allDecorations=function(){var e=[];return e=(e=e.concat(this._decorations)).concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationId&&e.push(this._findScopeDecorationId),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e},e._CURRENT_FIND_MATCH_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._FIND_MATCH_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._FIND_MATCH_NO_OVERVIEW_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"findMatch",showIfCollapsed:!0}),e._FIND_MATCH_ONLY_OVERVIEW_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._RANGE_HIGHLIGHT_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"rangeHighlight",isWholeLine:!0}),e._FIND_SCOPE_DECORATION=f.a.register({className:"findScope",isWholeLine:!0}),e}(),b=function(){function e(e,t,o){this._editorSelection=e,this._ranges=t,this._replaceStrings=o}return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var o=[],n=0;n<this._ranges.length;n++)o.push({range:this._ranges[n],text:this._replaceStrings[n]});o.sort((function(e,t){return p.a.compareRangesUsingStarts(e.range,t.range)}));var i=[],r=o[0];for(n=1;n<o.length;n++)r.range.endLineNumber===o[n].range.startLineNumber&&r.range.endColumn===o[n].range.startColumn?(r.range=r.range.plusRange(o[n].range),r.text=r.text+o[n].text):(i.push(r),r=o[n]);i.push(r);for(n=0;n<i.length;n++)t.addEditOperation(i[n].range,i[n].text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)},e}(),E=o(23),C=o(77),S=o(35),T=new r.f("findWidgetVisible",!1),w=new r.f("findInputFocussed",!1),k=new r.f("replaceInputFocussed",!1),O={primary:545,mac:{primary:2593}},R={primary:565,mac:{primary:2613}},L={primary:560,mac:{primary:2608}},N={primary:554,mac:{primary:2602}},I={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},D=function(){function e(e,t){var o=this;this._editor=e,this._state=t,this._toDispose=[],this._isDisposed=!1,this._startSearchingTimer=new l.f,this._decorations=new v(e),this._toDispose.push(this._decorations),this._updateDecorationsScheduler=new l.c((function(){return o.research(!1)}),100),this._toDispose.push(this._updateDecorationsScheduler),this._toDispose.push(this._editor.onDidChangeCursorPosition((function(e){e.reason!==S.a.Explicit&&e.reason!==S.a.Undo&&e.reason!==S.a.Redo||o._decorations.setStartPosition(o._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.push(this._editor.onDidChangeModelContent((function(e){o._ignoreModelContentChanged||(e.isFlush&&o._decorations.reset(),o._decorations.setStartPosition(o._editor.getPosition()),o._updateDecorationsScheduler.schedule())}))),this._toDispose.push(this._state.onFindReplaceStateChange((function(e){return o._onStateChanged(e)}))),this.research(!1,this._state.searchScope)}return e.prototype.dispose=function(){this._isDisposed=!0,Object(i.d)(this._startSearchingTimer),this._toDispose=Object(i.d)(this._toDispose)},e.prototype._onStateChanged=function(e){var t=this;this._isDisposed||this._editor.getModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((function(){e.searchScope?t.research(e.moveCursor,t._state.searchScope):t.research(e.moveCursor)}),240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))},e._getSearchRange=function(e,t){var o=e.getFullModelRange();return t&&(o=o.intersectRanges(t)),o},e.prototype.research=function(e,t){var o=null;null!==(o=void 0!==t?t:this._decorations.getFindScope())&&o.startLineNumber!==o.endLineNumber&&(o=new p.a(o.startLineNumber,1,o.endLineNumber,this._editor.getModel().getLineMaxColumn(o.endLineNumber)));var n=this._findMatches(o,!1,19999);this._decorations.set(n,o),this._state.changeMatchInfo(this._decorations.getCurrentMatchesPosition(this._editor.getSelection()),this._decorations.getCount(),void 0),e&&this._moveToNextMatch(this._decorations.getStartPosition())},e.prototype._hasMatches=function(){return this._state.matchesCount>0},e.prototype._cannotFind=function(){if(!this._hasMatches()){var e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1},e.prototype._setCurrentFindMatch=function(e){var t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)},e.prototype._prevSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),o=e.lineNumber,n=e.column,i=this._editor.getModel();return t||1===n?(1===o?o=i.getLineCount():o--,n=i.getLineMaxColumn(o)):n--,new g.a(o,n)},e.prototype._moveToPrevMatch=function(t,o){if(void 0===o&&(o=!1),this._decorations.getCount()<19999){var n=this._decorations.matchBeforePosition(t);return n&&n.isEmpty()&&n.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),n=this._decorations.matchBeforePosition(t)),void(n&&this._setCurrentFindMatch(n))}if(!this._cannotFind()){var i=this._decorations.getFindScope(),r=e._getSearchRange(this._editor.getModel(),i);r.getEndPosition().isBefore(t)&&(t=r.getEndPosition()),t.isBefore(r.getStartPosition())&&(t=r.getEndPosition());var s=t.lineNumber,a=t.column,l=this._editor.getModel(),u=new g.a(s,a),c=l.findPreviousMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return c&&c.range.isEmpty()&&c.range.getStartPosition().equals(u)&&(u=this._prevSearchPosition(u),c=l.findPreviousMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),c?o||r.containsRange(c.range)?void this._setCurrentFindMatch(c.range):this._moveToPrevMatch(c.range.getStartPosition(),!0):null}},e.prototype.moveToPrevMatch=function(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())},e.prototype._nextSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),o=e.lineNumber,n=e.column,i=this._editor.getModel();return t||n===i.getLineMaxColumn(o)?(o===i.getLineCount()?o=1:o++,n=1):n++,new g.a(o,n)},e.prototype._moveToNextMatch=function(e){if(this._decorations.getCount()<19999){var t=this._decorations.matchAfterPosition(e);return t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),void(t&&this._setCurrentFindMatch(t))}var o=this._getNextMatch(e,!1,!0);o&&this._setCurrentFindMatch(o.range)},e.prototype._getNextMatch=function(t,o,n,i){if(void 0===i&&(i=!1),this._cannotFind())return null;var r=this._decorations.getFindScope(),s=e._getSearchRange(this._editor.getModel(),r);s.getEndPosition().isBefore(t)&&(t=s.getStartPosition()),t.isBefore(s.getStartPosition())&&(t=s.getStartPosition());var a=t.lineNumber,l=t.column,u=this._editor.getModel(),c=new g.a(a,l),h=u.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o);return n&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),h=u.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o)),h?i||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),o,n,!0):null},e.prototype.moveToNextMatch=function(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())},e.prototype._getReplacePattern=function(){return this._state.isRegex?function(e){if(!e||0===e.length)return new u(null);for(var t=new h(e),o=0,n=e.length;o<n;o++){var i=e.charCodeAt(o);if(92!==i){if(36===i){if(++o>=n)break;if(36===(a=e.charCodeAt(o))){t.emitUnchanged(o-1),t.emitStatic("$",o+1);continue}if(48===a||38===a){t.emitUnchanged(o-1),t.emitMatchIndex(0,o+1);continue}if(49<=a&&a<=57){var r=a-48;if(o+1<n){var s=e.charCodeAt(o+1);if(48<=s&&s<=57){o++,r=10*r+(s-48),t.emitUnchanged(o-2),t.emitMatchIndex(r,o+1);continue}}t.emitUnchanged(o-1),t.emitMatchIndex(r,o+1);continue}}}else{if(++o>=n)break;var a;switch(a=e.charCodeAt(o)){case 92:t.emitUnchanged(o-1),t.emitStatic("\\",o+1);break;case 110:t.emitUnchanged(o-1),t.emitStatic("\n",o+1);break;case 116:t.emitUnchanged(o-1),t.emitStatic("\t",o+1)}}}return t.finalize()}(this._state.replaceString):u.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),o=this._getNextMatch(t.getStartPosition(),e.hasReplacementPatterns,!1);if(o)if(t.equalsRange(o.range)){var n=e.buildReplaceString(o.matches),i=new d.a(t,n);this._executeEditorCommand("replace",i),this._decorations.setStartPosition(new g.a(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(o.range)}},e.prototype._findMatches=function(t,o,n){var i=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o,n)},e.prototype.replaceAll=function(){if(this._hasMatches()){var e=this._decorations.getFindScope();null===e&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}},e.prototype._largeReplaceAll=function(){var e=new C.a(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null).parseSearchRequest();if(e){var t=e.regex;if(!t.multiline){var o="m";t.ignoreCase&&(o+="i"),t.global&&(o+="g"),t=new RegExp(t.source,o)}var n,i=this._editor.getModel(),r=i.getValue(y.c.LF),s=i.getFullModelRange(),a=this._getReplacePattern();n=a.hasReplacementPatterns?r.replace(t,(function(){return a.buildReplaceString(arguments)})):r.replace(t,a.buildReplaceString(null));var l=new d.b(s,n,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),o=this._findMatches(e,t.hasReplacementPatterns,1073741824),n=[],i=0,r=o.length;i<r;i++)n[i]=t.buildReplaceString(o[i].matches);var s=new b(this._editor.getSelection(),o.map((function(e){return e.range})),n);this._executeEditorCommand("replaceAll",s)},e.prototype.selectAllMatches=function(){if(this._hasMatches()){for(var e=this._decorations.getFindScope(),t=this._findMatches(e,!1,1073741824).map((function(e){return new E.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)})),o=this._editor.getSelection(),n=0,i=t.length;n<i;n++){if(t[n].equalsRange(o)){t=[o].concat(t.slice(0,n)).concat(t.slice(n+1));break}}this._editor.setSelections(t)}},e.prototype._executeEditorCommand=function(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}},e}(),A=o(4);function P(e,t){return 1===e||2!==e&&t}var x,M=function(){function e(){this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._onFindReplaceStateChange=new A.a}return Object.defineProperty(e.prototype,"searchString",{get:function(){return this._searchString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"replaceString",{get:function(){return this._replaceString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isRevealed",{get:function(){return this._isRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isReplaceRevealed",{get:function(){return this._isReplaceRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isRegex",{get:function(){return P(this._isRegexOverride,this._isRegex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"wholeWord",{get:function(){return P(this._wholeWordOverride,this._wholeWord)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchCase",{get:function(){return P(this._matchCaseOverride,this._matchCase)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualIsRegex",{get:function(){return this._isRegex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualWholeWord",{get:function(){return this._wholeWord},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualMatchCase",{get:function(){return this._matchCase},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchScope",{get:function(){return this._searchScope},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchesPosition",{get:function(){return this._matchesPosition},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchesCount",{get:function(){return this._matchesCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentMatch",{get:function(){return this._currentMatch},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onFindReplaceStateChange",{get:function(){return this._onFindReplaceStateChange.event},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){},e.prototype.changeMatchInfo=function(e,t,o){var n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,i=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,i=!0),void 0!==o&&(p.a.equalsRange(this._currentMatch,o)||(this._currentMatch=o,n.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(n)},e.prototype.change=function(e,t,o){void 0===o&&(o=!0);var n={moveCursor:t,updateHistory:o,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1,r=this.isRegex,s=this.wholeWord,a=this.matchCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,i=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,i=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,i=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,i=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.searchScope&&(p.a.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,n.searchScope=!0,i=!0)),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,r!==this.isRegex&&(i=!0,n.isRegex=!0),s!==this.wholeWord&&(i=!0,n.wholeWord=!0),a!==this.matchCase&&(i=!0,n.matchCase=!0),i&&this._onFindReplaceStateChange.fire(n)},e}(),B=o(5),F=o(55),H=o(177),U=o(83),V=o(61),W=(o(438),o(13)),j=o(15),G=o(1),z=o(59),K=o(93),Y=o(16),X=o(162),q=(o(442),o(443),o(14)),$=o(30),J=(x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}x(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),Z={inputActiveOptionBorder:q.a.fromHex("#007ACC")},Q=function(e){function t(t){var o=e.call(this)||this;return o._onChange=o._register(new A.a),o._onKeyDown=o._register(new A.a),o._opts=$.c(t),$.g(o._opts,Z,!1),o._checked=o._opts.isChecked,o.domNode=document.createElement("div"),o.domNode.title=o._opts.title,o.domNode.className="monaco-custom-checkbox "+o._opts.actionClassName+" "+(o._checked?"checked":"unchecked"),o.domNode.tabIndex=0,o.domNode.setAttribute("role","checkbox"),o.domNode.setAttribute("aria-checked",String(o._checked)),o.domNode.setAttribute("aria-label",o._opts.title),o.applyStyles(),o.onclick(o.domNode,(function(e){o.checked=!o._checked,o._onChange.fire(!1),e.preventDefault()})),o.onkeydown(o.domNode,(function(e){if(10===e.keyCode||3===e.keyCode)return o.checked=!o._checked,o._onChange.fire(!0),void e.preventDefault();o._onKeyDown.fire(e)})),o}return J(t,e),Object.defineProperty(t.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onKeyDown",{get:function(){return this._onKeyDown.event},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.domNode.focus()},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this._checked?this.domNode.classList.add("checked"):this.domNode.classList.remove("checked"),this.applyStyles()},enumerable:!0,configurable:!0}),t.prototype.width=function(){return 22},t.prototype.style=function(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),this.applyStyles()},t.prototype.applyStyles=function(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent")},t.prototype.enable=function(){this.domNode.tabIndex=0,this.domNode.setAttribute("aria-disabled",String(!1))},t.prototype.disable=function(){G.H(this.domNode),this.domNode.setAttribute("aria-disabled",String(!0))},t}(z.a),ee=(o(444),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),te=n.a("caseDescription","Match Case"),oe=n.a("wordsDescription","Match Whole Word"),ne=n.a("regexDescription","Use Regular Expression"),ie=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:te+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),re=function(e){function t(t){return e.call(this,{actionClassName:"monaco-whole-word",title:oe+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),se=function(e){function t(t){return e.call(this,{actionClassName:"monaco-regex",title:ne+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),ae=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),le=n.a("defaultLabel","input"),ue=function(e){function t(t,o,n){var i=e.call(this)||this;return i._onDidOptionChange=i._register(new A.a),i.onDidOptionChange=i._onDidOptionChange.event,i._onKeyDown=i._register(new A.a),i.onKeyDown=i._onKeyDown.event,i._onMouseDown=i._register(new A.a),i.onMouseDown=i._onMouseDown.event,i._onInput=i._register(new A.a),i._onKeyUp=i._register(new A.a),i._onCaseSensitiveKeyDown=i._register(new A.a),i.onCaseSensitiveKeyDown=i._onCaseSensitiveKeyDown.event,i._onRegexKeyDown=i._register(new A.a),i._lastHighlightFindOptions=0,i.contextViewProvider=o,i.width=n.width||100,i.placeholder=n.placeholder||"",i.validation=n.validation,i.label=n.label||le,i.inputActiveOptionBorder=n.inputActiveOptionBorder,i.inputBackground=n.inputBackground,i.inputForeground=n.inputForeground,i.inputBorder=n.inputBorder,i.inputValidationInfoBorder=n.inputValidationInfoBorder,i.inputValidationInfoBackground=n.inputValidationInfoBackground,i.inputValidationWarningBorder=n.inputValidationWarningBorder,i.inputValidationWarningBackground=n.inputValidationWarningBackground,i.inputValidationErrorBorder=n.inputValidationErrorBorder,i.inputValidationErrorBackground=n.inputValidationErrorBackground,i.regex=null,i.wholeWords=null,i.caseSensitive=null,i.domNode=null,i.inputBox=null,i.buildDomNode(n.appendCaseSensitiveLabel||"",n.appendWholeWordsLabel||"",n.appendRegexLabel||"",n.history),Boolean(t)&&t.appendChild(i.domNode),i.onkeydown(i.inputBox.inputElement,(function(e){return i._onKeyDown.fire(e)})),i.onkeyup(i.inputBox.inputElement,(function(e){return i._onKeyUp.fire(e)})),i.oninput(i.inputBox.inputElement,(function(e){return i._onInput.fire()})),i.onmousedown(i.inputBox.inputElement,(function(e){return i._onMouseDown.fire(e)})),i}return ae(t,e),t.prototype.enable=function(){G.G(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){G.f(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.getValue=function(){return this.inputBox.value},t.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},t.prototype.style=function(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getCaseSensitive=function(){return this.caseSensitive.checked},t.prototype.setCaseSensitive=function(e){this.caseSensitive.checked=e,this.setInputWidth()},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e,this.setInputWidth()},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.setInputWidth(),this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){G.G(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,G.f(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.setInputWidth=function(){var e=this.width-this.caseSensitive.width()-this.wholeWords.width()-this.regex.width();this.inputBox.width=e},t.prototype.buildDomNode=function(e,t,o,n){var i=this;this.domNode=document.createElement("div"),this.domNode.style.width=this.width+"px",G.f(this.domNode,"monaco-findInput"),this.inputBox=this._register(new X.a(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation||null},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:n})),this.regex=this._register(new se({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.regex.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this._register(this.regex.onKeyDown((function(e){i._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new re({appendTitle:t,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.wholeWords.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this.caseSensitive=this._register(new ie({appendTitle:e,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.caseSensitive.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this._register(this.caseSensitive.onKeyDown((function(e){i._onCaseSensitiveKeyDown.fire(e)})));var r=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=r.indexOf(document.activeElement);if(t>=0){var o=void 0;e.equals(17)?o=(t+1)%r.length:e.equals(15)&&(o=0===t?r.length-1:t-1),e.equals(9)?r[t].blur():o>=0&&r[o].focus(),G.c.stop(e,!0)}}})),this.setInputWidth();var s=document.createElement("div");s.className="controls",s.appendChild(this.caseSensitive.domNode),s.appendChild(this.wholeWords.domNode),s.appendChild(this.regex.domNode),this.domNode.appendChild(s)},t.prototype.validate=function(){this.inputBox.validate()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(z.a);function ce(e,t){return e.getContext(document.activeElement).getValue(t)}var he=o(84),de=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ge=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},pe=function(e,t){return function(o,n){t(o,n,e)}},fe="historyNavigationWidget",me="historyNavigationEnabled";function _e(e,t){var o=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,o){new r.f(o,t).bindTo(e)}(o,t,fe),{scopedContextKeyService:o,historyNavigationEnablement:new r.f(me,!0).bindTo(o)}}var ye=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._register(_e(i,{target:r.element,historyNavigator:r}).scopedContextKeyService),r}return de(t,e),t=ge([pe(3,r.e)],t)}(X.a),ve=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._register(_e(i,{target:r.inputBox.element,historyNavigator:r.inputBox}).scopedContextKeyService),r}return de(t,e),t=ge([pe(3,r.e)],t)}(ue);he.a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:r.d.and(new r.b(fe),new r.c(me,!0)),primary:16,secondary:[528],handler:function(e,t){ce(e.get(r.e),fe).historyNavigator.showPreviousValue()}}),he.a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:new r.a([new r.b(fe),new r.c(me,!0)]),primary:18,secondary:[530],handler:function(e,t){ce(e.get(r.e),fe).historyNavigator.showNextValue()}});var be=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ee=n.a("label.find","Find"),Ce=n.a("placeholder.find","Find"),Se=n.a("label.previousMatchButton","Previous match"),Te=n.a("label.nextMatchButton","Next match"),we=n.a("label.toggleSelectionFind","Find in selection"),ke=n.a("label.closeButton","Close"),Oe=n.a("label.replace","Replace"),Re=n.a("placeholder.replace","Replace"),Le=n.a("label.replaceButton","Replace"),Ne=n.a("label.replaceAllButton","Replace All"),Ie=n.a("label.toggleReplaceButton","Toggle Replace mode"),De=n.a("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),Ae=n.a("label.matchesLocation","{0} of {1}"),Pe=n.a("label.noResults","No Results"),xe=69,Me=17+(xe+3+1)+92+2,Be=34,Fe=function(e){this.afterLineNumber=e,this.heightInPx=Be,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"},He=function(e){function t(t,o,n,i,r,s,a){var u=e.call(this)||this;return u._codeEditor=t,u._controller=o,u._state=n,u._contextViewProvider=i,u._keybindingService=r,u._contextKeyService=s,u._isVisible=!1,u._isReplaceVisible=!1,u._updateHistoryDelayer=new l.a(500),u._register(u._state.onFindReplaceStateChange((function(e){return u._onStateChanged(e)}))),u._buildDomNode(),u._updateButtons(),u._tryUpdateWidgetWidth(),u._register(u._codeEditor.onDidChangeConfiguration((function(e){e.readOnly&&(u._codeEditor.getConfiguration().readOnly&&u._state.change({isReplaceRevealed:!1},!1),u._updateButtons()),e.layoutInfo&&u._tryUpdateWidgetWidth()}))),u._register(u._codeEditor.onDidChangeCursorSelection((function(){u._isVisible&&u._updateToggleSelectionFindButton()}))),u._register(u._codeEditor.onDidFocusEditorWidget((function(){if(u._isVisible){var e=u._controller.getGlobalBufferTerm();e&&e!==u._state.searchString&&(u._state.change({searchString:e},!0),u._findInput.select())}}))),u._findInputFocused=w.bindTo(s),u._findFocusTracker=u._register(G.O(u._findInput.inputBox.inputElement)),u._register(u._findFocusTracker.onDidFocus((function(){u._findInputFocused.set(!0),u._updateSearchScope()}))),u._register(u._findFocusTracker.onDidBlur((function(){u._findInputFocused.set(!1)}))),u._replaceInputFocused=k.bindTo(s),u._replaceFocusTracker=u._register(G.O(u._replaceInputBox.inputElement)),u._register(u._replaceFocusTracker.onDidFocus((function(){u._replaceInputFocused.set(!0),u._updateSearchScope()}))),u._register(u._replaceFocusTracker.onDidBlur((function(){u._replaceInputFocused.set(!1)}))),u._codeEditor.addOverlayWidget(u),u._viewZone=new Fe(0),u._applyTheme(a.getTheme()),u._register(a.onThemeChange(u._applyTheme.bind(u))),u._register(u._codeEditor.onDidChangeModel((function(e){u._isVisible&&void 0!==u._viewZoneId&&u._codeEditor.changeViewZones((function(e){e.removeZone(u._viewZoneId),u._viewZoneId=void 0}))}))),u._register(u._codeEditor.onDidScrollChange((function(e){e.scrollTopChanged?u._layoutViewZone():setTimeout((function(){u._layoutViewZone()}),0)}))),u}return be(t,e),t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:Y.c.TOP_RIGHT_CORNER}:null},t.prototype._onStateChanged=function(e){if(e.searchString&&(this._findInput.setValue(this._state.searchString),this._updateButtons()),e.replaceString&&(this._replaceInputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal(!0):this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInputBox.width=this._findInput.inputBox.width,this._updateButtons()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){var t=this._state.searchString.length>0&&0===this._state.matchesCount;G.N(this._domNode,"no-results",t),this._updateMatchesCount()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory()},t.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},t.prototype._updateHistory=function(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=xe+"px",this._state.matchesCount>=19999?this._matchesCount.title=De:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+="+");var o=String(this._state.matchesPosition);"0"===o&&(o="?"),e=s.format(Ae,o,t)}else e=Pe;this._matchesCount.appendChild(document.createTextNode(e)),xe=Math.max(xe,this._matchesCount.clientWidth)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),o=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(o||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInputBox.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0;this._prevBtn.setEnabled(this._isVisible&&e),this._nextBtn.setEnabled(this._isVisible&&e),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),G.N(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var t=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&t)},t.prototype._reveal=function(e){var t=this;if(!this._isVisible){this._isVisible=!0;var o=this._codeEditor.getSelection();!!o&&(o.startLineNumber!==o.endLineNumber||o.startColumn!==o.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout((function(){G.f(t._domNode,"visible"),t._domNode.setAttribute("aria-hidden","false")}),0),this._codeEditor.layoutOverlayWidget(this);var n=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&o){var i=G.u(this._codeEditor.getDomNode()),r=this._codeEditor.getScrolledVisiblePosition(o.getStartPosition()),s=i.left+r.left;if(r.top<this._viewZone.heightInPx){o.endLineNumber>o.startLineNumber&&(n=!1);var a=G.w(this._domNode).left;s>a&&(n=!1);var l=this._codeEditor.getScrolledVisiblePosition(o.getEndPosition());i.left+l.left>a&&(n=!1)}}this._showViewZone(n)}},t.prototype._hide=function(e){var t=this;this._isVisible&&(this._isVisible=!1,this._updateButtons(),G.G(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._codeEditor.changeViewZones((function(e){void 0!==t._viewZoneId&&(e.removeZone(t._viewZoneId),t._viewZoneId=void 0,t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()-t._viewZone.heightInPx))})))},t.prototype._layoutViewZone=function(){var e=this;this._isVisible&&void 0===this._viewZoneId&&this._codeEditor.changeViewZones((function(t){e._state.isReplaceRevealed?e._viewZone.heightInPx=64:e._viewZone.heightInPx=Be,e._viewZoneId=t.addZone(e._viewZone),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+e._viewZone.heightInPx)}))},t.prototype._showViewZone=function(e){var t=this;void 0===e&&(e=!0),this._isVisible&&this._codeEditor.changeViewZones((function(o){var n=Be;void 0!==t._viewZoneId?(t._state.isReplaceRevealed?(t._viewZone.heightInPx=64,n=64-Be):(t._viewZone.heightInPx=Be,n=Be-64),o.removeZone(t._viewZoneId)):t._viewZone.heightInPx=Be,t._viewZoneId=o.addZone(t._viewZone),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+n)}))},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.J),inputBackground:e.getColor(m.K),inputForeground:e.getColor(m.M),inputBorder:e.getColor(m.L),inputValidationInfoBackground:e.getColor(m.P),inputValidationInfoBorder:e.getColor(m.Q),inputValidationWarningBackground:e.getColor(m.R),inputValidationWarningBorder:e.getColor(m.S),inputValidationErrorBackground:e.getColor(m.N),inputValidationErrorBorder:e.getColor(m.O)};this._findInput.style(t),this._replaceInputBox.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible){var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,o=!1,n=!1,i=!1;if(this._resized)if(G.y(this._domNode)>411)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInputBox.inputElement.style.width=G.y(this._findInput.inputBox.inputElement)+"px");if(439+t>=e&&(n=!0),439+t-xe>=e&&(i=!0),439+t-xe>=e+50&&(o=!0),G.N(this._domNode,"collapsed-find-widget",o),G.N(this._domNode,"narrow-find-widget",i),G.N(this._domNode,"reduced-find-widget",n),i||o||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){var r=G.y(this._findInput.inputBox.inputElement);r>0&&(this._replaceInputBox.inputElement.style.width=r+"px")}}},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInputBox.select(),this._replaceInputBox.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(p.a.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3)?(this._codeEditor.getAction(I.NextMatchFindAction).run().done(null,W.e),void e.preventDefault()):e.equals(1027)?(this._codeEditor.getAction(I.PreviousMatchFindAction).run().done(null,W.e),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInputBox.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype._onReplaceInputKeyDown=function(e){return e.equals(3)?(this._controller.replace(),void e.preventDefault()):e.equals(2051)?(this._controller.replaceAll(),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype.getHorizontalSashTop=function(e){return 0},t.prototype.getHorizontalSashLeft=function(e){return 0},t.prototype.getHorizontalSashWidth=function(e){return 500},t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype._buildFindPart=function(){var e=this;this._findInput=this._register(new ve(null,this._contextViewProvider,{width:221,label:Ee,placeholder:Ce,appendCaseSensitiveLabel:this._keybindingLabelFor(I.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(I.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(I.ToggleRegexCommand),validation:function(t){if(0===t.length)return null;if(!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}}},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((function(t){return e._onFindInputKeyDown(t)}))),this._register(this._findInput.inputBox.onDidChange((function(){e._state.change({searchString:e._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((function(){e._state.change({isRegex:e._findInput.getRegex(),wholeWord:e._findInput.getWholeWords(),matchCase:e._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((function(t){t.equals(1026)&&e._isReplaceVisible&&(e._replaceInputBox.focus(),t.preventDefault())}))),j.c&&this._register(this._findInput.onMouseDown((function(t){return e._onFindInputMouseDown(t)}))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Ve({label:Se+this._keybindingLabelFor(I.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(I.PreviousMatchFindAction).run().done(null,W.e)}})),this._nextBtn=this._register(new Ve({label:Te+this._keybindingLabelFor(I.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(I.NextMatchFindAction).run().done(null,W.e)}}));var t=document.createElement("div");return t.className="find-part",t.appendChild(this._findInput.domNode),t.appendChild(this._matchesCount),t.appendChild(this._prevBtn.domNode),t.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Ue({parent:t,title:we+this._keybindingLabelFor(I.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,1)),t.isEmpty()||e._state.change({searchScope:t},!0)}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new Ve({label:ke+this._keybindingLabelFor(I.CloseFindWidgetCommand),className:"close-fw",onTrigger:function(){e._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceBtn.isEnabled()?e._replaceBtn.focus():e._codeEditor.focus(),t.preventDefault())}})),t.appendChild(this._closeBtn.domNode),t},t.prototype._buildReplacePart=function(){var e=this,t=document.createElement("div");t.className="replace-input",t.style.width="221px",this._replaceInputBox=this._register(new ye(t,null,{ariaLabel:Oe,placeholder:Re,history:[]},this._contextKeyService)),this._register(G.j(this._replaceInputBox.inputElement,"keydown",(function(t){return e._onReplaceInputKeyDown(t)}))),this._register(G.j(this._replaceInputBox.inputElement,"input",(function(t){e._state.change({replaceString:e._replaceInputBox.value},!1)}))),this._replaceBtn=this._register(new Ve({label:Le+this._keybindingLabelFor(I.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new Ve({label:Ne+this._keybindingLabelFor(I.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));var o=document.createElement("div");return o.className="replace-part",o.appendChild(t),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),o},t.prototype._buildDomNode=function(){var e=this,t=this._buildFindPart(),o=this._buildReplacePart();this._toggleReplaceBtn=this._register(new Ve({label:Ie,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInputBox.width=e._findInput.inputBox.width),e._showViewZone()}})),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width="411px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(o),this._buildSash()},t.prototype._buildSash=function(){var e=this;this._resizeSash=new K.b(this._domNode,this,{orientation:K.a.VERTICAL}),this._resized=!1;var t=411;this._register(this._resizeSash.onDidStart((function(o){t=G.y(e._domNode)}))),this._register(this._resizeSash.onDidChange((function(o){e._resized=!0;var n=t+o.startX-o.currentX;if(!(n<411)){var i=n-Me;n>(parseFloat(G.r(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._isReplaceVisible&&(e._replaceInputBox.width=i))}})))},t.ID="editor.contrib.findWidget",t}(z.a),Ue=function(e){function t(o){var n=e.call(this)||this;return n._opts=o,n._domNode=document.createElement("div"),n._domNode.className="monaco-checkbox",n._domNode.title=n._opts.title,n._domNode.tabIndex=0,n._checkbox=document.createElement("input"),n._checkbox.type="checkbox",n._checkbox.className="checkbox",n._checkbox.id="checkbox-"+t._COUNTER++,n._checkbox.tabIndex=-1,n._label=document.createElement("label"),n._label.className="label",n._label.htmlFor=n._checkbox.id,n._label.tabIndex=-1,n._domNode.appendChild(n._checkbox),n._domNode.appendChild(n._label),n._opts.parent.appendChild(n._domNode),n.onchange(n._checkbox,(function(e){n._opts.onChange()})),n}return be(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.enable=function(){this._checkbox.removeAttribute("disabled")},t.prototype.disable=function(){this._checkbox.disabled=!0},t.prototype.setEnabled=function(e){e?(this.enable(),this.domNode.tabIndex=0):(this.disable(),this.domNode.tabIndex=-1)},t._COUNTER=0,t}(z.a),Ve=function(e){function t(t){var o=e.call(this)||this;return o._opts=t,o._domNode=document.createElement("div"),o._domNode.title=o._opts.label,o._domNode.tabIndex=0,o._domNode.className="button "+o._opts.className,o._domNode.setAttribute("role","button"),o._domNode.setAttribute("aria-label",o._opts.label),o.onclick(o._domNode,(function(e){o._opts.onTrigger(),e.preventDefault()})),o.onkeydown(o._domNode,(function(e){if(e.equals(10)||e.equals(3))return o._opts.onTrigger(),void e.preventDefault();o._opts.onKeyDown&&o._opts.onKeyDown(e)})),o}return be(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),t.prototype.isEnabled=function(){return this._domNode.tabIndex>=0},t.prototype.focus=function(){this._domNode.focus()},t.prototype.setEnabled=function(e){G.N(this._domNode,"disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1},t.prototype.setExpanded=function(e){this._domNode.setAttribute("aria-expanded",String(!!e))},t.prototype.toggleClass=function(e,t){G.N(this._domNode,e,t)},t}(z.a);Object(_.e)((function(e,t){var o=function(e,o){o&&t.addRule(".monaco-editor "+e+" { background-color: "+o+"; }")};o(".findMatch",e.getColor(m.q)),o(".currentFindMatch",e.getColor(m.o)),o(".findScope",e.getColor(m.s)),o(".find-widget",e.getColor(m.D));var n=e.getColor(m.rb);n&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(m.r);i&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+i+"; box-sizing: border-box; }");var r=e.getColor(m.p);r&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+r+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.t);s&&t.addRule(".monaco-editor .findScope { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+s+"; }");var a=e.getColor(m.e);a&&t.addRule(".monaco-editor .find-widget { border: 2px solid "+a+"; }");var l=e.getColor(m.G);l&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+l+"; }");var u=e.getColor(m.F);if(u)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+u+"; width: 3px !important; margin-left: -4px;}");else{var c=e.getColor(m.E);c&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+c+"; width: 3px !important; margin-left: -4px;}")}}));var We=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),je=function(e){function t(t,o,n,i){var r=e.call(this)||this;r._hideSoon=r._register(new l.c((function(){return r._hide()}),2e3)),r._isVisible=!1,r._editor=t,r._state=o,r._keybindingService=n,r._domNode=document.createElement("div"),r._domNode.className="findOptionsWidget",r._domNode.style.display="none",r._domNode.style.top="10px",r._domNode.setAttribute("role","presentation"),r._domNode.setAttribute("aria-hidden","true");var s=i.getTheme().getColor(m.J);return r.caseSensitive=r._register(new ie({appendTitle:r._keybindingLabelFor(I.ToggleCaseSensitiveCommand),isChecked:r._state.matchCase,inputActiveOptionBorder:s})),r._domNode.appendChild(r.caseSensitive.domNode),r._register(r.caseSensitive.onChange((function(){r._state.change({matchCase:r.caseSensitive.checked},!1)}))),r.wholeWords=r._register(new re({appendTitle:r._keybindingLabelFor(I.ToggleWholeWordCommand),isChecked:r._state.wholeWord,inputActiveOptionBorder:s})),r._domNode.appendChild(r.wholeWords.domNode),r._register(r.wholeWords.onChange((function(){r._state.change({wholeWord:r.wholeWords.checked},!1)}))),r.regex=r._register(new se({appendTitle:r._keybindingLabelFor(I.ToggleRegexCommand),isChecked:r._state.isRegex,inputActiveOptionBorder:s})),r._domNode.appendChild(r.regex.domNode),r._register(r.regex.onChange((function(){r._state.change({isRegex:r.regex.checked},!1)}))),r._editor.addOverlayWidget(r),r._register(r._state.onFindReplaceStateChange((function(e){var t=!1;e.isRegex&&(r.regex.checked=r._state.isRegex,t=!0),e.wholeWord&&(r.wholeWords.checked=r._state.wholeWord,t=!0),e.matchCase&&(r.caseSensitive.checked=r._state.matchCase,t=!0),!r._state.isRevealed&&t&&r._revealTemporarily()}))),r._register(G.h(r._domNode,(function(e){return r._onMouseOut()}))),r._register(G.g(r._domNode,"mouseover",(function(e){return r._onMouseOver()}))),r._applyTheme(i.getTheme()),r._register(i.onThemeChange(r._applyTheme.bind(r))),r}return We(t,e),t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return{preference:Y.c.TOP_RIGHT_CORNER}},t.prototype.highlightFindOptions=function(){this._revealTemporarily()},t.prototype._revealTemporarily=function(){this._show(),this._hideSoon.schedule()},t.prototype._onMouseOut=function(){this._hideSoon.schedule()},t.prototype._onMouseOver=function(){this._hideSoon.cancel()},t.prototype._show=function(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")},t.prototype._hide=function(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.J)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)},t.ID="editor.contrib.findOptionsWidget",t}(z.a);Object(_.e)((function(e,t){var o=e.getColor(m.D);o&&t.addRule(".monaco-editor .findOptionsWidget { background-color: "+o+"; }");var n=e.getColor(m.rb);n&&t.addRule(".monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(m.e);i&&t.addRule(".monaco-editor .findOptionsWidget { border: 2px solid "+i+"; }")}));var Ge=o(22),ze=o(38);o.d(t,"getSelectionSearchString",(function(){return qe})),o.d(t,"CommonFindController",(function(){return $e})),o.d(t,"FindController",(function(){return Je})),o.d(t,"StartFindAction",(function(){return Ze})),o.d(t,"StartFindWithSelectionAction",(function(){return Qe})),o.d(t,"MatchFindAction",(function(){return et})),o.d(t,"NextMatchFindAction",(function(){return tt})),o.d(t,"PreviousMatchFindAction",(function(){return ot})),o.d(t,"SelectionMatchFindAction",(function(){return nt})),o.d(t,"NextSelectionMatchFindAction",(function(){return it})),o.d(t,"PreviousSelectionMatchFindAction",(function(){return rt})),o.d(t,"StartFindReplaceAction",(function(){return st}));var Ke=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ye=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Xe=function(e,t){return function(o,n){t(o,n,e)}};function qe(e){var t=e.getSelection();if(t.startLineNumber===t.endLineNumber){if(!t.isEmpty())return e.getModel().getValueInRange(t);var o=e.getModel().getWordAtPosition(t.getStartPosition());if(o)return o.word}return null}var $e=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r._editor=t,r._findWidgetVisible=T.bindTo(o),r._storageService=n,r._clipboardService=i,r._updateHistoryDelayer=new l.a(500),r._state=r._register(new M),r.loadQueryState(),r._register(r._state.onFindReplaceStateChange((function(e){return r._onStateChanged(e)}))),r._model=null,r._register(r._editor.onDidChangeModel((function(){var e=r._editor.getModel()&&r._state.isRevealed;r.disposeModel(),r._state.change({searchScope:null,matchCase:r._storageService.getBoolean("editor.matchCase",F.c.WORKSPACE,!1),wholeWord:r._storageService.getBoolean("editor.wholeWord",F.c.WORKSPACE,!1),isRegex:r._storageService.getBoolean("editor.isRegex",F.c.WORKSPACE,!1)},!1),e&&r._start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1})}))),r}return Ke(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this.disposeModel(),e.prototype.dispose.call(this)},t.prototype.disposeModel=function(){this._model&&(this._model.dispose(),this._model=null)},t.prototype.getId=function(){return t.ID},t.prototype._onStateChanged=function(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)},t.prototype.saveQueryState=function(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,F.c.WORKSPACE),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,F.c.WORKSPACE),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,F.c.WORKSPACE)},t.prototype.loadQueryState=function(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",F.c.WORKSPACE,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",F.c.WORKSPACE,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",F.c.WORKSPACE,this._state.isRegex)},!1)},t.prototype.getState=function(){return this._state},t.prototype.closeFindWidget=function(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()},t.prototype.toggleCaseSensitive=function(){this._state.change({matchCase:!this._state.matchCase},!1)},t.prototype.toggleWholeWords=function(){this._state.change({wholeWord:!this._state.wholeWord},!1)},t.prototype.toggleRegex=function(){this._state.change({isRegex:!this._state.isRegex},!1)},t.prototype.toggleSearchScope=function(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else{var e=this._editor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1)),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.escapeRegExpCharacters(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.getModel()){var t,o={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=qe(this._editor))&&(this._state.isRegex?o.searchString=s.escapeRegExpCharacters(t):o.searchString=t);if(!o.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(o.searchString=t);e.forceRevealReplace?o.isReplaceRevealed=!0:this._findWidgetVisible.get()||(o.isReplaceRevealed=!1),this._state.change(o,!1),this._model||(this._model=new D(this._editor,this._state))}},t.prototype.start=function(e){this._start(e)},t.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},t.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},t.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},t.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)},t.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},t.prototype.getGlobalBufferTerm=function(){return this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=Ye([Xe(1,r.e),Xe(2,F.a),Xe(3,H.a)],t)}(i.a),Je=function(e){function t(t,o,n,i,r,s,a){var l=e.call(this,t,n,s,a)||this;return l._contextViewService=o,l._contextKeyService=n,l._keybindingService=i,l._themeService=r,l}return Ke(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._widget||this._createFindWidget(),this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t.prototype._createFindWidget=function(){this._widget=this._register(new He(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService)),this._findOptionsWidget=this._register(new je(this._editor,this._state,this._keybindingService,this._themeService))},t=Ye([Xe(1,U.b),Xe(2,r.e),Xe(3,V.a),Xe(4,_.c),Xe(5,F.a),Xe(6,Object(Ge.d)(H.a))],t)}($e),Ze=function(e){function t(){return e.call(this,{id:I.StartFindAction,label:n.a("startFindAction","Find"),alias:"Find",precondition:null,kbOpts:{kbExpr:null,primary:2084,weight:100},menubarOpts:{menuId:ze.b.MenubarEditMenu,group:"3_find",title:n.a({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&o.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0})},t}(a.b),Qe=function(e){function t(){return e.call(this,{id:I.StartFindWithSelection,label:n.a("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:null,kbOpts:{kbExpr:null,primary:null,mac:{primary:2083},weight:100}})||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0}),o.setGlobalBufferTerm(o.getState().searchString))},t}(a.b),et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&!this._run(o)&&(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===o.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0}),this._run(o))},t}(a.b),tt=function(e){function t(){return e.call(this,{id:I.NextMatchFindAction,label:n.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(et),ot=function(e){function t(){return e.call(this,{id:I.PreviousMatchFindAction,label:n.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(et),nt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);if(o){var n=qe(t);n&&o.setSearchString(n),this._run(o)||(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0}),this._run(o))}},t}(a.b),it=function(e){function t(){return e.call(this,{id:I.NextSelectionMatchFindAction,label:n.a("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:2109,weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(nt),rt=function(e){function t(){return e.call(this,{id:I.PreviousSelectionMatchFindAction,label:n.a("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:3133,weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(nt),st=function(e){function t(){return e.call(this,{id:I.StartFindReplaceAction,label:n.a("startReplace","Replace"),alias:"Replace",precondition:null,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menubarOpts:{menuId:ze.b.MenubarEditMenu,group:"3_find",title:n.a({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})||this}return Ke(t,e),t.prototype.run=function(e,t){if(!t.getConfiguration().readOnly){var o=$e.get(t),n=t.getSelection(),i=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,r=o.getState().searchString||i?2:1;o&&o.start({forceRevealReplace:!0,seedSearchStringFromSelection:i,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0})}},t}(a.b);Object(a.h)(Je),Object(a.f)(Ze),Object(a.f)(Qe),Object(a.f)(tt),Object(a.f)(ot),Object(a.f)(it),Object(a.f)(rt),Object(a.f)(st);var at=a.c.bindToContribution($e.get);Object(a.g)(new at({id:I.CloseFindWidgetCommand,precondition:T,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:9,secondary:[1033]}})),Object(a.g)(new at({id:I.ToggleCaseSensitiveCommand,precondition:null,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:O.primary,mac:O.mac,win:O.win,linux:O.linux}})),Object(a.g)(new at({id:I.ToggleWholeWordCommand,precondition:null,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:R.primary,mac:R.mac,win:R.win,linux:R.linux}})),Object(a.g)(new at({id:I.ToggleRegexCommand,precondition:null,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:L.primary,mac:L.mac,win:L.win,linux:L.linux}})),Object(a.g)(new at({id:I.ToggleSearchScopeCommand,precondition:null,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:N.primary,mac:N.mac,win:N.win,linux:N.linux}})),Object(a.g)(new at({id:I.ReplaceOneAction,precondition:T,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:3094}})),Object(a.g)(new at({id:I.ReplaceAllAction,precondition:T,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:2563}})),Object(a.g)(new at({id:I.SelectAllMatchesAction,precondition:T,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:515}}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(432);var n,i=o(0),r=o(17),s=o(6),a=o(58),l=o(2),u=o(3),c=o(16),h=o(12),d=o(19),g=o(7),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},m=function(e,t){return function(o,n){t(o,n,e)}},_=function(e){function t(o,n){var i=e.call(this)||this;return i._messageListeners=[],i._editor=o,i._visible=t.MESSAGE_VISIBLE.bindTo(n),i._register(i._editor.onDidAttemptReadOnlyEdit((function(){return i._onDidAttemptReadOnlyEdit()}))),i}return p(t,e),t.get=function(e){return e.getContribution(t._id)},t.prototype.getId=function(){return t._id},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._visible.reset()},t.prototype.showMessage=function(e,t){var o,n=this;Object(a.a)(e),this._visible.set(!0),Object(s.d)(this._messageWidget),this._messageListeners=Object(s.d)(this._messageListeners),this._messageWidget=new v(this._editor,t,e),this._messageListeners.push(this._editor.onDidBlurEditorText((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidChangeCursorPosition((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidDispose((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidChangeModel((function(){return n.closeMessage()}))),this._messageListeners.push(Object(r.l)((function(){return n.closeMessage()}),3e3)),this._messageListeners.push(this._editor.onMouseMove((function(e){e.target.position&&(o?o.containsPosition(e.target.position)||n.closeMessage():o=new l.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners=Object(s.d)(this._messageListeners),this._messageListeners.push(v.fadeOut(this._messageWidget))},t.prototype._onDidAttemptReadOnlyEdit=function(){this.showMessage(i.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new h.f("messageVisible",!1),t=f([m(1,h.e)],t)}(s.a),y=u.c.bindToContribution(_.get);Object(u.g)(new y({id:"leaveEditorMessage",precondition:_.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var v=function(){function e(e,t,o){var n=t.lineNumber,i=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(n,n,0),this._position={lineNumber:n,column:i-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var r=document.createElement("div");r.classList.add("message"),r.textContent=o,this._domNode.appendChild(r);var s=document.createElement("div");s.classList.add("anchor"),this._domNode.appendChild(s),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}return e.fadeOut=function(e){var t,o=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",o)};return t=setTimeout(o,110),e.getDomNode().addEventListener("animationend",o),e.getDomNode().classList.add("fadeOut"),{dispose:o}},e.prototype.dispose=function(){this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"messageoverlay"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{position:this._position,preference:[c.a.ABOVE]}},e}();Object(u.h)(_),Object(d.e)((function(e,t){var o=e.getColor(g.Q);if(o){var n=e.type===d.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+o+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+n+"px solid "+o+"; }")}var i=e.getColor(g.P);i&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+i+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u})),o.d(t,"b",(function(){return c}));var n,i,r=o(33),s=o(40),a=o(22),l=o(79),u=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.name&&Array.isArray(e.folders)}}(n||(n={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&r.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(i||(i={}));!function(){function e(e,t,o,n,i){void 0===t&&(t=""),void 0===o&&(o=[]),void 0===n&&(n=null),this._id=e,this._name=t,this._configuration=n,this._ctime=i,this._foldersMap=l.c.forPaths(),this.folders=o}Object.defineProperty(e.prototype,"folders",{get:function(){return this._folders},set:function(e){this._folders=e,this.updateFoldersMap()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){this._name=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"configuration",{get:function(){return this._configuration},set:function(e){this._configuration=e},enumerable:!0,configurable:!0}),e.prototype.getFolder=function(e){return e?this._foldersMap.findSubstr(e.toString()):null},e.prototype.updateFoldersMap=function(){this._foldersMap=l.c.forPaths();for(var e=0,t=this.folders;e<t.length;e++){var o=t[e];this._foldersMap.set(o.uri.toString(),o)}},e.prototype.toJSON=function(){return{id:this.id,folders:this.folders,name:this.name,configuration:this.configuration}}}();var c=function(){function e(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}return e.prototype.toResource=function(e){return this.uri.with({path:s.f(this.uri.path,e)})},e.prototype.toJSON=function(){return{uri:this.uri,name:this.name,index:this.index}},e}()},function(e,t,o){"use strict";var n,i=o(1),r=o(155),s=o(8),a=o(71);(function(e){var t={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:f,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:f,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:f,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function o(e){this.tokens=[],this.tokens.links={},this.options=e||v.defaults,this.rules=t.normal,this.options.pedantic?this.rules=t.pedantic:this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}t._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,t._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,t.def=h(t.def).replace("label",t._label).replace("title",t._title).getRegex(),t.bullet=/(?:[*+-]|\d+\.)/,t.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,t.item=h(t.item,"gm").replace(/bull/g,t.bullet).getRegex(),t.list=h(t.list).replace(/bull/g,t.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+t.def.source+")").getRegex(),t._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",t._comment=/<!--(?!-?>)[\s\S]*?-->/,t.html=h(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=h(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=h(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=m({},t),t.gfm=m({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=h(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=m({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=m({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),o.rules=t,o.lex=function(e,t){return new o(t).lex(e)},o.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},o.prototype.token=function(e,o){var n,i,r,s,a,l,u,c,h,d,g,p,f;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(o&&(r=this.rules.nptable.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c<l.align.length;c++)/^ *-+: *$/.test(l.align[c])?l.align[c]="right":/^ *:-+: *$/.test(l.align[c])?l.align[c]="center":/^ *:-+ *$/.test(l.align[c])?l.align[c]="left":l.align[c]=null;for(c=0;c<l.cells.length;c++)l.cells[c]=_(l.cells[c],l.header.length);this.tokens.push(l)}else if(r=this.rules.hr.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"hr"});else if(r=this.rules.blockquote.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"blockquote_start"}),r=r[0].replace(/^ *> ?/gm,""),this.token(r,o),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),g=(s=r[2]).length>1,this.tokens.push({type:"list_start",ordered:g,start:g?+s:""}),n=!1,d=(r=r[0].match(this.rules.item)).length,c=0;c<d;c++)u=(l=r[c]).length,~(l=l.replace(/^ *([*+-]|\d+\.) +/,"")).indexOf("\n ")&&(u-=l.length,l=this.options.pedantic?l.replace(/^ {1,4}/gm,""):l.replace(new RegExp("^ {1,"+u+"}","gm"),"")),this.options.smartLists&&c!==d-1&&(s===(a=t.bullet.exec(r[c+1])[0])||s.length>1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=d-1)),i=n||/\n\n(?!\s*$)/.test(l),c!==d-1&&(n="\n"===l.charAt(l.length-1),i||(i=n)),f=void 0,(p=/^\[[ xX]\] /.test(l))&&(f=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),this.tokens.push({type:i?"loose_item_start":"list_item_start",task:p,checked:f}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(o&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),h=r[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[h]||(this.tokens.links[h]={href:r[2],title:r[3]});else if(o&&(r=this.rules.table.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/(?: *\| *)?\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c<l.align.length;c++)/^ *-+: *$/.test(l.align[c])?l.align[c]="right":/^ *:-+: *$/.test(l.align[c])?l.align[c]="center":/^ *:-+ *$/.test(l.align[c])?l.align[c]="left":l.align[c]=null;for(c=0;c<l.cells.length;c++)l.cells[c]=_(l.cells[c].replace(/^ *\| *| *\| *$/g,""),l.header.length);this.tokens.push(l)}else if(r=this.rules.lheading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:"="===r[2]?1:2,text:r[1]});else if(o&&(r=this.rules.paragraph.exec(e)))e=e.substring(r[0].length),this.tokens.push({type:"paragraph",text:"\n"===r[1].charAt(r[1].length-1)?r[1].slice(0,-1):r[1]});else if(r=this.rules.text.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"text",text:r[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var i={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,em:/^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\<!\[`*]|\b_| {2,}\n|$)/};function r(e,t){if(this.options=t||v.defaults,this.links=e,this.rules=i.normal,this.renderer=this.options.renderer||new s,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=i.pedantic:this.options.gfm&&(this.options.breaks?this.rules=i.breaks:this.rules=i.gfm)}function s(e){this.options=e||v.defaults}function a(){}function l(e){this.tokens=[],this.token=null,this.options=e||v.defaults,this.options.renderer=this.options.renderer||new s,this.renderer=this.options.renderer,this.renderer.options=this.options}function u(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}function h(e,t){return e=e.source||e,t=t||"",{replace:function(t,o){return o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,o),this},getRegex:function(){return new RegExp(e,t)}}}function d(e,t){return g[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=y(e,"/",!0)),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=h(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=h(i.tag).replace("comment",t._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=h(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=h(i.reflink).replace("label",i._label).getRegex(),i.normal=m({},i),i.pedantic=m({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=m({},i.normal,{escape:h(i.escape).replace("])","~|])").getRegex(),url:h(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",i._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:h(i.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),i.breaks=m({},i.gfm,{br:h(i.br).replace("{2,}","*").getRegex(),text:h(i.gfm.text).replace("{2,}","*").getRegex()}),r.rules=i,r.output=function(e,t,o){return new r(t,o).output(e)},r.prototype.output=function(e){for(var t,o,n,i,s,a="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),a+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),n="@"===s[2]?"mailto:"+(o=u(this.mangle(s[1]))):o=u(s[1]),a+=this.renderer.link(n,null,o);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(s[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,n=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],i=t[3]):i="":i=s[3]?s[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(s,{href:r.escapes(n),title:r.escapes(i)}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),a+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),a+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),a+=this.renderer.codespan(u(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),a+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),a+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),a+=this.renderer.text(u(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else s[0]=this.rules._backpedal.exec(s[0])[0],e=e.substring(s[0].length),"@"===s[2]?n="mailto:"+(o=u(s[0])):(o=u(s[0]),n="www."===s[1]?"http://"+o:o),a+=this.renderer.link(n,null,o);return a},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var o=t.href,n=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(o,n,this.output(e[1])):this.renderer.image(o,n,u(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,o="",n=e.length,i=0;i<n;i++)t=e.charCodeAt(i),Math.random()>.5&&(t="x"+t.toString(16)),o+="&#"+t+";";return o},s.prototype.code=function(e,t,o){if(this.options.highlight){var n=this.options.highlight(e,t);null!=n&&n!==e&&(o=!0,e=n)}return t?'<pre><code class="'+this.options.langPrefix+u(t,!0)+'">'+(o?e:u(e,!0))+"</code></pre>\n":"<pre><code>"+(o?e:u(e,!0))+"</code></pre>"},s.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,o){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+o.toLowerCase().replace(/[^\w]+/g,"-")+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},s.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},s.prototype.list=function(e,t,o){var n=t?"ol":"ul";return"<"+n+(t&&1!==o?' start="'+o+'"':"")+">\n"+e+"</"+n+">\n"},s.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},s.prototype.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},s.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},s.prototype.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},s.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},s.prototype.tablecell=function(e,t){var o=t.header?"th":"td";return(t.align?"<"+o+' align="'+t.align+'">':"<"+o+">")+e+"</"+o+">\n"},s.prototype.strong=function(e){return"<strong>"+e+"</strong>"},s.prototype.em=function(e){return"<em>"+e+"</em>"},s.prototype.codespan=function(e){return"<code>"+e+"</code>"},s.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},s.prototype.del=function(e){return"<del>"+e+"</del>"},s.prototype.link=function(e,t,o){if(this.options.sanitize){try{var n=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return o}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return o}this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return o}var i='<a href="'+u(e)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+o+"</a>"},s.prototype.image=function(e,t,o){this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var n='<img src="'+e+'" alt="'+o+'"';return t&&(n+=' title="'+t+'"'),n+=this.options.xhtml?"/>":">"},s.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,o){return""+o},a.prototype.br=function(){return""},l.parse=function(e,t){return new l(t).parse(e)},l.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},l.prototype.next=function(){return this.token=this.tokens.pop()},l.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},l.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},l.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,o,n,i="",r="";for(o="",e=0;e<this.token.header.length;e++)o+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(i+=this.renderer.tablerow(o),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],o="",n=0;n<t.length;n++)o+=this.renderer.tablecell(this.inline.output(t[n]),{header:!1,align:this.token.align[n]});r+=this.renderer.tablerow(o)}return this.renderer.table(i,r);case"blockquote_start":for(r="";"blockquote_end"!==this.next().type;)r+=this.tok();return this.renderer.blockquote(r);case"list_start":r="";for(var s=this.token.ordered,a=this.token.start;"list_end"!==this.next().type;)r+=this.tok();return this.renderer.list(r,s,a);case"list_item_start":for(r="",this.token.task&&(r+=this.renderer.checkbox(this.token.checked));"list_item_end"!==this.next().type;)r+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(r);case"loose_item_start":for(r="";"list_item_end"!==this.next().type;)r+=this.tok();return this.renderer.listitem(r);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}};var g={},p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function f(){}function m(e){for(var t,o,n=1;n<arguments.length;n++)for(o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}function _(e,t){var o=e.replace(/\|/g,(function(e,t,o){for(var n=!1,i=t;--i>=0&&"\\"===o[i];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(o.length>t)o.splice(t);else for(;o.length<t;)o.push("");for(;n<o.length;n++)o[n]=o[n].trim().replace(/\\\|/g,"|");return o}function y(e,t,o){if(0===e.length)return"";for(var n=0;n<e.length;){var i=e.charAt(e.length-n-1);if(i!==t||o){if(i===t||!o)break;n++}else n++}return e.substr(0,e.length-n)}function v(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if(n||"function"==typeof t){n||(n=t,t=null);var i,r,s=(t=m({},v.defaults,t||{})).highlight,a=0;try{i=o.lex(e,t)}catch(e){return n(e)}r=i.length;var c=function(e){if(e)return t.highlight=s,n(e);var o;try{o=l.parse(i,t)}catch(t){e=t}return t.highlight=s,e?n(e):n(null,o)};if(!s||s.length<3)return c();if(delete t.highlight,!r)return c();for(;a<i.length;a++)!function(e){"code"!==e.type?--r||c():s(e.text,e.lang,(function(t,o){return t?c(t):null==o||o===e.text?--r||c():(e.text=o,e.escaped=!0,void(--r||c()))}))}(i[a])}else try{return t&&(t=m({},v.defaults,t)),l.parse(o.lex(e,t),t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",(t||v.defaults).silent)return"<p>An error occurred:</p><pre>"+u(e.message+"",!0)+"</pre>";throw e}}f.exec=f,v.options=v.setOptions=function(e){return m(v.defaults,e),v},v.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},v.defaults=v.getDefaults(),v.Parser=l,v.parser=l.parse,v.Renderer=s,v.TextRenderer=a,v.Lexer=o,v.lexer=o.lex,v.InlineLexer=r,v.inlineLexer=r.output,v.parse=v,n=v}).call(void 0);var l=n;n.Parser,n.parser,n.Renderer,n.TextRenderer,n.Lexer,n.lexer,n.InlineLexer,n.inlineLexer,n.parse;function u(e){var t=e.inline?"span":"div",o=document.createElement(t);return e.className&&(o.className=e.className),o}function c(e,t){void 0===t&&(t={});var o=u(t);return o.textContent=e,o}function h(e,t){void 0===t&&(t={});var o=u(t);return function e(t,o,n){var r;if(2===o.type)r=document.createTextNode(o.content);else if(3===o.type)r=document.createElement("b");else if(4===o.type)r=document.createElement("i");else if(5===o.type&&n){var s=document.createElement("a");s.href="#",n.disposeables.push(i.j(s,"click",(function(e){n.callback(String(o.index),e)}))),r=s}else 7===o.type?r=document.createElement("br"):1===o.type&&(r=t);t!==r&&t.appendChild(r);Array.isArray(o.children)&&o.children.forEach((function(t){e(r,t,n)}))}(o,function(e){var t={type:1,children:[]},o=0,n=t,i=[],r=new g(e);for(;!r.eos();){var s=r.next(),a="\\"===s&&0!==p(r.peek());if(a&&(s=r.next()),a||0===p(s)||s!==r.peek())if("\n"===s)2===n.type&&(n=i.pop()),n.children.push({type:7});else if(2!==n.type){var l={type:2,content:s};n.children.push(l),i.push(n),n=l}else n.content+=s;else{r.advance(),2===n.type&&(n=i.pop());var u=p(s);if(n.type===u||5===n.type&&6===u)n=i.pop();else{var c={type:u,children:[]};5===u&&(c.index=o,o++),n.children.push(c),i.push(n),n=c}}}2===n.type&&(n=i.pop());i.length;return t}(e),t.actionHandler),o}function d(e,t){void 0===t&&(t={});var o,n=u(t),c=new Promise((function(e){return o=e})),h=new l.Renderer;h.image=function(e,t,o){var n=[];if(e){var i=e.split("|").map((function(e){return e.trim()}));e=i[0];var r=i[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),l=s&&s[1],u=a&&a[1],c=isFinite(parseInt(u)),h=isFinite(parseInt(l));c&&n.push('width="'+u+'"'),h&&n.push('height="'+l+'"')}}var d=[];return e&&d.push('src="'+e+'"'),o&&d.push('alt="'+o+'"'),t&&d.push('title="'+t+'"'),n.length&&(d=d.concat(n)),"<img "+d.join(" ")+">"},h.link=function(t,o,n){return t===n&&(n=Object(a.d)(n)),o=Object(a.d)(o),!(t=Object(a.d)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?n:'<a href="#" data-href="'+t+'" title="'+(o||t)+'">'+n+"</a>"},h.paragraph=function(e){return"<p>"+e+"</p>"},t.codeBlockRenderer&&(h.code=function(e,o){var i=t.codeBlockRenderer(o,e),a=r.b.nextId(),l=Promise.all([i,c]).then((function(e){var t=e[0],o=n.querySelector('div[data-code="'+a+'"]');o&&(o.innerHTML=t)})).catch((function(e){}));return t.codeBlockRenderCallback&&l.then(t.codeBlockRenderCallback),'<div class="code" data-code="'+a+'">'+Object(s.escape)(e)+"</div>"}),t.actionHandler&&t.actionHandler.disposeables.push(i.j(n,"click",(function(e){var o=e.target;if("A"===o.tagName||(o=o.parentElement)&&"A"===o.tagName){var n=o.dataset.href;n&&t.actionHandler.callback(n,e)}})));var d={sanitize:!0,renderer:h};return n.innerHTML=l(e.value,d),o(),n}o.d(t,"c",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d}));var g=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function p(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=function(){function e(e,t,o){this.from=0|e,this.to=0|t,this.colorId=0|o}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),i=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.color=o,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1},e.prototype.setColorZone=function(e){this._colorZone=e},e.prototype.getColorZones=function(){return this._colorZone},e}(),r=function(){function e(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}return e.prototype.getId2Color=function(){return this._id2Color},e.prototype.setZones=function(e){this._zones=e,this._zones.sort(i.compare)},e.prototype.setLineHeight=function(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setPixelRatio=function(e){this._pixelRatio=e,this._colorZonesInvalid=!0},e.prototype.getDOMWidth=function(){return this._domWidth},e.prototype.getCanvasWidth=function(){return this._domWidth*this._pixelRatio},e.prototype.setDOMWidth=function(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)},e.prototype.getDOMHeight=function(){return this._domHeight},e.prototype.getCanvasHeight=function(){return this._domHeight*this._pixelRatio},e.prototype.setDOMHeight=function(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.getOuterHeight=function(){return this._outerHeight},e.prototype.setOuterHeight=function(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.resolveColorZones=function(){for(var e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),o=Math.floor(this.getCanvasHeight()),i=o/Math.floor(this._outerHeight),r=Math.floor(4*this._pixelRatio/2),s=[],a=0,l=this._zones.length;a<l;a++){var u=this._zones[a];if(!e){var c=u.getColorZones();if(c){s.push(c);continue}}var h=Math.floor(i*this._getVerticalOffsetForLine(u.startLineNumber)),d=Math.floor(i*(this._getVerticalOffsetForLine(u.endLineNumber)+t)),g=Math.floor((h+d)/2),p=d-g;p<r&&(p=r),g-p<0&&(g=p),g+p>o&&(g=o-p);var f=u.color,m=this._color2Id[f];m||(m=++this._lastAssignedId,this._color2Id[f]=m,this._id2Color[m]=f);var _=new n(g-p,g+p,m);u.setColorZone(_),s.push(_)}return this._colorZonesInvalid=!1,s.sort(n.compare),s},e}()},function(e,t,o){"use strict";for(var n=o(64),i=o(127),r=o(182),s=o(100),a=new Array(256),l=0;l<256;l++)a[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;a[254]=a[254]=1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,o,n,r,s,a=e.length,l=0;for(r=0;r<a;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(n=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(n-56320),r++),l+=o<128?1:o<2048?2:o<65536?3:4;for(t=i.uint8array?new Uint8Array(l):new Array(l),s=0,r=0;s<l;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(n=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(n-56320),r++),o<128?t[s++]=o:o<2048?(t[s++]=192|o>>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,o,i,r,s=e.length,l=new Array(2*s);for(o=0,t=0;t<s;)if((i=e[t++])<128)l[o++]=i;else if((r=a[i])>4)l[o++]=65533,t+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&t<s;)i=i<<6|63&e[t++],r--;r>1?l[o++]=65533:i<65536?l[o++]=i:(i-=65536,l[o++]=55296|i>>10&1023,l[o++]=56320|1023&i)}return l.length!==o&&(l.subarray?l=l.subarray(0,o):l.length=o),n.applyFromCharCode(l)}(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(u,s),u.prototype.processChunk=function(e){var o=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var r=o;(o=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),o.set(r,this.leftOver.length)}else o=this.leftOver.concat(o);this.leftOver=null}var s=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+a[e[o]]>t?o:t}(o),l=o;s!==o.length&&(i.uint8array?(l=o.subarray(0,s),this.leftOver=o.subarray(s,o.length)):(l=o.slice(0,s),this.leftOver=o.slice(s,o.length))),this.push({data:t.utf8decode(l),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=u,n.inherits(c,s),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var o=function(){};o.prototype=t.prototype,e.prototype=new o,e.prototype.constructor=e}}},function(e,t,o){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(i.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},o(332),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,o(80))},function(e,t,o){"use strict";function n(e,t,o){var n=o?" !== ":" === ",i=o?" || ":" && ",r=o?"!":"",s=o?"":"!";switch(e){case"null":return t+n+"null";case"array":return r+"Array.isArray("+t+")";case"object":return"("+r+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var o in t=t||{},e)t[o]=e[o];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var o="",i=r(e);for(var s in i.array&&i.object&&(o=i.null?"(":"(!"+t+" || ",o+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)o+=(o?" && ":"")+n(s,t,!0);return o}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var o=[],n=0;n<t.length;n++){var r=t[n];i[r]?o[o.length]=r:"array"===e&&"array"===r&&(o[o.length]=r)}if(o.length)return o}else{if(i[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:r,getProperty:l,escapeQuotes:u,equal:o(219),ucs2length:o(365),varOccurences:function(e,t){t+="[^0-9]";var o=e.match(new RegExp(t,"g"));return o?o.length:0},varReplace:function(e,t,o){return t+="([^0-9])",o=o.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),o+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(h,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,t){var o=e.match(g);o&&2==o.length&&(e=t?e.replace(f,"").replace(y,v):e.replace(p,"").replace(m,_));return(o=e.match(b))&&3===o.length?e.replace(E,""):e},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var o in e)if(t[o])return!0},schemaHasRulesExcept:function(e,t,o){if("boolean"==typeof e)return!e&&"not"!=o;for(var n in e)if(n!=o&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"==typeof e)return;for(var o in e)if(!t[o])return o},toQuotedString:C,getPathExpr:function(e,t,o,n){return w(e,o?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,o){var n=C(o?"/"+k(t):l(t));return w(e,n)},getData:function(e,t,o){var n,i,r,s;if(""===e)return"rootData";if("/"==e[0]){if(!S.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,r="rootData"}else{if(!(s=e.match(T)))throw new Error("Invalid JSON-pointer: "+e);if(n=+s[1],"#"==(i=s[2])){if(n>=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return o[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(r="data"+(t-n||""),!i)return r}for(var a=r,u=i.split("/"),c=0;c<u.length;c++){var h=u[c];h&&(r+=l(O(h)),a+=" && "+r)}return a},unescapeFragment:function(e){return O(decodeURIComponent(e))},unescapeJsonPointer:O,escapeFragment:function(e){return encodeURIComponent(k(e))},escapeJsonPointer:k};var i=r(["string","number","integer","boolean","null"]);function r(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=!0;return t}var s=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function l(e){return"number"==typeof e?"["+e+"]":s.test(e)?"."+e:"['"+u(e)+"']"}function u(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,h=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var g=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,f=/var errors = 0;|var vErrors = null;/g,m="return errors === 0;",_="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,v="return data;",b=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,E=/if \(rootData === undefined\) rootData = data;/;function C(e){return"'"+u(e)+"'"}var S=/^\/(?:[^~]|~0|~1)*$/,T=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function w(e,t){return'""'==e?t:(e+" + "+t).replace(/' \+ '/g,"")}function k(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function O(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},function(e,t){},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),r=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e},a=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var l=o(109),u=o(101),c=o(522),h=o(523),d=o(138),g=o(524),p=o(152);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101));var f,m,_=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e}();!function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(f=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(m=t.CloseAction||(t.CloseAction={}));var y,v,b,E=function(){function e(e){this.name=e,this.restarts=[]}return e.prototype.error=function(e,t,o){return o&&o<=3?f.Continue:f.Shutdown},e.prototype.closed=function(){return this.restarts.push(Date.now()),this.restarts.length<5?m.Restart:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?(l.window.showErrorMessage("The "+this.name+" server crashed 5 times in the last 3 minutes. The server will not be restarted."),m.DoNotRestart):(this.restarts.shift(),m.Restart)},e}();!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}(y=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Stopped=1]="Stopped",e[e.Running=2]="Running"}(v=t.State||(t.State={})),function(e){e[e.Initial=0]="Initial",e[e.Starting=1]="Starting",e[e.StartFailed=2]="StartFailed",e[e.Running=3]="Running",e[e.Stopping=4]="Stopping",e[e.Stopped=5]="Stopped"}(b||(b={}));var C,S=[u.SymbolKind.File,u.SymbolKind.Module,u.SymbolKind.Namespace,u.SymbolKind.Package,u.SymbolKind.Class,u.SymbolKind.Method,u.SymbolKind.Property,u.SymbolKind.Field,u.SymbolKind.Constructor,u.SymbolKind.Enum,u.SymbolKind.Interface,u.SymbolKind.Function,u.SymbolKind.Variable,u.SymbolKind.Constant,u.SymbolKind.String,u.SymbolKind.Number,u.SymbolKind.Boolean,u.SymbolKind.Array,u.SymbolKind.Object,u.SymbolKind.Key,u.SymbolKind.Null,u.SymbolKind.EnumMember,u.SymbolKind.Struct,u.SymbolKind.Event,u.SymbolKind.Operator,u.SymbolKind.TypeParameter],T=[u.CompletionItemKind.Text,u.CompletionItemKind.Method,u.CompletionItemKind.Function,u.CompletionItemKind.Constructor,u.CompletionItemKind.Field,u.CompletionItemKind.Variable,u.CompletionItemKind.Class,u.CompletionItemKind.Interface,u.CompletionItemKind.Module,u.CompletionItemKind.Property,u.CompletionItemKind.Unit,u.CompletionItemKind.Value,u.CompletionItemKind.Enum,u.CompletionItemKind.Keyword,u.CompletionItemKind.Snippet,u.CompletionItemKind.Color,u.CompletionItemKind.File,u.CompletionItemKind.Reference,u.CompletionItemKind.Folder,u.CompletionItemKind.EnumMember,u.CompletionItemKind.Constant,u.CompletionItemKind.Struct,u.CompletionItemKind.Event,u.CompletionItemKind.Operator,u.CompletionItemKind.TypeParameter];function w(e,t){return void 0===e[t]&&(e[t]={}),e[t]}!function(e){e.is=function(e){var t=e;return t&&d.func(t.register)&&d.func(t.unregister)&&d.func(t.dispose)&&void 0!==t.messages}}(C||(C={}));var k=function(){function e(e,t,o,n,i,r){this._client=e,this._event=t,this._type=o,this._middleware=n,this._createParams=i,this._selectorFilter=r,this._selectors=new Map}return e.textDocumentFilter=function(e,t){var o,n;try{for(var i=a(e),r=i.next();!r.done;r=i.next()){var s=r.value;if(l.languages.match(s,t))return!0}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return!1},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;this._selectorFilter&&!this._selectorFilter(this._selectors.values(),e)||(this._middleware?this._middleware(e,(function(e){return t._client.sendNotification(t._type,t._createParams(e))})):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))},e.prototype.notificationSent=function(e){},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&this._listener.dispose()},e}(),O=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidOpenTextDocument,u.DidOpenTextDocumentNotification.type,t.clientOptions.middleware.didOpen,(function(e){return t.code2ProtocolConverter.asOpenTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidOpenTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.register=function(t,o){var n=this;if(e.prototype.register.call(this,t,o),o.registerOptions.documentSelector){var i=o.registerOptions.documentSelector;l.workspace.textDocuments.forEach((function(e){var t=e.uri.toString();if(!n._syncedDocuments.has(t)&&l.languages.match(i,e)){var o=n._client.clientOptions.middleware,r=function(e){n._client.sendNotification(n._type,n._createParams(e))};o.didOpen?o.didOpen(e,r):r(e),n._syncedDocuments.set(t,e)}}))}},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.set(t.uri.toString(),t)},t}(k),R=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidCloseTextDocument,u.DidCloseTextDocumentNotification.type,t.clientOptions.middleware.didClose,(function(e){return t.code2ProtocolConverter.asCloseTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidCloseTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.delete(t.uri.toString())},t.prototype.unregister=function(t){var o=this,n=this._selectors.get(t);e.prototype.unregister.call(this,t);var i=this._selectors.values();this._syncedDocuments.forEach((function(e){if(l.languages.match(n,e)&&!o._selectorFilter(i,e)){var t=o._client.clientOptions.middleware,r=function(e){o._client.sendNotification(o._type,o._createParams(e))};o._syncedDocuments.delete(e.uri.toString()),t.didClose?t.didClose(e,r):r(e)}}))},t}(k),L=function(){function e(e){this._client=e,this._changeData=new Map,this._forcingDelivery=!1}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeTextDocumentNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&void 0!==o.change&&o.change!==u.TextDocumentSyncKind.None&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:o.change})})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(t.id,{documentSelector:t.registerOptions.documentSelector,syncKind:t.registerOptions.syncKind}))},e.prototype.callback=function(e){var t,o,n=this;if(0!==e.contentChanges.length){var i=function(t){if(l.languages.match(t.documentSelector,e.document)){var o=r._client.clientOptions.middleware;if(t.syncKind===u.TextDocumentSyncKind.Incremental){var i=r._client.code2ProtocolConverter.asChangeTextDocumentParams(e);o.didChange?o.didChange(e,(function(){return n._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)})):r._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)}else if(t.syncKind===u.TextDocumentSyncKind.Full){var s=function(e){n._changeDelayer?(n._changeDelayer.uri!==e.document.uri.toString()&&(n.forceDelivery(),n._changeDelayer.uri=e.document.uri.toString()),n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}))):(n._changeDelayer={uri:e.document.uri.toString(),delayer:new g.Delayer(200)},n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}),-1))};o.didChange?o.didChange(e,s):s(e)}}},r=this;try{for(var s=a(this._changeData.values()),c=s.next();!c.done;c=s.next()){i(c.value)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}}},e.prototype.unregister=function(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.forceDelivery=function(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}},e}(),N=function(e){function t(t){return e.call(this,t,l.workspace.onWillSaveTextDocument,u.WillSaveTextDocumentNotification.type,t.clientOptions.middleware.willSave,(function(e){return t.code2ProtocolConverter.asWillSaveTextDocumentParams(e)}),(function(e,t){return k.textDocumentFilter(e,t.document)}))||this}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.WillSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSave&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t}(k),I=function(){function e(e){this._client=e,this._selectors=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.WillSaveTextDocumentWaitUntilRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSaveWaitUntil=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSaveWaitUntil&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;if(k.textDocumentFilter(this._selectors.values(),e.document)){var o=this._client.clientOptions.middleware,n=function(e){return t._client.sendRequest(u.WillSaveTextDocumentWaitUntilRequest.type,t._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((function(e){var o=t._client.protocol2CodeConverter.asTextEdits(e);return void 0===o?[]:o}))};e.waitUntil(o.willSaveWaitUntil?o.willSaveWaitUntil(e,n):n(e))}},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e}(),D=function(e){function t(t){var o=e.call(this,t,l.workspace.onDidSaveTextDocument,u.DidSaveTextDocumentNotification.type,t.clientOptions.middleware.didSave,(function(e){return t.code2ProtocolConverter.asSaveTextDocumentParams(e,o._includeText)}),k.textDocumentFilter)||this;return o}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").didSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.save&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{includeText:!!o.save.includeText})})},t.prototype.register=function(t,o){this._includeText=!!o.registerOptions.includeText,e.prototype.register.call(this,t,o)},t}(k),A=function(){function e(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeWatchedFilesNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0},e.prototype.initialize=function(e,t){},e.prototype.register=function(e,t){var o,n;if(Array.isArray(t.registerOptions.watchers)){var i=[];try{for(var r=a(t.registerOptions.watchers),s=r.next();!s.done;s=r.next()){var c=s.value;if(d.string(c.globPattern)){var h=!0,g=!0,p=!0;void 0!==c.kind&&null!==c.kind&&(h=0!=(c.kind&u.WatchKind.Create),g=0!=(c.kind&u.WatchKind.Change),p=0!=(c.kind&u.WatchKind.Delete));var f=l.workspace.createFileSystemWatcher(c.globPattern,!h,!g,!p);this.hookListeners(f,h,g,p),i.push(f)}}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(t.id,i)}},e.prototype.registerRaw=function(e,t){var o,n,i=[];try{for(var r=a(t),s=r.next();!s.done;s=r.next()){var l=s.value;this.hookListeners(l,!0,!0,!0,i)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(e,i)},e.prototype.hookListeners=function(e,t,o,n,i){var r=this;t&&e.onDidCreate((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Created})}),null,i),o&&e.onDidChange((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Changed})}),null,i),n&&e.onDidDelete((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Deleted})}),null,i)},e.prototype.unregister=function(e){var t,o,n=this._watchers.get(e);if(n)try{for(var i=a(n),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},e.prototype.dispose=function(){this._watchers.forEach((function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){i.value.dispose()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}})),this._watchers.clear()},e}(),P=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wrong feature. Requested "+e.method+" but reached feature "+this.messages.method);if(t.registerOptions.documentSelector){var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)}},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}();t.TextDocumentFeature=P;var x=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wron feature. Requested "+e.method+" but reached feature "+this.messages.method);var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}(),M=function(e){function t(t){return e.call(this,t,u.CompletionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0},t.completionItemKind={valueSet:T}},t.prototype.initialize=function(e,t){e.completionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.completionProvider)})},t.prototype.registerLanguageProvider=function(e){var t=e.triggerCharacters||[],o=this._client,n=function(e,t,n,i){return o.sendRequest(u.CompletionRequest.type,o.code2ProtocolConverter.asCompletionParams(e,t,n),i).then(o.protocol2CodeConverter.asCompletionResult,(function(e){return o.logFailedRequest(u.CompletionRequest.type,e),Promise.resolve([])}))},i=function(e,t){return o.sendRequest(u.CompletionResolveRequest.type,o.code2ProtocolConverter.asCompletionItem(e),t).then(o.protocol2CodeConverter.asCompletionItem,(function(t){return o.logFailedRequest(u.CompletionResolveRequest.type,t),Promise.resolve(e)}))},r=this._client.clientOptions.middleware;return l.languages.registerCompletionItemProvider.apply(l.languages,s([e.documentSelector,{provideCompletionItems:function(e,t,o,i){return r.provideCompletionItem?r.provideCompletionItem(e,t,i,o,n):n(e,t,i,o)},resolveCompletionItem:e.resolveProvider?function(e,t){return r.resolveCompletionItem?r.resolveCompletionItem(e,t,i):i(e,t)}:void 0}],t))},t}(P),B=function(e){function t(t){return e.call(this,t,u.HoverRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[u.MarkupKind.Markdown,u.MarkupKind.PlainText]},t.prototype.initialize=function(e,t){e.hoverProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.HoverRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asHover,(function(e){return t.logFailedRequest(u.HoverRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerHoverProvider(e.documentSelector,{provideHover:function(e,t,i){return n.provideHover?n.provideHover(e,t,i,o):o(e,t,i)}})},t}(P),F=function(e){function t(t){return e.call(this,t,u.SignatureHelpRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText]}},t.prototype.initialize=function(e,t){e.signatureHelpProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.signatureHelpProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.SignatureHelpRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asSignatureHelp,(function(e){return t.logFailedRequest(u.SignatureHelpRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware,i=e.triggerCharacters||[];return l.languages.registerSignatureHelpProvider.apply(l.languages,s([e.documentSelector,{provideSignatureHelp:function(e,t,i){return n.provideSignatureHelp?n.provideSignatureHelp(e,t,i,o):o(e,t,i)}}],i))},t}(P),H=function(e){function t(t){return e.call(this,t,u.DefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"definition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.definitionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(u.DefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerDefinitionProvider(e.documentSelector,{provideDefinition:function(e,t,i){return n.provideDefinition?n.provideDefinition(e,t,i,o):o(e,t,i)}})},t}(P),U=function(e){function t(t){return e.call(this,t,u.ReferencesRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"references").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.referencesProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){return t.sendRequest(u.ReferencesRequest.type,t.code2ProtocolConverter.asReferenceParams(e,o,n),i).then(t.protocol2CodeConverter.asReferences,(function(e){return t.logFailedRequest(u.ReferencesRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerReferenceProvider(e.documentSelector,{provideReferences:function(e,t,i,r){return n.provideReferences?n.provideReferences(e,t,i,r,o):o(e,t,i,r)}})},t}(P),V=function(e){function t(t){return e.call(this,t,u.DocumentHighlightRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentHighlight").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentHighlightProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DocumentHighlightRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDocumentHighlights,(function(e){return t.logFailedRequest(u.DocumentHighlightRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentHighlightProvider(e.documentSelector,{provideDocumentHighlights:function(e,t,i){return n.provideDocumentHighlights?n.provideDocumentHighlights(e,t,i,o):o(e,t,i)}})},t}(P),W=function(e){function t(t){return e.call(this,t,u.DocumentSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S},t.hierarchicalDocumentSymbolSupport=!0},t.prototype.initialize=function(e,t){e.documentSymbolProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentSymbolRequest.type,t.code2ProtocolConverter.asDocumentSymbolParams(e),o).then((function(e){if(null!==e){if(0===e.length)return[];var o=e[0];return u.DocumentSymbol.is(o)?t.protocol2CodeConverter.asDocumentSymbols(e):t.protocol2CodeConverter.asSymbolInformations(e)}}),(function(e){return t.logFailedRequest(u.DocumentSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentSymbolProvider(e.documentSelector,{provideDocumentSymbols:function(e,t){return n.provideDocumentSymbols?n.provideDocumentSymbols(e,t,o):o(e,t)}})},t}(P),j=function(e){function t(t){return e.call(this,t,u.WorkspaceSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S}},t.prototype.initialize=function(e){e.workspaceSymbolProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:void 0})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.WorkspaceSymbolRequest.type,{query:e},o).then(t.protocol2CodeConverter.asSymbolInformations,(function(e){return t.logFailedRequest(u.WorkspaceSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,t){return n.provideWorkspaceSymbols?n.provideWorkspaceSymbols(e,t,o):o(e,t)}})},t}(x),G=function(e){function t(t){return e.call(this,t,u.CodeActionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.codeActionLiteralSupport={codeActionKind:{valueSet:["",u.CodeActionKind.QuickFix,u.CodeActionKind.Refactor,u.CodeActionKind.RefactorExtract,u.CodeActionKind.RefactorInline,u.CodeActionKind.RefactorRewrite,u.CodeActionKind.Source,u.CodeActionKind.SourceOrganizeImports]}}},t.prototype.initialize=function(e,t){e.codeActionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),context:t.code2ProtocolConverter.asCodeActionContext(n)};return t.sendRequest(u.CodeActionRequest.type,r,i).then((function(e){var o,n;if(null!==e){var i=[];try{for(var r=a(e),s=r.next();!s.done;s=r.next()){var l=s.value;u.Command.is(l)?i.push(t.protocol2CodeConverter.asCommand(l)):i.push(t.protocol2CodeConverter.asCodeAction(l))}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}}),(function(e){return t.logFailedRequest(u.CodeActionRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerCodeActionsProvider(e.documentSelector,{provideCodeActions:function(e,t,i,r){return n.provideCodeActions?n.provideCodeActions(e,t,i,r,o):o(e,t,i,r)}})},t}(P),z=function(e){function t(t){return e.call(this,t,u.CodeLensRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"codeLens").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.codeLensProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.codeLensProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.CodeLensRequest.type,t.code2ProtocolConverter.asCodeLensParams(e),o).then(t.protocol2CodeConverter.asCodeLenses,(function(e){return t.logFailedRequest(u.CodeLensRequest.type,e),Promise.resolve([])}))},n=function(e,o){return t.sendRequest(u.CodeLensResolveRequest.type,t.code2ProtocolConverter.asCodeLens(e),o).then(t.protocol2CodeConverter.asCodeLens,(function(o){return t.logFailedRequest(u.CodeLensResolveRequest.type,o),e}))},i=t.clientOptions.middleware;return l.languages.registerCodeLensProvider(e.documentSelector,{provideCodeLenses:function(e,t){return i.provideCodeLenses?i.provideCodeLenses(e,t,o):o(e,t)},resolveCodeLens:e.resolveProvider?function(e,t){return i.resolveCodeLens?i.resolveCodeLens(e,t,n):n(e,t)}:void 0})},t}(P),K=function(e){function t(t){return e.call(this,t,u.DocumentFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"formatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){var i={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),options:t.code2ProtocolConverter.asFormattingOptions(o)};return t.sendRequest(u.DocumentFormattingRequest.type,i,n).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentFormattingEditProvider(e.documentSelector,{provideDocumentFormattingEdits:function(e,t,i){return n.provideDocumentFormattingEdits?n.provideDocumentFormattingEdits(e,t,i,o):o(e,t,i)}})},t}(P),Y=function(e){function t(t){return e.call(this,t,u.DocumentRangeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentRangeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),options:t.code2ProtocolConverter.asFormattingOptions(n)};return t.sendRequest(u.DocumentRangeFormattingRequest.type,r,i).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentRangeFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentRangeFormattingEditProvider(e.documentSelector,{provideDocumentRangeFormattingEdits:function(e,t,i,r){return n.provideDocumentRangeFormattingEdits?n.provideDocumentRangeFormattingEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),X=function(e){function t(t){return e.call(this,t,u.DocumentOnTypeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentOnTypeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentOnTypeFormattingProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=e.moreTriggerCharacter||[],n=function(e,o,n,i,r){var s={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),ch:n,options:t.code2ProtocolConverter.asFormattingOptions(i)};return t.sendRequest(u.DocumentOnTypeFormattingRequest.type,s,r).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentOnTypeFormattingRequest.type,e),Promise.resolve([])}))},i=t.clientOptions.middleware;return l.languages.registerOnTypeFormattingEditProvider.apply(l.languages,s([e.documentSelector,{provideOnTypeFormattingEdits:function(e,t,o,r,s){return i.provideOnTypeFormattingEdits?i.provideOnTypeFormattingEdits(e,t,o,r,s,n):n(e,t,o,r,s)}},e.firstTriggerCharacter],o))},t}(P),q=function(e){function t(t){return e.call(this,t,u.RenameRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rename").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.renameProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),newName:n};return t.sendRequest(u.RenameRequest.type,r,i).then(t.protocol2CodeConverter.asWorkspaceEdit,(function(e){return t.logFailedRequest(u.RenameRequest.type,e),Promise.reject(new Error(e.message))}))},n=t.clientOptions.middleware;return l.languages.registerRenameProvider(e.documentSelector,{provideRenameEdits:function(e,t,i,r){return n.provideRenameEdits?n.provideRenameEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),$=function(e){function t(t){return e.call(this,t,u.DocumentLinkRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentLink").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentLinkProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentLinkProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentLinkRequest.type,t.code2ProtocolConverter.asDocumentLinkParams(e),o).then(t.protocol2CodeConverter.asDocumentLinks,(function(e){t.logFailedRequest(u.DocumentLinkRequest.type,e),Promise.resolve(new Error(e.message))}))},n=function(e,o){return t.sendRequest(u.DocumentLinkResolveRequest.type,t.code2ProtocolConverter.asDocumentLink(e),o).then(t.protocol2CodeConverter.asDocumentLink,(function(e){t.logFailedRequest(u.DocumentLinkResolveRequest.type,e),Promise.resolve(new Error(e.message))}))},i=t.clientOptions.middleware;return l.languages.registerDocumentLinkProvider(e.documentSelector,{provideDocumentLinks:function(e,t){return i.provideDocumentLinks?i.provideDocumentLinks(e,t,o):o(e,t)},resolveDocumentLink:e.resolveProvider?function(e,t){return i.resolveDocumentLink?i.resolveDocumentLink(e,t,n):n(e,t)}:void 0})},t}(P),J=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeConfigurationNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0},e.prototype.initialize=function(){var e=this._client.clientOptions.synchronize.configurationSection;void 0!==e&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{section:e}})},e.prototype.register=function(e,t){var o=this,n=l.workspace.onDidChangeConfiguration((function(e){o.onDidChangeConfiguration(t.registerOptions.section,e)}));this._listeners.set(t.id,n),void 0!==t.registerOptions.section&&this.onDidChangeConfiguration(t.registerOptions.section,void 0)},e.prototype.unregister=function(e){var t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=a(this._listeners.values()),n=o.next();!n.done;n=o.next()){n.value.dispose()}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.onDidChangeConfiguration=function(e,t){var o,n=this;if(void 0!==(o=d.string(e)?[e]:e)&&void 0!==t&&!o.some((function(e){return t.affectsConfiguration(e)})))return;var i=function(e){void 0!==e?n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:n.extractSettingsInformation(e)}):n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:null})},r=this.getMiddleware();r?r(o,i):i(o)},e.prototype.extractSettingsInformation=function(e){function t(e,t){for(var o=e,n=0;n<t.length-1;n++){var i=o[t[n]];i||(i=Object.create(null),o[t[n]]=i),o=i}return o}for(var o=this._client.clientOptions.workspaceFolder?this._client.clientOptions.workspaceFolder.uri:void 0,n=Object.create(null),i=0;i<e.length;i++){var r=e[i],s=r.indexOf("."),a=null;if(a=s>=0?l.workspace.getConfiguration(r.substr(0,s),o).get(r.substr(s+1)):l.workspace.getConfiguration(r,o)){var u=e[i].split(".");t(n,u)[u[u.length-1]]=a}}return n},e.prototype.getMiddleware=function(){var e=this._client.clientOptions.middleware;return e.workspace&&e.workspace.didChangeConfiguration?e.workspace.didChangeConfiguration:void 0},e}(),Z=function(){function e(e){this._client=e,this._commands=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.ExecuteCommandRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"executeCommand").dynamicRegistration=!0},e.prototype.initialize=function(e){e.executeCommandProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})},e.prototype.register=function(e,t){var o,n,i=this._client;if(t.registerOptions.commands){var r=[],s=function(e){r.push(l.commands.registerCommand(e,(function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n={command:e,arguments:t};return i.sendRequest(u.ExecuteCommandRequest.type,n).then(void 0,(function(e){i.logFailedRequest(u.ExecuteCommandRequest.type,e)}))})))};try{for(var c=a(t.registerOptions.commands),h=c.next();!h.done;h=c.next()){s(h.value)}}catch(e){o={error:e}}finally{try{h&&!h.done&&(n=c.return)&&n.call(c)}finally{if(o)throw o.error}}this._commands.set(t.id,r)}},e.prototype.unregister=function(e){var t=this._commands.get(e);t&&t.forEach((function(e){return e.dispose()}))},e.prototype.dispose=function(){this._commands.forEach((function(e){e.forEach((function(e){return e.dispose()}))})),this._commands.clear()},e}();!function(e){e.is=function(e){return e&&u.MessageReader.is(e.reader)&&u.MessageWriter.is(e.writer)}}(t.MessageTransports||(t.MessageTransports={}));var Q=function(){function t(e,t,o){var n=this;this._features=[],this._method2Message=new Map,this._dynamicFeatures=new Map,this._id=e,this._name=t,o=o||{},this._clientOptions={documentSelector:o.documentSelector||[],synchronize:o.synchronize||{},diagnosticCollectionName:o.diagnosticCollectionName,outputChannelName:o.outputChannelName||this._name,revealOutputChannelOn:o.revealOutputChannelOn||y.Error,stdioEncoding:o.stdioEncoding||"utf8",initializationOptions:o.initializationOptions,initializationFailedHandler:o.initializationFailedHandler,errorHandler:o.errorHandler||new E(this._name),middleware:o.middleware||{},uriConverters:o.uriConverters,workspaceFolder:o.workspaceFolder},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this.state=b.Initial,this._connectionPromise=void 0,this._resolvedConnection=void 0,this._initializeResult=void 0,o.outputChannel?(this._outputChannel=o.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._listeners=void 0,this._providers=void 0,this._diagnostics=void 0,this._fileEvents=[],this._fileEventDelayer=new g.Delayer(250),this._onReady=new Promise((function(e,t){n._onReadyCallbacks={resolve:e,reject:t}})),this._onStop=void 0,this._telemetryEmitter=new u.Emitter,this._stateChangeEmitter=new u.Emitter,this._tracer={log:function(e,t){n.logTrace(e,t)}},this._c2p=c.createConverter(o.uriConverters?o.uriConverters.code2Protocol:void 0),this._p2c=h.createConverter(o.uriConverters?o.uriConverters.protocol2Code:void 0),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}return Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){var t=this.getPublicState();this._state=e;var o=this.getPublicState();o!==t&&this._stateChangeEmitter.fire({oldState:t,newState:o})},enumerable:!0,configurable:!0}),t.prototype.getPublicState=function(){return this.state===b.Running?v.Running:v.Stopped},Object.defineProperty(t.prototype,"initializeResult",{get:function(){return this._initializeResult},enumerable:!0,configurable:!0}),t.prototype.sendRequest=function(e){for(var t,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{return(t=this._resolvedConnection).sendRequest.apply(t,s([e],o))}catch(t){throw this.error("Sending request "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.onRequest=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.onRequest(e,t)}catch(t){throw this.error("Registering request handler "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.sendNotification=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{this._resolvedConnection.sendNotification(e,t)}catch(t){throw this.error("Sending notification "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.onNotification=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.onNotification(e,t)}catch(t){throw this.error("Registering notification handler "+(d.string(e)?e:e.method)+" failed.",t),t}},Object.defineProperty(t.prototype,"clientOptions",{get:function(){return this._clientOptions},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"protocol2CodeConverter",{get:function(){return this._p2c},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"code2ProtocolConverter",{get:function(){return this._c2p},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onTelemetry",{get:function(){return this._telemetryEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDidChangeState",{get:function(){return this._stateChangeEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outputChannel",{get:function(){return this._outputChannel||(this._outputChannel=l.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"diagnostics",{get:function(){return this._diagnostics},enumerable:!0,configurable:!0}),t.prototype.createDefaultErrorHandler=function(){return new E(this._name)},Object.defineProperty(t.prototype,"trace",{set:function(e){var t=this;this._trace=e,this.onReady().then((function(){t.resolveConnection().then((function(o){o.trace(e,t._tracer)}))}),(function(){}))},enumerable:!0,configurable:!0}),t.prototype.data2String=function(e){if(e instanceof u.ResponseError){var t=e;return"  Message: "+t.message+"\n  Code: "+t.code+" "+(t.data?"\n"+t.data.toString():"")}return e instanceof Error?d.string(e.stack)?e.stack:e.message:d.string(e)?e:e.toString()},t.prototype.info=function(e,t){this.outputChannel.appendLine("[Info  - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Info&&this.outputChannel.show(!0)},t.prototype.warn=function(e,t){this.outputChannel.appendLine("[Warn  - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Warn&&this.outputChannel.show(!0)},t.prototype.error=function(e,t){this.outputChannel.appendLine("[Error - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Error&&this.outputChannel.show(!0)},t.prototype.logTrace=function(e,t){this.outputChannel.appendLine("[Trace - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t))},t.prototype.needsStart=function(){return this.state===b.Initial||this.state===b.Stopping||this.state===b.Stopped},t.prototype.needsStop=function(){return this.state===b.Starting||this.state===b.Running},t.prototype.onReady=function(){return this._onReady},t.prototype.isConnectionActive=function(){return this.state===b.Running&&!!this._resolvedConnection},t.prototype.start=function(){var e=this;return this._listeners=[],this._providers=[],this._diagnostics||(this._diagnostics=this._clientOptions.diagnosticCollectionName?l.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):l.languages.createDiagnosticCollection()),this.state=b.Starting,this.resolveConnection().then((function(t){return t.onLogMessage((function(t){switch(t.type){case u.MessageType.Error:e.error(t.message);break;case u.MessageType.Warning:e.warn(t.message);break;case u.MessageType.Info:e.info(t.message);break;default:e.outputChannel.appendLine(t.message)}})),t.onShowMessage((function(e){switch(e.type){case u.MessageType.Error:l.window.showErrorMessage(e.message);break;case u.MessageType.Warning:l.window.showWarningMessage(e.message);break;case u.MessageType.Info:l.window.showInformationMessage(e.message);break;default:l.window.showInformationMessage(e.message)}})),t.onRequest(u.ShowMessageRequest.type,(function(e){var t;switch(e.type){case u.MessageType.Error:t=l.window.showErrorMessage;break;case u.MessageType.Warning:t=l.window.showWarningMessage;break;case u.MessageType.Info:t=l.window.showInformationMessage;break;default:t=l.window.showInformationMessage}var o=e.actions||[];return t.apply(void 0,s([e.message],o))})),t.onTelemetry((function(t){e._telemetryEmitter.fire(t)})),t.listen(),e.initialize(t)})).then(void 0,(function(t){e.state=b.StartFailed,e._onReadyCallbacks.reject(t),e.error("Starting client failed",t),l.window.showErrorMessage("Couldn't start client "+e._name)})),new l.Disposable((function(){e.needsStop()&&e.stop()}))},t.prototype.resolveConnection=function(){return this._connectionPromise||(this._connectionPromise=this.createConnection()),this._connectionPromise},t.prototype.initialize=function(t){var o=this;this.refreshTrace(t,!1);var n=this._clientOptions.initializationOptions,i=this._clientOptions.workspaceFolder?this._clientOptions.workspaceFolder.uri.fsPath:this._clientGetRootPath(),r={processId:e.pid,rootPath:i||null,rootUri:i?this._c2p.asUri(l.Uri.file(i)):null,capabilities:this.computeClientCapabilities(),initializationOptions:d.func(n)?n():n,trace:u.Trace.toString(this._trace),workspaceFolders:null};return this.fillInitializeParams(r),t.initialize(r).then((function(e){o._resolvedConnection=t,o._initializeResult=e,o.state=b.Running;var n=void 0;return d.number(e.capabilities.textDocumentSync)&&e.capabilities.textDocumentSync!==u.TextDocumentSyncKind.None?n={openClose:!0,change:e.capabilities.textDocumentSync,save:{includeText:!1}}:void 0!==e.capabilities.textDocumentSync&&null!==e.capabilities.textDocumentSync&&(n=e.capabilities.textDocumentSync),o._capabilities=Object.assign({},e.capabilities,{resolvedTextDocumentSync:n}),t.onDiagnostics((function(e){return o.handleDiagnostics(e)})),t.onRequest(u.RegistrationRequest.type,(function(e){return o.handleRegistrationRequest(e)})),t.onRequest("client/registerFeature",(function(e){return o.handleRegistrationRequest(e)})),t.onRequest(u.UnregistrationRequest.type,(function(e){return o.handleUnregistrationRequest(e)})),t.onRequest("client/unregisterFeature",(function(e){return o.handleUnregistrationRequest(e)})),t.onRequest(u.ApplyWorkspaceEditRequest.type,(function(e){return o.handleApplyWorkspaceEdit(e)})),t.sendNotification(u.InitializedNotification.type,{}),o.hookFileEvents(t),o.hookConfigurationChanged(t),o.initializeFeatures(t),o._onReadyCallbacks.resolve(),e})).then(void 0,(function(e){o._clientOptions.initializationFailedHandler?o._clientOptions.initializationFailedHandler(e)?o.initialize(t):(o.stop(),o._onReadyCallbacks.reject(e)):e instanceof u.ResponseError&&e.data&&e.data.retry?l.window.showErrorMessage(e.message,{title:"Retry",id:"retry"}).then((function(n){n&&"retry"===n.id?o.initialize(t):(o.stop(),o._onReadyCallbacks.reject(e))})):(e&&e.message&&l.window.showErrorMessage(e.message),o.error("Server initialization failed.",e),o.stop(),o._onReadyCallbacks.reject(e))}))},t.prototype._clientGetRootPath=function(){var e=l.workspace.workspaceFolders;if(e&&0!==e.length){var t=e[0];return"file"===t.uri.scheme?t.uri.fsPath:void 0}},t.prototype.stop=function(){var e=this;return this._initializeResult=void 0,this._connectionPromise?this.state===b.Stopping&&this._onStop?this._onStop:(this.state=b.Stopping,this.cleanUp(),this._onStop=this.resolveConnection().then((function(t){return t.shutdown().then((function(){t.exit(),t.dispose(),e.state=b.Stopped,e._onStop=void 0,e._connectionPromise=void 0,e._resolvedConnection=void 0}))}))):(this.state=b.Stopped,Promise.resolve())},t.prototype.cleanUp=function(e,t){var o,n;void 0===e&&(e=!0),void 0===t&&(t=!0),this._listeners&&(this._listeners.forEach((function(e){return e.dispose()})),this._listeners=void 0),this._providers&&(this._providers.forEach((function(e){return e.dispose()})),this._providers=void 0),this._syncedDocuments&&this._syncedDocuments.clear();try{for(var i=a(this._dynamicFeatures.values()),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}e&&this._outputChannel&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0),t&&this._diagnostics&&(this._diagnostics.dispose(),this._diagnostics=void 0)},t.prototype.notifyFileEvent=function(e){var t=this;this._fileEvents.push(e),this._fileEventDelayer.trigger((function(){t.onReady().then((function(){t.resolveConnection().then((function(e){t.isConnectionActive()&&e.didChangeWatchedFiles({changes:t._fileEvents}),t._fileEvents=[]}))}),(function(e){t.error("Notify file events failed.",e)}))}))},t.prototype.forceDocumentSync=function(){this._dynamicFeatures.get(u.DidChangeTextDocumentNotification.type.method).forceDelivery()},t.prototype.handleDiagnostics=function(e){var t=this;if(this._diagnostics){var o=this._p2c.asUri(e.uri),n=this._p2c.asDiagnostics(e.diagnostics),i=this.clientOptions.middleware.handleDiagnostics;i?i(o,n,(function(e,o){return t.setDiagnostics(e,o)})):this.setDiagnostics(o,n)}},t.prototype.setDiagnostics=function(e,t){this._diagnostics&&this._diagnostics.set(e,t)},t.prototype.createConnection=function(){var e=this,t=function(t,o,n){e.handleConnectionError(t,o,n)},o=function(){e.handleConnectionClosed()};return this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8").then((function(e){return function(e,t,o,n){var i=new _,r=u.createProtocolConnection(e,t,i);return r.onError((function(e){o(e[0],e[1],e[2])})),r.onClose(n),{listen:function(){return r.listen()},sendRequest:function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return r.sendRequest.apply(r,s([d.string(e)?e:e.method],t))},onRequest:function(e,t){return r.onRequest(d.string(e)?e:e.method,t)},sendNotification:function(e,t){return r.sendNotification(d.string(e)?e:e.method,t)},onNotification:function(e,t){return r.onNotification(d.string(e)?e:e.method,t)},trace:function(e,t,o){return void 0===o&&(o=!1),r.trace(e,t,o)},initialize:function(e){return r.sendRequest(u.InitializeRequest.type,e)},shutdown:function(){return r.sendRequest(u.ShutdownRequest.type,void 0)},exit:function(){return r.sendNotification(u.ExitNotification.type)},onLogMessage:function(e){return r.onNotification(u.LogMessageNotification.type,e)},onShowMessage:function(e){return r.onNotification(u.ShowMessageNotification.type,e)},onTelemetry:function(e){return r.onNotification(u.TelemetryEventNotification.type,e)},didChangeConfiguration:function(e){return r.sendNotification(u.DidChangeConfigurationNotification.type,e)},didChangeWatchedFiles:function(e){return r.sendNotification(u.DidChangeWatchedFilesNotification.type,e)},didOpenTextDocument:function(e){return r.sendNotification(u.DidOpenTextDocumentNotification.type,e)},didChangeTextDocument:function(e){return r.sendNotification(u.DidChangeTextDocumentNotification.type,e)},didCloseTextDocument:function(e){return r.sendNotification(u.DidCloseTextDocumentNotification.type,e)},didSaveTextDocument:function(e){return r.sendNotification(u.DidSaveTextDocumentNotification.type,e)},onDiagnostics:function(e){return r.onNotification(u.PublishDiagnosticsNotification.type,e)},dispose:function(){return r.dispose()}}}(e.reader,e.writer,t,o)}))},t.prototype.handleConnectionClosed=function(){if(this.state!==b.Stopping&&this.state!==b.Stopped){try{this._resolvedConnection&&this._resolvedConnection.dispose()}catch(e){}var e=m.DoNotRestart;try{e=this._clientOptions.errorHandler.closed()}catch(e){}this._connectionPromise=void 0,this._resolvedConnection=void 0,e===m.DoNotRestart?(this.error("Connection to server got closed. Server will not be restarted."),this.state=b.Stopped,this.cleanUp(!1,!0)):e===m.Restart&&(this.info("Connection to server got closed. Server will restart."),this.cleanUp(!1,!1),this.state=b.Initial,this.start())}},t.prototype.handleConnectionError=function(e,t,o){this._clientOptions.errorHandler.error(e,t,o)===f.Shutdown&&(this.error("Connection to server is erroring. Shutting down server."),this.stop())},t.prototype.hookConfigurationChanged=function(e){var t=this;l.workspace.onDidChangeConfiguration((function(){t.refreshTrace(e,!0)}))},t.prototype.refreshTrace=function(e,t){void 0===t&&(t=!1);var o=l.workspace.getConfiguration(this._id),n=u.Trace.Off;o&&(n=u.Trace.fromString(o.get("trace.server","off"))),this._trace=n,e.trace(this._trace,this._tracer,t)},t.prototype.hookFileEvents=function(e){var t,o=this._clientOptions.synchronize.fileEvents;o&&((t=d.array(o)?o:[o])&&this._dynamicFeatures.get(u.DidChangeWatchedFilesNotification.type.method).registerRaw(p.generateUuid(),t))},t.prototype.registerFeatures=function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){var r=i.value;this.registerFeature(r)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}},t.prototype.registerFeature=function(e){var t,o;if(this._features.push(e),C.is(e)){var n=e.messages;if(Array.isArray(n))try{for(var i=a(n),r=i.next();!r.done;r=i.next()){var s=r.value;this._method2Message.set(s.method,s),this._dynamicFeatures.set(s.method,e)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}else this._method2Message.set(n.method,n),this._dynamicFeatures.set(n.method,e)}},t.prototype.registerBuiltinFeatures=function(){var e=this;this.registerFeature(new J(this)),this.registerFeature(new O(this,this._syncedDocuments)),this.registerFeature(new L(this)),this.registerFeature(new N(this)),this.registerFeature(new I(this)),this.registerFeature(new D(this)),this.registerFeature(new R(this,this._syncedDocuments)),this.registerFeature(new A(this,(function(t){return e.notifyFileEvent(t)}))),this.registerFeature(new M(this)),this.registerFeature(new B(this)),this.registerFeature(new F(this)),this.registerFeature(new H(this)),this.registerFeature(new U(this)),this.registerFeature(new V(this)),this.registerFeature(new W(this)),this.registerFeature(new j(this)),this.registerFeature(new G(this)),this.registerFeature(new z(this)),this.registerFeature(new K(this)),this.registerFeature(new Y(this)),this.registerFeature(new X(this)),this.registerFeature(new q(this)),this.registerFeature(new $(this)),this.registerFeature(new Z(this))},t.prototype.fillInitializeParams=function(e){var t,o;try{for(var n=a(this._features),i=n.next();!i.done;i=n.next()){var r=i.value;d.func(r.fillInitializeParams)&&r.fillInitializeParams(e)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}},t.prototype.computeClientCapabilities=function(){var e,t,o={};w(o,"workspace").applyEdit=!0,w(w(o,"workspace"),"workspaceEdit").documentChanges=!0,w(w(o,"textDocument"),"publishDiagnostics").relatedInformation=!0;try{for(var n=a(this._features),i=n.next();!i.done;i=n.next()){i.value.fillClientCapabilities(o)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return o},t.prototype.initializeFeatures=function(e){var t,o,n=this._clientOptions.documentSelector;try{for(var i=a(this._features),r=i.next();!r.done;r=i.next()){r.value.initialize(this._capabilities,n)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},t.prototype.handleRegistrationRequest=function(e){var t=this;return new Promise((function(o,n){var i,r;try{for(var s=a(e.registrations),l=s.next();!l.done;l=s.next()){var u=l.value,c=t._dynamicFeatures.get(u.method);if(!c)return void n(new Error("No feature implementation for "+u.method+" found. Registration failed."));var h=u.registerOptions||{};h.documentSelector=h.documentSelector||t._clientOptions.documentSelector;var d={id:u.id,registerOptions:h};c.register(t._method2Message.get(u.method),d)}}catch(e){i={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o()}))},t.prototype.handleUnregistrationRequest=function(e){var t=this;return new Promise((function(o,n){var i,r;try{for(var s=a(e.unregisterations),l=s.next();!l.done;l=s.next()){var u=l.value,c=t._dynamicFeatures.get(u.method);if(!c)return void n(new Error("No feature implementation for "+u.method+" found. Unregistration failed."));c.unregister(u.id)}}catch(e){i={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o()}))},t.prototype.handleApplyWorkspaceEdit=function(e){var t,o,n=e.edit,i=new Map;l.workspace.textDocuments.forEach((function(e){return i.set(e.uri.toString(),e)}));var r=!1;if(n.documentChanges)try{for(var s=a(n.documentChanges),u=s.next();!u.done;u=s.next()){var c=u.value;if(c.textDocument.version&&c.textDocument.version>=0){var h=i.get(c.textDocument.uri);if(h&&h.version!==c.textDocument.version){r=!0;break}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}return r?Promise.resolve({applied:!1}):l.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then((function(e){return{applied:e}}))},t.prototype.logFailedRequest=function(e,t){t instanceof u.ResponseError&&t.code===u.ErrorCodes.RequestCancelled||this.error("Request "+e.method+" failed.",t)},t}();t.BaseLanguageClient=Q}).call(this,o(108))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this._value=e}return e.prototype.asHex=function(){return this._value},e.prototype.equals=function(e){return this.asHex()===e.asHex()},e}(),s=function(e){function t(){return e.call(this,[t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))||this}return i(t,e),t._oneOf=function(e){return e[Math.floor(e.length*Math.random())]},t._randomHex=function(){return t._oneOf(t._chars)},t._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],t._timeHighBits=["8","9","a","b"],t}(r);function a(){return new s}t.empty=new r("00000000-0000-0000-0000-000000000000"),t.v4=a;var l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(e){return l.test(e)}t.isUUID=u,t.parse=function(e){if(!u(e))throw new Error("invalid uuid");return new r(e)},t.generateUuid=function(){return a().asHex()}},function(e,t,o){"use strict";o.r(t),o.d(t,"ToggleTabFocusModeAction",(function(){return l}));var n,i=o(0),r=o(3),s=o(131),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:t.ID,label:i.a({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})||this}return a(t,e),t.prototype.run=function(e,t){var o=s.b.getTabFocusMode();s.b.setTabFocusMode(!o)},t.ID="editor.action.toggleTabFocusMode",t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"DefinitionActionConfig",(function(){return C})),o.d(t,"DefinitionAction",(function(){return S})),o.d(t,"GoToDefinitionAction",(function(){return w})),o.d(t,"OpenDefinitionToSideAction",(function(){return k})),o.d(t,"PeekDefinitionAction",(function(){return O})),o.d(t,"ImplementationAction",(function(){return R})),o.d(t,"GoToImplementationAction",(function(){return L})),o.d(t,"PeekImplementationAction",(function(){return N})),o.d(t,"TypeDefinitionAction",(function(){return I})),o.d(t,"GoToTypeDefinitionAction",(function(){return D})),o.d(t,"PeekTypeDefinitionAction",(function(){return A}));var n,i=o(0),r=o(58),s=o(39),a=o(15),l=o(36),u=o(2),c=o(3),h=o(164),d=o(99),g=o(56),p=o(113),f=o(12),m=o(142),_=o(5),y=o(129),v=o(45),b=o(17),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e,t,o,n){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===o&&(o=!0),void 0===n&&(n=!0),this.openToSide=e,this.openInPeek=t,this.filterCurrent=o,this.showMessage=n},S=function(e){function t(t,o){var n=e.call(this,o)||this;return n._configuration=t,n}return E(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(v.a),i=e.get(l.a),r=e.get(y.a),s=t.getModel(),a=t.getPosition(),c=this._getDeclarationsAtPosition(s,a).then((function(e){if(!s.isDisposed()&&t.getModel()===s){for(var n=-1,r=[],l=0;l<e.length;l++){var c=e[l];if(c&&c.range){var h=c.uri,d=c.range,p=r.push({uri:h,range:d});o._configuration.filterCurrent&&h.toString()===s.uri.toString()&&u.a.containsPosition(d,a)&&-1===n&&(n=p-1)}}if(0===r.length){if(o._configuration.showMessage){var f=s.getWordAtPosition(a);m.a.get(t).showMessage(o._getNoResultFoundMessage(f),a)}}else if(1===r.length&&-1!==n){var _=r[0];o._openReference(t,i,_,!1)}else o._onResult(i,t,new g.c(r))}}),(function(e){n.error(e)}));return r.showWhile(c,250),c},t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.a)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("noResultWord","No definition found for '{0}'",e.word):i.a("generic.noResults","No definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.title"," – {0} definitions",e.references.length)},t.prototype._onResult=function(e,t,o){var n=this,i=o.getAriaMessage();if(Object(r.a)(i),this._configuration.openInPeek)this._openInPeek(e,t,o);else{var s=o.nearestReference(t.getModel().uri,t.getPosition());this._openReference(t,e,s,this._configuration.openToSide).then((function(t){t&&o.references.length>1?n._openInPeek(e,t,o):o.dispose()}))}},t.prototype._openReference=function(e,t,o,n){var i=o.uri,r=o.range;return t.openCodeEditor({resource:i,options:{selection:u.a.collapseToStart(r),revealIfOpened:!0,revealInCenterIfOutsideViewport:!0}},e,n)},t.prototype._openInPeek=function(e,t,o){var n=this,i=d.a.get(t);i?i.toggleWidget(t.getSelection(),Object(b.i)((function(e){return Promise.resolve(o)})),{getMetaTitle:function(e){return n._getMetaTitle(e)},onGoto:function(o){return i.closeWidget(),n._openReference(t,e,o,!1)}}):o.dispose()},t}(c.b),T=a.f?2118:70,w=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:T,weight:100},menuOpts:{group:"navigation",order:1.1}})||this}return E(t,e),t.ID="editor.action.goToDeclaration",t}(S),k=function(e){function t(){return e.call(this,new C(!0),{id:t.ID,label:i.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:Object(s.a)(2089,T),weight:100}})||this}return E(t,e),t.ID="editor.action.openDeclarationToTheSide",t}(S),O=function(e){function t(){return e.call(this,new C(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:i.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:f.d.and(_.a.hasDefinitionProvider,p.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this}return E(t,e),t}(S),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.b)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):i.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.implementations.title"," – {0} implementations",e.references.length)},t}(S),L=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:2118,weight:100}})||this}return E(t,e),t.ID="editor.action.goToImplementation",t}(R),N=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:3142,weight:100}})||this}return E(t,e),t.ID="editor.action.peekImplementation",t}(R),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.c)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):i.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length)},t}(S),D=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return E(t,e),t.ID="editor.action.goToTypeDefinition",t}(I),A=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100}})||this}return E(t,e),t.ID="editor.action.peekTypeDefinition",t}(I);Object(c.f)(w),Object(c.f)(k),Object(c.f)(O),Object(c.f)(L),Object(c.f)(N),Object(c.f)(D),Object(c.f)(A)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i}));var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.nextId=function(){return this._prefix+ ++this._lastId},e}(),i=new n("id#")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("IWorkspaceEditService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return f}));var n,i=o(30),r=o(22),s=o(37),a=o(12),l=o(36),u=o(140),c=o(19),h=o(45),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a,l,u){var c=e.call(this,t,n.getRawConfiguration(),{},i,r,s,a,l,u)||this;return c._parentEditor=n,c._overwriteOptions=o,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(n.onDidChangeConfiguration((function(e){return c._onParentConfigurationChanged(e)}))),c}return d(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){i.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=g([p(3,r.a),p(4,l.a),p(5,s.b),p(6,a.e),p(7,c.c),p(8,h.a)],t)}(u.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(92),i=function(e,t){this.index=e,this.remainder=t},r=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=Object(n.b)(e);var o=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(o.length+r),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e),e+r),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(n.b)(e),t=Object(n.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)},e.prototype.removeValues=function(e,t){e=Object(n.b)(e),t=Object(n.b)(t);var o=this.values,i=this.prefixSum;if(e>=o.length)return!1;var r=o.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(o.length-t),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Object(n.b)(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var o=t;o<=e;o++)this.prefixSum[o]=this.prefixSum[o-1]+this.values[o];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,o,n,r=0,s=this.values.length-1;r<=s;)if(t=r+(s-r)/2|0,e<(n=(o=this.prefixSum[t])-this.values[t]))s=t-1;else{if(!(e>=o))break;r=t+1}return new i(t,e-n)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new r(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t<this._cache.length)return this._cache[t]}return this._actual.getIndexOf(e)},e.prototype.warmUpCache=function(e,t){for(var o=[],n=e;n<=t;n++)o[n-e]=this.getIndexOf(n);this._cache=o,this._cacheAccumulatedValueStart=e},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n,i=o(8);n="undefined"!=typeof TextDecoder?function(e){return new r(e)}:function(e){return new s};var r=function(){function e(e){this._decoder=new TextDecoder("UTF-16LE"),this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}return e.prototype.reset=function(){this._completedStrings=null,this._bufferLength=0},e.prototype.build=function(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()},e.prototype._buildBuffer=function(){if(0===this._bufferLength)return"";var e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return this._decoder.decode(e)},e.prototype._flushBuffer=function(){var e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e},e.prototype.write1=function(e){var t=this._capacity-this._bufferLength;t<=1&&(0===t||i.isHighSurrogate(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCII=function(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCIIString=function(e){var t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var o=0;o<t;o++)this._buffer[this._bufferLength++]=e.charCodeAt(o)},e}(),s=function(){function e(){this._pieces=[],this._piecesLen=0}return e.prototype.reset=function(){this._pieces=[],this._piecesLen=0},e.prototype.build=function(){return this._pieces.join("")},e.prototype.write1=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCII=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCIIString=function(e){this._pieces[this._piecesLen++]=e},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));var n=o(144),i=o(82),r=o(89),s=o(33),a=o(13),l=o(205),u=o(22),c=o(4),h=o(6),d=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},g=function(e,t){return function(o,n){t(o,n,e)}},p=function(){function e(e,t,o){void 0===o&&(o=i.b),this._editor=e,this._modeService=t,this._openerService=o,this._onDidRenderCodeBlock=new c.a,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,o){var n=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(n).then((function(e){return Object(l.b)(o,n)})).then((function(e){return'<span style="font-family: '+t._editor.getConfiguration().fontInfo.fontFamily+'">'+e+"</span>"}))},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(s.a.parse(e)).then(void 0,a.e)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?Object(n.b)(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return Object(h.d)(t)}}},e=d([g(1,r.a),g(2,Object(u.d)(i.a))],e)}()},function(e,t,o){"use strict";o(474);var n,i,r=o(0),s=o(10),a=o(15),l=o(21),u=o(13),c=o(97),h=function(){function e(e){this.modelProvider=Object(l.e)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var o=this.modelProvider.getModel();return o===t?"__root__":o.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var o=this.modelProvider.getModel();return o&&o===t&&o.entries.length>0},e.prototype.getChildren=function(e,t){var o=this.modelProvider.getModel();return s.b.as(o===t?o.entries:[])},e.prototype.getParent=function(e,t){return s.b.as(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var o=this.modelProvider.getModel();return o.accessibilityProvider&&o.accessibilityProvider.getAriaLabel(t)},e.prototype.getPosInSet=function(e,t){var o=this.modelProvider.getModel();return String(o.entries.indexOf(t)+1)},e.prototype.getSetSize=function(){var e=this.modelProvider.getModel();return String(e.entries.length)},e}(),g=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var o=this.modelProvider.getModel();return!o.filter||o.filter.isVisible(t)},e}(),p=function(){function e(e,t){this.modelProvider=e,this.styles=t}return e.prototype.updateStyles=function(e){this.styles=e},e.prototype.getHeight=function(e,t){return this.modelProvider.getModel().renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){return this.modelProvider.getModel().renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,o){return this.modelProvider.getModel().renderer.renderTemplate(t,o,this.styles)},e.prototype.renderElement=function(e,t,o,n){this.modelProvider.getModel().renderer.renderElement(t,o,n,this.styles)},e.prototype.disposeTemplate=function(e,t,o){this.modelProvider.getModel().renderer.disposeTemplate(t,o)},e}(),f=o(34),m=o(162),_=o(210),y=(o(475),o(1)),v=o(6),b=o(14),E=o(30),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S={progressBarBackground:b.a.fromHex("#0E70C0")},T=function(e){function t(t,o){var n=e.call(this)||this;return n.options=o||Object.create(null),Object(E.g)(n.options,S,!1),n.workedVal=0,n.progressBarBackground=n.options.progressBarBackground,n.create(t),n}return C(t,e),t.prototype.create=function(e){var t=this;Object(f.a)(e).div({class:"monaco-progress-container"},(function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([y.d.ANIMATION_START,y.d.ANIMATION_END,y.d.ANIMATION_ITERATION],(function(e){switch(e.type){case y.d.ANIMATION_ITERATION:t.animationStopToken&&t.animationStopToken(null)}}),t.toDispose),t.bit=e.getHTMLElement()})),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.removeClass("active"),this.element.removeClass("infinite"),this.element.removeClass("discrete"),this.workedVal=0,this.totalWork=void 0},t.prototype.stop=function(){return this.doDone(!1)},t.prototype.doDone=function(e){var t=this;return this.element.addClass("done"),this.element.hasClass("infinite")?(this.bit.style.opacity="0",e?s.b.timeout(200).then((function(){return t.off()})):this.off()):(this.bit.style.width="inherit",e?s.b.timeout(200).then((function(){return t.off()})):this.off()),this},t.prototype.hide=function(){this.element.hide()},t.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},t.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},t}(v.a),w=o(51),k=o(75),O=o(42),R=o(41),L=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),N=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return L(t,e),t.prototype.onContextMenu=function(t,o,n){return a.d?this.onLeftClick(t,o,n):e.prototype.onContextMenu.call(this,t,o,n)},t}(k.c);!function(e){e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED"}(i||(i={}));var I={background:b.a.fromHex("#1E1E1E"),foreground:b.a.fromHex("#CCCCCC"),pickerGroupForeground:b.a.fromHex("#0097FB"),pickerGroupBorder:b.a.fromHex("#3F3F46"),widgetShadow:b.a.fromHex("#000000"),progressBarBackground:b.a.fromHex("#0E70C0")},D=r.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),A=function(e){function t(t,o,n){var i=e.call(this)||this;return i.isDisposed=!1,i.container=t,i.callbacks=o,i.options=n,i.styles=n||Object.create(null),Object(E.g)(i.styles,I,!1),i.model=null,i}return L(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;return this.builder=Object(f.a)().div((function(t){t.on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);if(9===o.keyCode)y.c.stop(t,!0),e.hide(i.CANCELED);else if(2===o.keyCode&&!o.altKey&&!o.ctrlKey&&!o.metaKey){var n=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");o.shiftKey&&o.target===n[0]?(y.c.stop(t,!0),n[n.length-1].focus()):o.shiftKey||o.target!==n[n.length-1]||(y.c.stop(t,!0),n[0].focus())}})).on(y.d.CONTEXT_MENU,(function(e){return y.c.stop(e,!0)})).on(y.d.FOCUS,(function(t){return e.gainingFocus()}),null,!0).on(y.d.BLUR,(function(t){return e.loosingFocus(t)}),null,!0),e.progressBar=e._register(new T(t.clone(),{progressBarBackground:e.styles.progressBarBackground})),e.progressBar.hide(),t.div({class:"quick-open-input"},(function(t){e.inputContainer=t,e.inputBox=e._register(new m.b(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:D,inputBackground:e.styles.inputBackground,inputForeground:e.styles.inputForeground,inputBorder:e.styles.inputBorder,inputValidationInfoBackground:e.styles.inputValidationInfoBackground,inputValidationInfoBorder:e.styles.inputValidationInfoBorder,inputValidationWarningBackground:e.styles.inputValidationWarningBackground,inputValidationWarningBorder:e.styles.inputValidationWarningBorder,inputValidationErrorBackground:e.styles.inputValidationErrorBackground,inputValidationErrorBorder:e.styles.inputValidationErrorBorder})),e.inputElement=e.inputBox.inputElement,e.inputElement.setAttribute("role","combobox"),e.inputElement.setAttribute("aria-haspopup","false"),e.inputElement.setAttribute("aria-autocomplete","list"),y.g(e.inputBox.inputElement,y.d.KEY_DOWN,(function(t){var o=new w.a(t),n=e.shouldOpenInBackground(o);if(2!==o.keyCode)if(18===o.keyCode||16===o.keyCode||12===o.keyCode||11===o.keyCode)y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===o.keyCode||n){y.c.stop(t,!0);var i=e.tree.getFocus();i&&e.elementSelected(i,t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})),y.g(e.inputBox.inputElement,y.d.INPUT,(function(t){e.onType()}))})),e.resultCount=t.div({class:"quick-open-result-count","aria-live":"polite"}).clone(),e.treeContainer=t.div({class:"quick-open-tree"},(function(t){var o=e.options.treeCreator||function(e,t,o){return new _.a(e,t,o)};e.tree=e._register(o(t.getHTMLElement(),{dataSource:new h(e),controller:new N({clickBehavior:k.a.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new p(e,e.styles),filter:new g(e),accessibilityProvider:new d(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:O.b.Visible,horizontalScrollMode:O.b.Hidden,ariaLabel:r.a("treeAriaLabel","Quick Picker"),keyboardSupport:e.options.keyboardSupport,preventRootFocus:!1})),e.treeElement=e.tree.getHTMLElement(),e._register(e.tree.onDidChangeFocus((function(t){e.elementFocused(t.focus,t)}))),e._register(e.tree.onDidChangeSelection((function(t){if(t.selection&&t.selection.length>0){var o=t.payload&&t.payload.originalEvent instanceof R.b?t.payload.originalEvent:void 0,n=!!o&&e.shouldOpenInBackground(o);e.elementSelected(t.selection[0],t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})))})).on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration&&(18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode)))})).on(y.d.KEY_UP,(function(t){var o=new w.a(t),n=o.keyCode;if(e.quickNavigateConfiguration){var i=e.quickNavigateConfiguration.keybindings;if(3===n||i.some((function(e){var t=e.getParts(),i=t[0];return!t[1]&&(i.shiftKey&&4===n?!(o.ctrlKey||o.altKey||o.metaKey):!(!i.altKey||6!==n)||(!(!i.ctrlKey||5!==n)||!(!i.metaKey||57!==n)))}))){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})).clone()})).addClass("monaco-quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),y.g(this.treeContainer.getHTMLElement(),y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration||18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.treeElement.focus())})),this.builder.getHTMLElement()},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.builder){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,o=this.styles.borderColor?this.styles.borderColor.toString():null,n=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.builder.style("color",e),this.builder.style("background-color",t),this.builder.style("border-color",o),this.builder.style("border-width",o?"1px":null),this.builder.style("border-style",o?"solid":null),this.builder.style("box-shadow",n?"0 5px 8px "+n:null)}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof w.a){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var o=this.tree.getInput(),n=o?o.entries:[],i=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();n.length>1&&i===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r).done(null,u.e)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){this.inputElement.setAttribute("aria-activedescendant",this.treeElement.getAttribute("aria-activedescendant"));var o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,c.a.PREVIEW,o)}},t.prototype.elementSelected=function(e,t,o){var n=!0;if(this.isVisible()){var r=o||c.a.OPEN,s={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};n=this.model.runner.run(e,r,s)}n&&this.hide(i.ELEMENT_SELECTED)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.builder.show(),this.tree.domFocus()):(this.inputContainer.show(),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.h(e)?this.helpText.hide():this.helpText.show()),l.h(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{}),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var o=this;this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.setInput(null).then((function(){return o.model=e,o.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),o.tree.setInput(e)})).done((function(){o.tree.layout();var n=e?e.entries.filter((function(t){return o.isElementVisible(e,t)})):[];o.updateResultCount(n.length),n.length&&o.autoFocus(e,n,t)}),u.e)},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,o){if(void 0===o&&(o={}),o.autoFocusPrefixMatch){for(var n=void 0,i=void 0,r=o.autoFocusPrefixMatch,s=r.toLowerCase(),a=0;a<t.length;a++){var l=t[a],c=e.dataSource.getLabel(l);if(n||0!==c.indexOf(r)?i||0!==c.toLowerCase().indexOf(s)||(i=l):n=l,n&&i)break}var h=n||i;if(h)return this.tree.setFocus(h),void this.tree.reveal(h,.5).done(null,u.e)}o.autoFocusFirstEntry?(this.tree.focusFirst(),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):"number"==typeof o.autoFocusIndex?t.length>o.autoFocusIndex&&(this.tree.focusNth(o.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):o.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):o.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var o=this,n=e.renderer;if(!e){var i=n.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*i:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter((function(t){return o.isElementVisible(e,t)})),l=this.options.maxItemsToShow||a.length,u=0;u<l&&u<a.length;u++){var c=n.getHeight(a[u]);if(!(s+c<=r))break;s+=c}return s},t.prototype.updateResultCount=function(e){this.resultCount.text(r.a({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results",e))},t.prototype.hide=function(e){this.isVisible()&&(this.visible=!1,this.builder.hide(),this.builder.domBlur(),this.inputBox.value="",this.tree.setInput(null),this.inputElement.setAttribute("aria-haspopup","false"),this.treeContainer.style({height:(this.options.minItemsToShow?22*this.options.minItemsToShow:0)+"px"}),this.progressBar.stop().hide(),this.tree.isDOMFocused()?this.tree.domBlur():this.inputBox.hasFocus()&&this.inputBox.blur(),e===i.ELEMENT_SELECTED?this.callbacks.onOk():this.callbacks.onCancel(),this.callbacks.onHide&&this.callbacks.onHide(e))},t.prototype.setInput=function(e,t,o){this.isVisible()&&(this.getInput()&&this.onInputChanging(),this.setInputAndLayout(e,t),this.inputBox&&this.inputBox.setAriaLabel(o||D))},t.prototype.onInputChanging=function(){var e=this;this.inputChangingTimeoutHandle&&(clearTimeout(this.inputChangingTimeoutHandle),this.inputChangingTimeoutHandle=null),this.builder.addClass("content-changing"),this.inputChangingTimeoutHandle=setTimeout((function(){e.builder.removeClass("content-changing")}),500)},t.prototype.getInput=function(){return this.tree.getInput()},t.prototype.isVisible=function(){return this.visible},t.prototype.layout=function(e){this.layoutDimensions=e;var o=Math.min(.62*this.layoutDimensions.width,t.MAX_WIDTH);this.builder&&(this.builder.style({width:o+"px",marginLeft:"-"+o/2+"px"}),this.inputContainer.style({width:o-12+"px"}))},t.prototype.gainingFocus=function(){this.isLoosingFocus=!1},t.prototype.loosingFocus=function(e){var t=this;if(this.isVisible()){var o=e.relatedTarget;!this.quickNavigateConfiguration&&y.B(o,this.builder.getHTMLElement())||(this.isLoosingFocus=!0,s.b.timeout(0).then((function(){t.isLoosingFocus&&(t.isDisposed||t.callbacks.onFocusLost&&t.callbacks.onFocusLost()||t.hide(i.FOCUS_LOST))})))}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.isDisposed=!0},t.MAX_WIDTH=600,t.MAX_ITEMS_HEIGHT=440,t}(v.a),P=o(16),x=o(118),M=o(7),B=function(){function e(e,t,o,n,i,r){this.codeEditor=e,this.themeService=r,this.create(t,o,n,i)}return e.prototype.create=function(e,t,o,n){this.domNode=document.createElement("div"),this.quickOpenWidget=new A(this.domNode,{onOk:e,onCancel:t,onType:o},{inputPlaceHolder:null,inputAriaLabel:n.inputAriaLabel,keyboardSupport:!0}),this.styler=Object(x.c)(this.quickOpenWidget,this.themeService,{pickerGroupForeground:M.I}),this.quickOpenWidget.create(),this.codeEditor.addOverlayWidget(this)},e.prototype.setInput=function(e,t){this.quickOpenWidget.setInput(e,t)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this.domNode},e.prototype.destroy=function(){this.codeEditor.removeOverlayWidget(this),this.quickOpenWidget.dispose(),this.styler.dispose()},e.prototype.show=function(e){this.visible=!0;var t=this.codeEditor.getLayoutInfo();t&&this.quickOpenWidget.layout(new y.b(t.width,t.height)),this.quickOpenWidget.show(e),this.codeEditor.layoutOverlayWidget(this)},e.prototype.getPosition=function(){return this.visible?{preference:P.c.TOP_CENTER}:null},e.ID="editor.contrib.quickOpenEditorWidget",e}(),F=o(3),H=o(19),U=o(26);o.d(t,"a",(function(){return z}));var V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),W=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},j=function(e,t){return function(o,n){t(o,n,e)}},G=function(){function e(e,t){this.themeService=t,this.editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.destroy(),this.widget=null)},e.prototype.run=function(e){var t=this;this.widget&&(this.widget.destroy(),this.widget=null);var o=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,t.editor.focus()};this.widget=new B(this.editor,(function(){return o(!1)}),(function(){return o(!0)}),(function(o){t.widget.setInput(e.getModel(o),e.getAutoFocus(o))}),{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,o){var n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var i=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=o.deltaDecorations(n,i);this.rangeHighlightDecorationId=r[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=U.a.register({className:"rangeHighlight",isWholeLine:!0}),e=W([j(1,H.c)],e)}(),z=function(e){function t(t,o){var n=e.call(this,o)||this;return n._inputAriaLabel=t,n}return V(t,e),t.prototype.getController=function(e){return G.get(e)},t.prototype._show=function(e,t){e.run({inputAriaLabel:this._inputAriaLabel,getModel:function(e){return t.getModel(e)},getAutoFocus:function(e){return t.getAutoFocus(e)}})},t}(F.b);Object(F.h)(G)},function(e,t,o){"use strict";o(440);var n=o(0),i=o(24),r=o(1),s=o(144),a=o(58),l=o(74),u=o(203),c=o(4),h=o(59),d=o(14),g=o(30),p=o(112),f=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.next=function(){return this._navigator.next()},e.prototype.previous=function(){return this._navigator.previous()},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.has=function(e){return this._history.has(e)},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new p.b(this._elements,0,this._elements.length,this._elements.length)},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,o=e;t<o.length;t++){var n=o[t];this._history.add(n)}},Object.defineProperty(e.prototype,"_elements",{get:function(){var e=[];return this._history.forEach((function(t){return e.push(t)})),e},enumerable:!0,configurable:!0}),e}();o.d(t,"b",(function(){return E})),o.d(t,"a",(function(){return C}));var m,_,y=(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),v=r.a;!function(e){e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"}(_||(_={}));var b={inputBackground:d.a.fromHex("#3C3C3C"),inputForeground:d.a.fromHex("#CCCCCC"),inputValidationInfoBorder:d.a.fromHex("#55AAFF"),inputValidationInfoBackground:d.a.fromHex("#063B49"),inputValidationWarningBorder:d.a.fromHex("#B89500"),inputValidationWarningBackground:d.a.fromHex("#352A05"),inputValidationErrorBorder:d.a.fromHex("#BE1100"),inputValidationErrorBackground:d.a.fromHex("#5A1D1D")},E=function(e){function t(t,o,n){var s=e.call(this)||this;s.state="idle",s._onDidChange=s._register(new c.a),s.onDidChange=s._onDidChange.event,s._onDidHeightChange=s._register(new c.a),s.contextViewProvider=o,s.options=n||Object.create(null),Object(g.g)(s.options,b,!1),s.message=null,s.cachedHeight=null,s.placeholder=s.options.placeholder||"",s.ariaLabel=s.options.ariaLabel||"",s.inputBackground=s.options.inputBackground,s.inputForeground=s.options.inputForeground,s.inputBorder=s.options.inputBorder,s.inputValidationInfoBorder=s.options.inputValidationInfoBorder,s.inputValidationInfoBackground=s.options.inputValidationInfoBackground,s.inputValidationWarningBorder=s.options.inputValidationWarningBorder,s.inputValidationWarningBackground=s.options.inputValidationWarningBackground,s.inputValidationErrorBorder=s.options.inputValidationErrorBorder,s.inputValidationErrorBackground=s.options.inputValidationErrorBackground,s.options.validationOptions&&(s.validation=s.options.validationOptions.validation),s.element=r.k(t,v(".monaco-inputbox.idle"));var a=s.options.flexibleHeight?"textarea":"input",u=r.k(s.element,v(".wrapper"));return s.input=r.k(u,v(a+".input")),s.input.setAttribute("autocorrect","off"),s.input.setAttribute("autocapitalize","off"),s.input.setAttribute("spellcheck","false"),s.onfocus(s.input,(function(){return r.f(s.element,"synthetic-focus")})),s.onblur(s.input,(function(){return r.G(s.element,"synthetic-focus")})),s.options.flexibleHeight?s.mirror=r.k(u,v("div.mirror")):(s.input.type=s.options.type||"text",s.input.setAttribute("wrap","off")),s.ariaLabel&&s.input.setAttribute("aria-label",s.ariaLabel),s.placeholder&&s.setPlaceHolder(s.placeholder),s.oninput(s.input,(function(){return s.onValueChange()})),s.onblur(s.input,(function(){return s.onBlur()})),s.onfocus(s.input,(function(){return s.onFocus()})),s.placeholder&&i.k&&s.onclick(s.input,(function(e){r.c.stop(e,!0),s.input.focus()})),setTimeout((function(){s.input&&s.updateMirror()}),0),s.options.actions&&(s.actionbar=s._register(new l.a(s.element)),s.actionbar.push(s.options.actions,{icon:!0,label:!1})),s.applyStyles(),s}return y(t,e),t.prototype.onBlur=function(){this._hideMessage()},t.prototype.onFocus=function(){this._showMessage()},t.prototype.setPlaceHolder=function(e){this.input&&(this.input.setAttribute("placeholder",e),this.input.title=e)},t.prototype.setAriaLabel=function(e){this.ariaLabel=e,this.input&&(e?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label"))},Object.defineProperty(t.prototype,"inputElement",{get:function(){return this.input},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.input.value},set:function(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.hasFocus=function(){return document.activeElement===this.input},t.prototype.select=function(e){void 0===e&&(e=null),this.input.select(),e&&this.input.setSelectionRange(e.start,e.end)},t.prototype.enable=function(){this.input.removeAttribute("disabled")},t.prototype.disable=function(){this.input.disabled=!0,this._hideMessage()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},Object.defineProperty(t.prototype,"width",{get:function(){return r.y(this.input)},set:function(e){this.input.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.showMessage=function(e,t){this.message=e,r.G(this.element,"idle"),r.G(this.element,"info"),r.G(this.element,"warning"),r.G(this.element,"error"),r.f(this.element,this.classForType(e.type));var o,i=this.stylesForType(this.message.type);this.element.style.border=i.border?"1px solid "+i.border:null,o=e.type===_.ERROR?n.a("alertErrorMessage","Error: {0}",e.content):e.type===_.WARNING?n.a("alertWarningMessage","Warning: {0}",e.content):n.a("alertInfoMessage","Info: {0}",e.content),a.a(o),(this.hasFocus()||t)&&this._showMessage()},t.prototype.hideMessage=function(){this.message=null,r.G(this.element,"info"),r.G(this.element,"warning"),r.G(this.element,"error"),r.f(this.element,"idle"),this._hideMessage(),this.applyStyles()},t.prototype.validate=function(){var e=null;return this.validation&&((e=this.validation(this.value))?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),!e},t.prototype.stylesForType=function(e){switch(e){case _.INFO:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground};case _.WARNING:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground}}},t.prototype.classForType=function(e){switch(e){case _.INFO:return"info";case _.WARNING:return"warning";default:return"error"}},t.prototype._showMessage=function(){var e=this;if(this.contextViewProvider&&this.message){var t,o=function(){return t.style.width=r.y(e.element)+"px"};this.state="open",this.contextViewProvider.showContextView({getAnchor:function(){return e.element},anchorAlignment:u.a.RIGHT,render:function(n){t=r.k(n,v(".monaco-inputbox-container")),o();var i={inline:!0,className:"monaco-inputbox-message"},a=e.message.formatContent?Object(s.a)(e.message.content,i):Object(s.c)(e.message.content,i);r.f(a,e.classForType(e.message.type));var l=e.stylesForType(e.message.type);return a.style.backgroundColor=l.background?l.background.toString():null,a.style.border=l.border?"1px solid "+l.border:null,r.k(t,a),null},layout:o})}},t.prototype._hideMessage=function(){this.contextViewProvider&&"open"===this.state&&(this.state="idle",this.contextViewProvider.hideContextView())},t.prototype.onValueChange=function(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),"open"===this.state&&this.contextViewProvider.layout()},t.prototype.updateMirror=function(){if(this.mirror){var e=this.value||this.placeholder,t=10===e.charCodeAt(e.length-1)?" ":"";this.mirror.textContent=e+t,this.layout()}},t.prototype.style=function(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.inputBackground?this.inputBackground.toString():null,t=this.inputForeground?this.inputForeground.toString():null,o=this.inputBorder?this.inputBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor=e,this.input.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},t.prototype.layout=function(){if(this.mirror){var e=this.cachedHeight;this.cachedHeight=r.x(this.mirror),e!==this.cachedHeight&&(this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedHeight))}},t.prototype.dispose=function(){this._hideMessage(),this.element=null,this.input=null,this.contextViewProvider=null,this.message=null,this.placeholder=null,this.ariaLabel=null,this.validation=null,this.state=null,this.actionbar=null,e.prototype.dispose.call(this)},t}(h.a),C=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.history=new f(n.history,100),i}return y(t,e),t.prototype.addToHistory=function(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)},t.prototype.showNextValue=function(){this.history.has(this.value)||this.addToHistory();var e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),e&&(this.value=e,a.c(this.value))},t.prototype.showPreviousValue=function(){this.history.has(this.value)||this.addToHistory();var e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,a.c(this.value))},t.prototype.getCurrentValue=function(){var e=this.history.current();return e||(e=this.history.last(),this.history.next()),e},t.prototype.getPreviousValue=function(){return this.history.previous()||this.history.first()},t.prototype.getNextValue=function(){return this.history.next()||this.history.last()},t}(E)},function(e,t,o){"use strict";var n=function(){function e(e,t,o,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=o,this.modifiedLength=n}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function i(e){return{getLength:function(){return e.length},getElementAtIndex:function(t){return e.charCodeAt(t)}}}function r(e,t,o){return new u(i(e),i(t)).ComputeDiff(o)}o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return u}));var s=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),a=function(){function e(){}return e.Copy=function(e,t,o,n,i){for(var r=0;r<i;r++)o[n+r]=e[t+r]},e}(),l=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=function(){function e(e,t,o){void 0===o&&(o=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=o,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,o,n,i){var r=this.ComputeDiffRecursive(e,t,o,n,[!1]);return i?this.ShiftChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,o,i,r){for(r[0]=!1;e<=t&&o<=i&&this.ElementsAreEqual(e,o);)e++,o++;for(;t>=e&&i>=o&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||o>i){var a=void 0;return o<=i?(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n(e,0,o,i-o+1)]):e<=t?(s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n(e,t-e+1,o,0)]):(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var l=[0],u=[0],c=this.ComputeRecursionPoint(e,t,o,i,l,u,r),h=l[0],d=u[0];if(null!==c)return c;if(!r[0]){var g=this.ComputeDiffRecursive(e,h,o,d,r),p=[];return p=r[0]?[new n(h+1,t-(h+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(h+1,t,d+1,i,r),this.ConcatenateChanges(g,p)}return[new n(e,t-e+1,o,i-o+1)]},e.prototype.WALKTRACE=function(e,t,o,i,r,s,a,u,c,h,d,g,p,f,m,_,y,v){var b,E,C=null,S=new l,T=t,w=o,k=p[0]-_[0]-i,O=Number.MIN_VALUE,R=this.m_forwardHistory.length-1;do{(E=k+e)===T||E<w&&c[E-1]<c[E+1]?(f=(d=c[E+1])-k-i,d<O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f),k=E+1-e):(f=(d=c[E-1]+1)-k-i,d<O&&S.MarkNextChange(),O=d-1,S.AddOriginalElement(d,f+1),k=E-1-e),R>=0&&(e=(c=this.m_forwardHistory[R])[0],T=1,w=c.length-1)}while(--R>=-1);if(b=S.getReverseChanges(),v[0]){var L=p[0]+1,N=_[0]+1;if(null!==b&&b.length>0){var I=b[b.length-1];L=Math.max(L,I.getOriginalEnd()),N=Math.max(N,I.getModifiedEnd())}C=[new n(L,g-L+1,N,m-N+1)]}else{S=new l,T=s,w=a,k=p[0]-_[0]-u,O=Number.MAX_VALUE,R=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(E=k+r)===T||E<w&&h[E-1]>=h[E+1]?(f=(d=h[E+1]-1)-k-u,d>O&&S.MarkNextChange(),O=d+1,S.AddOriginalElement(d+1,f+1),k=E+1-r):(f=(d=h[E-1])-k-u,d>O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f+1),k=E-1-r),R>=0&&(r=(h=this.m_reverseHistory[R])[0],T=1,w=h.length-1)}while(--R>=-1);C=S.getChanges()}return this.ConcatenateChanges(b,C)},e.prototype.ComputeRecursionPoint=function(e,t,o,i,r,s,l){var u,c,h,d=0,g=0,p=0,f=0;e--,o--,r[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,_,y=t-e+(i-o),v=y+1,b=new Array(v),E=new Array(v),C=i-o,S=t-e,T=e-o,w=t-i,k=(S-C)%2==0;for(b[C]=e,E[S]=t,l[0]=!1,h=1;h<=y/2+1;h++){var O=0,R=0;for(d=this.ClipDiagonalBound(C-h,h,C,v),g=this.ClipDiagonalBound(C+h,h,C,v),m=d;m<=g;m+=2){for(c=(u=m===d||m<g&&b[m-1]<b[m+1]?b[m+1]:b[m-1]+1)-(m-C)-T,_=u;u<t&&c<i&&this.ElementsAreEqual(u+1,c+1);)u++,c++;if(b[m]=u,u+c>O+R&&(O=u,R=c),!k&&Math.abs(m-S)<=h-1&&u>=E[m])return r[0]=u,s[0]=c,_<=E[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}var L=(O-e+(R-o)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(O,this.OriginalSequence,L))return l[0]=!0,r[0]=O,s[0]=R,L>0&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):[new n(++e,t-e+1,++o,i-o+1)];for(p=this.ClipDiagonalBound(S-h,h,S,v),f=this.ClipDiagonalBound(S+h,h,S,v),m=p;m<=f;m+=2){for(c=(u=m===p||m<f&&E[m-1]>=E[m+1]?E[m+1]-1:E[m-1])-(m-S)-w,_=u;u>e&&c>o&&this.ElementsAreEqual(u,c);)u--,c--;if(E[m]=u,k&&Math.abs(m-C)<=h&&u<=b[m])return r[0]=u,s[0]=c,_>=b[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}if(h<=1447){var N=new Array(g-d+2);N[0]=C-d+1,a.Copy(b,d,N,1,g-d+1),this.m_forwardHistory.push(N),(N=new Array(f-p+2))[0]=S-p+1,a.Copy(E,p,N,1,f-p+1),this.m_reverseHistory.push(N)}}return this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var o=0;o<e.length;o++)for(var n=e[o],i=o<e.length-1?e[o+1].originalStart:this.OriginalSequence.getLength(),r=o<e.length-1?e[o+1].modifiedStart:this.ModifiedSequence.getLength(),s=n.originalLength>0,a=n.modifiedLength>0;n.originalStart+n.originalLength<i&&n.modifiedStart+n.modifiedLength<r&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!a||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));)n.originalStart++,n.modifiedStart++;var l=new Array,u=[null];for(o=0;o<e.length;o++)o<e.length-1&&this.ChangesOverlap(e[o],e[o+1],u)?(t=!0,l.push(u[0]),o++):l.push(e[o]);e=l}while(t);for(o=e.length-1;o>=0;o--){n=e[o],i=0,r=0;if(o>0){var c=e[o-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(r=c.modifiedStart+c.modifiedLength)}s=n.originalLength>0,a=n.modifiedLength>0;for(var h=0,d=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),g=1;;g++){var p=n.originalStart-g,f=n.modifiedStart-g;if(p<i||f<r)break;if(s&&!this.OriginalElementsAreEqual(p,p+n.originalLength))break;if(a&&!this.ModifiedElementsAreEqual(f,f+n.modifiedLength))break;var m=this._boundaryScore(p,n.originalLength,f,n.modifiedLength);m>d&&(d=m,h=g)}n.originalStart-=h,n.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._OriginalIsBoundary(o-1)||this._OriginalIsBoundary(o))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._ModifiedIsBoundary(o-1)||this._ModifiedIsBoundary(o))return!0}return!1},e.prototype._boundaryScore=function(e,t,o,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(o,n)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var o=[],n=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],o)?(n=new Array(e.length+t.length-1),a.Copy(e,0,n,0,e.length-1),n[e.length-1]=o[0],a.Copy(t,1,n,e.length,t.length-1),n):(n=new Array(e.length+t.length),a.Copy(e,0,n,0,e.length),a.Copy(t,0,n,e.length,t.length),n)},e.prototype.ChangesOverlap=function(e,t,o){if(s.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),s.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var i=e.originalStart,r=e.originalLength,a=e.modifiedStart,l=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(r=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(l=t.modifiedStart+t.modifiedLength-e.modifiedStart),o[0]=new n(i,r,a,l),!0}return o[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,o,n){if(e>=0&&e<n)return e;var i=t%2==0;return e<0?i===(o%2==0)?0:1:i===((n-o-1)%2==0)?n-1:n-2},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return c})),o.d(t,"b",(function(){return h})),o.d(t,"c",(function(){return d}));var n=o(25),i=o(17),r=o(13),s=o(10),a=o(3),l=o(11);function u(e,t,o,a){var l=o.ordered(e).map((function(o){return Object(i.h)((function(n){return a(o,e,t,n)})).then(void 0,(function(e){return Object(r.f)(e),null}))}));return s.b.join(l).then(n.i).then((function(e){return Object(n.c)(e)}))}function c(e,t){return u(e,t,l.e,(function(e,t,o,n){return e.provideDefinition(t,o,n)}))}function h(e,t){return u(e,t,l.n,(function(e,t,o,n){return e.provideImplementation(t,o,n)}))}function d(e,t){return u(e,t,l.z,(function(e,t,o,n){return e.provideTypeDefinition(t,o,n)}))}Object(a.e)("_executeDefinitionProvider",c),Object(a.e)("_executeImplementationProvider",h),Object(a.e)("_executeTypeDefinitionProvider",d)},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c}));var n=o(33),i=o(40),r=o(8),s=o(62),a=o(15),l=o(178);function u(e,t,o){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var u=o?o.getWorkspaceFolder(e):null;if(u){var c=o.getWorkspace().folders.length>1,p=void 0;if(p=Object(l.c)(u.uri,e,!a.c)?"":Object(i.h)(Object(r.ltrim)(e.path.substr(u.uri.path.length),i.i),!0),c){var f=u&&u.name?u.name:Object(i.a)(u.uri.fsPath);p=p?f+" • "+p:f}return p}if(e.scheme!==s.a.file&&e.scheme!==s.a.untitled)return e.with({query:null,fragment:null}).toString(!0);if(h(e.fsPath))return Object(i.h)(d(e.fsPath),!0);var m=Object(i.h)(e.fsPath,!0);return!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var o=g.original===t?g.normalized:void 0;o||(o=""+Object(r.rtrim)(t,i.i)+i.i,g={original:t,normalized:o});(a.c?Object(r.startsWith)(e,o):Object(r.startsWithIgnoreCase)(e,o))&&(e="~/"+e.substr(o.length));return e}(m,t.userHome)),m}function c(e){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var t=Object(i.a)(e.path)||(e.scheme===s.a.file?e.fsPath:e.path);return h(t)?d(t):t}function h(e){return a.g&&e&&":"===e[1]}function d(e){return h(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var g=Object.create(null)},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(185)),n(o(121)),n(o(518)),n(o(519)),n(o(311)),n(o(312)),n(o(313)),n(o(314)),n(o(532)),n(o(315))},function(e,t,o){(function(e){function o(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===o(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===o(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===o(e)},t.isError=function(e){return"[object Error]"===o(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,o(120).Buffer)},function(e,t,o){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:o(340),e.exports={Promise:n}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=function(e){return"[object Function]"===n.call(e)},t.array=r,t.stringArray=function(e){return r(e)&&e.every((function(e){return i(e)}))}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(t.Event||(t.Event={}));var n=function(){function e(){}return e.prototype.add=function(e,t,o){var n=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:function(){return n.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);o=!0}if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}},e.prototype.invoke=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!this._callbacks)return[];for(var o=[],n=this._callbacks.slice(0),i=this._contexts.slice(0),r=0,s=n.length;r<s;r++)try{o.push(n[r].apply(i[r],e))}catch(e){console.error(e)}return o},e.prototype.isEmpty=function(){return!this._callbacks||0===this._callbacks.length},e.prototype.dispose=function(){this._callbacks=void 0,this._contexts=void 0},e}(),i=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(o,i,r){var s;return t._callbacks||(t._callbacks=new n),t._options&&t._options.onFirstListenerAdd&&t._callbacks.isEmpty()&&t._options.onFirstListenerAdd(t),t._callbacks.add(o,i),s={dispose:function(){t._callbacks.remove(o,i),s.dispose=e._noop,t._options&&t._options.onLastListenerRemove&&t._callbacks.isEmpty()&&t._options.onLastListenerRemove(t)}},Array.isArray(r)&&r.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)},e.prototype.dispose=function(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)},e._noop=function(){},e}();t.Emitter=i},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every(e=>n(e))}},function(e,t,o){"use strict";o.r(t);var n=o(14);function i(e,t){switch(void 0===t&&(t=0),typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(o=e,n=r(104579,n=t),o.reduce((function(e,t){return i(t,e)}),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce((function(t,o){return t=s(o,t),i(e[o],t)}),t)}(e,t);case"string":return s(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(e,937);default:return r(e,617)}var o,n}function r(e,t){return(t<<5)-t+e|0}function s(e,t){t=r(149417,t);for(var o=0,n=e.length;o<n;o++)t=r(e.charCodeAt(o),t);return t}var a=o(6),l=o(3),u=o(2),c=o(11),h=o(36),d=o(175),g=o(49),p=o(26),f=o(17),m=o(13);o.d(t,"ColorDetector",(function(){return v}));var _=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o){var n=this;this._editor=e,this._codeEditorService=t,this._configurationService=o,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel((function(e){n._isEnabled=n.isEnabled(),n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),this._globalToDispose.push(c.d.onDidChange((function(e){return n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n.isEnabled(),t!==n._isEnabled&&(n._isEnabled?n.onModelChanged():n.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),o=this._configurationService.getValue(t.language);if(o){var n=o.colorDecorators;if(n&&void 0!==n.enable&&!n.enable)return n.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=Object(a.d)(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var o=this._editor.getModel();c.d.has(o)&&(this._localToDispose.push(this._editor.onDidChangeModelContent((function(o){t._timeoutTimer||(t._timeoutTimer=new f.f,t._timeoutTimer.cancelAndSet((function(){t._timeoutTimer=null,t.beginCompute()}),e.RECOMPUTE_TIME))}))),this.beginCompute())}},e.prototype.beginCompute=function(){var e=this;this._computePromise=Object(f.i)((function(t){return Object(d.b)(e._editor.getModel(),t)})),this._computePromise.then((function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null}),m.e)},e.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=Object(a.d)(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,o=e.map((function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:p.a.EMPTY}}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,o),this._colorDatas=new Map,this._decorationsIds.forEach((function(o,n){return t._colorDatas.set(o,e[n])}))},e.prototype.updateColorDecorators=function(e){for(var t=[],o={},r=0;r<e.length&&t.length<500;r++){var s=e[r].colorInfo.color,a=s.red,l=s.green,u=s.blue,c=s.alpha,h=new n.c(Math.round(255*a),Math.round(255*l),Math.round(255*u),c),d=i(h).toString(16),g="rgba("+h.r+", "+h.g+", "+h.b+", "+h.a+")",p="colorBox-"+d;this._decorationsTypes[p]||o[p]||this._codeEditorService.registerDecorationType(p,{before:{contentText:" ",border:"solid 0.1em #000",margin:"0.1em 0.2em 0 0.2em",width:"0.8em",height:"0.8em",backgroundColor:g},dark:{before:{border:"solid 0.1em #eee"}}}),o[p]=!0,t.push({range:{startLineNumber:e[r].colorInfo.range.startLineNumber,startColumn:e[r].colorInfo.range.startColumn,endLineNumber:e[r].colorInfo.range.endLineNumber,endColumn:e[r].colorInfo.range.endColumn},options:this._codeEditorService.resolveDecorationOptions(p,!0)})}for(var f in this._decorationsTypes)o[f]||this._codeEditorService.removeDecorationType(f);this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,t)},e.prototype.removeAllDecorations=function(){for(var e in this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,[]),this._decorationsTypes)this._codeEditorService.removeDecorationType(e)},e.prototype.getColorData=function(e){var t=this,o=this._editor.getModel().getDecorationsInRange(u.a.fromPositions(e,e)).filter((function(e){return t._colorDatas.has(e.id)}));return 0===o.length?null:this._colorDatas.get(o[0].id)},e.ID="editor.contrib.colorDetector",e.RECOMPUTE_TIME=1e3,e=_([y(1,h.a),y(2,g.b)],e)}();Object(l.h)(v)},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=!1,i=null;function r(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,o=e.parent.location;if(t.protocol!==o.protocol||t.hostname!==o.hostname||t.port!==o.port)return n=!0,null}catch(e){return n=!0,null}return e.parent}function s(e,t){for(var o,n=e.document.getElementsByTagName("iframe"),i=0,r=n.length;i<r;i++)if((o=n[i]).contentWindow===t)return o;return null}var a=function(){function e(){}return e.getSameOriginWindowChain=function(){if(!i){i=[];var e,t=window;do{(e=r(t))?i.push({window:t,iframeElement:s(e,t)}):i.push({window:t,iframeElement:null}),t=e}while(t)}return i.slice(0)},e.hasDifferentOriginAncestor=function(){return i||this.getSameOriginWindowChain(),n},e.getPositionOfChildWindowRelativeToAncestorWindow=function(e,t){if(!t||e===t)return{top:0,left:0};for(var o=0,n=0,i=this.getSameOriginWindowChain(),r=0;r<i.length;r++){var s=i[r];if(s.window===t)break;if(!s.iframeElement)break;var a=s.iframeElement.getBoundingClientRect();o+=a.top,n+=a.left}return{top:o,left:n}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return p})),o.d(t,"b",(function(){return f}));var n,i=o(17),r=o(23),s=o(8),a=o(4),l=o(6),u=o(88),c=o(24),h=o(15),d=o(1),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p={forceCopyWithSyntaxHighlighting:!1},f=function(e){function t(t,o){var n=e.call(this)||this;n._onFocus=n._register(new a.a),n.onFocus=n._onFocus.event,n._onBlur=n._register(new a.a),n.onBlur=n._onBlur.event,n._onKeyDown=n._register(new a.a),n.onKeyDown=n._onKeyDown.event,n._onKeyUp=n._register(new a.a),n.onKeyUp=n._onKeyUp.event,n._onCut=n._register(new a.a),n.onCut=n._onCut.event,n._onPaste=n._register(new a.a),n.onPaste=n._onPaste.event,n._onType=n._register(new a.a),n.onType=n._onType.event,n._onCompositionStart=n._register(new a.a),n.onCompositionStart=n._onCompositionStart.event,n._onCompositionUpdate=n._register(new a.a),n.onCompositionUpdate=n._onCompositionUpdate.event,n._onCompositionEnd=n._register(new a.a),n.onCompositionEnd=n._onCompositionEnd.event,n._onSelectionChangeRequest=n._register(new a.a),n.onSelectionChangeRequest=n._onSelectionChangeRequest.event,n._host=t,n._textArea=n._register(new _(o)),n._lastTextAreaEvent=0,n._asyncTriggerCut=n._register(new i.c((function(){return n._onCut.fire()}),0)),n._textAreaState=u.b.EMPTY,n.writeScreenReaderContent("ctor"),n._hasFocus=!1,n._isDoingComposition=!1,n._nextCommand=0,n._register(d.j(o.domNode,"keydown",(function(e){!n._isDoingComposition||109!==e.keyCode&&1!==e.keyCode||e.stopPropagation(),e.equals(9)&&e.preventDefault(),n._onKeyDown.fire(e)}))),n._register(d.j(o.domNode,"keyup",(function(e){n._onKeyUp.fire(e)}))),n._register(d.g(o.domNode,"compositionstart",(function(e){n._lastTextAreaEvent=1,n._isDoingComposition||(n._isDoingComposition=!0,c.h||n._setAndWriteTextAreaState("compositionstart",u.b.EMPTY),n._onCompositionStart.fire())})));var l=function(e,t){var o=n._textAreaState,i=u.b.readFromTextArea(n._textArea);return[i,u.b.deduceInput(o,i,e,t)]},g=function(e){var t=n._textAreaState,o=u.b.selectedText(e);return[o,{text:o.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]},p=function(e){return!(!c.h||"ja"!==e)||!(!c.k||0!==e.indexOf("zh-Han"))};n._register(d.g(o.domNode,"compositionupdate",(function(e){if(n._lastTextAreaEvent=2,p(e.locale)){var t=l(!1,!1),o=t[0],i=t[1];return n._textAreaState=o,n._onType.fire(i),void n._onCompositionUpdate.fire(e)}var r=g(e.data),s=r[0],a=r[1];n._textAreaState=s,n._onType.fire(a),n._onCompositionUpdate.fire(e)}))),n._register(d.g(o.domNode,"compositionend",(function(e){if(n._lastTextAreaEvent=3,p(e.locale)){var t=l(!1,!1),o=t[0],i=t[1];n._textAreaState=o,n._onType.fire(i)}else{var r=g(e.data);o=r[0],i=r[1];n._textAreaState=o,n._onType.fire(i)}(c.h||c.f)&&(n._textAreaState=u.b.readFromTextArea(n._textArea)),n._isDoingComposition&&(n._isDoingComposition=!1,n._onCompositionEnd.fire())}))),n._register(d.g(o.domNode,"input",(function(){var e=8===n._lastTextAreaEvent;if(n._lastTextAreaEvent=4,n._textArea.setIgnoreSelectionChangeTime("received input event"),!n._isDoingComposition){var t=l(h.d,e&&h.d),o=t[0],i=t[1];0===i.replaceCharCnt&&1===i.text.length&&s.isHighSurrogate(i.text.charCodeAt(0))||(n._textAreaState=o,0===n._nextCommand?""!==i.text&&n._onType.fire(i):(""!==i.text&&n._onPaste.fire({text:i.text}),n._nextCommand=0))}}))),n._register(d.g(o.domNode,"cut",(function(e){n._lastTextAreaEvent=5,n._textArea.setIgnoreSelectionChangeTime("received cut event"),n._ensureClipboardGetsEditorSelection(e),n._asyncTriggerCut.schedule()}))),n._register(d.g(o.domNode,"copy",(function(e){n._lastTextAreaEvent=6,n._ensureClipboardGetsEditorSelection(e)}))),n._register(d.g(o.domNode,"paste",(function(e){if(n._lastTextAreaEvent=7,n._textArea.setIgnoreSelectionChangeTime("received paste event"),m.canUseTextData(e)){var t=m.getTextData(e);""!==t&&n._onPaste.fire({text:t})}else n._textArea.getSelectionStart()!==n._textArea.getSelectionEnd()&&n._setAndWriteTextAreaState("paste",u.b.EMPTY),n._nextCommand=1}))),n._register(d.g(o.domNode,"focus",(function(){n._lastTextAreaEvent=8,n._setHasFocus(!0)}))),n._register(d.g(o.domNode,"blur",(function(){n._lastTextAreaEvent=9,n._setHasFocus(!1)})));var f=0;return n._register(d.g(document,"selectionchange",(function(e){if(n._hasFocus&&!n._isDoingComposition&&c.f&&h.g){var t=Date.now(),o=t-f;if(f=t,!(o<5)){var i=t-n._textArea.getIgnoreSelectionChangeTime();if(n._textArea.resetSelectionChangeTime(),!(i<100)&&n._textAreaState.selectionStartPosition&&n._textAreaState.selectionEndPosition){var s=n._textArea.getValue();if(n._textAreaState.value===s){var a=n._textArea.getSelectionStart(),l=n._textArea.getSelectionEnd();if(n._textAreaState.selectionStart!==a||n._textAreaState.selectionEnd!==l){var u=n._textAreaState.deduceEditorPosition(a),d=n._host.deduceModelPosition(u[0],u[1],u[2]),g=n._textAreaState.deduceEditorPosition(l),p=n._host.deduceModelPosition(g[0],g[1],g[2]),m=new r.a(d.lineNumber,d.column,p.lineNumber,p.column);n._onSelectionChangeRequest.fire(m)}}}}}}))),n}return g(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.focusTextArea=function(){this._setHasFocus(!0)},t.prototype.isFocused=function(){return this._hasFocus},t.prototype._setHasFocus=function(e){this._hasFocus!==e&&(this._hasFocus=e,this._hasFocus&&(c.g?this._setAndWriteTextAreaState("focusgain",u.b.EMPTY):this.writeScreenReaderContent("focusgain")),this._hasFocus?this._onFocus.fire():this._onBlur.fire())},t.prototype._setAndWriteTextAreaState=function(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t},t.prototype.writeScreenReaderContent=function(e){this._isDoingComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))},t.prototype._ensureClipboardGetsEditorSelection=function(e){var t=this._host.getPlainTextToCopy();if(m.canUseTextData(e)){var o=null;c.e()&&(t.length<65536||p.forceCopyWithSyntaxHighlighting)&&(o=this._host.getHTMLToCopy()),m.setTextData(e,t,o)}else this._setAndWriteTextAreaState("copy or cut",u.b.selectedText(t))},t}(l.a),m=function(){function e(){}return e.canUseTextData=function(e){return!!e.clipboardData||!!window.clipboardData},e.getTextData=function(e){if(e.clipboardData)return e.preventDefault(),e.clipboardData.getData("text/plain");if(window.clipboardData)return e.preventDefault(),window.clipboardData.getData("Text");throw new Error("ClipboardEventUtils.getTextData: Cannot use text data!")},e.setTextData=function(e,t,o){if(e.clipboardData)return e.clipboardData.setData("text/plain",t),null!==o&&e.clipboardData.setData("text/html",o),void e.preventDefault();if(window.clipboardData)return window.clipboardData.setData("Text",t),void e.preventDefault();throw new Error("ClipboardEventUtils.setTextData: Cannot use text data!")},e}(),_=function(e){function t(t){var o=e.call(this)||this;return o._actual=t,o._ignoreSelectionChangeTime=0,o}return g(t,e),t.prototype.setIgnoreSelectionChangeTime=function(e){this._ignoreSelectionChangeTime=Date.now()},t.prototype.getIgnoreSelectionChangeTime=function(){return this._ignoreSelectionChangeTime},t.prototype.resetSelectionChangeTime=function(){this._ignoreSelectionChangeTime=0},t.prototype.getValue=function(){return this._actual.domNode.value},t.prototype.setValue=function(e,t){var o=this._actual.domNode;o.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),o.value=t)},t.prototype.getSelectionStart=function(){return this._actual.domNode.selectionStart},t.prototype.getSelectionEnd=function(){return this._actual.domNode.selectionEnd},t.prototype.setSelectionRange=function(e,t,o){var n=this._actual.domNode,i=document.activeElement===n,r=n.selectionStart,s=n.selectionEnd;if(i&&r===t&&s===o)c.j&&window.parent!==window&&n.focus();else{if(i)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,o),void(c.j&&window.parent!==window&&n.focus());try{var a=d.K(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,o),d.I(n,a)}catch(e){}}},t}(l.a)},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));var n=o(33),i=o(10),r=o(11),s=o(17),a=o(3),l=o(2),u=o(13),c=o(60);function h(e,t){var o=[],n=r.d.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideDocumentColors(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;t<i.length;t++){var r=i[t];o.push({colorInfo:r,provider:n})}}))}));return Promise.all(n).then((function(){return o}))}function d(e,t,o,n){return Promise.resolve(o.provideColorPresentations(e,t,n))}Object(a.j)("_executeDocumentColorProvider",(function(e,t){var o=t.resource;if(!(o instanceof n.a))throw Object(u.b)();var a=e.get(c.a).getModel(o);if(!a)throw Object(u.b)();var l=[],h=r.d.ordered(a).reverse().map((function(e){return Object(s.h)((function(t){return e.provideDocumentColors(a,t)})).then((function(e){if(Array.isArray(e))for(var t=0,o=e;t<o.length;t++){var n=o[t];l.push({range:n.range,color:[n.color.red,n.color.green,n.color.blue,n.color.alpha]})}}))}));return i.b.join(h).then((function(){return l}))})),Object(a.j)("_executeColorPresentationProvider",(function(e,t){var o=t.resource,a=t.color,h=t.range;if(!(o instanceof n.a&&Array.isArray(a)&&4===a.length&&l.a.isIRange(h)))throw Object(u.b)();var d=a[0],g=a[1],p=a[2],f=a[3],m=e.get(c.a).getModel(o);if(!m)throw Object(u.b)();var _={range:h,color:{red:d,green:g,blue:p,alpha:f}},y=[],v=r.d.ordered(m).reverse().map((function(e){return Object(s.h)((function(t){return e.provideColorPresentations(m,_,t)})).then((function(e){Array.isArray(e)&&y.push.apply(y,e)}))}));return i.b.join(v).then((function(){return y}))}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var n=o(43),i=o(20),r=o(2),s=o(63),a=o(8),l=function(){function e(){}return e.deleteRight=function(e,t,o,i){for(var a=[],l=3!==e,u=0,c=i.length;u<c;u++){var h=i[u],d=h;if(d.isEmpty()){var g=h.getPosition(),p=s.a.right(t,o,g.lineNumber,g.column);d=new r.a(p.lineNumber,p.column,g.lineNumber,g.column)}d.isEmpty()?a[u]=null:(d.startLineNumber!==d.endLineNumber&&(l=!0),a[u]=new n.a(d,""))}return[l,a]},e._isAutoClosingPairDelete=function(e,t,o){if(!e.autoClosingBrackets)return!1;for(var n=0,i=o.length;n<i;n++){var r=o[n],s=r.getPosition();if(!r.isEmpty())return!1;var a=t.getLineContent(s.lineNumber),l=a[s.column-2];if(!e.autoClosingPairsOpen.hasOwnProperty(l))return!1;if(a[s.column-1]!==e.autoClosingPairsOpen[l])return!1}return!0},e._runAutoClosingPairDelete=function(e,t,o){for(var i=[],s=0,a=o.length;s<a;s++){var l=o[s].getPosition(),u=new r.a(l.lineNumber,l.column-1,l.lineNumber,l.column+1);i[s]=new n.a(u,"")}return[!0,i]},e.deleteLeft=function(e,t,o,l){if(this._isAutoClosingPairDelete(t,o,l))return this._runAutoClosingPairDelete(t,o,l);for(var u=[],c=2!==e,h=0,d=l.length;h<d;h++){var g=l[h],p=g;if(p.isEmpty()){var f=g.getPosition();if(t.useTabStops&&f.column>1){var m=o.getLineContent(f.lineNumber),_=a.firstNonWhitespaceIndex(m),y=-1===_?m.length+1:_+1;if(f.column<=y){var v=i.a.visibleColumnFromColumn2(t,o,f),b=i.a.prevTabStop(v,t.tabSize),E=i.a.columnFromVisibleColumn2(t,o,f.lineNumber,b);p=new r.a(f.lineNumber,E,f.lineNumber,f.column)}else p=new r.a(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var C=s.a.left(t,o,f.lineNumber,f.column);p=new r.a(C.lineNumber,C.column,f.lineNumber,f.column)}}p.isEmpty()?u[h]=null:(p.startLineNumber!==p.endLineNumber&&(c=!0),u[h]=new n.a(p,""))}return[c,u]},e.cut=function(e,t,o){for(var s=[],a=0,l=o.length;a<l;a++){var u=o[a];if(u.isEmpty())if(e.emptySelectionClipboard){var c=u.getPosition(),h=void 0,d=void 0,g=void 0,p=void 0;c.lineNumber<t.getLineCount()?(h=c.lineNumber,d=1,g=c.lineNumber+1,p=1):c.lineNumber>1?(h=c.lineNumber-1,d=t.getLineMaxColumn(c.lineNumber-1),g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber)):(h=c.lineNumber,d=1,g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber));var f=new r.a(h,d,g,p);f.isEmpty()?s[a]=null:s[a]=new n.a(f,"")}else s[a]=null;else s[a]=new n.a(u,"")}return new i.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("clipboardService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(40),i=o(8);function r(e){return n.a(e.path)||e.authority}function s(e,t,o){return!(e!==t)||!(!e||!t)&&(o?Object(i.equalsIgnoreCase)(e.toString(),t.toString()):e.toString()===t.toString())}function a(e){var t=n.b(e.path);return e.authority&&t&&!n.d(t)?null:e.with({path:t})}},function(e,t,o){"use strict";o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return s}));var n=o(0),i=function(){function e(e,t,o){void 0===o&&(o=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=o}return e.prototype.toLabel=function(e,t,o,n,i){return null===t&&null===n?null:function(e,t,o,n,i){var r=a(e,t,i);null!==n&&(r+=" ",r+=a(o,n,i));return r}(e,t,o,n,this.modifierLabels[i])},e}(),r=new i({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),s=new i({ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"});function a(e,t,o){if(null===t)return"";var n=[];return e.ctrlKey&&n.push(o.ctrlKey),e.shiftKey&&n.push(o.shiftKey),e.altKey&&n.push(o.altKey),e.metaKey&&n.push(o.metaKey),n.push(t),n.join(o.separator)}},function(e,t,o){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,o,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,o)}));case 3:return t.nextTick((function(){e.call(null,o,n)}));case 4:return t.nextTick((function(){e.call(null,o,n,i)}));default:for(r=new Array(a-1),s=0;s<r.length;)r[s++]=arguments[s];return t.nextTick((function(){e.apply(null,r)}))}}}:e.exports=t}).call(this,o(108))},function(e,t,o){var n=o(120),i=n.Buffer;function r(e,t){for(var o in e)t[o]=e[o]}function s(e,t,o){return i(e,t,o)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(r(n,t),t.Buffer=s),r(i,s),s.from=function(e,t,o){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,o)},s.alloc=function(e,t,o){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof o?n.fill(t,o):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,o){"use strict";(function(t){e.exports={isNode:void 0!==t,newBufferFrom:function(e,o){if(t.from&&t.from!==Uint8Array.from)return t.from(e,o);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new t(e,o)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var o=new t(e);return o.fill(0),o},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(170),s=o(169),a=8192,l=new e("\r","ascii")[0],u=new e("\n","ascii")[0],c=function(){function t(t){void 0===t&&(t="utf8"),this.encoding=t,this.index=0,this.buffer=new e(a)}return t.prototype.append=function(t){var o=t;if("string"==typeof t){var n=t,i=e.byteLength(n,this.encoding);(o=new e(i)).write(n,0,i,this.encoding)}if(this.buffer.length-this.index>=o.length)o.copy(this.buffer,this.index,0,o.length);else{var r=(Math.ceil((this.index+o.length)/a)+1)*a;0===this.index?(this.buffer=new e(r),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],r)}this.index+=o.length},t.prototype.tryReadHeaders=function(){for(var e=void 0,t=0;t+3<this.index&&(this.buffer[t]!==l||this.buffer[t+1]!==u||this.buffer[t+2]!==l||this.buffer[t+3]!==u);)t++;if(t+3>=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split("\r\n").forEach((function(t){var o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");var n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i}));var o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e},t.prototype.tryReadContent=function(e){if(this.index<e)return null;var t=this.buffer.toString(this.encoding,0,e),o=e;return this.buffer.copy(this.buffer,0,o),this.index=this.index-o,t},Object.defineProperty(t.prototype,"numberOfBytes",{get:function(){return this.index},enumerable:!0,configurable:!0}),t}();!function(e){e.is=function(e){var t=e;return t&&s.func(t.listen)&&s.func(t.dispose)&&s.func(t.onError)&&s.func(t.onClose)&&s.func(t.onPartialMessage)}}(t.MessageReader||(t.MessageReader={}));var h=function(){function e(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}return e.prototype.dispose=function(){this.errorEmitter.dispose(),this.closeEmitter.dispose()},Object.defineProperty(e.prototype,"onError",{get:function(){return this.errorEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireError=function(e){this.errorEmitter.fire(this.asError(e))},Object.defineProperty(e.prototype,"onClose",{get:function(){return this.closeEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireClose=function(){this.closeEmitter.fire(void 0)},Object.defineProperty(e.prototype,"onPartialMessage",{get:function(){return this.partialMessageEmitter.event},enumerable:!0,configurable:!0}),e.prototype.firePartialMessage=function(e){this.partialMessageEmitter.fire(e)},e.prototype.asError=function(e){return e instanceof Error?e:new Error("Reader recevied error. Reason: "+(s.string(e.message)?e.message:"unknown"))},e}();t.AbstractMessageReader=h;var d=function(e){function t(t,o){void 0===o&&(o="utf8");var n=e.call(this)||this;return n.readable=t,n.buffer=new c(o),n._partialMessageTimeout=1e4,n}return i(t,e),Object.defineProperty(t.prototype,"partialMessageTimeout",{get:function(){return this._partialMessageTimeout},set:function(e){this._partialMessageTimeout=e},enumerable:!0,configurable:!0}),t.prototype.listen=function(e){var t=this;this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e,this.readable.on("data",(function(e){t.onData(e)})),this.readable.on("error",(function(e){return t.fireError(e)})),this.readable.on("close",(function(){return t.fireClose()}))},t.prototype.onData=function(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){var t=this.buffer.tryReadHeaders();if(!t)return;var o=t["Content-Length"];if(!o)throw new Error("Header must provide a Content-Length property.");var n=parseInt(o);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}var i=this.buffer.tryReadContent(this.nextMessageLength);if(null===i)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var r=JSON.parse(i);this.callback(r)}},t.prototype.clearPartialMessageTimer=function(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)},t.prototype.setPartialMessageTimer=function(){var e=this;this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((function(t,o){e.partialMessageTimer=void 0,t===e.messageToken&&(e.firePartialMessage({messageToken:t,waitingTime:o}),e.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))},t}(h);t.StreamMessageReader=d;var g=function(e){function t(t){var o=e.call(this)||this;o.process=t;var n=o.process;return n.on("error",(function(e){return o.fireError(e)})),n.on("close",(function(){return o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){this.process.on("message",e)},t}(h);t.IPCMessageReader=g;var p=function(e){function t(t,o){return void 0===o&&(o="utf-8"),e.call(this,t,o)||this}return i(t,e),t}(d);t.SocketMessageReader=p}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(170),s=o(169);!function(e){e.is=function(e){var t=e;return t&&s.func(t.dispose)&&s.func(t.onClose)&&s.func(t.onError)&&s.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));var a=function(){function e(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}return e.prototype.dispose=function(){this.errorEmitter.dispose(),this.closeEmitter.dispose()},Object.defineProperty(e.prototype,"onError",{get:function(){return this.errorEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireError=function(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])},Object.defineProperty(e.prototype,"onClose",{get:function(){return this.closeEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireClose=function(){this.closeEmitter.fire(void 0)},e.prototype.asError=function(e){return e instanceof Error?e:new Error("Writer recevied error. Reason: "+(s.string(e.message)?e.message:"unknown"))},e}();t.AbstractMessageWriter=a;var l=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.writable=e,n.encoding=o,n.errorCount=0,n.writable.on("error",(function(e){return n.fireError(e)})),n.writable.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(t){var o=JSON.stringify(t),n=["Content-Length: ",e.byteLength(o,this.encoding).toString(),"\r\n","\r\n"];try{this.writable.write(n.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}},o}(a);t.StreamMessageWriter=l;var u=function(e){function t(t){var o=e.call(this)||this;o.process=t,o.errorCount=0,o.queue=[],o.sending=!1;var n=o.process;return n.on("error",(function(e){return o.fireError(e)})),n.on("close",(function(){return o.fireClose})),o}return i(t,e),t.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},t.prototype.doWriteMessage=function(e){var t=this;try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,(function(o){t.sending=!1,o?(t.errorCount++,t.fireError(o,e,t.errorCount)):t.errorCount=0,t.queue.length>0&&t.doWriteMessage(t.queue.shift())})))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(a);t.IPCMessageWriter=u;var c=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.socket=e,n.queue=[],n.sending=!1,n.encoding=o,n.errorCount=0,n.socket.on("error",(function(e){return n.fireError(e)})),n.socket.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},o.prototype.doWriteMessage=function(t){var o=this,n=JSON.stringify(t),i=["Content-Length: ",e.byteLength(n,this.encoding).toString(),"\r\n","\r\n"];try{this.sending=!0,this.socket.write(i.join(""),"ascii",(function(e){e&&o.handleError(e,t);try{o.socket.write(n,o.encoding,(function(e){o.sending=!1,e?o.handleError(e,t):o.errorCount=0,o.queue.length>0&&o.doWriteMessage(o.queue.shift())}))}catch(e){o.handleError(e,t)}}))}catch(e){this.handleError(e,t)}},o.prototype.handleError=function(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)},o}(a);t.SocketMessageWriter=c}).call(this,o(120).Buffer)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class n{add(e,t=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);o=!0}if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...e){if(!this._callbacks)return[];for(var t=[],o=this._callbacks.slice(0),n=this._contexts.slice(0),i=0,r=o.length;i<r;i++)try{t.push(o[i].apply(n[i],e))}catch(e){console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class i{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,o)=>{let r;return this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t),r={dispose:()=>{this._callbacks.remove(e,t),r.dispose=i._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}},Array.isArray(o)&&o.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}i._noop=function(){},t.Emitter=i},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON schema for Block definitions files","type":"object","additionalProperties":false,"properties":{"requires":{"description":"Files to be included in the code archive","type":"array","items":{"type":"string"}},"header":{"description":"Code placed at the beginning of generated code","type":"string"},"footer":{"description":"Code placed at the end of generated code","type":"string"},"blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","definition","template"],"properties":{"id":{"type":"string"},"definition":{"type":["string","array"],"items":{"type":["string","object"],"additionalProperties":false,"required":["id","type","default"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["number","boolean","angle","text"]},"default":{}}}},"template":{"type":"string"}}}}}}')},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=function(e){this.element=e},i=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var o=this,i=new n(e);if(this._first)if(t){var r=this._last;this._last=i,i.prev=r,r.next=i}else{var s=this._first;this._first=i,i.next=s,s.prev=i}else this._first=i,this._last=i;return function(){for(var e=o._first;e instanceof n;e=e.next)if(e===i){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(o._first=o._first.next,o._first.prev=void 0):(o._last=o._last.prev,o._last.next=void 0):(o._first=void 0,o._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return R}));var n=o(25),i=o(8),r=o(40),s=o(79),a=o(10),l="**",u="/",c="[/\\\\]",h="[^/\\\\]",d=/\//g;function g(e){switch(e){case 0:return"";case 1:return h+"*?";default:return"(?:"+c+"|"+h+"+"+c+"|"+c+h+"+)*?"}}function p(e,t){if(!e)return[];for(var o,n=[],i=!1,r=!1,s="",a=0;a<e.length;a++){switch(o=e[a]){case t:if(!i&&!r){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1}s+=o}return s&&n.push(s),n}var f=/^\*\*\/\*\.[\w\.-]+$/,m=/^\*\*\/([\w\.-]+)\/?$/,_=/^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/,y=/^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/,v=/^\*\*((\/[\w\.-]+)+)\/?$/,b=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,E=new s.a(1e4),C=function(){return!1},S=function(){return null};function T(e,t){if(!e)return S;var o,r,s=(o=(o="string"!=typeof e?e.pattern:e).trim())+"_"+!!t.trimForExclusions,a=E.get(s);if(a)return w(a,e);if(f.test(o)){var d=o.substr(4);a=function(e,t){return e&&i.endsWith(e,d)?o:null}}else a=(r=m.exec(k(o,t)))?function(e,t){var o="/"+e,n="\\"+e,r=function(r,s){return r?s?s===e?t:null:r===e||i.endsWith(r,o)||i.endsWith(r,n)?t:null:null},s=[e];return r.basenames=s,r.patterns=[t],r.allBasenames=s,r}(r[1],o):(t.trimForExclusions?y:_).test(o)?function(e,t){var o=L(e.slice(1,-1).split(",").map((function(e){return T(e,t)})).filter((function(e){return e!==S})),e),i=o.length;if(!i)return S;if(1===i)return o[0];var r=function(t,n){for(var i=0,r=o.length;i<r;i++)if(o[i](t,n))return e;return null},s=n.g(o,(function(e){return!!e.allBasenames}));s&&(r.allBasenames=s.allBasenames);var a=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);a.length&&(r.allPaths=a);return r}(o,t):(r=v.exec(k(o,t)))?O(r[1].substr(1),o,!0):(r=b.exec(k(o,t)))?O(r[1],o,!1):function(e){try{var t=new RegExp("^"+function e(t){if(!t)return"";var o="",n=p(t,u);if(n.every((function(e){return e===l})))o=".*";else{var r=!1;n.forEach((function(t,s){if(t!==l){for(var a,d=!1,f="",m=!1,_="",y=0;y<t.length;y++)if("}"!==(a=t[y])&&d)f+=a;else if(!m||"]"===a&&_)switch(a){case"{":d=!0;continue;case"[":m=!0;continue;case"}":var v="(?:"+p(f,",").map((function(t){return e(t)})).join("|")+")";o+=v,d=!1,f="";break;case"]":o+="["+_+"]",m=!1,_="";break;case"?":o+=h;continue;case"*":o+=g(1);continue;default:o+=i.escapeRegExpCharacters(a)}else{_+="-"===a?a:"^"!==a&&"!"!==a||_?a===u?"":i.escapeRegExpCharacters(a):"^"}s<n.length-1&&(n[s+1]!==l||s+2<n.length)&&(o+=c),r=!1}else r||(o+=g(2),r=!0)}))}return o}(e)+"$");return function(o,n){return t.lastIndex=0,o&&t.test(o)?e:null}}catch(e){return S}}(o);return E.set(s,a),w(a,e)}function w(e,t){return"string"==typeof t?e:function(o,n){return r.e(o,t.base)?e(r.h(t.pathToRelative(t.base,o)),n):null}}function k(e,t){return t.trimForExclusions&&i.endsWith(e,"/**")?e.substr(0,e.length-2):e}function O(e,t,o){var n=r.g!==r.i?e.replace(d,r.g):e,s=r.g+n,a=o?function(e,o){return e&&(e===n||i.endsWith(e,s))?t:null}:function(e,o){return e&&e===n?t:null};return a.allPaths=[(o?"*/":"./")+e],a}function R(e,t,o){return!(!e||!t)&&function(e,t){void 0===t&&(t={});if(!e)return C;if("string"==typeof e||(s=e,l=s,l&&"string"==typeof l.base&&"string"==typeof l.pattern&&"function"==typeof l.pathToRelative)){var o=T(e,t);if(o===S)return C;var i=function(e,t){return!!o(e,t)};return o.allBasenames&&(i.allBasenames=o.allBasenames),o.allPaths&&(i.allPaths=o.allPaths),i}var s,l;return function(e,t){var o=L(Object.getOwnPropertyNames(e).map((function(o){return function(e,t,o){if(!1===t)return S;var n=T(e,o);if(n===S)return S;if("boolean"==typeof t)return n;if(t){var i=t.when;if("string"==typeof i){var r=function(t,o,r,s){if(!s||!n(t,o))return null;var l=s(i.replace("$(basename)",r));return a.b.is(l)?l.then((function(t){return t?e:null})):l?e:null};return r.requiresSiblings=!0,r}}return n}(o,e[o],t)})).filter((function(e){return e!==S}))),i=o.length;if(!i)return S;if(!o.some((function(e){return e.requiresSiblings}))){if(1===i)return o[0];var s=function(e,t){for(var n=0,i=o.length;n<i;n++){var r=o[n](e,t);if(r)return r}return null},l=n.g(o,(function(e){return!!e.allBasenames}));l&&(s.allBasenames=l.allBasenames);var u=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);return u.length&&(s.allPaths=u),s}var c=function(e,t,n){for(var i,s=0,a=o.length;s<a;s++){var l=o[s];l.requiresSiblings&&n&&(t||(t=r.a(e)),i||(i=t.substr(0,t.length-r.c(e).length)));var u=l(e,t,i,n);if(u)return u}return null},h=n.g(o,(function(e){return!!e.allBasenames}));h&&(c.allBasenames=h.allBasenames);var d=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);d.length&&(c.allPaths=d);return c}(e,t)}(e)(t,void 0,o)}function L(e,t){var o=e.filter((function(e){return!!e.basenames}));if(o.length<2)return e;var n,i=o.reduce((function(e,t){return e.concat(t.basenames)}),[]);if(t){n=[];for(var r=0,s=i.length;r<s;r++)n.push(t)}else n=o.reduce((function(e,t){return e.concat(t.patterns)}),[]);var a=function(e,t){if(!e)return null;if(!t){var o=void 0;for(o=e.length;o>0;o--){var r=e.charCodeAt(o-1);if(47===r||92===r)break}t=e.substr(o)}var s=i.indexOf(t);return-1!==s?n[s]:null};a.basenames=i,a.patterns=n,a.allBasenames=i;var l=e.filter((function(e){return!e.basenames}));return l.push(a),l}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return c}));o(441);var n,i,r,s=o(34),a=o(1),l=o(6);function u(e,t,o){var n=o.offset+o.size;return o.position===r.Before?t<=e-n?n:t<=o.offset?o.offset-t:Math.max(e-t,0):t<=o.offset?o.offset-t:t<=e-n?n:0}!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(n||(n={})),function(e){e[e.BELOW=0]="BELOW",e[e.ABOVE=1]="ABOVE"}(i||(i={})),function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(r||(r={}));var c=function(){function e(e){var t=this;this.$view=Object(s.a)(".context-view").hide(),this.setContainer(e),this.toDispose=[Object(l.f)((function(){t.setContainer(null)}))],this.toDisposeOnClean=null}return e.prototype.setContainer=function(t){var o=this;this.$container&&(this.$container.getHTMLElement().removeChild(this.$view.getHTMLElement()),this.$container.off(e.BUBBLE_UP_EVENTS),this.$container.off(e.BUBBLE_DOWN_EVENTS,!0),this.$container=null),t&&(this.$container=Object(s.a)(t),this.$view.appendTo(this.$container),this.$container.on(e.BUBBLE_UP_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!1)})),this.$container.on(e.BUBBLE_DOWN_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!0)}),null,!0))},e.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass("context-view").empty().style({top:"0px",left:"0px"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},e.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},e.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(a.C(t)){var o=a.u(t);e={top:o.top,left:o.left,width:o.width,height:o.height}}else{var s=t;e={top:s.y,left:s.x,width:s.width||0,height:s.height||0}}var l,c=this.$view.getTotalSize(),h=this.delegate.anchorPosition||i.BELOW,d=this.delegate.anchorAlignment||n.LEFT,g={offset:e.top,size:e.height,position:h===i.BELOW?r.Before:r.After};l=d===n.LEFT?{offset:e.left,size:0,position:r.Before}:{offset:e.left+e.width,size:0,position:r.After};var p=a.u(this.$container.getHTMLElement()),f=u(window.innerHeight,c.height,g)-p.top,m=u(window.innerWidth,c.width,l)-p.left;this.$view.removeClass("top","bottom","left","right"),this.$view.addClass(h===i.BELOW?"bottom":"top"),this.$view.addClass(d===n.LEFT?"left":"right"),this.$view.style({top:f+"px",left:m+"px",width:"initial"})},e.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},e.prototype.isVisible=function(){return!!this.delegate},e.prototype.onDOMEvent=function(e,t,o){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):o&&!a.B(e.target,this.$container.getHTMLElement())&&this.hide())},e.prototype.dispose=function(){this.hide(),this.toDispose=Object(l.d)(this.toDispose)},e.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],e.BUBBLE_DOWN_EVENTS=["click"],e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));o(448);var n,i=o(1),r=o(125),s=o(40),a=o(165),l=o(6),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),h=function(e){function t(t,o){var n=e.call(this)||this;return n.domNode=n._register(new c(i.k(t,i.a(".monaco-icon-label")))),n.labelDescriptionContainer=n._register(new c(i.k(n.domNode.element,i.a(".monaco-icon-label-description-container")))),o&&o.supportHighlights?n.labelNode=n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))):n.labelNode=n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))),o&&o.supportDescriptionHighlights?n.descriptionNodeFactory=function(){return n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))}:n.descriptionNodeFactory=function(){return n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))},n}return u(t,e),t.prototype.setValue=function(e,t,o){var n=["monaco-icon-label"];o&&(o.extraClasses&&n.push.apply(n,o.extraClasses),o.italic&&n.push("italic")),this.domNode.className=n.join(" "),this.domNode.title=o&&o.title?o.title:"",this.labelNode instanceof r.a?this.labelNode.set(e||"",o?o.matches:void 0):this.labelNode.textContent=e||"",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof r.a?(this.descriptionNode.set(t||"",o?o.descriptionMatches:void 0),o&&o.descriptionTitle?this.descriptionNode.element.title=o.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=o&&o.descriptionTitle?o.descriptionTitle:"",this.descriptionNode.empty=!t))},t}(l.a),d=function(e){function t(t,o,n,i){var r=e.call(this,t)||this;return r.setFile(o,n,i),r}return u(t,e),t.prototype.setFile=function(e,t,o){var n=s.b(e.fsPath);this.setValue(Object(a.a)(e),n&&"."!==n?Object(a.b)(n,o,t):"",{title:e.fsPath})},t}(h)},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(8),i=o(11),r=o(69),s=o(87);function a(e,t){return function(e,t){for(var o='<div class="monaco-tokenized-source">',i=e.split(/\r\n|\r|\n/),r=t.getInitialState(),a=0,l=i.length;a<l;a++){var u=i[a];a>0&&(o+="<br/>");var c=t.tokenize2(u,r,0);s.a.convertToEndOffset(c.tokens,u.length);for(var h=new s.a(c.tokens,u).inflate(),d=0,g=0,p=h.getCount();g<p;g++){var f=h.getClassName(g),m=h.getEndOffset(g);o+='<span class="'+f+'">'+n.escape(u.substring(d,m))+"</span>",d=m}r=c.endState}return o+="</div>"}(e,function(e){var t=i.y.get(e);if(t)return t;return{getInitialState:function(){return r.c},tokenize:void 0,tokenize2:function(e,t,o){return Object(r.e)(0,e,t,o)}}}(t))}function l(e,t,o,n,i,r){for(var s="<div>",a=n,l=0,u=0,c=t.getCount();u<c;u++){var h=t.getEndOffset(u);if(!(h<=n)){for(var d="";a<h&&a<i;a++){var g=e.charCodeAt(a);switch(g){case 9:var p=r-(a+l)%r;for(l+=p-1;p>0;)d+="&nbsp;",p--;break;case 60:d+="&lt;";break;case 62:d+="&gt;";break;case 38:d+="&amp;";break;case 0:d+="&#00;";break;case 65279:case 8232:d+="�";break;case 13:d+="&#8203";break;default:d+=String.fromCharCode(g)}}if(s+='<span style="'+t.getInlineStyle(u,o)+'">'+d+"</span>",h>i||a>=i)break}}return s+="</div>"}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(10),i=function(){function e(e,t,o,n,i,r){this.id=e,this.label=t,this.alias=o,this._precondition=n,this._run=i,this._contextKeyService=r}return e.prototype.isSupported=function(){return this._contextKeyService.contextMatchesRules(this._precondition)},e.prototype.run=function(){if(!this.isSupported())return n.b.as(void 0);var e=this._run();return e||n.b.as(void 0)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(469);var n=o(6),i=o(30),r=o(1),s=o(93),a=o(2),l=o(14),u=o(26),c=o(155),h=o(18),d=new l.a(new l.c(0,122,204)),g={showArrow:!0,showFrame:!0,className:"",frameColor:d,arrowColor:d,keepEditorSelection:!1},p=function(){function e(e,t,o,n,i,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=o,this.heightInLines=n,this._onDomNodeTop=i,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),f=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),m=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),r.F(this._ruleName)},Object.defineProperty(e.prototype,"color",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){r.F(this._ruleName),r.n(".monaco-editor "+this._ruleName,"border-style: solid; border-color: transparent; border-bottom-color: "+this._color+"; border-width: "+this._height+"px; bottom: -"+this._height+"px; margin-left: -"+this._height+"px; ")},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:a.a.fromPositions(e),options:{className:this._ruleName,stickiness:h.h.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new c.a(".arrow-decoration-"),e}(),_=function(){function e(e,t){void 0===t&&(t={});var o=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=i.c(t),i.g(this.options,g,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.push(this.editor.onDidLayoutChange((function(e){var t=o._getWidth(e);o.domNode.style.width=t+"px",o.domNode.style.left=o._getLeft(e)+"px",o._onWidth(t)})))}return e.prototype.dispose=function(){var e=this;Object(n.d)(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id),e._viewZone=null})),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[]},e.prototype.create=function(){r.f(this.domNode,"zone-widget"),r.f(this.domNode,this.options.className),this.container=document.createElement("div"),r.f(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new m(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+"px";var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var o=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(o)),this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel().getDecorationRange(e);if(t)return t.getStartPosition()}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var o=a.a.isIRange(e)?e:new a.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(o,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:o,options:u.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var o=this,n={lineNumber:e.startLineNumber,column:e.startColumn},i=this.editor.getLayoutInfo(),r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,l=this.editor.getLayoutInfo().height/a*.8;t>=l&&(t=l);var u=0,c=0;if(this.options.showArrow&&(u=Math.round(a/3),this._arrow.height=u,this._arrow.show(n)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones((function(e){o._viewZone&&e.removeZone(o._viewZone.id),o._overlayWidget&&(o.editor.removeOverlayWidget(o._overlayWidget),o._overlayWidget=null),o.domNode.style.top="-1000px",o._viewZone=new p(s,n.lineNumber,n.column,t,(function(e){return o._onViewZoneTop(e)}),(function(e){return o._onViewZoneHeight(e)})),o._viewZone.id=e.addZone(o._viewZone),o._overlayWidget=new f("vs.editor.contrib.zoneWidget"+o._viewZone.id,o.domNode),o.editor.addOverlayWidget(o._overlayWidget)})),this.options.showFrame){var h=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}var d=t*a-this._decoratingElementsHeight();this.container.style.top=u+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden",this._doLayout(d,r),this.options.keepEditorSelection||this.editor.setSelection(e);var g=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(g)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),r.f(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones((function(o){t._viewZone.heightInLines=e,o.layoutZone(t._viewZone.id)}))},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new s.b(this.domNode,this,{orientation:s.a.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=s.c.Disabled),this._disposables.push(this._resizeSash.onDidStart((function(o){t._viewZone&&(e={startY:o.startY,heightInLines:t._viewZone.heightInLines})}))),this._disposables.push(this._resizeSash.onDidEnd((function(){e=void 0}))),this._disposables.push(this._resizeSash.onDidChange((function(o){if(e){var n=(o.currentY-e.startY)/t.editor.getConfiguration().lineHeight,i=n<0?Math.ceil(n):Math.floor(n),r=e.heightInLines+i;r>5&&r<35&&t._relayout(r)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("uriDisplay")},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));o(299);var n,i=o(24),r=o(6),s=o(4),a=o(15),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){return!!e[t]}var c=function(e,t){this.target=e.target,this.hasTriggerModifier=u(e.event,t.triggerModifier),this.hasSideBySideModifier=u(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=i.k||e.event.detail<=1},h=function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=u(e,t.triggerModifier)},d=function(){function e(e,t,o,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=o,this.triggerSideBySideModifier=n}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();function g(e){return"altKey"===e?a.d?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):a.d?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}var p=function(e){function t(t){var o=e.call(this)||this;return o._onMouseMoveOrRelevantKeyDown=o._register(new s.a),o.onMouseMoveOrRelevantKeyDown=o._onMouseMoveOrRelevantKeyDown.event,o._onExecute=o._register(new s.a),o.onExecute=o._onExecute.event,o._onCancel=o._register(new s.a),o.onCancel=o._onCancel.event,o._editor=t,o._opts=g(o._editor.getConfiguration().multiCursorModifier),o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._register(o._editor.onDidChangeConfiguration((function(e){if(e.multiCursorModifier){var t=g(o._editor.getConfiguration().multiCursorModifier);if(o._opts.equals(t))return;o._opts=t,o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._onCancel.fire()}}))),o._register(o._editor.onMouseMove((function(e){return o.onEditorMouseMove(new c(e,o._opts))}))),o._register(o._editor.onMouseDown((function(e){return o.onEditorMouseDown(new c(e,o._opts))}))),o._register(o._editor.onMouseUp((function(e){return o.onEditorMouseUp(new c(e,o._opts))}))),o._register(o._editor.onKeyDown((function(e){return o.onEditorKeyDown(new h(e,o._opts))}))),o._register(o._editor.onKeyUp((function(e){return o.onEditorKeyUp(new h(e,o._opts))}))),o._register(o._editor.onMouseDrag((function(){return o.resetHandler()}))),o._register(o._editor.onDidChangeCursorSelection((function(e){return o.onDidChangeCursorSelection(e)}))),o._register(o._editor.onDidChangeModel((function(e){return o.resetHandler()}))),o._register(o._editor.onDidChangeModelContent((function(){return o.resetHandler()}))),o._register(o._editor.onDidScrollChange((function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&o.resetHandler()}))),o}return l(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(r.a)},function(e,t,o){"use strict";o(470);var n,i,r,s=o(75),a=o(76),l=o(13),u=o(6),c=o(10),h=o(4),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(){function e(e){this._onDispose=new h.a,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=null)},e}(),p=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var o,n,i=this,r=this.getLock(e);return r?new c.b((function(n,s){o=Object(h.k)(r.onDispose)((function(){return i.run(e,t).then(n,s)}))}),(function(){o.dispose()})):new c.b((function(o,r){if(e.isDisposed())return r(new Error("Item is disposed."));var s=i.locks[e.id]=new g(e);return n=t().then((function(t){return delete i.locks[e.id],s.dispose(),t})).then(o,r)}),(function(){return n.cancel()}))},e.prototype.getLock=function(e){var t;for(t in this.locks){var o=this.locks[t];if(e.intersects(o.item))return o}return null},e}(),f=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new h.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){a.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(u.c)([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){a.a(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),m=function(){function e(e,t,o,n,i){this._onDidCreate=new h.a,this._onDidReveal=new h.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new h.a,this.onExpand=this._onExpand.event,this._onDidExpand=new h.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new h.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new h.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new h.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new h.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new h.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new h.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new h.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=o,this.lock=n,this.element=i,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=this.context.dataSource.shouldAutoexpand&&this.context.dataSource.shouldAutoexpand(this.context.tree,i),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):c.b.as(null)).then((function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0}))})).then((function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then((function(){return!0})):t)}))},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var o=c.b.as(null);return this.forEachChild((function(e){o=o.then((function(){return e.collapse(!0)}))})),o.then((function(){return t.collapse(!1)}))}return!this.isExpanded()||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),c.b.as(!0)}))},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,o,n){var i=this;if(void 0===o&&(o=!1),void 0===n&&(n=!1),!n&&!this.isExpanded())return this.needsChildrenRefresh=!0,c.b.as(this);this.needsChildrenRefresh=!1;var r=function(){var n={item:i,isNested:o};return i._onRefreshChildren.fire(n),(i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):c.b.as([])).then((function(o){if(i.isDisposed()||i.registry.isDisposed())return c.b.as(null);if(!Array.isArray(o))return c.b.wrapError(new Error("Please return an array of children."));o=o?o.slice(0):[],o=i.sort(o);for(var n={};null!==i.firstChild;)n[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var r=0,s=o.length;r<s;r++){var a=o[r],l=i.context.dataSource.getId(i.context.tree,a),u=n[l]||new e(l,i.registry,i.context,i.lock,a);u.element=a,t&&(u.needsChildrenRefresh=t),delete n[l],i.addChild(u)}for(var h in n)n.hasOwnProperty(h)&&n[h].dispose();return t?c.a.join(i.mapEachChild((function(e){return e.doRefresh(t,!0)}))):(i.mapEachChild((function(e){return e.updateVisibility()})),c.b.as(null))})).then(null,l.e).then((function(){return i._onDidRefreshChildren.fire(n)}))};return o?r():this.lock.run(this,r)},e.prototype.doRefresh=function(e,t){return void 0===t&&(t=!1),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.height=this._getHeight(),this.updateVisibility(),this._onDidRefresh.fire(this),this.refreshChildren(e,t)},e.prototype.updateVisibility=function(){this.setVisible(this._isVisible())},e.prototype.refresh=function(e){return this.doRefresh(e)},e.prototype.getNavigator=function(){return new y(this)},e.prototype.intersects=function(e){return this.isAncestorOf(e)||e.isAncestorOf(this)},e.prototype.isAncestorOf=function(e){for(;e;){if(e.id===this.id)return!0;e=e.parent}return!1},e.prototype.addChild=function(e,t){void 0===t&&(t=this.lastChild);var o=null===this.firstChild,n=null===t,i=t===this.lastChild;o?(this.firstChild=this.lastChild=e,e.next=e.previous=null):n?(this.firstChild.previous=e,e.next=this.firstChild,e.previous=null,this.firstChild=e):i?(this.lastChild.next=e,e.next=null,e.previous=this.lastChild,this.lastChild=e):(e.previous=t,e.next=t.next,t.next.previous=e,t.next=e),e.parent=this,e.depth=this.depth+1},e.prototype.removeChild=function(e){var t=this.firstChild===e,o=this.lastChild===e;t&&o?this.firstChild=this.lastChild=null:t?(e.next.previous=null,this.firstChild=e.next):o?(e.previous.next=null,this.lastChild=e.previous):(e.next.previous=e.previous,e.previous.next=e.next),e.parent=null,e.depth=null},e.prototype.forEachChild=function(e){for(var t,o=this.firstChild;o;)t=o.next,e(o),o=t},e.prototype.mapEachChild=function(e){var t=[];return this.forEachChild((function(o){t.push(e(o))})),t},e.prototype.sort=function(e){var t=this;return this.context.sorter?e.sort((function(e,o){return t.context.sorter.compare(t.context.tree,e,o)})):e},e.prototype._getHeight=function(){return this.context.renderer.getHeight(this.context.tree,this.element)},e.prototype._isVisible=function(){return this.context.filter.isVisible(this.context.tree,this.element)},e.prototype.isDisposed=function(){return this._isDisposed},e.prototype.dispose=function(){this.forEachChild((function(e){return e.dispose()})),this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this._onDidDispose.fire(this),this.registry.deregister(this),this._onDidCreate.dispose(),this._onDidReveal.dispose(),this._onExpand.dispose(),this._onDidExpand.dispose(),this._onCollapse.dispose(),this._onDidCollapse.dispose(),this._onDidAddTrait.dispose(),this._onDidRemoveTrait.dispose(),this._onDidRefresh.dispose(),this._onRefreshChildren.dispose(),this._onDidRefreshChildren.dispose(),this._onDidDispose.dispose(),this._isDisposed=!0},e}(),_=function(e){function t(t,o,n,i,r){return e.call(this,t,o,n,i,r)||this}return d(t,e),t.prototype.isVisible=function(){return!1},t.prototype.setVisible=function(e){},t.prototype.isExpanded=function(){return!0},t.prototype._setExpanded=function(e){},t.prototype._getHeight=function(){return 0},t.prototype._isVisible=function(){return!1},t}(m),y=function(){function e(e,t){void 0===t&&(t=!0),this.item=e,this.start=t?e:null}return e.lastDescendantOf=function(t){return t?t instanceof _?e.lastDescendantOf(t.lastChild):t.isVisible()?t.isExpanded()&&null!==t.lastChild?e.lastDescendantOf(t.lastChild):t:e.lastDescendantOf(t.previous):null},e.prototype.current=function(){return this.item||null},e.prototype.next=function(){if(this.item)do{if((this.item instanceof _||this.item.isVisible()&&this.item.isExpanded())&&this.item.firstChild)this.item=this.item.firstChild;else if(this.item===this.start)this.item=null;else{for(;this.item&&this.item!==this.start&&!this.item.next;)this.item=this.item.parent;this.item===this.start&&(this.item=null),this.item=this.item?this.item.next:null}}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.previous=function(){if(this.item)do{var t=e.lastDescendantOf(this.item.previous);t?this.item=t:this.item.parent&&this.item.parent!==this.start&&this.item.parent.isVisible()?this.item=this.item.parent:this.item=null}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.parent=function(){if(this.item){var e=this.item.parent;e&&e!==this.start&&e.isVisible()?this.item=e:this.item=null}return this.item||null},e.prototype.first=function(){return this.item=this.start,this.next(),this.item||null},e.prototype.last=function(){return e.lastDescendantOf(this.start)},e}(),v=function(){function e(e){this._onSetInput=new h.a,this.onSetInput=this._onSetInput.event,this._onDidSetInput=new h.a,this.onDidSetInput=this._onDidSetInput.event,this._onRefresh=new h.a,this.onRefresh=this._onRefresh.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onDidHighlight=new h.a,this.onDidHighlight=this._onDidHighlight.event,this._onDidSelect=new h.a,this.onDidSelect=this._onDidSelect.event,this._onDidFocus=new h.a,this.onDidFocus=this._onDidFocus.event,this._onDidRevealItem=new h.e,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.e,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.e,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.e,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.e,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.e,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.e,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.e,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.e,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.e,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.e,this.context=e,this.input=null,this.traitsToItems={}}return e.prototype.setInput=function(e){var t=this,o={item:this.input};this._onSetInput.fire(o),this.setSelection([]),this.setFocus(),this.setHighlight(),this.lock=new p,this.input&&this.input.dispose(),this.registry&&(this.registry.dispose(),this.registryDisposable.dispose()),this.registry=new f,this._onDidRevealItem.input=this.registry.onDidRevealItem,this._onExpandItem.input=this.registry.onExpandItem,this._onDidExpandItem.input=this.registry.onDidExpandItem,this._onCollapseItem.input=this.registry.onCollapseItem,this._onDidCollapseItem.input=this.registry.onDidCollapseItem,this._onDidAddTraitItem.input=this.registry.onDidAddTraitItem,this._onDidRemoveTraitItem.input=this.registry.onDidRemoveTraitItem,this._onDidRefreshItem.input=this.registry.onDidRefreshItem,this._onRefreshItemChildren.input=this.registry.onRefreshItemChildren,this._onDidRefreshItemChildren.input=this.registry.onDidRefreshItemChildren,this._onDidDisposeItem.input=this.registry.onDidDisposeItem,this.registryDisposable=this.registry.onDidDisposeItem((function(e){return e.getAllTraits().forEach((function(o){return delete t.traitsToItems[o][e.id]}))}));var n=this.context.dataSource.getId(this.context.tree,e);return this.input=new _(n,this.registry,this.context,this.lock,e),o={item:this.input},this._onDidSetInput.fire(o),this.refresh(this.input)},e.prototype.getInput=function(){return this.input?this.input.getElement():null},e.prototype.refresh=function(e,t){var o=this;void 0===e&&(e=null),void 0===t&&(t=!0);var n=this.getItem(e);if(!n)return c.b.as(null);var i={item:n,recursive:t};return this._onRefresh.fire(i),n.refresh(t).then((function(){o._onDidRefresh.fire(i)}))},e.prototype.expand=function(e){var t=this.getItem(e);return t?t.expand():c.b.as(!1)},e.prototype.collapse=function(e,t){void 0===t&&(t=!1);var o=this.getItem(e);return o?o.collapse(t):c.b.as(!1)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.isExpanded(e)?this.collapse(e,t):this.expand(e)},e.prototype.isExpanded=function(e){var t=this.getItem(e);return!!t&&t.isExpanded()},e.prototype.reveal=function(e,t){var o=this;return void 0===t&&(t=null),this.resolveUnknownParentChain(e).then((function(e){var t=c.b.as(null);return e.forEach((function(e){t=t.then((function(){return o.expand(e)}))})),t})).then((function(){var n=o.getItem(e);if(n)return n.reveal(t)}))},e.prototype.resolveUnknownParentChain=function(e){var t=this;return this.context.dataSource.getParent(this.context.tree,e).then((function(e){return e?t.resolveUnknownParentChain(e).then((function(t){return t.push(e),t})):c.b.as([])}))},e.prototype.setHighlight=function(e,t){this.setTraits("highlighted",e?[e]:[]);var o={highlight:this.getHighlight(),payload:t};this._onDidHighlight.fire(o)},e.prototype.getHighlight=function(e){var t=this.getElementsWithTrait("highlighted",e);return 0===t.length?null:t[0]},e.prototype.setSelection=function(e,t){this.setTraits("selected",e);var o={selection:this.getSelection(),payload:t};this._onDidSelect.fire(o)},e.prototype.getSelection=function(e){return this.getElementsWithTrait("selected",e)},e.prototype.setFocus=function(e,t){this.setTraits("focused",e?[e]:[]);var o={focus:this.getFocus(),payload:t};this._onDidFocus.fire(o)},e.prototype.getFocus=function(e){var t=this.getElementsWithTrait("focused",e);return 0===t.length?null:t[0]},e.prototype.focusNext=function(e,t){void 0===e&&(e=1);for(var o,n=this.getFocus()||this.input,i=this.getNavigator(n,!1),r=0;r<e&&(o=i.next());r++)n=o;this.setFocus(n,t)},e.prototype.focusPrevious=function(e,t){void 0===e&&(e=1);for(var o,n=this.getFocus()||this.input,i=this.getNavigator(n,!1),r=0;r<e&&(o=i.previous());r++)n=o;this.setFocus(n,t)},e.prototype.focusParent=function(e){var t=this.getFocus()||this.input,o=this.getNavigator(t,!1).parent();o&&this.setFocus(o,e)},e.prototype.focusFirstChild=function(e){var t=this.getItem(this.getFocus()||this.input),o=this.getNavigator(t,!1),n=o.next();o.parent()===t&&this.setFocus(n,e)},e.prototype.focusFirst=function(e,t){this.focusNth(0,e,t)},e.prototype.focusNth=function(e,t,o){for(var n=this.getParent(o),i=this.getNavigator(n),r=i.first(),s=0;s<e;s++)r=i.next();r&&this.setFocus(r,t)},e.prototype.focusLast=function(e,t){var o,n=this.getParent(t);t?o=n.lastChild:o=this.getNavigator(n).last();o&&this.setFocus(o,e)},e.prototype.getParent=function(e){if(e){var t=this.getItem(e);if(t&&t.parent)return t.parent}return this.getItem(this.input)},e.prototype.getNavigator=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),new y(this.getItem(e),t)},e.prototype.getItem=function(e){return void 0===e&&(e=null),null===e?this.input:e instanceof m?e:"string"==typeof e?this.registry.getItem(e):this.registry.getItem(this.context.dataSource.getId(this.context.tree,e))},e.prototype.removeTraits=function(e,t){var o,n,i=this.traitsToItems[e]||{};if(0===t.length){for(n in i)i.hasOwnProperty(n)&&(o=i[n]).removeTrait(e);delete this.traitsToItems[e]}else for(var r=0,s=t.length;r<s;r++)(o=this.getItem(t[r]))&&(o.removeTrait(e),delete i[o.id])},e.prototype.setTraits=function(e,t){if(0===t.length)this.removeTraits(e,t);else{for(var o,n={},i=0,r=t.length;i<r;i++)(o=this.getItem(t[i]))&&(n[o.id]=o);var s,a=this.traitsToItems[e]||{},l=[];for(s in a)a.hasOwnProperty(s)&&(n.hasOwnProperty(s)?delete n[s]:l.push(a[s]));for(i=0,r=l.length;i<r;i++)(o=l[i]).removeTrait(e),delete a[o.id];for(s in n)n.hasOwnProperty(s)&&((o=n[s]).addTrait(e),a[s]=o);this.traitsToItems[e]=a}},e.prototype.getElementsWithTrait=function(e,t){var o,n=[],i=this.traitsToItems[e]||{};for(o in i)i.hasOwnProperty(o)&&(i[o].isVisible()||t)&&n.push(i[o].getElement());return n},e.prototype.dispose=function(){this.registry&&(this.registry.dispose(),this.registry=null),this._onSetInput.dispose(),this._onDidSetInput.dispose(),this._onRefresh.dispose(),this._onDidRefresh.dispose(),this._onDidHighlight.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._onDidDisposeItem.dispose()},e}(),b=o(15),E=o(24),C=o(1),S=o(163),T=o(66),w=o(8),k=o(41),O=o(51),R=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e}(),L=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e}(),N=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.dataTransfer.types&&(this.types=[],Array.prototype.push.apply(this.types,e.dataTransfer.types)),e.dataTransfer.files&&(this.files=[],Array.prototype.push.apply(this.files,e.dataTransfer.files),this.files=this.files.filter((function(e){return e.size||e.type})))},e}(),I=o(112),D=o(81),A=o(42),P=function(){function e(){this.heightMap=[],this.indexes={}}return e.prototype.getContentHeight=function(){var e=this.heightMap[this.heightMap.length-1];return e?e.top+e.height:0},e.prototype.onInsertItems=function(e,t){var o,n,i,r,s;void 0===t&&(t=null);var a=0;if(null===t)i=0,s=0;else{if(i=this.indexes[t]+1,!(n=this.heightMap[i-1]))return void console.error("view item doesnt exist");s=n.top+n.height}for(var l=this.heightMap.splice.bind(this.heightMap,i,0),u=[];o=e.next();)(n=this.createViewItem(o)).top=s+a,this.indexes[o.id]=i++,u.push(n),a+=n.height;for(l.apply(this.heightMap,u),r=i;r<this.heightMap.length;r++)(n=this.heightMap[r]).top+=a,this.indexes[n.model.id]=r;for(r=u.length-1;r>=0;r--)this.onInsertItem(u[r]);for(r=this.heightMap.length-1;r>=i;r--)this.onRefreshItem(this.heightMap[r]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,o,n,i=null,r=0;t=e.next();){if(n=this.indexes[t],!(o=this.heightMap[n]))return void console.error("view item doesnt exist");r-=o.height,delete this.indexes[t],this.onRemoveItem(o),null===i&&(i=n)}if(0!==r)for(this.heightMap.splice(i,n-i+1),n=i;n<this.heightMap.length;n++)(o=this.heightMap[n]).top+=r,this.indexes[o.model.id]=n,this.onRefreshItem(o)},e.prototype.onRemoveItem=function(e){},e.prototype.onRefreshItemSet=function(e){var t=this,o=e.sort((function(e,o){return t.indexes[e.id]-t.indexes[o.id]}));this.onRefreshItems(new I.a(o))},e.prototype.onRefreshItems=function(e){for(var t,o,n,i,r=null,s=0;t=e.next();){for(i=this.indexes[t.id];0!==s&&null!==r&&r<i;r++)(o=this.heightMap[r]).top+=s,this.onRefreshItem(o);o=this.heightMap[i],n=t.getHeight(),o.top+=s,s+=n-o.height,o.height=n,this.onRefreshItem(o,!0),r=i+1}if(0!==s&&null!==r)for(;r<this.heightMap.length;r++)(o=this.heightMap[r]).top+=s,this.onRefreshItem(o)},e.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1)},e.prototype.indexAt=function(e){for(var t,o,n=0,i=this.heightMap.length;n<i;)if(t=Math.floor((n+i)/2),e<(o=this.heightMap[t]).top)i=t;else{if(!(e>=o.top+o.height))return t;if(n===t)break;n=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=null,this.indexes=null},e}(),x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(){function e(e,t,o){this._posx=e,this._posy=t,this._target=o}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),B=function(e){function t(t){var o=e.call(this,t.posx,t.posy,t.target)||this;return o.originalEvent=t,o}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M),F=function(e){function t(t,o,n){var i=e.call(this,t,o,n.target)||this;return i.originalEvent=n,i}return x(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(M);!function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(i||(i={})),function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(r||(r={}));var H="ResourceURLs",U=o(17),V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var W=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var o=document.createElement("div");o.className="content";var n=document.createElement("div");n.appendChild(o),t={element:n,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,o)}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach((function(t){e._cache[t].forEach((function(o){e.context.renderer.disposeTemplate(e.context.tree,t,o.templateData),o.element=null,o.templateData=null})),delete e._cache[t]}))},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}(),j=function(){function e(e,t){var o=this;this.width=0,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach((function(e){return o._styles[e]=!0})),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var o=["monaco-tree-row"];o.push.apply(o,Object.keys(this._styles)),this.model.hasChildren()&&o.push("has-children"),this.element.className=o.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var n=this.context.accessibilityProvider,i=n.getAriaLabel(this.context.tree,this.model.getElement());if(i&&this.element.setAttribute("aria-label",i),n.getPosInSet&&n.getSetSize&&(this.element.setAttribute("aria-setsize",n.getSetSize()),this.element.setAttribute("aria-posinset",n.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=w.safeBtoa(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this._styles.expanded)):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var s=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(s!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),s?(this.uri=s,this.draggable=!0,this.unbindDragStart=C.g(this.element,"dragstart",(function(e){t.onDragStart(e)}))):this.uri=null),!e&&this.element){var a=window.getComputedStyle(this.element),l=parseFloat(a.paddingLeft);this.context.horizontalScrolling&&(this.element.style.width="fit-content"),this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData),this.context.horizontalScrolling&&(this.width=C.t(this.element)+l,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[z.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[z.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}(),G=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.row={element:n,templateData:null,templateId:null},i}return V(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(j);var z=function(e){function t(o,n){var i=e.call(this)||this;i.lastClickTimeStamp=0,i.contentWidthUpdateDelayer=new U.a(50),i.isRefreshing=!1,i.refreshingPreviousChildrenIds={},i._onDOMFocus=new h.a,i._onDOMBlur=new h.a,i._onDidScroll=new h.a,t.counter++,i.instance=t.counter;var r=void 0===o.options.horizontalScrollMode?A.b.Hidden:o.options.horizontalScrollMode;i.horizontalScrolling=r!==A.b.Hidden,i.context={dataSource:o.dataSource,renderer:o.renderer,controller:o.controller,dnd:o.dnd,filter:o.filter,sorter:o.sorter,tree:o.tree,accessibilityProvider:o.accessibilityProvider,options:o.options,cache:new W(o),horizontalScrolling:i.horizontalScrolling},i.modelListeners=[],i.viewListeners=[],i.model=null,i.items={},i.domNode=document.createElement("div"),i.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+i.instance,i.domNode.tabIndex=o.options.preventRootFocus?-1:0,i.styleElement=C.o(i.domNode),i.treeStyler=o.styler,i.treeStyler||(i.treeStyler=new s.f(i.styleElement,"monaco-tree-instance-"+i.instance)),i.domNode.setAttribute("role","tree"),i.context.options.ariaLabel&&i.domNode.setAttribute("aria-label",i.context.options.ariaLabel),i.context.options.alwaysFocused&&C.f(i.domNode,"focused"),i.context.options.paddingOnRow||C.f(i.domNode,"no-row-padding"),i.wrapper=document.createElement("div"),i.wrapper.className="monaco-tree-wrapper",i.scrollableElement=new D.b(i.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==o.options.verticalScrollMode?o.options.verticalScrollMode:A.b.Auto,useShadows:o.options.useShadows}),i.scrollableElement.onScroll((function(e){i.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),i._onDidScroll.fire()})),E.k?(i.wrapper.style.msTouchAction="none",i.wrapper.style.msContentZooming="none"):T.b.addTarget(i.wrapper),i.rowsContainer=document.createElement("div"),i.rowsContainer.className="monaco-tree-rows",o.options.showTwistie&&(i.rowsContainer.className+=" show-twisties");var a=C.O(i.domNode);return i.viewListeners.push(a.onDidFocus((function(){return i.onFocus()}))),i.viewListeners.push(a.onDidBlur((function(){return i.onBlur()}))),i.viewListeners.push(a),i.viewListeners.push(C.g(i.domNode,"keydown",(function(e){return i.onKeyDown(e)}))),i.viewListeners.push(C.g(i.domNode,"keyup",(function(e){return i.onKeyUp(e)}))),i.viewListeners.push(C.g(i.domNode,"mousedown",(function(e){return i.onMouseDown(e)}))),i.viewListeners.push(C.g(i.domNode,"mouseup",(function(e){return i.onMouseUp(e)}))),i.viewListeners.push(C.g(i.wrapper,"click",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.wrapper,"auxclick",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.domNode,"contextmenu",(function(e){return i.onContextMenu(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Tap,(function(e){return i.onTap(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Change,(function(e){return i.onTouchChange(e)}))),E.k&&(i.viewListeners.push(C.g(i.wrapper,"MSPointerDown",(function(e){return i.onMsPointerDown(e)}))),i.viewListeners.push(C.g(i.wrapper,"MSGestureTap",(function(e){return i.onMsGestureTap(e)}))),i.viewListeners.push(C.i(i.wrapper,"MSGestureChange",(function(e){return i.onThrottledMsGestureChange(e)}),(function(e,t){t.stopPropagation(),t.preventDefault();var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o})))),i.viewListeners.push(C.g(window,"dragover",(function(e){return i.onDragOver(e)}))),i.viewListeners.push(C.g(i.wrapper,"drop",(function(e){return i.onDrop(e)}))),i.viewListeners.push(C.g(window,"dragend",(function(e){return i.onDragEnd(e)}))),i.viewListeners.push(C.g(window,"dragleave",(function(e){return i.onDragOver(e)}))),i.wrapper.appendChild(i.rowsContainer),i.domNode.appendChild(i.scrollableElement.getDomNode()),n.appendChild(i.domNode),i.lastRenderTop=0,i.lastRenderHeight=0,i.didJustPressContextMenuKey=!1,i.currentDropTarget=null,i.currentDropTargets=[],i.shouldInvalidateDropReaction=!1,i.dragAndDropScrollInterval=null,i.dragAndDropScrollTimeout=null,i.onHiddenScrollTop=null,i.onRowsChanged(),i.layout(),i.setupMSGesture(),i.applyStyles(o.options),i}return V(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new j(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout((function(){return e.msGesture.target=e.wrapper}),100))},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||C.s(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||C.t(this.wrapper)))},t.prototype.render=function(e,t,o,n,i){var r,s,a=e,l=e+t,u=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(l)-1,s=this.indexAt(Math.max(u,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(l))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(u));r<s;r++)this.removeItemFromDOM(this.itemAtIndex(r));for(r=Math.max(this.indexAfter(l),this.indexAt(this.lastRenderTop)),s=this.indexAfter(u);r<s;r++)this.removeItemFromDOM(this.itemAtIndex(r));var c=this.itemAtIndex(this.indexAt(a));c&&(this.rowsContainer.style.top=c.top-a+"px"),this.horizontalScrolling&&(this.rowsContainer.style.left=-o+"px",this.rowsContainer.style.width=Math.max(i,n)+"px"),this.lastRenderTop=a,this.lastRenderHeight=l-a},t.prototype.setModel=function(e){this.releaseModel(),this.model=e,this.model.onRefresh(this.onRefreshing,this,this.modelListeners),this.model.onDidRefresh(this.onRefreshed,this,this.modelListeners),this.model.onSetInput(this.onClearingInput,this,this.modelListeners),this.model.onDidSetInput(this.onSetInput,this,this.modelListeners),this.model.onDidFocus(this.onModelFocusChange,this,this.modelListeners),this.model.onRefreshItemChildren(this.onItemChildrenRefreshing,this,this.modelListeners),this.model.onDidRefreshItemChildren(this.onItemChildrenRefreshed,this,this.modelListeners),this.model.onDidRefreshItem(this.onItemRefresh,this,this.modelListeners),this.model.onExpandItem(this.onItemExpanding,this,this.modelListeners),this.model.onDidExpandItem(this.onItemExpanded,this,this.modelListeners),this.model.onCollapseItem(this.onItemCollapsing,this,this.modelListeners),this.model.onDidRevealItem(this.onItemReveal,this,this.modelListeners),this.model.onDidAddTraitItem(this.onItemAddTrait,this,this.modelListeners),this.model.onDidRemoveTraitItem(this.onItemRemoveTrait,this,this.modelListeners)},t.prototype.onRefreshing=function(){this.isRefreshing=!0},t.prototype.onRefreshed=function(){this.isRefreshing=!1,this.onRowsChanged()},t.prototype.onRowsChanged=function(e){void 0===e&&(e=this.scrollTop),this.isRefreshing||(this.scrollTop=e,this.updateScrollWidth())},t.prototype.updateScrollWidth=function(){var e=this;this.horizontalScrolling&&this.contentWidthUpdateDelayer.trigger((function(){for(var t=0,o=0,n=Object.keys(e.items);o<n.length;o++){var i=n[o];t=Math.max(t,e.items[i].width)}e.scrollWidth=t+10}))},t.prototype.focusNextPage=function(e){var t=this,o=this.indexAt(this.scrollTop+this.viewHeight);o=0===o?0:o-1;var n=this.itemAtIndex(o).model.getElement();if(this.model.getFocus()!==n)this.model.setFocus(n,e);else{var i=this.scrollTop;this.scrollTop+=this.viewHeight,this.scrollTop!==i&&setTimeout((function(){t.focusNextPage(e)}),0)}},t.prototype.focusPreviousPage=function(e){var t,o=this;t=0===this.scrollTop?this.indexAt(this.scrollTop):this.indexAfter(this.scrollTop-1);var n=this.itemAtIndex(t).model.getElement();if(this.model.getFocus()!==n)this.model.setFocus(n,e);else{var i=this.scrollTop;this.scrollTop-=this.viewHeight,this.scrollTop!==i&&setTimeout((function(){o.focusPreviousPage(e)}),0)}},Object.defineProperty(t.prototype,"viewHeight",{get:function(){return this.scrollableElement.getScrollDimensions().height},set:function(e){this.scrollableElement.setScrollDimensions({height:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewWidth",{get:function(){return this.scrollableElement.getScrollDimensions().width},set:function(e){this.scrollableElement.setScrollDimensions({width:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollWidth",{set:function(e){this.scrollableElement.setScrollDimensions({scrollWidth:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollTop",{get:function(){return this.scrollableElement.getScrollPosition().scrollTop},set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:this.getContentHeight()}),this.scrollableElement.setScrollPosition({scrollTop:e})},enumerable:!0,configurable:!0}),t.prototype.onClearingInput=function(e){var t=e.item;t&&(this.onRemoveItems(new I.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onSetInput=function(e){this.context.cache.garbageCollect(),this.inputItem=new G(this.context,e.item,this.wrapper)},t.prototype.onItemChildrenRefreshing=function(e){var o=e.item,n=this.items[o.id];if(n&&this.context.options.showLoading&&(n.loadingTimer=setTimeout((function(){n.loadingTimer=0,n.loading=!0}),t.LOADING_DECORATION_DELAY)),!e.isNested){for(var i,r=[],s=o.getNavigator();i=s.next();)r.push(i.id);this.refreshingPreviousChildrenIds[o.id]=r}},t.prototype.onItemChildrenRefreshed=function(e){var t=this,o=e.item,n=this.items[o.id];if(n&&(n.loadingTimer&&(clearTimeout(n.loadingTimer),n.loadingTimer=0),n.loading=!1),!e.isNested){for(var i,r=this.refreshingPreviousChildrenIds[o.id],s=[],a=o.getNavigator();i=a.next();)s.push(i);var l=Math.abs(r.length-s.length)>1e3,u=void 0,c=void 0;if(!l)c=(u=new S.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return s.length},getElementAtIndex:function(e){return s[e].id}},null).ComputeDiff(!1)).some((function(e){if(e.modifiedLength>0)for(var o=e.modifiedStart,n=e.modifiedStart+e.modifiedLength;o<n;o++)if(t.items.hasOwnProperty(s[o].id))return!0;return!1}));if(!l&&!c&&u.length<50)for(var h=0,d=u.length;h<d;h++){var g=u[h];if(g.originalLength>0&&this.onRemoveItems(new I.a(r,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var p=s[g.modifiedStart-1]||o;p=p.getDepth()>0?p:null,this.onInsertItems(new I.a(s,g.modifiedStart,g.modifiedStart+g.modifiedLength),p?p.id:null)}}else(l||u.length)&&(this.onRemoveItems(new I.a(r)),this.onInsertItems(new I.a(s),o.getDepth()>0?o.id:null));(l||u.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter((function(e){return t.items.hasOwnProperty(e.id)}))),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,o=this.items[t.id];if(o){o.expanded=!0;var n=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;o.top+o.height<=this.scrollTop&&(i+=n),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,o=this.items[t.id];o&&(o.expanded=!1,this.onRemoveItems(new I.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,o=e.relativeTop,n=this.items[t.id];if(n)if(null!==o){o=(o=o<0?0:o)>1?1:o;var i=n.height-this.viewHeight;this.scrollTop=i*o+n.top}else{var r=n.top+n.height,s=this.scrollTop+this.viewHeight;n.top<this.scrollTop?this.scrollTop=n.top:r>=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.addClass(o),"highlighted"===o&&(C.f(this.domNode,o),n&&(this.highlightedItemWasDraggable=!!n.draggable,n.draggable&&(n.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.removeClass(o),"highlighted"===o&&(C.G(this.domNode,o),this.highlightedItemWasDraggable&&(n.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();C.N(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",w.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(o){t.onDragStart(e,o)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new k.b(e),o=this.getItemAround(t.target);o&&(E.k&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,o.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseDown(this.context.tree,o.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseUp(this.context.tree,o.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,o;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var n,i=new O.a(e);if(o=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,o),s=this.items[r];n=C.u(s.element)}else o=this.model.getInput(),n=C.u(this.inputItem.element);t=new F(n.left+n.width,n.top,i)}else{var a=new k.b(e),l=this.getItemAround(a.target);if(!l)return;o=l.model.getElement(),t=new B(a)}this.context.controller.onContextMenu(this.context.tree,o,t)},t.prototype.onKeyDown=function(e){var t=new O.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new O.a(e))},t.prototype.onDragStart=function(e,o){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],o.dataTransfer.effectAllowed="copyMove",o.dataTransfer.setData(H,JSON.stringify([e.uri])),o.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var a=document.createElement("div");a.className="monaco-tree-drag-image",a.textContent=s,document.body.appendChild(a),o.dataTransfer.setDragImage(a,-10,-10),setTimeout((function(){return document.body.removeChild(a)}),0)}this.currentDragAndDropData=new R(n),t.currentExternalDragAndDropData=new L(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new k.a(o))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=C.w(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.viewHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var o,n=this,s=new k.a(e),a=this.getItemAround(s.target);if(!a||0===s.posx&&0===s.posy&&s.browserEvent.type===C.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=s.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!s.dataTransfer.types)return!1;this.currentDragAndDropData=new N}this.currentDragAndDropData.update(s);var l,u=a.model;do{if(o=u?u.getElement():this.model.getInput(),!(l=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,o,s))||l.bubble!==r.BUBBLE_UP)break;u=u&&u.parent}while(u);if(!u)return this.currentDropElement=null,!1;var h=l&&l.accept;h?(this.currentDropElement=u.getElement(),s.preventDefault(),s.dataTransfer.dropEffect=l.effect===i.COPY?"copy":"move"):this.currentDropElement=null;var d,g,p=u.id===this.inputItem.id?this.inputItem:this.items[u.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==p||(d=this.currentDropElementReaction,g=l,!(!d&&!g||d&&g&&d.accept===g.accept&&d.bubble===g.bubble&&d.effect===g.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=p,this.currentDropElementReaction=l,h)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),l.bubble===r.BUBBLE_DOWN)for(var f,m=u.getNavigator();f=m.next();)(a=this.items[f.id])&&(a.dropTarget=!0,this.currentDropTargets.push(a));l.autoExpand&&(this.currentDropPromise=c.b.timeout(500).then((function(){return n.context.tree.expand(n.currentDropElement)})).then((function(){return n.shouldInvalidateDropReaction=!0})))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new k.a(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||C.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||C.G(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,o=this.itemAfter(e);o&&o.element&&(t=o.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.top<this.lastRenderTop+this.lastRenderHeight&&e.top+e.height>this.lastRenderTop},t.prototype.getItemAround=function(e){var o=this.inputItem;do{if(e[t.BINDING]&&(o=e[t.BINDING]),e===this.wrapper||e===this.domNode)return o;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=u.d(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=u.d(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.items&&(Object.keys(this.items).forEach((function(e){return t.items[e].removeFromDOM()})),this.items=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(P),K=o(14),Y=o(30);o.d(t,"a",(function(){return $}));var X=function(e,t,o){if(void 0===o&&(o={}),this.tree=e,this.configuration=t,this.options=o,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new s.c({clickBehavior:s.a.ON_MOUSE_UP,keyboardSupport:"boolean"!=typeof o.keyboardSupport||o.keyboardSupport}),this.dnd=t.dnd||new s.d,this.filter=t.filter||new s.e,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new s.b,this.styler=t.styler||null},q={listFocusBackground:K.a.fromHex("#073655"),listActiveSelectionBackground:K.a.fromHex("#0E639C"),listActiveSelectionForeground:K.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:K.a.fromHex("#094771"),listFocusAndSelectionForeground:K.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:K.a.fromHex("#3F3F46"),listHoverBackground:K.a.fromHex("#2A2D2E"),listDropBackground:K.a.fromHex("#383B3D")},$=function(){function e(e,t,o){void 0===o&&(o={}),this._onDidChangeFocus=new h.e,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new h.e,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new h.e,this._onDidExpandItem=new h.e,this._onDidCollapseItem=new h.e,this._onDispose=new h.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(Y.g)(o,q,!1),o.twistiePixels="number"==typeof o.twistiePixels?o.twistiePixels:32,o.showTwistie=!1!==o.showTwistie,o.indentPixels="number"==typeof o.indentPixels?o.indentPixels:12,o.alwaysFocused=!0===o.alwaysFocused,o.useShadows=!1!==o.useShadows,o.paddingOnRow=!1!==o.paddingOnRow,o.showLoading=!1!==o.showLoading,this.context=new X(this,t,o),this.model=new v(this.context),this.view=new z(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}()},function(e,t,o){"use strict";o(446);var n=o(0),i=o(13),r=o(4),s=o(6),a=o(62),l=o(8),u=o(10),c=o(14),h=o(34),d=o(1),g=o(93),p=(o(447),o(30)),f={badgeBackground:c.a.fromHex("#4D4D4D"),badgeForeground:c.a.fromHex("#FFFFFF")},m=function(){function e(e,t){this.options=t||Object.create(null),Object(p.g)(this.options,f,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(d.k)(e,Object(d.a)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=Object(l.format)(this.countFormat,this.count),this.element.title=Object(l.format)(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,o=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},e}(),_=o(204),y=o(22),v=o(143),b=o(2),E=o(26),C=o(157),S=o(113),T=o(56),w=o(133),k=o(7),O=o(19),R=o(118),L=Object(y.c)("environmentService"),N=o(33),I=o(18),D=o(134),A=o(12),P=o(75),x=o(208),M=o(178);o.d(t,"b",(function(){return J})),o.d(t,"a",(function(){return Z}));var B,F=(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),H=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},U=function(e,t){return function(o,n){t(o,n,e)}},V=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},W=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},j=function(){function e(e,t){var o=this;this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=[],this._callOnModelChange=[],this._callOnDispose.push(this._editor.onDidChangeModel((function(){return o._onModelChanged()}))),this._onModelChanged()}return e.prototype.dispose=function(){this._callOnModelChange=Object(s.d)(this._callOnModelChange),this._callOnDispose=Object(s.d)(this._callOnDispose),this.removeDecorations()},e.prototype._onModelChanged=function(){this._callOnModelChange=Object(s.d)(this._callOnModelChange);var e=this._editor.getModel();if(e)for(var t=0,o=this._model.groups;t<o.length;t++){var n=o[t];if(n.uri.toString()===e.uri.toString())return void this._addDecorations(n)}},e.prototype._addDecorations=function(t){var o=this;this._callOnModelChange.push(this._editor.getModel().onDidChangeDecorations((function(e){return o._onDecorationChanged()})));for(var n=[],i=[],r=0,s=t.children.length;r<s;r++){var a=t.children[r];this._decorationIgnoreSet.has(a.id)||(n.push({range:a.range,options:e.DecorationOptions}),i.push(r))}var l=this._editor.deltaDecorations([],n);for(r=0;r<l.length;r++)this._decorations.set(l[r],t.children[i[r]])},e.prototype._onDecorationChanged=function(){var e=this,t=[];this._decorations.forEach((function(o,n){var i=e._editor.getModel().getDecorationRange(n);if(i){var r=!1;if(!b.a.equalsRange(i,o.range))b.a.spansMultipleLines(i)?r=!0:o.range.endColumn-o.range.startColumn!==i.endColumn-i.startColumn&&(r=!0),r?(e._decorationIgnoreSet.add(o.id),t.push(n)):o.range=i}}));for(var o=0,n=t.length;o<n;o++)this._decorations.delete(t[o]);this._editor.deltaDecorations(t,[])},e.prototype.removeDecorations=function(){var e=[];this._decorations.forEach((function(t,o){e.push(o)})),this._editor.deltaDecorations(e,[]),this._decorations.clear()},e.DecorationOptions=E.a.register({stickiness:I.h.NeverGrowsWhenTypingAtEdges,className:"reference-decoration"}),e}(),G=function(){function e(e){this._textModelResolverService=e}return e.prototype.getId=function(e,t){return t instanceof T.c?"root":t instanceof T.a?t.id:t instanceof T.b?t.id:void 0},e.prototype.hasChildren=function(e,t){return t instanceof T.c||t instanceof T.a&&!t.failure},e.prototype.getChildren=function(e,t){return t instanceof T.c?u.b.as(t.groups):t instanceof T.a?t.resolve(this._textModelResolverService).then((function(o){return t.failure?e.refresh(t).then((function(){return o.children})):o.children})):u.b.as([])},e.prototype.getParent=function(e,t){var o=null;return t instanceof T.a?o=t.parent:t instanceof T.b&&(o=t.parent),u.b.as(o)},e=H([U(0,w.a)],e)}(),z=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._onDidFocus=new r.a,t.onDidFocus=t._onDidFocus.event,t._onDidSelect=new r.a,t.onDidSelect=t._onDidSelect.event,t._onDidOpenToSide=new r.a,t.onDidOpenToSide=t._onDidOpenToSide.event,t}return F(t,e),t.prototype.onTap=function(t,o,n){if(o instanceof T.a)return n.preventDefault(),n.stopPropagation(),this._expandCollapse(t,o);var i=e.prototype.onTap.call(this,t,o,n);return this._onDidFocus.fire(o),i},t.prototype.onMouseDown=function(t,o,n){var i=2===n.detail;if(n.leftButton){if(o instanceof T.a&&(this.openOnSingleClick||i||this.isClickOnTwistie(n)))return n.preventDefault(),n.stopPropagation(),this._expandCollapse(t,o);var r=e.prototype.onClick.call(this,t,o,n);return(n.ctrlKey||n.metaKey||n.altKey)&&(i||this.openOnSingleClick)?this._onDidOpenToSide.fire(o):i?this._onDidSelect.fire(o):this.openOnSingleClick&&this._onDidFocus.fire(o),r}return!1},t.prototype.onClick=function(t,o,n){return!n.leftButton&&e.prototype.onClick.call(this,t,o,n)},t.prototype._expandCollapse=function(e,t){return e.isExpanded(t)?e.collapse(t).done(null,i.e):e.expand(t).done(null,i.e),!0},t.prototype.onEscape=function(e,t){return!1},t.prototype.dispose=function(){this._onDidFocus.dispose(),this._onDidSelect.dispose(),this._onDidOpenToSide.dispose()},t}(D.d),K=function(){function e(e,t,o,n){var i=this;this._contextService=t,this._environmentService=o;var r=document.createElement("div");d.f(r,"reference-file"),e.appendChild(r),this.file=new _.a(r,N.a.parse("no:file"),this._contextService,this._environmentService),this.badge=new m(Object(h.a)(".count").appendTo(r).getHTMLElement());var s=Object(R.a)(this.badge,n);this.dispose=function(){i.file.dispose(),s.dispose()}}return e.prototype.set=function(e){this.file.setFile(e.uri,this._contextService,this._environmentService);var t=e.children.length;this.badge.setCount(t),e.failure?this.badge.setTitleFormat(n.a("referencesFailre","Failed to resolve file.")):t>1?this.badge.setTitleFormat(n.a("referencesCount","{0} references",t)):this.badge.setTitleFormat(n.a("referenceCount","{0} reference",t))},e=H([U(1,v.a),U(2,Object(y.d)(L)),U(3,O.c)],e)}(),Y=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),d.f(this.inside,"referenceMatch"),d.f(t,"reference"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),o=t.before,n=t.inside,i=t.after;this.before.innerHTML=l.escape(o),this.inside.innerHTML=l.escape(n),this.after.innerHTML=l.escape(i)},e}(),X=function(){function e(e,t,o){this._contextService=e,this._themeService=t,this._environmentService=o}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,o){if(o instanceof T.a)return e._ids.FileReferences;if(o instanceof T.b)return e._ids.OneReference;throw o},e.prototype.renderTemplate=function(t,o,n){if(o===e._ids.FileReferences)return new K(n,this._contextService,this._environmentService,this._themeService);if(o===e._ids.OneReference)return new Y(n);throw o},e.prototype.renderElement=function(e,t,o,n){if(t instanceof T.a)n.set(t);else{if(!(t instanceof T.b))throw o;n.set(t)}},e.prototype.disposeTemplate=function(e,t,o){o instanceof K&&o.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=H([U(0,v.a),U(1,O.c),U(2,Object(y.d)(L))],e)}(),q=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof T.a?t.getAriaMessage():t instanceof T.b?t.getAriaMessage():void 0},e}(),$=function(){function e(e,t){var o,n=this;this._disposables=[],this._onDidChangePercentages=new r.a,this._ratio=t,this._sash=new g.b(e,{getVerticalSashLeft:function(){return n._width*n._ratio},getVerticalSashHeight:function(){return n._height}}),this._disposables.push(this._sash.onDidStart((function(e){o=e.startX-n._width*n.ratio}))),this._disposables.push(this._sash.onDidChange((function(e){var t=e.currentX-o;t>20&&t+20<n._width&&(n._ratio=t/n._width,n._sash.layout(),n._onDidChangePercentages.fire(n))})))}return e.prototype.dispose=function(){this._sash.dispose(),this._onDidChangePercentages.dispose(),Object(s.d)(this._disposables)},Object.defineProperty(e.prototype,"onDidChangePercentages",{get:function(){return this._onDidChangePercentages.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{set:function(e){this._width=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"percentages",{get:function(){var e=100*this._ratio;return[e+"%",100-e+"%"]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ratio",{get:function(){return this._ratio},enumerable:!0,configurable:!0}),e}(),J=new A.f("referenceSearchTreeFocused",!0),Z=function(e){function t(t,o,n,i,s,a,l){var u=e.call(this,t,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0})||this;return u._defaultTreeKeyboardSupport=o,u.layoutData=n,u._textModelResolverService=s,u._instantiationService=a,u._uriDisplay=l,u._disposeOnNewModel=[],u._callOnDispose=[],u._onDidSelectReference=new r.a,u._applyTheme(i.getTheme()),u._callOnDispose.push(i.onThemeChange(u._applyTheme.bind(u))),u.create(),u}return F(t,e),t.prototype._applyTheme=function(e){var t=e.getColor(oe)||c.a.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Q)||c.a.transparent,primaryHeadingColor:e.getColor(ee),secondaryHeadingColor:e.getColor(te)})},t.prototype.dispose=function(){this.setModel(null),this._callOnDispose=Object(s.d)(this._callOnDispose),Object(s.d)(this._preview,this._previewNotAvailableMessage,this._tree,this._sash,this._previewModelReference),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"onDidSelectReference",{get:function(){return this._onDidSelectReference.event},enumerable:!0,configurable:!0}),t.prototype.show=function(t){this.editor.revealRangeInCenterIfOutsideViewport(t,0),e.prototype.show.call(this,t,this.layoutData.heightInLines||18)},t.prototype.focus=function(){this._tree.domFocus()},t.prototype._onTitleClick=function(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})},t.prototype._fillBody=function(e){var t=this,o=Object(h.a)(e);this.setCssClass("reference-zone-widget"),o.div({class:"messages"},(function(e){t._messageContainer=e.hide()})),o.div({class:"preview inline"},(function(e){t._preview=t._instantiationService.createInstance(C.a,e.getHTMLElement(),{scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}},t.editor),t._previewContainer=e.hide(),t._previewNotAvailableMessage=E.b.createFromString(n.a("missingPreviewMessage","no preview available"))})),this._sash=new $(e,this.layoutData.ratio||.8),this._sash.onDidChangePercentages((function(){var e=t._sash.percentages,o=e[0],n=e[1];t._previewContainer.style({width:o}),t._treeContainer.style({width:n}),t._preview.layout(),t._tree.layout(),t.layoutData.ratio=t._sash.ratio})),o.div({class:"ref-tree inline"},(function(e){var o=t._instantiationService.createInstance(z,{keyboardSupport:t._defaultTreeKeyboardSupport,clickBehavior:P.a.ON_MOUSE_UP});t._callOnDispose.push(o);var i={dataSource:t._instantiationService.createInstance(G),renderer:t._instantiationService.createInstance(X),controller:o,accessibilityProvider:new q},r={twistiePixels:20,ariaLabel:n.a("treeAriaLabel","References")};t._tree=t._instantiationService.createInstance(D.c,e.getHTMLElement(),i,r),J.bindTo(t._tree.contextKeyService);var s=function(e,o){e instanceof T.b&&("show"===o&&t._revealReference(e,!1),t._onDidSelectReference.fire({element:e,kind:o,source:"tree"}))};t._disposables.push(t._tree.onDidChangeFocus((function(e){e&&e.payload&&"keyboard"===e.payload.origin&&s(e.focus,"show")}))),t._disposables.push(t._tree.onDidChangeSelection((function(e){e&&e.payload&&"keyboard"===e.payload.origin&&s(e.selection[0],"goto")}))),t._disposables.push(o.onDidFocus((function(e){return s(e,"show")}))),t._disposables.push(o.onDidSelect((function(e){return s(e,"goto")}))),t._disposables.push(o.onDidOpenToSide((function(e){return s(e,"side")}))),t._treeContainer=e.hide()}))},t.prototype._doLayoutBody=function(t,o){e.prototype._doLayoutBody.call(this,t,o);var n=t+"px";this._sash.height=t,this._sash.width=o;var i=this._sash.percentages,r=i[0],s=i[1];this._previewContainer.style({height:n,width:r}),this._treeContainer.style({height:n,width:s}),this._tree.layout(t),this._preview.layout(),this.layoutData={heightInLines:this._viewZone.heightInLines,ratio:this._sash.ratio}},t.prototype._onWidth=function(e){this._sash.width=e,this._preview.layout()},t.prototype.setSelection=function(e){var t=this;return this._revealReference(e,!0).then((function(){t._tree.setSelection([e]),t._tree.setFocus(e)}))},t.prototype.setModel=function(e){if(this._disposeOnNewModel=Object(s.d)(this._disposeOnNewModel),this._model=e,this._model)return this._onNewModel()},t.prototype._onNewModel=function(){var e=this;if(this._model.empty)return this.setTitle(""),this._messageContainer.innerHtml(n.a("noResults","No results")).show(),u.b.as(void 0);this._messageContainer.hide(),this._decorationsManager=new j(this._preview,this._model),this._disposeOnNewModel.push(this._decorationsManager),this._disposeOnNewModel.push(this._model.onDidChangeReferenceRange((function(t){return e._tree.refresh(t)}))),this._disposeOnNewModel.push(this._preview.onMouseDown((function(t){var o=t.event,n=t.target;2===o.detail&&e._onDidSelectReference.fire({element:{uri:e._getFocusedReference().uri,range:n.range},kind:o.ctrlKey||o.metaKey||o.altKey?"side":"open",source:"editor"})}))),d.f(this.container,"results-loaded"),this._treeContainer.show(),this._previewContainer.show(),this._preview.layout(),this._tree.layout(),this.focus();var t=1===this._model.groups.length?this._model.groups[0]:this._model;return this._tree.setInput(t)},t.prototype._getFocusedReference=function(){var e=this._tree.getFocus();return e instanceof T.b?e:e instanceof T.a&&e.children.length>0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return V(this,void 0,void 0,(function(){var o,r=this;return W(this,(function(l){switch(l.label){case 0:return e.uri.scheme!==a.a.inMemory?this.setTitle(Object(M.a)(e.uri),this._uriDisplay.getLabel(Object(M.b)(e.uri),!1)):this.setTitle(n.a("peekView.alternateTitle","References")),o=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:l.sent(),l.label=2;case 2:return[2,u.b.join([o,this._tree.reveal(e)]).then((function(t){var o=t[0];if(r._model){Object(s.d)(r._previewModelReference);var n=o.object;if(n){r._previewModelReference=o;var i=r._preview.getModel()===n.textEditorModel;r._preview.setModel(n.textEditorModel);var a=b.a.lift(e.range).collapseToStart();r._preview.setSelection(a),r._preview.revealRangeInCenter(a,i?0:1)}else r._preview.setModel(r._previewNotAvailableMessage),o.dispose()}else o.dispose()}),i.e)]}}))}))},t=H([U(3,O.c),U(4,w.a),U(5,y.a),U(6,x.a)],t)}(S.b),Q=Object(k.kb)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},n.a("peekViewTitleBackground","Background color of the peek view title area.")),ee=Object(k.kb)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},n.a("peekViewTitleForeground","Color of the peek view title.")),te=Object(k.kb)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},n.a("peekViewTitleInfoForeground","Color of the peek view title info.")),oe=Object(k.kb)("peekView.border",{dark:"#007acc",light:"#007acc",hc:k.e},n.a("peekViewBorder","Color of the peek view borders and arrow.")),ne=Object(k.kb)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:c.a.black},n.a("peekViewResultsBackground","Background color of the peek view result list.")),ie=Object(k.kb)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:c.a.white},n.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re=Object(k.kb)("peekViewResult.fileForeground",{dark:c.a.white,light:"#1E1E1E",hc:c.a.white},n.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),se=Object(k.kb)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},n.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),ae=Object(k.kb)("peekViewResult.selectionForeground",{dark:c.a.white,light:"#6C6C6C",hc:c.a.white},n.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),le=Object(k.kb)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:c.a.black},n.a("peekViewEditorBackground","Background color of the peek view editor.")),ue=Object(k.kb)("peekViewEditorGutter.background",{dark:le,light:le,hc:le},n.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),ce=Object(k.kb)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},n.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),he=Object(k.kb)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},n.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),de=Object(k.kb)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:k.b},n.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(O.e)((function(e,t){var o=e.getColor(ce);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+o+"; }");var n=e.getColor(he);n&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+n+"; }");var i=e.getColor(de);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+i+"; box-sizing: border-box; }");var r=e.getColor(k.b);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(ne);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(ie);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var l=e.getColor(re);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+l+"; }");var u=e.getColor(se);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+u+"; }");var c=e.getColor(ae);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+c+" !important; }");var h=e.getColor(le);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+h+";}");var d=e.getColor(ue);d&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+d+";}")}))},function(e,t,o){"use strict";var n,i="object"==typeof Reflect?Reflect:null,r=i&&"function"==typeof i.apply?i.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function c(e,t,o,n){var i,r,s,a;if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o);if(void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),r=e._events),s=r[t]),void 0===s)s=r[t]=o,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[o,s]:[s,o]:n?s.unshift(o):s.push(o),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=s.length,a=l,console&&console.warn&&console.warn(a)}return e}function h(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,r(this.listener,this.target,e))}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},i=h.bind(n);return i.listener=o,n.wrapFn=i,i}function g(e,t,o){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?o?[i.listener||i]:[i]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(i):f(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function f(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var n="error"===e,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var u=l.length,c=f(l,u);for(o=0;o<u;++o)r(c[o],this,t)}return!0},a.prototype.addListener=function(e,t){return c(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return c(this,e,t,!0)},a.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var o,n,i,r,s;if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(i=-1,r=o.length-1;r>=0;r--)if(o[r]===t||o[r].listener===t){s=o[r].listener,i=r;break}if(i<0)return this;0===i?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,i),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var i,r=Object.keys(o);for(n=0;n<r.length;++n)"removeListener"!==(i=r[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return g(this,e,!0)},a.prototype.rawListeners=function(e){return g(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,o){(t=e.exports=o(267)).Stream=t,t.Readable=t,t.Writable=o(214),t.Duplex=o(136),t.Transform=o(271),t.PassThrough=o(334)},function(e,t,o){"use strict";(function(t,n,i){var r=o(180);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,o){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(o),n=n.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,l=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?n:r.nextTick;y.WritableState=_;var u=o(167);u.inherits=o(147);var c={deprecate:o(333)},h=o(268),d=o(181).Buffer,g=i.Uint8Array||function(){};var p,f=o(269);function m(){}function _(e,t){a=a||o(136),e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var o=e._writableState,n=o.sync,i=o.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(o),t)!function(e,t,o,n,i){--t.pendingcb,o?(r.nextTick(i,n),r.nextTick(T,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),T(e,t))}(e,o,n,t,i);else{var s=C(o);s||o.corked||o.bufferProcessing||!o.bufferedRequest||E(e,o),n?l(b,e,o,s,i):b(e,o,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||o(136),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function v(e,t,o,n,i,r,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,o?e._writev(i,t.onwrite):e._write(i,r,t.onwrite),t.sync=!1}function b(e,t,o,n){o||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),T(e,t)}function E(e,t){t.bufferProcessing=!0;var o=t.bufferedRequest;if(e._writev&&o&&o.next){var n=t.bufferedRequestCount,i=new Array(n),r=t.corkedRequestsFree;r.entry=o;for(var a=0,l=!0;o;)i[a]=o,o.isBuf||(l=!1),o=o.next,a+=1;i.allBuffers=l,v(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;o;){var u=o.chunk,c=o.encoding,h=o.callback;if(v(e,t,!1,t.objectMode?1:u.length,u,c,h),o=o.next,t.bufferedRequestCount--,t.writing)break}null===o&&(t.lastBufferedRequest=null)}t.bufferedRequest=o,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(o){t.pendingcb--,o&&e.emit("error",o),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var o=C(t);return o&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),o}u.inherits(y,h),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,o){var n,i=this._writableState,s=!1,a=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof g);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(o=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof o&&(o=m),i.ended?function(e,t){var o=new Error("write after end");e.emit("error",o),r.nextTick(t,o)}(this,o):(a||function(e,t,o,n){var i=!0,s=!1;return null===o?s=new TypeError("May not write null values to stream"):"string"==typeof o||void 0===o||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(n,s),i=!1),i}(this,i,e,o))&&(i.pendingcb++,s=function(e,t,o,n,i,r){if(!o){var s=function(e,t,o){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,o));return t}(t,n,i);n!==s&&(o=!0,i="buffer",n=s)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:o,callback:r,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else v(e,t,!1,a,n,i,r);return l}(this,i,a,e,t,o)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||E(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,o){o(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,o){var n=this._writableState;"function"==typeof e?(o=e,e=null,t=null):"function"==typeof t&&(o=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,o){t.ending=!0,T(e,t),o&&(t.finished?r.nextTick(o):e.once("finish",o));t.ended=!0,e.writable=!1}(this,n,o)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=f.destroy,y.prototype._undestroy=f.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,o(108),o(148).setImmediate,o(80))},function(e,t,o){"use strict";var n=o(168),i=o(275),r=o(276),s=o(277);r=o(276);function a(e,t,o,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=o,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,o){return e.pipe(new s).pipe(new r("uncompressedSize")).pipe(t.compressWorker(o)).pipe(new r("compressedSize")).withStreamInfo("compression",t)},e.exports=a},function(e,t,o){"use strict";var n=o(64);var i=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a<s;a++)e=e>>>8^r[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a<s;a++)e=e>>>8^r[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},function(e,t,o){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,o){"use strict";var n=o(364),i=o(219),r=o(149),s=o(289),a=o(366);function l(e,t,o){var n=this._refs[o];if("string"==typeof n){if(!this._refs[n])return l.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[o])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,r,a,c=u.call(this,t,o);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?r=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(r=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),r}function u(e,t){var o=n.parse(t),i=m(o),r=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==r){var a=y(i),l=this._refs[a];if("string"==typeof l)return c.call(this,e,l,o);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[a])instanceof s))return;if(l.validate||this._compile(l),a==y(t))return{schema:l,root:e,baseId:r};e=l}if(!e.schema)return;r=f(this._getId(e.schema))}return d.call(this,o,r,e.schema,e)}function c(e,t,o){var n=u.call(this,e,t);if(n){var i=n.schema,r=n.baseId;e=n.root;var s=this._getId(i);return s&&(r=v(r,s)),d.call(this,o,r,i,e)}}e.exports=l,l.normalizeId=y,l.fullPath=f,l.url=v,l.ids=function(e){var t=y(this._getId(e)),o={"":t},s={"":f(t,!1)},l={},u=this;return a(e,{allKeys:!0},(function(e,t,a,c,h,d,g){if(""!==t){var p=u._getId(e),f=o[c],m=s[c]+"/"+h;if(void 0!==g&&(m+="/"+("number"==typeof g?g:r.escapeFragment(g))),"string"==typeof p){p=f=y(f?n.resolve(f,p):p);var _=u._refs[p];if("string"==typeof _&&(_=u._refs[_]),_&&_.schema){if(!i(e,_.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=y(m))if("#"==p[0]){if(l[p]&&!i(e,l[p]))throw new Error('id "'+p+'" resolves to more than one schema');l[p]=e}else u._refs[p]=m}o[t]=f,s[t]=m}})),l},l.inlineRef=p,l.schema=u;var h=r.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function d(e,t,o,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var a=i[s];if(a){if(void 0===(o=o[a=r.unescapeFragment(a)]))break;var l;if(!h[a]&&((l=this._getId(o))&&(t=v(t,l)),o.$ref)){var c=v(t,o.$ref),d=u.call(this,n,c);d&&(o=d.schema,n=d.root,t=d.baseId)}}}return void 0!==o&&o!==n.schema?{schema:o,root:n,baseId:t}:void 0}}var g=r.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function p(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var o;if(Array.isArray(t)){for(var n=0;n<t.length;n++)if("object"==typeof(o=t[n])&&!e(o))return!1}else for(var i in t){if("$ref"==i)return!1;if("object"==typeof(o=t[i])&&!e(o))return!1}return!0}(e):t?function e(t){var o,n=0;if(Array.isArray(t)){for(var i=0;i<t.length;i++)if("object"==typeof(o=t[i])&&(n+=e(o)),n==1/0)return 1/0}else for(var r in t){if("$ref"==r)return 1/0;if(g[r])n++;else if("object"==typeof(o=t[r])&&(n+=e(o)+1),n==1/0)return 1/0}return n}(e)<=t:void 0)}function f(e,t){return!1!==t&&(e=y(e)),m(n.parse(e))}function m(e){return n.serialize(e).split("#")[0]+"#"}var _=/#\/?$/;function y(e){return e?e.replace(_,""):""}function v(e,t){return t=y(t),n.resolve(e,t)}},function(e,t,o){"use strict";var n=Array.isArray,i=Object.keys,r=Object.prototype.hasOwnProperty;e.exports=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){var s,a,l,u=n(t),c=n(o);if(u&&c){if((a=t.length)!=o.length)return!1;for(s=a;0!=s--;)if(!e(t[s],o[s]))return!1;return!0}if(u!=c)return!1;var h=t instanceof Date,d=o instanceof Date;if(h!=d)return!1;if(h&&d)return t.getTime()==o.getTime();var g=t instanceof RegExp,p=o instanceof RegExp;if(g!=p)return!1;if(g&&p)return t.toString()==o.toString();var f=i(t);if((a=f.length)!==i(o).length)return!1;for(s=a;0!=s--;)if(!r.call(o,f[s]))return!1;for(s=a;0!=s--;)if(!e(t[l=f[s]],o[l]))return!1;return!0}return t!=t&&o!=o}},function(e,t,o){"use strict";var n=o(218);function i(e,t,o){this.message=o||i.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function r(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:r((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:r(i)},i.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},function(e,t,o){var n=o(401);e.exports=function(e){return null==e?"":n(e)}},function(e,t,o){var n=o(402).Symbol;e.exports=n},function(e,t,o){"use strict";o.r(t);o(428);var n,i=o(0),r=o(6),s=o(8),a=o(1),l=o(144),u=o(28),c=o(59),h=o(22),d=o(61),g=o(12),p=o(5),f=o(3),m=o(153),_=o(19),y=o(7),v=o(15),b=o(58),E=o(82),C=o(33),S=o(24),T=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=new g.f("accessibilityHelpWidgetVisible",!1),R=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,n._widget=n._register(o.createInstance(P,n._editor)),n}return T(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=w([k(1,h.a)],t)}(r.a),L=i.a("noSelection","No selection"),N=i.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),I=i.a("singleSelection","Line {0}, Column {1}"),D=i.a("multiSelectionRange","{0} selections ({1} characters selected)"),A=i.a("multiSelection","{0} selections");var P=function(e){function t(t,o,n,r){var s=e.call(this)||this;return s._contextKeyService=o,s._keybindingService=n,s._openerService=r,s._editor=t,s._isVisibleKey=O.bindTo(s._contextKeyService),s._domNode=Object(u.b)(document.createElement("div")),s._domNode.setClassName("accessibilityHelpWidget"),s._domNode.setDisplay("none"),s._domNode.setAttribute("role","dialog"),s._domNode.setAttribute("aria-hidden","true"),s._contentDomNode=Object(u.b)(document.createElement("div")),s._contentDomNode.setAttribute("role","document"),s._domNode.appendChild(s._contentDomNode),s._isVisible=!1,s._register(s._editor.onDidLayoutChange((function(){s._isVisible&&s._layout()}))),s._register(a.j(s._contentDomNode.domNode,"keydown",(function(e){if(s._isVisible&&(e.equals(2083)&&(Object(b.a)(i.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),s._editor.updateOptions({accessibilitySupport:"on"}),a.l(s._contentDomNode.domNode),s._buildContent(),s._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(b.a)(i.a("openingDocs","Now opening the Editor Accessibility documentation page."));var t=s._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),s._openerService.open(C.a.parse(t)),e.preventDefault(),e.stopPropagation()}}))),s.onblur(s._contentDomNode.domNode,(function(){s.hide()})),s._editor.addOverlayWidget(s),s}return T(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())},t.prototype._descriptionForCommand=function(e,t,o){var n=this._keybindingService.lookupKeybinding(e);return n?s.format(t,n.getAriaLabel()):s.format(o,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),o=0;if(t){var n=this._editor.getModel();n&&t.forEach((function(e){o+=n.getValueLengthInRange(e)}))}var r=function(e,t){return e&&0!==e.length?1===e.length?t?s.format(N,e[0].positionLineNumber,e[0].positionColumn,t):s.format(I,e[0].positionLineNumber,e[0].positionColumn):t?s.format(D,e.length,t):e.length>0?s.format(A,e.length):null:L}(t,o);switch(e.wrappingInfo.inDiffEditor?e.readOnly?r+=i.a("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=i.a("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=i.a("readonlyEditor"," in a read-only code editor"):r+=i.a("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var a=v.d?i.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):i.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");r+="\n\n - "+a;break;case 2:r+="\n\n - "+i.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+i.a("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+a}var u=i.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),c=i.a("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),h=i.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=i.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,u,c):r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,h,d),r+="\n\n - "+(v.d?i.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):i.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+i.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(Object(l.a)(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,a.l(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),o=Math.max(5,Math.min(t.WIDTH,e.width-40)),n=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(o),this._domNode.setHeight(n);var i=Math.round((e.height-n)/2);this._domNode.setTop(i);var r=Math.round((e.width-o)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=w([k(1,g.e),k(2,d.a),k(3,E.a)],t)}(c.a),x=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:i.a("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:p.a.focus,primary:S.k?2107:571,weight:100}})||this}return T(t,e),t.prototype.run=function(e,t){var o=R.get(t);o&&o.show()},t}(f.b);Object(f.h)(R),Object(f.f)(x);var M=f.c.bindToContribution(R.get);Object(f.g)(new M({id:"closeAccessibilityHelp",precondition:O,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:p.a.focus,primary:9,secondary:[1033]}})),Object(_.e)((function(e,t){var o=e.getColor(y.D);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+o+"; }");var n=e.getColor(y.rb);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(y.e);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"BracketMatchingController",(function(){return E}));o(430);var n,i=o(0),r=o(6),s=o(9),a=o(23),l=o(17),u=o(3),c=o(5),h=o(19),d=o(29),g=o(26),p=o(7),f=o(18),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object(p.kb)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},i.a("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets.")),y=function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:i.a("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:null,kbOpts:{kbExpr:c.a.editorTextFocus,primary:3160,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.jumpToBracket()},t}(u.b),v=function(e){function t(){return e.call(this,{id:"editor.action.selectToBracket",label:i.a("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.selectToBracket()},t}(u.b),b=function(e,t){this.position=e,this.brackets=t},E=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._lastBracketsData=[],o._lastVersionId=0,o._decorations=[],o._updateBracketsSoon=o._register(new l.c((function(){return o._updateBrackets()}),50)),o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,o._updateBracketsSoon.schedule(),o._register(t.onDidChangeCursorPosition((function(e){o._matchBrackets&&o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelContent((function(e){o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModel((function(e){o._decorations=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelLanguageConfiguration((function(e){o._lastBracketsData=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeConfiguration((function(e){o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,!o._matchBrackets&&o._decorations.length>0&&(o._decorations=o._editor.deltaDecorations(o._decorations,[])),o._updateBracketsSoon.schedule()}))),o}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelections().map((function(t){var o=t.getStartPosition(),n=e.matchBracket(o),i=null;if(n)n[0].containsPosition(o)?i=n[1].getStartPosition():n[1].containsPosition(o)&&(i=n[0].getStartPosition());else{var r=e.findNextBracket(o);r&&r.range&&(i=r.range.getStartPosition())}return i?new a.a(i.lineNumber,i.column,i.lineNumber,i.column):new a.a(o.lineNumber,o.column,o.lineNumber,o.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){var e=this._editor.getModel();if(e){var t=[];this._editor.getSelections().forEach((function(o){var n=o.getStartPosition(),i=e.matchBracket(n),r=null,s=null;if(!i){var l=e.findNextBracket(n);l&&l.range&&(i=e.matchBracket(l.range.getStartPosition()))}i&&(i[0].startLineNumber===i[1].startLineNumber?(r=i[1].startColumn<i[0].startColumn?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startColumn<i[0].startColumn?i[0].getEndPosition():i[1].getEndPosition()):(r=i[1].startLineNumber<i[0].startLineNumber?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startLineNumber<i[0].startLineNumber?i[0].getEndPosition():i[1].getEndPosition())),r&&s&&t.push(new a.a(r.lineNumber,r.column,s.lineNumber,s.column))})),t.length>0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],o=0,n=0,i=this._lastBracketsData.length;n<i;n++){var r=this._lastBracketsData[n].brackets;r&&(e[o++]={range:r[0],options:t._DECORATION_OPTIONS},e[o++]={range:r[1],options:t._DECORATION_OPTIONS})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}},t.prototype._recomputeBrackets=function(){var e=this._editor.getModel();if(!e)return this._lastBracketsData=[],void(this._lastVersionId=0);var t=e.getVersionId(),o=[];this._lastVersionId===t&&(o=this._lastBracketsData);for(var n=this._editor.getSelections(),i=[],r=0,a=0,l=n.length;a<l;a++){var u=n[a];u.isEmpty()&&(i[r++]=u.getStartPosition())}i.length>1&&i.sort(s.a.compare);var c=[],h=0,d=0,g=o.length;for(a=0,l=i.length;a<l;a++){for(var p=i[a];d<g&&o[d].position.isBefore(p);)d++;if(d<g&&o[d].position.equals(p))c[h++]=o[d];else{var f=e.matchBracket(p);c[h++]=new b(p,f)}}this._lastBracketsData=c,this._lastVersionId=t},t.ID="editor.contrib.bracketMatchingController",t._DECORATION_OPTIONS=g.a.register({stickiness:f.h.NeverGrowsWhenTypingAtEdges,className:"bracket-match",overviewRuler:{color:Object(h.f)(_),darkColor:Object(h.f)(_),position:f.f.Center}}),t}(r.a);Object(u.h)(E),Object(u.f)(v),Object(u.f)(y),Object(h.e)((function(e,t){var o=e.getColor(d.c);o&&t.addRule(".monaco-editor .bracket-match { background-color: "+o+"; }");var n=e.getColor(d.d);n&&t.addRule(".monaco-editor .bracket-match { border: 1px solid "+n+"; }")}))},function(e,t,o){"use strict";o.r(t);o(431);var n,i=o(0),r=o(24),s=o(15),a=o(36),l=o(3),u=o(174),c=o(5),h=o(38),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g="9_cutcopypaste",p=s.e||document.queryCommandSupported("cut"),f=s.e||document.queryCommandSupported("copy"),m=f&&!r.h,_=s.e||!r.f&&document.queryCommandSupported("paste"),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n.browserCommand=t,n}return d(t,e),t.prototype.runCommand=function(e,t){var o=e.get(a.a).getFocusedCodeEditor();o&&o.hasTextFocus()?o.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(l.b),v=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]},weight:100};return s.e||(t=null),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:i.a("actions.clipboard.cutLabel","Cut"),alias:"Cut",precondition:c.a.writable,kbOpts:t,menuOpts:{group:g,order:1},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||e.prototype.run.call(this,t,o)},t}(y),b=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]},weight:100};return s.e||(t=null),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:i.a("actions.clipboard.copyLabel","Copy"),alias:"Copy",precondition:null,kbOpts:t,menuOpts:{group:g,order:2},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||e.prototype.run.call(this,t,o)},t}(y),E=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]},weight:100};return s.e||(t=null),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:i.a("actions.clipboard.pasteLabel","Paste"),alias:"Paste",precondition:c.a.writable,kbOpts:t,menuOpts:{group:g,order:3},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:3}})||this}return d(t,e),t}(y),C=function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:i.a("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:null,kbOpts:{kbExpr:c.a.textInputFocus,primary:null,weight:100}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||(u.a.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,o),u.a.forceCopyWithSyntaxHighlighting=!1)},t}(y);p&&Object(l.f)(v),f&&Object(l.f)(b),_&&Object(l.f)(E),m&&Object(l.f)(C)},function(e,t,o){"use strict";o.r(t),o.d(t,"ContextMenuController",(function(){return v}));var n,i=o(0),r=o(6),s=o(10),a=o(1),l=o(74),u=o(83),c=o(61),h=o(12),d=o(38),g=o(5),p=o(3),f=o(16),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o,n,i,r){var s=this;this._contextMenuService=t,this._contextViewService=o,this._contextKeyService=n,this._keybindingService=i,this._menuService=r,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu((function(e){return s._onContextMenu(e)}))),this._toDispose.push(this._editor.onDidScrollChange((function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()}))),this._toDispose.push(this._editor.onKeyDown((function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));var t;e.target.type!==f.b.OVERLAY_WIDGET&&(e.event.preventDefault(),(e.target.type===f.b.CONTENT_TEXT||e.target.type===f.b.CONTENT_EMPTY||e.target.type===f.b.TEXTAREA)&&(this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position),e.target.type!==f.b.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)))},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(d.b.EditorContext,this._contextKeyService),o=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var n=0,i=o;n<i.length;n++){var r=i[n][1];e.push.apply(e,r),e.push(new l.e)}return e.pop(),e},e.prototype._doShowContextMenu=function(e,t){var o=this;void 0===t&&(t=null);var n=this._editor.getConfiguration().contribInfo.hover;this._editor.updateOptions({hover:{enabled:!1}});var i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();var r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),u=a.u(this._editor.getDomNode()),c=u.left+r.left,h=u.top+r.top+r.height;i={x:c,y:h}}this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({getAnchor:function(){return i},getActions:function(){return s.b.as(e)},getActionItem:function(e){var t=o._keybindingFor(e);if(t)return new l.b(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});var n=e;return"function"==typeof n.getActionItem?n.getActionItem():new l.b(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:function(e){return o._keybindingFor(e)},onHide:function(e){o._contextMenuIsBeingShownCount--,o._editor.focus(),o._editor.updateOptions({hover:n})}})},e.prototype._keybindingFor=function(e){return this._keybindingService.lookupKeybinding(e.id)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose=Object(r.d)(this._toDispose)},e.ID="editor.contrib.contextmenu",e=_([y(1,u.a),y(2,u.b),y(3,h.e),y(4,c.a),y(5,d.a)],e)}(),b=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:i.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:g.a.textInputFocus,primary:1092,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(p.b);Object(p.h)(v),Object(p.f)(b)},function(e,t,o){"use strict";o.r(t),o.d(t,"CursorUndoController",(function(){return c})),o.d(t,"CursorUndo",(function(){return h}));var n,i=o(0),r=o(3),s=o(6),a=o(5),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var o=0;o<t;o++)if(!this.selections[o].equalsSelection(e.selections[o]))return!1;return!0},e}(),c=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._isCursorUndo=!1,o._undoStack=[],o._prevState=o._readState(),o._register(t.onDidChangeModel((function(e){o._undoStack=[],o._prevState=null}))),o._register(t.onDidChangeModelContent((function(e){o._undoStack=[],o._prevState=null}))),o._register(t.onDidChangeCursorSelection((function(e){!o._isCursorUndo&&o._prevState&&(o._undoStack.push(o._prevState),o._undoStack.length>50&&o._undoStack.shift()),o._prevState=o._readState()}))),o}return l(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.getModel()?new u(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){for(var e=new u(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t}(s.a),h=function(e){function t(){return e.call(this,{id:"cursorUndo",label:i.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:null,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return l(t,e),t.prototype.run=function(e,t,o){c.get(t).cursorUndo()},t}(r.b);Object(r.h)(c),Object(r.f)(h)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(96),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:i.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:i.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(r.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:i.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(l),Object(r.f)(u),Object(r.f)(c)},function(e,t,o){"use strict";o.r(t);o(299);var n=o(0),i=o(17),r=o(13),s=o(71),a=o(10),l=o(89),u=o(2),c=o(11),h=o(16),d=o(3),g=o(164),p=o(6),f=o(133),m=o(19),_=o(7),y=o(90),v=o(154),b=o(209),E=o(9),C=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},S=function(e,t){return function(o,n){t(o,n,e)}},T=function(){function e(e,t,o){var n=this;this.textModelResolverService=t,this.modeService=o,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new i.e;var s=new b.a(e);this.toUnhook.push(s),this.toUnhook.push(s.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n.startFindDefinition(t,o)}))),this.toUnhook.push(s.onExecute((function(e){n.isEnabled(e)&&n.gotoDefinition(e.target,e.hasSideBySideModifier).done((function(){n.removeDecorations()}),(function(e){n.removeDecorations(),Object(r.e)(e)}))}))),this.toUnhook.push(s.onCancel((function(){n.removeDecorations(),n.currentWordUnderMouse=null})))}return e.prototype.startFindDefinition=function(e,t){var o=this;if(!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position,l=i?this.editor.getModel().getWordAtPosition(i):null;if(!l)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==l.startColumn||this.currentWordUnderMouse.endColumn!==l.endColumn||this.currentWordUnderMouse.word!==l.word){this.currentWordUnderMouse=l;var c=new y.a(this.editor,15);this.throttler.queue((function(){return c.validate(o.editor)?o.findDefinition(e.target):a.b.wrap(null)})).then((function(e){if(e&&e.length&&c.validate(o.editor))if(e.length>1)o.addDecoration(new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),(new s.a).appendText(n.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;o.textModelResolverService.createModelReference(t.uri).then((function(e){if(e.object&&e.object.textEditorModel){var n=e.object.textEditorModel,r=t.range.startLineNumber;if(0!==n.getLineMaxColumn(r)){var a,c=o.getPreviewValue(n,r);a=t.origin?u.a.lift(t.origin):new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),o.addDecoration(a,(new s.a).appendCodeblock(o.modeService.getModeIdByFilenameOrFirstLine(n.uri.fsPath),c)),e.dispose()}else e.dispose()}else e.dispose()}))}else o.removeDecorations()})).done(void 0,r.e)}},e.prototype.getPreviewValue=function(t,o){var n=this.getPreviewRangeBasedOnBrackets(t,o);return n.endLineNumber-n.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(t,o)),this.stripIndentationFromPreviewRange(t,o,n)},e.prototype.stripIndentationFromPreviewRange=function(e,t,o){for(var n=e.getLineFirstNonWhitespaceColumn(t),i=t+1;i<o.endLineNumber;i++){var r=e.getLineFirstNonWhitespaceColumn(i);n=Math.min(n,r)}return e.getValueInRange(o).replace(new RegExp("^\\s{"+(n-1)+"}","gm"),"").trim()},e.prototype.getPreviewRangeBasedOnIndentation=function(t,o){for(var n=t.getLineFirstNonWhitespaceColumn(o),i=Math.min(t.getLineCount(),o+e.MAX_SOURCE_PREVIEW_LINES),r=o+1;r<i;r++){if(n===t.getLineFirstNonWhitespaceColumn(r))break}return new u.a(o,1,r+1,1)},e.prototype.getPreviewRangeBasedOnBrackets=function(t,o){for(var n=Math.min(t.getLineCount(),o+e.MAX_SOURCE_PREVIEW_LINES),i=[],r=!0,s=t.findNextBracket(new E.a(o,1));null!==s;){if(0===i.length)i.push(s);else{var a=i[i.length-1];if(a.open===s.open&&a.isOpen&&!s.isOpen?i.pop():i.push(s),0===i.length){if(!r)return new u.a(o,1,s.range.endLineNumber+1,1);r=!1}}var l=t.getLineMaxColumn(o),c=s.range.endLineNumber,h=s.range.endColumn;if(l===s.range.endColumn&&(c++,h=1),c>n)return new u.a(o,1,n+1,1);s=t.findNextBracket(new E.a(c,h))}return new u.a(o,1,n+1,1)},e.prototype.addDecoration=function(e,t){var o={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[o])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===h.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&c.e.has(this.editor.getModel())},e.prototype.findDefinition=function(e){var t=this.editor.getModel();return t?Object(g.a)(t,e.position):a.b.as(null)},e.prototype.gotoDefinition=function(e,t){var o=this;this.editor.setPosition(e.position);var n=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:void 0,label:void 0,id:void 0,precondition:void 0});return this.editor.invokeWithinContext((function(e){return n.run(e,o.editor)}))},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook=Object(p.d)(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,f.a),S(2,l.a)],e)}();Object(d.h)(T),Object(m.e)((function(e,t){var o=e.getColor(_.m);o&&t.addRule(".monaco-editor .goto-definition-link { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"GotoLineEntry",(function(){return p})),o.d(t,"GotoLineAction",(function(){return f}));o(472);var n,i=o(0),r=o(124),s=o(97),a=o(5),l=o(16),u=o(161),c=o(3),h=o(9),d=o(2),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p=function(e){function t(t,o,n){var i=e.call(this)||this;return i.editor=o,i.decorator=n,i._parseResult=i._parseInput(t),i}return g(t,e),t.prototype._parseInput=function(e){var t,o,n=e.split(",").map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)}));t=0===n.length?new h.a(-1,-1):1===n.length?new h.a(n[0],1):new h.a(n[0],n[1]);var r=(o=Object(l.d)(this.editor)?this.editor.getModel():this.editor.getModel().modified).validatePosition(t).equals(t);return{position:t,isValid:r,label:r?t.column&&t.column>1?i.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):i.a("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>o.getLineCount()?i.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",o.getLineCount()):i.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",o.getLineMaxColumn(t.lineNumber))}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return i.a("gotoLineAriaLabel","Go to line {0}",this._parseResult.label)},t.prototype.run=function(e,t){return e===s.a.OPEN?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this._parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this._parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new d.a(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(r.a),f=function(e){function t(){return e.call(this,i.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:i.a("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:a.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return g(t,e),t.prototype.run=function(e,t){var o=this;this._show(this.getController(t),{getModel:function(e){return new r.c([new p(e,t,o.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(u.a);Object(c.f)(f)},function(e,t,o){"use strict";o.r(t);o(478);var n,i=o(0),r=o(6),s=o(8),a=o(3),l=o(16),u=o(89),c=o(11),h=o(103),d=o(69),g=o(14),p=o(19),f=o(7),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(e){function t(t,o,n){var i=e.call(this)||this;return i._editor=t,i._standaloneThemeService=o,i._modeService=n,i._widget=null,i._register(i._editor.onDidChangeModel((function(e){return i.stop()}))),i._register(i._editor.onDidChangeModelLanguage((function(e){return i.stop()}))),i._register(c.y.onDidChange((function(e){return i.stop()}))),i}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.getModel()&&(this._widget=new E(this._editor,this._standaloneThemeService,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=_([y(1,h.a),y(2,u.a)],t)}(r.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:i.a("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=v.get(t);o&&o.launch()},t}(a.b);var E=function(e){function t(t,o,n){var i,r=e.call(this)||this;return r.allowEditorOverflow=!0,r._editor=t,r._modeService=n,r._model=r._editor.getModel(),r._domNode=document.createElement("div"),r._domNode.className="tokens-inspect-widget",r._tokenizationSupport=(i=r._model.getLanguageIdentifier(),c.y.get(i.language)||{getInitialState:function(){return d.c},tokenize:function(e,t,o){return Object(d.d)(i.language,e,t,o)},tokenize2:function(e,t,o){return Object(d.e)(i.id,e,t,o)}}),r._compute(r._editor.getPosition()),r._register(r._editor.onDidChangeCursorPosition((function(e){return r._compute(r._editor.getPosition())}))),r._editor.addContentWidget(r),r}return m(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),o=0,n=t.tokens1.length-1;n>=0;n--){var i=t.tokens1[n];if(e.column-1>=i.offset){o=n;break}}var r=0;for(n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}var a="",l=this._model.getLineContent(e.lineNumber),u="";if(o<t.tokens1.length){var c=t.tokens1[o].offset,h=o+1<t.tokens1.length?t.tokens1[o+1].offset:l.length;u=l.substring(c,h)}a+='<h2 class="tm-token">'+function(e){for(var t="",o=0,n=e.length;o<n;o++){var i=e.charCodeAt(o);switch(i){case 9:t+="&rarr;";break;case 32:t+="&middot;";break;case 60:t+="&lt;";break;case 62:t+="&gt;";break;case 38:t+="&amp;";break;default:t+=String.fromCharCode(i)}}return t}(u)+'<span class="tm-token-length">('+u.length+" "+(1===u.length?"char":"chars")+")</span></h2>",a+='<hr class="tokens-inspect-separator" style="clear:both"/>';var d=this._decodeMetadata(t.tokens2[1+(r<<1)]);a+='<table class="tm-metadata-table"><tbody>',a+='<tr><td class="tm-metadata-key">language</td><td class="tm-metadata-value">'+Object(s.escape)(d.languageIdentifier.language)+"</td>",a+='<tr><td class="tm-metadata-key">token type</td><td class="tm-metadata-value">'+this._tokenTypeToString(d.tokenType)+"</td>",a+='<tr><td class="tm-metadata-key">font style</td><td class="tm-metadata-value">'+this._fontStyleToString(d.fontStyle)+"</td>",a+='<tr><td class="tm-metadata-key">foreground</td><td class="tm-metadata-value">'+g.a.Format.CSS.formatHex(d.foreground)+"</td>",a+='<tr><td class="tm-metadata-key">background</td><td class="tm-metadata-value">'+g.a.Format.CSS.formatHex(d.background)+"</td>",a+="</tbody></table>",a+='<hr class="tokens-inspect-separator"/>',o<t.tokens1.length&&(a+='<span class="tm-token-type">'+Object(s.escape)(t.tokens1[o].type)+"</span>"),this._domNode.innerHTML=a,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),o=c.x.getLanguageId(e),n=c.x.getTokenType(e),i=c.x.getFontStyle(e),r=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(o),tokenType:n,fontStyle:i,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),o=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),n=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:o.tokens,tokens2:n.tokens,endState:o.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),o=1;o<e;o++){t=this._tokenizationSupport.tokenize(this._model.getLineContent(o),t,0).endState}return t},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return{position:this._editor.getPosition(),preference:[l.a.BELOW,l.a.ABOVE]}},t._ID="editor.contrib.inspectTokensWidget",t}(r.a);Object(a.h)(v),Object(a.f)(b),Object(p.e)((function(e,t){var o=e.getColor(f.w);if(o){var n=e.type===p.b?2:1;t.addRule(".monaco-editor .tokens-inspect-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: "+o+"; }")}var i=e.getColor(f.v);i&&t.addRule(".monaco-editor .tokens-inspect-widget { background-color: "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"IPadShowKeyboard",(function(){return l}));o(479);var n=o(6),i=o(24),r=o(1),s=o(16),a=o(3),l=function(){function e(e){var t=this;this.editor=e,this.toDispose=[],i.l&&(this.toDispose.push(e.onDidChangeConfiguration((function(){return t.update()}))),this.update())}return e.prototype.update=function(){var e=!!this.widget,t=!this.editor.getConfiguration().readOnly;!e&&t?this.widget=new u(this.editor):e&&!t&&(this.widget.dispose(),this.widget=null)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toDispose=Object(n.d)(this.toDispose),this.widget&&(this.widget.dispose(),this.widget=null)},e.ID="editor.contrib.iPadShowKeyboard",e}(),u=function(){function e(e){var t=this;this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._toDispose=[],this._toDispose.push(r.g(this._domNode,"touchstart",(function(e){t.editor.focus()}))),this._toDispose.push(r.g(this._domNode,"focus",(function(e){t.editor.focus()}))),this.editor.addOverlayWidget(this)}return e.prototype.dispose=function(){this.editor.removeOverlayWidget(this),this._toDispose=Object(n.d)(this._toDispose)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{preference:s.c.BOTTOM_RIGHT_CORNER}},e.ID="editor.contrib.ShowKeyboardWidget",e}();Object(a.h)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"InsertCursorAbove",(function(){return C})),o.d(t,"InsertCursorBelow",(function(){return S})),o.d(t,"MultiCursorSessionResult",(function(){return w})),o.d(t,"MultiCursorSession",(function(){return k})),o.d(t,"MultiCursorSelectionController",(function(){return O})),o.d(t,"MultiCursorSelectionControllerAction",(function(){return R})),o.d(t,"AddSelectionToNextFindMatchAction",(function(){return L})),o.d(t,"AddSelectionToPreviousFindMatchAction",(function(){return N})),o.d(t,"MoveSelectionToNextFindMatchAction",(function(){return I})),o.d(t,"MoveSelectionToPreviousFindMatchAction",(function(){return D})),o.d(t,"SelectHighlightsAction",(function(){return A})),o.d(t,"CompatChangeAll",(function(){return P})),o.d(t,"SelectionHighlighter",(function(){return M}));var n,i=o(0),r=o(6),s=o(39),a=o(17),l=o(18),u=o(5),c=o(3),h=o(2),d=o(23),g=o(35),p=o(67),f=o(11),m=o(141),_=o(26),y=o(7),v=o(19),b=o(38),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:i.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return E(t,e),t.prototype.run=function(e,t,o){var n=o&&!0===o.logicalLine,i=t._getCursors(),r=i.context;r.config.readOnly||(r.model.pushStackElement(),i.setStates(o.source,g.a.Explicit,p.b.addCursorUp(r,i.getAll(),n)),i.reveal(!0,1,0))},t}(c.b),S=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:i.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return E(t,e),t.prototype.run=function(e,t,o){var n=o&&!0===o.logicalLine,i=t._getCursors(),r=i.context;r.config.readOnly||(r.model.pushStackElement(),i.setStates(o.source,g.a.Explicit,p.b.addCursorDown(r,i.getAll(),n)),i.reveal(!0,2,0))},t}(c.b),T=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:i.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return E(t,e),t.prototype.getCursorsForSelection=function(e,t,o){if(!e.isEmpty()){for(var n=e.startLineNumber;n<e.endLineNumber;n++){var i=t.getLineMaxColumn(n);o.push(new d.a(n,i,n,i))}e.endColumn>1&&o.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var o=this,n=t.getModel(),i=t.getSelections(),r=[];i.forEach((function(e){return o.getCursorsForSelection(e,n,r)})),r.length>0&&t.setSelections(r)},t}(c.b),w=function(e,t,o){this.selections=e,this.revealRange=t,this.revealScrollType=o},k=function(){function e(e,t,o,n,i,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=o,this.searchText=n,this.wholeWord=i,this.matchCase=r,this.currentMatch=s}return e.create=function(t,o){var n=o.getState();if(!t.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new e(t,o,!1,n.searchString,n.wholeWord,n.matchCase,null);var i,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,i=!0,r=!0):(i=n.wholeWord,r=n.matchCase);var l,u=t.getSelection(),c=null;if(u.isEmpty()){var h=t.getModel().getWordAtPosition(u.getStartPosition());if(!h)return null;l=h.word,c=new d.a(u.startLineNumber,h.startColumn,u.startLineNumber,h.endColumn)}else l=t.getModel().getValueInRange(u).replace(/\r\n/g,"\n");return new e(t,o,s,l,i,r,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findNextMatch(this.searchText,o.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,o.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),O=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._ignoreSelectionChange=!1,o._session=null,o._sessionDispose=[],o}return E(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var o=k.create(this._editor,e);if(!o)return;this._session=o;var n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection((function(e){t._ignoreSelectionChange||t._endSession()})),this._editor.onDidBlurEditorText((function(){t._endSession()})),e.getState().onFindReplaceStateChange((function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))]}},t.prototype._endSession=function(){if(this._sessionDispose=Object(r.d)(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var o=e.getWordAtPosition(t.getStartPosition());return o?new d.a(t.startLineNumber,o.startColumn,t.startLineNumber,o.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var o=e.getState().matchCase;if(!B(this._editor.getModel(),t,o)){for(var n=this._editor.getModel(),i=[],r=0,s=t.length;r<s;r++)i[r]=this._expandEmptyToWord(n,t[r]);return void this._editor.setSelections(i)}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())},t.prototype.addSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())},t.prototype.moveSelectionToNextFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())},t.prototype.moveSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())},t.prototype.selectAll=function(e){var t=null,o=e.getState();if(o.isRevealed&&o.searchString.length>0&&o.isRegex)t=this._editor.getModel().findMatches(o.searchString,!0,o.isRegex,o.matchCase,o.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var n=this._editor.getSelection(),i=0,r=t.length;i<r;i++){var s=t[i];if(s.range.intersectRanges(n)){t[i]=t[0],t[0]=s;break}}this._setSelections(t.map((function(e){return new d.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)})))}},t.ID="editor.contrib.multiCursorController",t}(r.a),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype.run=function(e,t){var o=O.get(t);if(o){var n=m.CommonFindController.get(t);if(!n)return null;this._run(o,n)}},t}(c.b),L=function(e){function t(){return e.call(this,{id:"editor.action.addSelectionToNextFindMatch",label:i.a("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:2082,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})||this}return E(t,e),t.prototype._run=function(e,t){e.addSelectionToNextFindMatch(t)},t}(R),N=function(e){function t(){return e.call(this,{id:"editor.action.addSelectionToPreviousFindMatch",label:i.a("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:null,menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})||this}return E(t,e),t.prototype._run=function(e,t){e.addSelectionToPreviousFindMatch(t)},t}(R),I=function(e){function t(){return e.call(this,{id:"editor.action.moveSelectionToNextFindMatch",label:i.a("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:Object(s.a)(2089,2082),weight:100}})||this}return E(t,e),t.prototype._run=function(e,t){e.moveSelectionToNextFindMatch(t)},t}(R),D=function(e){function t(){return e.call(this,{id:"editor.action.moveSelectionToPreviousFindMatch",label:i.a("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:null})||this}return E(t,e),t.prototype._run=function(e,t){e.moveSelectionToPreviousFindMatch(t)},t}(R),A=function(e){function t(){return e.call(this,{id:"editor.action.selectHighlights",label:i.a("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:3114,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})||this}return E(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(R),P=function(e){function t(){return e.call(this,{id:"editor.action.changeAll",label:i.a("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:u.a.writable,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2108,weight:100},menuOpts:{group:"1_modification",order:1.2}})||this}return E(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(R),x=function(){function e(e,t,o,n){this.lastWordUnderCursor=e,this.searchText=t,this.matchCase=o,this.wordSeparators=n}return e.softEquals=function(e,t){return!e&&!t||!(!e||!t)&&(e.searchText===t.searchText&&e.matchCase===t.matchCase&&e.wordSeparators===t.wordSeparators)},e}(),M=function(e){function t(t){var o=e.call(this)||this;return o.editor=t,o._isEnabled=t.getConfiguration().contribInfo.selectionHighlight,o.decorations=[],o.updateSoon=o._register(new a.c((function(){return o._update()}),300)),o.state=null,o._register(t.onDidChangeConfiguration((function(e){o._isEnabled=t.getConfiguration().contribInfo.selectionHighlight}))),o._register(t.onDidChangeCursorSelection((function(e){o._isEnabled&&(e.selection.isEmpty()?e.reason===g.a.Explicit?(!o.state||o.state.lastWordUnderCursor&&o.state.lastWordUnderCursor.containsPosition(e.selection.getStartPosition())||o._setState(null),o.updateSoon.schedule()):o._setState(null):o._update())}))),o._register(t.onDidChangeModel((function(e){o._setState(null)}))),o._register(m.CommonFindController.get(t).getState().onFindReplaceStateChange((function(e){o._update()}))),o}return E(t,e),t.prototype.getId=function(){return t.ID},t.prototype._update=function(){this._setState(t._createState(this._isEnabled,this.editor))},t._createState=function(e,t){if(!e)return null;var o=t.getModel();if(!o)return null;var n=t.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;var i=O.get(t);if(!i)return null;var r=m.CommonFindController.get(t);if(!r)return null;var s=i.getSession(r);if(!s){var a=t.getSelections();if(a.length>1){var l=r.getState().matchCase;if(!B(t.getModel(),a,l))return null}s=k.create(t,r)}if(!s)return null;var u=null,c=f.h.has(o);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;u=s.currentMatch}if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var h=r.getState(),d=h.matchCase;if(h.isRevealed){var g=h.searchString;d||(g=g.toLowerCase());var p=s.searchText;if(d||(p=p.toLowerCase()),g===p&&s.matchCase===h.matchCase&&s.wholeWord===h.wholeWord&&!h.isRegex)return null}return new x(u,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(x.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var o=this.editor.getModel();if(!o.isTooLargeForTokenization()){var n=f.h.has(o),i=o.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map((function(e){return e.range}));i.sort(h.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(h.a.compareRangesUsingStarts);for(var s=[],a=0,l=0,u=i.length,c=r.length;a<u;){var d=i[a];if(l>=c)s.push(d),a++;else{var g=h.a.compareRangesUsingStarts(d,r[l]);g<0?(!r[l].isEmpty()&&h.a.areIntersecting(d,r[l])||s.push(d),a++):g>0?l++:(a++,l++)}}var p=s.map((function(e){return{range:e,options:n?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}}));this.decorations=this.editor.deltaDecorations(this.decorations,p)}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(v.f)(y.gb),darkColor:Object(v.f)(y.gb),position:l.f.Center}}),t._SELECTION_HIGHLIGHT=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t}(r.a);function B(e,t,o){for(var n=F(e,t[0],!o),i=1,r=t.length;i<r;i++){var s=t[i];if(s.isEmpty())return!1;if(n!==F(e,s,!o))return!1}return!0}function F(e,t,o){var n=e.getValueInRange(t);return o?n.toLowerCase():n}Object(c.h)(O),Object(c.h)(M),Object(c.f)(C),Object(c.f)(S),Object(c.f)(T),Object(c.f)(L),Object(c.f)(N),Object(c.f)(I),Object(c.f)(D),Object(c.f)(A),Object(c.f)(P)},function(e,t,o){"use strict";o.r(t),o.d(t,"EditorActionCommandEntry",(function(){return m})),o.d(t,"QuickCommandAction",(function(){return _}));var n,i=o(0),r=o(13),s=o(111),a=o(10),l=o(124),u=o(97),c=o(61),h=o(5),d=o(161),g=o(3),p=o(24),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r.key=t,r.setHighlights(o),r.action=n,r.editor=i,r}return f(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getAriaLabel=function(){return i.a("ariaLabelEntry","{0}, commands",this.getLabel())},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var o=this;return e===u.a.OPEN&&(a.b.timeout(50).done((function(){o.editor.focus();try{(o.action.run()||a.b.as(null)).done(null,r.e)}catch(e){Object(r.e)(e)}}),r.e),!0)},t}(l.b),_=function(e){function t(){return e.call(this,i.a("quickCommandActionInput","Type the name of an action you want to execute"),{id:"editor.action.quickCommand",label:i.a("QuickCommandAction.label","Command Palette"),alias:"Command Palette",precondition:null,kbOpts:{kbExpr:h.a.focus,primary:p.k?571:59,weight:100},menuOpts:{group:"z_commands",order:1}})||this}return f(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(c.a);this._show(this.getController(t),{getModel:function(e){return new l.c(o._editorActionsToEntries(n,t,e))},getAutoFocus:function(e){return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:e}}})},t.prototype._sort=function(e,t){var o=e.getLabel().toLowerCase(),n=t.getLabel().toLowerCase();return o.localeCompare(n)},t.prototype._editorActionsToEntries=function(e,t,o){for(var n=t.getSupportedActions(),i=[],r=0;r<n.length;r++){var a=n[r],l=e.lookupKeybinding(a.id);if(a.label){var u=Object(s.e)(o,a.label);u&&i.push(new m(l?l.getLabel():"",u,a,t))}}return i=i.sort(this._sort)},t}(d.a);Object(g.f)(_)},function(e,t,o){"use strict";o.r(t),o.d(t,"defaultReferenceSearchOptions",(function(){return L})),o.d(t,"ReferenceController",(function(){return N})),o.d(t,"ReferenceAction",(function(){return I})),o.d(t,"provideReferences",(function(){return P}));var n,i=o(0),r=o(10),s=o(12),a=o(84),l=o(9),u=o(3),c=o(11),h=o(2),d=o(113),g=o(99),p=o(56),f=o(17),m=o(13),_=o(5),y=o(157),v=o(16),b=o(134),E=o(211),C=o(37),S=o(33),T=o(36),w=o(48),k=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),O=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},R=function(e,t){return function(o,n){t(o,n,e)}},L={getMetaTitle:function(e){return e.references.length>1&&i.a("meta.titleReference"," – {0} references",e.references.length)}},N=function(){function e(e,t){e instanceof y.a&&d.a.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=O([R(1,s.e)],e)}(),I=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:i.a("references.action.label","Find All References"),alias:"Find All References",precondition:s.d.and(_.a.hasReferenceProvider,d.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return k(t,e),t.prototype.run=function(e,t){var o=g.a.get(t);if(o){var n=t.getSelection(),i=t.getModel(),r=Object(f.i)((function(e){return P(i,n.getStartPosition(),e).then((function(e){return new p.c(e)}))}));o.toggleWidget(n,r,L)}},t}(u.b);Object(u.h)(N),Object(u.f)(I);function D(e,t){A(e,(function(e){return e.closeWidget()}))}function A(e,t){var o=Object(d.c)(e);if(o){var n=g.a.get(o);n&&t(n)}}function P(e,t,o){var n=c.r.ordered(e).map((function(o){return Object(f.h)((function(n){return o.provideReferences(e,t,{includeDeclaration:!0},n)})).then((function(e){if(Array.isArray(e))return e}),(function(e){Object(m.f)(e)}))}));return Promise.all(n).then((function(e){for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o];i&&t.push.apply(t,i)}return t}))}C.a.registerCommand({id:"editor.action.findReferences",handler:function(e,t,o){if(!(t instanceof S.a))throw new Error("illegal argument, uri");if(!o)throw new Error("illegal argument, position");var n=e.get(T.a);return n.openCodeEditor({resource:t},n.getFocusedCodeEditor()).then((function(e){if(Object(v.d)(e)){var t=g.a.get(e);if(t){var n=Object(f.i)((function(t){return P(e.getModel(),l.a.lift(o),t).then((function(e){return new p.c(e)}))})),i=new h.a(o.lineNumber,o.column,o.lineNumber,o.column);return r.b.as(t.toggleWidget(i,n,L))}}}))}}),C.a.registerCommand({id:"editor.action.showReferences",handler:function(e,t,o,n){if(!(t instanceof S.a))throw new Error("illegal argument, uri expected");var i=e.get(T.a);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then((function(e){if(Object(v.d)(e)){var t=g.a.get(e);if(t)return r.b.as(t.toggleWidget(new h.a(o.lineNumber,o.column,o.lineNumber,o.column),Object(f.i)((function(e){return Promise.resolve(new p.c(n))})),L)).then((function(){return!0}))}}))},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:S.a},{name:"position",description:"The position at which to show",constraint:l.a.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),a.a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,when:g.b,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,when:d.a.inPeekEditor,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,when:g.b,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,when:d.a.inPeekEditor,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),a.a.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:s.d.and(g.b,s.d.not("config.editor.stablePeek")),handler:D}),a.a.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:s.d.and(d.a.inPeekEditor,s.d.not("config.editor.stablePeek")),handler:D}),a.a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:s.d.and(g.b,E.b),handler:function(e,t){var o=e.get(b.a),n=o.lastFocusedList&&o.lastFocusedList.getFocus();n instanceof p.b&&A(e,(function(e){return e.openReference(n,!0)}))}}),Object(u.e)("_executeReferenceProvider",(function(e,t){return P(e,t,w.a.None)}))},function(e,t,o){"use strict";o.r(t),o.d(t,"StandaloneReferencesController",(function(){return f}));var n,i=o(36),r=o(22),s=o(12),a=o(49),l=o(55),u=o(3),c=o(45),h=o(99),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a){return e.call(this,!0,t,o,n,i,r,s,a)||this}return d(t,e),t=g([p(1,s.e),p(2,i.a),p(3,c.a),p(4,r.a),p(5,l.a),p(6,a.b)],t)}(h.a);Object(u.h)(f)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(103),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:i.a("toggleHighContrast","Toggle High Contrast Theme"),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var o=e.get(s.a);this._originalThemeName?(o.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=o.getTheme().themeName,o.setTheme("hc-black"))},t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(8),s=o(2),a=o(9),l=o(5),u=o(3),c=o(43),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:i.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:l.a.writable,kbOpts:{kbExpr:l.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return h(t,e),t.prototype.positionLeftOf=function(e,t){var o=e.column,n=e.lineNumber;return o>t.getLineMinColumn(n)?Object(r.isLowSurrogate)(t.getLineContent(n).charCodeAt(o-2))?o-=2:o-=1:n>1&&(n-=1,o=t.getLineMaxColumn(n)),new a.a(n,o)},t.prototype.positionRightOf=function(e,t){var o=e.column,n=e.lineNumber;return o<t.getLineMaxColumn(n)?Object(r.isHighSurrogate)(t.getLineContent(n).charCodeAt(o-1))?o+=2:o+=1:n<t.getLineCount()&&(n+=1,o=0),new a.a(n,o)},t.prototype.run=function(e,t){for(var o=t.getModel(),n=[],i=0,r=t.getSelections();i<r.length;i++){var a=r[i];if(a.isEmpty()){var l=a.startLineNumber,u=a.startColumn,h=o.getLineMaxColumn(l);if(1!==l||1!==u&&(2!==u||2!==h)){var d=u===h?a.getPosition():this.positionRightOf(a.getPosition(),o),g=this.positionLeftOf(d,o),p=this.positionLeftOf(g,o),f=o.getValueInRange(s.a.fromPositions(p,g)),m=o.getValueInRange(s.a.fromPositions(g,d)),_=s.a.fromPositions(p,d);n.push(new c.a(_,m+f))}}}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())},t}(u.b);Object(u.f)(d)},function(e,t,o){"use strict";o.r(t),o.d(t,"editorWordHighlight",(function(){return S})),o.d(t,"editorWordHighlightStrong",(function(){return T})),o.d(t,"editorWordHighlightBorder",(function(){return w})),o.d(t,"editorWordHighlightStrongBorder",(function(){return k})),o.d(t,"overviewRulerWordHighlightForeground",(function(){return O})),o.d(t,"overviewRulerWordHighlightStrongForeground",(function(){return R})),o.d(t,"ctxHasWordHighlights",(function(){return L})),o.d(t,"getOccurrencesAtPosition",(function(){return N}));var n,i=o(0),r=o(17),s=o(13),a=o(2),l=o(3),u=o(11),c=o(6),h=o(7),d=o(19),g=o(35),p=o(26),f=o(12),m=o(5),_=o(25),y=o(18),v=o(48),b=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(h.kb)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},i.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations."),!0),T=Object(h.kb)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},i.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations."),!0),w=Object(h.kb)("editor.wordHighlightBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),k=Object(h.kb)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(h.kb)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},i.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),R=Object(h.kb)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},i.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),L=new f.f("hasWordHighlights",!1);function N(e,t,o){var n=u.h.ordered(e);return Object(r.k)(n.map((function(n){return function(){return Promise.resolve(n.provideDocumentHighlights(e,t,o)).then(void 0,s.f)}})),(function(e){return!Object(_.k)(e)}))}Object(l.e)("_executeDocumentHighlights",(function(e,t){return N(e,t,v.a.None)}));var I=function(){function e(e,t){var o=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=L.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition((function(e){o._ignorePositionChangeEvent||o.occurrencesHighlight&&o._onPositionChanged(e)}))),this.toUnhook.push(e.onDidChangeModel((function(e){o._stopAll(),o.model=o.editor.getModel()}))),this.toUnhook.push(e.onDidChangeModelContent((function(e){o._stopAll()}))),this.toUnhook.push(e.onDidChangeConfiguration((function(e){var t=o.editor.getConfiguration().contribInfo.occurrencesHighlight;o.occurrencesHighlight!==t&&(o.occurrencesHighlight=t,o._stopAll())}))),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map((function(t){return e.model.getDecorationRange(t)})).sort(a.a.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&e.reason===g.a.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(u.h.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var o=t.startLineNumber,n=t.startColumn,i=t.endColumn,l=this.model.getWordAtPosition({lineNumber:o,column:n});if(!l||l.startColumn>n||l.endColumn<i)this._stopAll();else{for(var c=new a.a(o,l.startColumn,o,l.endColumn),h=this._lastWordRange&&this._lastWordRange.equalsRange(c),d=0,g=this._decorationIds.length;!h&&d<g;d++){var p=this.model.getDecorationRange(this._decorationIds[d]);p&&p.startLineNumber===o&&p.startColumn<=n&&p.endColumn>=i&&(h=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),h)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var f=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=Object(r.i)((function(t){return N(e.model,e.editor.getPosition(),t)})),this.workerRequest.then((function(t){f===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}),s.e)}this._lastWordRange=c}}else this._stopAll()}else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),o=this.lastCursorPositionChangeTime+250;t>=o?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((function(){e.renderDecorations()}),o-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],o=0,n=this.workerRequestValue.length;o<n;o++){var i=this.workerRequestValue[o];t.push({range:i.range,options:e._getDecorationOptions(i.kind)})}this._decorationIds=this.editor.deltaDecorations(this._decorationIds,t),this._hasWordHighlights.set(this.hasDecorations())},e._getDecorationOptions=function(e){return e===u.g.Write?this._WRITE_OPTIONS:e===u.g.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS},e.prototype.dispose=function(){this._stopAll(),this.toUnhook=Object(c.d)(this.toUnhook)},e._WRITE_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"wordHighlightStrong",overviewRuler:{color:Object(d.f)(R),darkColor:Object(d.f)(R),position:y.f.Center}}),e._TEXT_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(d.f)(h.gb),darkColor:Object(d.f)(h.gb),position:y.f.Center}}),e._REGULAR_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"wordHighlight",overviewRuler:{color:Object(d.f)(O),darkColor:Object(d.f)(O),position:y.f.Center}}),e}(),D=function(){function e(e,t){this.wordHighligher=new I(e,t)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.saveViewState=function(){return!!this.wordHighligher.hasDecorations()},e.prototype.moveNext=function(){this.wordHighligher.moveNext()},e.prototype.moveBack=function(){this.wordHighligher.moveBack()},e.prototype.restoreViewState=function(e){e&&this.wordHighligher.restore()},e.prototype.dispose=function(){this.wordHighligher.dispose()},e.ID="editor.contrib.wordHighlighter",e=E([C(1,f.e)],e)}(),A=function(e){function t(t,o){var n=e.call(this,o)||this;return n._isNext=t,n}return b(t,e),t.prototype.run=function(e,t){var o=D.get(t);o&&(this._isNext?o.moveNext():o.moveBack())},t}(l.b),P=function(e){function t(){return e.call(this,!0,{id:"editor.action.wordHighlight.next",label:i.a("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:L,kbOpts:{kbExpr:m.a.editorTextFocus,primary:65,weight:100}})||this}return b(t,e),t}(A),x=function(e){function t(){return e.call(this,!1,{id:"editor.action.wordHighlight.prev",label:i.a("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:L,kbOpts:{kbExpr:m.a.editorTextFocus,primary:1089,weight:100}})||this}return b(t,e),t}(A);Object(l.h)(D),Object(l.f)(P),Object(l.f)(x),Object(d.e)((function(e,t){var o=e.getColor(h.B);o&&(t.addRule(".monaco-editor .focused .selectionHighlight { background-color: "+o+"; }"),t.addRule(".monaco-editor .selectionHighlight { background-color: "+o.transparent(.5)+"; }"));var n=e.getColor(S);n&&t.addRule(".monaco-editor .wordHighlight { background-color: "+n+"; }");var i=e.getColor(T);i&&t.addRule(".monaco-editor .wordHighlightStrong { background-color: "+i+"; }");var r=e.getColor(h.C);r&&t.addRule(".monaco-editor .selectionHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+r+"; box-sizing: border-box; }");var s=e.getColor(w);s&&t.addRule(".monaco-editor .wordHighlight { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+s+"; box-sizing: border-box; }");var a=e.getColor(k);a&&t.addRule(".monaco-editor .wordHighlightStrong { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+a+"; box-sizing: border-box; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"DeleteWordPartLeft",(function(){return h})),o.d(t,"DeleteWordPartRight",(function(){return d})),o.d(t,"WordPartLeftCommand",(function(){return g})),o.d(t,"CursorWordPartLeft",(function(){return p})),o.d(t,"CursorWordPartLeftSelect",(function(){return f})),o.d(t,"WordPartRightCommand",(function(){return m})),o.d(t,"CursorWordPartRight",(function(){return _})),o.d(t,"CursorWordPartRightSelect",(function(){return y}));var n,i=o(5),r=o(3),s=o(2),a=o(107),l=o(130),u=o(37),c=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,o,n,i){var r=a.b.deleteWordPartLeft(e,t,o,n,i);return r||new s.a(1,1,1,1)},t}(l.DeleteWordCommand),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:"deleteWordPartRight",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,o,n,i){var r=a.b.deleteWordPartRight(e,t,o,n,i);if(r)return r;var l=t.getLineCount(),u=t.getLineMaxColumn(l);return new s.a(l,u,l,u)},t}(l.DeleteWordCommand),g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,o,n){return a.b.moveWordPartLeft(e,t,o,n)},t}(l.MoveWordCommand),p=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return c(t,e),t}(g);u.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var f=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return c(t,e),t}(g);u.a.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,o,n){return a.b.moveWordPartRight(e,t,o,n)},t}(l.MoveWordCommand),_=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordPartRight",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return c(t,e),t}(m),y=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordPartRightSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return c(t,e),t}(m);Object(r.g)(new h),Object(r.g)(new d),Object(r.g)(new p),Object(r.g)(new f),Object(r.g)(new _),Object(r.g)(new y)},function(e,t,o){"use strict";o.r(t),o.d(t,"LanguageServiceDefaultsImpl",(function(){return i}));o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"diagnosticsOptions",{get:function(){return this._diagnosticsOptions},enumerable:!0,configurable:!0}),e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e}(),r=new i("json",{validate:!0,allowComments:!0,schemas:[]});monaco.languages.json={jsonDefaults:r},monaco.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc"],aliases:["JSON","json"],mimetypes:["application/json"]}),monaco.languages.onLanguage("json",(function(){monaco.Promise.wrap(o.e(52).then(o.bind(null,553))).then((function(e){return e.setupMode(r)}))}))},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function r(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});var s=o(169),a=o(301);t.RequestType=a.RequestType,t.RequestType0=a.RequestType0,t.RequestType1=a.RequestType1,t.RequestType2=a.RequestType2,t.RequestType3=a.RequestType3,t.RequestType4=a.RequestType4,t.RequestType5=a.RequestType5,t.RequestType6=a.RequestType6,t.RequestType7=a.RequestType7,t.RequestType8=a.RequestType8,t.RequestType9=a.RequestType9,t.ResponseError=a.ResponseError,t.ErrorCodes=a.ErrorCodes,t.NotificationType=a.NotificationType,t.NotificationType0=a.NotificationType0,t.NotificationType1=a.NotificationType1,t.NotificationType2=a.NotificationType2,t.NotificationType3=a.NotificationType3,t.NotificationType4=a.NotificationType4,t.NotificationType5=a.NotificationType5,t.NotificationType6=a.NotificationType6,t.NotificationType7=a.NotificationType7,t.NotificationType8=a.NotificationType8,t.NotificationType9=a.NotificationType9;var l=o(183);t.MessageReader=l.MessageReader,t.StreamMessageReader=l.StreamMessageReader,t.IPCMessageReader=l.IPCMessageReader,t.SocketMessageReader=l.SocketMessageReader;var u=o(184);t.MessageWriter=u.MessageWriter,t.StreamMessageWriter=u.StreamMessageWriter,t.IPCMessageWriter=u.IPCMessageWriter,t.SocketMessageWriter=u.SocketMessageWriter;var c=o(170);t.Disposable=c.Disposable,t.Event=c.Event,t.Emitter=c.Emitter;var h=o(497);t.CancellationTokenSource=h.CancellationTokenSource,t.CancellationToken=h.CancellationToken;var d,g,p,f,m,_=o(498);r(o(499)),r(o(500)),function(e){e.type=new a.NotificationType("$/cancelRequest")}(d||(d={})),t.NullLogger=Object.freeze({error:function(){},warn:function(){},info:function(){},log:function(){}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(g=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(g=t.Trace||(t.Trace={})),function(e){e.type=new a.NotificationType("$/setTraceNotification")}(p=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new a.NotificationType("$/logTraceNotification")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));var y,v=function(e){function t(o,n){var i=e.call(this,n)||this;return i.code=o,Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t}(Error);function b(t,o,n,i){var r,l,u=0,b=0,E=0,C="2.0",S=void 0,T=Object.create(null),w=void 0,k=Object.create(null),O=new _.LinkedMap,R=Object.create(null),L=Object.create(null),N=g.Off,I=y.New,D=new c.Emitter,A=new c.Emitter,P=new c.Emitter,x=new c.Emitter;function M(e){return"req-"+e.toString()}function B(e,t){var o;a.isRequestMessage(t)?e.set(M(t.id),t):a.isResponseMessage(t)?e.set(null===(o=t.id)?"res-unknown-"+(++E).toString():"res-"+o.toString(),t):e.set("not-"+(++b).toString(),t)}function F(e){}function H(){return I===y.Listening}function U(){return I===y.Closed}function V(){return I===y.Disposed}function W(){I!==y.New&&I!==y.Listening||(I=y.Closed,A.fire(void 0))}function j(){r||0===O.size||(r=e((function(){r=void 0,function(){if(0===O.size)return;var e=O.shift();try{a.isRequestMessage(e)?function(e){if(V())return;function t(t,n,i){var r={jsonrpc:C,id:e.id};t instanceof a.ResponseError?r.error=t.toJson():r.result=void 0===t?null:t,Y(r,n,i),o.write(r)}function n(t,n,i){var r={jsonrpc:C,id:e.id,error:t.toJson()};Y(r,n,i),o.write(r)}!function(e){if(N===g.Off||!l)return;var t=void 0;N===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n");l.log("Received request '"+e.method+" - ("+e.id+")'.",t)}(e);var i,r,u=T[e.method];u&&(i=u.type,r=u.handler);var c=Date.now();if(r||S){var d=new h.CancellationTokenSource,p=String(e.id);L[p]=d;try{var f=void 0,m=f=void 0===e.params||void 0!==i&&0===i.numberOfParams?r?r(d.token):S(e.method,d.token):s.array(e.params)&&(void 0===i||i.numberOfParams>1)?r?r.apply(void 0,e.params.concat([d.token])):S.apply(void 0,[e.method].concat(e.params,[d.token])):r?r(e.params,d.token):S(e.method,e.params,d.token);f?m.then?m.then((function(o){delete L[p],t(o,e.method,c)}),(function(t){delete L[p],t instanceof a.ResponseError?n(t,e.method,c):t&&s.string(t.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+t.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)})):(delete L[p],t(f,e.method,c)):(delete L[p],function(t,n,i){void 0===t&&(t=null);var r={jsonrpc:C,id:e.id,result:t};Y(r,n,i),o.write(r)}(f,e.method,c))}catch(o){delete L[p],o instanceof a.ResponseError?t(o,e.method,c):o&&s.string(o.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+o.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)}}else n(new a.ResponseError(a.ErrorCodes.MethodNotFound,"Unhandled method "+e.method),e.method,c)}(e):a.isNotificationMessage(e)?function(e){if(V())return;var t,o=void 0;if(e.method===d.type.method)t=function(e){var t=e.id,o=L[String(t)];o&&o.cancel()};else{var i=k[e.method];i&&(t=i.handler,o=i.type)}if(t||w)try{!function(e){if(N===g.Off||!l||e.method===f.type.method)return;var t=void 0;N===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n");l.log("Received notification '"+e.method+"'.",t)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():w(e.method):s.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t.apply(void 0,e.params):w.apply(void 0,[e.method].concat(e.params)):t?t(e.params):w(e.method,e.params)}catch(t){t.message?n.error("Notification handler '"+e.method+"' failed with message: "+t.message):n.error("Notification handler '"+e.method+"' failed unexpectedly.")}else P.fire(e)}(e):a.isResponseMessage(e)?function(e){if(V())return;if(null===e.id)e.error?n.error("Received response message without id: Error is: \n"+JSON.stringify(e.error,void 0,4)):n.error("Received response message without id. No further error information provided.");else{var t=String(e.id),o=R[t];if(function(e,t){if(N===g.Off||!l)return;var o=void 0;N===g.Verbose&&(e.error&&e.error.data?o="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?o="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(o="No result returned.\n\n"));if(t){var n=e.error?" Request failed: "+e.error.message+" ("+e.error.code+").":"";l.log("Received response '"+t.method+" - ("+e.id+")' in "+(Date.now()-t.timerStart)+"ms."+n,o)}else l.log("Received response "+e.id+" without active response promise.",o)}(e,o),o){delete R[t];try{if(e.error){var i=e.error;o.reject(new a.ResponseError(i.code,i.message,i.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(i){i.message?n.error("Response handler '"+o.method+"' failed with message: "+i.message):n.error("Response handler '"+o.method+"' failed unexpectedly.")}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error("Received message which is neither a response nor a notification message:\n"+JSON.stringify(e,null,4));var t=e;if(s.string(t.id)||s.number(t.id)){var o=String(t.id),i=R[o];i&&i.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{j()}}()})))}t.onClose(W),t.onError((function(e){D.fire([e,void 0,void 0])})),o.onClose(W),o.onError((function(e){D.fire(e)}));var G=function(e){try{if(a.isNotificationMessage(e)&&e.method===d.type.method){var t=M(e.params.id),n=O.get(t);if(a.isRequestMessage(n)){var r=i&&i.cancelUndispatched?i.cancelUndispatched(n,F):void 0;if(r&&(void 0!==r.error||void 0!==r.result))return O.delete(t),r.id=n.id,Y(r,e.method,Date.now()),void o.write(r)}}B(O,e)}finally{j()}};function z(e){if(N!==g.Off&&l){var t=void 0;N===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n"),l.log("Sending request '"+e.method+" - ("+e.id+")'.",t)}}function K(e){if(N!==g.Off&&l){var t=void 0;N===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n"),l.log("Sending notification '"+e.method+"'.",t)}}function Y(e,t,o){if(N!==g.Off&&l){var n=void 0;N===g.Verbose&&(e.error&&e.error.data?n="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?n="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(n="No result returned.\n\n")),l.log("Sending response '"+t+" - ("+e.id+")'. Processing request took "+(Date.now()-o)+"ms",n)}}function X(){if(U())throw new v(m.Closed,"Connection is closed.");if(V())throw new v(m.Disposed,"Connection is disposed.")}function q(){if(!H())throw new Error("Call listen() first.")}function $(e){return void 0===e?null:e}function J(e,t){var o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(var i=0;i<t.length&&i<n;i++)o.push($(t[i]));if(t.length<n)for(i=t.length;i<n;i++)o.push(null)}return o}var Z={sendNotification:function(e){for(var t,n,i=[],r=1;r<arguments.length;r++)i[r-1]=arguments[r];if(X(),s.string(e))switch(t=e,i.length){case 0:n=null;break;case 1:n=i[0];break;default:n=i}else t=e.method,n=J(e,i);var a={jsonrpc:C,method:t,params:n};K(a),o.write(a)},onNotification:function(e,t){X(),s.func(e)?w=e:t&&(s.string(e)?k[e]={type:void 0,handler:t}:k[e.method]={type:e,handler:t})},sendRequest:function(e){for(var t,n,i=[],r=1;r<arguments.length;r++)i[r-1]=arguments[r];X(),q();var l=void 0;if(s.string(e))switch(t=e,i.length){case 0:n=null;break;case 1:h.CancellationToken.is(i[0])?(n=null,l=i[0]):n=$(i[0]);break;default:var c=i.length-1;h.CancellationToken.is(i[c])?(l=i[c],n=2===i.length?$(i[0]):i.slice(0,c).map((function(e){return $(e)}))):n=i.map((function(e){return $(e)}))}else{t=e.method,n=J(e,i);var g=e.numberOfParams;l=h.CancellationToken.is(i[g])?i[g]:void 0}var p=u++,f=new Promise((function(e,i){var r={jsonrpc:C,id:p,method:t,params:n},s={method:t,timerStart:Date.now(),resolve:e,reject:i};z(r);try{o.write(r)}catch(e){s.reject(new a.ResponseError(a.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),s=null}s&&(R[String(p)]=s)}));return l&&l.onCancellationRequested((function(){Z.sendNotification(d.type,{id:p})})),f},onRequest:function(e,t){X(),s.func(e)?S=e:t&&(s.string(e)?T[e]={type:void 0,handler:t}:T[e.method]={type:e,handler:t})},trace:function(e,t,o){void 0===o&&(o=!1),l=(N=e)===g.Off?void 0:t,!o||U()||V()||Z.sendNotification(p.type,{value:g.toString(e)})},onError:D.event,onClose:A.event,onUnhandledNotification:P.event,onDispose:x.event,dispose:function(){if(!V()){I=y.Disposed,x.fire(void 0);var e=new Error("Connection got disposed.");Object.keys(R).forEach((function(t){R[t].reject(e)})),R=Object.create(null),L=Object.create(null),O=new _.LinkedMap,s.func(o.dispose)&&o.dispose(),s.func(t.dispose)&&t.dispose()}},listen:function(){X(),function(){if(H())throw new v(m.AlreadyListening,"Connection is already listening")}(),I=y.Listening,t.listen(G)},inspect:function(){console.log("inspect")}};return Z.onNotification(f.type,(function(e){N!==g.Off&&l&&l.log(e.message,N===g.Verbose?e.verbose:void 0)})),Z}t.ConnectionError=v,function(e){e.is=function(e){var t=e;return t&&s.func(t.cancelUndispatched)}}(t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(y||(y={})),t.createMessageConnection=function(e,o,n,i){var r;return n||(n=t.NullLogger),b(void 0!==(r=e).listen&&void 0===r.read?e:new l.StreamMessageReader(e),function(e){return void 0!==e.write&&void 0===e.end}(o)?o:new u.StreamMessageWriter(o),n,i)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r=8192,s=e.from("\r","ascii")[0],a=e.from("\n","ascii")[0],l="\r\n";class u{constructor(t="utf8"){this.encoding=t,this.index=0,this.buffer=e.allocUnsafe(r)}append(t){var o=t;if("string"==typeof t){var n=t,i=e.byteLength(n,this.encoding);(o=e.allocUnsafe(i)).write(n,0,i,this.encoding)}if(this.buffer.length-this.index>=o.length)o.copy(this.buffer,this.index,0,o.length);else{var s=(Math.ceil((this.index+o.length)/r)+1)*r;0===this.index?(this.buffer=e.allocUnsafe(s),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],s)}this.index+=o.length}tryReadHeaders(){let e=void 0,t=0;for(;t+3<this.index&&(this.buffer[t]!==s||this.buffer[t+1]!==a||this.buffer[t+2]!==s||this.buffer[t+3]!==a);)t++;if(t+3>=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split(l).forEach(t=>{let o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");let n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i});let o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e}tryReadContent(e){if(this.index<e)return null;let t=this.buffer.toString(this.encoding,0,e),o=e;return this.buffer.copy(this.buffer,0,o),this.index=this.index-o,t}get numberOfBytes(){return this.index}}!function(e){e.is=function(e){let t=e;return t&&i.func(t.listen)&&i.func(t.dispose)&&i.func(t.onError)&&i.func(t.onClose)&&i.func(t.onPartialMessage)}}(t.MessageReader||(t.MessageReader={}));class c{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=c;class h extends c{constructor(e,t="utf8"){super(),this.readable=e,this.buffer=new u(t),this._partialMessageTimeout=1e4}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e,this.readable.on("data",e=>{this.onData(e)}),this.readable.on("error",e=>this.fireError(e)),this.readable.on("close",()=>this.fireClose())}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders();if(!e)return;let t=e["Content-Length"];if(!t)throw new Error("Header must provide a Content-Length property.");let o=parseInt(t);if(isNaN(o))throw new Error("Content-Length value must be a number.");this.nextMessageLength=o}var t=this.buffer.tryReadContent(this.nextMessageLength);if(null===t)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var o=JSON.parse(t);this.callback(o)}}clearPartialMessageTimer(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}t.StreamMessageReader=h;t.IPCMessageReader=class extends c{constructor(e){super(),this.process=e;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose())}listen(e){this.process.on("message",e)}};t.SocketMessageReader=class extends h{constructor(e,t="utf-8"){super(e,t)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r="Content-Length: ",s="\r\n";!function(e){e.is=function(e){let t=e;return t&&i.func(t.dispose)&&i.func(t.onClose)&&i.func(t.onError)&&i.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));class a{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=a;t.StreamMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.writable=e,this.encoding=t,this.errorCount=0,this.writable.on("error",e=>this.fireError(e)),this.writable.on("close",()=>this.fireClose())}write(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.writable.write(i.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};t.IPCMessageWriter=class extends a{constructor(e){super(),this.process=e,this.errorCount=0,this.queue=[],this.sending=!1;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose)}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(e){try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,t=>{this.sending=!1,t?(this.errorCount++,this.fireError(t,e,this.errorCount)):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())}))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}}};t.SocketMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.socket=e,this.queue=[],this.sending=!1,this.encoding=t,this.errorCount=0,this.socket.on("error",e=>this.fireError(e)),this.socket.on("close",()=>this.fireClose())}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.sending=!0,this.socket.write(i.join(""),"ascii",e=>{e&&this.handleError(e,t);try{this.socket.write(o,this.encoding,e=>{this.sending=!1,e?this.handleError(e,t):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())})}catch(e){this.handleError(e,t)}})}catch(e){this.handleError(e,t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every(e=>n(e))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(25),s=o(6),a=o(22),l=o(12),u=o(37),c=o(5),h=o(3),d=o(58),g=o(53),p=o(2),f=o(114),m=o(139),_=o(47),y=o(17),v=o(4),b=o(79),E=o(35),C=o(23),S=o(11),T=o(111),w=o(27),k=function(){function e(t,o,n,i){void 0===i&&(i=w.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=o,this._options=i,this._refilterKind=1,this._lineContext=n,"top"===i.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===i.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e=new Set,t=0,o=this._items;t<o.length;t++){var n=o[t].container;e.has(n)||(e.add(n),Object(s.e)(n)&&n.dispose())}},Object.defineProperty(e.prototype,"lineContext",{get:function(){return this._lineContext},set:function(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._ensureCachedState(),this._filteredItems},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"incomplete",{get:function(){return this._ensureCachedState(),this._isIncomplete},enumerable:!0,configurable:!0}),e.prototype.adopt=function(e){for(var t=new Array,o=0;o<this._items.length;)e.has(this._items[o].support)?o++:(t.push(this._items[o]),this._items[o]=this._items[this._items.length-1],this._items.pop());return this._refilterKind=1,t},Object.defineProperty(e.prototype,"stats",{get:function(){return this._ensureCachedState(),this._stats},enumerable:!0,configurable:!0}),e.prototype._ensureCachedState=function(){0!==this._refilterKind&&this._createCachedState()},e.prototype._createCachedState=function(){this._isIncomplete=new Set,this._stats={suggestionCount:0,snippetCount:0,textCount:0};for(var e=this._lineContext,t=e.leadingLineContent,o=e.characterCountDelta,n="",i=1===this._refilterKind?this._items:this._filteredItems,r=[],s=!this._options.filterGraceful||i.length>2e3?T.c:T.d,a=0;a<i.length;a++){var l=i[a],u=l.suggestion;l.container.incomplete&&this._isIncomplete.add(l.support);var c=u.overwriteBefore+o-(l.position.column-this._column);if(n.length!==c&&(n=0===c?"":t.slice(-c)),l.word=n,0===c)l.score=-100,l.matches=void 0;else if("string"==typeof u.filterText){if(!(h=s(n,u.filterText,u.overwriteBefore)))continue;l.score=h[0],l.matches=(Object(T.c)(n,u.label)||Object(T.a)(n,u.label))[1]}else{var h;if(!(h=s(n,u.label,u.overwriteBefore)))continue;l.score=h[0],l.matches=h[1]}switch(l.idx=a,r.push(l),this._stats.suggestionCount++,u.type){case"snippet":this._stats.snippetCount++;break;case"text":this._stats.textCount++}}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score>t.score?-1:e.score<t.score?1:e.idx<t.idx?-1:e.idx>t.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return 1;if("snippet"===o.suggestion.type)return-1}return e._compareCompletionItems(t,o)},e._compareCompletionItemsSnippetsUp=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return-1;if("snippet"===o.suggestion.type)return 1}return e._compareCompletionItems(t,o)},e}(),O=function(){function e(e,t,o){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=o}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var o=e.getPosition();t.tokenizeIfCheap(o.lineNumber);var n=t.getWordAtPosition(o);return!!n&&(n.endColumn===o.column&&!!isNaN(Number(n.word)))},e}(),R=function(){function e(e){var t=this;this._toDispose=[],this._triggerQuickSuggest=new y.f,this._triggerRefilter=new y.f,this._onDidCancel=new v.a,this._onDidTrigger=new v.a,this._onDidSuggest=new v.a,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new C.a(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeModelLanguage((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeConfiguration((function(){t._updateTriggerCharacters(),t._updateQuickSuggest()}))),this._toDispose.push(S.u.onDidChange((function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()}))),this._toDispose.push(this._editor.onDidChangeCursorSelection((function(e){t._onCursorChange(e)}))),this._toDispose.push(this._editor.onDidChangeModelContent((function(e){t._refilterCompletionItems()}))),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){Object(s.d)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerQuickSuggest,this._triggerRefilter]),this._toDispose=Object(s.d)(this._toDispose),Object(s.d)(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(Object(s.d)(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),o=0,n=S.u.all(this._editor.getModel());o<n.length;o++){var i=n[o];if(!Object(r.k)(i.triggerCharacters))for(var a=0,l=i.triggerCharacters;a<l.length;a++){var u=l[a],c=t[u];c||(c=t[u]=new Set).add(Object(_.b)()),c.add(i)}}this._triggerCharacterListener=this._editor.onDidType((function(o){var n=o.charAt(o.length-1),i=t[n];if(i){var r=e._completionModel?e._completionModel.adopt(i):void 0;e.trigger({auto:!0,triggerCharacter:n},Boolean(e._completionModel),Object(b.d)(i),r)}}))}},Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){void 0===e&&(e=!1),this._triggerRefilter.cancel(),this._triggerQuickSuggest&&this._triggerQuickSuggest.cancel(),this._requestPromise&&(this._requestPromise.cancel(),this._requestPromise=null),this._state=0,Object(s.d)(this._completionModel),this._completionModel=null,this._context=null,this._onDidCancel.fire({retrigger:e})},e.prototype._updateActiveSuggestSession=function(){0!==this._state&&(S.u.has(this._editor.getModel())?this.trigger({auto:2===this._state},!0):this.cancel())},e.prototype._onCursorChange=function(e){var t=this,o=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==E.a.NotSet||"keyboard"!==e.source&&"deleteLeft"!==e.source)0!==this._state&&this.cancel();else if(S.u.has(this._editor.getModel())&&this._editor.getModel()&&0===this._state){if(!1===this._editor.getConfiguration().contribInfo.quickSuggestions)return;if(!o.containsRange(this._currentSelection)&&!o.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))return;if(this._editor.getConfiguration().contribInfo.suggest.snippetsPreventQuickSuggestions&&m.SnippetController2.get(this._editor).isInSnippet())return;this.cancel(),this._triggerQuickSuggest.cancelAndSet((function(){if(O.shouldAutoTrigger(t._editor)){var e=t._editor.getModel(),o=t._editor.getPosition();if(e){var n=t._editor.getConfiguration().contribInfo.quickSuggestions;if(!1!==n){if(!0===n);else{e.tokenizeIfCheap(o.lineNumber);var i=e.getLineTokens(o.lineNumber),r=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(o.column-1-1,0)));if(!(n.other&&0===r||n.comments&&1===r||n.strings&&2===r))return}t.trigger({auto:!0})}}}}),this._quickSuggestDelay)}},e.prototype._refilterCompletionItems=function(){var e=this;if(0!==this._state){var t=this._editor.getModel();t&&this._triggerRefilter.cancelAndSet((function(){var o=e._editor.getPosition(),n=new O(t,o,2===e._state);e._onNewContext(n)}),25)}},e.prototype.trigger=function(e,t,o,n){var a=this;void 0===t&&(t=!1);var l=this._editor.getModel();if(l){var u,c=e.auto,h=new O(l,this._editor.getPosition(),c);this.cancel(t),this._state=c?2:1,this._onDidTrigger.fire({auto:c}),this._context=h,u=e.triggerCharacter?{triggerKind:S.v.TriggerCharacter,triggerCharacter:e.triggerCharacter}:o&&o.length?{triggerKind:S.v.TriggerForIncompleteCompletions}:{triggerKind:S.v.Invoke},this._requestPromise=Object(y.i)((function(e){return Object(_.d)(l,a._editor.getPosition(),a._editor.getConfiguration().contribInfo.suggest.snippets,o,u,e)})),this._requestPromise.then((function(e){if(a._requestPromise=null,0!==a._state){var t=a._editor.getModel();if(t){if(!Object(r.k)(n)){var o=Object(_.c)(a._editor.getConfiguration().contribInfo.suggest.snippets);e=e.concat(n).sort(o)}var i=new O(t,a._editor.getPosition(),c);Object(s.d)(a._completionModel),a._completionModel=new k(e,a._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:a._context?i.column-a._context.column:0},a._editor.getConfiguration().contribInfo.suggest),a._onNewContext(i)}}})).catch(i.e)}},e.prototype._onNewContext=function(e){if(this._context)if(e.lineNumber===this._context.lineNumber){if(e.leadingWord.startColumn<this._context.leadingWord.startColumn)this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.auto},!0):this.cancel();else if(this._completionModel)if(e.column>this._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,o=this._completionModel.adopt(t);this.trigger({auto:2===this._state},!0,Object(b.d)(t),o)}else{var n=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(O.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<e.leadingWord.startColumn)return void this.trigger({auto:this._context.auto},!0);if(this._context.auto)return void this.cancel();if(this._completionModel.lineContext=n,(i=this._completionModel.items.length>0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,isFrozen:i})}}else this.cancel()},e}(),L=(o(485),o(8)),N=o(1),I=o(125),D=(o(486),o(21)),A=o(94),P=o(15),x=o(66),M=o(51),B=o(50),F=o(30),H=o(81),U=o(42);function V(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var o=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-o<=0?{start:0,end:0}:{start:o,end:n}}function W(e){return e.end-e.start<=0}function j(e,t){var o=[],n={start:e.start,end:Math.min(t.start,e.end)},i={start:Math.max(t.end,e.start),end:e.end};return W(n)||o.push(n),W(i)||o.push(i),o}function G(e,t){for(var o=[],n=0,i=t;n<i.length;n++){var r=i[n];if(!(e.start>=r.range.end)){if(e.end<r.range.start)break;var s=V(e,r.range);W(s)||o.push({range:s,size:r.size})}}return o}function z(e,t){return{start:e.start+t,end:e.end+t}}function K(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(e){for(var t=[],o=null,n=0,i=e;n<i.length;n++){var r=i[n],s=r.range.start,a=r.range.end,l=r.size;o&&l===o.size?o.range.end=a:(o={range:{start:s,end:a},size:l},t.push(o))}return t}(e.reduce((function(e,t){return e.concat(t)}),[]))}var Y=function(){function e(){this.groups=[],this._size=0}return e.prototype.splice=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=o.length-t,r=G({start:0,end:e},this.groups),s=G({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((function(e){return{range:z(e.range,i),size:e.size}})),a=o.map((function(t,o){return{range:{start:e+o,end:e+o+1},size:t.size}}));this.groups=K(r,a,s),this._size=this.groups.reduce((function(e,t){return e+t.size*(t.range.end-t.range.start)}),0)},Object.defineProperty(e.prototype,"count",{get:function(){var e=this.groups.length;return e?this.groups[e-1].range.end:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.indexAt=function(e){if(e<0)return-1;for(var t=0,o=0,n=0,i=this.groups;n<i.length;n++){var r=i[n],s=r.range.end-r.range.start,a=o+s*r.size;if(e<a)return t+Math.floor((e-o)/r.size);t+=s,o=a}return t},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.count)},e.prototype.positionAt=function(e){if(e<0)return-1;for(var t=0,o=0,n=0,i=this.groups;n<i.length;n++){var r=i[n],s=r.range.end-r.range.start,a=o+s;if(e<a)return t+(e-o)*r.size;t+=s*r.size,o=a}return-1},e.prototype.dispose=function(){this.groups=null},e}();var X=function(){function e(e){this.renderers=e,this.cache=new Map}return e.prototype.alloc=function(e){var t=this.getTemplateCache(e).pop();if(!t){var o=Object(N.a)(".monaco-list-row");t={domNode:o,templateId:e,templateData:this.renderers.get(e).renderTemplate(o)}}return t},e.prototype.release=function(e){e&&this.releaseRow(e)},e.prototype.releaseRow=function(e){var t=e.domNode,o=e.templateId;Object(N.G)(t,"scrolling"),function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t),this.getTemplateCache(o).push(e)},e.prototype.getTemplateCache=function(e){var t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t},e.prototype.garbageCollect=function(){var e=this;this.renderers&&(this.cache.forEach((function(t,o){for(var n=0,i=t;n<i.length;n++){var r=i[n];e.renderers.get(o).disposeTemplate(r.templateData),r.domNode=null,r.templateData=null}})),this.cache.clear())},e.prototype.dispose=function(){this.garbageCollect(),this.cache.clear(),this.renderers=null},e}(),q=o(24),$=o(41),J=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};var Z={useShadows:!0,verticalScrollMode:U.b.Auto},Q=function(){function e(e,t,o,n){void 0===n&&(n=Z),this.virtualDelegate=t,this.renderers=new Map,this.splicing=!1,this.items=[],this.itemId=0,this.rangeMap=new Y;for(var i=0,r=o;i<r.length;i++){var s=r[i];this.renderers.set(s.templateId,s)}this.cache=new X(this.renderers),this.lastRenderTop=0,this.lastRenderHeight=0,this._domNode=document.createElement("div"),this._domNode.className="monaco-list",this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",x.b.addTarget(this.rowsContainer),this.scrollableElement=new H.b(this.rowsContainer,{alwaysConsumeMouseWheel:!0,horizontal:U.b.Hidden,vertical:Object(F.f)(n,(function(e){return e.verticalScrollMode}),Z.verticalScrollMode),useShadows:Object(F.f)(n,(function(e){return e.useShadows}),Z.useShadows)}),this._domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this._domNode),this.disposables=[this.rangeMap,this.gesture,this.scrollableElement,this.cache],this.scrollableElement.onScroll(this.onScroll,this,this.disposables),Object(B.a)(this.rowsContainer,x.a.Change)(this.onTouchChange,this,this.disposables),Object(B.a)(this.scrollableElement.getDomNode(),"scroll")((function(e){return e.target.scrollTop=0}),null,this.disposables),Object(v.j)(Object(B.a)(this.rowsContainer,"dragover"),(function(e){return new $.a(e)}))(this.onDragOver,this,this.disposables),this.layout()}return Object.defineProperty(e.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){if(void 0===o&&(o=[]),this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,o)}finally{this.splicing=!1}},e.prototype._splice=function(e,t,o){var n,i,r=this;void 0===o&&(o=[]);for(var s=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),a=V(s,{start:e,end:e+t}),l=a.start;l<a.end;l++)this.removeItemFromDOM(l);var u={start:e+t,end:this.items.length},c=V(u,s),h=j(u,s),d=o.map((function(e){return{id:String(r.itemId++),element:e,size:r.virtualDelegate.getHeight(e),templateId:r.virtualDelegate.getTemplateId(e),row:null}}));(n=this.rangeMap).splice.apply(n,[e,t].concat(d));var g=(i=this.items).splice.apply(i,[e,t].concat(d)),p=o.length-t,f=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),m=z(c,p),_=V(f,m);for(l=_.start;l<_.end;l++)this.updateItemInDOM(this.items[l],l);for(var y=j(m,f),v=0;v<y.length;v++){var b=y[v];for(l=b.start;l<b.end;l++)this.removeItemFromDOM(l)}var E=h.map((function(e){return z(e,p)})),C=[{start:e,end:e+o.length}].concat(E).map((function(e){return V(f,e)})),S=this.getNextToLastElement(C);for(v=0;v<C.length;v++){var T=C[v];for(l=T.start;l<T.end;l++)this.insertItemInDOM(l,S)}var w=this.getContentHeight();return this.rowsContainer.style.height=w+"px",this.scrollableElement.setScrollDimensions({scrollHeight:w}),g.map((function(e){return e.element}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.items.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderHeight",{get:function(){return this.scrollableElement.getScrollDimensions().height},enumerable:!0,configurable:!0}),e.prototype.element=function(e){return this.items[e].element},e.prototype.domElement=function(e){var t=this.items[e].row;return t&&t.domNode},e.prototype.elementHeight=function(e){return this.items[e].size},e.prototype.elementTop=function(e){return this.rangeMap.positionAt(e)},e.prototype.indexAt=function(e){return this.rangeMap.indexAt(e)},e.prototype.indexAfter=function(e){return this.rangeMap.indexAfter(e)},e.prototype.layout=function(e){this.scrollableElement.setScrollDimensions({height:e||N.s(this._domNode)})},e.prototype.render=function(e,t){for(var o=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=this.getRenderRange(e,t),i=j(n,o),r=j(o,n),s=this.getNextToLastElement(i),a=0,l=i;a<l.length;a++)for(var u=(d=l[a]).start;u<d.end;u++)this.insertItemInDOM(u,s);for(var c=0,h=r;c<h.length;c++){var d;for(u=(d=h[c]).start;u<d.end;u++)this.removeItemFromDOM(u)}if(q.j||0!==q.d()||P.g)this.rowsContainer.style.top="-"+e+"px";else{var g="translate3d(0px, -"+e+"px, 0px)";this.rowsContainer.style.transform=g,this.rowsContainer.style.webkitTransform=g}this.lastRenderTop=e,this.lastRenderHeight=t},e.prototype.insertItemInDOM=function(e,t){var o=this.items[e];o.row||(o.row=this.cache.alloc(o.templateId)),o.row.domNode.parentElement||(t?this.rowsContainer.insertBefore(o.row.domNode,t):this.rowsContainer.appendChild(o.row.domNode)),o.row.domNode.style.height=o.size+"px",this.updateItemInDOM(o,e),this.renderers.get(o.templateId).renderElement(o.element,e,o.row.templateData)},e.prototype.updateItemInDOM=function(e,t){e.row.domNode.style.top=this.elementTop(t)+"px",e.row.domNode.setAttribute("data-index",""+t),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("aria-setsize",""+this.length),e.row.domNode.setAttribute("aria-posinset",""+(t+1))},e.prototype.removeItemFromDOM=function(e){var t=this.items[e],o=this.renderers.get(t.templateId);o.disposeElement&&o.disposeElement(t.element,e,t.row.templateData),this.cache.release(t.row),t.row=null},e.prototype.getContentHeight=function(){return this.rangeMap.size},e.prototype.getScrollTop=function(){return this.scrollableElement.getScrollPosition().scrollTop},e.prototype.setScrollTop=function(e){this.scrollableElement.setScrollPosition({scrollTop:e})},Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.getScrollTop()},set:function(e){this.setScrollTop(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"click"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"dblclick"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"mousedown"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"contextmenu"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"touchstart"),(function(t){return e.toTouchEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.rowsContainer,x.a.Tap),(function(t){return e.toGestureEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),e.prototype.toMouseEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toTouchEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toGestureEvent=function(e){var t=this.getItemIndexFromEventTarget(e.initialTarget),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.onScroll=function(e){try{this.render(e.scrollTop,e.height)}catch(t){throw console.log("Got bad scroll event:",e),t}},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.onDragOver=function(e){this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=e.posy},e.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=N.w(this._domNode).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.renderHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},e.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},e.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,o=t.getAttribute("data-index");if(o){var n=Number(o);if(!isNaN(n))return n}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.getNextToLastElement=function(e){var t=e[e.length-1];if(!t)return null;var o=this.items[t.end];return o&&o.row?o.row.domNode:null},e.prototype.dispose=function(){if(this.items){for(var e=0,t=this.items;e<t.length;e++){var o=t[e];if(o.row)this.renderers.get(o.row.templateId).disposeTemplate(o.row.templateData),o.row=null}this.items=null}this._domNode&&this._domNode.parentElement&&(this._domNode.parentNode.removeChild(this._domNode),this._domNode=null),this.disposables=Object(s.d)(this.disposables)},J([A.a],e.prototype,"onMouseClick",null),J([A.a],e.prototype,"onMouseDblClick",null),J([A.a],e.prototype,"onMouseDown",null),J([A.a],e.prototype,"onContextMenu",null),J([A.a],e.prototype,"onTouchStart",null),J([A.a],e.prototype,"onTap",null),e}(),ee=o(14),te=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,o){this.spliceables.forEach((function(n){return n.splice(e,t,o)}))},e}();var oe,ne=(oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}oe(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(){function e(e){this.trait=e,this.renderedElements=[]}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"template:"+this.trait.trait},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,o){var n=Object(r.h)(this.renderedElements,(function(e){return e.templateData===o}));if(n>=0){var i=this.renderedElements[n];this.trait.unrender(o),i.index=t}else{i={index:t,templateData:o};this.renderedElements.push(i)}this.trait.renderIndex(t,o)},e.prototype.disposeElement=function(){},e.prototype.splice=function(e,t,o){for(var n=[],i=0;i<this.renderedElements.length;i++){var r=this.renderedElements[i];r.index<e?n.push(r):r.index>=e+t&&n.push({index:r.index+o-t,templateData:r.templateData})}this.renderedElements=n},e.prototype.renderIndexes=function(e){for(var t=0,o=this.renderedElements;t<o.length;t++){var n=o[t],i=n.index,r=n.templateData;e.indexOf(i)>-1&&this.trait.renderIndex(i,r)}},e.prototype.disposeTemplate=function(e){var t=Object(r.h)(this.renderedElements,(function(t){return t.templateData===e}));t<0||this.renderedElements.splice(t,1)},e}(),se=function(){function e(e){this._trait=e,this._onChange=new v.a,this.indexes=[]}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new re(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=o.length-t,i=e+t,r=this.indexes.filter((function(t){return t<e})).concat(o.map((function(t,o){return t?o+e:-1})).filter((function(e){return-1!==e})),this.indexes.filter((function(e){return e>=i})).map((function(e){return e+n})));this.renderer.splice(e,t,o.length),this.set(r)},e.prototype.renderIndex=function(e,t){N.N(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){N.G(e,this._trait)},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var o=ve(t,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some((function(t){return t===e}))},e.prototype.dispose=function(){this.indexes=null,this._onChange=Object(s.d)(this._onChange)},ie([A.a],e.prototype,"renderer",null),e}(),ae=function(e){function t(t){var o=e.call(this,"focused")||this;return o.getDomId=t,o}return ne(t,e),t.prototype.renderIndex=function(t,o){e.prototype.renderIndex.call(this,t,o),o.setAttribute("role","treeitem"),o.setAttribute("id",this.getDomId(t))},t}(se),le=function(){function e(e,t,o){this.trait=e,this.view=t,this.getId=o}return e.prototype.splice=function(e,t,o){var n=this;if(!this.getId)return this.trait.splice(e,t,o.map((function(e){return!1})));var i=this.trait.get().map((function(e){return n.getId(n.view.element(e))})),r=o.map((function(e){return i.indexOf(n.getId(e))>-1}));this.trait.splice(e,t,r)},e}();function ue(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var ce=function(){function e(e,t,o){this.list=e,this.view=t;var n=!(!1===o.multipleSelectionSupport);this.disposables=[],this.openController=o.openController||pe;var i=Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)}));i.filter((function(e){return 3===e.keyCode})).on(this.onEnter,this,this.disposables),i.filter((function(e){return 16===e.keyCode})).on(this.onUpArrow,this,this.disposables),i.filter((function(e){return 18===e.keyCode})).on(this.onDownArrow,this,this.disposables),i.filter((function(e){return 11===e.keyCode})).on(this.onPageUpArrow,this,this.disposables),i.filter((function(e){return 12===e.keyCode})).on(this.onPageDownArrow,this,this.disposables),i.filter((function(e){return 9===e.keyCode})).on(this.onEscape,this,this.disposables),n&&i.filter((function(e){return(P.d?e.metaKey:e.ctrlKey)&&31===e.keyCode})).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(r.m)(this.list.length)),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}(),he=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[],this.disposables=[],Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new M.a(e)})).filter((function(e){return!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)})).on(this.onTab,this,this.disposables)}return e.prototype.onTab=function(e){if(e.target===this.view.domNode){var t=this.list.getFocus();if(0!==t.length){var o=this.view.domElement(t[0]).querySelector("[tabIndex]");if(o&&o instanceof HTMLElement){var n=window.getComputedStyle(o);"hidden"!==n.visibility&&"none"!==n.display&&(e.preventDefault(),e.stopPropagation(),o.focus())}}}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}();function de(e){return e instanceof MouseEvent&&2===e.button}var ge={isSelectionSingleChangeEvent:function(e){return P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},isSelectionRangeChangeEvent:function(e){return e.browserEvent.shiftKey}},pe={shouldOpen:function(e){return!(e instanceof MouseEvent)||!de(e)}},fe=function(){function e(e,t,o){void 0===o&&(o={}),this.list=e,this.view=t,this.options=o,this.didJustPressContextMenuKey=!1,this.disposables=[],this.multipleSelectionSupport=!(!1===o.multipleSelectionSupport),this.multipleSelectionSupport&&(this.multipleSelectionController=o.multipleSelectionController||ge),this.openController=o.openController||pe,t.onMouseDown(this.onMouseDown,this,this.disposables),t.onMouseClick(this.onPointer,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),t.onTap(this.onPointer,this,this.disposables),x.b.addTarget(t.domNode)}return Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=Object(v.g)(Object(B.a)(this.view.domNode,"keydown")).map((function(e){return new M.a(e)})).filter((function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode})).filter((function(e){return e.preventDefault(),e.stopPropagation(),!1})).event,o=Object(v.g)(Object(B.a)(this.view.domNode,"keyup")).filter((function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t})).filter((function(){return e.list.getFocus().length>0})).map((function(){var t=e.list.getFocus()[0];return{index:t,element:e.view.element(t),anchor:e.view.domElement(t)}})).filter((function(e){return!!e.anchor})).event,n=Object(v.g)(this.view.onContextMenu).filter((function(){return!e.didJustPressContextMenuKey})).map((function(e){var t=e.element,o=e.index,n=e.browserEvent;return{element:t,index:o,anchor:{x:n.clientX+1,y:n.clientY}}})).event;return Object(v.f)(t,o,n)},enumerable:!0,configurable:!0}),e.prototype.isSelectionSingleChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},e.prototype.isSelectionRangeChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):e.browserEvent.shiftKey},e.prototype.isSelectionChangeEvent=function(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)},e.prototype.onMouseDown=function(e){!1===this.options.focusOnMouseDown?(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation()):document.activeElement!==e.browserEvent.target&&this.view.domNode.focus();var t=this.list.getFocus()[0],o=this.list.getSelection();if(t=void 0===t?o[0]:t,this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(e))return this.changeSelection(e,t);var n=e.index;if(o.every((function(e){return e!==n}))&&this.list.setFocus([n]),this.multipleSelectionSupport&&this.isSelectionChangeEvent(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&!de(e.browserEvent)&&(this.list.setSelection([n]),this.openController.shouldOpen(e.browserEvent)&&this.list.open([n],e.browserEvent))},e.prototype.onPointer=function(e){if(!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(e)||this.options.selectOnMouseDown)){var t=this.list.getFocus();this.list.setSelection(t),this.openController.shouldOpen(e.browserEvent)&&this.list.open(t,e.browserEvent)}},e.prototype.onDoubleClick=function(e){if(!this.multipleSelectionSupport||!this.isSelectionChangeEvent(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var o=e.index;if(this.isSelectionRangeChangeEvent(e)&&void 0!==t){var n=Math.min(t,o),i=Math.max(t,o),s=Object(r.m)(n,i+1),a=function(e,t){var o=e.indexOf(t);if(-1===o)return[];var n=[],i=o-1;for(;i>=0&&e[i]===t-(o-i);)n.push(e[i--]);n.reverse(),i=o;for(;i<e.length&&e[i]===t+(i-o);)n.push(e[i++]);return n}(ve(u=this.list.getSelection(),[t]),t);if(0===a.length)return;var l=ve(s,function(e,t){var o=[],n=0,i=0;for(;n<e.length||i<t.length;)if(n>=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){n++,i++;continue}e[n]<t[i]?o.push(e[n++]):i++}return o}(u,a));this.list.setSelection(l)}else if(this.isSelectionSingleChangeEvent(e)){var u;l=(u=this.list.getSelection()).filter((function(e){return e!==o}));u.length===l.length?this.list.setSelection(l.concat([o])):this.list.setSelection(l)}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},ie([A.a],e.prototype,"onContextMenu",null),e}(),me=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",o=[];e.listFocusBackground&&(o.push(".monaco-list"+t+":focus .monaco-list-row.focused { background-color: "+e.listFocusBackground+"; }"),o.push(".monaco-list"+t+":focus .monaco-list-row.focused:hover { background-color: "+e.listFocusBackground+"; }")),e.listFocusForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.focused { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&(o.push(".monaco-list"+t+":focus .monaco-list-row.selected { background-color: "+e.listActiveSelectionBackground+"; }"),o.push(".monaco-list"+t+":focus .monaco-list-row.selected:hover { background-color: "+e.listActiveSelectionBackground+"; }")),e.listActiveSelectionForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected.focused { background-color: "+e.listFocusAndSelectionBackground+"; }"),e.listFocusAndSelectionForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected.focused { color: "+e.listFocusAndSelectionForeground+"; }"),e.listInactiveFocusBackground&&(o.push(".monaco-list"+t+" .monaco-list-row.focused { background-color:  "+e.listInactiveFocusBackground+"; }"),o.push(".monaco-list"+t+" .monaco-list-row.focused:hover { background-color:  "+e.listInactiveFocusBackground+"; }")),e.listInactiveSelectionBackground&&(o.push(".monaco-list"+t+" .monaco-list-row.selected { background-color:  "+e.listInactiveSelectionBackground+"; }"),o.push(".monaco-list"+t+" .monaco-list-row.selected:hover { background-color:  "+e.listInactiveSelectionBackground+"; }")),e.listInactiveSelectionForeground&&o.push(".monaco-list"+t+" .monaco-list-row.selected { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&o.push(".monaco-list"+t+" .monaco-list-row:hover { background-color:  "+e.listHoverBackground+"; }"),e.listHoverForeground&&o.push(".monaco-list"+t+" .monaco-list-row:hover { color:  "+e.listHoverForeground+"; }"),e.listSelectionOutline&&o.push(".monaco-list"+t+" .monaco-list-row.selected { outline: 1px dotted "+e.listSelectionOutline+"; outline-offset: -1px; }"),e.listFocusOutline&&o.push(".monaco-list"+t+":focus .monaco-list-row.focused { outline: 1px solid "+e.listFocusOutline+"; outline-offset: -1px; }"),e.listInactiveFocusOutline&&o.push(".monaco-list"+t+" .monaco-list-row.focused { outline: 1px dotted "+e.listInactiveFocusOutline+"; outline-offset: -1px; }"),e.listHoverOutline&&o.push(".monaco-list"+t+" .monaco-list-row:hover { outline: 1px dashed "+e.listHoverOutline+"; outline-offset: -1px; }");var n=o.join("\n");n!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=n)},e}(),_e={listFocusBackground:ee.a.fromHex("#073655"),listActiveSelectionBackground:ee.a.fromHex("#0E639C"),listActiveSelectionForeground:ee.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ee.a.fromHex("#094771"),listFocusAndSelectionForeground:ee.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ee.a.fromHex("#3F3F46"),listHoverBackground:ee.a.fromHex("#2A2D2E"),listDropBackground:ee.a.fromHex("#383B3D")},ye={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0};function ve(e,t){for(var o=[],n=0,i=0;n<e.length||i<t.length;)if(n>=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){o.push(e[n]),n++,i++;continue}e[n]<t[i]?o.push(e[n++]):o.push(t[i++])}return o}var be=function(e,t){return e-t},Ee=function(){function e(e,t){this._templateId=e,this.renderers=t}return Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return this.renderers.map((function(t){return t.renderTemplate(e)}))},e.prototype.renderElement=function(e,t,o){for(var n=0,i=0,r=this.renderers;i<r.length;i++){r[i].renderElement(e,t,o[n++])}},e.prototype.disposeElement=function(e,t,o){for(var n=0,i=0,r=this.renderers;i<r.length;i++){r[i].disposeElement(e,t,o[n++])}},e.prototype.disposeTemplate=function(e){for(var t=0,o=0,n=this.renderers;o<n.length;o++){n[o].disposeTemplate(e[t++])}},e}(),Ce=function(){function e(t,o,i,r){void 0===r&&(r=ye);var s=this;if(this.idPrefix="list_id_"+ ++e.InstanceCount,this.eventBufferer=new v.c,this.onContextMenu=v.b.None,this._onOpen=new v.a,this._onPin=new v.a,this._onDidDispose=new v.a,this.focus=new ae((function(e){return s.getElementDomId(e)})),this.selection=new se("selected"),Object(F.g)(r,_e,!1),i=i.map((function(e){return new Ee(e.templateId,[s.focus.renderer,s.selection.renderer,e])})),this.view=new Q(t,o,i,r),this.view.domNode.setAttribute("role","tree"),N.f(this.view.domNode,this.idPrefix),this.view.domNode.tabIndex=0,this.styleElement=N.o(this.view.domNode),this.styleController=r.styleController,this.styleController||(this.styleController=new me(this.styleElement,this.idPrefix)),this.spliceable=new te([new le(this.focus,this.view,r.identityProvider),new le(this.selection,this.view,r.identityProvider),this.view]),this.disposables=[this.focus,this.selection,this.view,this._onDidDispose],this.onDidFocus=Object(v.j)(Object(B.a)(this.view.domNode,"focus",!0),(function(){return null})),this.onDidBlur=Object(v.j)(Object(B.a)(this.view.domNode,"blur",!0),(function(){return null})),this.disposables.push(new he(this,this.view)),"boolean"!=typeof r.keyboardSupport||r.keyboardSupport){var a=new ce(this,this.view,r);this.disposables.push(a)}("boolean"!=typeof r.mouseSupport||r.mouseSupport)&&(this.mouseController=new fe(this,this.view,r),this.disposables.push(this.mouseController),this.onContextMenu=this.mouseController.onContextMenu),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),r.ariaLabel&&this.view.domNode.setAttribute("aria-label",Object(n.a)("aria list","{0}. Use the navigation keys to navigate.",r.ariaLabel)),this.style(r)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return Object(v.j)(this.eventBufferer.wrapEvent(this.focus.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){var e=this;return Object(v.j)(this.eventBufferer.wrapEvent(this.selection.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidDispose",{get:function(){return this._onDidDispose.event},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=this;if(void 0===o&&(o=[]),e<0||e>this.view.length)throw new Error("Invalid start index: "+e);if(t<0)throw new Error("Invalid delete count: "+t);0===t&&0===o.length||this.eventBufferer.bufferEvents((function(){return n.spliceable.splice(e,t,o)}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.selection.set(e)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]+e:0;this.setFocus(t?[n%this.length]:[Math.min(n,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]-e:0;t&&n<0&&(n=(this.length+n%this.length)%this.length),this.setFocus([Math.max(n,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var o=this.view.element(t);if(this.getFocusedElements()[0]!==o)this.setFocus([t]);else{var n=this.view.getScrollTop();this.view.setScrollTop(n+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==n&&setTimeout((function(){return e.focusNextPage()}),0)}},e.prototype.focusPreviousPage=function(){var e,t=this,o=this.view.getScrollTop();e=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var n=this.view.element(e);if(this.getFocusedElements()[0]!==n)this.setFocus([e]);else{var i=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==i&&setTimeout((function(){return t.focusPreviousPage()}),0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map((function(t){return e.view.element(t)}))},e.prototype.reveal=function(e,t){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var o,n,i,r=this.view.getScrollTop(),s=this.view.elementTop(e),a=this.view.elementHeight(e);if(Object(D.f)(t)){var l=a-this.view.renderHeight;this.view.setScrollTop(l*(o=t,n=0,i=1,Math.min(Math.max(o,n),i))+s)}else{var u=s+a,c=r+this.view.renderHeight;s<r?this.view.setScrollTop(s):u>=c&&this.view.setScrollTop(u-this.view.renderHeight)}},e.prototype.getElementDomId=function(e){return this.idPrefix+"_"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var o=this,n=0,i=e;n<i.length;n++){var r=i[n];if(r<0||r>=this.length)throw new Error("Invalid index "+r)}this._onOpen.fire({indexes:e,elements:e.map((function(e){return o.view.element(e)})),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,o=e.indexes;return{indexes:o,elements:o.map((function(e){return t.view.element(e)}))}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),N.N(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();N.N(this.view.domNode,"selection-none",0===e.length),N.N(this.view.domNode,"selection-single",1===e.length),N.N(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables=Object(s.d)(this.disposables)},e.InstanceCount=0,ie([A.a],e.prototype,"onFocusChange",null),ie([A.a],e.prototype,"onSelectionChange",null),e}(),Se=o(61),Te=o(16),we=o(110),ke=o(118),Oe=o(19),Re=o(7),Le=o(55),Ne=o(160),Ie=o(89),De=o(82),Ae=o(48),Pe=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},xe=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Me=function(e,t){return function(o,n){t(o,n,e)}},Be=!1,Fe=Object(Re.kb)("editorSuggestWidget.background",{dark:Re.D,light:Re.D,hc:Re.D},n.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),He=Object(Re.kb)("editorSuggestWidget.border",{dark:Re.E,light:Re.E,hc:Re.E},n.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),Ue=Object(Re.kb)("editorSuggestWidget.foreground",{dark:Re.u,light:Re.u,hc:Re.u},n.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),Ve=Object(Re.kb)("editorSuggestWidget.selectedBackground",{dark:Re.W,light:Re.W,hc:Re.W},n.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),We=Object(Re.kb)("editorSuggestWidget.highlightForeground",{dark:Re.Y,light:Re.Y,hc:Re.Y},n.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),je=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function Ge(e){return e&&e.match(je)?e:null}function ze(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}var Ke=function(){function e(e,t,o){this.widget=e,this.editor=t,this.triggerKeybindingLabel=o}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,o=Object.create(null);o.disposables=[],o.root=e,o.icon=Object(N.k)(e,Object(N.a)(".icon")),o.colorspan=Object(N.k)(o.icon,Object(N.a)("span.colorspan"));var i=Object(N.k)(e,Object(N.a)(".contents")),r=Object(N.k)(i,Object(N.a)(".main"));o.highlightedLabel=new I.a(r),o.disposables.push(o.highlightedLabel),o.typeLabel=Object(N.k)(r,Object(N.a)("span.type-label")),o.readMore=Object(N.k)(r,Object(N.a)("span.readMore")),o.readMore.title=n.a("readMore","Read More...{0}",this.triggerKeybindingLabel);var s=function(){var e=t.editor.getConfiguration(),n=e.fontInfo.fontFamily,i=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",s=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";o.root.style.fontSize=i,r.style.fontFamily=n,r.style.lineHeight=s,o.icon.style.height=s,o.icon.style.width=s,o.readMore.style.height=s,o.readMore.style.width=s};return s(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo||e.contribInfo})).on(s,null,o.disposables),o},e.prototype.renderElement=function(e,t,o){var i=this,r=o,s=e.suggestion;if(ze(e)?r.root.setAttribute("aria-label",n.a("suggestionWithDetailsAriaLabel","{0}, suggestion, has details",s.label)):r.root.setAttribute("aria-label",n.a("suggestionAriaLabel","{0}, suggestion",s.label)),r.icon.className="icon "+s.type,r.colorspan.style.backgroundColor="","color"===s.type){var a=Ge(s.label)||"string"==typeof s.documentation&&Ge(s.documentation);a&&(r.icon.className="icon customcolor",r.colorspan.style.backgroundColor=a)}r.highlightedLabel.set(s.label,Object(T.b)(e.matches),"",!0),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ze(e)?(Object(N.M)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(N.A)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeElement=function(){},e.prototype.disposeTemplate=function(e){e.disposables=Object(s.d)(e.disposables)},e}(),Ye=function(){function e(e,t,o,i,r){var a=this;this.widget=t,this.editor=o,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=[],this.el=Object(N.k)(e,Object(N.a)(".details")),this.disposables.push(Object(s.f)((function(){return e.removeChild(a.el)}))),this.body=Object(N.a)(".body"),this.scrollbar=new H.a(this.body,{}),Object(N.k)(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=Object(N.k)(this.body,Object(N.a)(".header")),this.close=Object(N.k)(this.header,Object(N.a)("span.close")),this.close.title=n.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(N.k)(this.header,Object(N.a)("p.type")),this.docs=Object(N.k)(this.body,Object(N.a)("p.docs")),this.ariaLabel=null,this.configureFont(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock((function(){return a.scrollbar.scanDomNode()}),this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=Object(s.d)(this.renderDisposeable),!e||!ze(e))return this.type.textContent="",this.docs.textContent="",Object(N.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(N.G)(this.el,"no-docs"),"string"==typeof e.suggestion.documentation)Object(N.G)(this.docs,"markdown-docs"),this.docs.textContent=e.suggestion.documentation;else{Object(N.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var o=this.markdownRenderer.render(e.suggestion.documentation);this.renderDisposeable=o,this.docs.appendChild(o.element)}e.suggestion.detail?(this.type.innerText=e.suggestion.detail,Object(N.M)(this.type)):(this.type.innerText="",Object(N.A)(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=L.format("{0}\n{1}\n{2}",e.suggestion.label||"",e.suggestion.detail||"",e.suggestion.documentation||"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",n=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";this.el.style.fontSize=o,this.type.style.fontFamily=t,this.close.style.height=n,this.close.style.width=n},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables),this.renderDisposeable=Object(s.d)(this.renderDisposeable)},e}(),Xe=function(){function e(e,t,o,n,i,r,s,a){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.editorBlurTimeout=new y.f,this.showTimeout=new y.f,this.onDidSelectEmitter=new v.a,this.onDidFocusEmitter=new v.a,this.onDidHideEmitter=new v.a,this.onDidShowEmitter=new v.a,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1,this.firstFocusInCurrentList=!1;var u=r.lookupKeybinding("editor.action.triggerSuggest"),c=u?" ("+u.getLabel()+")":"",h=new Ne.a(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=i,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store("expandSuggestionDocs",Be,Le.c.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=Object(N.a)(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Object(N.f)(this.element,"no-icons"),this.messageElement=Object(N.k)(this.element,Object(N.a)(".message")),this.listElement=Object(N.k)(this.element,Object(N.a)(".tree")),this.details=new Ye(this.element,this,this.editor,h,c);var d=new Ke(this,this.editor,c);this.list=new Ce(this.listElement,this,[d],{useShadows:!1,selectOnMouseDown:!0,focusOnMouseDown:!1,openController:{shouldOpen:function(){return!1}}}),this.toDispose=[Object(ke.b)(this.list,n,{listInactiveFocusBackground:Ve,listInactiveFocusOutline:Re.b}),n.onThemeChange((function(e){return l.onThemeChange(e)})),e.onDidBlurEditorText((function(){return l.onEditorBlur()})),e.onDidLayoutChange((function(){return l.onEditorLayoutChange()})),this.list.onSelectionChange((function(e){return l.onListSelection(e)})),this.list.onFocusChange((function(e){return l.onListFocus(e)})),this.editor.onDidChangeCursorSelection((function(){return l.onCursorSelectionChanged()}))],this.suggestWidgetVisible=_.a.Visible.bindTo(o),this.suggestWidgetMultipleSuggestions=_.a.MultipleSuggestions.bindTo(o),this.suggestionSupportsAutoAccept=_.a.AcceptOnKey.bindTo(o),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(n.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout.cancelAndSet((function(){e.editor.hasTextFocus()||e.setState(0)}),150)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){var t=this;if(e.elements.length){var o=e.elements[0],i=e.indexes[0];o.resolve(Ae.a.None).then((function(){t.onDidSelectEmitter.fire({item:o,index:i,model:t.completionModel}),Object(d.a)(n.a("suggestionAriaAccepted","{0}, accepted",o.suggestion.label)),t.editor.focus()}))}},e.prototype._getSuggestionAriaAlertLabel=function(e){return ze(e)?n.a("ariaCurrentSuggestionWithDetails","{0}, suggestion, has details",e.suggestion.label):n.a("ariaCurrentSuggestion","{0}, suggestion",e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(d.a)(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(Fe);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var o=e.getColor(He);o&&(this.listElement.style.borderColor=o.toString(),this.details.element.style.borderColor=o.toString(),this.messageElement.style.borderColor=o.toString(),this.detailsBorderColor=o.toString());var n=e.getColor(Re.H);n&&(this.detailsFocusBorderColor=n.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var o=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(o)),this.firstFocusInCurrentList=!this.focusedItem,o!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var n=e.indexes[0];this.suggestionSupportsAutoAccept.set(!o.suggestion.noAutoAccept),this.focusedItem=o,this.list.reveal(n),this.currentSuggestionDetails=Object(y.i)((function(e){return o.resolve(e)})),this.currentSuggestionDetails.then((function(){t.ignoreFocusEvents=!0,t.list.splice(n,1,[o]),t.list.setFocus([n]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails():Object(N.G)(t.element,"docs-side")})).catch(i.e).then((function(){t.focusedItem===o&&(t.currentSuggestionDetails=null)})),this.onDidFocusEmitter.fire({item:o,index:n,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var o=this.state!==t;switch(this.state=t,Object(N.N)(this.element,"frozen",4===t),t){case 0:Object(N.A)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,o&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(N.A)(this.listElement,this.details.element),Object(N.M)(this.messageElement),Object(N.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(N.A)(this.listElement,this.details.element),Object(N.M)(this.messageElement),Object(N.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(N.A)(this.messageElement),Object(N.M)(this.listElement),this.show();break;case 5:Object(N.A)(this.messageElement),Object(N.M)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout((function(){t.loadingTimeout=null,t.setState(1)}),50)))},e.prototype.showSuggestions=function(e,t,o,n){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel!==e&&(this.completionModel=e),o&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,r=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),r)n?this.setState(0):this.setState(2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!n,this.telemetryService.publicLog("suggestWidget",Pe({},s,this.editor.getTelemetryData())),this.list.splice(0,this.list.length,this.completionModel.items),o?this.setState(4):this.setState(3),this.list.reveal(t,t),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(ze(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(N.A)(this.details.element),Object(N.G)(this.element,"docs-side"),Object(N.G)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),Object(N.M)(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet((function(){Object(N.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)}),100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(N.G)(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[Te.a.BELOW,Te.a.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),o=Object(N.u)(this.editor.getDomNode()),n=o.left+t.left,i=o.top+t.top+t.height,r=Object(N.u)(this.element),s=r.left,a=r.top;s<n-this.listWidth?Object(N.f)(this.element,"list-right"):Object(N.G)(this.element,"list-right"),Object(N.z)(this.element,"docs-side")&&i-e>a&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")},e.prototype.expandSideOrBelow=function(){if(!ze(this.focusedItem)&&this.firstFocusInCurrentList)return Object(N.G)(this.element,"docs-side"),void Object(N.G)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])<this.maxWidgetWidth?(Object(N.f)(this.element,"docs-below"),Object(N.G)(this.element,"docs-side")):ze(this.focusedItem)&&(Object(N.f)(this.element,"docs-side"),Object(N.G)(this.element,"docs-below"))},Object.defineProperty(e.prototype,"maxWidgetHeight",{get:function(){return 12*this.unfocusedHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unfocusedHeight",{get:function(){var e=this.editor.getConfiguration();return e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight},enumerable:!0,configurable:!0}),e.prototype.getHeight=function(e){return this.unfocusedHeight},e.prototype.getTemplateId=function(e){return"suggestion"},e.prototype.expandDocsSettingFromStorage=function(){return this.storageServiceAvailable?this.storageService.getBoolean("expandSuggestionDocs",Le.c.GLOBAL):this.expandSuggestionDocs},e.prototype.updateExpandDocsSetting=function(e){this.storageServiceAvailable?this.storageService.store("expandSuggestionDocs",e,Le.c.GLOBAL):this.expandSuggestionDocs=e},e.prototype.dispose=function(){this.state=null,this.suggestionSupportsAutoAccept=null,this.currentSuggestionDetails=null,this.focusedItem=null,this.element=null,this.messageElement=null,this.listElement=null,this.details.dispose(),this.details=null,this.list.dispose(),this.list=null,this.toDispose=Object(s.d)(this.toDispose),this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.editorBlurTimeout.dispose(),this.showTimeout.dispose()},e.ID="editor.widget.suggestWidget",e.LOADING_MESSAGE=n.a("suggestWidget.loading","Loading..."),e.NO_SUGGESTIONS_MESSAGE=n.a("suggestWidget.noSuggestions","No suggestions."),e=xe([Me(1,we.a),Me(2,l.e),Me(3,Oe.c),Me(4,Le.a),Me(5,Se.a),Me(6,Ie.a),Me(7,De.a)],e)}();Object(Oe.e)((function(e,t){var o=e.getColor(We);o&&t.addRule(".monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: "+o+"; }");var n=e.getColor(Ue);n&&t.addRule(".monaco-editor .suggest-widget { color: "+n+"; }");var i=e.getColor(Re.qb);i&&t.addRule(".monaco-editor .suggest-widget a { color: "+i+"; }");var r=e.getColor(Re.pb);r&&t.addRule(".monaco-editor .suggest-widget code { background-color: "+r+"; }")}));var qe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),$e=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Je=function(e,t){return function(o,n){t(o,n,e)}},Ze=function(){function e(){}return e.prototype.select=function(e,t,o){if(0===o.length)return 0;for(var n=o[0].score,i=1;i<o.length;i++){var r=o[i],s=r.score,a=r.suggestion;if(s!==n)break;if(a.preselect)return i}return 0},e}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return qe(t,e),t.prototype.memorize=function(e,t,o){},t.prototype.toJSON=function(){},t.prototype.fromJSON=function(){},t}(Ze),et=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._cache=new b.a(300,.66),t._seq=0,t}return qe(t,e),t.prototype.memorize=function(e,t,o){var n=o.suggestion.label,i=e.getLanguageIdentifier().language+"/"+n;this._cache.set(i,{touch:this._seq++,type:o.suggestion.type,insertText:o.suggestion.insertText})},t.prototype.select=function(t,o,n){if(0!==t.getWordUntilPosition(o).word.length)return e.prototype.select.call(this,t,o,n);var i=t.getLineContent(o.lineNumber).substr(o.column-10,o.column-1);if(/\s$/.test(i))return e.prototype.select.call(this,t,o,n);for(var r=-1,s=-1,a=0;a<n.length;a++){var l=n[a].suggestion,u=t.getLanguageIdentifier().language+"/"+l.label,c=this._cache.get(u);c&&c.touch>s&&c.type===l.type&&c.insertText===l.insertText&&(s=c.touch,r=a)}return-1===r?e.prototype.select.call(this,t,o,n):r},t.prototype.toJSON=function(){var e=[];return this._cache.forEach((function(t,o){e.push([o,t])})),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n[0],r=n[1];r.touch=0,this._cache.set(i,r)}this._seq=this._cache.size},t}(Ze),tt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._trie=b.c.forStrings(),t._seq=0,t}return qe(t,e),t.prototype.memorize=function(e,t,o){var n=e.getWordUntilPosition(t).word,i=e.getLanguageIdentifier().language+"/"+n;this._trie.set(i,{type:o.suggestion.type,insertText:o.suggestion.insertText,touch:this._seq++})},t.prototype.select=function(t,o,n){var i=t.getWordUntilPosition(o).word;if(!i)return e.prototype.select.call(this,t,o,n);var r=t.getLanguageIdentifier().language+"/"+i,s=this._trie.get(r);if(s||(s=this._trie.findSubstr(r)),s)for(var a=0;a<n.length;a++){var l=n[a].suggestion,u=l.type,c=l.insertText;if(u===s.type&&c===s.insertText)return a}return e.prototype.select.call(this,t,o,n)},t.prototype.toJSON=function(){var e=[];return this._trie.forEach((function(t,o){return e.push([o,t])})),e.sort((function(e,t){return-(e[1].touch-t[1].touch)})).forEach((function(e,t){return e[1].touch=t})),e.slice(0,200)},t.prototype.fromJSON=function(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n[0],r=n[1];this._trie.set(i,r)}}},t}(Ze),ot=function(){function e(e,t){var o=this;this._storageService=t,this._storagePrefix="suggest/memories",this._persistSoon=new y.c((function(){return o._flush()}),3e3),this.setMode(e)}return e.prototype.setMode=function(e){if(this._mode!==e){this._mode=e,this._strategy="recentlyUsedByPrefix"===e?new tt:"recentlyUsed"===e?new et:new Qe;try{var t=this._storageService.get(this._storagePrefix+"/"+this._mode,Le.c.WORKSPACE);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}},e.prototype.memorize=function(e,t,o){this._strategy.memorize(e,t,o),this._persistSoon.schedule()},e.prototype.select=function(e,t,o){return this._strategy.select(e,t,o)},e.prototype._flush=function(){var e=JSON.stringify(this._strategy);this._storageService.store(this._storagePrefix+"/"+this._mode,e,Le.c.WORKSPACE)},e=$e([Je(1,Le.a)],e)}();o.d(t,"SuggestController",(function(){return at})),o.d(t,"TriggerSuggestAction",(function(){return lt}));var nt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),it=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},rt=function(e,t){return function(o,n){t(o,n,e)}},st=function(){function e(e,t,o){var n=this;this._disposables=[],this._activeAcceptCharacters=new Set,this._disposables.push(t.onDidShow((function(){return n._onItem(t.getFocusedItem())}))),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType((function(t){if(n._activeItem){var i=t[t.length-1];n._activeAcceptCharacters.has(i)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&o(n._activeItem)}})))}return e.prototype._onItem=function(e){if(e&&!Object(r.k)(e.item.suggestion.commitCharacters)){this._activeItem=e,this._activeAcceptCharacters.clear();for(var t=0,o=e.item.suggestion.commitCharacters;t<o.length;t++){var n=o[t];n.length>0&&this._activeAcceptCharacters.add(n[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){Object(s.d)(this._disposables)},e}(),at=function(){function e(e,t,o,n){var i=this;this._editor=e,this._commandService=t,this._contextKeyService=o,this._instantiationService=n,this._toDispose=[],this._model=new R(this._editor),this._memory=n.createInstance(ot,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger((function(e){i._widget||i._createSuggestWidget(),i._widget.showTriggered(e.auto)}))),this._toDispose.push(this._model.onDidSuggest((function(e){var t=i._memory.select(i._editor.getModel(),i._editor.getPosition(),e.completionModel.items);i._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}))),this._toDispose.push(this._model.onDidCancel((function(e){i._widget&&!e.retrigger&&i._widget.hideWidget()})));var r=_.a.AcceptSuggestionsOnEnter.bindTo(o),s=function(){var e=i._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,o=e.suggestSelection;r.set("on"===t||"smart"===t),i._memory.setMode(o)};this._toDispose.push(this._editor.onDidChangeConfiguration((function(e){return s()}))),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(Xe,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new st(this._editor,this._widget,(function(t){return e._onDidSelectItem(t)}));this._toDispose.push(t,this._model.onDidSuggest((function(e){0===e.completionModel.items.length&&t.reset()})));var o=_.a.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus((function(t){var n=t.item,i=e._editor.getPosition(),r=n.position.column-n.suggestion.overwriteBefore,s=i.column,a=!0;"smart"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||n.suggestion.command||n.suggestion.additionalTextEdits||"textmate"===n.suggestion.snippetType||s-r!==n.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:s})!==n.suggestion.insertText);o.set(a)}))),this._toDispose.push({dispose:function(){o.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=Object(s.d)(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){var t;if(e&&e.item){var o=e.item,n=o.suggestion,r=o.position,s=this._editor.getPosition().column-r.column;this._editor.pushUndoStop(),Array.isArray(n.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",n.additionalTextEdits.map((function(e){return g.a.replace(p.a.lift(e.range),e.text)}))),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var a=n.insertText;"textmate"!==n.snippetType&&(a=f.c.escape(a)),m.SnippetController2.get(this._editor).insert(a,n.overwriteBefore+s,n.overwriteAfter,!1,!1),this._editor.pushUndoStop(),n.command?n.command.id===lt.id?this._model.trigger({auto:!0},!0):((t=this._commandService).executeCommand.apply(t,[n.command.id].concat(n.command.arguments)).done(void 0,i.e),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion,o=n.a("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText);Object(d.a)(o)},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=it([rt(1,u.b),rt(2,l.e),rt(3,a.a)],e)}(),lt=function(e){function t(){return e.call(this,{id:t.id,label:n.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:l.d.and(c.a.writable,c.a.hasCompletionItemProvider),kbOpts:{kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return nt(t,e),t.prototype.run=function(e,t){var o=at.get(t);o&&o.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(h.b);Object(h.h)(at),Object(h.f)(lt);var ut=h.c.bindToContribution(at.get);Object(h.g)(new ut({id:"acceptSelectedSuggestion",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2}})),Object(h.g)(new ut({id:"acceptSelectedSuggestionOnEnter",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:l.d.and(c.a.textInputFocus,_.a.AcceptSuggestionsOnEnter,_.a.MakesTextEdit),primary:3}})),Object(h.g)(new ut({id:"hideSuggestWidget",precondition:_.a.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:9,secondary:[1033]}})),Object(h.g)(new ut({id:"selectNextSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(h.g)(new ut({id:"selectNextPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:12,secondary:[2060]}})),Object(h.g)(new ut({id:"selectLastSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(h.g)(new ut({id:"selectPrevSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(h.g)(new ut({id:"selectPrevPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:11,secondary:[2059]}})),Object(h.g)(new ut({id:"selectFirstSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(h.g)(new ut({id:"toggleSuggestionDetails",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(h.g)(new ut({id:"toggleSuggestionFocus",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2570,mac:{primary:778}}}))},function(e,t,o){"use strict";o.r(t);o(476);var n=o(0),i=o(39),r=o(15),s=o(82),a=o(89),l=o(2),u=o(3),c=o(16),h=o(1),d=o(9),g=o(11),p=o(25),f=o(13),m=o(48);function _(e,t,o){var n=g.m.ordered(e).map((function(n){return Promise.resolve(n.provideHover(e,t,o)).then((function(e){return e&&(o=void 0!==(t=e).range,n=void 0!==t.contents&&t.contents&&t.contents.length>0,o&&n)?e:void 0;var t,o,n}),(function(e){Object(f.f)(e)}))}));return Promise.all(n).then((function(e){return Object(p.c)(e)}))}Object(u.e)("_executeHoverProvider",(function(e,t){return _(e,t,m.a.None)}));var y,v=o(17),b=function(){function e(t,o,n,i){var r=this;this._computer=t,this._state=0,this._hoverTime=e.HOVER_TIME,this._firstWaitScheduler=new v.c((function(){return r._triggerAsyncComputation()}),0),this._secondWaitScheduler=new v.c((function(){return r._triggerSyncComputation()}),0),this._loadingMessageScheduler=new v.c((function(){return r._showLoadingMessage()}),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=o,this._errorCallback=n,this._progressCallback=i}return e.prototype.setHoverTime=function(e){this._hoverTime=e},e.prototype._firstWaitTime=function(){return this._hoverTime/2},e.prototype._secondWaitTime=function(){return this._hoverTime/2},e.prototype._loadingMessageTime=function(){return 3*this._hoverTime},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=Object(v.i)((function(t){return e._computer.computeAsync(t)})),this._asyncComputationPromise.then((function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)}),(function(t){return e._onError(t)}))):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):Object(f.e)(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(e){if(0===e)0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}(),E=o(59),C=o(81),S=o(6),T=(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e){function t(t,o){var n=e.call(this)||this;return n.disposables=[],n.allowEditorOverflow=!0,n._id=t,n._editor=o,n._isVisible=!1,n._containerDomNode=document.createElement("div"),n._containerDomNode.className="monaco-editor-hover hidden",n._containerDomNode.tabIndex=0,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover-content",n.scrollbar=new C.a(n._domNode,{}),n.disposables.push(n.scrollbar),n._containerDomNode.appendChild(n.scrollbar.getDomNode()),n.onkeydown(n._containerDomNode,(function(e){e.equals(9)&&n.hide()})),n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.onDidLayoutChange((function(e){return n.updateMaxHeight()})),n.updateMaxHeight(),n._editor.addContentWidget(n),n._showAtPosition=null,n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new d.a(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[c.a.ABOVE,c.a.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=Object(S.d)(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,o=t.fontSize,n=t.lineHeight;this._domNode.style.fontSize=o+"px",this._domNode.style.lineHeight=n+"px",this._domNode.style.maxHeight=e+"px"},t}(E.a),k=function(e){function t(t,o){var n=e.call(this)||this;return n._id=t,n._editor=o,n._isVisible=!1,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover hidden",n._domNode.setAttribute("aria-hidden","true"),n._domNode.setAttribute("role","presentation"),n._showAtLineNumber=-1,n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.addOverlayWidget(n),n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),o=this._editor.getTopForLineNumber(this._showAtLineNumber),n=this._editor.getScrollTop(),i=this._editor.getConfiguration().lineHeight,r=o-n-(this._domNode.clientHeight-i)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),o=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(o).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(E.a),O=o(71),R=o(26),L=o(4),N=function(){function e(e,t,o){this.presentationIndex=o,this._onColorFlushed=new L.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new L.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new L.a,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"presentation",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"colorPresentations",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var o=0;o<this.colorPresentations.length;o++)if(t===this.colorPresentations[o].label){this.presentationIndex=o,this._onDidChangePresentation.fire(this.presentation);break}},e.prototype.flushColor=function(){this._onColorFlushed.fire(this._color)},e}(),I=(o(477),o(24)),D=o(73),A=o(14),P=o(7),x=o(19),M=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),B=h.a,F=function(e){function t(t,o,n){var i=e.call(this)||this;i.model=o,i.domNode=B(".colorpicker-header"),h.k(t,i.domNode),i.pickedColorNode=h.k(i.domNode,B(".picked-color"));var r=h.k(i.domNode,B(".original-color"));return r.style.backgroundColor=A.a.Format.CSS.format(i.model.originalColor),i.backgroundColor=n.getTheme().getColor(P.v)||A.a.white,i._register(Object(x.e)((function(e,t){i.backgroundColor=e.getColor(P.v)||A.a.white}))),i._register(h.g(i.pickedColorNode,h.d.CLICK,(function(){return i.model.selectNextColorPresentation()}))),i._register(h.g(r,h.d.CLICK,(function(){i.model.color=i.model.originalColor,i.model.flushColor()}))),i._register(o.onDidChangeColor(i.onDidChangeColor,i)),i._register(o.onDidChangePresentation(i.onDidChangePresentation,i)),i.pickedColorNode.style.backgroundColor=A.a.Format.CSS.format(o.color),h.N(i.pickedColorNode,"light",o.color.rgba.a<.5?i.backgroundColor.isLighter():o.color.isLighter()),i}return M(t,e),t.prototype.onDidChangeColor=function(e){this.pickedColorNode.style.backgroundColor=A.a.Format.CSS.format(e),h.N(this.pickedColorNode,"light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()},t.prototype.onDidChangePresentation=function(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:""},t}(S.a),H=function(e){function t(t,o,n){var i=e.call(this)||this;return i.model=o,i.pixelRatio=n,i.domNode=B(".colorpicker-body"),h.k(t,i.domNode),i.saturationBox=new U(i.domNode,i.model,i.pixelRatio),i._register(i.saturationBox),i._register(i.saturationBox.onDidChange(i.onDidSaturationValueChange,i)),i._register(i.saturationBox.onColorFlushed(i.flushColor,i)),i.opacityStrip=new W(i.domNode,i.model),i._register(i.opacityStrip),i._register(i.opacityStrip.onDidChange(i.onDidOpacityChange,i)),i._register(i.opacityStrip.onColorFlushed(i.flushColor,i)),i.hueStrip=new j(i.domNode,i.model),i._register(i.hueStrip),i._register(i.hueStrip.onDidChange(i.onDidHueChange,i)),i._register(i.hueStrip.onColorFlushed(i.flushColor,i)),i}return M(t,e),t.prototype.flushColor=function(){this.model.flushColor()},t.prototype.onDidSaturationValueChange=function(e){var t=e.s,o=e.v,n=this.model.color.hsva;this.model.color=new A.a(new A.b(n.h,t,o,n.a))},t.prototype.onDidOpacityChange=function(e){var t=this.model.color.hsva;this.model.color=new A.a(new A.b(t.h,t.s,t.v,e))},t.prototype.onDidHueChange=function(e){var t=this.model.color.hsva,o=360*(1-e);this.model.color=new A.a(new A.b(360===o?0:o,t.s,t.v,t.a))},t.prototype.layout=function(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()},t}(S.a),U=function(e){function t(t,o,n){var i=e.call(this)||this;return i.model=o,i.pixelRatio=n,i._onDidChange=new L.a,i.onDidChange=i._onDidChange.event,i._onColorFlushed=new L.a,i.onColorFlushed=i._onColorFlushed.event,i.domNode=B(".saturation-wrap"),h.k(t,i.domNode),i.canvas=document.createElement("canvas"),i.canvas.className="saturation-box",h.k(i.domNode,i.canvas),i.selection=B(".saturation-selection"),h.k(i.domNode,i.selection),i.layout(),i._register(h.g(i.domNode,h.d.MOUSE_DOWN,(function(e){return i.onMouseDown(e)}))),i._register(i.model.onDidChangeColor(i.onDidChangeColor,i)),i.monitor=null,i}return M(t,e),t.prototype.onMouseDown=function(e){var t=this;this.monitor=this._register(new D.a);var o=h.u(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(D.b,(function(e){return t.onDidChangePosition(e.posx-o.left,e.posy-o.top)}),(function(){return null}));var n=h.g(document,h.d.MOUSE_UP,(function(){t._onColorFlushed.fire(),n.dispose(),t.monitor.stopMonitoring(!0),t.monitor=null}),!0)},t.prototype.onDidChangePosition=function(e,t){var o=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(o,n),this._onDidChange.fire({s:o,v:n})},t.prototype.layout=function(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();var e=this.model.color.hsva;this.paintSelection(e.s,e.v)},t.prototype.paint=function(){var e=this.model.color.hsva,t=new A.a(new A.b(e.h,1,1,1)),o=this.canvas.getContext("2d"),n=o.createLinearGradient(0,0,this.canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");var i=o.createLinearGradient(0,0,0,this.canvas.height);i.addColorStop(0,"rgba(0, 0, 0, 0)"),i.addColorStop(1,"rgba(0, 0, 0, 1)"),o.rect(0,0,this.canvas.width,this.canvas.height),o.fillStyle=A.a.Format.CSS.format(t),o.fill(),o.fillStyle=n,o.fill(),o.fillStyle=i,o.fill()},t.prototype.paintSelection=function(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"},t.prototype.onDidChangeColor=function(){this.monitor&&this.monitor.isMonitoring()||this.paint()},t}(S.a),V=function(e){function t(t,o){var n=e.call(this)||this;return n.model=o,n._onDidChange=new L.a,n.onDidChange=n._onDidChange.event,n._onColorFlushed=new L.a,n.onColorFlushed=n._onColorFlushed.event,n.domNode=h.k(t,B(".strip")),n.overlay=h.k(n.domNode,B(".overlay")),n.slider=h.k(n.domNode,B(".slider")),n.slider.style.top="0px",n._register(h.g(n.domNode,h.d.MOUSE_DOWN,(function(e){return n.onMouseDown(e)}))),n.layout(),n}return M(t,e),t.prototype.layout=function(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;var e=this.getValue(this.model.color);this.updateSliderPosition(e)},t.prototype.onMouseDown=function(e){var t=this,o=this._register(new D.a),n=h.u(this.domNode);h.f(this.domNode,"grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),o.startMonitoring(D.b,(function(e){return t.onDidChangeTop(e.posy-n.top)}),(function(){return null}));var i=h.g(document,h.d.MOUSE_UP,(function(){t._onColorFlushed.fire(),i.dispose(),o.stopMonitoring(!0),h.G(t.domNode,"grabbing")}),!0)},t.prototype.onDidChangeTop=function(e){var t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)},t.prototype.updateSliderPosition=function(e){this.slider.style.top=(1-e)*this.height+"px"},t}(S.a),W=function(e){function t(t,o){var n=e.call(this,t,o)||this;return h.f(n.domNode,"opacity-strip"),n._register(o.onDidChangeColor(n.onDidChangeColor,n)),n.onDidChangeColor(n.model.color),n}return M(t,e),t.prototype.onDidChangeColor=function(e){var t=e.rgba,o=t.r,n=t.g,i=t.b,r=new A.a(new A.c(o,n,i,1)),s=new A.a(new A.c(o,n,i,0));this.overlay.style.background="linear-gradient(to bottom, "+r+" 0%, "+s+" 100%)"},t.prototype.getValue=function(e){return e.hsva.a},t}(V),j=function(e){function t(t,o){var n=e.call(this,t,o)||this;return h.f(n.domNode,"hue-strip"),n}return M(t,e),t.prototype.getValue=function(e){return 1-e.hsva.h/360},t}(V),G=function(e){function t(t,o,n,i){var r=e.call(this)||this;r.model=o,r.pixelRatio=n,r._register(Object(I.p)((function(){return r.layout()})));var s=B(".colorpicker-widget");t.appendChild(s);var a=new F(s,r.model,i);return r.body=new H(s,r.model,r.pixelRatio),r._register(a),r._register(r.body),r}return M(t,e),t.prototype.layout=function(){this.body.layout()},t}(E.a),z=o(172),K=o(175),Y=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),X=h.a,q=function(e,t,o){this.range=e,this.color=t,this.provider=o},$=function(){function e(e){this._editor=e,this._range=null}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(e){var t=this._editor.getModel();return g.m.has(t)?_(t,new d.a(this._range.startLineNumber,this._range.startColumn),e):Promise.resolve(null)},e.prototype.computeSync=function(){var e=this,t=this._range.startLineNumber;if(t>this._editor.getModel().getLineCount())return[];var o=z.ColorDetector.get(this._editor),n=this._editor.getModel().getLineMaxColumn(t),i=this._editor.getLineDecorations(t),r=!1;return i.map((function(i){var s=i.range.startLineNumber===t?i.range.startColumn:1,a=i.range.endLineNumber===t?i.range.endColumn:n;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new l.a(e._range.startLineNumber,s,e._range.startLineNumber,a),c=o.getColorData(i.range.getStartPosition());if(!r&&c){r=!0;var h=c.colorInfo,d=h.color,g=h.range;return new q(g,d,c.provider)}if(Object(O.b)(i.options.hoverMessage))return null;var p=void 0;return i.options.hoverMessage&&(p=Array.isArray(i.options.hoverMessage)?i.options.hoverMessage.slice():[i.options.hoverMessage]),{contents:p,range:u}})).filter((function(e){return!!e}))},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort((function(e,t){return e instanceof q?-1:t instanceof q?1:0}))):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new O.a).appendText(n.a("modesContentHover.loading","Loading..."))]}},e}(),J=function(e){function t(o,n,i){var r=e.call(this,t.ID,o)||this;return r._themeService=i,r.renderDisposable=S.a.None,r._computer=new $(r._editor),r._highlightDecorations=[],r._isChangingDecorations=!1,r._markdownRenderer=n,r._register(n.onDidRenderCodeBlock(r.onContentsChange,r)),r._hoverOperation=new b(r._computer,(function(e){return r._withResult(e,!0)}),null,(function(e){return r._withResult(e,!1)})),r._register(h.j(r.getDomNode(),h.d.FOCUS,(function(){r._colorPicker&&h.f(r.getDomNode(),"colorpicker-hover")}))),r._register(h.j(r.getDomNode(),h.d.BLUR,(function(){h.G(r.getDomNode(),"colorpicker-hover")}))),r._register(o.onDidChangeConfiguration((function(e){r._hoverOperation.setHoverTime(r._editor.getConfiguration().contribInfo.hover.delay)}))),r}return Y(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,o){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],i=0,r=this._messages.length;i<r;i++){var s=this._messages[i],a=s.range;a.startColumn<=e.startColumn&&a.endColumn>=e.endColumn&&n.push(s)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var o=0;o<e.length;o++){var n=e[o],i=t[o];if(n instanceof q)return!1;if(i instanceof q)return!1;if(!Object(O.c)(n.contents,i.contents))return!1}return!0}(n,this._messages))return;this._renderMessages(e,n)}else this.hide()}this._lastRange=e,this._computer.setRange(e),this._shouldFocus=o,this._hoverOperation.start(t)}},t.prototype.hide=function(){this._lastRange=null,this._hoverOperation.cancel(),e.prototype.hide.call(this),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._colorPicker=null},t.prototype.isColorPickerVisible=function(){return!!this._colorPicker},t.prototype._withResult=function(e,t){this._messages=e,this._lastRange&&this._messages.length>0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,o){var n=this;this.renderDisposable.dispose(),this._colorPicker=null;var i,r=Number.MAX_VALUE,s=o[0].range,a=document.createDocumentFragment(),u=!0,c=!1;o.forEach((function(t){if(t.range)if(r=Math.min(r,t.range.startColumn),s=l.a.plusRange(s,t.range),t instanceof q){c=!0;var o=t.color,h=o.red,g=o.green,p=o.blue,f=o.alpha,_=new A.c(255*h,255*g,255*p,f),y=new A.a(_),v=n._editor.getModel(),b=new l.a(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),E={range:t.range,color:t.color},C=new N(y,[],0),T=new G(a,C,n._editor.getConfiguration().pixelRatio,n._themeService);Object(K.a)(v,E,t.provider,m.a.None).then((function(o){C.colorPresentations=o;var s=n._editor.getModel().getValueInRange(t.range);C.guessColorPresentation(y,s);var u=function(){var e,t;C.presentation.textEdit?(e=[C.presentation.textEdit],t=(t=new l.a(C.presentation.textEdit.range.startLineNumber,C.presentation.textEdit.range.startColumn,C.presentation.textEdit.range.endLineNumber,C.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+C.presentation.textEdit.text.length)):(e=[{identifier:null,range:b,text:C.presentation.label,forceMoveMarkers:!1}],t=b.setEndPosition(b.endLineNumber,b.startColumn+C.presentation.label.length)),n._editor.executeEdits("colorpicker",e),C.presentation.additionalTextEdits&&(e=C.presentation.additionalTextEdits.slice(),n._editor.executeEdits("colorpicker",e),n.hide()),n._editor.pushUndoStop(),b=t},c=function(e){return Object(K.a)(v,{range:b,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider,m.a.None).then((function(e){C.colorPresentations=e}))},h=C.onColorFlushed((function(e){c(e).then(u)})),g=C.onDidChangeColor(c);n._colorPicker=T,n.showAt(new d.a(e.startLineNumber,r),n._shouldFocus),n.updateContents(a),n._colorPicker.layout(),n.renderDisposable=Object(S.c)([h,g,T,i])}))}else t.contents.filter((function(e){return!Object(O.b)(e)})).forEach((function(e){var t=n._markdownRenderer.render(e);i=t,a.appendChild(X("div.hover-row",null,t.element)),u=!1}))})),c||u||(this.showAt(new d.a(e.startLineNumber,r),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=R.a.register({className:"hoverHighlight"}),t}(w);var Z=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Q=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),o=[],n=0,i=t.length;n<i;n++){var r=t[n];if(r.options.glyphMarginClassName){var s=r.options.glyphMarginHoverMessage;Object(O.b)(s)||(Array.isArray(s)?o=o.concat(s.map(e)):o.push(e(s)))}}return o},e.prototype.onResult=function(e,t){this._result=this._result.concat(e)},e.prototype.getResult=function(){return this._result},e.prototype.getResultWithLoadingMessage=function(){return this.getResult()},e}(),ee=function(e){function t(o,n){var i=e.call(this,t.ID,o)||this;return i._lastLineNumber=-1,i._markdownRenderer=n,i._computer=new Q(i._editor),i._hoverOperation=new b(i._computer,(function(e){return i._withResult(e)}),null,(function(e){return i._withResult(e)})),i}return Z(t,e),t.prototype.dispose=function(){this._renderDisposeables=Object(S.d)(this._renderDisposeables),this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e){this._lastLineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=e,this._computer.setLineNumber(e),this._hoverOperation.start(0))},t.prototype.hide=function(){this._lastLineNumber=-1,this._hoverOperation.cancel(),e.prototype.hide.call(this)},t.prototype._withResult=function(e){this._messages=e,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var o=this;Object(S.d)(this._renderDisposeables),this._renderDisposeables=[];var n=document.createDocumentFragment();t.forEach((function(e){var t=o._markdownRenderer.render(e.value);o._renderDisposeables.push(t),n.appendChild(Object(h.a)("div.hover-row",null,t.element))})),this.updateContents(n),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(k),te=o(5),oe=o(160);o.d(t,"ModesHoverController",(function(){return se}));var ne=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(e,t){return function(o,n){t(o,n,e)}},se=function(){function e(e,t,o,n){var i=this;this._editor=e,this._openerService=t,this._modeService=o,this._themeService=n,this._toUnhook=[],this._isMouseDown=!1,this._hoverClicked=!1,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&(i._hideWidgets(),i._unhookEvents(),i._hookEvents())}))}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._hookEvents=function(){var e=this,t=function(){return e._hideWidgets()},o=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=o.enabled,this._isHoverSticky=o.sticky,this._isHoverEnabled?(this._toUnhook.push(this._editor.onMouseDown((function(t){return e._onEditorMouseDown(t)}))),this._toUnhook.push(this._editor.onMouseUp((function(t){return e._onEditorMouseUp(t)}))),this._toUnhook.push(this._editor.onMouseMove((function(t){return e._onEditorMouseMove(t)}))),this._toUnhook.push(this._editor.onKeyDown((function(t){return e._onKeyDown(t)}))),this._toUnhook.push(this._editor.onDidChangeModelDecorations((function(){return e._onModelDecorationsChanged()})))):this._toUnhook.push(this._editor.onMouseMove(t)),this._toUnhook.push(this._editor.onMouseLeave(t)),this._toUnhook.push(this._editor.onDidChangeModel(t)),this._toUnhook.push(this._editor.onDidScrollChange((function(t){return e._onEditorScrollChanged(t)})))},e.prototype._unhookEvents=function(){this._toUnhook=Object(S.d)(this._toUnhook)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorScrollChanged=function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID?t===c.b.OVERLAY_WIDGET&&e.target.detail===ee.ID||(t!==c.b.OVERLAY_WIDGET&&e.target.detail!==ee.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,o=r.d?e.event.metaKey:e.event.ctrlKey;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible())&&(!this._isHoverSticky||t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID||o)&&(!this._isHoverSticky||t!==c.b.OVERLAY_WIDGET||e.target.detail!==ee.ID||o)){if(t===c.b.CONTENT_EMPTY){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText<n&&(t=c.b.CONTENT_TEXT)}t===c.b.CONTENT_TEXT?(this.glyphWidget.hide(),this._isHoverEnabled&&this.contentWidget.startShowingAt(e.target.range,0,!1)):t===c.b.GUTTER_GLYPH_MARGIN?(this.contentWidget.hide(),this._isHoverEnabled&&this.glyphWidget.startShowingAt(e.target.position.lineNumber)):this._hideWidgets()}},e.prototype._onKeyDown=function(e){5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&this._hideWidgets()},e.prototype._hideWidgets=function(){!this._contentWidget||this._isMouseDown&&this._hoverClicked&&this._contentWidget.isColorPickerVisible()||(this._glyphWidget.hide(),this._contentWidget.hide())},e.prototype._createHoverWidget=function(){var e=new oe.a(this._editor,this._modeService,this._openerService);this._contentWidget=new J(this._editor,e,this._themeService),this._glyphWidget=new ee(this._editor,e)},e.prototype.showContentHover=function(e,t,o){this.contentWidget.startShowingAt(e,t,o)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._unhookEvents(),this._didChangeConfigurationHandler.dispose(),this._glyphWidget&&(this._glyphWidget.dispose(),this._glyphWidget=null),this._contentWidget&&(this._contentWidget.dispose(),this._contentWidget=null)},e.ID="editor.contrib.hover",e=ie([re(1,s.a),re(2,a.a),re(3,x.c)],e)}(),ae=function(e){function t(){return e.call(this,{id:"editor.action.showHover",label:n.a({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:null,kbOpts:{kbExpr:te.a.editorTextFocus,primary:Object(i.a)(2089,2087),weight:100}})||this}return ne(t,e),t.prototype.run=function(e,t){var o=se.get(t);if(o){var n=t.getPosition(),i=new l.a(n.lineNumber,n.column,n.lineNumber,n.column);o.showContentHover(i,1,!0)}},t}(u.b);Object(u.h)(se),Object(u.f)(ae),Object(x.e)((function(e,t){var o=e.getColor(P.x);o&&t.addRule(".monaco-editor .hoverHighlight { background-color: "+o+"; }");var n=e.getColor(P.v);n&&t.addRule(".monaco-editor .monaco-editor-hover { background-color: "+n+"; }");var i=e.getColor(P.w);i&&(t.addRule(".monaco-editor .monaco-editor-hover { border: 1px solid "+i+"; }"),t.addRule(".monaco-editor .monaco-editor-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid "+i.transparent(.5)+"; }"));var r=e.getColor(P.qb);r&&t.addRule(".monaco-editor .monaco-editor-hover a { color: "+r+"; }");var s=e.getColor(P.pb);s&&t.addRule(".monaco-editor .monaco-editor-hover code { background-color: "+s+"; }")}))},function(e,t,o){"use strict";o.r(t);o(445);var n=o(0),i=o(21),r=o(8),s=o(17),a=o(39),l=o(6),u=o(10),c=o(3),h=o(16),d=o(4),g=65535,p=function(){function e(e,t,o){if(e.length!==t.length||e.length>g)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=o}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],o=function(o,n){var i=t[t.length-1];return e.getStartLineNumber(i)<=o&&e.getEndLineNumber(i)>=n},n=0,i=this._startIndexes.length;n<i;n++){var r=this._startIndexes[n],s=this._endIndexes[n];if(r>16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!o(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(n),this._startIndexes[n]=r+((255&a)<<24),this._endIndexes[n]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,o=e%32;return 0!=(this._collapseStates[t]&1<<o)},e.prototype.setCollapsed=function(e,t){var o=e/32|0,n=e%32,i=this._collapseStates[o];this._collapseStates[o]=t?i|1<<n:i&~(1<<n)},e.prototype.toRegion=function(e){return new f(this,e)},e.prototype.getParentIndex=function(e){this.ensureParentIndices();var t=((4278190080&this._startIndexes[e])>>>24)+((4278190080&this._endIndexes[e])>>>16);return t===g?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,o=this._startIndexes.length;if(0===o)return-1;for(;t<o;){var n=Math.floor((t+o)/2);e<this.getStartLineNumber(n)?o=n:t=n+1}return t-1},e.prototype.findRange=function(e){var t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t<this.length;t++)e[t]="["+(this.isCollapsed(t)?"+":"-")+"] "+this.getStartLineNumber(t)+"/"+this.getEndLineNumber(t);return e.join(", ")},e}(),f=function(){function e(e,t){this.ranges=e,this.index=t}return Object.defineProperty(e.prototype,"startLineNumber",{get:function(){return this.ranges.getStartLineNumber(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"endLineNumber",{get:function(){return this.ranges.getEndLineNumber(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"regionIndex",{get:function(){return this.index},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parentIndex",{get:function(){return this.ranges.getParentIndex(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCollapsed",{get:function(){return this.ranges.isCollapsed(this.index)},enumerable:!0,configurable:!0}),e.prototype.containedBy=function(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),m=function(){function e(e,t){this._updateEventEmitter=new d.a,this._textModel=e,this._decorationProvider=t,this._regions=new p(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var o={};this._decorationProvider.changeDecorations((function(n){for(var i=0,r=e;i<r.length;i++){var s=r[i].regionIndex,a=t._editorDecorationIds[s];if(a&&!o[a]){o[a]=!0;var l=!t._regions.isCollapsed(s);t._regions.setCollapsed(s,l),n.changeDecorationOptions(a,t._decorationProvider.getDecorationOption(l))}}})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}},e.prototype.update=function(e,t){var o=this;void 0===t&&(t=[]);for(var n=[],i=function(i,r){var s=e.getStartLineNumber(i);r&&function(e,o){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(e<r&&r<=o)return!0}return!1}(s,e.getEndLineNumber(i))&&(r=!1),e.setCollapsed(i,r);var a=o._textModel.getLineMaxColumn(s),l={startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:a};n.push({range:l,options:o._decorationProvider.getDecorationOption(r)})},r=0,s=function(){for(;r<o._regions.length;){var e=o._regions.isCollapsed(r);if(r++,e)return r-1}return-1},a=0,l=s();-1!==l&&a<e.length;){var u=this._textModel.getDecorationRange(this._editorDecorationIds[l]);if(u){var c=u.startLineNumber;if(this._textModel.getLineMaxColumn(c)===u.startColumn)for(;a<e.length;){var h=e.getStartLineNumber(a);if(!(c>=h))break;i(a,c===h),a++}}l=s()}for(;a<e.length;)i(a,!1),a++;this._editorDecorationIds=this._decorationProvider.deltaDecorations(this._editorDecorationIds,n),this._regions=e,this._isInitialized=!0,this._updateEventEmitter.fire({model:this})},e.prototype.getMemento=function(){for(var e=[],t=0;t<this._regions.length;t++)if(this._regions.isCollapsed(t)){var o=this._textModel.getDecorationRange(this._editorDecorationIds[t]);if(o){var n=o.startLineNumber,i=o.endLineNumber+this._regions.getEndLineNumber(t)-this._regions.getStartLineNumber(t);e.push({startLineNumber:n,endLineNumber:i})}}return e.length>0?e:null},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o],r=this.getRegionAtLine(i.startLineNumber);r&&!r.isCollapsed&&t.push(r)}this.toggleCollapseState(t)}},e.prototype.dispose=function(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])},e.prototype.getAllRegionsAtLine=function(e,t){var o=[];if(this._regions)for(var n=this._regions.findRange(e),i=1;n>=0;){var r=this._regions.toRegion(n);t&&!t(r,i)||o.push(r),i++,n=r.parentIndex}return o},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){for(var o=[],n=t&&2===t.length,i=n?[]:null,r=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE,a=r,l=this._regions.length;a<l;a++){var u=this._regions.toRegion(a);if(!(this._regions.getStartLineNumber(a)<s))break;if(n){for(;i.length>0&&!u.containedBy(i[i.length-1]);)i.pop();i.push(u),t(u,i.length)&&o.push(u)}else t&&!t(u)||o.push(u)}return o},e}();function _(e,t,o,n){void 0===o&&(o=Number.MAX_VALUE);var i=[];if(n&&n.length>0)for(var r=0,s=n;r<s.length;r++){var a=s[r],l=e.getRegionAtLine(a);if(l&&(l.isCollapsed!==t&&i.push(l),o>1)){var u=e.getRegionsInside(l,(function(e,n){return e.isCollapsed!==t&&n<o}));i.push.apply(i,u)}}else{u=e.getRegionsInside(null,(function(e,n){return e.isCollapsed!==t&&n<o}));i.push.apply(i,u)}e.toggleCollapseState(i)}function y(e,t,o,n){for(var i=[],r=0,s=n;r<s.length;r++){var a=s[r],l=e.getAllRegionsAtLine(a,(function(e,n){return e.isCollapsed!==t&&n<=o}));i.push.apply(i,l)}e.toggleCollapseState(i)}function v(e,t,o){for(var n=e.textModel,i=e.regions,r=[],s=i.length-1;s>=0;s--)if(o!==i.isCollapsed(s)){var a=i.getStartLineNumber(s);t.test(n.getLineContent(a))&&r.push(i.toRegion(s))}e.toggleCollapseState(r)}function b(e,t,o){for(var n=e.regions,i=[],r=n.length-1;r>=0;r--)o!==n.isCollapsed(r)&&t===n.getType(r)&&i.push(n.toRegion(r));e.toggleCollapseState(i)}var E=o(18),C=o(26),S=function(){function e(e){this.editor=e,this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(t){return t?e.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e.COLLAPSED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),T=o(5),w=o(2),k=o(25),O=function(){function e(e){var t=this;this._updateEventEmitter=new d.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange((function(e){return t.updateHiddenRanges()})),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],o=0,n=0,i=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;o<s.length;o++)if(s.isCollapsed(o)){var a=s.getStartLineNumber(o)+1,l=s.getEndLineNumber(o);i<=a&&l<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===a&&this._hiddenRanges[n].endLineNumber===l?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new w.a(a,1,l,1))),i=a,r=l)}(e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)},e.prototype.applyMemento=function(e){if(!Array.isArray(e)||0===e.length)return!1;for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o];if(!i.startLineNumber||!i.endLineNumber)return!1;t.push(new w.a(i.startLineNumber+1,1,i.endLineNumber,1))}return this.applyHiddenRanges(t),!0},e.prototype.getMemento=function(){return this._hiddenRanges.map((function(e){return{startLineNumber:e.startLineNumber-1,endLineNumber:e.endLineNumber}}))},e.prototype.applyHiddenRanges=function(e){this._hiddenRanges=e,this._updateEventEmitter.fire(e)},e.prototype.hasRanges=function(){return this._hiddenRanges.length>0},e.prototype.isHidden=function(e){return null!==R(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,o=!1,n=this._foldingModel.textModel,i=null,r=function(e){return i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=R(t._hiddenRanges,e)),i?i.startLineNumber-1:null},s=0,a=e.length;s<a;s++){var l=e[s],u=r(l.startLineNumber);u&&(l=l.setStartPosition(u,n.getLineMaxColumn(u)),o=!0);var c=r(l.endLineNumber);c&&(l=l.setEndPosition(c,n.getLineMaxColumn(c)),o=!0),e[s]=l}return o},e.prototype.dispose=function(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function R(e,t){var o=Object(k.f)(e,(function(e){return t<e.startLineNumber}))-1;return o>=0&&e[o].endLineNumber>=t?e[o]:null}var L=o(32),N=5e3,I="indent",D=function(){function e(e){this.editorModel=e,this.id=I}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=L.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),o=t&&t.offSide,n=t&&t.markers;return u.b.as(function(e,t,o,n){void 0===n&&(n=N);var i=e.getOptions().tabSize,r=new A(n),s=void 0;o&&(s=new RegExp("("+o.start.source+")|(?:"+o.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var l=e.getLineCount();l>0;l--){var u=e.getLineContent(l),c=C.b.computeIndentLevel(u,i),h=a[a.length-1];if(-1!==c){var d=void 0;if(s&&(d=u.match(s))){if(!d[1]){a.push({indent:-2,line:l,marker:!0});continue}for(var g=a.length-1;g>0&&!a[g].marker;)g--;if(g>0){a.length=g+1,h=a[g],r.insertFirst(l,h.line,c),h.marker=!1,h.indent=c,h.line=l;continue}}if(h.indent>c){do{a.pop(),h=a[a.length-1]}while(h.indent>c);var p=h.line-1;p-l>=1&&r.insertFirst(l,p,c)}h.indent===c?h.line=l:a.push({indent:c,line:l,marker:!1})}else t&&!h.marker&&(h.line=l)}return r.toIndentRanges(e)}(this.editorModel,o,n))},e}(),A=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,o){if(!(e>16777215||t>16777215)){var n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,o<1e3&&(this._indentOccurrences[o]=(this._indentOccurrences[o]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),o=new Uint32Array(this._length),n=this._length-1,i=0;n>=0;n--,i++)t[i]=this._startIndexes[n],o[i]=this._endIndexes[n];return new p(t,o)}var r=0,s=this._indentOccurrences.length;for(n=0;n<this._indentOccurrences.length;n++){var a=this._indentOccurrences[n];if(a){if(a+r>this._foldingRangesLimit){s=n;break}r+=a}}var l=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),n=this._length-1,i=0;n>=0;n--){var u=this._startIndexes[n],c=e.getLineContent(u),h=C.b.computeIndentLevel(c,l);(h<s||h===s&&r++<this._foldingRangesLimit)&&(t[i]=u,o[i]=this._endIndexes[n],i++)}return new p(t,o)},e}();var P=o(11),x=o(13),M=5e3,B={},F="syntax",H=function(){function e(e,t,o){void 0===o&&(o=M),this.editorModel=e,this.providers=t,this.limit=o,this.id=F}return e.prototype.compute=function(e){var t=this;return function(e,t,o){var n=null,i=e.map((function(e,i){return Object(s.n)(e.provideFoldingRanges(t,B,o)).then((function(e){if(!o.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);for(var r=t.getLineCount(),s=0,a=e;s<a.length;s++){var l=a[s];l.start>0&&l.end>l.start&&l.end<=r&&n.push({start:l.start,end:l.end,rank:i,kind:l.kind})}}}),x.f)}));return u.b.join(i).then((function(e){return n}))}(this.providers,this.editorModel,e).then((function(e){return e?V(e,t.limit):null}))},e.prototype.dispose=function(){},e}();var U=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,o,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=n,this._types[i]=o,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),o=0;o<this._length;o++)e[o]=this._startIndexes[o],t[o]=this._endIndexes[o];return new p(e,t,this._types)}var n=0,i=this._nestingLevelCounts.length;for(o=0;o<this._nestingLevelCounts.length;o++){var r=this._nestingLevelCounts[o];if(r){if(r+n>this._foldingRangesLimit){i=o;break}n+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(o=0,0);o<this._length;o++){var l=this._nestingLevels[o];(l<i||l===i&&n++<this._foldingRangesLimit)&&(e[a]=this._startIndexes[o],t[a]=this._endIndexes[o],s[a]=this._types[o],a++)}return new p(e,t,s)},e}();function V(e,t){for(var o=e.sort((function(e,t){var o=e.start-t.start;return 0===o&&(o=e.rank-t.rank),o})),n=new U(t),i=null,r=[],s=0,a=o;s<a.length;s++){var l=a[s];if(i){if(l.start>i.start)if(l.end<=i.end)r.push(i),i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length);else{if(l.start>i.end){do{i=r.pop()}while(i&&l.start>i.end);i&&r.push(i),i=l}n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}}else i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}return n.toIndentRanges()}var W="init",j=function(){function e(e,t,o,n){if(this.editorModel=e,this.id=W,t.length){this.decorationIds=e.deltaDecorations([],t.map((function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:E.h.NeverGrowsWhenTypingAtEdges}}}))),this.timeout=setTimeout(o,n)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var o=0,n=this.decorationIds;o<n.length;o++){var i=n[o],r=this.editorModel.getDecorationRange(i);r&&t.push({start:r.startLineNumber,end:r.endLineNumber,rank:1})}return u.b.as(V(t,Number.MAX_VALUE))},e}();o.d(t,"ID",(function(){return K})),o.d(t,"FoldingController",(function(){return Y}));var G,z=(G=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}G(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),K="editor.contrib.folding",Y=function(){function e(e){var t=this;this.editor=e,this._isEnabled=this.editor.getConfiguration().contribInfo.folding,this._autoHideFoldingControls="mouseover"===this.editor.getConfiguration().contribInfo.showFoldingControls,this._useFoldingProviders="indentation"!==this.editor.getConfiguration().contribInfo.foldingStrategy,this.globalToDispose=[],this.localToDispose=[],this.foldingDecorationProvider=new S(e),this.foldingDecorationProvider.autoHideFoldingControls=this._autoHideFoldingControls,this.globalToDispose.push(this.editor.onDidChangeModel((function(){return t.onModelChanged()}))),this.globalToDispose.push(P.l.onDidChange((function(){return t.onFoldingStrategyChanged()}))),this.globalToDispose.push(this.editor.onDidChangeConfiguration((function(e){if(e.contribInfo){var o=t._isEnabled;t._isEnabled=t.editor.getConfiguration().contribInfo.folding,o!==t._isEnabled&&t.onModelChanged();var n=t._autoHideFoldingControls;t._autoHideFoldingControls="mouseover"===t.editor.getConfiguration().contribInfo.showFoldingControls,n!==t._autoHideFoldingControls&&(t.foldingDecorationProvider.autoHideFoldingControls=t._autoHideFoldingControls,t.onModelContentChanged());var i=t._useFoldingProviders;t._useFoldingProviders="indentation"!==t.editor.getConfiguration().contribInfo.foldingStrategy,i!==t._useFoldingProviders&&t.onFoldingStrategyChanged()}}))),this.globalToDispose.push({dispose:function(){return Object(l.d)(t.localToDispose)}}),this.onModelChanged()}return e.get=function(e){return e.getContribution(K)},e.prototype.getId=function(){return K},e.prototype.dispose=function(){this.globalToDispose=Object(l.d)(this.globalToDispose)},e.prototype.saveViewState=function(){var e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){var t=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),o=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:o}}},e.prototype.restoreViewState=function(e){var t=this.editor.getModel();t&&this._isEnabled&&!t.isTooLargeForTokenization()&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()&&(e.provider!==F&&e.provider!==W||(this.foldingStateMemento=e),this.hiddenRangeModel.applyMemento(e.collapsedRegions)&&this.getFoldingModel().then((function(t){t&&t.applyMemento(e.collapsedRegions)})).done(void 0,x.e))},e.prototype.onModelChanged=function(){var e=this;this.localToDispose=Object(l.d)(this.localToDispose);var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new m(t,this.foldingDecorationProvider),this.localToDispose.push(this.foldingModel),this.hiddenRangeModel=new O(this.foldingModel),this.localToDispose.push(this.hiddenRangeModel),this.localToDispose.push(this.hiddenRangeModel.onDidChange((function(t){return e.onHiddenRangesChanges(t)}))),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.c((function(){return e.revealCursor()}),200),this.localToDispose.push(this.cursorChangedScheduler),this.localToDispose.push(this.editor.onDidChangeModelLanguageConfiguration((function(t){return e.onModelContentChanged()}))),this.localToDispose.push(this.editor.onDidChangeModelContent((function(t){return e.onModelContentChanged()}))),this.localToDispose.push(this.editor.onDidChangeCursorPosition((function(t){return e.onCursorPositionChanged()}))),this.localToDispose.push(this.editor.onMouseDown((function(t){return e.onEditorMouseDown(t)}))),this.localToDispose.push(this.editor.onMouseUp((function(t){return e.onEditorMouseUp(t)}))),this.localToDispose.push({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler.cancel(),e.updateScheduler=null,e.foldingModel=null,e.foldingModelPromise=null,e.hiddenRangeModel=null,e.cursorChangedScheduler=null,e.foldingStateMemento=null,e.rangeProvider&&e.rangeProvider.dispose(),e.rangeProvider=null}}),this.onModelContentChanged())},e.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()},e.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new D(e),this._useFoldingProviders){var o=P.l.ordered(this.foldingModel.textModel);if(0===o.length&&this.foldingStateMemento)return this.rangeProvider=new j(e,this.foldingStateMemento.collapsedRegions,(function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()}),3e4),this.rangeProvider;o.length>0&&(this.rangeProvider=new H(e,o))}return this.foldingStateMemento=null,this.rangeProvider},e.prototype.getFoldingModel=function(){return this.foldingModelPromise},e.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((function(){if(!e.foldingModel)return null;var t=e.foldingRegionPromise=Object(s.i)((function(t){return e.getRangeProvider(e.foldingModel.textModel).compute(t)}));return u.b.wrap(t.then((function(o){if(o&&t===e.foldingRegionPromise){var n=e.editor.getSelections(),i=n?n.map((function(e){return e.startLineNumber})):[];e.foldingModel.update(o,i)}return e.foldingModel})))})))},e.prototype.onHiddenRangesChanges=function(e){if(e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},e.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},e.prototype.revealCursor=function(){var e=this;this.getFoldingModel().then((function(t){if(t){var o=e.editor.getSelections();if(o&&o.length>0){for(var n=[],i=function(o){var i=o.selectionStartLineNumber;e.hiddenRangeModel.isHidden(i)&&n.push.apply(n,t.getAllRegionsAtLine(i,(function(e){return e.isCollapsed&&i>e.startLineNumber})))},r=0,s=o;r<s.length;r++){i(s[r])}n.length&&(t.toggleCollapseState(n),e.reveal(o[0].getPosition()))}}})).done(void 0,x.e)},e.prototype.onEditorMouseDown=function(e){this.mouseDownInfo=null;var t=e.target.range;if(this.hiddenRangeModel&&t&&(e.event.leftButton||e.event.middleButton)){var o=!1;switch(e.target.type){case h.b.GUTTER_LINE_DECORATIONS:var n=e.target.detail;if(n.offsetX-n.glyphMarginWidth-n.lineNumbersWidth-n.glyphMarginLeft<=10)return;o=!0;break;case h.b.CONTENT_EMPTY:if(this.hiddenRangeModel.hasRanges())if(!e.target.detail.isAfterLines)break;return;case h.b.CONTENT_TEXT:if(this.hiddenRangeModel.hasRanges()){var i=this.editor.getModel();if(i&&t.startColumn===i.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:o}}},e.prototype.onEditorMouseUp=function(e){var t=this;if(this.mouseDownInfo){var o=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,i=e.target.range;if(i&&i.startLineNumber===o){if(n){if(e.target.type!==h.b.GUTTER_LINE_DECORATIONS)return}else{var r=this.editor.getModel();if(i.startColumn!==r.getLineMaxColumn(o))return}this.getFoldingModel().then((function(i){if(i){var r=i.getRegionAtLine(o);if(r&&r.startLineNumber===o){var s=r.isCollapsed;if(n||s){var a=[r];(e.event.middleButton||e.event.shiftKey)&&a.push.apply(a,i.getRegionsInside(r,(function(e){return e.isCollapsed===s}))),i.toggleCollapseState(a),t.reveal({lineNumber:o,column:1})}}}})).done(void 0,x.e)}}},e.prototype.reveal=function(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)},e}(),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return z(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=Y.get(t);if(i){var r=i.getFoldingModel();return r?(this.reportTelemetry(e,t),r.then((function(e){e&&(n.invoke(i,e,t,o),i.reveal(t.getSelection().getStartPosition()))}))):void 0}},t.prototype.getSelectedLines=function(e){var t=e.getSelections();return t?t.map((function(e){return e.startLineNumber})):[]},t.prototype.getLineNumbers=function(e,t){return e&&e.selectionLines?e.selectionLines.map((function(e){return e+1})):this.getSelectedLines(t)},t.prototype.run=function(e,t){},t}(c.b);function q(e){if(!i.i(e)){if(!i.g(e))return!1;var t=e;if(!i.i(t.levels)&&!i.f(t.levels))return!1;if(!i.i(t.direction)&&!i.h(t.direction))return!1;if(!(i.i(t.selectionLines)||i.b(t.selectionLines)&&t.selectionLines.every(i.f)))return!1}return!0}var $=function(e){function t(){return e.call(this,{id:"editor.unfold",label:n.a("unfoldAction.label","Unfold"),alias:"Unfold",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:q}]}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){var i=n&&n.levels||1,r=this.getLineNumbers(n,o);n&&"up"===n.direction?y(t,!1,i,r):_(t,!1,i,r)},t}(X),J=function(e){function t(){return e.call(this,{id:"editor.unfoldRecursively",label:n.a("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2137),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){_(t,!1,Number.MAX_VALUE,this.getSelectedLines(o))},t}(X),Z=function(e){function t(){return e.call(this,{id:"editor.fold",label:n.a("foldAction.label","Fold"),alias:"Fold",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold. Defaults to 1.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:q}]}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){var i=n&&n.levels||1,r=this.getLineNumbers(n,o);n&&"up"===n.direction?y(t,!0,i,r):_(t,!0,i,r)},t}(X),Q=function(e){function t(){return e.call(this,{id:"editor.foldRecursively",label:n.a("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2135),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){var n=this.getSelectedLines(o);_(t,!0,Number.MAX_VALUE,n)},t}(X),ee=function(e){function t(){return e.call(this,{id:"editor.foldAllBlockComments",label:n.a("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2133),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Comment.value,!0);else{var n=L.a.getComments(o.getModel().getLanguageIdentifier().id);if(n&&n.blockCommentStartToken)v(t,new RegExp("^\\s*"+Object(r.escapeRegExpCharacters)(n.blockCommentStartToken)),!0)}},t}(X),te=function(e){function t(){return e.call(this,{id:"editor.foldAllMarkerRegions",label:n.a("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2077),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Region.value,!0);else{var n=L.a.getFoldingRules(o.getModel().getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start)v(t,new RegExp(n.markers.start),!0)}},t}(X),oe=function(e){function t(){return e.call(this,{id:"editor.unfoldAllMarkerRegions",label:n.a("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2078),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Region.value,!1);else{var n=L.a.getFoldingRules(o.getModel().getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start)v(t,new RegExp(n.markers.start),!1)}},t}(X),ne=function(e){function t(){return e.call(this,{id:"editor.foldAll",label:n.a("foldAllAction.label","Fold All"),alias:"Fold All",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2069),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){_(t,!0)},t}(X),ie=function(e){function t(){return e.call(this,{id:"editor.unfoldAll",label:n.a("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2088),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){_(t,!1)},t}(X),re=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return z(t,e),t.prototype.getFoldingLevel=function(){return parseInt(this.id.substr(t.ID_PREFIX.length))},t.prototype.invoke=function(e,t,o){!function(e,t,o,n){var i=e.getRegionsInside(null,(function(e,i){return i===t&&e.isCollapsed!==o&&!n.some((function(t){return e.containsLine(t)}))}));e.toggleCollapseState(i)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(o))},t.ID_PREFIX="editor.foldLevel",t.ID=function(e){return t.ID_PREFIX+e},t}(X);Object(c.h)(Y),Object(c.f)($),Object(c.f)(J),Object(c.f)(Z),Object(c.f)(Q),Object(c.f)(ne),Object(c.f)(ie),Object(c.f)(ee),Object(c.f)(te),Object(c.f)(oe);for(var se=1;se<=7;se++)Object(c.i)(new re({id:re.ID(se),label:n.a("foldLevelAction.label","Fold Level {0}",se),alias:"Fold Level "+se,precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2048|21+se),weight:100}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(3),r=o(6),s=o(8),a=o(10),l=o(156),u=o(5),c=o(142),h=o(0),d=o(37),g=o(12),p=o(83),f=o(61),m=o(46),_=o(129),y=o(17),v=o(4),b=o(2),E=o(11),C=o(25),S=o(48),T=o(13),w=o(33),k=o(60),O=function(){function e(e){this.value=e}return e.prototype.contains=function(t){return this.value===t||Object(s.startsWith)(t,this.value+e.sep)},e.sep=".",e.Empty=new e(""),e.Refactor=new e("refactor"),e.Source=new e("source"),e.SourceOrganizeImports=new e("source.organizeImports"),e}();function R(e,t,o,n){void 0===n&&(n=S.a.None);var i={only:o&&o.filter&&o.filter.kind?o.filter.kind.value:void 0,trigger:o&&"manual"===o.type?E.b.Manual:E.b.Automatic},r=E.a.all(e).map((function(n){return Object(y.h)((function(o){return n.provideCodeActions(e,t,i,o)})).then((function(e){return Array.isArray(e)?e.filter((function(e){return function(e,t){if(!t)return!1;if(e&&e.kind&&(!t.kind||!e.kind.contains(t.kind)))return!1;if(t.kind&&O.Source.contains(t.kind)&&(!e||!e.includeSourceActions))return!1;return!0}(o&&o.filter,e)})):[]}),(function(e){if(Object(T.d)(e))throw e;return Object(T.f)(e),[]}))}));return Promise.all(r).then(C.i).then((function(e){return Object(C.l)(e,L)}))}function L(e,t){var o=!Object(C.k)(e.diagnostics),n=!Object(C.k)(t.diagnostics);return o?n?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:n?1:0}!function(e){e[e.IfSingle=1]="IfSingle",e[e.First=2]="First",e[e.Never=3]="Never"}(n||(n={})),Object(i.j)("_executeCodeActionProvider",(function(e,t){var o=t.resource,n=t.range;if(!(o instanceof w.a&&b.a.isIRange(n)))throw Object(T.b)();var i=e.get(k.a).getModel(o);if(!i)throw Object(T.b)();return R(i,i.validateRange(n),{type:"manual",filter:{includeSourceActions:!0}})}));var N,I=new g.f("supportedCodeAction",""),D=function(){function e(e,t,o,n,i){void 0===n&&(n=250);var r=this;this._editor=e,this._markerService=t,this._signalChange=o,this._progressService=i,this._disposables=[],this._disposables.push(Object(v.h)(this._markerService.onMarkerChanged,(function(e,t){return e?e.concat(t):t}),n/2)((function(e){return r._onMarkerChanges(e)})),Object(v.h)(this._editor.onDidChangeCursorPosition,(function(e,t){return t}),n)((function(e){return r._onCursorChange()})))}return e.prototype.dispose=function(){this._disposables=Object(r.d)(this._disposables)},e.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},e.prototype._onMarkerChanges=function(e){for(var t=this._editor.getModel().uri,o=0,n=e;o<n.length;o++){if(n[o].toString()===t.toString())return void this.trigger({type:"auto"})}},e.prototype._onCursorChange=function(){this.trigger({type:"auto"})},e.prototype._getRangeOfMarker=function(e){for(var t=this._editor.getModel(),o=0,n=this._markerService.read({resource:t.uri});o<n.length;o++){var i=n[o];if(b.a.intersectRanges(i,e))return b.a.lift(i)}},e.prototype._getRangeOfSelectionUnlessWhitespaceEnclosed=function(e){var t=this._editor.getModel(),o=this._editor.getSelection();if(o.isEmpty()&&(!e.filter||!e.filter.includeSourceActions)){var n=o.getPosition(),i=n.lineNumber,r=n.column,s=t.getLineContent(i);if(0===s.length)return;if(1===r){if(/\s/.test(s[0]))return}else if(r===t.getLineMaxColumn(i)){if(/\s/.test(s[s.length-1]))return}else if(/\s/.test(s[r-2])&&/\s/.test(s[r-1]))return}return o},e.prototype._createEventAndSignalChange=function(e,t){if(t){var o=this._editor.getModel(),n=this._getRangeOfMarker(t),i=n?n.getStartPosition():t.getStartPosition(),r=Object(y.i)((function(n){return R(o,t,e,n)}));return this._progressService&&"manual"===e.type&&this._progressService.showWhile(a.b.wrap(r),250),this._signalChange({trigger:e,rangeOrSelection:t,position:i,actions:r}),r}return this._signalChange({trigger:e,rangeOrSelection:void 0,position:void 0,actions:void 0}),a.b.as(void 0)},e}(),A=function(){function e(e,t,o,n){var i=this;this._progressService=n,this._onDidChangeFixes=new v.a,this._disposables=[],this._editor=e,this._markerService=t,this._supportedCodeActions=I.bindTo(o),this._disposables.push(this._editor.onDidChangeModel((function(){return i._update()}))),this._disposables.push(this._editor.onDidChangeModelLanguage((function(){return i._update()}))),this._disposables.push(E.a.onDidChange(this._update,this)),this._update()}return e.prototype.dispose=function(){this._disposables=Object(r.d)(this._disposables),Object(r.d)(this._codeActionOracle)},Object.defineProperty(e.prototype,"onDidChangeFixes",{get:function(){return this._onDidChangeFixes.event},enumerable:!0,configurable:!0}),e.prototype._update=function(){var e=this;if(this._codeActionOracle&&(this._codeActionOracle.dispose(),this._codeActionOracle=void 0,this._onDidChangeFixes.fire(void 0)),this._editor.getModel()&&E.a.has(this._editor.getModel())&&!this._editor.getConfiguration().readOnly){for(var t=[],o=0,n=E.a.all(this._editor.getModel());o<n.length;o++){var i=n[o];Array.isArray(i.providedCodeActionKinds)&&t.push.apply(t,i.providedCodeActionKinds)}this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle=new D(this._editor,this._markerService,(function(t){return e._onDidChangeFixes.fire(t)}),void 0,this._progressService),this._codeActionOracle.trigger({type:"auto"})}else this._supportedCodeActions.reset()},e.prototype.trigger=function(e){return this._codeActionOracle?this._codeActionOracle.trigger(e):a.b.as(void 0)},e}(),P=o(1),x=o(78),M=o(9),B=function(){function e(e,t,o){this._editor=e,this._contextMenuService=t,this._onApplyCodeAction=o,this._onDidExecuteCodeAction=new v.a,this.onDidExecuteCodeAction=this._onDidExecuteCodeAction.event}return e.prototype.show=function(e,t){var o=this,n=e.then((function(e){return e.map((function(e){return new x.a(e.command?e.command.id:e.title,e.title,void 0,!0,(function(){return Object(y.g)(o._onApplyCodeAction(e),(function(){return o._onDidExecuteCodeAction.fire(void 0)}))}))}))})).then((function(e){return o._editor.getDomNode()?e:a.b.wrapError(Object(T.a)())}));this._contextMenuService.showContextMenu({getAnchor:function(){return M.a.isIPosition(t)&&(t=o._toCoords(t)),t},getActions:function(){return a.b.wrap(n)},onHide:function(){o._visible=!1,o._editor.focus()},autoSelectFirstItem:!0})},Object.defineProperty(e.prototype,"isVisible",{get:function(){return this._visible},enumerable:!0,configurable:!0}),e.prototype._toCoords=function(e){this._editor.revealPosition(e,1),this._editor.render();var t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),o=Object(P.u)(this._editor.getDomNode());return{x:o.left+t.left,y:o.top+t.top+t.height}},e}(),F=o(73),H=(o(433),o(16)),U=o(26),V=function(){function e(e){var t=this;this._disposables=[],this._onClick=new v.a,this.onClick=this._onClick.event,this._futureFixes=new S.b,this._domNode=document.createElement("div"),this._domNode.className="lightbulb-glyph",this._editor=e,this._editor.addContentWidget(this),this._disposables.push(this._editor.onDidChangeModel((function(e){return t._futureFixes.cancel()}))),this._disposables.push(this._editor.onDidChangeModelLanguage((function(e){return t._futureFixes.cancel()}))),this._disposables.push(this._editor.onDidChangeModelContent((function(e){t._model&&t.model.position.lineNumber>=t._editor.getModel().getLineCount()&&t._futureFixes.cancel()}))),this._disposables.push(P.j(this._domNode,"click",(function(e){t._editor.focus();var o=P.u(t._domNode),n=o.top,i=o.height,r=t._editor.getConfiguration().lineHeight,s=Math.floor(r/3);t._position&&t._position.position.lineNumber<t._model.position.lineNumber&&(s+=r),t._onClick.fire({x:e.posx,y:n+i+s})}))),this._disposables.push(P.g(this._domNode,"mouseenter",(function(e){if(1==(1&e.buttons)){t.hide();var o=new F.a;o.startMonitoring(F.b,(function(){}),(function(){o.dispose()}))}}))),this._disposables.push(this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&!t._editor.getConfiguration().contribInfo.lightbulbEnabled&&t.hide()})))}return e.prototype.dispose=function(){Object(r.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"LightBulbWidget"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},Object.defineProperty(e.prototype,"model",{get:function(){return this._model},set:function(e){var t=this;!this._position||e.position&&this._position.position.lineNumber===e.position.lineNumber?this._futureFixes&&this._futureFixes.cancel():this.hide(),this._futureFixes=new S.b;var o=this._futureFixes.token;this._model=e;var n=this._model.rangeOrSelection;this._model.actions.then((function(e){!o.isCancellationRequested&&e&&e.length>0?n.isEmpty()&&e.every((function(e){return e.kind&&O.Refactor.contains(e.kind)}))?t.hide():t._show():t.hide()})).catch((function(e){t.hide()}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._domNode.title},set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),e.prototype._show=function(){var t=this._editor.getConfiguration();if(t.contribInfo.lightbulbEnabled){var o=this._model.position.lineNumber,n=this._editor.getModel();if(n){var i=n.getOptions().tabSize,r=n.getLineContent(o),s=U.b.computeIndentLevel(r,i),a=o;t.fontInfo.spaceWidth*s>22||(o>1?a-=1:a+=1),this._position={position:{lineNumber:a,column:1},preference:e._posPref},this._editor.layoutContentWidget(this)}}},e.prototype.hide=function(){this._position=null,this._model=null,this._futureFixes.cancel(),this._editor.layoutContentWidget(this)},e._posPref=[H.a.EXACT],e}(),W=(N=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}N(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),j=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},G=function(e,t){return function(o,n){t(o,n,e)}},z=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},K=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}};function Y(e){return g.d.regex(I.keys()[0],new RegExp("(\\s|^)"+Object(s.escapeRegExpCharacters)(e.value)+"\\b"))}var X=function(){function e(e,t,o,n,i,r,s,a){var l=this;this._commandService=r,this._keybindingService=s,this._bulkEditService=a,this._disposables=[],this._editor=e,this._model=new A(this._editor,t,o,n),this._codeActionContextMenu=new B(e,i,(function(e){return l._onApplyCodeAction(e)})),this._lightBulbWidget=new V(e),this._updateLightBulbTitle(),this._disposables.push(this._codeActionContextMenu.onDidExecuteCodeAction((function(e){return l._model.trigger({type:"auto",filter:{}})})),this._lightBulbWidget.onClick(this._handleLightBulbSelect,this),this._model.onDidChangeFixes((function(e){return l._onCodeActionsEvent(e)})),this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitle,this))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._model.dispose(),Object(r.d)(this._disposables)},e.prototype._onCodeActionsEvent=function(e){var t=this;this._activeRequest&&(this._activeRequest.cancel(),this._activeRequest=void 0),e&&e.actions&&(this._activeRequest=e.actions),e&&e.actions&&e.trigger.filter&&e.trigger.filter.kind?e.actions.then((function(o){e.trigger.autoApply===n.First||e.trigger.autoApply===n.IfSingle&&1===o.length?t._onApplyCodeAction(o[0]):t._codeActionContextMenu.show(e.actions,e.position)})).catch(T.e):e&&"manual"===e.trigger.type?this._codeActionContextMenu.show(e.actions,e.position):e&&e.actions?this._codeActionContextMenu.isVisible?this._codeActionContextMenu.show(e.actions,e.position):this._lightBulbWidget.model=e:this._lightBulbWidget.hide()},e.prototype.getId=function(){return e.ID},e.prototype._handleLightBulbSelect=function(e){this._lightBulbWidget.model.actions&&this._codeActionContextMenu.show(this._lightBulbWidget.model.actions,e)},e.prototype.triggerFromEditorSelection=function(e,t){return this._model.trigger({type:"manual",filter:e,autoApply:t})},e.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding($.Id);e=t?h.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):h.a("quickFix","Show Fixes"),this._lightBulbWidget.title=e},e.prototype._onApplyCodeAction=function(e){return a.b.wrap(function(e,t,o,n){return z(this,void 0,void 0,(function(){return K(this,(function(i){switch(i.label){case 0:return e.edit?[4,t.apply(e.edit,{editor:n})]:[3,2];case 1:i.sent(),i.label=2;case 2:return e.command?[4,o.executeCommand.apply(o,[e.command.id].concat(e.command.arguments))]:[3,4];case 3:i.sent(),i.label=4;case 4:return[2]}}))}))}(e,this._bulkEditService,this._commandService,this._editor))},e.ID="editor.contrib.quickFixController",e=j([G(1,m.a),G(2,g.e),G(3,_.a),G(4,p.a),G(5,d.b),G(6,f.a),G(7,l.a)],e)}();function q(e,t,o,n){var i=X.get(e);if(i){var r=e.getPosition();i.triggerFromEditorSelection(o,n).then((function(o){o&&o.length||c.a.get(e).showMessage(t,r)}))}}var $=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:2132,weight:100}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.quickFix.noneMessage","No code actions available"))},t.Id="editor.action.quickFix",t}(i.b),J=function(){function e(e,t){this.kind=e,this.apply=t}return e.fromUser=function(t){return t&&"object"==typeof t?new e(e.getKindFromUser(t),e.getApplyFromUser(t)):new e(O.Empty,n.IfSingle)},e.getApplyFromUser=function(e){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return n.First;case"never":return n.Never;case"ifsingle":default:return n.IfSingle}},e.getKindFromUser=function(e){return"string"==typeof e.kind?new O(e.kind):O.Empty},e}(),Z=function(e){function t(){return e.call(this,{id:t.Id,precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider)})||this}return W(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=J.fromUser(o);return q(t,h.a("editor.action.quickFix.noneMessage","No code actions available"),{kind:n.kind,includeSourceActions:!0},n.apply)},t.Id="editor.action.codeAction",t}(i.c),Q=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("refactor.label","Refactor..."),alias:"Refactor",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},menuOpts:{group:"1_modification",order:2,when:g.d.and(u.a.writable,Y(O.Refactor))}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.refactor.noneMessage","No refactorings available"),{kind:O.Refactor},n.Never)},t.Id="editor.action.refactor",t}(i.b),ee=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("source.label","Source Action..."),alias:"Source Action",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),menuOpts:{group:"1_modification",order:2.1,when:g.d.and(u.a.writable,Y(O.Source))}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.source.noneMessage","No source actions available"),{kind:O.Source,includeSourceActions:!0},n.Never)},t.Id="editor.action.sourceAction",t}(i.b),te=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:g.d.and(u.a.writable,Y(O.SourceOrganizeImports)),kbOpts:{kbExpr:u.a.editorTextFocus,primary:1581,weight:100}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.organize.noneMessage","No organize imports action available"),{kind:O.SourceOrganizeImports,includeSourceActions:!0},n.IfSingle)},t.Id="editor.action.organizeImports",t}(i.b);Object(i.h)(X),Object(i.f)($),Object(i.f)(Q),Object(i.f)(ee),Object(i.f)(te),Object(i.g)(new Z)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(39),r=o(53),s=o(2),a=function(){function e(e,t){this.selection=e,this.descending=t}return e.prototype.getEditOperations=function(e,t){var o=function(e,t,o){var n=l(e,t,o);if(!n)return null;return r.a.replace(new s.a(n.startLineNumber,1,n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),n.after.join("\n"))}(e,this.selection,this.descending);o&&t.addEditOperation(o.range,o.text),this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e.canRun=function(e,t,o){var n=l(e,t,o);if(!n)return!1;for(var i=0,r=n.before.length;i<r;i++)if(n.before[i]!==n.after[i])return!0;return!1},e}();function l(e,t,o){var n=t.startLineNumber,i=t.endLineNumber;if(1===t.endColumn&&i--,n>=i)return null;for(var r=[],s=n;s<=i;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort((function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())})),!0===o&&(a=a.reverse()),{startLineNumber:n,endLineNumber:i,before:r,after:a}}var u=o(8),c=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var o=function(e,t){t.sort((function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber}));for(var o=t.length-2;o>=0;o--)t[o].lineNumber===t[o+1].lineNumber&&t.splice(o,1);for(var n=[],i=0,a=0,l=t.length,c=1,h=e.getLineCount();c<=h;c++){var d=e.getLineContent(c),g=d.length+1,p=0;if(!(a<l&&t[a].lineNumber===c&&(p=t[a].column,a++,p===g))&&0!==d.length){var f=u.lastNonWhitespaceIndex(d),m=0;if(-1===f)m=1;else{if(f===d.length-1)continue;m=f+2}m=Math.max(p,m),n[i++]=r.a.delete(new s.a(c,m,c,g))}}return n}(e,this.cursors),n=0,i=o.length;n<i;n++){var a=o[n];t.addEditOperation(a.range,a.text)}this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e}();var h=o(5),d=o(43),g=o(23),p=o(9),f=o(3),m=function(){function e(e,t){this._selection=e,this._isCopyingDown=t}return e.prototype.getEditOperations=function(e,t){var o=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,o.startLineNumber<o.endLineNumber&&1===o.endColumn&&(this._endLineNumberDelta=1,o=o.setEndPosition(o.endLineNumber-1,e.getLineMaxColumn(o.endLineNumber-1)));for(var n=[],i=o.startLineNumber;i<=o.endLineNumber;i++)n.push(e.getLineContent(i));var r=n.join("\n");""===r&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._isCopyingDown?t.addEditOperation(new s.a(o.startLineNumber,1,o.startLineNumber,1),r+"\n"):t.addEditOperation(new s.a(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),"\n"+r),this._selectionId=t.trackSelection(o),this._selectionDirection=this._selection.getDirection()},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);if(0!==this._startLineNumberDelta||0!==this._endLineNumberDelta){var n=o.startLineNumber,i=o.startColumn,r=o.endLineNumber,s=o.endColumn;0!==this._startLineNumberDelta&&(n+=this._startLineNumberDelta,i=1),0!==this._endLineNumberDelta&&(r+=this._endLineNumberDelta,s=1),o=g.a.createWithDirection(n,i,r,s,this._selectionDirection)}return o},e}(),_=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.restoreCursorToColumn=o}return e.prototype.getEditOperations=function(e,t){if(1!==e.getLineCount()||1!==e.getLineMaxColumn(1)){var o=this.startLineNumber,n=this.endLineNumber,i=1,r=e.getLineMaxColumn(n);n<e.getLineCount()?(n+=1,r=1):o>1&&(o-=1,i=e.getLineMaxColumn(o)),t.addTrackedEditOperation(new s.a(o,i,n,r),null)}},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new g.a(o.endLineNumber,this.restoreCursorToColumn,o.endLineNumber,this.restoreCursorToColumn)},e}(),y=o(32),v=o(126);function b(e,t){for(var o=0,n=0;n<e.length;n++)"\t"===e.charAt(n)?o+=t:o++;return o}function E(e,t,o){e=e<0?0:e;var n="";if(!o){var i=Math.floor(e/t);e%=t;for(var r=0;r<i;r++)n+="\t"}for(r=0;r<e;r++)n+=" ";return n}var C=o(44),S=function(){function e(e,t,o){this._selection=e,this._isMovingDown=t,this._autoIndent=o,this._moveEndLineSelectionShrink=!1}return e.prototype.getEditOperations=function(e,t){var o=e.getLineCount();if((!this._isMovingDown||this._selection.endLineNumber!==o)&&(this._isMovingDown||1!==this._selection.startLineNumber)){this._moveEndPositionDown=!1;var n=this._selection;n.startLineNumber<n.endLineNumber&&1===n.endColumn&&(this._moveEndPositionDown=!0,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));var i=e.getOptions().tabSize,r=e.getOptions().insertSpaces,a=this.buildIndentConverter(i),l={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,o){return e.getLanguageIdAtPosition(t,o)},getLineContent:null};if(n.startLineNumber===n.endLineNumber&&1===e.getLineMaxColumn(n.startLineNumber)){var c=n.startLineNumber,h=this._isMovingDown?c+1:c-1;1===e.getLineMaxColumn(h)?t.addEditOperation(new s.a(1,1,1,1),null):(t.addEditOperation(new s.a(c,1,c,1),e.getLineContent(h)),t.addEditOperation(new s.a(h,1,h,e.getLineMaxColumn(h)),null)),n=new g.a(h,1,h,1)}else{var d,p=void 0;if(this._isMovingDown){d=n.endLineNumber+1,p=e.getLineContent(d),t.addEditOperation(new s.a(d-1,e.getLineMaxColumn(d-1),d,e.getLineMaxColumn(d)),null);var f=p;if(this.shouldAutoIndent(e,n)){var m=this.matchEnterRule(e,a,i,d,n.startLineNumber-1);if(null!==m){var _=E(O=m+b(C=u.getLeadingWhitespace(e.getLineContent(d)),i),i,r);f=_+this.trimLeft(p)}else{l.getLineContent=function(t){return t===n.startLineNumber?e.getLineContent(d):e.getLineContent(t)};var v=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber,a);if(null!==v){var C=u.getLeadingWhitespace(e.getLineContent(d));if((O=b(v,i))!==(R=b(C,i))){_=E(O,i,r);f=_+this.trimLeft(p)}}}if(t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n"),null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber,f)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{l.getLineContent=function(t){return t===n.startLineNumber?f:t>=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var S=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber+1,a);if(null!==S){C=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(S,i))!==(R=b(C,i))){var T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}else t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n")}else{var w;if(d=n.startLineNumber-1,p=e.getLineContent(d),t.addEditOperation(new s.a(d,1,d+1,1),null),t.addEditOperation(new s.a(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+p),this.shouldAutoIndent(e,n))if(l.getLineContent=function(t){return t===d?e.getLineContent(n.startLineNumber):e.getLineContent(t)},null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber-2)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{var k=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(n.startLineNumber,1),d,a);if(null!==k){var O,R,L=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(k,i))!==(R=b(L,i))){T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}}this._selectionId=t.trackSelection(n)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var o=v.a.shiftIndentCount(t,t.length+1,e),n="",i=0;i<o;i++)n+="\t";return n},unshiftIndent:function(t){for(var o=v.a.unshiftIndentCount(t,t.length+1,e),n="",i=0;i<o;i++)n+="\t";return n}}},e.prototype.matchEnterRule=function(e,t,o,n,i,r){for(var a=i;a>=1;){var l=void 0;if(l=a===i&&void 0!==r?r:e.getLineContent(a),u.lastNonWhitespaceIndex(l)>=0)break;a--}if(a<1||n>e.getLineCount())return null;var c=e.getLineMaxColumn(a),h=y.a.getEnterAction(e,new s.a(a,c,a,c));if(h){var d=h.indentation,g=h.enterAction;g.indentAction===C.a.None?d=h.indentation+g.appendText:g.indentAction===C.a.Indent?d=h.indentation+g.appendText:g.indentAction===C.a.IndentOutdent?d=h.indentation:g.indentAction===C.a.Outdent&&(d=t.unshiftIndent(h.indentation)+g.appendText);var p=e.getLineContent(n);if(this.trimLeft(p).indexOf(this.trimLeft(d))>=0){var f=u.getLeadingWhitespace(e.getLineContent(n)),m=u.getLeadingWhitespace(d);return 2&y.a.getIndentMetadata(e,n)&&(m=t.unshiftIndent(m)),b(m,o)-b(f,o)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var o=e.getLanguageIdAtPosition(t.startLineNumber,1);return o===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==y.a.getIndentRulesSupport(o)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,o,n,i,r){for(var a=o.startLineNumber;a<=o.endLineNumber;a++){var l=e.getLineContent(a),c=u.getLeadingWhitespace(l),h=E(b(c,n)+r,n,i);h!==c&&(t.addEditOperation(new s.a(a,1,a,c.length+1),h),a===o.endLineNumber&&o.endColumn<=c.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&o.startLineNumber<o.endLineNumber&&(o=o.setEndPosition(o.endLineNumber,2)),o},e}(),T=o(95),w=o(72),k=o(38);o.d(t,"AbstractSortLinesAction",(function(){return x})),o.d(t,"SortLinesAscendingAction",(function(){return M})),o.d(t,"SortLinesDescendingAction",(function(){return B})),o.d(t,"TrimTrailingWhitespaceAction",(function(){return F})),o.d(t,"IndentLinesAction",(function(){return U})),o.d(t,"InsertLineBeforeAction",(function(){return W})),o.d(t,"InsertLineAfterAction",(function(){return j})),o.d(t,"AbstractDeleteAllToBoundaryAction",(function(){return G})),o.d(t,"DeleteAllLeftAction",(function(){return z})),o.d(t,"DeleteAllRightAction",(function(){return K})),o.d(t,"JoinLinesAction",(function(){return Y})),o.d(t,"TransposeAction",(function(){return X})),o.d(t,"AbstractCaseAction",(function(){return q})),o.d(t,"UpperCaseAction",(function(){return $})),o.d(t,"LowerCaseAction",(function(){return J}));var O,R=(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}O(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),L=function(e){function t(t,o){var n=e.call(this,o)||this;return n.down=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new m(n[i],this.down));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(f.b),N=function(e){function t(){return e.call(this,!1,{id:"editor.action.copyLinesUpAction",label:n.a("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})||this}return R(t,e),t}(L),I=function(e){function t(){return e.call(this,!0,{id:"editor.action.copyLinesDownAction",label:n.a("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})||this}return R(t,e),t}(L),D=function(e){function t(t,o){var n=e.call(this,o)||this;return n.down=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=t.getConfiguration().autoIndent,r=0;r<n.length;r++)o.push(new S(n[r],this.down,i));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(f.b),A=function(e){function t(){return e.call(this,!1,{id:"editor.action.moveLinesUpAction",label:n.a("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:528,linux:{primary:528},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})||this}return R(t,e),t}(D),P=function(e){function t(){return e.call(this,!0,{id:"editor.action.moveLinesDownAction",label:n.a("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:530,linux:{primary:530},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})||this}return R(t,e),t}(D),x=function(e){function t(t,o){var n=e.call(this,o)||this;return n.descending=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=0,i=o.length;n<i;n++){var r=o[n];if(!a.canRun(t.getModel(),r,this.descending))return}var s=[];for(n=0,i=o.length;n<i;n++)s[n]=new a(o[n],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()},t}(f.b),M=function(e){function t(){return e.call(this,!1,{id:"editor.action.sortLinesAscending",label:n.a("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:h.a.writable})||this}return R(t,e),t}(x),B=function(e){function t(){return e.call(this,!0,{id:"editor.action.sortLinesDescending",label:n.a("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:h.a.writable})||this}return R(t,e),t}(x),F=function(e){function t(){return e.call(this,{id:t.ID,label:n.a("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:Object(i.a)(2089,2102),weight:100}})||this}return R(t,e),t.prototype.run=function(e,t,o){var n=[];"auto-save"===o.reason&&(n=t.getSelections().map((function(e){return new p.a(e.positionLineNumber,e.positionColumn)})));var i=new c(t.getSelection(),n);t.pushUndoStop(),t.executeCommands(this.id,[i]),t.pushUndoStop()},t.ID="editor.action.trimTrailingWhitespace",t}(f.b),H=function(e){function t(){return e.call(this,{id:"editor.action.deleteLines",label:n.a("lines.delete","Delete Line"),alias:"Delete Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:3113,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){var o=this._getLinesToRemove(t).map((function(e){return new _(e.startLineNumber,e.endLineNumber,e.positionColumn)}));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map((function(e){var t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&1===e.endColumn&&(t-=1),{startLineNumber:e.startLineNumber,endLineNumber:t,positionColumn:e.positionColumn}}));t.sort((function(e,t){return e.startLineNumber-t.startLineNumber}));for(var o=[],n=t[0],i=1;i<t.length;i++)n.endLineNumber+1===t[i].startLineNumber?n.endLineNumber=t[i].endLineNumber:(o.push(n),n=t[i]);return o.push(n),o},t}(f.b),U=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:n.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2137,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.indent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(f.b),V=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:n.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2135,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){w.CoreEditingCommands.Outdent.runEditorCommand(null,t,null)},t}(f.b),W=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:n.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:3075,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.lineInsertBefore(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(f.b),j=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:n.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2051,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.lineInsertAfter(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(f.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelection(),n=this._getRangesToDelete(t),i=[],a=0,l=n.length-1;a<l;a++){var u=n[a],c=n[a+1];null===s.a.intersectRanges(u,c)?i.push(u):n[a+1]=s.a.plusRange(u,c)}i.push(n[n.length-1]);var h=this._getEndCursorState(o,i),d=i.map((function(e){return r.a.replace(e,"")}));t.pushUndoStop(),t.executeEdits(this.id,d,h),t.pushUndoStop()},t}(f.b),z=function(e){function t(){return e.call(this,{id:"deleteAllLeft",label:n.a("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:2049},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){var o,n=[],i=0;return t.forEach((function(t){var r;if(1===t.endColumn&&i>0){var s=t.startLineNumber-i;r=new g.a(s,t.startColumn,s,t.startColumn)}else r=new g.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?o=r:n.push(r)})),o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getSelections(),o=e.getModel();return t.sort(s.a.compareRangesUsingStarts),t=t.map((function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:o.getLineContent(t).length+1;return new s.a(t,n,e.startLineNumber,1)}return new s.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return e}))},t}(G),K=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:n.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:297,secondary:[2068]},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){for(var o,n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=new g.a(s.startLineNumber-0,s.startColumn,s.startLineNumber-0,s.startColumn);s.intersectRanges(e)?o=a:n.push(a)}return o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getModel(),o=e.getSelections().map((function(e){if(e.isEmpty()){var o=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===o?new s.a(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new s.a(e.startLineNumber,e.startColumn,e.startLineNumber,o)}return e}));return o.sort(s.a.compareRangesUsingStarts),o},t}(G),Y=function(e){function t(){return e.call(this,{id:"editor.action.joinLines",label:n.a("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:0,mac:{primary:296},weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){var o=t.getSelections(),n=t.getSelection();o.sort(s.a.compareRangesUsingStarts);var i=[],a=o.reduce((function(e,t){return e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)}));i.push(a);for(var l=t.getModel(),u=[],c=[],h=n,d=0,p=0,f=i.length;p<f;p++){var m=i[p],_=m.startLineNumber,y=0,v=void 0,b=void 0,E=l.getLineContent(m.endLineNumber).length-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){var C=m.getStartPosition();C.lineNumber<l.getLineCount()?(v=_+1,b=l.getLineMaxColumn(v)):(v=C.lineNumber,b=l.getLineMaxColumn(C.lineNumber))}else v=m.endLineNumber,b=l.getLineMaxColumn(v);for(var S=l.getLineContent(_),T=_+1;T<=v;T++){var w=l.getLineContent(T),k=l.getLineFirstNonWhitespaceColumn(T);if(k>=1){var O=!0;""===S&&(O=!1),!O||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(O=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var R=w.substr(k-1);S+=(O?" ":"")+R,y=O?R.length+1:R.length}else y=0}var L=new s.a(_,1,v,b);if(!L.isEmpty()){var N=void 0;m.isEmpty()?(u.push(r.a.replace(L,S)),N=new g.a(L.startLineNumber-d,S.length-y+1,_-d,S.length-y+1)):m.startLineNumber===m.endLineNumber?(u.push(r.a.replace(L,S)),N=new g.a(m.startLineNumber-d,m.startColumn,m.endLineNumber-d,m.endColumn)):(u.push(r.a.replace(L,S)),N=new g.a(m.startLineNumber-d,m.startColumn,m.startLineNumber-d,S.length-E)),null!==s.a.intersectRanges(L,n)?h=N:c.push(N)}d+=L.endLineNumber-L.startLineNumber}c.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,u,c),t.pushUndoStop()},t}(f.b),X=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:h.a.writable})||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r<a;r++){var l=o[r];if(l.isEmpty()){var u=l.getStartPosition(),c=n.getLineMaxColumn(u.lineNumber);if(u.column>=c){if(u.lineNumber===n.getLineCount())continue;var h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.a(new g.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.b(h,p,new g.a(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r<a;r++){var l=o[r];if(l.isEmpty()){var u=l.getStartPosition(),c=n.getWordAtPosition(u);if(!c)continue;var h=new s.a(u.lineNumber,c.startColumn,u.lineNumber,c.endColumn),p=n.getValueInRange(h);i.push(new d.b(h,this._modifyText(p),new g.a(u.lineNumber,u.column,u.lineNumber,u.column)))}else{p=n.getValueInRange(l);i.push(new d.b(l,this._modifyText(p),l))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),$=function(e){function t(){return e.call(this,{id:"editor.action.transformToUppercase",label:n.a("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:h.a.writable})||this}return R(t,e),t.prototype._modifyText=function(e){return e.toLocaleUpperCase()},t}(q),J=function(e){function t(){return e.call(this,{id:"editor.action.transformToLowercase",label:n.a("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:h.a.writable})||this}return R(t,e),t.prototype._modifyText=function(e){return e.toLocaleLowerCase()},t}(q);Object(f.f)(N),Object(f.f)(I),Object(f.f)(A),Object(f.f)(P),Object(f.f)(M),Object(f.f)(B),Object(f.f)(F),Object(f.f)(H),Object(f.f)(U),Object(f.f)(V),Object(f.f)(W),Object(f.f)(j),Object(f.f)(z),Object(f.f)(K),Object(f.f)(Y),Object(f.f)(X),Object(f.f)($),Object(f.f)(J)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(6),r=o(22),s=o(5),a=o(12),l=o(3),u=(o(481),o(10)),c=o(1),h=o(58),d=o(11),g=o(16),p=o(17),f=o(13),m=o(4),_=o(50),y=o(48),v={Visible:new a.f("parameterHintsVisible",!1),MultipleSignatures:new a.f("parameterHintsMultipleSignatures",!1)};function b(e,t,o){var n=d.t.ordered(e);return Object(p.k)(n.map((function(n){return function(){return Promise.resolve(n.provideSignatureHelp(e,t,o)).catch(f.f)}})))}Object(l.e)("_executeSignatureHelpProvider",(function(e,t){return b(e,t,y.a.None)}));var E,C=o(81),S=o(116),T=o(19),w=o(7),k=o(82),O=o(89),R=o(160),L=(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),N=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=c.a,A=function(e){function t(o){var n=e.call(this)||this;return n._onHint=n._register(new m.a),n.onHint=n._onHint.event,n._onCancel=n._register(new m.a),n.onCancel=n._onCancel.event,n.editor=o,n.enabled=!1,n.triggerCharactersListeners=[],n.throttledDelayer=new p.c((function(){return n.doTrigger()}),t.DELAY),n.active=!1,n._register(n.editor.onDidChangeConfiguration((function(){return n.onEditorConfigurationChange()}))),n._register(n.editor.onDidChangeModel((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeCursorSelection((function(e){return n.onCursorChange(e)}))),n._register(n.editor.onDidChangeModelContent((function(e){return n.onModelContentChange()}))),n._register(d.t.onDidChange(n.onModelChanged,n)),n.onEditorConfigurationChange(),n.onModelChanged(),n}return L(t,e),t.prototype.cancel=function(e){void 0===e&&(e=!1),this.active=!1,this.throttledDelayer.cancel(),e||this._onCancel.fire(void 0),this.provideSignatureHelpRequest&&(this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=void 0)},t.prototype.trigger=function(e){if(void 0===e&&(e=t.DELAY),d.t.has(this.editor.getModel()))return this.cancel(!0),this.throttledDelayer.schedule(e)},t.prototype.doTrigger=function(){var e=this;this.provideSignatureHelpRequest&&this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=Object(p.i)((function(t){return b(e.editor.getModel(),e.editor.getPosition(),t)})),this.provideSignatureHelpRequest.then((function(t){if(!t||!t.signatures||0===t.signatures.length)return e.cancel(),e._onCancel.fire(void 0),!1;e.active=!0;var o={hints:t};return e._onHint.fire(o),!0})).catch(f.e)},t.prototype.isTriggered=function(){return this.active||this.throttledDelayer.isScheduled()},t.prototype.onModelChanged=function(){var e=this;this.cancel(),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners);var t=this.editor.getModel();if(t){for(var o=new S.b,n=0,r=d.t.ordered(t);n<r.length;n++){var s=r[n];if(Array.isArray(s.signatureHelpTriggerCharacters))for(var a=0,l=s.signatureHelpTriggerCharacters;a<l.length;a++){var u=l[a];o.add(u.charCodeAt(0))}}this.triggerCharactersListeners.push(this.editor.onDidType((function(t){e.enabled&&o.has(t.charCodeAt(t.length-1))&&e.trigger()})))}},t.prototype.onCursorChange=function(e){"mouse"===e.source?this.cancel():this.isTriggered()&&this.trigger()},t.prototype.onModelContentChange=function(){this.isTriggered()&&this.trigger()},t.prototype.onEditorConfigurationChange=function(){this.enabled=this.editor.getConfiguration().contribInfo.parameterHints,this.enabled||this.cancel()},t.prototype.dispose=function(){this.cancel(!0),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners),e.prototype.dispose.call(this)},t.DELAY=120,t}(i.a),P=function(){function e(e,t,o,n){var i=this;this.editor=e,this.allowEditorOverflow=!0,this.markdownRenderer=new R.a(e,n,o),this.model=new A(e),this.keyVisible=v.Visible.bindTo(t),this.keyMultipleSignatures=v.MultipleSignatures.bindTo(t),this.visible=!1,this.disposables=[],this.disposables.push(this.model.onHint((function(e){i.show(),i.hints=e.hints,i.currentSignature=e.hints.activeSignature,i.render()}))),this.disposables.push(this.model.onCancel((function(){i.hide()})))}return e.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=D(".editor-widget.parameter-hints-widget");var t=c.k(this.element,D(".wrapper")),o=c.k(t,D(".buttons")),n=c.k(o,D(".button.previous")),i=c.k(o,D(".button.next"));Object(_.b)(Object(_.a)(n,"click"))(this.previous,this,this.disposables),Object(_.b)(Object(_.a)(i,"click"))(this.next,this,this.disposables),this.overloads=c.k(t,D(".overloads"));var r=D(".body");this.scrollbar=new C.a(r,{}),this.disposables.push(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=c.k(r,D(".signature")),this.docs=c.k(r,D(".docs")),this.currentSignature=0,this.editor.addContentWidget(this),this.hide(),this.disposables.push(this.editor.onDidChangeCursorSelection((function(t){e.visible&&e.editor.layoutContentWidget(e)})));var s=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};s(),Object(m.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(s,null,this.disposables),this.disposables.push(this.editor.onDidLayoutChange((function(t){return e.updateMaxHeight()}))),this.updateMaxHeight()},e.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,u.b.timeout(100).done((function(){return c.f(e.element,"visible")})),this.editor.layoutContentWidget(this))},e.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.hints=null,this.announcedLabel=null,c.G(this.element,"visible"),this.editor.layoutContentWidget(this))},e.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[g.a.ABOVE,g.a.BELOW]}:null},e.prototype.render=function(){var e=this.hints.signatures.length>1;c.N(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var o=c.k(this.signature,D(".code")),r=t.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(o.style.fontSize=s.fontSize+"px",o.style.fontFamily=s.fontFamily,r)this.renderParameters(o,t,this.hints.activeParameter);else c.k(o,D("span")).textContent=t.label;Object(i.d)(this.renderDisposeables),this.renderDisposeables=[];var a=t.parameters[this.hints.activeParameter];if(a&&a.documentation){var l=D("span.documentation");if("string"==typeof a.documentation)l.textContent=a.documentation;else{var u=this.markdownRenderer.render(a.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),l.appendChild(u.element)}c.k(this.docs,D("p",null,l))}if(c.N(this.signature,"has-docs",!!t.documentation),"string"==typeof t.documentation)c.k(this.docs,D("p",null,t.documentation));else{u=this.markdownRenderer.render(t.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),c.k(this.docs,u.element)}var d=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(d+="/"+this.hints.signatures.length),this.overloads.textContent=d,a){var g=a.label;this.announcedLabel!==g&&(h.a(n.a("hint","{0}, hint",g)),this.announcedLabel=g)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,o){for(var n,i=t.label.length,r=0,s=t.parameters.length-1;s>=0;s--){var a=t.parameters[s],l=0,u=0;(r=t.label.lastIndexOf(a.label,i-1))>=0&&(l=r,u=r+a.label.length),(n=document.createElement("span")).textContent=t.label.substring(u,i),c.E(e,n),(n=document.createElement("span")).className="parameter "+(s===o?"active":""),n.textContent=t.label.substring(l,u),c.E(e,n),i=l}(n=document.createElement("span")).textContent=t.label.substring(0,i),c.E(e,n)},e.prototype.next=function(){var e=this.hints.signatures.length,t=this.currentSignature%e==e-1;return e<2||t?(this.cancel(),!1):(this.currentSignature++,this.render(),!0)},e.prototype.previous=function(){var e=this.hints.signatures.length,t=0===this.currentSignature;return e<2||t?(this.cancel(),!1):(this.currentSignature--,this.render(),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(){this.model.trigger(0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=Object(i.d)(this.disposables),this.renderDisposeables=Object(i.d)(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=N([I(1,a.e),I(2,k.a),I(3,O.a)],e)}();Object(T.e)((function(e,t){var o=e.getColor(w.w);if(o){var n=e.type===T.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+o.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+o.transparent(.5)+"; }")}var i=e.getColor(w.v);i&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+i+"; }");var r=e.getColor(w.qb);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(w.pb);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")})),o.d(t,"TriggerParameterHintsAction",(function(){return H}));var x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(P,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(){this.widget.trigger()},e.prototype.dispose=function(){this.widget=Object(i.d)(this.widget)},e.ID="editor.controller.parameterHints",e=M([B(1,r.a)],e)}(),H=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})||this}return x(t,e),t.prototype.run=function(e,t){var o=F.get(t);o&&o.trigger()},t}(l.b);Object(l.h)(F),Object(l.f)(H);var U=l.c.bindToContribution(F.get);Object(l.g)(new U({id:"closeParameterHints",precondition:v.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(l.g)(new U({id:"showPrevParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(l.g)(new U({id:"showNextParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(39),s=o(5),a=o(3),l=o(53),u=o(9),c=o(2),h=o(23),d=o(32),g=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,o){if(o<0)return!1;var n=t.length;if(o+n>e.length)return!1;for(var i=0;i<n;i++){var r=e.charCodeAt(o+i),s=t.charCodeAt(i);if(r!==s&&!(r>=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,o,n,i){var r,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,u=t.endColumn,h=n.getLineContent(s),d=n.getLineContent(l),g=o.blockCommentStartToken,p=o.blockCommentEndToken,f=h.lastIndexOf(g,a-1+g.length),m=d.indexOf(p,u-1-p.length);if(-1!==f&&-1!==m)if(s===l){h.substring(f+g.length,m).indexOf(p)>=0&&(f=-1,m=-1)}else{var _=h.substring(f+g.length),y=d.substring(0,m);(_.indexOf(p)>=0||y.indexOf(p)>=0)&&(f=-1,m=-1)}-1!==f&&-1!==m?(f+g.length<h.length&&32===h.charCodeAt(f+g.length)&&(g+=" "),m>0&&32===d.charCodeAt(m-1)&&(p=" "+p,m-=1),r=e._createRemoveBlockCommentOperations(new c.a(s,f+g.length+1,l,m+1),g,p)):(r=e._createAddBlockCommentOperations(t,g,p),this._usedEndToken=1===r.length?p:null);for(var v=0;v<r.length;v++)i.addTrackedEditOperation(r[v].range,r[v].text)},e._createRemoveBlockCommentOperations=function(e,t,o){var n=[];return c.a.isEmpty(e)?n.push(l.a.delete(new c.a(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+o.length))):(n.push(l.a.delete(new c.a(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(l.a.delete(new c.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+o.length)))),n},e._createAddBlockCommentOperations=function(e,t,o){var n=[];return c.a.isEmpty(e)?n.push(l.a.replace(new c.a(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+"  "+o)):(n.push(l.a.insert(new u.a(e.startLineNumber,e.startColumn),t+" ")),n.push(l.a.insert(new u.a(e.endLineNumber,e.endColumn)," "+o))),n},e.prototype.getEditOperations=function(e,t){var o=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenizeIfCheap(o);var i=e.getLanguageIdAtPosition(o,n),r=d.a.getComments(i);r&&r.blockCommentStartToken&&r.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,r,e,t)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations();if(2===o.length){var n=o[0],i=o[1];return new h.a(n.range.endLineNumber,n.range.endColumn,i.range.startLineNumber,i.range.startColumn)}var r=o[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new h.a(r.endLineNumber,r.endColumn+s,r.endLineNumber,r.endColumn+s)},e}(),p=o(8),f=function(){function e(e,t,o){this._selection=e,this._tabSize=t,this._type=o,this._deltaColumn=0}return e._gatherPreflightCommentStrings=function(e,t,o){e.tokenizeIfCheap(t);var n=e.getLanguageIdAtPosition(t,1),i=d.a.getComments(n),r=i?i.lineCommentToken:null;if(!r)return null;for(var s=[],a=0,l=o-t+1;a<l;a++)s[a]={ignore:!1,commentStr:r,commentStrOffset:0,commentStrLength:r.length};return s},e._analyzeLines=function(e,t,o,n){var i,r=!0;i=0===e||1!==e;for(var s=0,a=o.length;s<a;s++){var l=o[s],u=n+s,c=t.getLineContent(u),h=p.firstNonWhitespaceIndex(c);if(-1!==h){if(r=!1,l.ignore=!1,l.commentStrOffset=h,i&&!g._haystackHasNeedleAtOffset(c,l.commentStr,h)&&(0===e?i=!1:1===e||(l.ignore=!0)),i){var d=h+l.commentStrLength;d<c.length&&32===c.charCodeAt(d)&&(l.commentStrLength+=1)}}else l.ignore=!0,l.commentStrOffset=c.length}if(0===e&&r){i=!1;for(s=0,a=o.length;s<a;s++)o[s].ignore=!1}return{supported:!0,shouldRemoveComments:i,lines:o}},e._gatherPreflightData=function(t,o,n,i){var r=e._gatherPreflightCommentStrings(o,n,i);return null===r?{supported:!1,shouldRemoveComments:!1,lines:null}:e._analyzeLines(t,o,r,n)},e.prototype._executeLineComments=function(t,o,n,i){var r;n.shouldRemoveComments?r=e._createRemoveLineCommentsOperations(n.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,n.lines,i.startLineNumber,this._tabSize),r=e._createAddLineCommentsOperations(n.lines,i.startLineNumber));for(var s=new u.a(i.positionLineNumber,i.positionColumn),a=0,l=r.length;a<l;a++){if(o.addEditOperation(r[a].range,r[a].text),r[a].range.isEmpty()&&r[a].range.getStartPosition().equals(s))t.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=r[a].text.length)}this._selectionId=o.trackSelection(i)},e.prototype._attemptRemoveBlockComment=function(e,t,o,n){var i=t.startLineNumber,r=t.endLineNumber,s=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),a=e.getLineContent(i).lastIndexOf(o,s-1),l=e.getLineContent(r).indexOf(n,t.endColumn-1-o.length);return-1!==a&&-1===l&&(l=e.getLineContent(i).indexOf(n,a+o.length),r=i),-1===a&&-1!==l&&(a=e.getLineContent(r).lastIndexOf(o,l),i=r),!t.isEmpty()||-1!==a&&-1!==l||-1!==(a=e.getLineContent(i).indexOf(o))&&(l=e.getLineContent(i).indexOf(n,a+o.length)),-1!==a&&32===e.getLineContent(i).charCodeAt(a+o.length)&&(o+=" "),-1!==l&&32===e.getLineContent(r).charCodeAt(l-1)&&(n=" "+n,l-=1),-1!==a&&-1!==l?g._createRemoveBlockCommentOperations(new c.a(i,a+o.length+1,r,l+1),o,n):null},e.prototype._executeBlockComment=function(e,t,o){e.tokenizeIfCheap(o.startLineNumber);var n=e.getLanguageIdAtPosition(o.startLineNumber,1),i=d.a.getComments(n);if(i&&i.blockCommentStartToken&&i.blockCommentEndToken){var r=i.blockCommentStartToken,s=i.blockCommentEndToken,a=this._attemptRemoveBlockComment(e,o,r,s);if(!a){if(o.isEmpty()){var l=e.getLineContent(o.startLineNumber),u=p.firstNonWhitespaceIndex(l);-1===u&&(u=l.length),a=g._createAddBlockCommentOperations(new c.a(o.startLineNumber,u+1,o.startLineNumber,l.length+1),r,s)}else a=g._createAddBlockCommentOperations(new c.a(o.startLineNumber,e.getLineFirstNonWhitespaceColumn(o.startLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),r,s);1===a.length&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(o);for(var h=0;h<a.length;h++)t.addEditOperation(a[h].range,a[h].text)}},e.prototype.getEditOperations=function(t,o){var n=this._selection;this._moveEndPositionDown=!1,n.startLineNumber<n.endLineNumber&&1===n.endColumn&&(this._moveEndPositionDown=!0,n=n.setEndPosition(n.endLineNumber-1,t.getLineMaxColumn(n.endLineNumber-1)));var i=e._gatherPreflightData(this._type,t,n.startLineNumber,n.endLineNumber);return i.supported?this._executeLineComments(t,o,i,n):this._executeBlockComment(t,o,n)},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),new h.a(o.selectionStartLineNumber,o.selectionStartColumn+this._deltaColumn,o.positionLineNumber,o.positionColumn+this._deltaColumn)},e._createRemoveLineCommentsOperations=function(e,t){for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];r.ignore||o.push(l.a.delete(new c.a(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return o},e._createAddLineCommentsOperations=function(e,t){for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];r.ignore||o.push(l.a.insert(new u.a(t+n,r.commentStrOffset+1),r.commentStr+" "))}return o},e.nextVisibleColumn=function(e,t,o,n){return o?e+(t-e%t):e+n},e._normalizeInsertionPoint=function(t,o,n,i){for(var r,s,a=Number.MAX_VALUE,l=0,u=o.length;l<u;l++)if(!o[l].ignore){for(var c=t.getLineContent(n+l),h=0,d=0,g=o[l].commentStrOffset;h<a&&d<g;d++)h=e.nextVisibleColumn(h,i,9===c.charCodeAt(d),1);h<a&&(a=h)}a=Math.floor(a/i)*i;for(l=0,u=o.length;l<u;l++)if(!o[l].ignore){c=t.getLineContent(n+l),h=0;for(r=0,s=o[l].commentStrOffset;h<a&&r<s;r++)h=e.nextVisibleColumn(h,i,9===c.charCodeAt(r),1);o[l].commentStrOffset=h>a?r-1:r}},e}(),m=o(38),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n._type=t,n}return _(t,e),t.prototype.run=function(e,t){var o=t.getModel();if(o){for(var n=[],i=t.getSelections(),r=o.getOptions(),s=0;s<i.length;s++)n.push(new f(i[s],r.tabSize,this._type));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},t}(a.b),v=function(e){function t(){return e.call(this,0,{id:"editor.action.commentLine",label:i.a("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:2133,weight:100},menubarOpts:{menuId:m.b.MenubarEditMenu,group:"5_insert",title:i.a({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})||this}return _(t,e),t}(y),b=function(e){function t(){return e.call(this,1,{id:"editor.action.addCommentLine",label:i.a("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:Object(r.a)(2089,2081),weight:100}})||this}return _(t,e),t}(y),E=function(e){function t(){return e.call(this,2,{id:"editor.action.removeCommentLine",label:i.a("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:Object(r.a)(2089,2099),weight:100}})||this}return _(t,e),t}(y),C=function(e){function t(){return e.call(this,{id:"editor.action.blockComment",label:i.a("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menubarOpts:{menuId:m.b.MenubarEditMenu,group:"5_insert",title:i.a({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})||this}return _(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new g(n[i]));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(a.b);Object(a.f)(v),Object(a.f)(b),Object(a.f)(E),Object(a.f)(C)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(39),a=o(6),l=o(10),u=o(12),c=o(3),h=o(11),d=o(13),g=o(33),p=o(2),f=o(60),m=o(17),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(o){var n=e.call(this)||this;return n.name=t.Name,n.message=o,n}return _(t,e),t.Name="NOPRO",t}(Error);function v(e,t,o){var n=h.i.ordered(e);return 0===n.length?l.b.wrapError(new y):Object(m.j)(n.map((function(n){return function(){return Object(m.h)((function(i){return n.provideDocumentRangeFormattingEdits(e,t,o,i)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function b(e,t){var o=h.f.ordered(e);return 0===o.length?v(e,e.getFullModelRange(),t):Object(m.j)(o.map((function(o){return function(){return Object(m.h)((function(n){return o.provideDocumentFormattingEdits(e,t,n)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function E(e,t,o,n){var i=h.q.ordered(e)[0];return i?i.autoFormatTriggerCharacters.indexOf(o)<0?l.b.as(void 0):Object(m.h)((function(r){return i.provideOnTypeFormattingEdits(e,t,o,n,r)})).then((function(e){return e}),d.f):l.b.as(void 0)}Object(c.j)("_executeFormatRangeProvider",(function(e,t){var o=t.resource,n=t.range,i=t.options;if(!(o instanceof g.a&&p.a.isIRange(n)))throw Object(d.b)();var r=e.get(f.a).getModel(o);if(!r)throw Object(d.b)("resource");return v(r,p.a.lift(n),i)})),Object(c.j)("_executeFormatDocumentProvider",(function(e,t){var o=t.resource,n=t.options;if(!(o instanceof g.a))throw Object(d.b)("resource");var i=e.get(f.a).getModel(o);if(!i)throw Object(d.b)("resource");return b(i,n)})),Object(c.e)("_executeFormatOnTypeProvider",(function(e,t,o){var n=o.ch,i=o.options;if("string"!=typeof n)throw Object(d.b)("ch");return E(e,t,n,i)}));var C=o(53),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var o=void 0,n=[],i=0,r=t;i<r.length;i++){var s=r[i];"number"==typeof s.eol&&(o=s.eol),s.range&&"string"==typeof s.text&&n.push(s)}return"number"==typeof o&&e.getModel().pushEOL(o),n},e._isFullModelReplaceEdit=function(e,t){var o=e.getModel(),n=o.validateRange(t.range);return o.getFullModelRange().equalsRange(n)},e.execute=function(t,o){t.pushUndoStop();var n=e._handleEolEdits(t,o);1===n.length&&e._isFullModelReplaceEdit(t,n[0])?t.executeEdits("formatEditsCommand",n.map((function(e){return C.a.replace(p.a.lift(e.range),e.text)}))):t.executeEdits("formatEditsCommand",n.map((function(e){return C.a.replaceMove(p.a.lift(e.range),e.text)}))),t.pushUndoStop()},e}(),T=o(37),w=o(36),k=o(91),O=o(116),R=o(58),L=o(90),N=o(5),I=o(45);o.d(t,"AbstractFormatAction",(function(){return F})),o.d(t,"FormatDocumentAction",(function(){return H})),o.d(t,"FormatSelectionAction",(function(){return U}));var D=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),A=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},P=function(e,t){return function(o,n){t(o,n,e)}};function x(e){if((e=e.filter((function(e){return e.range}))).length){for(var t=e[0].range,o=1;o<e.length;o++)t=p.a.plusRange(t,e[o].range);var n=t.startLineNumber,r=t.endLineNumber;n===r?1===e.length?Object(R.a)(i.a("hint11","Made 1 formatting edit on line {0}",n)):Object(R.a)(i.a("hintn1","Made {0} formatting edits on line {1}",e.length,n)):1===e.length?Object(R.a)(i.a("hint1n","Made 1 formatting edit between lines {0} and {1}",n,r)):Object(R.a)(i.a("hintnn","Made {0} formatting edits between lines {1} and {2}",e.length,n,r))}}var M=function(){function e(e,t){var o=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModel((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModelLanguage((function(){return o.update()}))),this.callOnDispose.push(h.q.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=Object(a.d)(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnType&&this.editor.getModel()){var t=this.editor.getModel(),o=h.q.ordered(t)[0];if(o&&o.autoFormatTriggerCharacters){for(var n=new O.b,i=0,r=o.autoFormatTriggerCharacters;i<r.length;i++){var s=r[i];n.add(s.charCodeAt(0))}this.callOnModel.push(this.editor.onDidType((function(t){var o=t.charCodeAt(t.length-1);n.has(o)&&e.trigger(String.fromCharCode(o))})))}}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var o=this.editor.getModel(),n=this.editor.getPosition(),i=!1,s=this.editor.onDidChangeModelContent((function(e){if(e.isFlush)return i=!0,void s.dispose();for(var t=0,o=e.changes.length;t<o;t++){if(e.changes[t].range.endLineNumber<=n.lineNumber)return i=!0,void s.dispose()}})),a=o.getOptions();E(o,n,e,{tabSize:a.tabSize,insertSpaces:a.insertSpaces}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){s.dispose(),i||Object(r.k)(e)||(S.execute(t.editor,e),x(e))}),(function(e){throw s.dispose(),e}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.autoFormat",e=A([P(1,k.a)],e)}(),B=function(){function e(e,t){var o=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModel((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModelLanguage((function(){return o.update()}))),this.callOnDispose.push(h.i.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=Object(a.d)(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnPaste&&this.editor.getModel()){var t=this.editor.getModel(),o=h.i.ordered(t)[0];o&&o.provideDocumentRangeFormattingEdits&&this.callOnModel.push(this.editor.onDidPaste((function(t){e.trigger(t)})))}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var o=this.editor.getModel(),n=o.getOptions(),i=n.tabSize,s=n.insertSpaces,a=new L.a(this.editor,5);v(o,e,{tabSize:i,insertSpaces:s}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){a.validate(t.editor)&&!Object(r.k)(e)&&(S.execute(t.editor,e),x(e))}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=A([P(1,k.a)],e)}(),F=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return D(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(k.a),i=e.get(I.a),s=this._getFormattingEdits(t);if(!s)return l.b.as(void 0);var a=new L.a(t,5);return s.then((function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e)})).then((function(e){a.validate(t)&&!Object(r.k)(e)&&(S.execute(t,e),x(e),t.focus())}),(function(e){if(!(e instanceof Error&&e.name===y.Name))throw e;o._notifyNoProviderError(i,t.getModel().getLanguageIdentifier().language)}))},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.provider","There is no formatter for '{0}'-files installed.",t))},t}(c.b),H=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:i.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:N.a.writable,kbOpts:{kbExpr:N.a.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:N.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions();return b(t,{tabSize:o.tabSize,insertSpaces:o.insertSpaces})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.documentprovider","There is no document formatter for '{0}'-files installed.",t))},t}(F),U=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:i.a("formatSelection.label","Format Selection"),alias:"Format Code",precondition:u.d.and(N.a.writable,N.a.hasNonEmptySelection),kbOpts:{kbExpr:N.a.editorTextFocus,primary:Object(s.a)(2089,2084),weight:100},menuOpts:{when:u.d.and(N.a.hasDocumentSelectionFormattingProvider,N.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions(),n=o.tabSize,i=o.insertSpaces;return v(t,e.getSelection(),{tabSize:n,insertSpaces:i})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.selectionprovider","There is no selection formatter for '{0}'-files installed.",t))},t}(F);Object(c.h)(M),Object(c.h)(B),Object(c.f)(H),Object(c.f)(U),T.a.registerCommand("editor.action.format",(function(e){var t=e.get(w.a).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=e.getSelection(),n=t.getOptions(),i=n.tabSize,r=n.insertSpaces;return o.isEmpty()?b(t,{tabSize:i,insertSpaces:r}):v(t,o,{tabSize:i,insertSpaces:r})},t}(F))).run(e,t)}))},function(e,t,o){"use strict";o.r(t);var n=o(17),i=o(13),r=o(6),s=o(90),a=o(3),l=o(11),u=(o(434),o(8)),c=o(1),h=o(2),d=o(16),g=o(26),p=o(29),f=o(19),m=o(7),_=function(){function e(e,t){this.afterLineNumber=e,this._onHeight=t,this.heightInLines=1,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}return e.prototype.onComputedHeight=function(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())},e}(),y=function(){function e(t,o,n,i){var r=this;this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._disposables=[],this._commands=Object.create(null),this._id="codeLensWidget"+ ++e._idPool,this._editor=t,this.setSymbolRange(o),this._domNode=document.createElement("span"),this._domNode.innerHTML="&nbsp;",c.f(this._domNode,"codelens-decoration"),c.f(this._domNode,"invisible-cl"),this._updateHeight(),this._disposables.push(this._editor.onDidChangeConfiguration((function(e){return e.fontInfo&&r._updateHeight()}))),this._disposables.push(c.g(this._domNode,"click",(function(e){var o=e.target;if("A"===o.tagName&&o.id){var s=r._commands[o.id];s&&(t.focus(),n.executeCommand.apply(n,[s.id].concat(s.arguments)).done(void 0,(function(e){i.error(e)})))}}))),this.updateVisibility()}return e.prototype.dispose=function(){Object(r.d)(this._disposables)},e.prototype._updateHeight=function(){var e=this._editor.getConfiguration(),t=e.fontInfo,o=e.lineHeight;this._domNode.style.height=Math.round(1.1*o)+"px",this._domNode.style.lineHeight=o+"px",this._domNode.style.fontSize=Math.round(.9*t.fontSize)+"px",this._domNode.innerHTML="&nbsp;"},e.prototype.updateVisibility=function(){this.isVisible()&&(c.G(this._domNode,"invisible-cl"),c.f(this._domNode,"fadein"))},e.prototype.withCommands=function(e){if(this._commands=Object.create(null),e&&e.length){for(var t=[],o=0;o<e.length;o++){var n=e[o].command,i=Object(u.escape)(n.title),r=void 0;n.id?(r=Object(u.format)("<a id={0}>{1}</a>",o,i),this._commands[o]=n):r=Object(u.format)("<span>{0}</span>",i),t.push(r)}this._domNode.innerHTML=t.join("<span>&nbsp;|&nbsp;</span>"),this._editor.layoutContentWidget(this)}else this._domNode.innerHTML="no commands"},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){var t=e.startLineNumber,o=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:o},preference:[d.a.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),v=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),o=0,n=t.length;o<n;o++)this._addDecorationsCallbacks[o](t[o])},e}(),b=function(){function e(e,t,o,n,i,r,s){var a,l=this;this._editor=t,this._data=e,this._decorationIds=new Array(this._data.length),this._data.forEach((function(e,t){o.addDecoration({range:e.symbol.range,options:g.a.EMPTY},(function(e){return l._decorationIds[t]=e})),a=a?h.a.plusRange(a,e.symbol.range):h.a.lift(e.symbol.range)})),this._contentWidget=new y(t,a,i,r),this._viewZone=new _(a.startLineNumber-1,s),this._viewZoneId=n.addZone(this._viewZone),this._editor.addContentWidget(this._contentWidget)}return e.prototype.dispose=function(e,t){for(;this._decorationIds.length;)e.removeDecoration(this._decorationIds.pop());t&&t.removeZone(this._viewZoneId),this._editor.removeContentWidget(this._contentWidget),this._contentWidget.dispose()},e.prototype.isValid=function(){var e=this;return this._decorationIds.some((function(t,o){var n=e._editor.getModel().getDecorationRange(t),i=e._data[o].symbol;return n&&h.a.isEmpty(i.range)===n.isEmpty()}))},e.prototype.updateCodeLensSymbols=function(e,t){for(var o=this;this._decorationIds.length;)t.removeDecoration(this._decorationIds.pop());this._data=e,this._decorationIds=new Array(this._data.length),this._data.forEach((function(e,n){t.addDecoration({range:e.symbol.range,options:g.a.EMPTY},(function(e){return o._decorationIds[n]=e}))}))},e.prototype.computeIfNecessary=function(e){if(this._contentWidget.updateVisibility(),!this._contentWidget.isVisible())return null;for(var t=0;t<this._decorationIds.length;t++)this._data[t].symbol.range=e.getDecorationRange(this._decorationIds[t]);return this._data},e.prototype.updateCommands=function(e){this._contentWidget.withCommands(e)},e.prototype.getLineNumber=function(){var e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1},e.prototype.update=function(e){if(this.isValid()){var t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget.setSymbolRange(t),this._editor.layoutContentWidget(this._contentWidget)}},e}();Object(f.e)((function(e,t){var o=e.getColor(p.e);o&&t.addRule(".monaco-editor .codelens-decoration { color: "+o+"; }");var n=e.getColor(m.m);n&&t.addRule(".monaco-editor .codelens-decoration > a:hover { color: "+n+" !important; }")}));var E=o(37),C=o(45),S=o(25),T=o(33),w=o(60),k=o(48);function O(e,t){var o=[],n=l.c.ordered(e),r=n.map((function(n){return Promise.resolve(n.provideCodeLenses(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;t<i.length;t++){var r=i[t];o.push({symbol:r,provider:n})}})).catch(i.f)}));return Promise.all(r).then((function(){return Object(S.l)(o,(function(e,t){return e.symbol.range.startLineNumber<t.symbol.range.startLineNumber?-1:e.symbol.range.startLineNumber>t.symbol.range.startLineNumber?1:n.indexOf(e.provider)<n.indexOf(t.provider)?-1:n.indexOf(e.provider)>n.indexOf(t.provider)?1:e.symbol.range.startColumn<t.symbol.range.startColumn?-1:e.symbol.range.startColumn>t.symbol.range.startColumn?1:0}))}))}Object(a.j)("_executeCodeLensProvider",(function(e,t){var o=t.resource,n=t.itemResolveCount;if(!(o instanceof T.a))throw Object(i.b)();var r=e.get(w.a).getModel(o);if(!r)throw Object(i.b)();var s=[];return O(r,k.a.None).then((function(e){for(var t=[],o=0,i=e;o<i.length;o++){var a=i[o];void 0===n||Boolean(a.symbol.command)?s.push(a.symbol):n-- >0&&t.push(Promise.resolve(a.provider.resolveCodeLens(r,a.symbol,k.a.None)).then((function(e){return s.push(e)})))}return Promise.all(t)})).then((function(){return s}))})),o.d(t,"CodeLensContribution",(function(){return N}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},N=function(){function e(e,t,o){var n=this;this._editor=e,this._commandService=t,this._notificationService=o,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeModelLanguage((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n._editor.getConfiguration().contribInfo.codeLens,t!==n._isEnabled&&n._onModelChange()}))),this._globalToDispose.push(l.c.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=Object(r.d)(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null),this._localToDispose=Object(r.d)(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&l.c.has(t)){for(var o=0,a=l.c.all(t);o<a.length;o++){var u=a[o];if("function"==typeof u.onDidChange){var c=u.onDidChange((function(){return h.schedule()}));this._localToDispose.push(c)}}this._detectVisibleLenses=new n.c((function(){e._onViewportChanged()}),500);var h=new n.c((function(){var o=++e._modelChangeCounter;e._currentFindCodeLensSymbolsPromise&&e._currentFindCodeLensSymbolsPromise.cancel(),e._currentFindCodeLensSymbolsPromise=Object(n.i)((function(e){return O(t,e)})),e._currentFindCodeLensSymbolsPromise.then((function(t){o===e._modelChangeCounter&&(e._renderCodeLensSymbols(t),e._detectVisibleLenses.schedule())}),i.e)}),250);this._localToDispose.push(h),this._localToDispose.push(this._detectVisibleLenses),this._localToDispose.push(this._editor.onDidChangeModelContent((function(t){e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){var n=[],i=-1;e._lenses.forEach((function(e){e.isValid()&&i!==e.getLineNumber()?(e.update(o),i=e.getLineNumber()):n.push(e)}));var r=new v;n.forEach((function(t){t.dispose(r,o),e._lenses.splice(e._lenses.indexOf(t),1)})),r.commit(t)}))})),e._detectVisibleLenses.schedule(),h.schedule()}))),this._localToDispose.push(this._editor.onDidScrollChange((function(t){t.scrollTopChanged&&e._lenses.length>0&&e._detectVisibleLenses.schedule()}))),this._localToDispose.push(this._editor.onDidLayoutChange((function(t){e._detectVisibleLenses.schedule()}))),this._localToDispose.push(Object(r.f)((function(){if(e._editor.getModel()){var t=s.b.capture(e._editor);e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){e._disposeAllLenses(t,o)}))})),t.restore(e._editor)}else e._disposeAllLenses(null,null)}))),h.schedule()}},e.prototype._disposeAllLenses=function(e,t){var o=new v;this._lenses.forEach((function(e){return e.dispose(o,t)})),e&&o.commit(e),this._lenses=[]},e.prototype._renderCodeLensSymbols=function(e){var t=this;if(this._editor.getModel()){for(var o,n=this._editor.getModel().getLineCount(),i=[],r=0,a=e;r<a.length;r++){var l=a[r],u=l.symbol.range.startLineNumber;u<1||u>n||(o&&o[o.length-1].symbol.range.startLineNumber===u?o.push(l):(o=[l],i.push(o)))}var c=s.b.capture(this._editor);this._editor.changeDecorations((function(e){t._editor.changeViewZones((function(o){for(var n=0,r=0,s=new v;r<i.length&&n<t._lenses.length;){var a=i[r][0].symbol.range.startLineNumber,l=t._lenses[n].getLineNumber();l<a?(t._lenses[n].dispose(s,o),t._lenses.splice(n,1)):l===a?(t._lenses[n].updateCodeLensSymbols(i[r],s),r++,n++):(t._lenses.splice(n,0,new b(i[r],t._editor,s,o,t._commandService,t._notificationService,(function(){return t._detectVisibleLenses.schedule()}))),n++,r++)}for(;n<t._lenses.length;)t._lenses[n].dispose(s,o),t._lenses.splice(n,1);for(;r<i.length;)t._lenses.push(new b(i[r],t._editor,s,o,t._commandService,t._notificationService,(function(){return t._detectVisibleLenses.schedule()}))),r++;s.commit(e)}))})),c.restore(this._editor)}},e.prototype._onViewportChanged=function(){var e=this;this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null);var t=this._editor.getModel();if(t){var o=[],r=[];this._lenses.forEach((function(e){var n=e.computeIfNecessary(t);n&&(o.push(n),r.push(e))})),0!==o.length&&(this._currentResolveCodeLensSymbolsPromise=Object(n.i)((function(e){var n=o.map((function(o,n){var i=new Array(o.length),s=o.map((function(o,n){return"function"==typeof o.provider.resolveCodeLens?Promise.resolve(o.provider.resolveCodeLens(t,o.symbol,e)).then((function(e){i[n]=e})):(i[n]=o.symbol,Promise.resolve(void 0))}));return Promise.all(s).then((function(){r[n].updateCommands(i)}))}));return Promise.all(n)})),this._currentResolveCodeLensSymbolsPromise.then((function(){e._currentResolveCodeLensSymbolsPromise=null})).catch((function(t){e._currentResolveCodeLensSymbolsPromise=null,Object(i.e)(t)})))}},e.ID="css.editor.codeLens",e=R([L(1,E.b),L(2,C.a)],e)}();Object(a.h)(N)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(10),a=o(22),l=o(2),u=o(5),c=o(3),h=o(60),d=o(86),g=o(106),p=o(32),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return new l.a(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(m),y=function(e){function t(){var t=e.call(this)||this;return t.elements=new _,t.elements.parent=t,t}return f(t,e),t}(m),v=function(e,t,o){this.range=e,this.bracket=t,this.bracketType=o};function b(e){var t=new m;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var E=function(e,t,o){this.lineNumber=o,this.lineText=e.getLineContent(),this.startOffset=e.getStartOffset(t),this.endOffset=e.getEndOffset(t),this.type=e.getStandardTokenType(t),this.languageId=e.getLanguageId(t)},C=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber<this._lineCount&&!this._lineTokens;)this._lineNumber++,this._model.forceTokenization(this._lineNumber),this._lineTokens=this._model.getLineTokens(this._lineNumber),this._tokenIndex=0,0===this._lineTokens.getCount()&&(this._lineTokens=null)},e.prototype.next=function(){if(!this._lineTokens)return null;if(this._model.getVersionId()!==this._versionId)return null;var e=new E(this._lineTokens,this._tokenIndex,this._lineNumber);return this._advance(),e},e}(),S=function(){function e(e){this._rawTokenScanner=new C(e),this._nextBuff=[],this._cachedLanguageBrackets=null,this._cachedLanguageId=-1}return e.prototype.next=function(){if(this._nextBuff.length>0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,o=e.lineText,n=e.type,i=e.startOffset,r=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=p.a.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||Object(d.b)(n))return new v(new l.a(t,i+1,t,r+1),0,null);do{if(s=g.a.findNextBracketInToken(a.forwardRegex,t,o,i,r)){var u=s.startColumn-1,c=s.endColumn-1;i<u&&this._nextBuff.push(new v(new l.a(t,i+1,t,u+1),0,null));var h=o.substring(u,c);h=h.toLowerCase();var f=a.textIsBracket[h],m=a.textIsOpenBracket[h];this._nextBuff.push(new v(new l.a(t,u+1,t,c+1),m?1:-1,f.languageIdentifier.language+";"+f.open+";"+f.close)),i=c}}while(s);return i<r&&this._nextBuff.push(new v(new l.a(t,i+1,t,r+1),0,null)),this._nextBuff.shift()},e}(),T=function(){function e(e){this._stack=[],this._scanner=new S(e)}return e.prototype.build=function(){for(var e=new _;e.append(this._line()||this._any()););return e},e.prototype._accept=function(e){var t=this._stack.pop()||this._scanner.next();if(!t)return!1;var o=e(t);return o?this._currentToken=t:(this._stack.push(t),this._currentToken=null),o},e.prototype._peek=function(e){var t=!1;return this._accept((function(o){return t=e(o),!1})),t},e.prototype._line=function(){var e,t=new _;for(this._peek((function(t){return e=t.range.startLineNumber,!1}));this._peek((function(t){return t.range.startLineNumber===e}))&&t.append(this._token()||this._block()););return t.children&&0!==t.children.length?1===t.children.length?t.children[0]:t:null},e.prototype._token=function(){return this._accept((function(e){return 0===e.bracket}))?b(this._currentToken):null},e.prototype._block=function(){var e;if(!this._accept((function(t){return e=t.bracketType,1===t.bracket})))return null;var t=new y;for(t.open=b(this._currentToken);t.elements.append(this._line()););if(!this._accept((function(t){return-1===t.bracket&&t.bracketType===e}))){var o=new _;return o.append(t.open),o.append(t.elements),o}return t.close=b(this._currentToken),t},e.prototype._any=function(){return this._accept((function(e){return!0}))?b(this._currentToken):null},e}();var w=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){return s.b.as(this.getRangesToPositionSync(e,t))},e.prototype.getRangesToPositionSync=function(e,t){var o=this._modelService.getModel(e),n=[];return o&&this._doGetRangesToPosition(o,t).forEach((function(e){n.push({type:void 0,range:e})})),n},e.prototype._doGetRangesToPosition=function(e,t){var o,n;o=function e(t,o){if(t instanceof _&&t.isEmpty)return null;if(!l.a.containsPosition(t.range,o))return null;var n;if(t instanceof _){if(t.hasChildren)for(var i=0,r=t.children.length;i<r&&!n;i++)n=e(t.children[i],o)}else t instanceof y&&(n=e(t.open,o)||e(t.elements,o)||e(t.close,o));return n||t}(function(e){return new T(e).build()}(e),t);for(var i=[];o;)n&&l.a.equalsRange(n,o.range)||i.push(o.range),n=o.range,o=o.parent;return i=i.reverse()},e=w([k(0,h.a)],e)}(),R=o(38),L=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),N=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=function(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()},A=function(){function e(e,t){this.editor=e,this._tokenSelectionSupport=t.createInstance(O),this._state=null,this._ignoreSelection=!1}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(e){var t=this,o=this.editor.getSelection(),n=this.editor.getModel();this._state&&this._state.editor!==this.editor&&(this._state=null);var i=s.b.as(null);return this._state||(i=this._tokenSelectionSupport.getRangesToPosition(n.uri,o.getStartPosition()).then((function(e){if(!r.k(e)){var o;e.filter((function(e){var o=t.editor.getSelection(),n=new l.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);return n.containsPosition(o.getStartPosition())&&n.containsPosition(o.getEndPosition())})).forEach((function(e){var n=e.range,i=new D(t.editor);i.selection=new l.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn),o&&(i.next=o,o.previous=i),o=i}));var n=new D(t.editor);n.next=o,o&&(o.previous=n),t._state=n;var i=t.editor.onDidChangeCursorPosition((function(e){t._ignoreSelection||(t._state=null,i.dispose())}))}}))),i.then((function(){if(t._state&&(t._state=e?t._state.next:t._state.previous,t._state)){t._ignoreSelection=!0;try{t.editor.setSelection(t._state.selection)}finally{t._ignoreSelection=!1}}}))},e.ID="editor.contrib.smartSelectController",e=N([I(1,a.a)],e)}(),P=function(e){function t(t,o){var n=e.call(this,o)||this;return n._forward=t,n}return L(t,e),t.prototype.run=function(e,t){var o=A.get(t);if(o)return o.run(this._forward)},t}(c.b),x=function(e){function t(){return e.call(this,!0,{id:"editor.action.smartSelect.grow",label:i.a("smartSelect.grow","Expand Select"),alias:"Expand Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1553,mac:{primary:3345},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})||this}return L(t,e),t}(P),M=function(e){function t(){return e.call(this,!1,{id:"editor.action.smartSelect.shrink",label:i.a("smartSelect.shrink","Shrink Select"),alias:"Shrink Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1551,mac:{primary:3343},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})||this}return L(t,e),t}(P);Object(c.h)(A),Object(c.f)(x),Object(c.f)(M)},function(e,t,o){"use strict";o.r(t);o(482);var n=o(0),i=o(111),r=o(8),s=o(124),a=o(97),l=o(5),u=o(11),c=o(161),h=o(13),d=o(33),g=o(10),p=o(2),f=o(3),m=o(60),_=o(17);function y(e){var t=[],o=u.j.all(e).map((function(o){return Object(_.h)((function(t){return o.provideDocumentSymbols(e,t)})).then((function(e){Array.isArray(e)&&t.push.apply(t,e)}),(function(e){Object(h.f)(e)}))}));return g.b.join(o).then((function(){var e=[];return function e(t,o,n){for(var i=0,r=o;i<r.length;i++){var s=r[i];t.push({kind:s.kind,name:s.name,detail:s.detail,containerName:s.containerName||n,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&e(t,s.children,s.name)}}(e,t,""),e.sort(v),e}))}function v(e,t){return p.a.compareRangesUsingStarts(e.range,t.range)}Object(f.j)("_executeDocumentSymbolProvider",(function(e,t){var o=t.resource;if(!(o instanceof d.a))throw Object(h.b)("resource");var n=e.get(m.a).getModel(o);if(!n)throw Object(h.b)("resource");return y(n)})),o.d(t,"SymbolEntry",(function(){return C})),o.d(t,"QuickOutlineAction",(function(){return S}));var b,E=(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}b(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e){function t(t,o,n,i,r,s,a){var l=e.call(this)||this;return l.name=t,l.type=o,l.description=n,l.range=i,l.setHighlights(r),l.editor=s,l.decorator=a,l}return E(t,e),t.prototype.getLabel=function(){return this.name},t.prototype.getAriaLabel=function(){return n.a("entryAriaLabel","{0}, symbols",this.name)},t.prototype.getIcon=function(){return this.type},t.prototype.getDescription=function(){return this.description},t.prototype.getType=function(){return this.type},t.prototype.getRange=function(){return this.range},t.prototype.run=function(e,t){return e===a.a.OPEN?this.runOpen(t):this.runPreview()},t.prototype.runOpen=function(e){var t=this.toSelection();return this.editor.setSelection(t),this.editor.revealRangeInCenter(t,0),this.editor.focus(),!0},t.prototype.runPreview=function(){var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(this.range,this.editor),!1},t.prototype.toSelection=function(){return new p.a(this.range.startLineNumber,this.range.startColumn||1,this.range.startLineNumber,this.range.startColumn||1)},t}(s.b),S=function(e){function t(){return e.call(this,n.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),{id:"editor.action.quickOutline",label:n.a("QuickOutlineAction.label","Go to Symbol..."),alias:"Go to Symbol...",precondition:l.a.hasDocumentSymbolProvider,kbOpts:{kbExpr:l.a.focus,primary:3117,weight:100},menuOpts:{group:"navigation",order:3}})||this}return E(t,e),t.prototype.run=function(e,t){var o=this,n=t.getModel();return u.j.has(n)?y(n).then((function(e){0!==e.length&&o._run(t,e)})):null},t.prototype._run=function(e,t){var o=this;this._show(this.getController(e),{getModel:function(n){return new s.c(o.toQuickOpenEntries(e,t,n))},getAutoFocus:function(e){return 0===e.indexOf(":")&&(e=e.substr(":".length)),{autoFocusPrefixMatch:e,autoFocusFirstEntry:!!e}}})},t.prototype.symbolEntry=function(e,t,o,n,i,r,s){return new C(e,t,o,p.a.lift(n),i,r,s)},t.prototype.toQuickOpenEntries=function(e,t,o){var s=this.getController(e),a=[],l=o;0===o.indexOf(":")&&(l=l.substr(":".length));for(var c=0;c<t.length;c++){var h=t[c],d=r.trim(h.name),g=Object(i.e)(l,d);if(g){var p=null;h.containerName&&(p=h.containerName),a.push(this.symbolEntry(d,Object(u.B)(h.kind),p,h.range,g,e,s))}}if(o&&(a=0===o.indexOf(":")?a.sort(this.sortScoped.bind(this,o.toLowerCase())):a.sort(this.sortNormal.bind(this,o.toLowerCase()))),a.length>0&&0===o.indexOf(":")){var f=null,m=null,_=0;for(c=0;c<a.length;c++){var y=a[c];f!==y.getType()?(m&&m.setGroupLabel(this.typeToLabel(f,_)),f=y.getType(),m=y,_=1,y.setShowBorder(c>0)):_++}m&&m.setGroupLabel(this.typeToLabel(f,_))}else a.length>0&&a[0].setGroupLabel(n.a("symbols","symbols ({0})",a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.a("modules","modules ({0})",t);case"class":return n.a("class","classes ({0})",t);case"interface":return n.a("interface","interfaces ({0})",t);case"method":return n.a("method","methods ({0})",t);case"function":return n.a("function","functions ({0})",t);case"property":return n.a("property","properties ({0})",t);case"variable":return n.a("variable","variables ({0})",t);case"var":return n.a("variable2","variables ({0})",t);case"constructor":return n.a("_constructor","constructors ({0})",t);case"call":return n.a("call","calls ({0})",t)}return e},t.prototype.sortNormal=function(e,t,o){var n=t.getLabel().toLowerCase(),i=o.getLabel().toLowerCase(),r=n.localeCompare(i);if(0!==r)return r;var s=t.getRange(),a=o.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,o){e=e.substr(":".length);var n=t.getType(),i=o.getType(),r=n.localeCompare(i);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=o.getLabel().toLowerCase(),l=s.localeCompare(a);if(0!==l)return l}var u=t.getRange(),c=o.getRange();return u.startLineNumber-c.startLineNumber},t}(c.a);Object(f.f)(S)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(4),s=o(6),a=o(12),l=o(46),u=o(2),c=o(3),h=o(19),d=o(5),g=(o(471),o(1)),p=o(207),f=o(7),m=o(14),_=o(29),y=o(81),v=o(42),b=o(165),E=o(25),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S=function(){function e(e,t,o){var n=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var i=document.createElement("div");i.className="descriptioncontainer",i.setAttribute("aria-live","assertive"),i.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),i.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),i.appendChild(this._relatedBlock),this._disposables.push(g.j(this._relatedBlock,"click",(function(e){e.preventDefault();var t=n._relatedDiagnostics.get(e.target);t&&o(t)}))),this._scrollable=new y.b(i,{horizontal:v.b.Auto,vertical:v.b.Auto,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),g.f(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll((function(e){i.style.left="-"+e.scrollLeft+"px",i.style.top="-"+e.scrollTop+"px"}))),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.d)(this._disposables)},e.prototype.update=function(e){var t=e.source,o=e.message,n=e.relatedInformation;if(t){this._lines=0,this._longestLineLength=0;for(var i=new Array(t.length+3+1).join(" "),r=o.split(/\r\n|\r|\n/g),s=0;s<r.length;s++){var a=r[s];this._lines+=1,this._longestLineLength=Math.max(a.length,this._longestLineLength),0===s?o="["+t+"] "+a:o+="\n"+i+a}}else this._lines=1,this._longestLineLength=o.length;if(g.l(this._relatedBlock),!Object(E.k)(n)){this._relatedBlock.style.paddingTop=Math.floor(.66*this._editor.getConfiguration().lineHeight)+"px",this._lines+=1;for(var l=0,u=n;l<u.length;l++){var c=u[l],h=document.createElement("div"),d=document.createElement("span");g.f(d,"filename"),d.innerHTML=Object(b.a)(c.resource)+"("+c.startLineNumber+", "+c.startColumn+"): ",d.title=Object(b.b)(c.resource,void 0),this._relatedDiagnostics.set(d,c);var p=document.createElement("span");p.innerText=c.message,this._editor.applyFontInfo(p),h.appendChild(d),h.appendChild(p),this._lines+=1,this._relatedBlock.appendChild(h)}}this._messageBlock.innerText=o,this._editor.applyFontInfo(this._messageBlock);var f=this._editor.getConfiguration().fontInfo,m=Math.ceil(f.typicalFullwidthCharacterWidth*this._longestLineLength*.75),_=f.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:m,scrollHeight:_})},e.prototype.layout=function(e,t){this._scrollable.getDomNode().style.height=e+"px",this._scrollable.setScrollDimensions({width:t,height:e})},e.prototype.getHeightInLines=function(){return Math.min(17,this._lines)},e}(),T=function(e){function t(t,o){var n=e.call(this,t,{showArrow:!0,showFrame:!0,isAccessible:!0})||this;return n._themeService=o,n._callOnDispose=[],n._onDidSelectRelatedInformation=new r.a,n.onDidSelectRelatedInformation=n._onDidSelectRelatedInformation.event,n._severity=l.b.Warning,n._backgroundColor=m.a.white,n._applyTheme(o.getTheme()),n._callOnDispose.push(o.onThemeChange(n._applyTheme.bind(n))),n.create(),n}return C(t,e),t.prototype._applyTheme=function(e){this._backgroundColor=e.getColor(I);var t=R;this._severity===l.b.Warning?t=L:this._severity===l.b.Info&&(t=N);var o=e.getColor(t);this.style({arrowColor:o,frameColor:o})},t.prototype._applyStyles=function(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor.toString()),e.prototype._applyStyles.call(this)},t.prototype.dispose=function(){this._callOnDispose=Object(s.d)(this._callOnDispose),e.prototype.dispose.call(this)},t.prototype.focus=function(){this._parentContainer.focus()},t.prototype._fillContainer=function(e){var t=this;this._parentContainer=e,g.f(e,"marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._title=document.createElement("div"),this._title.className="block title",this._container.appendChild(this._title),this._message=new S(this._container,this.editor,(function(e){return t._onDidSelectRelatedInformation.fire(e)})),this._disposables.push(this._message)},t.prototype.show=function(e,t){throw new Error("call showAtMarker")},t.prototype.showAtMarker=function(t,o,n){this._container.classList.remove("stale"),this._title.innerHTML=i.a("title.wo_source","({0}/{1})",o,n),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getTheme());var r=u.a.lift(t),s=r.containsPosition(this.editor.getPosition())?this.editor.getPosition():r.getStartPosition();e.prototype.show.call(this,s,this.computeRequiredHeight()),this.editor.revealPositionInCenter(s,0),1!==this.editor.getConfiguration().accessibilitySupport&&this.focus()},t.prototype.updateMarker=function(e){this._container.classList.remove("stale"),this._message.update(e)},t.prototype.showStale=function(){this._container.classList.add("stale"),this._relayout()},t.prototype._doLayout=function(e,t){this._message.layout(e,t),this._container.style.height=e+"px"},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 1+this._message.getHeightInLines()},t}(p.a),w=Object(f.eb)(_.i,_.h),k=Object(f.eb)(_.w,_.v),O=Object(f.eb)(_.n,_.m),R=Object(f.kb)("editorMarkerNavigationError.background",{dark:w,light:w,hc:w},i.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),L=Object(f.kb)("editorMarkerNavigationWarning.background",{dark:k,light:k,hc:k},i.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),N=Object(f.kb)("editorMarkerNavigationInfo.background",{dark:O,light:O,hc:O},i.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),I=Object(f.kb)("editorMarkerNavigation.background",{dark:"#2D2D30",light:m.a.white,hc:"#0C141F"},i.a("editorMarkerNavigationBackground","Editor marker navigation widget background.")),D=o(8),A=o(36),P=o(13),x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){var o=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new r.a,this._onMarkerSetChanged=new r.a,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._toUnbind.push(this._editor.onDidChangeCursorPosition((function(){o._ignoreSelectionChange||o.currentMarker&&u.a.containsPosition(o.currentMarker,o._editor.getPosition())||(o._nextIdx=-1)})))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(U.compareMarker),this._nextIdx=t?Math.max(-1,Object(E.b)(this._markers,t,U.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0;n<this._markers.length;n++){var i=u.a.lift(this._markers[n]);if(i.isEmpty()){var r=this._editor.getModel().getWordAtPosition(i.getStartPosition());r&&(i=new u.a(i.startLineNumber,r.startColumn,i.startLineNumber,r.endColumn))}if(i.containsPosition(o)||o.isBeforeOrEqual(i.getStartPosition())){this._nextIdx=n,t=!0;break}}t||(this._nextIdx=e?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)},Object.defineProperty(e.prototype,"currentMarker",{get:function(){return this.canNavigate()?this._markers[this._nextIdx]:void 0},enumerable:!0,configurable:!0}),e.prototype.move=function(e,t){if(!this.canNavigate())return this._onCurrentMarkerChanged.fire(void 0),!t;var o=this._nextIdx,n=!1;if(-1===this._nextIdx?this._initIdx(e):e?t||this._nextIdx+1<this._markers.length?this._nextIdx=(this._nextIdx+1)%this._markers.length:n=!0:e||(t||this._nextIdx>0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:n=!0),o!==this._nextIdx){var i=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(i)}return n},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,o=this._markers;t<o.length;t++){var n=o[t];if(u.a.containsPosition(n,e))return n}},Object.defineProperty(e.prototype,"total",{get:function(){return this._markers.length},enumerable:!0,configurable:!0}),e.prototype.indexOf=function(e){return 1+this._markers.indexOf(e)},e.prototype.dispose=function(){this._toUnbind=Object(s.d)(this._toUnbind)},e}(),H=function(){function e(e,t,o,n,i){this._markerService=t,this._contextKeyService=o,this._themeService=n,this._editorService=i,this._disposeOnClose=[],this._editor=e,this._widgetVisible=z.bindTo(this._contextKeyService)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._cleanUp()},e.prototype._cleanUp=function(){this._widgetVisible.reset(),this._disposeOnClose=Object(s.d)(this._disposeOnClose),this._widget=null,this._model=null},e.prototype.getOrCreateModel=function(){var e=this;if(this._model)return this._model;var t=this._getMarkers();return this._model=new F(this._editor,t),this._markerService.onMarkerChanged(this._onMarkerChanged,this,this._disposeOnClose),this._widget=new T(this._editor,this._themeService),this._widgetVisible.set(!0),this._disposeOnClose.push(this._model),this._disposeOnClose.push(this._widget),this._disposeOnClose.push(this._widget.onDidSelectRelatedInformation((function(t){e._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:u.a.lift(t).collapseToStart()}},e._editor).then(void 0,P.e),e.closeMarkersNavigation(!1)}))),this._disposeOnClose.push(this._editor.onDidChangeModel((function(){return e._cleanUp()}))),this._disposeOnClose.push(this._model.onCurrentMarkerChanged((function(t){t?e._model.withoutWatchingEditorPosition((function(){e._widget.showAtMarker(t,e._model.indexOf(t),e._model.total)})):e._cleanUp()}))),this._disposeOnClose.push(this._model.onMarkerSetChanged((function(){var t=e._model.findMarkerAtPosition(e._widget.position);t?e._widget.updateMarker(t):e._widget.showStale()}))),this._model},e.prototype.closeMarkersNavigation=function(e){void 0===e&&(e=!0),this._cleanUp(),e&&this._editor.focus()},e.prototype._onMarkerChanged=function(e){var t=this;e.some((function(e){return t._editor.getModel().uri.toString()===e.toString()}))&&this._model.setMarkers(this._getMarkers())},e.prototype._getMarkers=function(){return this._markerService.read({resource:this._editor.getModel().uri,severities:l.b.Error|l.b.Warning|l.b.Info})},e.ID="editor.contrib.markerController",e=M([B(1,l.a),B(2,a.e),B(3,h.c),B(4,A.a)],e)}(),U=function(e){function t(t,o,n){var i=e.call(this,n)||this;return i._isNext=t,i._multiFile=o,i}return x(t,e),t.prototype.run=function(e,o){var n=this,i=e.get(l.a),r=e.get(A.a),s=H.get(o);if(s){var a=s.getOrCreateModel();if(a.move(this._isNext,!this._multiFile)&&this._multiFile){var u=i.read({severities:l.b.Error|l.b.Warning|l.b.Info}).sort(t.compareMarker);if(0!==u.length){var c=a.currentMarker||{resource:o.getModel().uri,severity:l.b.Error,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1},h=Object(E.b)(u,c,t.compareMarker);h<0?(h=~h,h%=u.length):h=this._isNext?(h+1)%u.length:(h+u.length-1)%u.length;var d=u[h];if(d.resource.toString()!==o.getModel().uri.toString())return s.closeMarkersNavigation(),r.openCodeEditor({resource:d.resource,options:{pinned:!1,revealIfOpened:!0,revealInCenterIfOutsideViewport:!0,selection:d}},o).then((function(e){if(e)return e.getAction(n.id).run()}));a.move(this._isNext,!0)}}}},t.compareMarker=function(e,t){var o=Object(D.compare)(e.resource.toString(),t.resource.toString());return 0===o&&(o=l.b.compare(e.severity,t.severity)),0===o&&(o=u.a.compareRangesUsingStarts(e,t)),o},t}(c.b),V=function(e){function t(){return e.call(this,!0,!1,{id:"editor.action.marker.next",label:i.a("markerAction.next.label","Go to Next Problem (Error, Warning, Info)"),alias:"Go to Next Error or Warning",precondition:d.a.writable})||this}return x(t,e),t}(U),W=function(e){function t(){return e.call(this,!1,!1,{id:"editor.action.marker.prev",label:i.a("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)"),alias:"Go to Previous Error or Warning",precondition:d.a.writable})||this}return x(t,e),t}(U),j=function(e){function t(){return e.call(this,!0,!0,{id:"editor.action.marker.nextInFiles",label:i.a("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Error or Warning in Files",precondition:d.a.writable,kbOpts:{kbExpr:d.a.focus,primary:66,weight:100}})||this}return x(t,e),t}(U),G=function(e){function t(){return e.call(this,!1,!0,{id:"editor.action.marker.prevInFiles",label:i.a("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Error or Warning in Files",precondition:d.a.writable,kbOpts:{kbExpr:d.a.focus,primary:1090,weight:100}})||this}return x(t,e),t}(U);Object(c.h)(H),Object(c.f)(V),Object(c.f)(W),Object(c.f)(j),Object(c.f)(G);var z=new a.f("markersNavigationVisible",!1),K=c.c.bindToContribution(H.get);Object(c.g)(new K({id:"closeMarkersNavigation",precondition:z,handler:function(e){return e.closeMarkersNavigation()},kbOpts:{weight:150,kbExpr:d.a.focus,primary:9,secondary:[1033]}}))},function(e,t,o){"use strict";o.r(t);o(437);var n=o(6),i=o(15),r=o(16),s=o(3),a=o(9),l=o(2),u=o(23),c=function(){function e(e,t,o){this.selection=e,this.targetPosition=t,this.copy=o}return e.prototype.getEditOperations=function(e,t){var o=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new l.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),o),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new u.a(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber<this.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,(this.selection.startLineNumber,this.selection.endLineNumber,this.targetPosition.column-this.selection.endColumn+this.selection.startColumn),this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn):this.targetSelection=this.selection},e.prototype.computeCursorState=function(e,t){return this.targetSelection},e}(),h=o(26);function d(e){return i.d?e.altKey:e.ctrlKey}o.d(t,"DragAndDropController",(function(){return g}));var g=function(){function e(e){var t=this;this._editor=e,this._toUnhook=[],this._toUnhook.push(this._editor.onMouseDown((function(e){return t._onEditorMouseDown(e)}))),this._toUnhook.push(this._editor.onMouseUp((function(e){return t._onEditorMouseUp(e)}))),this._toUnhook.push(this._editor.onMouseDrag((function(e){return t._onEditorMouseDrag(e)}))),this._toUnhook.push(this._editor.onMouseDrop((function(e){return t._onEditorMouseDrop(e)}))),this._toUnhook.push(this._editor.onKeyDown((function(e){return t.onEditorKeyDown(e)}))),this._toUnhook.push(this._editor.onKeyUp((function(e){return t.onEditorKeyUp(e)}))),this._dndDecorationIds=[],this._mouseDown=!1,this._modiferPressed=!1,this._dragSelection=null}return e.prototype.onEditorKeyDown=function(e){this._editor.getConfiguration().dragAndDrop&&(d(e)&&(this._modiferPressed=!0),this._mouseDown&&d(e)&&this._editor.updateOptions({mouseStyle:"copy"}))},e.prototype.onEditorKeyUp=function(t){this._editor.getConfiguration().dragAndDrop&&(d(t)&&(this._modiferPressed=!1),this._mouseDown&&t.keyCode===e.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))},e.prototype._onEditorMouseDown=function(e){this._mouseDown=!0},e.prototype._onEditorMouseUp=function(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})},e.prototype._onEditorMouseDrag=function(e){var t=e.target;if(null===this._dragSelection){var o=this._editor.getSelections().filter((function(e){return e.containsPosition(t.position)}));if(1!==o.length)return;this._dragSelection=o[0]}d(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position)},e.prototype._onEditorMouseDrop=function(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){var o=new a.a(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection)if(t.event.shiftKey){var n=this._editor.getSelection(),i=n.startLineNumber,r=n.startColumn;this._editor.setSelections([new u.a(i,r,o.lineNumber,o.column)])}else{var s=this._editor.getSelections().map((function(e){return e.containsPosition(o)?new u.a(o.lineNumber,o.column,o.lineNumber,o.column):e}));this._editor.setSelections(s)}else(!this._dragSelection.containsPosition(o)||(d(t.event)||this._modiferPressed)&&(this._dragSelection.getEndPosition().equals(o)||this._dragSelection.getStartPosition().equals(o)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(e.ID,new c(this._dragSelection,o,d(t.event)||this._modiferPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1},e.prototype.showAt=function(t){var o=[{range:new l.a(t.lineNumber,t.column,t.lineNumber,t.column),options:e._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,o),this._editor.revealPosition(t,1)},e.prototype._removeDecoration=function(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])},e.prototype._hitContent=function(e){return e.type===r.b.CONTENT_TEXT||e.type===r.b.CONTENT_EMPTY},e.prototype._hitMargin=function(e){return e.type===r.b.GUTTER_GLYPH_MARGIN||e.type===r.b.GUTTER_LINE_NUMBERS||e.type===r.b.GUTTER_LINE_DECORATIONS},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modiferPressed=!1,this._toUnhook=Object(n.d)(this._toUnhook)},e.ID="editor.contrib.dragAndDrop",e.TRIGGER_KEY_VALUE=i.d?6:5,e._DECORATION_OPTIONS=h.a.register({className:"dnd-target"}),e}();Object(s.h)(g)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(5),s=o(3),a=o(2),l=function(){function e(e,t){this._selection=e,this._isMovingLeft=t}return e.prototype.getEditOperations=function(e,t){var o=this._selection;if(this._selectionId=t.trackSelection(o),o.startLineNumber===o.endLineNumber&&(!this._isMovingLeft||0!==o.startColumn)&&(this._isMovingLeft||o.endColumn!==e.getLineMaxColumn(o.startLineNumber))){var n,i,r,s=o.selectionStartLineNumber,l=e.getLineContent(s);this._isMovingLeft?(n=l.substring(0,o.startColumn-2),i=l.substring(o.startColumn-1,o.endColumn-1),r=l.substring(o.startColumn-2,o.startColumn-1)+l.substring(o.endColumn-1)):(n=l.substring(0,o.startColumn-1)+l.substring(o.endColumn-1,o.endColumn),i=l.substring(o.startColumn-1,o.endColumn-1),r=l.substring(o.endColumn));var u=n+i+r;t.addEditOperation(new a.a(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new a.a(s,1,s,1),u),this._cutStartIndex=o.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+o.endColumn-o.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moved&&(o=(o=o.setStartPosition(o.startLineNumber,this._cutStartIndex)).setEndPosition(o.startLineNumber,this._cutEndIndex)),o},e}(),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(e){function t(t,o){var n=e.call(this,o)||this;return n.left=t,n}return u(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new l(n[i],this.left));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(s.b),h=function(e){function t(){return e.call(this,!0,{id:"editor.action.moveCarretLeftAction",label:i.a("caret.moveLeft","Move Caret Left"),alias:"Move Caret Left",precondition:r.a.writable})||this}return u(t,e),t}(c),d=function(e){function t(){return e.call(this,!1,{id:"editor.action.moveCarretRightAction",label:i.a("caret.moveRight","Move Caret Right"),alias:"Move Caret Right",precondition:r.a.writable})||this}return u(t,e),t}(c);Object(s.f)(h),Object(s.f)(d)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(10),s=o(12),a=o(129),l=o(3),u=o(5),c=(o(483),o(6)),h=o(2),d=o(16),g=o(19),p=o(7),f=o(9),m=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},_=function(e,t){return function(o,n){t(o,n,e)}},y=function(){function e(e,t){var o=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration((function(e){e.fontInfo&&o.updateFont()}))),this._disposables.push(t.onThemeChange((function(e){return o.onThemeChange(e)})))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=Object(c.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",Object(n.a)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(p.K),o=e.getColor(p.M),n=e.getColor(p.rb),i=e.getColor(p.L);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=o?o.toString():null,this._inputField.style.borderWidth=i?"1px":"0px",this._inputField.style.borderStyle=i?"solid":"none",this._inputField.style.borderColor=i?i.toString():"none",this._domNode.style.boxShadow=n?" 0 2px 8px "+n:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[d.a.BELOW,d.a.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,o,n){var i=this;this._position=new f.a(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",o.toString()),this._inputField.setAttribute("selectionEnd",n.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var s,a=[];return s=function(){Object(c.d)(a),i._hide()},new r.b((function(o){i._currentCancelInput=function(e){return i._currentAcceptInput=null,i._currentCancelInput=null,o(e),!0},i._currentAcceptInput=function(){0!==i._inputField.value.trim().length&&i._inputField.value!==t?(i._currentAcceptInput=null,i._currentCancelInput=null,o(i._inputField.value)):i.cancelInput(!0)};a.push(i._editor.onDidChangeCursorSelection((function(){h.a.containsPosition(e,i._editor.getPosition())||i.cancelInput(!0)}))),a.push(i._editor.onDidBlurEditorWidget((function(){return i.cancelInput(!1)}))),i._show()}),(function(){i._currentCancelInput(!0)})).then((function(e){return s(),e}),(function(e){return s(),r.b.wrapError(e)}))},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout((function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))}),100)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=m([_(1,g.c)],e)}(),v=o(17),b=o(11),E=o(58),C=o(142),S=o(90),T=o(45),w=o(156),k=o(33),O=o(36);o.d(t,"rename",(function(){return x})),o.d(t,"RenameAction",(function(){return F}));var R,L=(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),N=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},A=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},P=function(){function e(e,t){this.model=e,this.position=t,this._provider=b.s.ordered(e)}return e.prototype.hasProvider=function(){return this._provider.length>0},e.prototype.resolveRenameLocation=function(){return D(this,void 0,void 0,(function(){var e,t,o,n=this;return A(this,(function(i){switch(i.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,Object(v.h)((function(t){return e.resolveRenameLocation(n.model,n.position,t)}))]:[3,2];case 1:t=i.sent(),i.label=2;case 2:return t||(o=this.model.getWordAtPosition(this.position))&&(t={range:new h.a(this.position.lineNumber,o.startColumn,this.position.lineNumber,o.endColumn),text:o.word}),[2,t]}}))}))},e.prototype.provideRenameEdits=function(e,t,o,i){return void 0===t&&(t=0),void 0===o&&(o=[]),void 0===i&&(i=this.position),D(this,void 0,void 0,(function(){var i,r,s=this;return A(this,(function(a){switch(a.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:o.join("\n")}]:(i=this._provider[t],[4,Object(v.h)((function(t){return i.provideRenameEdits(s.model,s.position,e,t)}))]);case 1:return(r=a.sent())?r.rejectReason?[2,this.provideRenameEdits(e,t+1,o.concat(r.rejectReason))]:[2,r]:[2,this.provideRenameEdits(e,t+1,o.concat(n.a("no result","No result.")))]}}))}))},e}();function x(e,t,o){return D(this,void 0,void 0,(function(){return A(this,(function(n){return[2,new P(e,t).provideRenameEdits(o)]}))}))}var M=new s.f("renameInputVisible",!1),B=function(){function e(e,t,o,n,i,r){this.editor=e,this._notificationService=t,this._bulkEditService=o,this._progressService=n,this._renameInputField=new y(e,r),this._renameInputVisible=M.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return D(this,void 0,void 0,(function(){var e,t,o,i,s,a,l,u=this;return A(this,(function(c){switch(c.label){case 0:if(e=this.editor.getPosition(),!(t=new P(this.editor.getModel(),e)).hasProvider())return[2,void 0];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return o=c.sent(),[3,4];case 3:return i=c.sent(),C.a.get(this.editor).showMessage(i,e),[2,void 0];case 4:return o?(s=this.editor.getSelection(),a=0,l=o.text.length,h.a.isEmpty(s)||h.a.spansMultipleLines(s)||!h.a.containsRange(o.range,s)||(a=Math.max(0,s.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,s.endColumn)-o.range.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(o.range,o.text,a,l).then((function(e){if(u._renameInputVisible.reset(),"boolean"!=typeof e){u.editor.focus();var i=new S.a(u.editor,15),s=r.b.wrap(t.provideRenameEdits(e,0,[],h.a.lift(o.range).getStartPosition()).then((function(t){if(!t.rejectReason)return u._bulkEditService.apply(t,{editor:u.editor}).then((function(t){t.ariaSummary&&Object(E.a)(n.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,e,t.ariaSummary))}));i.validate(u.editor)?C.a.get(u.editor).showMessage(t.rejectReason,u.editor.getPosition()):u._notificationService.info(t.rejectReason)}),(function(e){return u._notificationService.error(n.a("rename.failed","Rename failed to execute.")),r.b.wrapError(e)})));return u._progressService.showWhile(s,250),s}e&&u.editor.focus()}),(function(e){return u._renameInputVisible.reset(),r.b.wrapError(e)}))]):[2,void 0]}}))}))},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID="editor.contrib.renameController",e=N([I(1,T.a),I(2,w.a),I(3,a.a),I(4,s.e),I(5,g.c)],e)}(),F=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:s.d.and(u.a.writable,u.a.hasRenameProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:60,weight:100},menuOpts:{group:"1_modification",order:1.1}})||this}return L(t,e),t.prototype.runCommand=function(t,o){var n=this,r=t.get(O.a),s=o||[void 0,void 0],a=s[0],l=s[1];return k.a.isUri(a)&&f.a.isIPosition(l)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then((function(e){e.setPosition(l),e.invokeWithinContext((function(t){return n.reportTelemetry(t,e),n.run(t,e)}))}),i.e):e.prototype.runCommand.call(this,t,o)},t.prototype.run=function(e,t){var o=B.get(t);if(o)return r.b.wrap(o.run())},t}(l.b);Object(l.h)(B),Object(l.f)(F);var H=l.c.bindToContribution(B.get);Object(l.g)(new H({id:"acceptRenameInput",precondition:M,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(l.g)(new H({id:"cancelRenameInput",precondition:M,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(l.e)("_executeDocumentRenameProvider",(function(e,t,o){var n=o.newName;if("string"!=typeof n)throw Object(i.b)("newName");return x(e,t,n)}))},function(e,t,o){"use strict";o.r(t);o(480);var n=o(0),i=o(13),r=o(15),s=o(82),a=o(3),l=o(11),u=o(16),c=o(33),h=o(10),d=o(2),g=o(17),p=o(37),f=o(60),m=o(48),_=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,"range",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;if(this._link.url)try{return h.b.as(c.a.parse(this._link.url))}catch(e){return h.b.wrapError(new Error("invalid"))}return"function"==typeof this._provider.resolveLink?Object(g.h)((function(t){return e._provider.resolveLink(e._link,t)})).then((function(t){return e._link=t||e._link,e._link.url?e.resolve():h.b.wrapError(new Error("missing"))})):h.b.wrapError(new Error("missing"))},e}();function y(e,t){var o=[],n=l.p.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideLinks(e,t)).then((function(e){if(Array.isArray(e)){var t=e.map((function(e){return new _(e,n)}));o=function(e,t){var o,n,i,r,s=[];for(o=0,i=0,n=e.length,r=t.length;o<n&&i<r;){var a=e[o],l=t[i];if(d.a.areIntersectingOrTouching(a.range,l.range))o++;else d.a.compareRangesUsingStarts(a.range,l.range)<0?(s.push(a),o++):(s.push(l),i++)}for(;o<n;o++)s.push(e[o]);for(;i<r;i++)s.push(t[i]);return s}(o,t)}}),i.f)}));return Promise.all(n).then((function(){return o}))}p.a.registerCommand("_executeLinkProvider",(function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=t[0];if(n instanceof c.a){var i=e.get(f.a).getModel(n);if(i)return y(i,m.a.None)}}));var v,b=o(6),E=o(19),C=o(7),S=o(26),T=o(209),w=o(71),k=o(18),O=o(45),R=(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),L=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},N=function(e,t){return function(o,n){t(o,n,e)}},I=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},D=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},A=(new w.a).appendText(r.d?n.a("links.navigate.mac","Cmd + click to follow link"):n.a("links.navigate","Ctrl + click to follow link")),P=(new w.a).appendText(r.d?n.a("links.command.mac","Cmd + click to execute command"):n.a("links.command","Ctrl + click to execute command")),x=(new w.a).appendText(r.d?n.a("links.navigate.al.mac","Option + click to follow link"):n.a("links.navigate.al","Alt + click to follow link")),M=(new w.a).appendText(r.d?n.a("links.command.al.mac","Option + click to execute command"):n.a("links.command.al","Alt + click to execute command")),B={meta:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:A}),metaActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:A}),alt:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:x}),altActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:x}),altCommand:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:M}),altCommandActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:M}),metaCommand:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:P}),metaCommandActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:P})},F=function(){function e(e,t){this.link=e,this.decorationId=t}return e.decoration=function(t,o){return{range:t.range,options:e._getOptions(t,o,!1)}},e._getOptions=function(e,t,o){return/^command:/i.test(e.url)?t?o?B.metaCommandActive:B.metaCommand:o?B.altCommandActive:B.altCommand:t?o?B.metaActive:B.meta:o?B.altActive:B.alt},e.prototype.activate=function(t,o){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,o,!0))},e.prototype.deactivate=function(t,o){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,o,!1))},e}(),H=function(){function e(e,t,o){var n=this;this.editor=e,this.openerService=t,this.notificationService=o,this.listenersToRemove=[];var i=new T.a(e);this.listenersToRemove.push(i),this.listenersToRemove.push(i.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n._onEditorMouseMove(t,o)}))),this.listenersToRemove.push(i.onExecute((function(e){n.onEditorMouseUp(e)}))),this.listenersToRemove.push(i.onCancel((function(e){n.cleanUpActiveLinkDecoration()}))),this.enabled=e.getConfiguration().contribInfo.links,this.listenersToRemove.push(e.onDidChangeConfiguration((function(t){var o=e.getConfiguration().contribInfo.links;n.enabled!==o&&(n.enabled=o,n.updateDecorations([]),n.stop(),n.beginCompute())}))),this.listenersToRemove.push(e.onDidChangeModelContent((function(e){return n.onChange()}))),this.listenersToRemove.push(e.onDidChangeModel((function(e){return n.onModelChanged()}))),this.listenersToRemove.push(e.onDidChangeModelLanguage((function(e){return n.onModelModeChanged()}))),this.listenersToRemove.push(l.p.onDidChange((function(e){return n.onModelModeChanged()}))),this.timeout=new g.f,this.computePromise=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.onModelChanged=function(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()},e.prototype.onModelModeChanged=function(){this.stop(),this.beginCompute()},e.prototype.onChange=function(){var t=this;this.timeout.setIfNotSet((function(){return t.beginCompute()}),e.RECOMPUTE_TIME)},e.prototype.beginCompute=function(){return I(this,void 0,void 0,(function(){var e,t,o=this;return D(this,(function(n){switch(n.label){case 0:if(!this.editor.getModel()||!this.enabled)return[2];if(!l.p.has(this.editor.getModel()))return[2];this.computePromise=g.i((function(e){return y(o.editor.getModel(),e)})),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,this.computePromise];case 2:return e=n.sent(),this.updateDecorations(e),[3,5];case 3:return t=n.sent(),Object(i.e)(t),[3,5];case 4:return this.computePromise=null,[7];case 5:return[2]}}))}))},e.prototype.updateDecorations=function(e){for(var t="altKey"===this.editor.getConfiguration().multiCursorModifier,o=[],n=Object.keys(this.currentOccurrences),i=0,r=n.length;i<r;i++){var s=n[i],a=this.currentOccurrences[s];o.push(a.decorationId)}var l=[];if(e)for(i=0;i<e.length;i++)l.push(F.decoration(e[i],t));var u=this.editor.deltaDecorations(o,l);this.currentOccurrences={},this.activeLinkDecorationId=null;for(i=0,r=u.length;i<r;i++){a=new F(e[i],u[i]);this.currentOccurrences[a.decorationId]=a}},e.prototype._onEditorMouseMove=function(e,t){var o=this,n="altKey"===this.editor.getConfiguration().multiCursorModifier;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();var i=this.getLinkOccurrence(e.target.position);i&&this.editor.changeDecorations((function(e){i.activate(e,n),o.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()},e.prototype.cleanUpActiveLinkDecoration=function(){var e="altKey"===this.editor.getConfiguration().multiCursorModifier;if(this.activeLinkDecorationId){var t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((function(o){t.deactivate(o,e)})),this.activeLinkDecorationId=null}},e.prototype.onEditorMouseUp=function(e){if(this.isEnabled(e)){var t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier)}},e.prototype.openLinkOccurrence=function(e,t){var o=this;if(this.openerService){var r=e.link;r.resolve().then((function(e){return o.openerService.open(e,{openToSide:t})}),(function(e){"invalid"===e?o.notificationService.warn(n.a("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url)):"missing"===e?o.notificationService.warn(n.a("missing.url","Failed to open this link because its target is missing.")):Object(i.e)(e)})).done(null,i.e)}},e.prototype.getLinkOccurrence=function(e){for(var t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0),o=0;o<t.length;o++){var n=t[o],i=this.currentOccurrences[n.id];if(i)return i}return null},e.prototype.isEnabled=function(e,t){return e.target.type===u.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)},e.prototype.stop=function(){this.timeout.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)},e.prototype.dispose=function(){this.listenersToRemove=Object(b.d)(this.listenersToRemove),this.stop(),this.timeout.dispose()},e.ID="editor.linkDetector",e.RECOMPUTE_TIME=1e3,e=L([N(1,s.a),N(2,O.a)],e)}(),U=function(e){function t(){return e.call(this,{id:"editor.action.openLink",label:n.a("label","Open Link"),alias:"Open Link",precondition:null})||this}return R(t,e),t.prototype.run=function(e,t){var o=H.get(t);if(o)for(var n=0,i=t.getSelections();n<i.length;n++){var r=i[n],s=o.getLinkOccurrence(r.getEndPosition());s&&o.openLinkOccurrence(s,!1)}},t}(a.b);Object(a.h)(H),Object(a.f)(U),Object(E.e)((function(e,t){var o=e.getColor(C.m);o&&t.addRule(".monaco-editor .detected-link-active { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(10),s=o(2),a=o(23),l=o(5),u=o(3),c=o(91),h=function(){function e(e,t,o){this._editRange=e,this._originalSelection=t,this._text=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new a.a(o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn),o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn)):new a.a(o.endLineNumber,o.endColumn-this._text.length,o.endLineNumber,o.endColumn)},e}(),d=o(90),g=o(19),p=o(29),f=o(26),m=o(17),_=o(13),y=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),v=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},b=function(e,t){return function(o,n){t(o,n,e)}},E=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,o){var n=this;this.currentRequest&&this.currentRequest.cancel();var i=this.editor.getSelection(),r=this.editor.getModel().uri;if(i.startLineNumber!==i.endLineNumber)return null;var l=new d.a(this.editor,5);return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=Object(m.i)((function(e){return n.editorWorkerService.navigateValueSet(r,i,o)})),this.currentRequest.then((function(o){if(o&&o.range&&o.value&&l.validate(n.editor)){var r=s.a.lift(o.range),u=o.range,c=o.value.length-(i.endColumn-i.startColumn);u={startLineNumber:u.startLineNumber,startColumn:u.startColumn,endLineNumber:u.endLineNumber,endColumn:u.startColumn+o.value.length},c>1&&(i=new a.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+c-1));var d=new h(r,i,o.value);n.editor.pushUndoStop(),n.editor.executeCommand(t,d),n.editor.pushUndoStop(),n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[{range:u,options:e.DECORATION}]),n.decorationRemover&&n.decorationRemover.cancel(),n.decorationRemover=Object(m.m)(350),n.decorationRemover.then((function(){return n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[])})).catch(_.e)}})).catch(_.e)):void 0},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=f.a.register({className:"valueSetReplacement"}),e=v([b(1,c.a)],e)}(),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:i.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3154,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!0))},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:i.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3156,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!1))},t}(u.b);Object(u.h)(E),Object(u.f)(C),Object(u.f)(S),Object(g.e)((function(e,t){var o=e.getColor(p.d);o&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+o+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n=o(76),i=o(30),r=o(2),s=o(6),a=o(4),l={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(){function e(e,t){void 0===t&&(t={});var o=this;this._onDidUpdate=new a.a,this._editor=e,this._options=i.g(t,l,!1),this.disposed=!1,this._disposables=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this._options.alwaysRevealFirst,this._disposables.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._disposables.push(this._editor.onDidUpdateDiff((function(){return o._onDiffUpdated()}))),this._options.followsCaret&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeCursorPosition((function(e){o.ignoreSelectionChange||(o.nextIdx=-1)}))),this._options.alwaysRevealFirst&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeModel((function(e){o.revealFirst=!0}))),this._init()}return e.prototype._init=function(){this._editor.getLineChanges()},e.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))},e.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach((function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((function(e){t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})})),this.ranges.sort((function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0})),this._onDidUpdate.fire(this)},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0,i=this.ranges.length;n<i&&!t;n++){var r=this.ranges[n].range;o.isBeforeOrEqual(r.getStartPosition())&&(this.nextIdx=n+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)},e.prototype._move=function(e,t){if(n.a(!this.disposed,"Illegal State - diff navigator has been disposed"),this.canNavigate()){-1===this.nextIdx?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var o=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=o.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},e.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},e.prototype.dispose=function(){Object(s.d)(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=null,this.disposed=!0},e}()},function(e,t,o){"use strict";o(490);var n,i=o(0),r=o(17),s=o(6),a=o(30),l=o(1),u=o(28),c=o(93),h=o(22),d=o(12),g=o(36),p=o(2),f=o(52),m=o(91),_=o(123),y=o(68),v=o(140),b=o(70),E=o(54),C=o(117),S=o(4),T=o(27),w=o(19),k=o(7),O=o(145),R=o(26),L=(o(491),o(87)),N=o(9),I=o(81),D=o(29),A=o(74),P=o(78),x=o(3),M=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),B=function(){function e(e,t,o,n){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=o,this.modifiedLineEnd=n}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),F=function(e){this.entries=e},H=function(e){function t(t){var o=e.call(this)||this;return o._width=0,o._diffEditor=t,o._isVisible=!1,o.shadow=Object(u.b)(document.createElement("div")),o.shadow.setClassName("diff-review-shadow"),o.actionBarContainer=Object(u.b)(document.createElement("div")),o.actionBarContainer.setClassName("diff-review-actions"),o._actionBar=o._register(new A.a(o.actionBarContainer.domNode)),o._actionBar.push(new P.a("diffreview.close",i.a("label.close","Close"),"close-diff-review",!0,(function(){return o.hide(),null})),{label:!1,icon:!0}),o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setClassName("diff-review monaco-editor-background"),o._content=Object(u.b)(document.createElement("div")),o._content.setClassName("diff-review-content"),o.scrollbar=o._register(new I.a(o._content.domNode,{})),o.domNode.domNode.appendChild(o.scrollbar.getDomNode()),o._register(t.onDidUpdateDiff((function(){o._isVisible&&(o._diffs=o._compute(),o._render())}))),o._register(t.getModifiedEditor().onDidChangeCursorPosition((function(){o._isVisible&&o._render()}))),o._register(t.getOriginalEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(t.getModifiedEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(l.j(o.domNode.domNode,"click",(function(e){e.preventDefault();var t=l.p(e.target,"diff-review-row");t&&o._goToRow(t)}))),o._register(l.j(o.domNode.domNode,"keydown",(function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),o._goToRow(o._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),o._goToRow(o._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),o.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),o.accept())}))),o._diffs=[],o._currentDiff=null,o}return M(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o<n;o++)if(this._diffs[o]===this._currentDiff){t=o;break}e=this._diffs.length+t-1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new N.a(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.next=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o<n;o++)if(this._diffs[o]===this._currentDiff){t=o;break}e=t+1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new N.a(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.accept=function(){var e=-1,t=this._getCurrentFocusedRow();if(t){var o=parseInt(t.getAttribute("data-line"),10);isNaN(o)||(e=o)}this.hide(),-1!==e&&(this._diffEditor.setPosition(new N.a(e,1)),this._diffEditor.revealPosition(new N.a(e,1),1))},t.prototype.hide=function(){this._isVisible=!1,this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()},t.prototype._getPrevRow=function(){var e=this._getCurrentFocusedRow();return e?e.previousElementSibling?e.previousElementSibling:e:this._getFirstRow()},t.prototype._getNextRow=function(){var e=this._getCurrentFocusedRow();return e?e.nextElementSibling?e.nextElementSibling:e:this._getFirstRow()},t.prototype._getFirstRow=function(){return this.domNode.domNode.querySelector(".diff-review-row")},t.prototype._getCurrentFocusedRow=function(){var e=document.activeElement;return e&&/diff-review-row/.test(e.className)?e:null},t.prototype._goToRow=function(e){var t=this._getCurrentFocusedRow();e.tabIndex=0,e.focus(),t&&t!==e&&(t.tabIndex=-1),this.scrollbar.scanDomNode()},t.prototype.isVisible=function(){return this._isVisible},t.prototype.layout=function(e,t,o){this._width=t,this.shadow.setTop(e-6),this.shadow.setWidth(t),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(e),this.domNode.setWidth(t),this.domNode.setHeight(o),this._content.setHeight(o),this._content.setWidth(t),this._isVisible?(this.actionBarContainer.setAttribute("aria-hidden","false"),this.actionBarContainer.setDisplay("block")):(this.actionBarContainer.setAttribute("aria-hidden","true"),this.actionBarContainer.setDisplay("none"))},t.prototype._compute=function(){var e=this._diffEditor.getLineChanges();if(!e||0===e.length)return[];var o=this._diffEditor.getOriginalEditor().getModel(),n=this._diffEditor.getModifiedEditor().getModel();return o&&n?t._mergeAdjacent(e,o.getLineCount(),n.getLineCount()):[]},t._mergeAdjacent=function(e,t,o){if(!e||0===e.length)return[];for(var n=[],i=0,r=0,s=e.length;r<s;r++){var a=e[r],l=a.originalStartLineNumber,u=a.originalEndLineNumber,c=a.modifiedStartLineNumber,h=a.modifiedEndLineNumber,d=[],g=0,p=0===u?l:l-1,f=0===h?c:c-1,m=1,_=1;if(r>0){var y=e[r-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,_=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var v=p-3+1,b=f-3+1;if(v<m)v+=k=m-v,b+=k;if(b<_)v+=k=_-b,b+=k;d[g++]=new B(v,p,b,f),0!==u&&(d[g++]=new B(l,u,0,0)),0!==h&&(d[g++]=new B(0,0,c,h));var E=0===u?l+1:u+1,C=0===h?c+1:h+1,S=t,T=o;if(r+1<s){var w=e[r+1];S=0===w.originalEndLineNumber?w.originalStartLineNumber:w.originalStartLineNumber-1,T=0===w.modifiedEndLineNumber?w.modifiedStartLineNumber:w.modifiedStartLineNumber-1}var k,O=E+3-1,R=C+3-1;if(O>S)O+=k=S-O,R+=k;if(R>T)O+=k=T-R,R+=k;d[g++]=new B(E,O,C,R),n[i++]=new F(d)}var L=n[0].entries,N=[],I=0;for(r=1,s=n.length;r<s;r++){var D=n[r].entries,A=L[L.length-1],P=D[0];0===A.getType()&&0===P.getType()&&P.originalLineStart<=A.originalLineEnd?(L[L.length-1]=new B(A.originalLineStart,P.originalLineEnd,A.modifiedLineStart,P.modifiedLineEnd),L=L.concat(D.slice(1))):(N[I++]=new F(L),L=D)}return N[I++]=new F(L),N},t.prototype._findDiffIndex=function(e){for(var t=e.lineNumber,o=0,n=this._diffs.length;o<n;o++){var i=this._diffs[o].entries;if(t<=i[i.length-1].modifiedLineEnd)return o}return 0},t.prototype._render=function(){var e=this._diffEditor.getOriginalEditor().getConfiguration(),o=this._diffEditor.getModifiedEditor().getConfiguration(),n=this._diffEditor.getOriginalEditor().getModel(),r=this._diffEditor.getModifiedEditor().getModel(),s=n.getOptions(),a=r.getOptions();if(!this._isVisible||!n||!r)return l.l(this._content.domNode),this._currentDiff=null,void this.scrollbar.scanDomNode();var u=this._diffEditor.getPosition(),c=this._findDiffIndex(u);if(this._diffs[c]!==this._currentDiff){this._currentDiff=this._diffs[c];var h=this._diffs[c].entries,d=document.createElement("div");d.className="diff-review-table",d.setAttribute("role","list"),b.a.applyFontInfoSlow(d,o.fontInfo);for(var g=0,p=0,f=0,m=0,_=0,y=h.length;_<y;_++){var v=(D=h[_]).originalLineStart,E=D.originalLineEnd,C=D.modifiedLineStart,S=D.modifiedLineEnd;0!==v&&(0===g||v<g)&&(g=v),0!==E&&(0===p||E>p)&&(p=E),0!==C&&(0===f||C<f)&&(f=C),0!==S&&(0===m||S>m)&&(m=S)}var T=document.createElement("div");T.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var k=p-g+1,O=m-f+1;w.appendChild(document.createTextNode(c+1+"/"+this._diffs.length+": @@ -"+g+","+k+" +"+f+","+O+" @@")),T.setAttribute("data-line",String(f));var R=function(e){return 0===e?i.a("no_lines","no lines"):1===e?i.a("one_line","1 line"):i.a("more_lines","{0} lines",e)},L=R(k),N=R(O);T.setAttribute("aria-label",i.a({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.']},"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}",c+1,this._diffs.length,g,L,f,N)),T.appendChild(w),T.setAttribute("role","listitem"),d.appendChild(T);var I=f;for(_=0,y=h.length;_<y;_++){var D=h[_];t._renderSection(d,D,I,this._width,e,n,s,o,r,a),0!==D.modifiedLineStart&&(I=D.modifiedLineEnd)}l.l(this._content.domNode),this._content.domNode.appendChild(d),this.scrollbar.scanDomNode()}},t._renderSection=function(e,t,o,n,r,s,a,l,u,c){var h=t.getType(),d="diff-review-row",g="",p="diff-review-spacer";switch(h){case 1:d="diff-review-row line-insert",g=" char-insert",p="diff-review-spacer insert-sign";break;case 2:d="diff-review-row line-delete",g=" char-delete",p="diff-review-spacer delete-sign"}for(var f=t.originalLineStart,m=t.originalLineEnd,_=t.modifiedLineStart,y=t.modifiedLineEnd,v=Math.max(y-_,m-f),b=r.layoutInfo.glyphMarginWidth+r.layoutInfo.lineNumbersWidth,E=10+l.layoutInfo.glyphMarginWidth+l.layoutInfo.lineNumbersWidth,C=0;C<=v;C++){var S=0===f?0:f+C,T=0===_?0:_+C,w=document.createElement("div");w.style.minWidth=n+"px",w.className=d,w.setAttribute("role","listitem"),0!==T&&(o=T),w.setAttribute("data-line",String(o));var k=document.createElement("div");k.className="diff-review-cell",w.appendChild(k);var O=document.createElement("span");O.style.width=b+"px",O.style.minWidth=b+"px",O.className="diff-review-line-number"+g,0!==S?O.appendChild(document.createTextNode(String(S))):O.innerHTML="&nbsp;",k.appendChild(O);var R=document.createElement("span");R.style.width=E+"px",R.style.minWidth=E+"px",R.style.paddingRight="10px",R.className="diff-review-line-number"+g,0!==T?R.appendChild(document.createTextNode(String(T))):R.innerHTML="&nbsp;",k.appendChild(R);var L=document.createElement("span");L.className=p,L.innerHTML="&nbsp;&nbsp;",k.appendChild(L);var N=void 0;0!==T?(k.insertAdjacentHTML("beforeend",this._renderLine(u,l,c.tabSize,T)),N=u.getLineContent(T)):(k.insertAdjacentHTML("beforeend",this._renderLine(s,r,a.tabSize,S)),N=s.getLineContent(S)),0===N.length&&(N=i.a("blankLine","blank"));var I=void 0;switch(h){case 0:I=i.a("equalLine","original {0}, modified {1}: {2}",S,T,N);break;case 1:I=i.a("insertLine","+ modified {0}: {1}",T,N);break;case 2:I=i.a("deleteLine","- original {0}: {1}",S,N)}w.setAttribute("aria-label",I),e.appendChild(w)}},t._renderLine=function(e,t,o,n){var i=e.getLineContent(n),r=new Uint32Array(2);r[0]=i.length,r[1]=16793600;var s=new L.a(r,i),a=E.d.isBasicASCII(i,e.mightContainNonBasicASCII()),l=E.d.containsRTL(i,a,e.mightContainRTL());return Object(y.d)(new y.b(t.fontInfo.isMonospace&&!t.viewInfo.disableMonospaceOptimizations,i,!1,a,l,0,s,[],o,t.fontInfo.spaceWidth,t.viewInfo.stopRenderingLineAfter,t.viewInfo.renderWhitespace,t.viewInfo.renderControlCharacters,t.viewInfo.fontLigatures)).html},t}(s.a);Object(w.e)((function(e,t){var o=e.getColor(D.q);o&&t.addRule(".monaco-diff-editor .diff-review-line-number { color: "+o+"; }");var n=e.getColor(k.lb);n&&t.addRule(".monaco-diff-editor .diff-review-shadow { box-shadow: "+n+" 0 -6px 6px -6px inset; }")}));var U=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.next",label:i.a("editor.action.diffReview.next","Go to Next Difference"),alias:"Go to Next Difference",precondition:d.d.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})||this}return M(t,e),t.prototype.run=function(e,t){var o=W(e);o&&o.diffReviewNext()},t}(x.b),V=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.prev",label:i.a("editor.action.diffReview.prev","Go to Previous Difference"),alias:"Go to Previous Difference",precondition:d.d.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})||this}return M(t,e),t.prototype.run=function(e,t){var o=W(e);o&&o.diffReviewPrev()},t}(x.b);function W(e){for(var t=e.get(g.a).listDiffEditors(),o=0,n=t.length;o<n;o++){var i=t[o];if(i.hasWidgetFocus())return i}return null}Object(x.f)(U),Object(x.f)(V);var j=o(159),G=o(45),z=o(90);o.d(t,"a",(function(){return J}));var K=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Y=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},X=function(e,t){return function(o,n){t(o,n,e)}},q=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter((function(e){return!t._zonesMap[String(e.id)]}))},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones((function(e){for(var o=0,n=t._zones.length;o<n;o++)e.removeZone(t._zones[o])})),this._zones=[],this._zonesMap={},this._decorations=e.deltaDecorations(this._decorations,[])},e.prototype.apply=function(e,t,o,n){var i=this,r=n?z.b.capture(e):null;e.changeViewZones((function(e){for(var t=0,n=i._zones.length;t<n;t++)e.removeZone(i._zones[t]);i._zones=[],i._zonesMap={};t=0;for(var r=o.zones.length;t<r;t++){o.zones[t].suppressMouseDown=!0;var s=e.addZone(o.zones[t]);i._zones.push(s),i._zonesMap[String(s)]=!0}})),r&&r.restore(e),this._decorations=e.deltaDecorations(this._decorations,o.decorations),t&&t.setZones(o.overviewZones)},e}(),$=0,J=function(e){function t(o,n,i,s,a,c,h,g){var p=e.call(this)||this;p._onDidDispose=p._register(new S.a),p.onDidDispose=p._onDidDispose.event,p._onDidUpdateDiff=p._register(new S.a),p.onDidUpdateDiff=p._onDidUpdateDiff.event,p._lastOriginalWarning=null,p._lastModifiedWarning=null,p._editorWorkerService=i,p._codeEditorService=c,p._contextKeyService=p._register(s.createScoped(o)),p._contextKeyService.createKey("isInDiffEditor",!0),p._themeService=h,p._notificationService=g,p.id=++$,p._domElement=o,n=n||{},p._renderSideBySide=!0,void 0!==n.renderSideBySide&&(p._renderSideBySide=n.renderSideBySide),p._ignoreTrimWhitespace=!0,void 0!==n.ignoreTrimWhitespace&&(p._ignoreTrimWhitespace=n.ignoreTrimWhitespace),p._renderIndicators=!0,void 0!==n.renderIndicators&&(p._renderIndicators=n.renderIndicators),p._originalIsEditable=!1,void 0!==n.originalEditable&&(p._originalIsEditable=Boolean(n.originalEditable)),p._updateDecorationsRunner=p._register(new r.c((function(){return p._updateDecorations()}),0)),p._containerDomElement=document.createElement("div"),p._containerDomElement.className=t._getClassName(p._themeService.getTheme(),p._renderSideBySide),p._containerDomElement.style.position="relative",p._containerDomElement.style.height="100%",p._domElement.appendChild(p._containerDomElement),p._overviewViewportDomElement=Object(u.b)(document.createElement("div")),p._overviewViewportDomElement.setClassName("diffViewport"),p._overviewViewportDomElement.setPosition("absolute"),p._overviewDomElement=document.createElement("div"),p._overviewDomElement.className="diffOverview",p._overviewDomElement.style.position="absolute",p._overviewDomElement.appendChild(p._overviewViewportDomElement.domNode),p._register(l.j(p._overviewDomElement,"mousedown",(function(e){p.modifiedEditor.delegateVerticalScrollbarMouseDown(e)}))),p._containerDomElement.appendChild(p._overviewDomElement),p._createLeftHandSide(),p._createRightHandSide(),p._beginUpdateDecorationsTimeout=-1,p._currentlyChangingViewZones=!1,p._diffComputationToken=0,p._originalEditorState=new q,p._modifiedEditorState=new q,p._isVisible=!0,p._isHandlingScrollEvent=!1,p._width=0,p._height=0,p._reviewHeight=0,p._lineChanges=null;var f=p._contextKeyService.createScoped();f.createKey("isInDiffLeftEditor",!0);var m=new C.a;m.set(d.e,f);var _=a.createChild(m),y=p._contextKeyService.createScoped();y.createKey("isInDiffRightEditor",!0);var v=new C.a;v.set(d.e,y);var b=a.createChild(v);return p._createLeftHandSideEditor(n,_),p._createRightHandSideEditor(n,b),p._reviewPane=new H(p),p._containerDomElement.appendChild(p._reviewPane.domNode.domNode),p._containerDomElement.appendChild(p._reviewPane.shadow.domNode),p._containerDomElement.appendChild(p._reviewPane.actionBarContainer.domNode),n.automaticLayout&&(p._measureDomElementToken=window.setInterval((function(){return p._measureDomElement(!1)}),100)),p._enableSplitViewResizing=!0,void 0!==n.enableSplitViewResizing&&(p._enableSplitViewResizing=n.enableSplitViewResizing),p._renderSideBySide?p._setStrategy(new ne(p._createDataSource(),p._enableSplitViewResizing)):p._setStrategy(new re(p._createDataSource(),p._enableSplitViewResizing)),p._register(h.onThemeChange((function(e){p._strategy&&p._strategy.applyColors(e)&&p._updateDecorationsRunner.schedule(),p._containerDomElement.className=t._getClassName(p._themeService.getTheme(),p._renderSideBySide)}))),p._codeEditorService.addDiffEditor(p),p}return K(t,e),t.prototype.hasWidgetFocus=function(){return l.B(document.activeElement,this._domElement)},t.prototype.diffReviewNext=function(){this._reviewPane.next()},t.prototype.diffReviewPrev=function(){this._reviewPane.prev()},t._getClassName=function(e,t){var o="monaco-diff-editor monaco-editor-background ";return t&&(o+="side-by-side "),o+=Object(w.d)(e.type)},t.prototype._recreateOverviewRulers=function(){this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalOverviewRuler=this.originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedOverviewRuler=this.modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode()),this._layoutOverviewRulers()},t.prototype._createLeftHandSide=function(){this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode)},t.prototype._createRightHandSide=function(){this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode)},t.prototype._createLeftHandSideEditor=function(e,t){var o=this;this.originalEditor=this._createInnerEditor(t,this._originalDomNode,this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),this._register(this.originalEditor.onDidScrollChange((function(e){o._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(o._isHandlingScrollEvent=!0,o.modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),o._isHandlingScrollEvent=!1,o._layoutOverviewViewport())}))),this._register(this.originalEditor.onDidChangeViewZones((function(){o._onViewZonesChanged()}))),this._register(this.originalEditor.onDidChangeModelContent((function(){o._isVisible&&o._beginUpdateDecorationsSoon()})))},t.prototype._createRightHandSideEditor=function(e,t){var o=this;this.modifiedEditor=this._createInnerEditor(t,this._modifiedDomNode,this._adjustOptionsForRightHandSide(e)),this._register(this.modifiedEditor.onDidScrollChange((function(e){o._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(o._isHandlingScrollEvent=!0,o.originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),o._isHandlingScrollEvent=!1,o._layoutOverviewViewport())}))),this._register(this.modifiedEditor.onDidChangeViewZones((function(){o._onViewZonesChanged()}))),this._register(this.modifiedEditor.onDidChangeConfiguration((function(e){e.fontInfo&&o.modifiedEditor.getModel()&&o._onViewZonesChanged()}))),this._register(this.modifiedEditor.onDidChangeModelContent((function(){o._isVisible&&o._beginUpdateDecorationsSoon()})))},t.prototype._createInnerEditor=function(e,t,o){return e.createInstance(v.a,t,o,{})},t.prototype.dispose=function(){this._codeEditorService.removeDiffEditor(this),-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),window.clearInterval(this._measureDomElementToken),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this.originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this.modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return f.a.IDiffEditor},t.prototype.getLineChanges=function(){return this._lineChanges},t.prototype.getOriginalEditor=function(){return this.originalEditor},t.prototype.getModifiedEditor=function(){return this.modifiedEditor},t.prototype.updateOptions=function(e){var o=!1;void 0!==e.renderSideBySide&&this._renderSideBySide!==e.renderSideBySide&&(this._renderSideBySide=e.renderSideBySide,o=!0);var n=!1;void 0!==e.ignoreTrimWhitespace&&this._ignoreTrimWhitespace!==e.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=e.ignoreTrimWhitespace,n=!0),void 0!==e.renderIndicators&&this._renderIndicators!==e.renderIndicators&&(this._renderIndicators=e.renderIndicators,n=!0),n&&this._beginUpdateDecorations(),void 0!==e.originalEditable&&(this._originalIsEditable=Boolean(e.originalEditable)),this.modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(e)),this.originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),void 0!==e.enableSplitViewResizing&&(this._enableSplitViewResizing=e.enableSplitViewResizing),this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing),o&&(this._renderSideBySide?this._setStrategy(new ne(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new re(this._createDataSource(),this._enableSplitViewResizing)),this._containerDomElement.className=t._getClassName(this._themeService.getTheme(),this._renderSideBySide))},t.prototype.getModel=function(){return{original:this.originalEditor.getModel(),modified:this.modifiedEditor.getModel()}},t.prototype.setModel=function(e){if(e&&(!e.original||!e.modified))throw new Error(e.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this.originalEditor.setModel(e?e.original:null),this.modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this.originalEditor.setScrollTop(0),this.modifiedEditor.setScrollTop(0)),this._lineChanges=null,this._diffComputationToken++,e?(this._recreateOverviewRulers(),this._beginUpdateDecorations()):this._lineChanges=null,this._layoutOverviewViewport()},t.prototype.getDomNode=function(){return this._domElement},t.prototype.getVisibleColumnFromPosition=function(e){return this.modifiedEditor.getVisibleColumnFromPosition(e)},t.prototype.getPosition=function(){return this.modifiedEditor.getPosition()},t.prototype.setPosition=function(e){this.modifiedEditor.setPosition(e)},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLine(e,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenter(e,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenterIfOutsideViewport(e,t)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPosition(e,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenter(e,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e,t)},t.prototype.getSelection=function(){return this.modifiedEditor.getSelection()},t.prototype.getSelections=function(){return this.modifiedEditor.getSelections()},t.prototype.setSelection=function(e){this.modifiedEditor.setSelection(e)},t.prototype.setSelections=function(e){this.modifiedEditor.setSelections(e)},t.prototype.revealLines=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLines(e,t,o)},t.prototype.revealLinesInCenter=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLinesInCenter(e,t,o)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t,o)},t.prototype.revealRange=function(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=!1),void 0===n&&(n=!0),this.modifiedEditor.revealRange(e,t,o,n)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenter(e,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeAtTop(e,t)},t.prototype.getSupportedActions=function(){return this.modifiedEditor.getSupportedActions()},t.prototype.saveViewState=function(){return{original:this.originalEditor.saveViewState(),modified:this.modifiedEditor.saveViewState()}},t.prototype.restoreViewState=function(e){if(e.original&&e.original){var t=e;this.originalEditor.restoreViewState(t.original),this.modifiedEditor.restoreViewState(t.modified)}},t.prototype.layout=function(e){this._measureDomElement(!1,e)},t.prototype.focus=function(){this.modifiedEditor.focus()},t.prototype.hasTextFocus=function(){return this.originalEditor.hasTextFocus()||this.modifiedEditor.hasTextFocus()},t.prototype.trigger=function(e,t,o){this.modifiedEditor.trigger(e,t,o)},t.prototype.changeDecorations=function(e){return this.modifiedEditor.changeDecorations(e)},t.prototype._measureDomElement=function(e,t){if((t=t||{width:this._containerDomElement.clientWidth,height:this._containerDomElement.clientHeight}).width<=0)return this._width=0,this._height=0,void(this._reviewHeight=0);(e||t.width!==this._width||t.height!==this._height)&&(this._width=t.width,this._height=t.height,this._reviewHeight=this._reviewPane.isVisible()?this._height:0,this._doLayout())},t.prototype._layoutOverviewRulers=function(){var e=t.ENTIRE_DIFF_OVERVIEW_WIDTH-2*t.ONE_OVERVIEW_WIDTH;this.modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:t.ONE_OVERVIEW_WIDTH,right:e+t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}))},t.prototype._onViewZonesChanged=function(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()},t.prototype._beginUpdateDecorationsSoon=function(){var e=this;-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout((function(){return e._beginUpdateDecorations()}),t.UPDATE_DIFF_DECORATIONS_DELAY)},t._equals=function(e,t){return!e&&!t||!(!e||!t)&&e.toString()===t.toString()},t.prototype._beginUpdateDecorations=function(){var e=this;this._beginUpdateDecorationsTimeout=-1;var o=this.originalEditor.getModel(),n=this.modifiedEditor.getModel();if(o&&n){this._diffComputationToken++;var r=this._diffComputationToken;this._editorWorkerService.canComputeDiff(o.uri,n.uri)?this._editorWorkerService.computeDiff(o.uri,n.uri,this._ignoreTrimWhitespace).then((function(t){r===e._diffComputationToken&&o===e.originalEditor.getModel()&&n===e.modifiedEditor.getModel()&&(e._lineChanges=t,e._updateDecorationsRunner.schedule(),e._onDidUpdateDiff.fire())}),(function(t){r===e._diffComputationToken&&o===e.originalEditor.getModel()&&n===e.modifiedEditor.getModel()&&(e._lineChanges=null,e._updateDecorationsRunner.schedule())})):t._equals(o.uri,this._lastOriginalWarning)&&t._equals(n.uri,this._lastModifiedWarning)||(this._lastOriginalWarning=o.uri,this._lastModifiedWarning=n.uri,this._notificationService.warn(i.a("diff.tooLarge","Cannot compare files because one file is too large.")))}},t.prototype._cleanViewZonesAndDecorations=function(){this._originalEditorState.clean(this.originalEditor),this._modifiedEditorState.clean(this.modifiedEditor)},t.prototype._updateDecorations=function(){if(this.originalEditor.getModel()&&this.modifiedEditor.getModel()){var e=this._lineChanges||[],t=this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces()),o=this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces()),n=this._strategy.getEditorsDiffDecorations(e,this._ignoreTrimWhitespace,this._renderIndicators,t,o,this.originalEditor,this.modifiedEditor);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this.originalEditor,this._originalOverviewRuler,n.original,!1),this._modifiedEditorState.apply(this.modifiedEditor,this._modifiedOverviewRuler,n.modified,!0)}finally{this._currentlyChangingViewZones=!1}}},t.prototype._adjustOptionsForSubEditor=function(e){var t=a.c(e||{});return t.inDiffEditor=!0,t.wordWrap="off",t.wordWrapMinified=!1,t.automaticLayout=!1,t.scrollbar=t.scrollbar||{},t.scrollbar.vertical="visible",t.folding=!1,t.codeLens=!1,t.fixedOverflowWidgets=!0,t.lineDecorationsWidth="2ch",t.minimap||(t.minimap={}),t.minimap.enabled=!1,t},t.prototype._adjustOptionsForLeftHandSide=function(e,t){var o=this._adjustOptionsForSubEditor(e);return o.readOnly=!t,o.overviewRulerLanes=1,o.extraEditorClassName="original-in-monaco-diff-editor",o},t.prototype._adjustOptionsForRightHandSide=function(e){var o=this._adjustOptionsForSubEditor(e);return o.revealHorizontalRightPadding=T.a.viewInfo.revealHorizontalRightPadding+t.ENTIRE_DIFF_OVERVIEW_WIDTH,o.scrollbar.verticalHasArrows=!1,o.extraEditorClassName="modified-in-monaco-diff-editor",o},t.prototype.doLayout=function(){this._measureDomElement(!0)},t.prototype._doLayout=function(){var e=this._strategy.layout();this._originalDomNode.style.width=e+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=this._width-e+"px",this._modifiedDomNode.style.left=e+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=this._height-this._reviewHeight+"px",this._overviewDomElement.style.width=t.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=this._width-t.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(t.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this.originalEditor.layout({width:e,height:this._height-this._reviewHeight}),this.modifiedEditor.layout({width:this._width-e-t.ENTIRE_DIFF_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(this._height-this._reviewHeight,this._width,this._reviewHeight),this._layoutOverviewViewport()},t.prototype._layoutOverviewViewport=function(){var e=this._computeOverviewViewport();e?(this._overviewViewportDomElement.setTop(e.top),this._overviewViewportDomElement.setHeight(e.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))},t.prototype._computeOverviewViewport=function(){var e=this.modifiedEditor.getLayoutInfo();if(!e)return null;var t=this.modifiedEditor.getScrollTop(),o=this.modifiedEditor.getScrollHeight(),n=Math.max(0,e.contentHeight),i=Math.max(0,n-0),r=o>0?i/o:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e<t(this._lineChanges[0]))return null;for(var o=0,n=this._lineChanges.length-1;o<n;){var i=Math.floor((o+n)/2),r=t(this._lineChanges[i]),s=i+1<=n?t(this._lineChanges[i+1]):Number.MAX_VALUE;e<r?n=i-1:e>=s?o=i+1:(o=i,n=i)}return this._lineChanges[o]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.originalStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-o;return s<=i?n+Math.min(s,r):n+r-i+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.modifiedStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?o+Math.min(s,i):o+i-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=Y([X(2,m.a),X(3,d.e),X(4,h.a),X(5,g.a),X(6,w.c),X(7,G.a)],t)}(s.a),Z=function(e){function t(t){var o=e.call(this)||this;return o._dataSource=t,o}return K(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(k.i)||k.f).transparent(2),o=(e.getColor(k.k)||k.g).transparent(2),n=!t.equals(this._insertColor)||!o.equals(this._removeColor);return this._insertColor=t,this._removeColor=o,n},t.prototype.getEditorsDiffDecorations=function(e,t,o,n,i,r,s){i=i.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber})),n=n.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber}));var a=this._getViewZones(e,n,i,r,s,o),l=this._getOriginalEditorDecorations(e,t,o,r,s),u=this._getModifiedEditorDecorations(e,t,o,r,s);return{original:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.modified}}},t}(s.a),Q=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null},e}(),ee=function(){function e(e,t,o){this.lineChanges=e,this.originalForeignVZ=t,this.modifiedForeignVZ=o}return e.prototype.getViewZones=function(){for(var e={original:[],modified:[]},t=0,o=0,n=0,i=0,r=0,s=0,a=function(e,t){return e.afterLineNumber-t.afterLineNumber},l=function(e,t){if(null===t.domNode&&e.length>0){var o=e[e.length-1];if(o.afterLineNumber===t.afterLineNumber&&null===o.domNode)return void(o.heightInLines+=t.heightInLines)}e.push(t)},u=new Q(this.modifiedForeignVZ),c=new Q(this.originalForeignVZ),h=0,d=this.lineChanges.length;h<=d;h++){var g=h<d?this.lineChanges[h]:null;null!==g?(n=g.originalStartLineNumber+(g.originalEndLineNumber>0?-1:0),i=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,t=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,r=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),s=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(r=n+=1e7+o,s=i+=1e7+t);for(var p,f=[],m=[];u.current&&u.current.afterLineNumber<=s;){var _=void 0;_=u.current.afterLineNumber<=i?n-i+u.current.afterLineNumber:r,f.push({afterLineNumber:_,heightInLines:u.current.heightInLines,domNode:null}),u.advance()}for(;c.current&&c.current.afterLineNumber<=r;){_=void 0;_=c.current.afterLineNumber<=n?i-n+c.current.afterLineNumber:s,m.push({afterLineNumber:_,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==g&&ae(g))(p=this._produceOriginalFromDiff(g,o,t))&&f.push(p);if(null!==g&&le(g))(p=this._produceModifiedFromDiff(g,o,t))&&m.push(p);var y=0,v=0;for(f=f.sort(a),m=m.sort(a);y<f.length&&v<m.length;){var b=f[y],E=m[v],C=b.afterLineNumber-n,S=E.afterLineNumber-i;C<S?(l(e.original,b),y++):S<C?(l(e.modified,E),v++):b.shouldNotShrink?(l(e.original,b),y++):E.shouldNotShrink?(l(e.modified,E),v++):b.heightInLines>=E.heightInLines?(b.heightInLines-=E.heightInLines,v++):(E.heightInLines-=b.heightInLines,y++)}for(;y<f.length;)l(e.original,f[y]),y++;for(;v<m.length;)l(e.modified,m[v]),v++}var T=function(e){e.domNode||(e.domNode=function(){var e=document.createElement("div");return e.className="diagonal-fill",e}())};return e.original.forEach(T),e.modified.forEach(T),e},e}();function te(e,t,o,n,i){return{range:new p.a(e,t,o,n),options:i}}var oe={charDelete:R.a.register({className:"char-delete"}),charDeleteWholeLine:R.a.register({className:"char-delete",isWholeLine:!0}),charInsert:R.a.register({className:"char-insert"}),charInsertWholeLine:R.a.register({className:"char-insert",isWholeLine:!0}),lineInsert:R.a.register({className:"line-insert",marginClassName:"line-insert",isWholeLine:!0}),lineInsertWithSign:R.a.register({className:"line-insert",linesDecorationsClassName:"insert-sign",marginClassName:"line-insert",isWholeLine:!0}),lineDelete:R.a.register({className:"line-delete",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteWithSign:R.a.register({className:"line-delete",linesDecorationsClassName:"delete-sign",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteMargin:R.a.register({marginClassName:"line-delete"})},ne=function(e){function t(t,o){var n=e.call(this,t)||this;return n._disableSash=!1===o,n._sashRatio=null,n._sashPosition=null,n._sash=n._register(new c.b(n._dataSource.getContainerDomNode(),n)),n._disableSash&&(n._sash.state=c.c.Disabled),n._sash.onDidStart((function(){return n.onSashDragStart()})),n._sash.onDidChange((function(e){return n.onSashDrag(e)})),n._sash.onDidEnd((function(){return n.onSashDragEnd()})),n._sash.onDidReset((function(){return n.onSashReset()})),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){var t=!1===e;this._disableSash!==t&&(this._disableSash=t,this._sash.state=this._disableSash?c.c.Disabled:c.c.Enabled)},t.prototype.layout=function(e){void 0===e&&(e=this._sashRatio);var o=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.floor((e||.5)*o),i=Math.floor(.5*o);return n=this._disableSash?i:n||i,o>2*t.MINIMUM_EDITOR_WIDTH?(n<t.MINIMUM_EDITOR_WIDTH&&(n=t.MINIMUM_EDITOR_WIDTH),n>o-t.MINIMUM_EDITOR_WIDTH&&(n=o-t.MINIMUM_EDITOR_WIDTH)):n=i,this._sashPosition!==n&&(this._sashPosition=n,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,o=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=o/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,o,n,i){return new ie(e,t,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=n.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(le(c)&&(s.decorations.push({range:new p.a(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE),options:o?oe.lineDeleteWithSign:oe.lineDelete}),ae(c)&&c.charChanges||s.decorations.push(te(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE,oe.charDeleteWholeLine)),s.overviewZones.push(new O.a(c.originalStartLineNumber,c.originalEndLineNumber,r)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(le(g))if(t)for(var f=g.originalStartLineNumber;f<=g.originalEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.originalStartLineNumber?g.originalStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.originalEndLineNumber?g.originalEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charDelete))}else s.decorations.push(te(g.originalStartLineNumber,g.originalStartColumn,g.originalEndLineNumber,g.originalEndColumn,oe.charDelete))}}return s},t.prototype._getModifiedEditorDecorations=function(e,t,o,n,i){for(var r=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(ae(c)&&(s.decorations.push({range:new p.a(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:o?oe.lineInsertWithSign:oe.lineInsert}),le(c)&&c.charChanges||s.decorations.push(te(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,oe.charInsertWholeLine)),s.overviewZones.push(new O.a(c.modifiedStartLineNumber,c.modifiedEndLineNumber,r)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(ae(g))if(t)for(var f=g.modifiedStartLineNumber;f<=g.modifiedEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.modifiedStartLineNumber?g.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.modifiedEndLineNumber?g.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charInsert))}else s.decorations.push(te(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn,oe.charInsert))}}return s},t.MINIMUM_EDITOR_WIDTH=100,t}(Z),ie=function(e){function t(t,o,n){return e.call(this,t,o,n)||this}return K(t,e),t.prototype._produceOriginalFromDiff=function(e,t,o){return o>t?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,o){return t>o?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-o,domNode:null}:null},t}(ee),re=function(e){function t(t,o){var n=e.call(this,t)||this;return n.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,n._register(t.getOriginalEditor().onDidLayoutChange((function(e){n.decorationsLeft!==e.decorationsLeft&&(n.decorationsLeft=e.decorationsLeft,t.relayoutEditors())}))),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,o,n,i,r){return new se(e,t,o,n,i,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,l=e.length;a<l;a++){var u=e[a];le(u)&&(s.decorations.push({range:new p.a(u.originalStartLineNumber,1,u.originalEndLineNumber,Number.MAX_VALUE),options:oe.lineDeleteMargin}),s.overviewZones.push(new O.a(u.originalStartLineNumber,u.originalEndLineNumber,r)))}return s},t.prototype._getModifiedEditorDecorations=function(e,t,o,n,i){for(var r=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(ae(c))if(s.decorations.push({range:new p.a(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:o?oe.lineInsertWithSign:oe.lineInsert}),s.overviewZones.push(new O.a(c.modifiedStartLineNumber,c.modifiedEndLineNumber,r)),c.charChanges)for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(ae(g))if(t)for(var f=g.modifiedStartLineNumber;f<=g.modifiedEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.modifiedStartLineNumber?g.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.modifiedEndLineNumber?g.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charInsert))}else s.decorations.push(te(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn,oe.charInsert))}else s.decorations.push(te(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,oe.charInsertWholeLine))}return s},t.prototype.layout=function(){return Math.max(5,this.decorationsLeft)},t}(Z),se=function(e){function t(t,o,n,i,r,s){var a=e.call(this,t,o,n)||this;return a.originalModel=i.getModel(),a.modifiedEditorConfiguration=r.getConfiguration(),a.modifiedEditorTabSize=r.getModel().getOptions().tabSize,a.renderIndicators=s,a}return K(t,e),t.prototype._produceOriginalFromDiff=function(e,t,o){var n=document.createElement("div");return n.className="inline-added-margin-view-zone",b.a.applyFontInfoSlow(n,this.modifiedEditorConfiguration.fontInfo),{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o,domNode:document.createElement("div"),marginDomNode:n}},t.prototype._produceModifiedFromDiff=function(e,t,o){var n=[];if(e.charChanges)for(var i=0,r=e.charChanges.length;i<r;i++){var s=e.charChanges[i];le(s)&&n.push(new E.a(new p.a(s.originalStartLineNumber,s.originalStartColumn,s.originalEndLineNumber,s.originalEndColumn),"char-delete",0))}for(var a=Object(j.a)(1e4),l=[],u=this.modifiedEditorConfiguration.layoutInfo.decorationsWidth,c=this.modifiedEditorConfiguration.lineHeight,h=this.modifiedEditorConfiguration.fontInfo.typicalHalfwidthCharacterWidth,d=0,g=e.originalStartLineNumber;g<=e.originalEndLineNumber;g++)if(d=Math.max(d,this._renderOriginalLine(g-e.originalStartLineNumber,this.originalModel,this.modifiedEditorConfiguration,this.modifiedEditorTabSize,g,n,a)),this.renderIndicators){var f=g-e.originalStartLineNumber;l=l.concat(['<div class="delete-sign" style="position:absolute;top:'+f*c+"px;width:"+u+"px;height:"+c+'px;right:0;"></div>'])}d+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),b.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=l.join(""),b.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:d*h,domNode:m,marginDomNode:_}},t.prototype._renderOriginalLine=function(e,t,o,n,i,r,s){var a=t.getLineTokens(i),l=a.getLineContent(),u=_.a.filter(r,i,1,l.length+1);s.appendASCIIString('<div class="view-line'),0===r.length&&s.appendASCIIString(" char-delete"),s.appendASCIIString('" style="top:'),s.appendASCIIString(String(e*o.lineHeight)),s.appendASCIIString('px;width:1000000px;">');var c=E.d.isBasicASCII(l,t.mightContainNonBasicASCII()),h=E.d.containsRTL(l,c,t.mightContainRTL()),d=Object(y.c)(new y.b(o.fontInfo.isMonospace&&!o.viewInfo.disableMonospaceOptimizations,l,!1,c,h,0,a,u,n,o.fontInfo.spaceWidth,o.viewInfo.stopRenderingLineAfter,o.viewInfo.renderWhitespace,o.viewInfo.renderControlCharacters,o.viewInfo.fontLigatures),s);s.appendASCIIString("</div>");var g=d.characterMapping.getAbsoluteOffsets();return g.length>0?g[g.length-1]:0},t}(ee);function ae(e){return e.modifiedEndLineNumber>0}function le(e){return e.originalEndLineNumber>0}Object(w.e)((function(e,t){var o=e.getColor(k.i);o&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+o+"; }"));var n=e.getColor(k.k);n&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(k.j);i&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+i+"; }");var r=e.getColor(k.l);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(k.lb);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(k.h);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")}))},function(e,t){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,t,o){e.exports=o(328)},function(e,t,o){"use strict";(function(t,n){var i=o(180);e.exports=v;var r,s=o(265);v.ReadableState=y;o(212).EventEmitter;var a=function(e,t){return e.listeners(t).length},l=o(268),u=o(181).Buffer,c=t.Uint8Array||function(){};var h=o(167);h.inherits=o(147);var d=o(329),g=void 0;g=d&&d.debuglog?d.debuglog("stream"):function(){};var p,f=o(330),m=o(269);h.inherits(v,l);var _=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var n=t instanceof(r=r||o(136));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=o(270).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function v(e){if(r=r||o(136),!(this instanceof v))return new v(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function b(e,t,o,n,i){var r,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var o=t.decoder.end();o&&o.length&&(t.buffer.push(o),t.length+=t.objectMode?1:o.length)}t.ended=!0,T(e)}(e,s)):(i||(r=function(e,t){var o;n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk"));var n;return o}(s,t)),r?e.emit("error",r):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):E(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!o?(t=s.decoder.write(t),s.objectMode||0!==t.length?E(e,s,t,!1):k(e,s)):E(e,s,t,!1))):n||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function E(e,t,o,n){t.flowing&&0===t.length&&!t.sync?(e.emit("data",o),e.read(0)):(t.length+=t.objectMode?1:o.length,n?t.buffer.unshift(o):t.buffer.push(o),t.needReadable&&T(e)),k(e,t)}Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),v.prototype.destroy=m.destroy,v.prototype._undestroy=m.undestroy,v.prototype._destroy=function(e,t){this.push(null),t(e)},v.prototype.push=function(e,t){var o,n=this._readableState;return n.objectMode?o=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=u.from(e,t),t=""),o=!0),b(this,e,t,!1,o)},v.prototype.unshift=function(e){return b(this,e,null,!0,!1)},v.prototype.isPaused=function(){return!1===this._readableState.flowing},v.prototype.setEncoding=function(e){return p||(p=o(270).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};var C=8388608;function S(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(g("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(w,e):w(e))}function w(e){g("emit readable"),e.emit("readable"),N(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(O,e,t))}function O(e,t){for(var o=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(g("maybeReadMore read 0"),e.read(0),o!==t.length);)o=t.length;t.readingMore=!1}function R(e){g("readable nexttick read 0"),e.read(0)}function L(e,t){t.reading||(g("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),N(e),t.flowing&&!t.reading&&e.read(0)}function N(e){var t=e._readableState;for(g("flow",t.flowing);t.flowing&&null!==e.read(););}function I(e,t){return 0===t.length?null:(t.objectMode?o=t.buffer.shift():!e||e>=t.length?(o=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):o=function(e,t,o){var n;e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():o?function(e,t){var o=t.head,n=1,i=o.data;e-=i.length;for(;o=o.next;){var r=o.data,s=e>r.length?r.length:e;if(s===r.length?i+=r:i+=r.slice(0,e),0===(e-=s)){s===r.length?(++n,o.next?t.head=o.next:t.head=t.tail=null):(t.head=o,o.data=r.slice(s));break}++n}return t.length-=n,i}(e,t):function(e,t){var o=u.allocUnsafe(e),n=t.head,i=1;n.data.copy(o),e-=n.data.length;for(;n=n.next;){var r=n.data,s=e>r.length?r.length:e;if(r.copy(o,o.length-e,0,s),0===(e-=s)){s===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(s));break}++i}return t.length-=i,o}(e,t);return n}(e,t.buffer,t.decoder),o);var o}function D(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var o=0,n=e.length;o<n;o++)if(e[o]===t)return o;return-1}v.prototype.read=function(e){g("read",e),e=parseInt(e,10);var t=this._readableState,o=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return g("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?D(this):T(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&D(this),null;var n,i=t.needReadable;return g("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&g("length less than watermark",i=!0),t.ended||t.reading?g("reading or ended",i=!1):i&&(g("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=S(o,t))),null===(n=e>0?I(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),o!==e&&t.ended&&D(this)),null!==n&&this.emit("data",n),n},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var o=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,g("pipe count=%d opts=%j",r.pipesCount,t);var l=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:v;function u(t,n){g("onunpipe"),t===o&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,g("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",u),o.removeListener("end",c),o.removeListener("end",v),o.removeListener("data",f),d=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){g("onend"),e.end()}r.endEmitted?i.nextTick(l):o.once("end",l),e.on("unpipe",u);var h=function(e){return function(){var t=e._readableState;g("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,N(e))}}(o);e.on("drain",h);var d=!1;var p=!1;function f(t){g("ondata"),p=!1,!1!==e.write(t)||p||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==P(r.pipes,e))&&!d&&(g("false write response, pause",o._readableState.awaitDrain),o._readableState.awaitDrain++,p=!0),o.pause())}function m(t){g("onerror",t),v(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),v()}function y(){g("onfinish"),e.removeListener("close",_),v()}function v(){g("unpipe"),o.unpipe(e)}return o.on("data",f),function(e,t,o){if("function"==typeof e.prependListener)return e.prependListener(t,o);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(o):e._events[t]=[o,e._events[t]]:e.on(t,o)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",o),r.flowing||(g("pipe resume"),o.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,o={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,o),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<i;r++)n[r].emit("unpipe",this,o);return this}var s=P(t.pipes,e);return-1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,o),this)},v.prototype.on=function(e,t){var o=l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&T(this):i.nextTick(R,this))}return o},v.prototype.addListener=v.prototype.on,v.prototype.resume=function(){var e=this._readableState;return e.flowing||(g("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(L,e,t))}(this,e)),this},v.prototype.pause=function(){return g("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(g("pause"),this._readableState.flowing=!1,this.emit("pause")),this},v.prototype.wrap=function(e){var t=this,o=this._readableState,n=!1;for(var i in e.on("end",(function(){if(g("wrapped end"),o.decoder&&!o.ended){var e=o.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(g("wrapped data"),o.decoder&&(i=o.decoder.write(i)),o.objectMode&&null==i)||(o.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var r=0;r<_.length;r++)e.on(_[r],this.emit.bind(this,_[r]));return this._read=function(t){g("wrapped _read",t),n&&(n=!1,e.resume())},this},Object.defineProperty(v.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),v._fromList=I}).call(this,o(80),o(108))},function(e,t,o){e.exports=o(212).EventEmitter},function(e,t,o){"use strict";var n=o(180);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var o=this,r=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return r||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(n.nextTick(i,o,e),o._writableState&&(o._writableState.errorEmitted=!0)):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,o){"use strict";var n=o(181).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=g)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,o=function(e,t,o){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==o?o:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var o=e.toString("utf16le",t);if(o){var n=o.charCodeAt(o.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],o.slice(0,-1)}return o}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var o=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,o)}return t}function c(e,t){var o=(e.length-t)%3;return 0===o?e.toString("base64",t):(this.lastNeed=3-o,this.lastTotal=3,1===o?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-o))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function g(e){return e&&e.length?this.write(e):""}t.StringDecoder=r,r.prototype.write=function(e){if(0===e.length)return"";var t,o;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o<e.length?t?t+this.text(e,o):this.text(e,o):t||""},r.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},r.prototype.text=function(e,t){var o=function(e,t,o){var n=t.length-1;if(n<o)return 0;var i=s(t[n]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--n<o||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--n<o||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=o;var n=e.length-(o-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},r.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,o){"use strict";e.exports=s;var n=o(136),i=o(167);function r(e,t){var o=this._transformState;o.transforming=!1;var n=o.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));o.writechunk=null,o.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);n.call(this,e),this._transformState={afterTransform:r.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",a)}function a(){var e=this;"function"==typeof this._flush?this._flush((function(t,o){l(e,t,o)})):l(this,null,null)}function l(e,t,o){if(t)return e.emit("error",t);if(null!=o&&e.push(o),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=o(147),i.inherits(s,n),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,o){throw new Error("_transform() is not implemented")},s.prototype._write=function(e,t,o){var n=this._transformState;if(n.writecb=o,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var o=this;n.prototype._destroy.call(this,e,(function(e){t(e),o.emit("close")}))}},function(e,t,o){"use strict";var n=o(64),i=o(127),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encode=function(e){for(var t,o,i,s,a,l,u,c=[],h=0,d=e.length,g=d,p="string"!==n.getTypeOf(e);h<e.length;)g=d-h,p?(t=e[h++],o=h<d?e[h++]:0,i=h<d?e[h++]:0):(t=e.charCodeAt(h++),o=h<d?e.charCodeAt(h++):0,i=h<d?e.charCodeAt(h++):0),s=t>>2,a=(3&t)<<4|o>>4,l=g>1?(15&o)<<2|i>>6:64,u=g>2?63&i:64,c.push(r.charAt(s)+r.charAt(a)+r.charAt(l)+r.charAt(u));return c.join("")},t.decode=function(e){var t,o,n,s,a,l,u=0,c=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===r.charAt(64)&&d--,e.charAt(e.length-2)===r.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|d):new Array(0|d);u<e.length;)t=r.indexOf(e.charAt(u++))<<2|(s=r.indexOf(e.charAt(u++)))>>4,o=(15&s)<<4|(a=r.indexOf(e.charAt(u++)))>>2,n=(3&a)<<6|(l=r.indexOf(e.charAt(u++))),h[c++]=t,64!==a&&(h[c++]=o),64!==l&&(h[c++]=n);return h}},function(e,t,o){"use strict";(function(t){var n=o(64),i=o(342),r=o(100),s=o(272),a=o(127),l=o(168),u=null;if(a.nodestream)try{u=o(343)}catch(e){}function c(e,o){return new l.Promise((function(i,r){var a=[],l=e._internalType,u=e._outputType,c=e._mimeType;e.on("data",(function(e,t){a.push(e),o&&o(t)})).on("error",(function(e){a=[],r(e)})).on("end",(function(){try{var e=function(e,t,o){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),o);case"base64":return s.encode(t);default:return n.transformTo(e,t)}}(u,function(e,o){var n,i=0,r=null,s=0;for(n=0;n<o.length;n++)s+=o[n].length;switch(e){case"string":return o.join("");case"array":return Array.prototype.concat.apply([],o);case"uint8array":for(r=new Uint8Array(s),n=0;n<o.length;n++)r.set(o[n],i),i+=o[n].length;return r;case"nodebuffer":return t.concat(o);default:throw new Error("concat : unsupported type '"+e+"'")}}(l,a),c);i(e)}catch(e){r(e)}a=[]})).resume()}))}function h(e,t,o){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=o,n.checkSupport(s),this._worker=e.pipe(new i(s)),e.lock()}catch(e){this._worker=new r("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){return c(this,e)},on:function(e,t){var o=this;return"data"===e?this._worker.on(e,(function(e){t.call(o,e.data,e.meta)})):this._worker.on(e,(function(){n.delay(t,arguments,o)})),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(n.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},e.exports=h}).call(this,o(120).Buffer)},function(e,t,o){"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then((function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()}),(function(e){t.error(e)}))}n.inherits(r,i),r.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},r.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},r.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(r,i),r.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=r},function(e,t,o){"use strict";var n=o(100),i=o(216);function r(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}o(64).inherits(r,n),r.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=r},function(e,t,o){"use strict";var n=o(100);t.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=o(346)},function(e,t,o){"use strict";e.exports=function(e,t,o,n){for(var i=65535&e|0,r=e>>>16&65535|0,s=0;0!==o;){o-=s=o>2e3?2e3:o;do{r=r+(i=i+t[n++]|0)|0}while(--s);i%=65521,r%=65521}return i|r<<16|0}},function(e,t,o){"use strict";var n=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t,o,i){var r=n,s=i+o;e^=-1;for(var a=i;a<s;a++)e=e>>>8^r[255&(e^t[a])];return-1^e}},function(e,t,o){"use strict";var n=o(128),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){r=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65534&&(e.subarray&&r||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var o="",s=0;s<t;s++)o+=String.fromCharCode(e[s]);return o}s[254]=s[254]=1,t.string2buf=function(e){var t,o,i,r,s,a=e.length,l=0;for(r=0;r<a;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(i-56320),r++),l+=o<128?1:o<2048?2:o<65536?3:4;for(t=new n.Buf8(l),s=0,r=0;s<l;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(i-56320),r++),o<128?t[s++]=o:o<2048?(t[s++]=192|o>>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),o=0,i=t.length;o<i;o++)t[o]=e.charCodeAt(o);return t},t.buf2string=function(e,t){var o,n,i,r,a=t||e.length,u=new Array(2*a);for(n=0,o=0;o<a;)if((i=e[o++])<128)u[n++]=i;else if((r=s[i])>4)u[n++]=65533,o+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&o<a;)i=i<<6|63&e[o++],r--;r>1?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return l(u,n)},t.utf8border=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+s[e[o]]>t?o:t}},function(e,t,o){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,t,o){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,o){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},function(e,t,o){"use strict";var n=o(64),i=o(127),r=o(286),s=o(360),a=o(361),l=o(288);e.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(n.transformTo("uint8array",e)):new r(n.transformTo("array",e)):new s(e)}},function(e,t,o){"use strict";var n=o(287);function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}o(64).inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.length-4;r>=0;--r)if(this.data[r]===t&&this.data[r+1]===o&&this.data[r+2]===n&&this.data[r+3]===i)return r-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.readData(4);return t===r[0]&&o===r[1]&&n===r[2]&&i===r[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(64);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,o=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)o=(o<<8)+this.byteAt(t);return this.index+=e,o},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},function(e,t,o){"use strict";var n=o(286);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(149);e.exports=function(e){n.copy(e,this)}},function(e,t,o){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var o,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(o=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},r={key:n,value:e[n]};return o(i,r)}}),r=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var o,s;if(Array.isArray(t)){for(s="[",o=0;o<t.length;o++)o&&(s+=","),s+=e(t[o])||"null";return s+"]"}if(null===t)return"null";if(-1!==r.indexOf(t)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=r.push(t)-1,l=Object.keys(t).sort(i&&i(t));for(s="",o=0;o<l.length;o++){var u=l[o],c=e(t[u]);c&&(s&&(s+=","),s+=JSON.stringify(u)+":"+c)}return r.splice(a,1),"{"+s+"}"}}(e)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n="",i=!0===e.schema.$async,r=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var l="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(l);e.logger.warn(l)}}if(e.isTop&&(n+=" var validate = ",i&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!r&&!e.schema.$ref){var u=e.level,c=e.dataLevel,h=e.schema["false schema"],d=e.schemaPath+e.util.getProperty("false schema"),g=e.errSchemaPath+"/false schema",p=!e.opts.allErrors,f="data"+(c||""),m="valid"+u;if(!1===e.schema){e.isTop?p=!0:n+=" var "+m+" = false; ",(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";var _=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n+=i?" return data; ":" validate.errors = null; return true; ":n+=" var "+m+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var y=e.isTop;u=e.level=0,c=e.dataLevel=0,f="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}n+=" var vErrors = null; ",n+=" var errors = 0;     ",n+=" if (rootData === undefined) rootData = data; "}else{u=e.level,f="data"+((c=e.dataLevel)||"");if(s&&(e.baseId=e.resolve.url(e.baseId,s)),i&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+u+" = errors;"}m="valid"+u,p=!e.opts.allErrors;var b="",E="",C=e.schema.type,S=Array.isArray(C);if(C&&e.opts.nullable&&!0===e.schema.nullable&&(S?-1==C.indexOf("null")&&(C=C.concat("null")):"null"!=C&&(C=[C,"null"],S=!0)),S&&1==C.length&&(C=C[0],S=!1),e.schema.$ref&&r){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(r=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),C){if(e.opts.coerceTypes)var T=e.util.coerceToTypes(e.opts.coerceTypes,C);var w=e.RULES.types[C];if(T||S||!0===w||w&&!Z(w)){d=e.schemaPath+".type",g=e.errSchemaPath+"/type",d=e.schemaPath+".type",g=e.errSchemaPath+"/type";var k=S?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[k](C,f,!0)+") { ",T){var O="dataType"+u,R="coerced"+u;n+=" var "+O+" = typeof "+f+"; ","array"==e.opts.coerceTypes&&(n+=" if ("+O+" == 'object' && Array.isArray("+f+")) "+O+" = 'array'; "),n+=" var "+R+" = undefined; ";var L="",N=T;if(N)for(var I,D=-1,A=N.length-1;D<A;)I=N[D+=1],D&&(n+=" if ("+R+" === undefined) { ",L+="}"),"array"==e.opts.coerceTypes&&"array"!=I&&(n+=" if ("+O+" == 'array' && "+f+".length == 1) { "+R+" = "+f+" = "+f+"[0]; "+O+" = typeof "+f+";  } "),"string"==I?n+=" if ("+O+" == 'number' || "+O+" == 'boolean') "+R+" = '' + "+f+"; else if ("+f+" === null) "+R+" = ''; ":"number"==I||"integer"==I?(n+=" if ("+O+" == 'boolean' || "+f+" === null || ("+O+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==I&&(n+=" && !("+f+" % 1)"),n+=")) "+R+" = +"+f+"; "):"boolean"==I?n+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+R+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+R+" = true; ":"null"==I?n+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+R+" = null; ":"array"==e.opts.coerceTypes&&"array"==I&&(n+=" if ("+O+" == 'string' || "+O+" == 'number' || "+O+" == 'boolean' || "+f+" == null) "+R+" = ["+f+"]; ");n+=" "+L+" if ("+R+" === undefined) {   ",(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else {  ";var P=c?"data"+(c-1||""):"parentData";n+=" "+f+" = "+R+"; ",c||(n+="if ("+P+" !== undefined)"),n+=" "+P+"["+(c?e.dataPathArr[c]:"parentDataProperty")+"] = "+R+"; } "}else{(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}n+=" } "}}if(e.schema.$ref&&!r)n+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",p&&(n+=" } if (errors === ",n+=y?"0":"errs_"+u,n+=") { ",E+="}");else{var x=e.RULES;if(x)for(var M=-1,B=x.length-1;M<B;)if(Z(w=x[M+=1])){if(w.type&&(n+=" if ("+e.util.checkDataType(w.type,f)+") { "),e.opts.useDefaults)if("object"==w.type&&e.schema.properties){h=e.schema.properties;var F=Object.keys(h);if(F)for(var H,U=-1,V=F.length-1;U<V;){if(void 0!==(G=h[H=F[U+=1]]).default){var W=f+e.util.getProperty(H);if(e.compositeRule){if(e.opts.strictDefaults){v="default is ignored for: "+W;if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}}else n+=" if ("+W+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+W+" === null || "+W+" === '' "),n+=" ) "+W+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(G.default)+" ":n+=" "+JSON.stringify(G.default)+" ",n+="; "}}}else if("array"==w.type&&Array.isArray(e.schema.items)){var j=e.schema.items;if(j){D=-1;for(var G,z=j.length-1;D<z;)if(void 0!==(G=j[D+=1]).default){W=f+"["+D+"]";if(e.compositeRule){if(e.opts.strictDefaults){v="default is ignored for: "+W;if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}}else n+=" if ("+W+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+W+" === null || "+W+" === '' "),n+=" ) "+W+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(G.default)+" ":n+=" "+JSON.stringify(G.default)+" ",n+="; "}}}var K=w.rules;if(K)for(var Y,X=-1,q=K.length-1;X<q;)if(Q(Y=K[X+=1])){var $=Y.code(e,Y.keyword,w.type);$&&(n+=" "+$+" ",p&&(b+="}"))}if(p&&(n+=" "+b+" ",b=""),w.type&&(n+=" } ",C&&C===w.type&&!T)){n+=" else { ";var J;d=e.schemaPath+".type",g=e.errSchemaPath+"/type";(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } "}p&&(n+=" if (errors === ",n+=y?"0":"errs_"+u,n+=") { ",E+="}")}}function Z(e){for(var t=e.rules,o=0;o<t.length;o++)if(Q(t[o]))return!0}function Q(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var o=t.implements,n=0;n<o.length;n++)if(void 0!==e.schema[o[n]])return!0}(t)}return p&&(n+=" "+E+" "),y?(i?(n+=" if (errors === 0) return data;           ",n+=" else throw new ValidationError(vErrors); "):(n+=" validate.errors = vErrors; ",n+=" return errors === 0;       "),n+=" }; return validate;"):n+=" var "+m+" = errors === errs_"+u+";",n=e.util.cleanUpCode(n),y&&(n=e.util.finalCleanUpCode(n,i)),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maximum"==t,p=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[p],m=e.opts.$data&&f&&f.$data,_=g?"<":">",y=g?">":"<",v=void 0;if(m){var b=e.util.getData(f.$data,s,e.dataPathArr),E="exclusive"+r,C="exclType"+r,S="exclIsNumber"+r,T="' + "+(O="op"+r)+" + '";i+=" var schemaExcl"+r+" = "+b+"; ",i+=" var "+E+"; var "+C+" = typeof "+(b="schemaExcl"+r)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ";var w;v=p;(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var k=i;i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+E+" = "+n+" === undefined || "+b+" "+_+"= "+n+") ? "+h+" "+y+"= "+b+" : "+h+" "+y+" "+n+" ) : ( ("+E+" = "+b+" === true) ? "+h+" "+y+"= "+n+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { var op"+r+" = "+E+" ? '"+_+"' : '"+_+"='; ",void 0===a&&(v=p,u=e.errSchemaPath+"/"+p,n=b,d=m)}else{T=_;if((S="number"==typeof f)&&d){var O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+f+" "+_+"= "+n+" ? "+h+" "+y+"= "+f+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { "}else{S&&void 0===a?(E=!0,v=p,u=e.errSchemaPath+"/"+p,n=f,y+="="):(S&&(n=Math[g?"min":"max"](f,a)),f===(!S||n)?(E=!0,v=p,u=e.errSchemaPath+"/"+p,y+="="):(E=!1,T+="="));O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+" "+y+" "+n+" || "+h+" !== "+h+") { "}}v=v||t,(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+O+", limit: "+n+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+T+" ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";k=i;return i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maxLength"==t?">":"<";i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+g+" "+n+") { ";var p=t,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=f.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t,o){var n=o(397),i=o(398),r=o(411),s=RegExp("['’]","g");e.exports=function(e){return function(t){return n(r(i(t).replace(s,"")),e,"")}}},function(e,t){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(496),o(223),o(231),o(232),o(256),o(230),o(234),o(237),o(236);var n=o(137);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(169);!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(r=t.ErrorCodes||(t.ErrorCodes={}));var a=function(e){function t(o,n,i){var a=e.call(this,n)||this;return a.code=s.number(o)?o:r.UnknownErrorCode,a.data=i,Object.setPrototypeOf(a,t.prototype),a}return i(t,e),t.prototype.toJson=function(){return{code:this.code,message:this.message,data:this.data}},t}(Error);t.ResponseError=a;var l=function(){function e(e,t){this._method=e,this._numberOfParams=t}return Object.defineProperty(e.prototype,"method",{get:function(){return this._method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"numberOfParams",{get:function(){return this._numberOfParams},enumerable:!0,configurable:!0}),e}();t.AbstractMessageType=l;var u=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType0=u;var c=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType=c;var h=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType1=h;var d=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType2=d;var g=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType3=g;var p=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType4=p;var f=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType5=f;var m=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType6=m;var _=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType7=_;var y=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType8=y;var v=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType9=v;var b=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType=b;var E=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType0=E;var C=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType1=C;var S=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType2=S;var T=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType3=T;var w=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType4=w;var k=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType5=k;var O=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType6=O;var R=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType7=R;var L=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType8=L;var N=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType9=N,t.isRequestMessage=function(e){var t=e;return t&&s.string(t.method)&&(s.string(t.id)||s.number(t.id))},t.isNotificationMessage=function(e){var t=e;return t&&s.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){var t=e;return t&&(void 0!==t.result||!!t.error)&&(s.string(t.id)||s.number(t.id)||null===t.id)}},function(e,t,o){(function(e){function o(e,t){for(var o=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),o++):o&&(e.splice(n,1),o--)}if(t)for(;o--;o)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var o=[],n=0;n<e.length;n++)t(e[n],n,e)&&o.push(e[n]);return o}t.resolve=function(){for(var t="",i=!1,r=arguments.length-1;r>=-1&&!i;r--){var s=r>=0?arguments[r]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=o(n(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===i(e,-1);return(e=o(n(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,o){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var o=e.length-1;o>=0&&""===e[o];o--);return t>o?[]:e.slice(t,o-t+1)}e=t.resolve(e).substr(1),o=t.resolve(o).substr(1);for(var i=n(e.split("/")),r=n(o.split("/")),s=Math.min(i.length,r.length),a=s,l=0;l<s;l++)if(i[l]!==r[l]){a=l;break}var u=[];for(l=a;l<i.length;l++)u.push("..");return(u=u.concat(r.slice(a))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),o=47===t,n=-1,i=!0,r=e.length-1;r>=1;--r)if(47===(t=e.charCodeAt(r))){if(!i){n=r;break}}else i=!1;return-1===n?o?"/":".":o&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var o=function(e){"string"!=typeof e&&(e+="");var t,o=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){o=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(o,n)}(e);return t&&o.substr(-1*t.length)===t&&(o=o.substr(0,o.length-t.length)),o},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,o=0,n=-1,i=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===n&&(i=!1,n=s+1),46===a?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!i){o=s+1;break}}return-1===t||-1===n||0===r||1===r&&t===n-1&&t===o+1?"":e.slice(t,n)};var i="b"==="ab".substr(-1)?function(e,t,o){return e.substr(t,o)}:function(e,t,o){return t<0&&(t=e.length+t),e.substr(t,o)}}).call(this,o(108))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(305)),n(o(306)),n(o(502))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.state="initial",o.events=[],o.socket.onMessage((function(e){return o.readMessage(e)})),o.socket.onError((function(e){return o.fireError(e)})),o.socket.onClose((function(e,t){if(1e3!==e){var n={name:""+e,message:"Error during socket reconnect: code = "+e+", reason = "+t};o.fireError(n)}o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){if("initial"===this.state)for(this.state="listening",this.callback=e;0!==this.events.length;){var t=this.events.pop();t.message?this.readMessage(t.message):t.error?this.fireError(t.error):this.fireClose()}},t.prototype.readMessage=function(e){if("initial"===this.state)this.events.splice(0,0,{message:e});else if("listening"===this.state){var t=JSON.parse(e);this.callback(t)}},t.prototype.fireError=function(t){"initial"===this.state?this.events.splice(0,0,{error:t}):"listening"===this.state&&e.prototype.fireError.call(this,t)},t.prototype.fireClose=function(){"initial"===this.state?this.events.splice(0,0,{}):"listening"===this.state&&e.prototype.fireClose.call(this),this.state="closed"},t}(o(183).AbstractMessageReader);t.WebSocketMessageReader=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.errorCount=0,o}return i(t,e),t.prototype.write=function(e){try{var t=JSON.stringify(e);this.socket.send(t)}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(o(184).AbstractMessageWriter);t.WebSocketMessageWriter=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e.prototype.debug=function(e){console.debug(e)},e}();t.ConsoleLogger=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CompletionItem);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CodeLens);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t,o){return e.call(this,t,o)||this}return i(t,e),t}(o(109).DocumentLink);t.default=r},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.editor=e}return e.prototype.registerCommand=function(e,t,o){return this.editor._commandService.addCommand({id:e,handler:function(e){for(var o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];return t.apply(void 0,i(o))}})},e}();t.MonacoCommands=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121),i=function(){function e(){this.channels=new Map}return e.prototype.showMessage=function(e,t){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e===n.MessageType.Error&&console.error(t),e===n.MessageType.Warning&&console.warn(t),e===n.MessageType.Info&&console.info(t),e===n.MessageType.Log&&console.log(t),Promise.resolve(void 0)},e.prototype.createOutputChannel=function(e){var t=this.channels.get(e);if(t)return t;var o={append:function(t){console.log(e+": "+t)},appendLine:function(t){console.log(e+": "+t)},show:function(){},dispose:function(){}};return this.channels.set(e,o),o},e}();t.ConsoleWindow=i},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e},r=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var s,a=o(530),l=o(121),u=o(531),c=o(185);function h(e,t){return a(e,{extended:!0,globstar:!0}).test(t)}!function(e){e.fromDocument=function(e){return{uri:monaco.Uri.parse(e.uri),languageId:e.languageId}},e.fromModel=function(e){return{uri:e.uri,languageId:e.getModeId()}}}(s=t.MonacoModelIdentifier||(t.MonacoModelIdentifier={})),t.testGlob=h;var d=function(){function e(e,t){this.p2m=e,this.m2p=t}return e.prototype.match=function(e,t){return this.matchModel(e,s.fromDocument(t))},e.prototype.createDiagnosticCollection=function(e){return new u.MonacoDiagnosticCollection(e||"default",this.p2m)},e.prototype.registerCompletionItemProvider=function(e,t){for(var o,n,s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];var l=this.createCompletionProvider.apply(this,i([e,t],s)),u=new c.DisposableCollection;try{for(var h=r(this.matchLanguage(e)),d=h.next();!d.done;d=h.next()){var g=d.value;u.push(monaco.languages.registerCompletionItemProvider(g,l))}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=h.return)&&n.call(h)}finally{if(o)throw o.error}}return u},e.prototype.createCompletionProvider=function(e,t){for(var o=this,n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return{triggerCharacters:n,provideCompletionItems:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asCompletionParams(n,i,a);return t.provideCompletionItems(l,r).then((function(e){return o.p2m.asCompletionResult(e)}))},resolveCompletionItem:t.resolveCompletionItem?function(e,n){var i=o.m2p.asCompletionItem(e);return t.resolveCompletionItem(i,n).then((function(t){var n=o.p2m.asCompletionItem(t);return Object.assign(e,n),e}))}:void 0}},e.prototype.registerHoverProvider=function(e,t){var o,n,i=this.createHoverProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerHoverProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createHoverProvider=function(e,t){var o=this;return{provideHover:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideHover(a,r).then((function(e){return o.p2m.asHover(e)}))}}}},e.prototype.registerSignatureHelpProvider=function(e,t){for(var o,n,s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];var l=this.createSignatureHelpProvider.apply(this,i([e,t],s)),u=new c.DisposableCollection;try{for(var h=r(this.matchLanguage(e)),d=h.next();!d.done;d=h.next()){var g=d.value;u.push(monaco.languages.registerSignatureHelpProvider(g,l))}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=h.return)&&n.call(h)}finally{if(o)throw o.error}}return u},e.prototype.createSignatureHelpProvider=function(e,t){for(var o=this,n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return{signatureHelpTriggerCharacters:n,provideSignatureHelp:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideSignatureHelp(a,r).then((function(e){return o.p2m.asSignatureHelp(e)}))}}}},e.prototype.registerDefinitionProvider=function(e,t){var o,n,i=this.createDefinitionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDefinitionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDefinitionProvider=function(e,t){var o=this;return{provideDefinition:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideDefinition(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerReferenceProvider=function(e,t){var o,n,i=this.createReferenceProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerReferenceProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createReferenceProvider=function(e,t){var o=this;return{provideReferences:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asReferenceParams(n,i,r);return t.provideReferences(l,a).then((function(e){return o.p2m.asReferences(e)}))}}},e.prototype.registerDocumentHighlightProvider=function(e,t){var o,n,i=this.createDocumentHighlightProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentHighlightProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentHighlightProvider=function(e,t){var o=this;return{provideDocumentHighlights:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideDocumentHighlights(a,r).then((function(e){return o.p2m.asDocumentHighlights(e)}))}}},e.prototype.registerDocumentSymbolProvider=function(e,t){var o,n,i=this.createDocumentSymbolProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentSymbolProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentSymbolProvider=function(e,t){var o=this;return{provideDocumentSymbols:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asDocumentSymbolParams(n);return t.provideDocumentSymbols(r,i).then((function(e){return o.p2m.asDocumentSymbols(e)}))}}},e.prototype.registerCodeActionsProvider=function(e,t){var o,n,i=this.createCodeActionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerCodeActionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createCodeActionProvider=function(e,t){var o=this;return{provideCodeActions:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asCodeActionParams(n,i,r);return t.provideCodeActions(l,a).then((function(e){return o.p2m.asCodeActions(e)}))}}},e.prototype.registerCodeLensProvider=function(e,t){var o,n,i=this.createCodeLensProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerCodeLensProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createCodeLensProvider=function(e,t){var o=this;return{provideCodeLenses:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asCodeLensParams(n);return t.provideCodeLenses(r,i).then((function(e){return o.p2m.asCodeLenses(e)}))},resolveCodeLens:t.resolveCodeLens?function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return i;var a=o.m2p.asCodeLens(i);return t.resolveCodeLens(a,r).then((function(e){var t=o.p2m.asCodeLens(e);return Object.assign(i,t),i}))}:function(e,t,o){return t}}},e.prototype.registerDocumentFormattingEditProvider=function(e,t){var o,n,i=this.createDocumentFormattingEditProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentFormattingEditProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentFormattingEditProvider=function(e,t){var o=this;return{provideDocumentFormattingEdits:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asDocumentFormattingParams(n,i);return t.provideDocumentFormattingEdits(a,r).then((function(e){return o.p2m.asTextEdits(e)}))}}},e.prototype.registerDocumentRangeFormattingEditProvider=function(e,t){var o,n,i=this.createDocumentRangeFormattingEditProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentRangeFormattingEditProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentRangeFormattingEditProvider=function(e,t){var o=this;return{provideDocumentRangeFormattingEdits:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asDocumentRangeFormattingParams(n,i,r);return t.provideDocumentRangeFormattingEdits(l,a).then((function(e){return o.p2m.asTextEdits(e)}))}}},e.prototype.registerOnTypeFormattingEditProvider=function(e,t,o){for(var n,s,a=[],l=3;l<arguments.length;l++)a[l-3]=arguments[l];var u=this.createOnTypeFormattingEditProvider.apply(this,i([e,t,o],a)),h=new c.DisposableCollection;try{for(var d=r(this.matchLanguage(e)),g=d.next();!g.done;g=d.next()){var p=g.value;h.push(monaco.languages.registerOnTypeFormattingEditProvider(p,u))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(s=d.return)&&s.call(d)}finally{if(n)throw n.error}}return h},e.prototype.createOnTypeFormattingEditProvider=function(e,t,o){for(var n=this,i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];var a=[o].concat(i);return{autoFormatTriggerCharacters:a,provideOnTypeFormattingEdits:function(o,i,r,a,l){if(!n.matchModel(e,s.fromModel(o)))return[];var u=n.m2p.asDocumentOnTypeFormattingParams(o,i,r,a);return t.provideOnTypeFormattingEdits(u,l).then((function(e){return n.p2m.asTextEdits(e)}))}}},e.prototype.registerRenameProvider=function(e,t){var o,n,i=this.createRenameProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerRenameProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createRenameProvider=function(e,t){var o=this;return{provideRenameEdits:function(n,i,r,a){if(o.matchModel(e,s.fromModel(n))){var l=o.m2p.asRenameParams(n,i,r);return t.provideRenameEdits(l,a).then((function(e){return o.p2m.asWorkspaceEdit(e)}))}}}},e.prototype.registerDocumentLinkProvider=function(e,t){var o,n,i=this.createDocumentLinkProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerLinkProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentLinkProvider=function(e,t){var o=this;return{provideLinks:function(n,i){if(o.matchModel(e,s.fromModel(n))){var r=o.m2p.asDocumentLinkParams(n);return t.provideDocumentLinks(r,i).then((function(e){return o.p2m.asDocumentLinks(e)}))}},resolveLink:function(e,n){if(t.resolveDocumentLink&&(null===e.url||void 0===e.url)){var i=o.m2p.asDocumentLink(e);return t.resolveDocumentLink(i,n).then((function(t){var n=o.p2m.asDocumentLink(t);return Object.assign(e,n),e}))}return e}}},e.prototype.registerImplementationProvider=function(e,t){var o,n,i=this.createImplementationProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerImplementationProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createImplementationProvider=function(e,t){var o=this;return{provideImplementation:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideImplementation(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerTypeDefinitionProvider=function(e,t){var o,n,i=this.createTypeDefinitionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerTypeDefinitionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createTypeDefinitionProvider=function(e,t){var o=this;return{provideTypeDefinition:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideTypeDefinition(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerColorProvider=function(e,t){var o,n,i=this.createDocumentColorProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerColorProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentColorProvider=function(e,t){var o=this;return{provideDocumentColors:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asTextDocumentIdentifier(n);return t.provideDocumentColors({textDocument:r},i).then((function(e){return o.p2m.asColorInformations(e)}))},provideColorPresentations:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentIdentifier(n),l=o.m2p.asRange(i.range);return t.provideColorPresentations({textDocument:a,color:i.color,range:l},r).then((function(e){return o.p2m.asColorPresentations(e)}))}}},e.prototype.registerFoldingRangeProvider=function(e,t){var o,n,i=this.createFoldingRangeProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerFoldingRangeProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createFoldingRangeProvider=function(e,t){var o=this;return{provideFoldingRanges:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentIdentifier(n);return t.provideFoldingRanges({textDocument:a},r).then((function(e){return o.p2m.asFoldingRanges(e)}))}}},e.prototype.matchModel=function(e,t){var o=this;return Array.isArray(e)?e.some((function(e){return o.matchModel(e,t)})):l.DocumentFilter.is(e)?(!e.language||e.language===t.languageId)&&((!e.scheme||e.scheme===t.uri.scheme)&&!(e.pattern&&!h(e.pattern,t.uri.path))):e===t.languageId},e.prototype.matchLanguage=function(e){var t,o,n=new Set;if(Array.isArray(e))try{for(var i=r(e),s=i.next();!s.done;s=i.next()){var a=s.value;n.add(this.matchLanguageByFilter(a))}}catch(e){t={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}else n.add(this.matchLanguageByFilter(e));return n},e.prototype.matchLanguageByFilter=function(e){return l.DocumentFilter.is(e)?e.language?e.language:"*":e},e}();t.MonacoLanguages=d},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var s=o(121),a=function(){function e(e,t,o){var i,r;void 0===o&&(o=null);var a=this;this.p2m=e,this.m2p=t,this._rootUri=o,this.documents=new Map,this.onDidOpenTextDocumentEmitter=new s.Emitter,this.onDidCloseTextDocumentEmitter=new s.Emitter,this.onDidChangeTextDocumentEmitter=new s.Emitter;try{for(var l=n(monaco.editor.getModels()),u=l.next();!u.done;u=l.next()){var c=u.value;this.addModel(c)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}monaco.editor.onDidCreateModel((function(e){return a.addModel(e)})),monaco.editor.onWillDisposeModel((function(e){return a.removeModel(e)}))}return Object.defineProperty(e.prototype,"rootUri",{get:function(){return this._rootUri},enumerable:!0,configurable:!0}),e.prototype.removeModel=function(e){var t=e.uri.toString(),o=this.documents.get(t);o&&(this.documents.delete(t),this.onDidCloseTextDocumentEmitter.fire(o))},e.prototype.addModel=function(e){var t=this,o=e.uri.toString(),n=this.setModel(o,e);this.onDidOpenTextDocumentEmitter.fire(n),e.onDidChangeContent((function(n){return t.onDidChangeContent(o,e,n)}))},e.prototype.onDidChangeContent=function(e,t,o){var i,r,s=this.setModel(e,t),a=[];try{for(var l=n(o.changes),u=l.next();!u.done;u=l.next()){var c=u.value,h=this.m2p.asRange(c.range),d=c.rangeLength,g=c.text;a.push({range:h,rangeLength:d,text:g})}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}this.onDidChangeTextDocumentEmitter.fire({textDocument:s,contentChanges:a})},e.prototype.setModel=function(e,t){var o=s.TextDocument.create(e,t.getModeId(),t.getVersionId(),t.getValue());return this.documents.set(e,o),o},Object.defineProperty(e.prototype,"textDocuments",{get:function(){return Array.from(this.documents.values())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidOpenTextDocument",{get:function(){return this.onDidOpenTextDocumentEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidCloseTextDocument",{get:function(){return this.onDidCloseTextDocumentEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeTextDocument",{get:function(){return this.onDidChangeTextDocumentEmitter.event},enumerable:!0,configurable:!0}),e.prototype.applyEdit=function(e){var t=this.p2m.asWorkspaceEdit(e),o=t.edits.reduce((function(e,t){var o=t;return e[o.resource.toString()]=monaco.editor.getModel(o.resource),e}),{});if(!Object.keys(o).map((function(e){return o[e]})).every((function(e){return!!e})))return Promise.resolve(!1);var n=t.edits.reduce((function(e,t){var o,n=t,i=n.resource.toString();i in e||(e[i]=[]);var s=n.edits.map((function(e){return{range:monaco.Range.lift(e.range),text:e.text}}));return(o=e[i]).push.apply(o,r(s)),e}),{});return Object.keys(n).forEach((function(e){o[e].pushEditOperations([],n[e].map((function(e){return{identifier:{major:1,minor:0},range:e.range,text:e.text,forceMoveMarkers:!0}})),(function(){return[]}))})),Promise.resolve(!0)},e}();t.MonacoWorkspace=a},function(e,t,o){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e},s=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var a,l,u,c=o(245),h=o(121);!function(e){e.is=function(e){return!!e&&"data"in e}}(a=t.ProtocolDocumentLink||(t.ProtocolDocumentLink={})),function(e){e.is=function(e){return!!e&&"data"in e}}(l=t.ProtocolCodeLens||(t.ProtocolCodeLens={})),function(e){e.is=function(e){return!!e&&"data"in e}}(u=t.ProtocolCompletionItem||(t.ProtocolCompletionItem={}));var d=function(){function e(){}return e.prototype.asPosition=function(e,t){return{line:null==e?void 0:e-1,character:null==t?void 0:t-1}},e.prototype.asRange=function(e){if(void 0!==e)return null===e?null:{start:this.asPosition(e.startLineNumber,e.startColumn),end:this.asPosition(e.endLineNumber,e.endColumn)}},e.prototype.asTextDocumentIdentifier=function(e){return{uri:e.uri.toString()}},e.prototype.asTextDocumentPositionParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column)}},e.prototype.asCompletionParams=function(e,t,o){return Object.assign(this.asTextDocumentPositionParams(e,t),{context:this.asCompletionContext(o)})},e.prototype.asCompletionContext=function(e){return{triggerKind:this.asTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter}},e.prototype.asTriggerKind=function(e){switch(e){case monaco.languages.SuggestTriggerKind.TriggerCharacter:return h.CompletionTriggerKind.TriggerCharacter;case monaco.languages.SuggestTriggerKind.TriggerForIncompleteCompletions:return h.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return h.CompletionTriggerKind.Invoked}},e.prototype.asCompletionItem=function(e){var t={label:e.label},o=u.is(e)?e:void 0;return e.detail&&(t.detail=e.detail),e.documentation&&(o&&o.documentationFormat?t.documentation=this.asDocumentation(o.documentationFormat,e.documentation):t.documentation=e.documentation),e.filterText&&(t.filterText=e.filterText),this.fillPrimaryInsertText(t,e),c.number(e.kind)&&(t.kind=this.asCompletionItemKind(e.kind,o&&o.originalItemKind)),e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),e.command&&(t.command=this.asCommand(e.command)),e.commitCharacters&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),o&&(void 0!==o.data&&(t.data=o.data),!0!==o.deprecated&&!1!==o.deprecated||(t.deprecated=o.deprecated)),t},e.prototype.asCompletionItemKind=function(e,t){return void 0!==t?t:e+1},e.prototype.asDocumentation=function(e,t){switch(e){case h.MarkupKind.PlainText:return{kind:e,value:t};case h.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}},e.prototype.fillPrimaryInsertText=function(e,t){var o,n,i=h.InsertTextFormat.PlainText;t.textEdit?(o=t.textEdit.text,n=this.asRange(t.textEdit.range)):"string"==typeof t.insertText?o=t.insertText:t.insertText&&(i=h.InsertTextFormat.Snippet,o=t.insertText.value),t.range&&(n=this.asRange(t.range)),e.insertTextFormat=i,t.fromEdit&&o&&n?e.textEdit={newText:o,range:n}:e.insertText=o},e.prototype.asTextEdit=function(e){return{range:this.asRange(e.range),newText:e.text}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asReferenceParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),context:{includeDeclaration:o.includeDeclaration}}},e.prototype.asDocumentSymbolParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asCodeLensParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDiagnosticSeverity=function(e){switch(e){case monaco.MarkerSeverity.Error:return h.DiagnosticSeverity.Error;case monaco.MarkerSeverity.Warning:return h.DiagnosticSeverity.Warning;case monaco.MarkerSeverity.Info:return h.DiagnosticSeverity.Information;case monaco.MarkerSeverity.Hint:return h.DiagnosticSeverity.Hint}},e.prototype.asDiagnostic=function(e){var t=this.asRange(new monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),o=this.asDiagnosticSeverity(e.severity);return h.Diagnostic.create(t,e.message,o,e.code,e.source)},e.prototype.asDiagnostics=function(e){var t=this;return null==e?e:e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asCodeActionContext=function(e){if(null==e)return e;var t=this.asDiagnostics(e.markers);return h.CodeActionContext.create(t,c.string(e.only)?[e.only]:void 0)},e.prototype.asCodeActionParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),context:this.asCodeActionContext(o)}},e.prototype.asCommand=function(e){if(e){var t=e.arguments||[];return h.Command.create.apply(h.Command,r([e.title,e.id],t))}},e.prototype.asCodeLens=function(e){var t=h.CodeLens.create(this.asRange(e.range));return e.command&&(t.command=this.asCommand(e.command)),l.is(e)&&e.data&&(t.data=e.data),t},e.prototype.asFormattingOptions=function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},e.prototype.asDocumentFormattingParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),options:this.asFormattingOptions(t)}},e.prototype.asDocumentRangeFormattingParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),options:this.asFormattingOptions(o)}},e.prototype.asDocumentOnTypeFormattingParams=function(e,t,o,n){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),ch:o,options:this.asFormattingOptions(n)}},e.prototype.asRenameParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),newName:o}},e.prototype.asDocumentLinkParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDocumentLink=function(e){var t=h.DocumentLink.create(this.asRange(e.range));return e.url&&(t.target=e.url),a.is(e)&&e.data&&(t.data=e.data),t},e}();t.MonacoToProtocolConverter=d;var g=function(){function e(){}return e.prototype.asResourceEdits=function(e,t,o){return{resource:e,edits:this.asTextEdits(t),modelVersionId:o}},e.prototype.asWorkspaceEdit=function(e){var t,o,n,i;if(e){var r=[];if(e.documentChanges)try{for(var a=s(e.documentChanges),l=a.next();!l.done;l=a.next()){var u=l.value,c=monaco.Uri.parse(u.textDocument.uri),h="number"==typeof u.textDocument.version?u.textDocument.version:void 0;r.push(this.asResourceEdits(c,u.edits,h))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}else if(e.changes)try{for(var d=s(Object.keys(e.changes)),g=d.next();!g.done;g=d.next()){var p=g.value;c=monaco.Uri.parse(p);r.push(this.asResourceEdits(c,e.changes[p]))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return{edits:r}}},e.prototype.asTextEdit=function(e){if(e)return{range:this.asRange(e.range),text:e.newText}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asCodeLens=function(e){if(e){var t={range:this.asRange(e.range)};return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}},e.prototype.asCodeLenses=function(e){var t=this;if(e)return e.map((function(e){return t.asCodeLens(e)}))},e.prototype.asCodeActions=function(e){var t=this;return e.map((function(e){return t.asCodeAction(e)}))},e.prototype.asCodeAction=function(e){return h.CodeAction.is(e)?{title:e.title,command:this.asCommand(e.command),edit:this.asWorkspaceEdit(e.edit),diagnostics:this.asDiagnostics(e.diagnostics),kind:e.kind}:{command:{id:e.command,title:e.title,arguments:e.arguments},title:e.title}},e.prototype.asCommand=function(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}},e.prototype.asDocumentSymbol=function(e){var t=this,o=e.children&&e.children.map((function(e){return t.asDocumentSymbol(e)}));return{name:e.name,detail:e.detail||"",kind:this.asSymbolKind(e.kind),range:this.asRange(e.range),selectionRange:this.asRange(e.selectionRange),children:o}},e.prototype.asDocumentSymbols=function(e){var t=this;return h.DocumentSymbol.is(e[0])?e.map((function(e){return t.asDocumentSymbol(e)})):this.asSymbolInformations(e)},e.prototype.asSymbolInformations=function(e,t){var o=this;if(e)return e.map((function(e){return o.asSymbolInformation(e,t)}))},e.prototype.asSymbolInformation=function(e,t){var o=this.asLocation(t?n({},e.location,{uri:t.toString()}):e.location);return{name:e.name,detail:"",containerName:e.containerName,kind:this.asSymbolKind(e.kind),range:o.range,selectionRange:o.range}},e.prototype.asSymbolKind=function(e){return e<=h.SymbolKind.TypeParameter?e-1:monaco.languages.SymbolKind.Property},e.prototype.asDocumentHighlights=function(e){var t=this;if(e)return e.map((function(e){return t.asDocumentHighlight(e)}))},e.prototype.asDocumentHighlight=function(e){return{range:this.asRange(e.range),kind:c.number(e.kind)?this.asDocumentHighlightKind(e.kind):void 0}},e.prototype.asDocumentHighlightKind=function(e){switch(e){case h.DocumentHighlightKind.Text:return monaco.languages.DocumentHighlightKind.Text;case h.DocumentHighlightKind.Read:return monaco.languages.DocumentHighlightKind.Read;case h.DocumentHighlightKind.Write:return monaco.languages.DocumentHighlightKind.Write}return monaco.languages.DocumentHighlightKind.Text},e.prototype.asReferences=function(e){var t=this;if(e)return e.map((function(e){return t.asLocation(e)}))},e.prototype.asDefinitionResult=function(e){var t=this;if(e)return c.array(e)?e.map((function(e){return t.asLocation(e)})):this.asLocation(e)},e.prototype.asLocation=function(e){if(e)return{uri:monaco.Uri.parse(e.uri),range:this.asRange(e.range)}},e.prototype.asSignatureHelp=function(e){if(e){var t={};return c.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,c.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures?t.signatures=this.asSignatureInformations(e.signatures):t.signatures=[],t}},e.prototype.asSignatureInformations=function(e){var t=this;return e.map((function(e){return t.asSignatureInformation(e)}))},e.prototype.asSignatureInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),e.parameters?t.parameters=this.asParameterInformations(e.parameters):t.parameters=[],t},e.prototype.asParameterInformations=function(e){var t=this;return e.map((function(e){return t.asParameterInformation(e)}))},e.prototype.asParameterInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),t},e.prototype.asHover=function(e){if(e)return{contents:this.asHoverContent(e.contents),range:this.asRange(e.range)}},e.prototype.asHoverContent=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.asMarkdownString(e)})):[this.asMarkdownString(e)]},e.prototype.asDocumentation=function(e){return c.string(e)?e:e.kind===h.MarkupKind.PlainText?e.value:this.asMarkdownString(e)},e.prototype.asMarkdownString=function(e){return h.MarkupContent.is(e)?{value:e.value}:c.string(e)?{value:e}:{value:"```"+e.language+"\n"+e.value+"\n```"}},e.prototype.asSeverity=function(e){return 1===e?monaco.MarkerSeverity.Error:2===e?monaco.MarkerSeverity.Warning:3===e?monaco.MarkerSeverity.Info:monaco.MarkerSeverity.Hint},e.prototype.asDiagnostics=function(e){var t=this;if(e)return e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asDiagnostic=function(e){return{code:"number"==typeof e.code?e.code.toString():e.code,severity:this.asSeverity(e.severity),message:e.message,source:e.source,startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,relatedInformation:this.asRelatedInformations(e.relatedInformation)}},e.prototype.asRelatedInformations=function(e){var t=this;if(e)return e.map((function(e){return t.asRelatedInformation(e)}))},e.prototype.asRelatedInformation=function(e){return{resource:monaco.Uri.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}},e.prototype.asCompletionResult=function(e){var t=this;return e?Array.isArray(e)?{isIncomplete:!1,items:e.map((function(e){return t.asCompletionItem(e)}))}:{isIncomplete:e.isIncomplete,items:e.items.map(this.asCompletionItem.bind(this))}:{isIncomplete:!1,items:[]}},e.prototype.asCompletionItem=function(e){var t={label:e.label};e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=this.asDocumentation(e.documentation),t.documentationFormat=c.string(e.documentation)?void 0:e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o=this.asCompletionInsertText(e);if(o&&(t.insertText=o.text,t.range=o.range,t.fromEdit=o.fromEdit),c.number(e.kind)){var n=i(this.asCompletionItemKind(e.kind),2),r=n[0],s=n[1];t.kind=r,s&&(t.originalItemKind=s)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),c.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),void 0!==e.data&&(t.data=e.data),t},e.prototype.asCompletionItemKind=function(e){return h.CompletionItemKind.Text<=e&&e<=h.CompletionItemKind.TypeParameter?[e-1,void 0]:[h.CompletionItemKind.Text,e]},e.prototype.asCompletionInsertText=function(e){if(e.textEdit){var t=this.asRange(e.textEdit.range),o=e.textEdit.newText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,range:t,fromEdit:!0}}if(e.insertText){o=e.insertText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,fromEdit:!1}}},e.prototype.asDocumentLinks=function(e){var t=this;return e.map((function(e){return t.asDocumentLink(e)}))},e.prototype.asDocumentLink=function(e){return{range:this.asRange(e.range),url:e.target,data:e.data}},e.prototype.asRange=function(e){if(void 0!==e){if(null===e)return null;var t=this.asPosition(e.start),o=this.asPosition(e.end);return t instanceof monaco.Position&&o instanceof monaco.Position?new monaco.Range(t.lineNumber,t.column,o.lineNumber,o.column):{startLineNumber:t&&void 0!==t.lineNumber?t.lineNumber:void 0,startColumn:t&&void 0!==t.column?t.column:void 0,endLineNumber:o&&void 0!==o.lineNumber?o.lineNumber:void 0,endColumn:o&&void 0!==o.column?o.column:void 0}}},e.prototype.asPosition=function(e){if(void 0!==e){if(null===e)return null;var t=e.line,o=e.character,n=void 0===t?void 0:t+1,i=void 0===o?void 0:o+1;return void 0!==n&&void 0!==i?new monaco.Position(n,i):{lineNumber:n,column:i}}},e.prototype.asColorInformations=function(e){var t=this;return e.map((function(e){return t.asColorInformation(e)}))},e.prototype.asColorInformation=function(e){return{range:this.asRange(e.range),color:e.color}},e.prototype.asColorPresentations=function(e){var t=this;return e.map((function(e){return t.asColorPresentation(e)}))},e.prototype.asColorPresentation=function(e){return{label:e.label,textEdit:this.asTextEdit(e.textEdit),additionalTextEdits:this.asTextEdits(e.additionalTextEdits)}},e.prototype.asFoldingRanges=function(e){var t=this;return e?e.map((function(e){return t.asFoldingRange(e)})):e},e.prototype.asFoldingRange=function(e){return{start:e.startLine+1,end:e.endLine+1,kind:this.asFoldingRangeKind(e.kind)}},e.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case h.FoldingRangeKind.Comment:return monaco.languages.FoldingRangeKind.Comment;case h.FoldingRangeKind.Imports:return monaco.languages.FoldingRangeKind.Imports;case h.FoldingRangeKind.Region:return monaco.languages.FoldingRangeKind.Region}},e}();t.ProtocolToMonacoConverter=g},function(e,t,o){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}n.prototype=o(325),n.prototype.loadAsync=o(358),n.support=o(127),n.defaults=o(274),n.version="3.2.0",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=o(168),e.exports=n},function(e,t,o){(function(o){var n,i,r;i=[],void 0===(r="function"==typeof(n=function(){"use strict";function t(e,t,o){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){s(n.response,t,o)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(o){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var r="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof o&&o.global===o?o:void 0,s=r.saveAs||("object"!=typeof window||window!==r?function(){}:"download"in HTMLAnchorElement.prototype?function(e,o,s){var a=r.URL||r.webkitURL,l=document.createElement("a");o=o||e.name||"download",l.download=o,l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?i(l):n(l.href)?t(e,o,s):i(l,l.target="_blank")):(l.href=a.createObjectURL(e),setTimeout((function(){a.revokeObjectURL(l.href)}),4e4),setTimeout((function(){i(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,r){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,r),o);else if(n(e))t(e,o,r);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){i(s)}))}}:function(e,o,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,o,n);var s="application/octet-stream"===e.type,a=/constructor/i.test(r.HTMLElement)||r.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&a)&&"object"==typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var c=r.URL||r.webkitURL,h=c.createObjectURL(e);i?i.location=h:location.href=h,i=null,setTimeout((function(){c.revokeObjectURL(h)}),4e4)}});r.saveAs=s.saveAs=s,e.exports=s})?n.apply(t,i):n)||(e.exports=r)}).call(this,o(80))},function(e,t,o){"use strict";var n=o(363),i=o(218),r=o(367),s=o(289),a=o(290),l=o(368),u=o(369),c=o(390),h=o(149);e.exports=_,_.prototype.validate=function(e,t){var o;if("string"==typeof e){if(!(o=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);o=n.validate||this._compile(n)}var i=o(t);!0!==o.$async&&(this.errors=o.errors);return i},_.prototype.compile=function(e,t){var o=this._addSchema(e,void 0,t);return o.validate||this._compile(o)},_.prototype.addSchema=function(e,t,o,n){if(Array.isArray(e)){for(var r=0;r<e.length;r++)this.addSchema(e[r],void 0,o,n);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return S(this,t=i.normalizeId(t||s)),this._schemas[t]=this._addSchema(e,o,n,!0),this},_.prototype.addMetaSchema=function(e,t,o){return this.addSchema(e,t,o,!0),this},_.prototype.validateSchema=function(e,t){var o=e.$schema;if(void 0!==o&&"string"!=typeof o)throw new Error("$schema must be a string");if(!(o=o||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(p)?p:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(o,e);if(!n&&t){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return n},_.prototype.getSchema=function(e){var t=y(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var o=i.schema.call(e,{schema:{}},t);if(o){var r=o.schema,a=o.root,l=o.baseId,u=n.call(e,r,a,void 0,l);return e._fragments[t]=new s({ref:t,fragment:!0,schema:r,root:a,baseId:l,validate:u}),u}}(this,e)}},_.prototype.removeSchema=function(e){if(e instanceof RegExp)return v(this,this._schemas,e),v(this,this._refs,e),this;switch(typeof e){case"undefined":return v(this,this._schemas),v(this,this._refs),this._cache.clear(),this;case"string":var t=y(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var o=this._opts.serialize,n=o?o(e):e;this._cache.del(n);var r=this._getId(e);r&&(r=i.normalizeId(r),delete this._schemas[r],delete this._refs[r])}return this},_.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},_.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var o=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,i="",r=0;r<e.length;r++){var s=e[r];s&&(i+=n+s.dataPath+" "+s.message+o)}return i.slice(0,-o.length)},_.prototype._addSchema=function(e,t,o,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var r=this._opts.serialize,a=r?r(e):e,l=this._cache.get(a);if(l)return l;n=n||!1!==this._opts.addUsedSchema;var u=i.normalizeId(this._getId(e));u&&n&&S(this,u);var c,h=!1!==this._opts.validateSchema&&!t;h&&!(c=u&&u==i.normalizeId(e.$schema))&&this.validateSchema(e,!0);var d=i.ids.call(this,e),g=new s({id:u,schema:e,localRefs:d,cacheKey:a,meta:o});"#"!=u[0]&&n&&(this._refs[u]=g);this._cache.put(a,g),h&&c&&this.validateSchema(e,!0);return g},_.prototype._compile=function(e,t){if(e.compiling)return e.validate=r,r.schema=e.schema,r.errors=null,r.root=t||r,!0===e.schema.$async&&(r.$async=!0),r;var o,i;e.compiling=!0,e.meta&&(o=this._opts,this._opts=this._metaOpts);try{i=n.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=o)}return e.validate=i,e.refs=i.refs,e.refVal=i.refVal,e.root=i.root,i;function r(){var t=e.validate,o=t.apply(this,arguments);return r.errors=t.errors,o}},_.prototype.compileAsync=o(391);var d=o(392);_.prototype.addKeyword=d.add,_.prototype.getKeyword=d.get,_.prototype.removeKeyword=d.remove,_.prototype.validateKeyword=d.validate;var g=o(220);_.ValidationError=g.Validation,_.MissingRefError=g.MissingRef,_.$dataMetaSchema=c;var p="http://json-schema.org/draft-07/schema",f=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],m=["/properties"];function _(e){if(!(this instanceof _))return new _(e);e=this._opts=h.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:T,warn:T,error:T};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=l(e.format),this._cache=e.cache||new r,this._loadingSchemas={},this._compilations=[],this.RULES=u(),this._getId=function(e){switch(e.schemaId){case"auto":return C;case"id":return b;default:return E}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=h.copy(e._opts),o=0;o<f.length;o++)delete t[f[o]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var o=e._opts.formats[t];e.addFormat(t,o)}}(this),function(e){var t;e._opts.$data&&(t=o(395),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var n=o(296);e._opts.$data&&(n=c(n,m));e.addMetaSchema(n,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var o in t)e.addSchema(t[o],o)}(this)}function y(e,t){return t=i.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,o){for(var n in t){var i=t[n];i.meta||o&&!o.test(n)||(e._cache.del(i.cacheKey),delete t[n])}}function b(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function E(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function C(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function S(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function T(){}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(242)),n(o(301)),n(o(501)),n(o(304)),n(o(307)),n(o(503))},function(e,t){e.exports='<xml xmlns="http://www.w3.org/1999/xhtml" id="toolbox" style="display: none;">\n  <category name="Logic" colour="#5C81A6">\n    <block type="controls_if"></block>\n    <block type="logic_compare">\n      <field name="OP">EQ</field>\n    </block>\n    <block type="logic_operation">\n      <field name="OP">AND</field>\n    </block>\n    <block type="logic_negate"></block>\n    <block type="logic_boolean">\n      <field name="BOOL">TRUE</field>\n    </block>\n    <block type="logic_null"></block>\n    <block type="logic_ternary"></block>\n    <block type="wait">\n      <field name="TIME">1</field>\n    </block>\n  </category>\n  <category name="Loops" colour="#5CA65C">\n    <block type="controls_repeat_ext">\n      <value name="TIMES">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="controls_whileUntil">\n      <field name="MODE">WHILE</field>\n    </block>\n    <block type="controls_for">\n      <field name="VAR" id="lJ.d3Xzwq4EO9pbcM-,j" variabletype="">i</field>\n      <value name="FROM">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="TO">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n      <value name="BY">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="controls_forEach">\n      <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">j</field>\n    </block>\n    <block type="controls_flow_statements">\n      <field name="FLOW">BREAK</field>\n    </block>\n  </category>\n  <category name="Math" colour="#5C68A6">\n    <block type="math_number">\n      <field name="NUM">0</field>\n    </block>\n    <block type="math_arithmetic">\n      <field name="OP">ADD</field>\n      <value name="A">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="B">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_single">\n      <field name="OP">ROOT</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">9</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_trig">\n      <field name="OP">SIN</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">45</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_constant">\n      <field name="CONSTANT">PI</field>\n    </block>\n    <block type="math_number_property">\n      <mutation divisor_input="false"></mutation>\n      <field name="PROPERTY">EVEN</field>\n      <value name="NUMBER_TO_CHECK">\n        <shadow type="math_number">\n          <field name="NUM">0</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_round">\n      <field name="OP">ROUND</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">3.1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_on_list">\n      <mutation op="SUM"></mutation>\n      <field name="OP">SUM</field>\n    </block>\n    <block type="math_modulo">\n      <value name="DIVIDEND">\n        <shadow type="math_number">\n          <field name="NUM">64</field>\n        </shadow>\n      </value>\n      <value name="DIVISOR">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_constrain">\n      <value name="VALUE">\n        <shadow type="math_number">\n          <field name="NUM">50</field>\n        </shadow>\n      </value>\n      <value name="LOW">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="HIGH">\n        <shadow type="math_number">\n          <field name="NUM">100</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_random_int">\n      <value name="FROM">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="TO">\n        <shadow type="math_number">\n          <field name="NUM">100</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_random_float"></block>\n  </category>\n  <category name="Text" colour="#5CA68D">\n    <block type="text">\n      <field name="TEXT"></field>\n    </block>\n    <block type="text_join">\n      <mutation items="2"></mutation>\n    </block>\n    <block type="text_append">\n      <field name="VAR" id="0N6qYF4t-cN;8U9`-VE)" variabletype="">item</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT"></field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_length">\n      <value name="VALUE">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_isEmpty">\n      <value name="VALUE">\n        <shadow type="text">\n          <field name="TEXT"></field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_indexOf">\n      <field name="END">FIRST</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n      <value name="FIND">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_charAt">\n      <mutation at="true"></mutation>\n      <field name="WHERE">FROM_START</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n    </block>\n    <block type="text_getSubstring">\n      <mutation at1="true" at2="true"></mutation>\n      <field name="WHERE1">FROM_START</field>\n      <field name="WHERE2">FROM_START</field>\n      <value name="STRING">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n    </block>\n    <block type="text_changeCase">\n      <field name="CASE">UPPERCASE</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_trim">\n      <field name="MODE">BOTH</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_print">\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n  </category>\n  <category name="Lists" colour="#745CA6">\n    <block type="lists_create_with">\n      <mutation items="0"></mutation>\n    </block>\n    <block type="lists_create_with">\n      <mutation items="3"></mutation>\n    </block>\n    <block type="lists_repeat">\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">5</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="lists_length"></block>\n    <block type="lists_isEmpty"></block>\n    <block type="lists_indexOf">\n      <field name="END">FIRST</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_getIndex">\n      <mutation statement="false" at="true"></mutation>\n      <field name="MODE">GET</field>\n      <field name="WHERE">FROM_START</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_setIndex">\n      <mutation at="true"></mutation>\n      <field name="MODE">SET</field>\n      <field name="WHERE">FROM_START</field>\n      <value name="LIST">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_getSublist">\n      <mutation at1="true" at2="true"></mutation>\n      <field name="WHERE1">FROM_START</field>\n      <field name="WHERE2">FROM_START</field>\n      <value name="LIST">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_split">\n      <mutation mode="SPLIT"></mutation>\n      <field name="MODE">SPLIT</field>\n      <value name="DELIM">\n        <shadow type="text">\n          <field name="TEXT">,</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="lists_sort">\n      <field name="TYPE">NUMERIC</field>\n      <field name="DIRECTION">1</field>\n    </block>\n  </category>\n  <sep></sep>\n  <category name="Variables" colour="#A65C81" custom="VARIABLE"></category>\n  <category name="Functions" colour="#9A5CA6" custom="PROCEDURE"></category>\n  <sep></sep>\n  <category name="Movement" colour="#a55b5b">\n    <block type="motors_set_power">\n      <field name="MOTOR_INDEX">1</field>\n      <value name="MOTOR_PERCENT">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_move_for_time">\n      <field name="MOTORS_DIRECTION">FORWARDS</field>\n      <value name="MOTORS_TIME">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="MOTORS_POWER_PERCENT">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_turn_for_time">\n      <field name="MOTORS_DIRECTION">CLOCKWISE</field>\n      <value name="MOTORS_TIME">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="MOTORS_POWER">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_reset"></block>\n    <block type="servo_set_position">\n      <field name="SERVO_INDEX">1</field>\n      <value name="SERVO_POSITION">\n        <shadow type="math_number">\n          <field name="NUM">50</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="zone"></block>\n  </category>\n  <category name="GPIO" colour="#5b80a5">\n    <block type="gpio_set_mode">\n      <field name="GPIO_INDEX">1</field>\n      <field name="GPIO_MODE">OUTPUT</field>\n    </block>\n    <block type="gpio_write_digital">\n      <field name="GPIO_INDEX">1</field>\n      <value name="GPIO_STATE">\n        <shadow type="logic_boolean">\n          <field name="BOOL">TRUE</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="gpio_read_digital">\n      <field name="GPIO_INDEX">1</field>\n    </block>\n    <block type="gpio_read_analog">\n      <field name="GPIO_INDEX">1</field>\n    </block>\n  </category>\n  <category name="Vision" colour="#80a55b">\n    <block type="vision_see"></block>\n    <block type="vision_distance_to">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n    <block type="vision_angle_to">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n       <block type="vision_marker_type">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n    <block type="vision_marker_type_arena"></block>\n    <block type="vision_marker_type_basket"></block>\n    <block type="controls_forEach">\n      <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">i</field>\n      <value name="LIST">\n        <block type="vision_see"></block>\n      </value>\n    </block>\n  </category>\n</xml>'},function(e,t,o){"use strict";function n(e){for(var t=arguments,o=1;o<arguments.length;o++)for(var n in arguments[o])e[n]=t[o][n];return e}var i={functional:!0,props:{code:{type:String},inline:{type:Boolean,default:!1},language:{type:String,default:"markup"}},render:function(e,t){var o=t.props.code||(t.children&&t.children.length>0?t.children[0].text:""),i=t.props.inline,r=t.props.language,s=Prism.languages[r],a="language-"+r;return i?e("code",n({},t.data,{class:[t.data.class,a],domProps:n({},t.data.domProps,{innerHTML:Prism.highlight(o,s)})})):e("pre",n({},t.data,{class:[t.data.class,a]}),[e("code",{class:a,domProps:{innerHTML:Prism.highlight(o,s)}})])}};e.exports=i},function(e,t,o){"use strict";(function(e){o.d(t,"a",(function(){return f}));var n=o(115),i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};var r=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){!function(t){var o=function(e,t,n){if(!l(t)||c(t)||h(t)||d(t)||a(t))return t;var i,r=0,s=0;if(u(t))for(i=[],s=t.length;r<s;r++)i.push(o(e,t[r],n));else for(var g in i={},t)Object.prototype.hasOwnProperty.call(t,g)&&(i[e(g,n)]=o(e,t[g],n));return i},n=function(e){return g(e)?e:(e=e.replace(/[\-_\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""}))).substr(0,1).toLowerCase()+e.substr(1)},i=function(e){var t=n(e);return t.substr(0,1).toUpperCase()+t.substr(1)},r=function(e,t){return function(e,t){var o=(t=t||{}).separator||"_",n=t.split||/(?=[A-Z])/;return e.split(n).join(o)}(e,t).toLowerCase()},s=Object.prototype.toString,a=function(e){return"function"==typeof e},l=function(e){return e===Object(e)},u=function(e){return"[object Array]"==s.call(e)},c=function(e){return"[object Date]"==s.call(e)},h=function(e){return"[object RegExp]"==s.call(e)},d=function(e){return"[object Boolean]"==s.call(e)},g=function(e){return(e-=0)==e},p=function(e,t){var o=t&&"process"in t?t.process:t;return"function"!=typeof o?e:function(t,n){return o(t,e,n)}},f={camelize:n,decamelize:r,pascalize:i,depascalize:r,camelizeKeys:function(e,t){return o(p(n,t),e)},decamelizeKeys:function(e,t){return o(p(r,t),e,t)},pascalizeKeys:function(e,t){return o(p(i,t),e)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};e.exports?e.exports=f:t.humps=f}(i)})),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},u=function(e,t){var o={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o};function c(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];return t.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])}function h(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=(t.children||[]).map(h.bind(null,e)),s=Object.keys(t.attributes||{}).reduce((function(e,o){var n=t.attributes[o];switch(o){case"class":e.class=n.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{});break;case"style":e.style=n.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var o=t.indexOf(":"),n=r.camelize(t.slice(0,o)),i=t.slice(o+1).trim();return e[n]=i,e}),{});break;default:e.attrs[o]=n}return e}),{class:{},style:{},attrs:{}}),a=n.class,d=void 0===a?{}:a,g=n.style,p=void 0===g?{}:g,f=n.attrs,m=void 0===f?{}:f,_=u(n,["class","style","attrs"]);return"string"==typeof t?t:e(t.tag,l({class:c(s.class,d),style:l({},s.style,p),attrs:l({},s.attrs,m)},_,{props:o}),i)}var d=!1;try{d=!0}catch(e){}function g(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?a({},e,t):{}}function p(e){return e&&"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName&&e.icon?e:n.d.icon?n.d.icon(e):null===e?null:"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}var f={name:"FontAwesomeIcon",functional:!0,props:{beat:{type:Boolean,default:!1},border:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(e){return["horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},render:function(e,t){var o=t.props,i=o.icon,r=o.mask,s=o.symbol,u=o.title,c=p(i),f=g("classes",function(e){var t,o=(t={"fa-spin":e.spin,"fa-spin-pulse":e.spinPulse,"fa-spin-reverse":e.spinReverse,"fa-pulse":e.pulse,"fa-beat":e.beat,"fa-fade":e.fade,"fa-flash":e.flash,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},a(t,"fa-"+e.size,null!==e.size),a(t,"fa-rotate-"+e.rotation,null!==e.rotation),a(t,"fa-pull-"+e.pull,null!==e.pull),a(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(o).map((function(e){return o[e]?e:null})).filter((function(e){return e}))}(o)),m=g("transform","string"==typeof o.transform?n.d.transform(o.transform):o.transform),_=g("mask",p(r)),y=Object(n.b)(c,l({},f,m,_,{symbol:s,title:u}));if(!y)return function(){var e;!d&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find one or more icon(s)",c,_);var v=y.abstract;return h.bind(null,e)(v[0],{},t.data)}};Boolean,String,Number,String,Object,Boolean,String}).call(this,o(80))},function(e,t,o){},function(e,t,o){(function(t){var o="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},n=function(){var e=/\blang(?:uage)?-([\w-]+)\b/i,t=0,n=o.Prism={manual:o.Prism&&o.Prism.manual,disableWorkerMessageHandler:o.Prism&&o.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof i?new i(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function(e,t){var o=n.util.type(e);switch(t=t||{},o){case"Object":if(t[n.util.objId(e)])return t[n.util.objId(e)];var i={};for(var r in t[n.util.objId(e)]=i,e)e.hasOwnProperty(r)&&(i[r]=n.util.clone(e[r],t));return i;case"Array":if(t[n.util.objId(e)])return t[n.util.objId(e)];i=[];return t[n.util.objId(e)]=i,e.forEach((function(e,o){i[o]=n.util.clone(e,t)})),i}return e}},languages:{extend:function(e,t){var o=n.util.clone(n.languages[e]);for(var i in t)o[i]=t[i];return o},insertBefore:function(e,t,o,i){var r=(i=i||n.languages)[e];if(2==arguments.length){for(var s in o=arguments[1])o.hasOwnProperty(s)&&(r[s]=o[s]);return r}var a={};for(var l in r)if(r.hasOwnProperty(l)){if(l==t)for(var s in o)o.hasOwnProperty(s)&&(a[s]=o[s]);a[l]=r[l]}var u=i[e];return i[e]=a,n.languages.DFS(n.languages,(function(t,o){o===u&&t!=e&&(this[t]=a)})),a},DFS:function(e,t,o,i){for(var r in i=i||{},e)e.hasOwnProperty(r)&&(t.call(e,r,e[r],o||r),"Object"!==n.util.type(e[r])||i[n.util.objId(e[r])]?"Array"!==n.util.type(e[r])||i[n.util.objId(e[r])]||(i[n.util.objId(e[r])]=!0,n.languages.DFS(e[r],t,r,i)):(i[n.util.objId(e[r])]=!0,n.languages.DFS(e[r],t,null,i)))}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,o){var i={callback:o,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",i);for(var r,s=i.elements||e.querySelectorAll(i.selector),a=0;r=s[a++];)n.highlightElement(r,!0===t,i.callback)},highlightElement:function(t,i,r){for(var s,a,l=t;l&&!e.test(l.className);)l=l.parentNode;l&&(s=(l.className.match(e)||[,""])[1].toLowerCase(),a=n.languages[s]),t.className=t.className.replace(e,"").replace(/\s+/g," ")+" language-"+s,t.parentNode&&(l=t.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(e,"").replace(/\s+/g," ")+" language-"+s));var u={element:t,language:s,grammar:a,code:t.textContent};if(n.hooks.run("before-sanity-check",u),!u.code||!u.grammar)return u.code&&(n.hooks.run("before-highlight",u),u.element.textContent=u.code,n.hooks.run("after-highlight",u)),void n.hooks.run("complete",u);if(n.hooks.run("before-highlight",u),i&&o.Worker){var c=new Worker(n.filename);c.onmessage=function(e){u.highlightedCode=e.data,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),r&&r.call(u.element)},c.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=n.highlight(u.code,u.grammar,u.language),n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),r&&r.call(t)},highlight:function(e,t,o){var r={code:e,grammar:t,language:o};return n.hooks.run("before-tokenize",r),r.tokens=n.tokenize(r.code,r.grammar),n.hooks.run("after-tokenize",r),i.stringify(n.util.encode(r.tokens),r.language)},matchGrammar:function(e,t,o,i,r,s,a){var l=n.Token;for(var u in o)if(o.hasOwnProperty(u)&&o[u]){if(u==a)return;var c=o[u];c="Array"===n.util.type(c)?c:[c];for(var h=0;h<c.length;++h){var d=c[h],g=d.inside,p=!!d.lookbehind,f=!!d.greedy,m=0,_=d.alias;if(f&&!d.pattern.global){var y=d.pattern.toString().match(/[imuy]*$/)[0];d.pattern=RegExp(d.pattern.source,y+"g")}d=d.pattern||d;for(var v=i,b=r;v<t.length;b+=t[v].length,++v){var E=t[v];if(t.length>e.length)return;if(!(E instanceof l)){if(f&&v!=t.length-1){if(d.lastIndex=b,!(O=d.exec(e)))break;for(var C=O.index+(p?O[1].length:0),S=O.index+O[0].length,T=v,w=b,k=t.length;T<k&&(w<S||!t[T].type&&!t[T-1].greedy);++T)C>=(w+=t[T].length)&&(++v,b=w);if(t[v]instanceof l)continue;R=T-v,E=e.slice(b,w),O.index-=b}else{d.lastIndex=0;var O=d.exec(E),R=1}if(O){p&&(m=O[1]?O[1].length:0);S=(C=O.index+m)+(O=O[0].slice(m)).length;var L=E.slice(0,C),N=E.slice(S),I=[v,R];L&&(++v,b+=L.length,I.push(L));var D=new l(u,g?n.tokenize(O,g):O,_,O,f);if(I.push(D),N&&I.push(N),Array.prototype.splice.apply(t,I),1!=R&&n.matchGrammar(e,t,o,v,b,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,o){var i=[e],r=t.rest;if(r){for(var s in r)t[s]=r[s];delete t.rest}return n.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var o=n.hooks.all;o[e]=o[e]||[],o[e].push(t)},run:function(e,t){var o=n.hooks.all[e];if(o&&o.length)for(var i,r=0;i=o[r++];)i(t)}}},i=n.Token=function(e,t,o,n,i){this.type=e,this.content=t,this.alias=o,this.length=0|(n||"").length,this.greedy=!!i};if(i.stringify=function(e,t,o){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map((function(o){return i.stringify(o,t,e)})).join("");var r={type:e.type,content:i.stringify(e.content,t,o),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:o};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}n.hooks.run("wrap",r);var a=Object.keys(r.attributes).map((function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,"&quot;")+'"'})).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(a?" "+a:"")+">"+r.content+"</"+r.tag+">"},!o.document)return o.addEventListener?(n.disableWorkerMessageHandler||o.addEventListener("message",(function(e){var t=JSON.parse(e.data),i=t.language,r=t.code,s=t.immediateClose;o.postMessage(n.highlight(r,n.languages[i],i)),s&&o.close()}),!1),o.Prism):o.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),o.Prism}();e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"triple-quoted-string":{pattern:/("""|''')[\s\S]+?\1/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(146),i=o(64),r=o(100),s=o(273),a=o(274),l=o(215),u=o(344),c=o(345),h=o(182),d=o(357),g=function(e,t,o){var n,s=i.getTypeOf(t),c=i.extend(o||{},a);c.date=c.date||new Date,null!==c.compression&&(c.compression=c.compression.toUpperCase()),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(e=f(e)),c.createFolders&&(n=p(e))&&m.call(this,n,!0);var g="string"===s&&!1===c.binary&&!1===c.base64;o&&void 0!==o.binary||(c.binary=!g),(t instanceof l&&0===t.uncompressedSize||c.dir||!t||0===t.length)&&(c.base64=!1,c.binary=!0,t="",c.compression="STORE",s="string");var _=null;_=t instanceof l||t instanceof r?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,c.binary,c.optimizedBinaryString,c.base64);var y=new u(e,_,c);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},f=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:a.createFolders,e=f(e),this.files[e]||g.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function _(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,o,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(o=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(o,n))},filter:function(e){var t=[];return this.forEach((function(o,n){e(o,n)&&t.push(n)})),t},file:function(e,t,o){if(1===arguments.length){if(_(e)){var n=e;return this.filter((function(e,t){return!t.dir&&n.test(e)}))}var i=this.files[this.root+e];return i&&!i.dir?i:null}return(e=this.root+e,g.call(this,e,t,o),this)},folder:function(e){if(!e)return this;if(_(e))return this.filter((function(t,o){return o.dir&&e.test(t)}));var t=this.root+e,o=m.call(this,t),n=this.clone();return n.root=o.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var o=this.filter((function(t,o){return o.name.slice(0,e.length)===e})),n=0;n<o.length;n++)delete this.files[o[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,o={};try{if((o=i.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=o.type.toLowerCase(),o.compression=o.compression.toUpperCase(),"binarystring"===o.type&&(o.type="string"),!o.type)throw new Error("No output type specified.");i.checkSupport(o.type),"darwin"!==o.platform&&"freebsd"!==o.platform&&"linux"!==o.platform&&"sunos"!==o.platform||(o.platform="UNIX"),"win32"===o.platform&&(o.platform="DOS");var a=o.comment||this.comment||"";t=c.generateWorker(this,o,a)}catch(e){(t=new r("error")).error(e)}return new s(t,o.type||"string",o.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};e.exports=y},function(e,t,o){"use strict";t.byteLength=function(e){var t=u(e),o=t[0],n=t[1];return 3*(o+n)/4-n},t.toByteArray=function(e){var t,o,n=u(e),s=n[0],a=n[1],l=new r(function(e,t,o){return 3*(t+o)/4-o}(0,s,a)),c=0,h=a>0?s-4:s;for(o=0;o<h;o+=4)t=i[e.charCodeAt(o)]<<18|i[e.charCodeAt(o+1)]<<12|i[e.charCodeAt(o+2)]<<6|i[e.charCodeAt(o+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===a&&(t=i[e.charCodeAt(o)]<<2|i[e.charCodeAt(o+1)]>>4,l[c++]=255&t);1===a&&(t=i[e.charCodeAt(o)]<<10|i[e.charCodeAt(o+1)]<<4|i[e.charCodeAt(o+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,r=[],s=0,a=o-i;s<a;s+=16383)r.push(c(e,s,s+16383>a?a:s+16383));1===i?(t=e[o-1],r.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],r.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=t),[o,o===t?0:4-o%4]}function c(e,t,o){for(var i,r,s=[],a=t;a<o;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(n[(r=i)>>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,o,n,i){var r,s,a=8*i-n-1,l=(1<<a)-1,u=l>>1,c=-7,h=o?i-1:0,d=o?-1:1,g=e[t+h];for(h+=d,r=g&(1<<-c)-1,g>>=-c,c+=a;c>0;r=256*r+e[t+h],h+=d,c-=8);for(s=r&(1<<-c)-1,r>>=-c,c+=n;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===r)r=1-u;else{if(r===l)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),r-=u}return(g?-1:1)*s*Math.pow(2,r-n)},t.write=function(e,t,o,n,i,r){var s,a,l,u=8*r-i-1,c=(1<<u)-1,h=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:r-1,p=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*l-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[o+g]=255&a,g+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[o+g]=255&s,g+=p,s/=256,u-=8);e[o+g-p]|=128*f}},function(e,t,o){e.exports=i;var n=o(212).EventEmitter;function i(){n.call(this)}o(147)(i,n),i.Readable=o(213),i.Writable=o(335),i.Duplex=o(336),i.Transform=o(337),i.PassThrough=o(338),i.Stream=i,i.prototype.pipe=function(e,t){var o=this;function i(t){e.writable&&!1===e.write(t)&&o.pause&&o.pause()}function r(){o.readable&&o.resume&&o.resume()}o.on("data",i),e.on("drain",r),e._isStdio||t&&!1===t.end||(o.on("end",a),o.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===n.listenerCount(this,"error"))throw e}function c(){o.removeListener("data",i),e.removeListener("drain",r),o.removeListener("end",a),o.removeListener("close",l),o.removeListener("error",u),e.removeListener("error",u),o.removeListener("end",c),o.removeListener("close",c),e.removeListener("close",c)}return o.on("error",u),e.on("error",u),o.on("end",c),o.on("close",c),e.on("close",c),e.emit("pipe",o),e}},function(e,t){},function(e,t,o){"use strict";var n=o(181).Buffer,i=o(331);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,o=""+t.data;t=t.next;)o+=e+t.data;return o},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,o,i,r=n.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,o=r,i=a,t.copy(o,i),a+=s.data.length,s=s.next;return r},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,o){(function(e,t){!function(e,o){"use strict";if(!e.setImmediate){var n,i,r,s,a,l=1,u={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,o=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=o,t}}()?e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){r.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),n=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o<t.length;o++)t[o]=arguments[o+1];var i={callback:e,args:t};return u[l]=i,n(l),l++},d.clearImmediate=g}function g(e){delete u[e]}function p(e){if(c)setTimeout(p,0,e);else{var t=u[e];if(t){c=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(o,n)}}(t)}finally{g(e),c=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,o(80),o(108))},function(e,t,o){(function(t){function o(e){try{if(!t.localStorage)return!1}catch(e){return!1}var o=t.localStorage[e];return null!=o&&"true"===String(o).toLowerCase()}e.exports=function(e,t){if(o("noDeprecation"))return e;var n=!1;return function(){if(!n){if(o("throwDeprecation"))throw new Error(t);o("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,o(80))},function(e,t,o){"use strict";e.exports=r;var n=o(271),i=o(167);function r(e){if(!(this instanceof r))return new r(e);n.call(this,e)}i.inherits=o(147),i.inherits(r,n),r.prototype._transform=function(e,t,o){o(null,e)}},function(e,t,o){e.exports=o(214)},function(e,t,o){e.exports=o(136)},function(e,t,o){e.exports=o(213).Transform},function(e,t,o){e.exports=o(213).PassThrough},function(e,t,o){"use strict";(function(t){e.exports="function"==typeof t?t:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";var n=o(341);function i(){}var r={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function u(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==i&&g(this,e)}function c(e,t,o){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof o&&(this.onRejected=o,this.callRejected=this.otherCallRejected)}function h(e,t,o){n((function(){var n;try{n=t(o)}catch(t){return r.reject(e,t)}n===e?r.reject(e,new TypeError("Cannot resolve promise with itself")):r.resolve(e,n)}))}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function g(e,t){var o=!1;function n(t){o||(o=!0,r.reject(e,t))}function i(t){o||(o=!0,r.resolve(e,t))}var s=p((function(){t(i,n)}));"error"===s.status&&n(s.value)}function p(e,t){var o={};try{o.value=e(t),o.status="success"}catch(e){o.status="error",o.value=e}return o}e.exports=u,u.prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then((function(o){return t.resolve(e()).then((function(){return o}))}),(function(o){return t.resolve(e()).then((function(){throw o}))}))},u.prototype.catch=function(e){return this.then(null,e)},u.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var o=new this.constructor(i);this.state!==l?h(o,this.state===a?e:t,this.outcome):this.queue.push(new c(o,e,t));return o},c.prototype.callFulfilled=function(e){r.resolve(this.promise,e)},c.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},c.prototype.callRejected=function(e){r.reject(this.promise,e)},c.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},r.resolve=function(e,t){var o=p(d,t);if("error"===o.status)return r.reject(e,o.value);var n=o.value;if(n)g(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},r.reject=function(e,t){e.state=s,e.outcome=t;for(var o=-1,n=e.queue.length;++o<n;)e.queue[o].callRejected(t);return e},u.resolve=function(e){if(e instanceof this)return e;return r.resolve(new this(i),e)},u.reject=function(e){var t=new this(i);return r.reject(t,e)},u.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var o=e.length,n=!1;if(!o)return this.resolve([]);var s=new Array(o),a=0,l=-1,u=new this(i);for(;++l<o;)c(e[l],l);return u;function c(e,i){t.resolve(e).then((function(e){s[i]=e,++a!==o||n||(n=!0,r.resolve(u,s))}),(function(e){n||(n=!0,r.reject(u,e))}))}},u.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var o=e.length,n=!1;if(!o)return this.resolve([]);var s=-1,a=new this(i);for(;++s<o;)l=e[s],t.resolve(l).then((function(e){n||(n=!0,r.resolve(a,e))}),(function(e){n||(n=!0,r.reject(a,e))}));var l;return a}},function(e,t,o){"use strict";(function(t){var o,n,i=t.MutationObserver||t.WebKitMutationObserver;if(i){var r=0,s=new i(c),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),o=function(){a.data=r=++r%2}}else if(t.setImmediate||void 0===t.MessageChannel)o="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){c(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(c,0)};else{var l=new t.MessageChannel;l.port1.onmessage=c,o=function(){l.port2.postMessage(0)}}var u=[];function c(){var e,t;n=!0;for(var o=u.length;o;){for(t=u,u=[],e=-1;++e<o;)t[e]();o=u.length}n=!1}e.exports=function(e){1!==u.push(e)||n||o()}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(100),i=o(64);function r(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(r,n),r.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},e.exports=r},function(e,t,o){"use strict";var n=o(266).Readable;function i(e,t,o){n.call(this,t),this._helper=e;var i=this;e.on("data",(function(e,t){i.push(e)||i._helper.pause(),o&&o(t)})).on("error",(function(e){i.emit("error",e)})).on("end",(function(){i.push(null)}))}o(64).inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},function(e,t,o){"use strict";var n=o(273),i=o(275),r=o(146),s=o(215),a=o(100),l=function(e,t,o){this.name=e,this.dir=o.dir,this.date=o.date,this.comment=o.comment,this.unixPermissions=o.unixPermissions,this.dosPermissions=o.dosPermissions,this._data=t,this._dataBinary=o.binary,this.options={compression:o.compression,compressionOptions:o.compressionOptions}};l.prototype={internalStream:function(e){var t=null,o="string";try{if(!e)throw new Error("No output type specified.");var i="string"===(o=e.toLowerCase())||"text"===o;"binarystring"!==o&&"text"!==o||(o="string"),t=this._decompressWorker();var s=!this._dataBinary;s&&!i&&(t=t.pipe(new r.Utf8EncodeWorker)),!s&&i&&(t=t.pipe(new r.Utf8DecodeWorker))}catch(e){(t=new a("error")).error(e)}return new n(t,o,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof s&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var o=this._decompressWorker();return this._dataBinary||(o=o.pipe(new r.Utf8EncodeWorker)),s.createWorkerFrom(o,e,t)},_decompressWorker:function(){return this._data instanceof s?this._data.getContentWorker():this._data instanceof a?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],c=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<u.length;h++)l.prototype[u[h]]=c;e.exports=l},function(e,t,o){"use strict";var n=o(278),i=o(356);t.generateWorker=function(e,t,o){var r=new i(t.streamFiles,o,t.platform,t.encodeFileName),s=0;try{e.forEach((function(e,o){s++;var i=function(e,t){var o=e||t,i=n[o];if(!i)throw new Error(o+" is not a valid compression method !");return i}(o.options.compression,t.compression),a=o.options.compressionOptions||t.compressionOptions||{},l=o.dir,u=o.date;o._compressWorker(i,a).withStreamInfo("file",{name:e,dir:l,date:u,comment:o.comment||"",unixPermissions:o.unixPermissions,dosPermissions:o.dosPermissions}).pipe(r)})),r.entriesCount=s}catch(e){r.error(e)}return r}},function(e,t,o){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=o(347),r=o(64),s=o(100),a=n?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}t.magic="\b\0",r.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(r.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},t.compressWorker=function(e){return new l("Deflate",e)},t.uncompressWorker=function(){return new l("Inflate",{})}},function(e,t,o){"use strict";var n={};(0,o(128).assign)(n,o(348),o(351),o(283)),e.exports=n},function(e,t,o){"use strict";var n=o(349),i=o(128),r=o(281),s=o(217),a=o(282),l=Object.prototype.toString,u=0,c=-1,h=0,d=8;function g(e){if(!(this instanceof g))return new g(e);this.options=i.assign({level:c,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var o=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(o!==u)throw new Error(s[o]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?r.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(o=n.deflateSetDictionary(this.strm,p))!==u)throw new Error(s[o]);this._dict_set=!0}}function p(e,t){var o=new g(t);if(o.push(e,!0),o.err)throw o.msg||s[o.err];return o.result}g.prototype.push=function(e,t){var o,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=r.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(o=n.deflate(a,s))&&o!==u)return this.onEnd(o),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==o);return 4===s?(o=n.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===u):2!==s||(this.onEnd(u),a.avail_out=0,!0)},g.prototype.onData=function(e){this.chunks.push(e)},g.prototype.onEnd=function(e){e===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=g,t.deflate=p,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},function(e,t,o){"use strict";var n,i=o(128),r=o(350),s=o(279),a=o(280),l=o(217),u=0,c=1,h=3,d=4,g=5,p=0,f=1,m=-2,_=-3,y=-5,v=-1,b=1,E=2,C=3,S=4,T=0,w=2,k=8,O=9,R=15,L=8,N=286,I=30,D=19,A=2*N+1,P=15,x=3,M=258,B=M+x+1,F=32,H=42,U=69,V=73,W=91,j=103,G=113,z=666,K=1,Y=2,X=3,q=4,$=3;function J(e,t){return e.msg=l[t],t}function Z(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,o=t.pending;o>e.avail_out&&(o=e.avail_out),0!==o&&(i.arraySet(e.output,t.pending_buf,t.pending_out,o,e.next_out),e.next_out+=o,t.pending_out+=o,e.total_out+=o,e.avail_out-=o,t.pending-=o,0===t.pending&&(t.pending_out=0))}function te(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function oe(e,t){e.pending_buf[e.pending++]=t}function ne(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var o,n,i=e.max_chain_length,r=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-B?e.strstart-(e.w_size-B):0,u=e.window,c=e.w_mask,h=e.prev,d=e.strstart+M,g=u[r+s-1],p=u[r+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(o=t)+s]===p&&u[o+s-1]===g&&u[o]===u[r]&&u[++o]===u[r+1]){r+=2,o++;do{}while(u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&r<d);if(n=M-(d-r),r=d-M,n>s){if(e.match_start=t,s=n,n>=a)break;g=u[r+s-1],p=u[r+s]}}}while((t=h[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead}function re(e){var t,o,n,r,l,u,c,h,d,g,p=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-B)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=o=e.hash_size;do{n=e.head[--t],e.head[t]=n>=p?n-p:0}while(--o);t=o=p;do{n=e.prev[--t],e.prev[t]=n>=p?n-p:0}while(--o);r+=p}if(0===e.strm.avail_in)break;if(u=e.strm,c=e.window,h=e.strstart+e.lookahead,d=r,g=void 0,(g=u.avail_in)>d&&(g=d),o=0===g?0:(u.avail_in-=g,i.arraySet(c,u.input,u.next_in,g,h),1===u.state.wrap?u.adler=s(u.adler,c,g,h):2===u.state.wrap&&(u.adler=a(u.adler,c,g,h)),u.next_in+=g,u.total_in+=g,g),e.lookahead+=o,e.lookahead+e.insert>=x)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+x-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<B&&0!==e.strm.avail_in)}function se(e,t){for(var o,n;;){if(e.lookahead<B){if(re(e),e.lookahead<B&&t===u)return K;if(0===e.lookahead)break}if(o=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==o&&e.strstart-o<=e.w_size-B&&(e.match_length=ie(e,o)),e.match_length>=x)if(n=r._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=e.strstart<x-1?e.strstart:x-1,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}function ae(e,t){for(var o,n,i;;){if(e.lookahead<B){if(re(e),e.lookahead<B&&t===u)return K;if(0===e.lookahead)break}if(o=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==o&&e.prev_length<e.max_lazy_match&&e.strstart-o<=e.w_size-B&&(e.match_length=ie(e,o),e.match_length<=5&&(e.strategy===b||e.match_length===x&&e.strstart-e.match_start>4096)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-x,n=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(te(e,!1),0===e.strm.avail_out))return K}else if(e.match_available){if((n=r._tr_tally(e,0,e.window[e.strstart-1]))&&te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return K}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=r._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}function le(e,t,o,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=o,this.max_chain=n,this.func=i}function ue(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=k,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*A),this.dyn_dtree=new i.Buf16(2*(2*I+1)),this.bl_tree=new i.Buf16(2*(2*D+1)),Q(this.dyn_ltree),Q(this.dyn_dtree),Q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(P+1),this.heap=new i.Buf16(2*N+1),Q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*N+1),Q(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ce(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=w,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?H:G,e.adler=2===t.wrap?0:1,t.last_flush=u,r._tr_init(t),p):J(e,m)}function he(e){var t,o=ce(e);return o===p&&((t=e.state).window_size=2*t.w_size,Q(t.head),t.max_lazy_match=n[t.level].max_lazy,t.good_match=n[t.level].good_length,t.nice_match=n[t.level].nice_length,t.max_chain_length=n[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=x-1,t.match_available=0,t.ins_h=0),o}function de(e,t,o,n,r,s){if(!e)return m;var a=1;if(t===v&&(t=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),r<1||r>O||o!==k||n<8||n>15||t<0||t>9||s<0||s>S)return J(e,m);8===n&&(n=9);var l=new ue;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+x-1)/x),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=o,he(e)}n=[new le(0,0,0,0,(function(e,t){var o=65535;for(o>e.pending_buf_size-5&&(o=e.pending_buf_size-5);;){if(e.lookahead<=1){if(re(e),0===e.lookahead&&t===u)return K;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+o;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,te(e,!1),0===e.strm.avail_out))return K;if(e.strstart-e.block_start>=e.w_size-B&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),K)})),new le(4,4,8,4,se),new le(4,5,16,8,se),new le(4,6,32,32,se),new le(4,4,16,16,ae),new le(8,16,32,32,ae),new le(8,16,128,128,ae),new le(8,32,128,256,ae),new le(32,128,258,1024,ae),new le(32,258,258,4096,ae)],t.deflateInit=function(e,t){return de(e,t,k,R,L,T)},t.deflateInit2=de,t.deflateReset=he,t.deflateResetKeep=ce,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var o,i,s,l;if(!e||!e.state||t>g||t<0)return e?J(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===z&&t!==d)return J(e,0===e.avail_out?y:m);if(i.strm=e,o=i.last_flush,i.last_flush=t,i.status===H)if(2===i.wrap)e.adler=0,oe(i,31),oe(i,139),oe(i,8),i.gzhead?(oe(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),oe(i,255&i.gzhead.time),oe(i,i.gzhead.time>>8&255),oe(i,i.gzhead.time>>16&255),oe(i,i.gzhead.time>>24&255),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(oe(i,255&i.gzhead.extra.length),oe(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,$),i.status=G);else{var _=k+(i.w_bits-8<<4)<<8;_|=(i.strategy>=E||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(_|=F),_+=31-_%31,i.status=G,ne(i,_),0!==i.strstart&&(ne(i,e.adler>>>16),ne(i,65535&e.adler)),e.adler=1}if(i.status===U)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending!==i.pending_buf_size));)oe(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=V)}else i.status=V;if(i.status===V)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,oe(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,oe(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=j)}else i.status=j;if(i.status===j&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(oe(i,255&e.adler),oe(i,e.adler>>8&255),e.adler=0,i.status=G)):i.status=G),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&Z(t)<=Z(o)&&t!==d)return J(e,y);if(i.status===z&&0!==e.avail_in)return J(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==z){var v=i.strategy===E?function(e,t){for(var o;;){if(0===e.lookahead&&(re(e),0===e.lookahead)){if(t===u)return K;break}if(e.match_length=0,o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):i.strategy===C?function(e,t){for(var o,n,i,s,a=e.window;;){if(e.lookahead<=M){if(re(e),e.lookahead<=M&&t===u)return K;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+M;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=M-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(o=r._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):n[i.level].func(i,t);if(v!==X&&v!==q||(i.status=z),v===K||v===X)return 0===e.avail_out&&(i.last_flush=-1),p;if(v===Y&&(t===c?r._tr_align(i):t!==g&&(r._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?f:(2===i.wrap?(oe(i,255&e.adler),oe(i,e.adler>>8&255),oe(i,e.adler>>16&255),oe(i,e.adler>>24&255),oe(i,255&e.total_in),oe(i,e.total_in>>8&255),oe(i,e.total_in>>16&255),oe(i,e.total_in>>24&255)):(ne(i,e.adler>>>16),ne(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:f)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==H&&t!==U&&t!==V&&t!==W&&t!==j&&t!==G&&t!==z?J(e,m):(e.state=null,t===G?J(e,_):p):m},t.deflateSetDictionary=function(e,t){var o,n,r,a,l,u,c,h,d=t.length;if(!e||!e.state)return m;if(2===(a=(o=e.state).wrap)||1===a&&o.status!==H||o.lookahead)return m;for(1===a&&(e.adler=s(e.adler,t,d,0)),o.wrap=0,d>=o.w_size&&(0===a&&(Q(o.head),o.strstart=0,o.block_start=0,o.insert=0),h=new i.Buf8(o.w_size),i.arraySet(h,t,d-o.w_size,o.w_size,0),t=h,d=o.w_size),l=e.avail_in,u=e.next_in,c=e.input,e.avail_in=d,e.next_in=0,e.input=t,re(o);o.lookahead>=x;){n=o.strstart,r=o.lookahead-(x-1);do{o.ins_h=(o.ins_h<<o.hash_shift^o.window[n+x-1])&o.hash_mask,o.prev[n&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=n,n++}while(--r);o.strstart=n,o.lookahead=x-1,re(o)}return o.strstart+=o.lookahead,o.block_start=o.strstart,o.insert=o.lookahead,o.lookahead=0,o.match_length=o.prev_length=x-1,o.match_available=0,e.next_in=u,e.input=c,e.avail_in=l,o.wrap=a,p},t.deflateInfo="pako deflate (from Nodeca project)"},function(e,t,o){"use strict";var n=o(128),i=4,r=0,s=1,a=2;function l(e){for(var t=e.length;--t>=0;)e[t]=0}var u=0,c=1,h=2,d=29,g=256,p=g+1+d,f=30,m=19,_=2*p+1,y=15,v=16,b=7,E=256,C=16,S=17,T=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],L=new Array(2*(p+2));l(L);var N=new Array(2*f);l(N);var I=new Array(512);l(I);var D=new Array(256);l(D);var A=new Array(d);l(A);var P,x,M,B=new Array(f);function F(e,t,o,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=o,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function H(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function U(e){return e<256?I[e]:I[256+(e>>>7)]}function V(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,o){e.bi_valid>v-o?(e.bi_buf|=t<<e.bi_valid&65535,V(e,e.bi_buf),e.bi_buf=t>>v-e.bi_valid,e.bi_valid+=o-v):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=o)}function j(e,t,o){W(e,o[2*t],o[2*t+1])}function G(e,t){var o=0;do{o|=1&e,e>>>=1,o<<=1}while(--t>0);return o>>>1}function z(e,t,o){var n,i,r=new Array(y+1),s=0;for(n=1;n<=y;n++)r[n]=s=s+o[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=G(r[a]++,a))}}function K(e){var t;for(t=0;t<p;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<m;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*E]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Y(e){e.bi_valid>8?V(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function X(e,t,o,n){var i=2*t,r=2*o;return e[i]<e[r]||e[i]===e[r]&&n[t]<=n[o]}function q(e,t,o){for(var n=e.heap[o],i=o<<1;i<=e.heap_len&&(i<e.heap_len&&X(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!X(t,n,e.heap[i],e.depth));)e.heap[o]=e.heap[i],o=i,i<<=1;e.heap[o]=n}function $(e,t,o){var n,i,r,s,a=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===n?j(e,i,t):(j(e,(r=D[i])+g+1,t),0!==(s=w[r])&&W(e,i-=A[r],s),j(e,r=U(--n),o),0!==(s=k[r])&&W(e,n-=B[r],s))}while(a<e.last_lit);j(e,E,t)}function J(e,t){var o,n,i,r=t.dyn_tree,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,o=0;o<l;o++)0!==r[2*o]?(e.heap[++e.heap_len]=u=o,e.depth[o]=0):r[2*o+1]=0;for(;e.heap_len<2;)r[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=s[2*i+1]);for(t.max_code=u,o=e.heap_len>>1;o>=1;o--)q(e,r,o);i=l;do{o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],q(e,r,1),n=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=n,r[2*i]=r[2*o]+r[2*n],e.depth[i]=(e.depth[o]>=e.depth[n]?e.depth[o]:e.depth[n])+1,r[2*o+1]=r[2*n+1]=i,e.heap[1]=i++,q(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var o,n,i,r,s,a,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,g=t.stat_desc.extra_base,p=t.stat_desc.max_length,f=0;for(r=0;r<=y;r++)e.bl_count[r]=0;for(l[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<_;o++)(r=l[2*l[2*(n=e.heap[o])+1]+1]+1)>p&&(r=p,f++),l[2*n+1]=r,n>u||(e.bl_count[r]++,s=0,n>=g&&(s=d[n-g]),a=l[2*n],e.opt_len+=a*(r+s),h&&(e.static_len+=a*(c[2*n+1]+s)));if(0!==f){do{for(r=p-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[p]--,f-=2}while(f>0);for(r=p;0!==r;r--)for(n=e.bl_count[r];0!==n;)(i=e.heap[--o])>u||(l[2*i+1]!==r&&(e.opt_len+=(r-l[2*i+1])*l[2*i],l[2*i+1]=r),n--)}}(e,t),z(r,u,e.bl_count)}function Z(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(o+1)+1]=65535,n=0;n<=o;n++)i=s,s=t[2*(n+1)+1],++a<l&&i===s||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==r&&e.bl_tree[2*i]++,e.bl_tree[2*C]++):a<=10?e.bl_tree[2*S]++:e.bl_tree[2*T]++,a=0,r=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4))}function Q(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),n=0;n<=o;n++)if(i=s,s=t[2*(n+1)+1],!(++a<l&&i===s)){if(a<u)do{j(e,i,e.bl_tree)}while(0!=--a);else 0!==i?(i!==r&&(j(e,i,e.bl_tree),a--),j(e,C,e.bl_tree),W(e,a-3,2)):a<=10?(j(e,S,e.bl_tree),W(e,a-3,3)):(j(e,T,e.bl_tree),W(e,a-11,7));a=0,r=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4)}}l(B);var ee=!1;function te(e,t,o,i){W(e,(u<<1)+(i?1:0),3),function(e,t,o,i){Y(e),i&&(V(e,o),V(e,~o)),n.arraySet(e.pending_buf,e.window,t,o,e.pending),e.pending+=o}(e,t,o,!0)}t._tr_init=function(e){ee||(!function(){var e,t,o,n,i,r=new Array(y+1);for(o=0,n=0;n<d-1;n++)for(A[n]=o,e=0;e<1<<w[n];e++)D[o++]=n;for(D[o-1]=n,i=0,n=0;n<16;n++)for(B[n]=i,e=0;e<1<<k[n];e++)I[i++]=n;for(i>>=7;n<f;n++)for(B[n]=i<<7,e=0;e<1<<k[n]-7;e++)I[256+i++]=n;for(t=0;t<=y;t++)r[t]=0;for(e=0;e<=143;)L[2*e+1]=8,e++,r[8]++;for(;e<=255;)L[2*e+1]=9,e++,r[9]++;for(;e<=279;)L[2*e+1]=7,e++,r[7]++;for(;e<=287;)L[2*e+1]=8,e++,r[8]++;for(z(L,p+1,r),e=0;e<f;e++)N[2*e+1]=5,N[2*e]=G(e,5);P=new F(L,w,g+1,p,y),x=new F(N,k,0,f,y),M=new F(new Array(0),O,0,m,b)}(),ee=!0),e.l_desc=new H(e.dyn_ltree,P),e.d_desc=new H(e.dyn_dtree,x),e.bl_desc=new H(e.bl_tree,M),e.bi_buf=0,e.bi_valid=0,K(e)},t._tr_stored_block=te,t._tr_flush_block=function(e,t,o,n){var l,u,d=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=function(e){var t,o=4093624447;for(t=0;t<=31;t++,o>>>=1)if(1&o&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t<g;t++)if(0!==e.dyn_ltree[2*t])return s;return r}(e)),J(e,e.l_desc),J(e,e.d_desc),d=function(e){var t;for(Z(e,e.dyn_ltree,e.l_desc.max_code),Z(e,e.dyn_dtree,e.d_desc.max_code),J(e,e.bl_desc),t=m-1;t>=3&&0===e.bl_tree[2*R[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(u=e.static_len+3+7>>>3)<=l&&(l=u)):l=u=o+5,o+4<=l&&-1!==t?te(e,t,o,n):e.strategy===i||u===l?(W(e,(c<<1)+(n?1:0),3),$(e,L,N)):(W(e,(h<<1)+(n?1:0),3),function(e,t,o,n){var i;for(W(e,t-257,5),W(e,o-1,5),W(e,n-4,4),i=0;i<n;i++)W(e,e.bl_tree[2*R[i]+1],3);Q(e,e.dyn_ltree,t-1),Q(e,e.dyn_dtree,o-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,d+1),$(e,e.dyn_ltree,e.dyn_dtree)),K(e),n&&Y(e)},t._tr_tally=function(e,t,o){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&o,e.last_lit++,0===t?e.dyn_ltree[2*o]++:(e.matches++,t--,e.dyn_ltree[2*(D[o]+g+1)]++,e.dyn_dtree[2*U(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){W(e,c<<1,3),j(e,E,L),function(e){16===e.bi_valid?(V(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,o){"use strict";var n=o(352),i=o(128),r=o(281),s=o(283),a=o(217),l=o(282),u=o(355),c=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var o=n.inflateInit2(this.strm,t.windowBits);if(o!==s.Z_OK)throw new Error(a[o]);if(this.header=new u,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=r.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(o=n.inflateSetDictionary(this.strm,t.dictionary))!==s.Z_OK))throw new Error(a[o])}function d(e,t){var o=new h(t);if(o.push(e,!0),o.err)throw o.msg||a[o.err];return o.result}h.prototype.push=function(e,t){var o,a,l,u,h,d=this.strm,g=this.options.chunkSize,p=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?d.input=r.binstring2buf(e):"[object ArrayBuffer]"===c.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(g),d.next_out=0,d.avail_out=g),(o=n.inflate(d,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&p&&(o=n.inflateSetDictionary(this.strm,p)),o===s.Z_BUF_ERROR&&!0===f&&(o=s.Z_OK,f=!1),o!==s.Z_STREAM_END&&o!==s.Z_OK)return this.onEnd(o),this.ended=!0,!1;d.next_out&&(0!==d.avail_out&&o!==s.Z_STREAM_END&&(0!==d.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=r.utf8border(d.output,d.next_out),u=d.next_out-l,h=r.buf2string(d.output,l),d.next_out=u,d.avail_out=g-u,u&&i.arraySet(d.output,d.output,l,u,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(f=!0)}while((d.avail_in>0||0===d.avail_out)&&o!==s.Z_STREAM_END);return o===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(o=n.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),d.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},function(e,t,o){"use strict";var n=o(128),i=o(279),r=o(280),s=o(353),a=o(354),l=0,u=1,c=2,h=4,d=5,g=6,p=0,f=1,m=2,_=-2,y=-3,v=-4,b=-5,E=8,C=1,S=2,T=3,w=4,k=5,O=6,R=7,L=8,N=9,I=10,D=11,A=12,P=13,x=14,M=15,B=16,F=17,H=18,U=19,V=20,W=21,j=22,G=23,z=24,K=25,Y=26,X=27,q=28,$=29,J=30,Z=31,Q=32,ee=852,te=592,oe=15;function ne(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function re(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=C,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(ee),t.distcode=t.distdyn=new n.Buf32(te),t.sane=1,t.back=-1,p):_}function se(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,re(e)):_}function ae(e,t){var o,n;return e&&e.state?(n=e.state,t<0?(o=0,t=-t):(o=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=o,n.wbits=t,se(e))):_}function le(e,t){var o,n;return e?(n=new ie,e.state=n,n.window=null,(o=ae(e,t))!==p&&(e.state=null),o):_}var ue,ce,he=!0;function de(e){if(he){var t;for(ue=new n.Buf32(512),ce=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(u,e.lens,0,288,ue,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,ce,0,e.work,{bits:5}),he=!1}e.lencode=ue,e.lenbits=9,e.distcode=ce,e.distbits=5}function ge(e,t,o,i){var r,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,t,o-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>i&&(r=i),n.arraySet(s.window,t,o-i,r,s.wnext),(i-=r)?(n.arraySet(s.window,t,o-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=r))),0}t.inflateReset=se,t.inflateReset2=ae,t.inflateResetKeep=re,t.inflateInit=function(e){return le(e,oe)},t.inflateInit2=le,t.inflate=function(e,t){var o,ee,te,oe,ie,re,se,ae,le,ue,ce,he,pe,fe,me,_e,ye,ve,be,Ee,Ce,Se,Te,we,ke=0,Oe=new n.Buf8(4),Re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return _;(o=e.state).mode===A&&(o.mode=P),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,ue=re,ce=se,Se=p;e:for(;;)switch(o.mode){case C:if(0===o.wrap){o.mode=P;break}for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(2&o.wrap&&35615===ae){o.check=0,Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0),ae=0,le=0,o.mode=S;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&ae)<<8)+(ae>>8))%31){e.msg="incorrect header check",o.mode=J;break}if((15&ae)!==E){e.msg="unknown compression method",o.mode=J;break}if(le-=4,Ce=8+(15&(ae>>>=4)),0===o.wbits)o.wbits=Ce;else if(Ce>o.wbits){e.msg="invalid window size",o.mode=J;break}o.dmax=1<<Ce,e.adler=o.check=1,o.mode=512&ae?I:A,ae=0,le=0;break;case S:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(o.flags=ae,(255&o.flags)!==E){e.msg="unknown compression method",o.mode=J;break}if(57344&o.flags){e.msg="unknown header flags set",o.mode=J;break}o.head&&(o.head.text=ae>>8&1),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=T;case T:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.head&&(o.head.time=ae),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,Oe[2]=ae>>>16&255,Oe[3]=ae>>>24&255,o.check=r(o.check,Oe,4,0)),ae=0,le=0,o.mode=w;case w:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.head&&(o.head.xflags=255&ae,o.head.os=ae>>8),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=k;case k:if(1024&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.length=ae,o.head&&(o.head.extra_len=ae),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0}else o.head&&(o.head.extra=null);o.mode=O;case O:if(1024&o.flags&&((he=o.length)>re&&(he=re),he&&(o.head&&(Ce=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),n.arraySet(o.head.extra,ee,oe,he,Ce)),512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,o.length-=he),o.length))break e;o.length=0,o.mode=R;case R:if(2048&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.name+=String.fromCharCode(Ce))}while(Ce&&he<re);if(512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,Ce)break e}else o.head&&(o.head.name=null);o.length=0,o.mode=L;case L:if(4096&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.comment+=String.fromCharCode(Ce))}while(Ce&&he<re);if(512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,Ce)break e}else o.head&&(o.head.comment=null);o.mode=N;case N:if(512&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae!==(65535&o.check)){e.msg="header crc mismatch",o.mode=J;break}ae=0,le=0}o.head&&(o.head.hcrc=o.flags>>9&1,o.head.done=!0),e.adler=o.check=0,o.mode=A;break;case I:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}e.adler=o.check=ne(ae),ae=0,le=0,o.mode=D;case D:if(0===o.havedict)return e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,m;e.adler=o.check=1,o.mode=A;case A:if(t===d||t===g)break e;case P:if(o.last){ae>>>=7&le,le-=7&le,o.mode=X;break}for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}switch(o.last=1&ae,le-=1,3&(ae>>>=1)){case 0:o.mode=x;break;case 1:if(de(o),o.mode=V,t===g){ae>>>=2,le-=2;break e}break;case 2:o.mode=F;break;case 3:e.msg="invalid block type",o.mode=J}ae>>>=2,le-=2;break;case x:for(ae>>>=7&le,le-=7&le;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if((65535&ae)!=(ae>>>16^65535)){e.msg="invalid stored block lengths",o.mode=J;break}if(o.length=65535&ae,ae=0,le=0,o.mode=M,t===g)break e;case M:o.mode=B;case B:if(he=o.length){if(he>re&&(he=re),he>se&&(he=se),0===he)break e;n.arraySet(te,ee,oe,he,ie),re-=he,oe+=he,se-=he,ie+=he,o.length-=he;break}o.mode=A;break;case F:for(;le<14;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(o.nlen=257+(31&ae),ae>>>=5,le-=5,o.ndist=1+(31&ae),ae>>>=5,le-=5,o.ncode=4+(15&ae),ae>>>=4,le-=4,o.nlen>286||o.ndist>30){e.msg="too many length or distance symbols",o.mode=J;break}o.have=0,o.mode=H;case H:for(;o.have<o.ncode;){for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.lens[Re[o.have++]]=7&ae,ae>>>=3,le-=3}for(;o.have<19;)o.lens[Re[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,Te={bits:o.lenbits},Se=a(l,o.lens,0,19,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid code lengths set",o.mode=J;break}o.have=0,o.mode=U;case U:for(;o.have<o.nlen+o.ndist;){for(;_e=(ke=o.lencode[ae&(1<<o.lenbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ye<16)ae>>>=me,le-=me,o.lens[o.have++]=ye;else{if(16===ye){for(we=me+2;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae>>>=me,le-=me,0===o.have){e.msg="invalid bit length repeat",o.mode=J;break}Ce=o.lens[o.have-1],he=3+(3&ae),ae>>>=2,le-=2}else if(17===ye){for(we=me+3;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}le-=me,Ce=0,he=3+(7&(ae>>>=me)),ae>>>=3,le-=3}else{for(we=me+7;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}le-=me,Ce=0,he=11+(127&(ae>>>=me)),ae>>>=7,le-=7}if(o.have+he>o.nlen+o.ndist){e.msg="invalid bit length repeat",o.mode=J;break}for(;he--;)o.lens[o.have++]=Ce}}if(o.mode===J)break;if(0===o.lens[256]){e.msg="invalid code -- missing end-of-block",o.mode=J;break}if(o.lenbits=9,Te={bits:o.lenbits},Se=a(u,o.lens,0,o.nlen,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid literal/lengths set",o.mode=J;break}if(o.distbits=6,o.distcode=o.distdyn,Te={bits:o.distbits},Se=a(c,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,Te),o.distbits=Te.bits,Se){e.msg="invalid distances set",o.mode=J;break}if(o.mode=V,t===g)break e;case V:o.mode=W;case W:if(re>=6&&se>=258){e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,s(e,ce),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,o.mode===A&&(o.back=-1);break}for(o.back=0;_e=(ke=o.lencode[ae&(1<<o.lenbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(_e&&0==(240&_e)){for(ve=me,be=_e,Ee=ye;_e=(ke=o.lencode[Ee+((ae&(1<<ve+be)-1)>>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}ae>>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,o.length=ye,0===_e){o.mode=Y;break}if(32&_e){o.back=-1,o.mode=A;break}if(64&_e){e.msg="invalid literal/length code",o.mode=J;break}o.extra=15&_e,o.mode=j;case j:if(o.extra){for(we=o.extra;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.length+=ae&(1<<o.extra)-1,ae>>>=o.extra,le-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=G;case G:for(;_e=(ke=o.distcode[ae&(1<<o.distbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(0==(240&_e)){for(ve=me,be=_e,Ee=ye;_e=(ke=o.distcode[Ee+((ae&(1<<ve+be)-1)>>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}ae>>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,64&_e){e.msg="invalid distance code",o.mode=J;break}o.offset=ye,o.extra=15&_e,o.mode=z;case z:if(o.extra){for(we=o.extra;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.offset+=ae&(1<<o.extra)-1,ae>>>=o.extra,le-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){e.msg="invalid distance too far back",o.mode=J;break}o.mode=K;case K:if(0===se)break e;if(he=ce-se,o.offset>he){if((he=o.offset-he)>o.whave&&o.sane){e.msg="invalid distance too far back",o.mode=J;break}he>o.wnext?(he-=o.wnext,pe=o.wsize-he):pe=o.wnext-he,he>o.length&&(he=o.length),fe=o.window}else fe=te,pe=ie-o.offset,he=o.length;he>se&&(he=se),se-=he,o.length-=he;do{te[ie++]=fe[pe++]}while(--he);0===o.length&&(o.mode=W);break;case Y:if(0===se)break e;te[ie++]=o.length,se--,o.mode=W;break;case X:if(o.wrap){for(;le<32;){if(0===re)break e;re--,ae|=ee[oe++]<<le,le+=8}if(ce-=se,e.total_out+=ce,o.total+=ce,ce&&(e.adler=o.check=o.flags?r(o.check,te,ce,ie-ce):i(o.check,te,ce,ie-ce)),ce=se,(o.flags?ae:ne(ae))!==o.check){e.msg="incorrect data check",o.mode=J;break}ae=0,le=0}o.mode=q;case q:if(o.wrap&&o.flags){for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae!==(4294967295&o.total)){e.msg="incorrect length check",o.mode=J;break}ae=0,le=0}o.mode=$;case $:Se=f;break e;case J:Se=y;break e;case Z:return v;case Q:default:return _}return e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,(o.wsize||ce!==e.avail_out&&o.mode<J&&(o.mode<X||t!==h))&&ge(e,e.output,e.next_out,ce-e.avail_out)?(o.mode=Z,v):(ue-=e.avail_in,ce-=e.avail_out,e.total_in+=ue,e.total_out+=ce,o.total+=ce,o.wrap&&ce&&(e.adler=o.check=o.flags?r(o.check,te,ce,e.next_out-ce):i(o.check,te,ce,e.next_out-ce)),e.data_type=o.bits+(o.last?64:0)+(o.mode===A?128:0)+(o.mode===V||o.mode===M?256:0),(0===ue&&0===ce||t===h)&&Se===p&&(Se=b),Se)},t.inflateEnd=function(e){if(!e||!e.state)return _;var t=e.state;return t.window&&(t.window=null),e.state=null,p},t.inflateGetHeader=function(e,t){var o;return e&&e.state?0==(2&(o=e.state).wrap)?_:(o.head=t,t.done=!1,p):_},t.inflateSetDictionary=function(e,t){var o,n=t.length;return e&&e.state?0!==(o=e.state).wrap&&o.mode!==D?_:o.mode===D&&i(1,t,n,0)!==o.check?y:ge(e,t,n,n)?(o.mode=Z,v):(o.havedict=1,p):_},t.inflateInfo="pako inflate (from Nodeca project)"},function(e,t,o){"use strict";e.exports=function(e,t){var o,n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E,C,S,T,w,k;o=e.state,n=e.next_in,w=e.input,i=n+(e.avail_in-5),r=e.next_out,k=e.output,s=r-(t-e.avail_out),a=r+(e.avail_out-257),l=o.dmax,u=o.wsize,c=o.whave,h=o.wnext,d=o.window,g=o.hold,p=o.bits,f=o.lencode,m=o.distcode,_=(1<<o.lenbits)-1,y=(1<<o.distbits)-1;e:do{p<15&&(g+=w[n++]<<p,p+=8,g+=w[n++]<<p,p+=8),v=f[g&_];t:for(;;){if(g>>>=b=v>>>24,p-=b,0===(b=v>>>16&255))k[r++]=65535&v;else{if(!(16&b)){if(0==(64&b)){v=f[(65535&v)+(g&(1<<b)-1)];continue t}if(32&b){o.mode=12;break e}e.msg="invalid literal/length code",o.mode=30;break e}E=65535&v,(b&=15)&&(p<b&&(g+=w[n++]<<p,p+=8),E+=g&(1<<b)-1,g>>>=b,p-=b),p<15&&(g+=w[n++]<<p,p+=8,g+=w[n++]<<p,p+=8),v=m[g&y];o:for(;;){if(g>>>=b=v>>>24,p-=b,!(16&(b=v>>>16&255))){if(0==(64&b)){v=m[(65535&v)+(g&(1<<b)-1)];continue o}e.msg="invalid distance code",o.mode=30;break e}if(C=65535&v,p<(b&=15)&&(g+=w[n++]<<p,(p+=8)<b&&(g+=w[n++]<<p,p+=8)),(C+=g&(1<<b)-1)>l){e.msg="invalid distance too far back",o.mode=30;break e}if(g>>>=b,p-=b,C>(b=r-s)){if((b=C-b)>c&&o.sane){e.msg="invalid distance too far back",o.mode=30;break e}if(S=0,T=d,0===h){if(S+=u-b,b<E){E-=b;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}}else if(h<b){if(S+=u+h-b,(b-=h)<E){E-=b;do{k[r++]=d[S++]}while(--b);if(S=0,h<E){E-=b=h;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}}}else if(S+=h-b,b<E){E-=b;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}for(;E>2;)k[r++]=T[S++],k[r++]=T[S++],k[r++]=T[S++],E-=3;E&&(k[r++]=T[S++],E>1&&(k[r++]=T[S++]))}else{S=r-C;do{k[r++]=k[S++],k[r++]=k[S++],k[r++]=k[S++],E-=3}while(E>2);E&&(k[r++]=k[S++],E>1&&(k[r++]=k[S++]))}break}}break}}while(n<i&&r<a);n-=E=p>>3,g&=(1<<(p-=E<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=r<a?a-r+257:257-(r-a),o.hold=g,o.bits=p}},function(e,t,o){"use strict";var n=o(128),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],r=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,o,l,u,c,h,d){var g,p,f,m,_,y,v,b,E,C=d.bits,S=0,T=0,w=0,k=0,O=0,R=0,L=0,N=0,I=0,D=0,A=null,P=0,x=new n.Buf16(16),M=new n.Buf16(16),B=null,F=0;for(S=0;S<=15;S++)x[S]=0;for(T=0;T<l;T++)x[t[o+T]]++;for(O=C,k=15;k>=1&&0===x[k];k--);if(O>k&&(O=k),0===k)return u[c++]=20971520,u[c++]=20971520,d.bits=1,0;for(w=1;w<k&&0===x[w];w++);for(O<w&&(O=w),N=1,S=1;S<=15;S++)if(N<<=1,(N-=x[S])<0)return-1;if(N>0&&(0===e||1!==k))return-1;for(M[1]=0,S=1;S<15;S++)M[S+1]=M[S]+x[S];for(T=0;T<l;T++)0!==t[o+T]&&(h[M[t[o+T]]++]=T);if(0===e?(A=B=h,y=19):1===e?(A=i,P-=257,B=r,F-=257,y=256):(A=s,B=a,y=-1),D=0,T=0,S=w,_=c,R=O,L=0,f=-1,m=(I=1<<O)-1,1===e&&I>852||2===e&&I>592)return 1;for(;;){v=S-L,h[T]<y?(b=0,E=h[T]):h[T]>y?(b=B[F+h[T]],E=A[P+h[T]]):(b=96,E=0),g=1<<S-L,w=p=1<<R;do{u[_+(D>>L)+(p-=g)]=v<<24|b<<16|E|0}while(0!==p);for(g=1<<S-1;D&g;)g>>=1;if(0!==g?(D&=g-1,D+=g):D=0,T++,0==--x[S]){if(S===k)break;S=t[o+h[T]]}if(S>O&&(D&m)!==f){for(0===L&&(L=O),_+=w,N=1<<(R=S-L);R+L<k&&!((N-=x[R+L])<=0);)R++,N<<=1;if(I+=1<<R,1===e&&I>852||2===e&&I>592)return 1;u[f=D&m]=O<<24|R<<16|_-c|0}}return 0!==D&&(u[_+D]=S-L<<24|64<<16|0),d.bits=O,0}},function(e,t,o){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,t,o){"use strict";var n=o(64),i=o(100),r=o(146),s=o(216),a=o(284),l=function(e,t){var o,n="";for(o=0;o<t;o++)n+=String.fromCharCode(255&e),e>>>=8;return n},u=function(e,t,o,i,u,c){var h,d,g=e.file,p=e.compression,f=c!==r.utf8encode,m=n.transformTo("string",c(g.name)),_=n.transformTo("string",r.utf8encode(g.name)),y=g.comment,v=n.transformTo("string",c(y)),b=n.transformTo("string",r.utf8encode(y)),E=_.length!==g.name.length,C=b.length!==y.length,S="",T="",w="",k=g.dir,O=g.date,R={crc32:0,compressedSize:0,uncompressedSize:0};t&&!o||(R.crc32=e.crc32,R.compressedSize=e.compressedSize,R.uncompressedSize=e.uncompressedSize);var L=0;t&&(L|=8),f||!E&&!C||(L|=2048);var N,I,D,A=0,P=0;k&&(A|=16),"UNIX"===u?(P=798,A|=(N=g.unixPermissions,I=k,D=N,N||(D=I?16893:33204),(65535&D)<<16)):(P=20,A|=63&(g.dosPermissions||0)),h=O.getUTCHours(),h<<=6,h|=O.getUTCMinutes(),h<<=5,h|=O.getUTCSeconds()/2,d=O.getUTCFullYear()-1980,d<<=4,d|=O.getUTCMonth()+1,d<<=5,d|=O.getUTCDate(),E&&(T=l(1,1)+l(s(m),4)+_,S+="up"+l(T.length,2)+T),C&&(w=l(1,1)+l(s(v),4)+b,S+="uc"+l(w.length,2)+w);var x="";return x+="\n\0",x+=l(L,2),x+=p.magic,x+=l(h,2),x+=l(d,2),x+=l(R.crc32,4),x+=l(R.compressedSize,4),x+=l(R.uncompressedSize,4),x+=l(m.length,2),x+=l(S.length,2),{fileRecord:a.LOCAL_FILE_HEADER+x+m+S,dirRecord:a.CENTRAL_FILE_HEADER+l(P,2)+x+l(v.length,2)+"\0\0\0\0"+l(A,4)+l(i,4)+m+S+v}},c=function(e){return a.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)};function h(e,t,o,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=o,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(h,i),h.prototype.push=function(e){var t=e.meta.percent||0,o=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:o?(t+100*(o-n-1))/o:100}}))},h.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var o=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:o.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,o=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),t)this.push({data:c(e),meta:{percent:100}});else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var o=this.bytesWritten-e,i=function(e,t,o,i,r){var s=n.transformTo("string",r(i));return a.CENTRAL_DIRECTORY_END+"\0\0\0\0"+l(e,2)+l(e,2)+l(t,4)+l(o,4)+l(s.length,2)+s}(this.dirRecords.length,o,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},h.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},h.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()})),e.on("error",(function(e){t.error(e)})),this},h.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},h.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var o=0;o<t.length;o++)try{t[o].error(e)}catch(e){}return!0},h.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},e.exports=h},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(r,i),r.prototype._bindStream=function(e){var t=this;this._stream=e,e.pause(),e.on("data",(function(e){t.push({data:e,meta:{percent:0}})})).on("error",(function(e){t.isPaused?this.generatedError=e:t.error(e)})).on("end",(function(){t.isPaused?t._upstreamEnded=!0:t.end()}))},r.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=r},function(e,t,o){"use strict";var n=o(64),i=o(168),r=o(146),s=(n=o(64),o(359)),a=o(277),l=o(182);function u(e){return new i.Promise((function(t,o){var n=e.decompressed.getContentWorker().pipe(new a);n.on("error",(function(e){o(e)})).on("end",(function(){n.streamInfo.crc32!==e.decompressed.crc32?o(new Error("Corrupted zip : CRC32 mismatch")):t()})).resume()}))}e.exports=function(e,t){var o=this;return t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:r.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var o=new s(t);return o.load(e),o})).then((function(e){var o=[i.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var r=0;r<n.length;r++)o.push(u(n[r]));return i.Promise.all(o)})).then((function(e){for(var n=e.shift(),i=n.files,r=0;r<i.length;r++){var s=i[r];o.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return n.zipComment.length&&(o.comment=n.zipComment),o}))}},function(e,t,o){"use strict";var n=o(285),i=o(64),r=o(284),s=o(362),a=(o(146),o(127));function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var o=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(o),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",o=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(o)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,o,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),o=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:o}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(r.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(r.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(r.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,r.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(r.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,r.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var o=this.centralDirOffset+this.centralDirSize;this.zip64&&(o+=20,o+=12+this.zip64EndOfCentralSize);var n=t-o;if(n>0)this.isSignature(t,r.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},function(e,t,o){"use strict";var n=o(287);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(288);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(285),i=o(64),r=o(215),s=o(216),a=o(146),l=o(278),u=o(127);function c(e,t){this.options=e,this.loadOptions=t}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,o;if(e.skip(22),this.fileNameLength=e.readInt(2),o=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(o),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new r(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,o,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index<i;)t=e.readInt(2),o=e.readInt(2),n=e.readData(o),this.extraFields[t]={id:t,length:o,value:n}},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var o=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(o)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var r=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(r)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},e.exports=c},function(e,t,o){"use strict";var n=o(218),i=o(149),r=o(220),s=o(290),a=o(291),l=i.ucs2length,u=o(219),c=r.Validation;function h(e,t,o){var n=g.call(this,e,t,o);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:o},{index:n,compiling:!1})}function d(e,t,o){var n=g.call(this,e,t,o);n>=0&&this._compilations.splice(n,1)}function g(e,t,o){for(var n=0;n<this._compilations.length;n++){var i=this._compilations[n];if(i.schema==e&&i.root==t&&i.baseId==o)return n}return-1}function p(e,t){return"var pattern"+e+" = new RegExp("+i.toQuotedString(t[e])+");"}function f(e){return"var default"+e+" = defaults["+e+"];"}function m(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function _(e){return"var customRule"+e+" = customRules["+e+"];"}function y(e,t){if(!e.length)return"";for(var o="",n=0;n<e.length;n++)o+=t(n,e);return o}e.exports=function e(t,o,g,v){var b=this,E=this._opts,C=[void 0],S={},T=[],w={},k=[],O={},R=[];o=o||{schema:t,refVal:C,refs:S};var L=h.call(this,t,o,v);var N=this._compilations[L.index];if(L.compiling)return N.callValidate=function e(){var t=N.validate;var o=t.apply(this,arguments);e.errors=t.errors;return o};var I=this._formats;var D=this.RULES;try{var A=x(t,o,g,v);N.validate=A;var P=N.callValidate;return P&&(P.schema=A.schema,P.errors=null,P.refs=A.refs,P.refVal=A.refVal,P.root=A.root,P.$async=A.$async,E.sourceCode&&(P.source=A.source)),A}finally{d.call(this,t,o,v)}function x(t,s,h,d){var g=!s||s&&s.schema==t;if(s.schema!=o.schema)return e.call(b,t,s,h,d);var v,w=!0===t.$async,O=a({isTop:!0,schema:t,isRoot:g,baseId:d,root:s,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:r.MissingRef,RULES:D,validate:a,util:i,resolve:n,resolveRef:M,usePattern:H,useDefault:U,useCustomRule:V,opts:E,formats:I,logger:b.logger,self:b});O=y(C,m)+y(T,p)+y(k,f)+y(R,_)+O,E.processCode&&(O=E.processCode(O));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",O)(b,D,I,o,C,k,R,u,l,c),C[0]=v}catch(e){throw b.logger.error("Error compiling schema, function code:",O),e}return v.schema=t,v.errors=null,v.refs=S,v.refVal=C,v.root=g?v:s,w&&(v.$async=!0),!0===E.sourceCode&&(v.source={code:O,patterns:T,defaults:k}),v}function M(t,i,r){i=n.url(t,i);var s,a,l=S[i];if(void 0!==l)return F(s=C[l],a="refVal["+l+"]");if(!r&&o.refs){var u=o.refs[i];if(void 0!==u)return F(s=o.refVal[u],a=B(i,s))}a=B(i);var c=n.call(b,x,o,i);if(void 0===c){var h=g&&g[i];h&&(c=n.inlineRef(h,E.inlineRefs)?h:e.call(b,h,o,g,t))}if(void 0!==c)return function(e,t){var o=S[e];C[o]=t}(i,c),F(c,a);!function(e){delete S[e]}(i)}function B(e,t){var o=C.length;return C[o]=t,S[e]=o,"refVal"+o}function F(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function H(e){var t=w[e];return void 0===t&&(t=w[e]=T.length,T[t]=e),"pattern"+t}function U(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(null===e)return"null";var t=s(e),o=O[t];return void 0===o&&(o=O[t]=k.length,k[o]=e),"default"+o}}function V(e,t,o,n){if(!1!==b._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(o,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var r=e.definition.validateSchema;if(r)if(!r(t)){var s="keyword schema is invalid: "+b.errorsText(r.errors);if("log"!=b._opts.validateSchema)throw new Error(s);b.logger.error(s)}}var a,l=e.definition.compile,u=e.definition.inline,c=e.definition.macro;if(l)a=l.call(b,t,o,n);else if(c)a=c.call(b,t,o,n),!1!==E.validateSchema&&b.validateSchema(a,!0);else if(u)a=u.call(b,n,e.keyword,t,o);else if(!(a=e.definition.validate))return;if(void 0===a)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=R.length;return R[h]=a,{code:"customRule"+h,validate:a}}}},function(e,t,o){
+var n=o(326),i=o(327),r=o(265);function s(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(s()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,o){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(e,t,o);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return h(this,e)}return u(this,e,t,o)}function u(e,t,o,n){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,o,n){if(t.byteLength,o<0||t.byteLength<o)throw new RangeError("'offset' is out of bounds");if(t.byteLength<o+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===o&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,o):new Uint8Array(t,o,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=d(e,t);return e}(e,t,o,n):"string"==typeof t?function(e,t,o){"string"==typeof o&&""!==o||(o="utf8");if(!l.isEncoding(o))throw new TypeError('"encoding" must be a valid string encoding');var n=0|p(t,o),i=(e=a(e,n)).write(t,o);i!==n&&(e=e.slice(0,i));return e}(e,t,o):function(e,t){if(l.isBuffer(t)){var o=0|g(t.length);return 0===(e=a(e,o)).length?e:(t.copy(e,0,0,o),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(n=t.length)!=n?a(e,0):d(e,t);if("Buffer"===t.type&&r(t.data))return d(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function h(e,t){if(c(t),e=a(e,t<0?0:0|g(t)),!l.TYPED_ARRAY_SUPPORT)for(var o=0;o<t;++o)e[o]=0;return e}function d(e,t){var o=t.length<0?0:0|g(t.length);e=a(e,o);for(var n=0;n<o;n+=1)e[n]=255&t[n];return e}function g(e){if(e>=s())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var o=e.length;if(0===o)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":case void 0:return V(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return W(e).length;default:if(n)return V(e).length;t=(""+t).toLowerCase(),n=!0}}function f(e,t,o){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return"";if((o>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return L(this,t,o);case"utf8":case"utf-8":return k(this,t,o);case"ascii":return R(this,t,o);case"latin1":case"binary":return N(this,t,o);case"base64":return w(this,t,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,o);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function m(e,t,o){var n=e[t];e[t]=e[o],e[o]=n}function _(e,t,o,n,i){if(0===e.length)return-1;if("string"==typeof o?(n=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,isNaN(o)&&(o=i?0:e.length-1),o<0&&(o=e.length+o),o>=e.length){if(i)return-1;o=e.length-1}else if(o<0){if(!i)return-1;o=0}if("string"==typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:y(e,t,o,n,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,o):Uint8Array.prototype.lastIndexOf.call(e,t,o):y(e,[t],o,n,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,o,n,i){var r,s=1,a=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;s=2,a/=2,l/=2,o/=2}function u(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(r=o;r<a;r++)if(u(e,r)===u(t,-1===c?0:r-c)){if(-1===c&&(c=r),r-c+1===l)return c*s}else-1!==c&&(r-=r-c),c=-1}else for(o+l>a&&(o=a-l),r=o;r>=0;r--){for(var h=!0,d=0;d<l;d++)if(u(e,r+d)!==u(t,d)){h=!1;break}if(h)return r}return-1}function v(e,t,o,n){o=Number(o)||0;var i=e.length-o;n?(n=Number(n))>i&&(n=i):n=i;var r=t.length;if(r%2!=0)throw new TypeError("Invalid hex string");n>r/2&&(n=r/2);for(var s=0;s<n;++s){var a=parseInt(t.substr(2*s,2),16);if(isNaN(a))return s;e[o+s]=a}return s}function b(e,t,o,n){return j(V(t,e.length-o),e,o,n)}function E(e,t,o,n){return j(function(e){for(var t=[],o=0;o<e.length;++o)t.push(255&e.charCodeAt(o));return t}(t),e,o,n)}function C(e,t,o,n){return E(e,t,o,n)}function S(e,t,o,n){return j(W(t),e,o,n)}function T(e,t,o,n){return j(function(e,t){for(var o,n,i,r=[],s=0;s<e.length&&!((t-=2)<0);++s)o=e.charCodeAt(s),n=o>>8,i=o%256,r.push(i),r.push(n);return r}(t,e.length-o),e,o,n)}function w(e,t,o){return 0===t&&o===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,o))}function k(e,t,o){o=Math.min(e.length,o);for(var n=[],i=t;i<o;){var r,s,a,l,u=e[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=o)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(r=e[i+1]))&&(l=(31&u)<<6|63&r)>127&&(c=l);break;case 3:r=e[i+1],s=e[i+2],128==(192&r)&&128==(192&s)&&(l=(15&u)<<12|(63&r)<<6|63&s)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:r=e[i+1],s=e[i+2],a=e[i+3],128==(192&r)&&128==(192&s)&&128==(192&a)&&(l=(15&u)<<18|(63&r)<<12|(63&s)<<6|63&a)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=h}return function(e){var t=e.length;if(t<=O)return String.fromCharCode.apply(String,e);var o="",n=0;for(;n<t;)o+=String.fromCharCode.apply(String,e.slice(n,n+=O));return o}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=s(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,o){return u(null,e,t,o)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,o){return function(e,t,o,n){return c(t),t<=0?a(e,t):void 0!==o?"string"==typeof n?a(e,t).fill(o,n):a(e,t).fill(o):a(e,t)}(null,e,t,o)},l.allocUnsafe=function(e){return h(null,e)},l.allocUnsafeSlow=function(e){return h(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var o=e.length,n=t.length,i=0,r=Math.min(o,n);i<r;++i)if(e[i]!==t[i]){o=e[i],n=t[i];break}return o<n?-1:n<o?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!r(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var o;if(void 0===t)for(t=0,o=0;o<e.length;++o)t+=e[o].length;var n=l.allocUnsafe(t),i=0;for(o=0;o<e.length;++o){var s=e[o];if(!l.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(n,i),i+=s.length}return n},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)m(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)m(this,t,t+3),m(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)m(this,t,t+7),m(this,t+1,t+6),m(this,t+2,t+5),m(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?k(this,0,e):f.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",o=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,o).match(/.{2}/g).join(" "),this.length>o&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,o,n,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===o&&(o=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||o>e.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&t>=o)return 0;if(n>=i)return-1;if(t>=o)return 1;if(this===e)return 0;for(var r=(i>>>=0)-(n>>>=0),s=(o>>>=0)-(t>>>=0),a=Math.min(r,s),u=this.slice(n,i),c=e.slice(t,o),h=0;h<a;++h)if(u[h]!==c[h]){r=u[h],s=c[h];break}return r<s?-1:s<r?1:0},l.prototype.includes=function(e,t,o){return-1!==this.indexOf(e,t,o)},l.prototype.indexOf=function(e,t,o){return _(this,e,t,o,!0)},l.prototype.lastIndexOf=function(e,t,o){return _(this,e,t,o,!1)},l.prototype.write=function(e,t,o,n){if(void 0===t)n="utf8",o=this.length,t=0;else if(void 0===o&&"string"==typeof t)n=t,o=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(o)?(o|=0,void 0===n&&(n="utf8")):(n=o,o=void 0)}var i=this.length-t;if((void 0===o||o>i)&&(o=i),e.length>0&&(o<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var r=!1;;)switch(n){case"hex":return v(this,e,t,o);case"utf8":case"utf-8":return b(this,e,t,o);case"ascii":return E(this,e,t,o);case"latin1":case"binary":return C(this,e,t,o);case"base64":return S(this,e,t,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,e,t,o);default:if(r)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),r=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function R(e,t,o){var n="";o=Math.min(e.length,o);for(var i=t;i<o;++i)n+=String.fromCharCode(127&e[i]);return n}function N(e,t,o){var n="";o=Math.min(e.length,o);for(var i=t;i<o;++i)n+=String.fromCharCode(e[i]);return n}function L(e,t,o){var n=e.length;(!t||t<0)&&(t=0),(!o||o<0||o>n)&&(o=n);for(var i="",r=t;r<o;++r)i+=U(e[r]);return i}function I(e,t,o){for(var n=e.slice(t,o),i="",r=0;r<n.length;r+=2)i+=String.fromCharCode(n[r]+256*n[r+1]);return i}function D(e,t,o){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>o)throw new RangeError("Trying to access beyond buffer length")}function A(e,t,o,n,i,r){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<r)throw new RangeError('"value" argument is out of bounds');if(o+n>e.length)throw new RangeError("Index out of range")}function P(e,t,o,n){t<0&&(t=65535+t+1);for(var i=0,r=Math.min(e.length-o,2);i<r;++i)e[o+i]=(t&255<<8*(n?i:1-i))>>>8*(n?i:1-i)}function M(e,t,o,n){t<0&&(t=4294967295+t+1);for(var i=0,r=Math.min(e.length-o,4);i<r;++i)e[o+i]=t>>>8*(n?i:3-i)&255}function x(e,t,o,n,i,r){if(o+n>e.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function B(e,t,o,n,r){return r||x(e,0,o,4),i.write(e,t,o,n,23,4),o+4}function F(e,t,o,n,r){return r||x(e,0,o,8),i.write(e,t,o,n,52,8),o+8}l.prototype.slice=function(e,t){var o,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,t)).__proto__=l.prototype;else{var i=t-e;o=new l(i,void 0);for(var r=0;r<i;++r)o[r]=this[r+e]}return o},l.prototype.readUIntLE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e],i=1,r=0;++r<t&&(i*=256);)n+=this[e+r]*i;return n},l.prototype.readUIntBE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},l.prototype.readUInt8=function(e,t){return t||D(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||D(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||D(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||D(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||D(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=this[e],i=1,r=0;++r<t&&(i*=256);)n+=this[e+r]*i;return n>=(i*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,o){e|=0,t|=0,o||D(e,t,this.length);for(var n=t,i=1,r=this[e+--n];n>0&&(i*=256);)r+=this[e+--n]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readInt8=function(e,t){return t||D(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||D(e,2,this.length);var o=this[e]|this[e+1]<<8;return 32768&o?4294901760|o:o},l.prototype.readInt16BE=function(e,t){t||D(e,2,this.length);var o=this[e+1]|this[e]<<8;return 32768&o?4294901760|o:o},l.prototype.readInt32LE=function(e,t){return t||D(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||D(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||D(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||D(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,o,n){(e=+e,t|=0,o|=0,n)||A(this,e,t,o,Math.pow(2,8*o)-1,0);var i=1,r=0;for(this[t]=255&e;++r<o&&(i*=256);)this[t+r]=e/i&255;return t+o},l.prototype.writeUIntBE=function(e,t,o,n){(e=+e,t|=0,o|=0,n)||A(this,e,t,o,Math.pow(2,8*o)-1,0);var i=o-1,r=1;for(this[t+i]=255&e;--i>=0&&(r*=256);)this[t+i]=e/r&255;return t+o},l.prototype.writeUInt8=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):M(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,o,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*o-1);A(this,e,t,o,i-1,-i)}var r=0,s=1,a=0;for(this[t]=255&e;++r<o&&(s*=256);)e<0&&0===a&&0!==this[t+r-1]&&(a=1),this[t+r]=(e/s>>0)-a&255;return t+o},l.prototype.writeIntBE=function(e,t,o,n){if(e=+e,t|=0,!n){var i=Math.pow(2,8*o-1);A(this,e,t,o,i-1,-i)}var r=o-1,s=1,a=0;for(this[t+r]=255&e;--r>=0&&(s*=256);)e<0&&0===a&&0!==this[t+r+1]&&(a=1),this[t+r]=(e/s>>0)-a&255;return t+o},l.prototype.writeInt8=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):M(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,o){return e=+e,t|=0,o||A(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):M(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,o){return B(this,e,t,!0,o)},l.prototype.writeFloatBE=function(e,t,o){return B(this,e,t,!1,o)},l.prototype.writeDoubleLE=function(e,t,o){return F(this,e,t,!0,o)},l.prototype.writeDoubleBE=function(e,t,o){return F(this,e,t,!1,o)},l.prototype.copy=function(e,t,o,n){if(o||(o=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<o&&(n=o),n===o)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-o&&(n=e.length-t+o);var i,r=n-o;if(this===e&&o<t&&t<n)for(i=r-1;i>=0;--i)e[i+t]=this[i+o];else if(r<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<r;++i)e[i+t]=this[i+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+r),t);return r},l.prototype.fill=function(e,t,o,n){if("string"==typeof e){if("string"==typeof t?(n=t,t=0,o=this.length):"string"==typeof o&&(n=o,o=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==n&&"string"!=typeof n)throw new TypeError("encoding must be a string");if("string"==typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<o)throw new RangeError("Out of range index");if(o<=t)return this;var r;if(t>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),"number"==typeof e)for(r=t;r<o;++r)this[r]=e;else{var s=l.isBuffer(e)?e:V(new l(e,n).toString()),a=s.length;for(r=0;r<o-t;++r)this[r+t]=s[r%a]}return this};var H=/[^+\/0-9A-Za-z-_]/g;function U(e){return e<16?"0"+e.toString(16):e.toString(16)}function V(e,t){var o;t=t||1/0;for(var n=e.length,i=null,r=[],s=0;s<n;++s){if((o=e.charCodeAt(s))>55295&&o<57344){if(!i){if(o>56319){(t-=3)>-1&&r.push(239,191,189);continue}if(s+1===n){(t-=3)>-1&&r.push(239,191,189);continue}i=o;continue}if(o<56320){(t-=3)>-1&&r.push(239,191,189),i=o;continue}o=65536+(i-55296<<10|o-56320)}else i&&(t-=3)>-1&&r.push(239,191,189);if(i=null,o<128){if((t-=1)<0)break;r.push(o)}else if(o<2048){if((t-=2)<0)break;r.push(o>>6|192,63&o|128)}else if(o<65536){if((t-=3)<0)break;r.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;r.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return r}function W(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(H,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function j(e,t,o,n){for(var i=0;i<n&&!(i+o>=t.length||i>=e.length);++i)t[i+o]=e[i];return i}}).call(this,o(80))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(101),i=o(242);t.Disposable=i.Disposable,t.CancellationToken=i.CancellationToken,t.Event=i.Event,t.Emitter=i.Emitter,function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101)),function(e){var t=window,o=Symbol("Services");e.get=function(){var e=t[o];if(!e)throw new Error("Language Client services has not been installed");return e},e.install=function(e){t[o]&&console.error(new Error("Language Client services has been overriden")),t[o]=e}}(t.Services||(t.Services={})),t.isDocumentSelector=function(e){return!(!e||!Array.isArray(e))&&e.every((function(e){return"string"==typeof e||n.DocumentFilter.is(e)}))},function(e){e.is=function(e){return!!e&&"uri"in e&&"languageId"in e}}(t.DocumentIdentifier||(t.DocumentIdentifier={})),function(e){e[e.Global=1]="Global",e[e.Workspace=2]="Workspace",e[e.WorkspaceFolder=3]="WorkspaceFolder"}(t.ConfigurationTarget||(t.ConfigurationTarget={}))},function(e,t,o){"use strict";(function(e){function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});const i=o(171),r=o(504);t.RequestType=r.RequestType,t.RequestType0=r.RequestType0,t.RequestType1=r.RequestType1,t.RequestType2=r.RequestType2,t.RequestType3=r.RequestType3,t.RequestType4=r.RequestType4,t.RequestType5=r.RequestType5,t.RequestType6=r.RequestType6,t.RequestType7=r.RequestType7,t.RequestType8=r.RequestType8,t.RequestType9=r.RequestType9,t.ResponseError=r.ResponseError,t.ErrorCodes=r.ErrorCodes,t.NotificationType=r.NotificationType,t.NotificationType0=r.NotificationType0,t.NotificationType1=r.NotificationType1,t.NotificationType2=r.NotificationType2,t.NotificationType3=r.NotificationType3,t.NotificationType4=r.NotificationType4,t.NotificationType5=r.NotificationType5,t.NotificationType6=r.NotificationType6,t.NotificationType7=r.NotificationType7,t.NotificationType8=r.NotificationType8,t.NotificationType9=r.NotificationType9;const s=o(243);t.MessageReader=s.MessageReader,t.StreamMessageReader=s.StreamMessageReader,t.IPCMessageReader=s.IPCMessageReader,t.SocketMessageReader=s.SocketMessageReader;const a=o(244);t.MessageWriter=a.MessageWriter,t.StreamMessageWriter=a.StreamMessageWriter,t.IPCMessageWriter=a.IPCMessageWriter,t.SocketMessageWriter=a.SocketMessageWriter;const l=o(186);t.Disposable=l.Disposable,t.Event=l.Event,t.Emitter=l.Emitter;const u=o(505);t.CancellationTokenSource=u.CancellationTokenSource,t.CancellationToken=u.CancellationToken;const c=o(506);var h,d,g,p,f,m,_;n(o(507)),n(o(508)),function(e){e.type=new r.NotificationType("$/cancelRequest")}(h||(h={})),t.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(d=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(d=t.Trace||(t.Trace={})),function(e){e.Text="text",e.JSON="json"}(g=t.TraceFormat||(t.TraceFormat={})),function(e){e.fromString=function(t){return"json"===(t=t.toLowerCase())?e.JSON:e.Text}}(g=t.TraceFormat||(t.TraceFormat={})),function(e){e.type=new r.NotificationType("$/setTraceNotification")}(p=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new r.NotificationType("$/logTraceNotification")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));class y extends Error{constructor(e,t){super(t),this.code=e,Object.setPrototypeOf(this,y.prototype)}}function v(t,o,n,s){let a=0,v=0,b=0;const E="2.0";let C,S,T=void 0,w=Object.create(null),k=void 0,O=Object.create(null),R=new c.LinkedMap,N=Object.create(null),L=Object.create(null),I=d.Off,D=g.Text,A=_.New,P=new l.Emitter,M=new l.Emitter,x=new l.Emitter,B=new l.Emitter;function F(e){return"req-"+e.toString()}function H(e,t){var o;r.isRequestMessage(t)?e.set(F(t.id),t):r.isResponseMessage(t)?e.set(null===(o=t.id)?"res-unknown-"+(++b).toString():"res-"+o.toString(),t):e.set("not-"+(++v).toString(),t)}function U(e){}function V(){return A===_.Listening}function W(){return A===_.Closed}function j(){return A===_.Disposed}function G(){A!==_.New&&A!==_.Listening||(A=_.Closed,M.fire(void 0))}function z(){C||0===R.size||(C=e(()=>{C=void 0,function(){if(0===R.size)return;let e=R.shift();try{r.isRequestMessage(e)?function(e){if(j())return;function t(t,n,i){let s={jsonrpc:E,id:e.id};t instanceof r.ResponseError?s.error=t.toJson():s.result=void 0===t?null:t,Y(s,n,i),o.write(s)}function n(t,n,i){let r={jsonrpc:E,id:e.id,error:t.toJson()};Y(r,n,i),o.write(r)}!function(e){if(I===d.Off||!S)return;if(D===g.Text){let t=void 0;I===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),S.log(`Received request '${e.method} - (${e.id})'.`,t)}else X("receive-request",e)}(e);let s,a,l=w[e.method];l&&(s=l.type,a=l.handler);let c=Date.now();if(a||T){let l=new u.CancellationTokenSource,h=String(e.id);L[h]=l;try{let u,d=u=void 0===e.params||void 0!==s&&0===s.numberOfParams?a?a(l.token):T(e.method,l.token):i.array(e.params)&&(void 0===s||s.numberOfParams>1)?a?a(...e.params,l.token):T(e.method,...e.params,l.token):a?a(e.params,l.token):T(e.method,e.params,l.token);u?d.then?d.then(o=>{delete L[h],t(o,e.method,c)},t=>{delete L[h],t instanceof r.ResponseError?n(t,e.method,c):t&&i.string(t.message)?n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${t.message}`),e.method,c):n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}):(delete L[h],t(u,e.method,c)):(delete L[h],function(t,n,i){void 0===t&&(t=null);let r={jsonrpc:E,id:e.id,result:t};Y(r,n,i),o.write(r)}(u,e.method,c))}catch(o){delete L[h],o instanceof r.ResponseError?t(o,e.method,c):o&&i.string(o.message)?n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed with message: ${o.message}`),e.method,c):n(new r.ResponseError(r.ErrorCodes.InternalError,`Request ${e.method} failed unexpectedly without providing any details.`),e.method,c)}}else n(new r.ResponseError(r.ErrorCodes.MethodNotFound,`Unhandled method ${e.method}`),e.method,c)}(e):r.isNotificationMessage(e)?function(e){if(j())return;let t,o=void 0;if(e.method===h.type.method)t=e=>{let t=e.id,o=L[String(t)];o&&o.cancel()};else{let n=O[e.method];n&&(t=n.handler,o=n.type)}if(t||k)try{!function(e){if(I===d.Off||!S||e.method===f.type.method)return;if(D===g.Text){let t=void 0;I===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),S.log(`Received notification '${e.method}'.`,t)}else X("receive-notification",e)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():k(e.method):i.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t(...e.params):k(e.method,...e.params):t?t(e.params):k(e.method,e.params)}catch(t){t.message?n.error(`Notification handler '${e.method}' failed with message: ${t.message}`):n.error(`Notification handler '${e.method}' failed unexpectedly.`)}else x.fire(e)}(e):r.isResponseMessage(e)?function(e){if(j())return;if(null===e.id)e.error?n.error(`Received response message without id: Error is: \n${JSON.stringify(e.error,void 0,4)}`):n.error("Received response message without id. No further error information provided.");else{let t=String(e.id),o=N[t];if(function(e,t){if(I===d.Off||!S)return;if(D===g.Text){let o=void 0;if(I===d.Verbose&&(e.error&&e.error.data?o=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?o=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(o="No result returned.\n\n")),t){let n=e.error?` Request failed: ${e.error.message} (${e.error.code}).`:"";S.log(`Received response '${t.method} - (${e.id})' in ${Date.now()-t.timerStart}ms.${n}`,o)}else S.log(`Received response ${e.id} without active response promise.`,o)}else X("receive-response",e)}(e,o),o){delete N[t];try{if(e.error){let t=e.error;o.reject(new r.ResponseError(t.code,t.message,t.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(e){e.message?n.error(`Response handler '${o.method}' failed with message: ${e.message}`):n.error(`Response handler '${o.method}' failed unexpectedly.`)}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(e,null,4)}`);let t=e;if(i.string(t.id)||i.number(t.id)){let e=String(t.id),o=N[e];o&&o.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{z()}}()}))}t.onClose(G),t.onError((function(e){P.fire([e,void 0,void 0])})),o.onClose(G),o.onError((function(e){P.fire(e)}));let K=e=>{try{if(r.isNotificationMessage(e)&&e.method===h.type.method){let t=F(e.params.id),n=R.get(t);if(r.isRequestMessage(n)){let i=s&&s.cancelUndispatched?s.cancelUndispatched(n,U):void 0;if(i&&(void 0!==i.error||void 0!==i.result))return R.delete(t),i.id=n.id,Y(i,e.method,Date.now()),void o.write(i)}}H(R,e)}finally{z()}};function Y(e,t,o){if(I!==d.Off&&S)if(D===g.Text){let n=void 0;I===d.Verbose&&(e.error&&e.error.data?n=`Error data: ${JSON.stringify(e.error.data,null,4)}\n\n`:e.result?n=`Result: ${JSON.stringify(e.result,null,4)}\n\n`:void 0===e.error&&(n="No result returned.\n\n")),S.log(`Sending response '${t} - (${e.id})'. Processing request took ${Date.now()-o}ms`,n)}else X("send-response",e)}function X(e,t){if(!S||I===d.Off)return;const o={isLSPMessage:!0,type:e,message:t,timestamp:Date.now()};S.log(o)}function q(){if(W())throw new y(m.Closed,"Connection is closed.");if(j())throw new y(m.Disposed,"Connection is disposed.")}function $(e){return void 0===e?null:e}function J(e,t){let o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(let e=0;e<t.length&&e<n;e++)o.push($(t[e]));if(t.length<n)for(let e=t.length;e<n;e++)o.push(null)}return o}let Z={sendNotification:(e,...t)=>{let n,r;if(q(),i.string(e))switch(n=e,t.length){case 0:r=null;break;case 1:r=t[0];break;default:r=t}else n=e.method,r=J(e,t);let s={jsonrpc:E,method:n,params:r};!function(e){if(I!==d.Off&&S)if(D===g.Text){let t=void 0;I===d.Verbose&&(t=e.params?`Params: ${JSON.stringify(e.params,null,4)}\n\n`:"No parameters provided.\n\n"),S.log(`Sending notification '${e.method}'.`,t)}else X("send-notification",e)}(s),o.write(s)},onNotification:(e,t)=>{q(),i.func(e)?k=e:t&&(i.string(e)?O[e]={type:void 0,handler:t}:O[e.method]={type:e,handler:t})},sendRequest:(e,...t)=>{let n,s;q(),function(){if(!V())throw new Error("Call listen() first.")}();let l=void 0;if(i.string(e))switch(n=e,t.length){case 0:s=null;break;case 1:u.CancellationToken.is(t[0])?(s=null,l=t[0]):s=$(t[0]);break;default:const e=t.length-1;u.CancellationToken.is(t[e])?(l=t[e],s=2===t.length?$(t[0]):t.slice(0,e).map(e=>$(e))):s=t.map(e=>$(e))}else{n=e.method,s=J(e,t);let o=e.numberOfParams;l=u.CancellationToken.is(t[o])?t[o]:void 0}let c=a++,p=new Promise((e,t)=>{let i={jsonrpc:E,id:c,method:n,params:s},a={method:n,timerStart:Date.now(),resolve:e,reject:t};!function(e){if(I!==d.Off&&S)if(D===g.Text){let t=void 0;I===d.Verbose&&e.params&&(t=`Params: ${JSON.stringify(e.params,null,4)}\n\n`),S.log(`Sending request '${e.method} - (${e.id})'.`,t)}else X("send-request",e)}(i);try{o.write(i)}catch(e){a.reject(new r.ResponseError(r.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),a=null}a&&(N[String(c)]=a)});return l&&l.onCancellationRequested(()=>{Z.sendNotification(h.type,{id:c})}),p},onRequest:(e,t)=>{q(),i.func(e)?T=e:t&&(i.string(e)?w[e]={type:void 0,handler:t}:w[e.method]={type:e,handler:t})},trace:(e,t,o)=>{let n=!1,r=g.Text;void 0!==o&&(i.boolean(o)?n=o:(n=o.sendNotification||!1,r=o.traceFormat||g.Text)),D=r,S=(I=e)===d.Off?void 0:t,!n||W()||j()||Z.sendNotification(p.type,{value:d.toString(e)})},onError:P.event,onClose:M.event,onUnhandledNotification:x.event,onDispose:B.event,dispose:()=>{if(j())return;A=_.Disposed,B.fire(void 0);let e=new Error("Connection got disposed.");Object.keys(N).forEach(t=>{N[t].reject(e)}),N=Object.create(null),L=Object.create(null),R=new c.LinkedMap,i.func(o.dispose)&&o.dispose(),i.func(t.dispose)&&t.dispose()},listen:()=>{q(),function(){if(V())throw new y(m.AlreadyListening,"Connection is already listening")}(),A=_.Listening,t.listen(K)},inspect:()=>{console.log("inspect")}};return Z.onNotification(f.type,e=>{I!==d.Off&&S&&S.log(e.message,I===d.Verbose?e.verbose:void 0)}),Z}t.ConnectionError=y,function(e){e.is=function(e){let t=e;return t&&i.func(t.cancelUndispatched)}}(t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(_||(_={})),t.createMessageConnection=function(e,o,n,i){var r;return n||(n=t.NullLogger),v(void 0!==(r=e).listen&&void 0===r.read?e:new s.StreamMessageReader(e),function(e){return void 0!==e.write&&void 0===e.end}(o)?o:new a.StreamMessageWriter(o),n,i)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return a}));var n=o(8),i=function(){function e(e,t,o,n){this.startColumn=e,this.endColumn=t,this.className=o,this.type=n}return e._equals=function(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type},e.equalsArr=function(t,o){var n=t.length;if(n!==o.length)return!1;for(var i=0;i<n;i++)if(!e._equals(t[i],o[i]))return!1;return!0},e.filter=function(t,o,n,i){if(0===t.length)return[];for(var r=[],s=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.range;if(!(c.endLineNumber<o||c.startLineNumber>o)&&(!c.isEmpty()||0!==u.type&&3!==u.type)){var h=c.startLineNumber===o?c.startColumn:n,d=c.endLineNumber===o?c.endColumn:i;r[s++]=new e(h,d,u.inlineClassName,u.type)}}return r},e.compare=function(e,t){return e.startColumn===t.startColumn?e.endColumn===t.endColumn?e.className<t.className?-1:e.className>t.className?1:0:e.endColumn-t.endColumn:e.startColumn-t.startColumn},e}(),r=function(e,t,o){this.startOffset=e,this.endOffset=t,this.className=o},s=function(){function e(){this.stopOffsets=[],this.classNames=[],this.count=0}return e.prototype.consumeLowerThan=function(e,t,o){for(;this.count>0&&this.stopOffsets[0]<e;){for(var n=0;n+1<this.count&&this.stopOffsets[n]===this.stopOffsets[n+1];)n++;o.push(new r(t,this.stopOffsets[n],this.classNames.join(" "))),t=this.stopOffsets[n]+1,this.stopOffsets.splice(0,n+1),this.classNames.splice(0,n+1),this.count-=n+1}return this.count>0&&t<e&&(o.push(new r(t,e-1,this.classNames.join(" "))),t=e),t},e.prototype.insert=function(e,t){if(0===this.count||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t);else for(var o=0;o<this.count;o++)if(this.stopOffsets[o]>=e){this.stopOffsets.splice(o,0,e),this.classNames.splice(o,0,t);break}this.count++},e}(),a=function(){function e(){}return e.normalize=function(e,t){if(0===t.length)return[];for(var o=[],i=new s,r=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.startColumn,h=u.endColumn,d=u.className;if(c>1){var g=e.charCodeAt(c-2);n.isHighSurrogate(g)&&c--}if(h>1){g=e.charCodeAt(h-2);n.isHighSurrogate(g)&&h--}var p=c-1,f=h-2;r=i.consumeLowerThan(p,r,o),0===i.count&&(r=p),i.insert(f,d)}return i.consumeLowerThan(1073741824,r,o),o},e}()},function(e,t,o){"use strict";var n=o(0),i=o(10),r=o(204),s=o(74),a=o(125),l=o(1),u=(o(473),o(30)),c=o(179),h=l.a,d=function(){function e(e,t){this.os=t,this.domNode=l.k(e,h(".monaco-keybinding")),this.didEverRender=!1,e.appendChild(this.domNode)}return e.prototype.set=function(t,o){this.didEverRender&&this.keybinding===t&&e.areSame(this.matches,o)||(this.keybinding=t,this.matches=o,this.render())},e.prototype.render=function(){if(l.l(this.domNode),this.keybinding){var e=this.keybinding.getParts(),t=e[0],o=e[1];t&&this.renderPart(this.domNode,t,this.matches?this.matches.firstPart:null),o&&(l.k(this.domNode,h("span.monaco-keybinding-key-chord-separator",null," ")),this.renderPart(this.domNode,o,this.matches?this.matches.chordPart:null)),this.domNode.title=this.keybinding.getAriaLabel()}this.didEverRender=!0},e.prototype.renderPart=function(e,t,o){var n=c.b.modifierLabels[this.os];t.ctrlKey&&this.renderKey(e,n.ctrlKey,o&&o.ctrlKey,n.separator),t.shiftKey&&this.renderKey(e,n.shiftKey,o&&o.shiftKey,n.separator),t.altKey&&this.renderKey(e,n.altKey,o&&o.altKey,n.separator),t.metaKey&&this.renderKey(e,n.metaKey,o&&o.metaKey,n.separator);var i=t.keyLabel;i&&this.renderKey(e,i,o&&o.keyCode,"")},e.prototype.renderKey=function(e,t,o,n){l.k(e,h("span.monaco-keybinding-key"+(o?".highlight":""),null,t)),n&&l.k(e,h("span.monaco-keybinding-key-separator",null,n))},e.prototype.dispose=function(){this.keybinding=null},e.areSame=function(e,t){return e===t||!e&&!t||!!e&&!!t&&Object(u.e)(e.firstPart,t.firstPart)&&Object(u.e)(e.chordPart,t.chordPart)},e}(),g=o(15);o.d(t,"a",(function(){return _})),o.d(t,"b",(function(){return y})),o.d(t,"c",(function(){return E}));var p,f=(p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}p(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=0,_=function(){function e(e){void 0===e&&(e=[]),this.id=(m++).toString(),this.labelHighlights=e,this.descriptionHighlights=[]}return e.prototype.getId=function(){return this.id},e.prototype.getLabel=function(){return null},e.prototype.getLabelOptions=function(){return null},e.prototype.getAriaLabel=function(){return[this.getLabel(),this.getDescription(),this.getDetail()].filter((function(e){return!!e})).join(", ")},e.prototype.getDetail=function(){return null},e.prototype.getIcon=function(){return null},e.prototype.getDescription=function(){return null},e.prototype.getTooltip=function(){return null},e.prototype.getDescriptionTooltip=function(){return null},e.prototype.getKeybinding=function(){return null},e.prototype.isHidden=function(){return this.hidden},e.prototype.setHighlights=function(e,t,o){this.labelHighlights=e,this.descriptionHighlights=t,this.detailHighlights=o},e.prototype.getHighlights=function(){return[this.labelHighlights,this.descriptionHighlights,this.detailHighlights]},e.prototype.run=function(e,t){return!1},e}(),y=function(e){function t(t,o,n){var i=e.call(this)||this;return i.entry=t,i.groupLabel=o,i.withBorder=n,i}return f(t,e),t.prototype.getGroupLabel=function(){return this.groupLabel},t.prototype.setGroupLabel=function(e){this.groupLabel=e},t.prototype.showBorder=function(){return this.withBorder},t.prototype.setShowBorder=function(e){this.withBorder=e},t.prototype.getLabel=function(){return this.entry?this.entry.getLabel():e.prototype.getLabel.call(this)},t.prototype.getLabelOptions=function(){return this.entry?this.entry.getLabelOptions():e.prototype.getLabelOptions.call(this)},t.prototype.getAriaLabel=function(){return this.entry?this.entry.getAriaLabel():e.prototype.getAriaLabel.call(this)},t.prototype.getDetail=function(){return this.entry?this.entry.getDetail():e.prototype.getDetail.call(this)},t.prototype.getIcon=function(){return this.entry?this.entry.getIcon():e.prototype.getIcon.call(this)},t.prototype.getDescription=function(){return this.entry?this.entry.getDescription():e.prototype.getDescription.call(this)},t.prototype.getHighlights=function(){return this.entry?this.entry.getHighlights():e.prototype.getHighlights.call(this)},t.prototype.isHidden=function(){return this.entry?this.entry.isHidden():e.prototype.isHidden.call(this)},t.prototype.setHighlights=function(t,o,n){this.entry?this.entry.setHighlights(t,o,n):e.prototype.setHighlights.call(this,t,o,n)},t.prototype.run=function(t,o){return this.entry?this.entry.run(t,o):e.prototype.run.call(this,t,o)},t}(_),v=function(){function e(){}return e.prototype.hasActions=function(e,t){return!1},e.prototype.getActions=function(e,t){return i.b.as(null)},e}(),b=function(){function e(e,t){void 0===e&&(e=new v),void 0===t&&(t=null),this.actionProvider=e,this.actionRunner=t}return e.prototype.getHeight=function(e){return e.getDetail()?44:22},e.prototype.getTemplateId=function(e){return e instanceof y?"quickOpenEntryGroup":"quickOpenEntry"},e.prototype.renderTemplate=function(e,t,o){var n=document.createElement("div");l.f(n,"sub-content"),t.appendChild(n);var i=l.a(".quick-open-row"),u=l.a(".quick-open-row"),c=l.a(".quick-open-entry",null,i,u);n.appendChild(c);var h=document.createElement("span");i.appendChild(h);var p=new r.b(i,{supportHighlights:!0,supportDescriptionHighlights:!0}),f=document.createElement("span");i.appendChild(f),l.f(f,"quick-open-entry-keybinding");var m=new d(f,g.a),_=document.createElement("div");u.appendChild(_),l.f(_,"quick-open-entry-meta");var y,v=new a.a(_);"quickOpenEntryGroup"===e&&(y=document.createElement("div"),l.f(y,"results-group"),t.appendChild(y)),l.f(t,"actions");var b=document.createElement("div");return l.f(b,"primary-action-bar"),t.appendChild(b),{container:t,entry:c,icon:h,label:p,detail:v,keybinding:m,group:y,actionBar:new s.a(b,{actionRunner:this.actionRunner})}},e.prototype.renderElement=function(e,t,o,n){if(this.actionProvider.hasActions(null,e)?l.f(o.container,"has-actions"):l.G(o.container,"has-actions"),o.actionBar.context=e,this.actionProvider.getActions(null,e).then((function(e){o.actionBar.isEmpty()&&e&&e.length>0?o.actionBar.push(e,{icon:!0,label:!1}):o.actionBar.isEmpty()||e&&0!==e.length||o.actionBar.clear()})),e instanceof y&&e.getGroupLabel()?l.f(o.container,"has-group-label"):l.G(o.container,"has-group-label"),e instanceof y){var i=e,r=o;i.showBorder()?(l.f(r.container,"results-group-separator"),r.container.style.borderTopColor=n.pickerGroupBorder.toString()):(l.G(r.container,"results-group-separator"),r.container.style.borderTopColor=null);var s=i.getGroupLabel()||"";r.group.textContent=s,r.group.style.color=n.pickerGroupForeground.toString()}if(e instanceof _){var a=e.getHighlights(),u=a[0],c=a[1],h=a[2],d=e.getIcon()?"quick-open-entry-icon "+e.getIcon():"";o.icon.className=d;var g=e.getLabelOptions()||Object.create(null);g.matches=u||[],g.title=e.getTooltip(),g.descriptionTitle=e.getDescriptionTooltip()||e.getDescription(),g.descriptionMatches=c||[],o.label.setValue(e.getLabel(),e.getDescription(),g),o.detail.set(e.getDetail(),h),o.keybinding.set(e.getKeybinding(),null)}},e.prototype.disposeTemplate=function(e,t){var o=t;o.actionBar.dispose(),o.actionBar=null,o.container=null,o.entry=null,o.keybinding.dispose(),o.keybinding=null,o.detail.dispose(),o.detail=null,o.group=null,o.icon=null,o.label.dispose(),o.label=null},e}(),E=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=new v),this._entries=e,this._dataSource=this,this._renderer=new b(t),this._filter=this,this._runner=this,this._accessibilityProvider=this}return Object.defineProperty(e.prototype,"entries",{get:function(){return this._entries},set:function(e){this._entries=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return this._renderer},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"runner",{get:function(){return this._runner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"accessibilityProvider",{get:function(){return this._accessibilityProvider},enumerable:!0,configurable:!0}),e.prototype.getId=function(e){return e.getId()},e.prototype.getLabel=function(e){return e.getLabel()},e.prototype.getAriaLabel=function(e){return e.getAriaLabel()?n.a("quickOpenAriaLabelEntry","{0}, picker",e.getAriaLabel()):n.a("quickOpenAriaLabel","picker")},e.prototype.isVisible=function(e){return!e.isHidden()},e.prototype.run=function(e,t,o){return e.run(t,o)},e}()},function(e,t,o){"use strict";var n=o(1),i=o(30),r=o(8);function s(e){return Object(r.escape)(e)}o.d(t,"a",(function(){return a}));var a=function(){function e(e){this.domNode=document.createElement("span"),this.domNode.className="monaco-highlighted-label",this.didEverRender=!1,e.appendChild(this.domNode)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.domNode},enumerable:!0,configurable:!0}),e.prototype.set=function(t,o,n,r){void 0===o&&(o=[]),void 0===n&&(n=""),t||(t=""),r&&(t=e.escapeNewLines(t,o)),this.didEverRender&&this.text===t&&this.title===n&&i.e(this.highlights,o)||(Array.isArray(o)||(o=[]),this.text=t,this.title=n,this.highlights=o,this.render())},e.prototype.render=function(){n.l(this.domNode);for(var e,t=[],o=0,i=0;i<this.highlights.length;i++)(e=this.highlights[i]).end!==e.start&&(o<e.start&&(t.push("<span>"),t.push(s(this.text.substring(o,e.start))),t.push("</span>"),o=e.end),t.push('<span class="highlight">'),t.push(s(this.text.substring(e.start,e.end))),t.push("</span>"),o=e.end);o<this.text.length&&(t.push("<span>"),t.push(s(this.text.substring(o))),t.push("</span>")),this.domNode.innerHTML=t.join(""),this.domNode.title=this.title,this.didEverRender=!0},e.prototype.dispose=function(){this.text=null,this.highlights=null},e.escapeNewLines=function(e,t){var o=0,n=0;return e.replace(/\r\n|\r|\n/,(function(e,i){n="\r\n"===e?-1:0,i+=o;for(var r=0,s=t;r<s.length;r++){var a=s[r];a.end<=i||(a.start>=i&&(a.start+=n),a.end>=i&&(a.end+=n))}return o+=n,"⏎"}))},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var n=o(8),i=o(20),r=o(2),s=o(23),a=o(32),l=function(){function e(e,t){this._opts=t,this._selection=e,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}return e.unshiftIndentCount=function(e,t,o){var n=i.a.visibleColumnFromColumn(e,t,o);return i.a.prevTabStop(n,o)/o},e.shiftIndentCount=function(e,t,o){var n=i.a.visibleColumnFromColumn(e,t,o);return i.a.nextTabStop(n,o)/o},e.prototype._addEditOperation=function(e,t,o){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,o):e.addEditOperation(t,o)},e.prototype.getEditOperations=function(t,o){var s=this._selection.startLineNumber,l=this._selection.endLineNumber;1===this._selection.endColumn&&s!==l&&(l-=1);var u=this._opts.tabSize,c=this._opts.oneIndent,h=s===l;if(this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(s))&&(this._useLastEditRangeForCursorEndPosition=!0),this._opts.useTabStops)for(var d=["",c],g=0,p=0,f=s;f<=l;f++,g=p){p=0;var m=t.getLineContent(f),_=n.firstNonWhitespaceIndex(m);if((!this._opts.isUnshift||0!==m.length&&0!==_)&&(h||this._opts.isUnshift||0!==m.length)){if(-1===_&&(_=m.length),f>1)if(i.a.visibleColumnFromColumn(m,_+1,u)%u!=0&&t.isCheapToTokenize(f-1)){var y=a.a.getRawEnterActionAtPosition(t,f-1,t.getLineMaxColumn(f-1));if(y){if(p=g,y.appendText)for(var v=0,b=y.appendText.length;v<b&&p<u&&32===y.appendText.charCodeAt(v);v++)p++;y.removeText&&(p=Math.max(0,p-y.removeText));for(v=0;v<p&&(0!==_&&32===m.charCodeAt(_-1));v++)_--}}if(!this._opts.isUnshift||0!==_){var E=void 0;E=this._opts.isUnshift?e.unshiftIndentCount(m,_+1,u):e.shiftIndentCount(m,_+1,u);for(v=d.length;v<=E;v++)d[v]=d[v-1]+c;this._addEditOperation(o,new r.a(f,1,f,_+1),d[E]),f===s&&(this._selectionStartColumnStaysPut=this._selection.startColumn<=_+1)}}}else for(f=s;f<=l;f++){m=t.getLineContent(f),_=n.firstNonWhitespaceIndex(m);if((!this._opts.isUnshift||0!==m.length&&0!==_)&&((h||this._opts.isUnshift||0!==m.length)&&(-1===_&&(_=m.length),!this._opts.isUnshift||0!==_)))if(this._opts.isUnshift){_=Math.min(_,u);for(var C=0;C<_;C++){if(9===m.charCodeAt(C)){_=C+1;break}}this._addEditOperation(o,new r.a(f,1,f,_+1),"")}else this._addEditOperation(o,new r.a(f,1,f,1),c),f===s&&(this._selectionStartColumnStaysPut=1===this._selection.startColumn)}this._selectionId=o.trackSelection(this._selection)},e.prototype.computeCursorState=function(e,t){if(this._useLastEditRangeForCursorEndPosition){var o=t.getInverseEditOperations()[0];return new s.a(o.range.endLineNumber,o.range.endColumn,o.range.endLineNumber,o.range.endColumn)}var n=t.getTrackedSelection(this._selectionId);if(this._selectionStartColumnStaysPut){var i=this._selection.startColumn;return n.startColumn<=i?n:n.getDirection()===s.b.LTR?new s.a(n.startLineNumber,i,n.endLineNumber,n.endColumn):new s.a(n.endLineNumber,n.endColumn,n.startLineNumber,i)}return n},e}()},function(e,t,o){"use strict";(function(e){if(t.base64=!0,t.array=!0,t.string=!0,t.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,t.nodebuffer=void 0!==e,t.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)t.blob=!1;else{var n=new ArrayBuffer(0);try{t.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),t.blob=0===i.getBlob("application/zip").size}catch(e){t.blob=!1}}}try{t.nodestream=!!o(266).Readable}catch(e){t.nodestream=!1}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var o=t.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var n in o)i(o,n)&&(e[n]=o[n])}}return e},t.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var r={arraySet:function(e,t,o,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(o,o+n),i);else for(var r=0;r<n;r++)e[i+r]=t[o+r]},flattenChunks:function(e){var t,o,n,i,r,s;for(n=0,t=0,o=e.length;t<o;t++)n+=e[t].length;for(s=new Uint8Array(n),i=0,t=0,o=e.length;t<o;t++)r=e[t],s.set(r,i),i+=r.length;return s}},s={arraySet:function(e,t,o,n,i){for(var r=0;r<n;r++)e[i+r]=t[o+r]},flattenChunks:function(e){return[].concat.apply([],e)}};t.setTyped=function(e){e?(t.Buf8=Uint8Array,t.Buf16=Uint16Array,t.Buf32=Int32Array,t.assign(t,r)):(t.Buf8=Array,t.Buf16=Array,t.Buf32=Array,t.assign(t,s))},t.setTyped(n)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("progressService")},function(e,t,o){"use strict";o.r(t),o.d(t,"MoveWordCommand",(function(){return f})),o.d(t,"WordLeftCommand",(function(){return m})),o.d(t,"WordRightCommand",(function(){return _})),o.d(t,"CursorWordStartLeft",(function(){return y})),o.d(t,"CursorWordEndLeft",(function(){return v})),o.d(t,"CursorWordLeft",(function(){return b})),o.d(t,"CursorWordStartLeftSelect",(function(){return E})),o.d(t,"CursorWordEndLeftSelect",(function(){return C})),o.d(t,"CursorWordLeftSelect",(function(){return S})),o.d(t,"CursorWordStartRight",(function(){return T})),o.d(t,"CursorWordEndRight",(function(){return w})),o.d(t,"CursorWordRight",(function(){return k})),o.d(t,"CursorWordStartRightSelect",(function(){return O})),o.d(t,"CursorWordEndRightSelect",(function(){return R})),o.d(t,"CursorWordRightSelect",(function(){return N})),o.d(t,"DeleteWordCommand",(function(){return L})),o.d(t,"DeleteWordLeftCommand",(function(){return I})),o.d(t,"DeleteWordRightCommand",(function(){return D})),o.d(t,"DeleteWordStartLeft",(function(){return A})),o.d(t,"DeleteWordEndLeft",(function(){return P})),o.d(t,"DeleteWordLeft",(function(){return M})),o.d(t,"DeleteWordStartRight",(function(){return x})),o.d(t,"DeleteWordEndRight",(function(){return B})),o.d(t,"DeleteWordRight",(function(){return F}));var n,i=o(5),r=o(23),s=o(3),a=o(9),l=o(2),u=o(107),c=o(43),h=o(102),d=o(20),g=o(35),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=function(e){function t(t){var o=e.call(this,t)||this;return o._inSelectionMode=t.inSelectionMode,o._wordNavigationType=t.wordNavigationType,o}return p(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=t.getConfiguration(),r=Object(h.a)(i.wordSeparators),s=t.getModel(),l=t.getSelections().map((function(e){var t=new a.a(e.positionLineNumber,e.positionColumn),o=n._move(r,s,t,n._wordNavigationType);return n._moveTo(e,o,n._inSelectionMode)}));if(t._getCursors().setStates("moveWordCommand",g.a.NotSet,l.map((function(e){return d.d.fromModelSelection(e)}))),1===l.length){var u=new a.a(l[0].positionLineNumber,l[0].positionColumn);t.revealPosition(u,0)}},t.prototype._moveTo=function(e,t,o){return o?new r.a(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new r.a(t.lineNumber,t.column,t.lineNumber,t.column)},t}(s.c),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._move=function(e,t,o,n){return u.a.moveWordLeft(e,t,o,n)},t}(f),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._move=function(e,t,o,n){return u.a.moveWordRight(e,t,o,n)},t}(f),y=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:2063,mac:{primary:527},weight:100}})||this}return p(t,e),t}(m),v=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndLeft",precondition:null})||this}return p(t,e),t}(m),b=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordLeft",precondition:null})||this}return p(t,e),t}(m),E=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:3087,mac:{primary:1551},weight:100}})||this}return p(t,e),t}(m),C=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndLeftSelect",precondition:null})||this}return p(t,e),t}(m),S=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordLeftSelect",precondition:null})||this}return p(t,e),t}(m),T=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:null})||this}return p(t,e),t}(_),w=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordEndRight",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:2065,mac:{primary:529},weight:100}})||this}return p(t,e),t}(_),k=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordRight",precondition:null})||this}return p(t,e),t}(_),O=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:null})||this}return p(t,e),t}(_),R=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordEndRightSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:3089,mac:{primary:1553},weight:100}})||this}return p(t,e),t}(_),N=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordRightSelect",precondition:null})||this}return p(t,e),t}(_),L=function(e){function t(t){var o=e.call(this,t)||this;return o._whitespaceHeuristics=t.whitespaceHeuristics,o._wordNavigationType=t.wordNavigationType,o}return p(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=t.getConfiguration(),r=Object(h.a)(i.wordSeparators),s=t.getModel(),a=t.getSelections().map((function(e){var t=n._delete(r,s,e,n._whitespaceHeuristics,n._wordNavigationType);return new c.a(t,"")}));t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()},t}(s.c),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._delete=function(e,t,o,n,i){var r=u.a.deleteWordLeft(e,t,o,n,i);return r||new l.a(1,1,1,1)},t}(L),D=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return p(t,e),t.prototype._delete=function(e,t,o,n,i){var r=u.a.deleteWordRight(e,t,o,n,i);if(r)return r;var s=t.getLineCount(),a=t.getLineMaxColumn(s);return new l.a(s,a,s,a)},t}(L),A=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:i.a.writable})||this}return p(t,e),t}(I),P=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndLeft",precondition:i.a.writable})||this}return p(t,e),t}(I),M=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:2049,mac:{primary:513},weight:100}})||this}return p(t,e),t}(I),x=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:i.a.writable})||this}return p(t,e),t}(D),B=function(e){function t(){return e.call(this,{whitespaceHeuristics:!1,wordNavigationType:1,id:"deleteWordEndRight",precondition:i.a.writable})||this}return p(t,e),t}(D),F=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:"deleteWordRight",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:2068,mac:{primary:532},weight:100}})||this}return p(t,e),t}(D);Object(s.g)(new y),Object(s.g)(new v),Object(s.g)(new b),Object(s.g)(new E),Object(s.g)(new C),Object(s.g)(new S),Object(s.g)(new T),Object(s.g)(new w),Object(s.g)(new k),Object(s.g)(new O),Object(s.g)(new R),Object(s.g)(new N),Object(s.g)(new A),Object(s.g)(new P),Object(s.g)(new M),Object(s.g)(new x),Object(s.g)(new B),Object(s.g)(new F)},function(e,t,o){"use strict";o.d(t,"b",(function(){return y})),o.d(t,"a",(function(){return b})),o.d(t,"d",(function(){return w})),o.d(t,"c",(function(){return k}));var n,i=o(0),r=o(4),s=o(6),a=o(30),l=o(15),u=o(104),c=o(57),h=o(132),d=o(96),g=o(27),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=g.a,m=g.b,_=g.c,y=new(function(){function e(){this._tabFocus=!1,this._onDidChangeTabFocus=new r.a,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}return e.prototype.getTabFocusMode=function(){return this._tabFocus},e.prototype.setTabFocusMode=function(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))},e}()),v=Object.hasOwnProperty,b=function(e){function t(t){var o=e.call(this)||this;return o._onDidChange=o._register(new r.a),o.onDidChange=o._onDidChange.event,o._rawOptions=a.g({},t||{}),o._rawOptions.scrollbar=a.g({},o._rawOptions.scrollbar||{}),o._rawOptions.minimap=a.g({},o._rawOptions.minimap||{}),o._rawOptions.find=a.g({},o._rawOptions.find||{}),o._rawOptions.hover=a.g({},o._rawOptions.hover||{}),o._validatedOptions=g.d.validate(o._rawOptions,f),o.editor=null,o._isDominatedByLongLines=!1,o._lineNumbersDigitCount=1,o._register(d.a.onDidChangeZoomLevel((function(e){return o._recomputeOptions()}))),o._register(y.onDidChangeTabFocus((function(e){return o._recomputeOptions()}))),o}return p(t,e),t.prototype.observeReferenceElement=function(e){},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._recomputeOptions=function(){var e=this.editor,t=this._computeInternalOptions();e&&e.equals(t)||(this.editor=t,e&&this._onDidChange.fire(e.createChangeEvent(t)))},t.prototype.getRawOptions=function(){return this._rawOptions},t.prototype._computeInternalOptions=function(){var e=this._validatedOptions,t=this._getEnvConfiguration(),o=h.a.createFromRawSettings(this._rawOptions,t.zoomLevel),n={outerWidth:t.outerWidth,outerHeight:t.outerHeight,fontInfo:this.readConfiguration(o),extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:y.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport};return g.f.createInternalEditorOptions(n,e)},t._primitiveArrayEquals=function(e,t){if(e.length!==t.length)return!1;for(var o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0},t._subsetEquals=function(e,t){for(var o in t)if(v.call(t,o)){var n=t[o],i=e[o];if(i===n)continue;if(Array.isArray(i)&&Array.isArray(n)){if(!this._primitiveArrayEquals(i,n))return!1;continue}if("object"==typeof i&&"object"==typeof n){if(!this._subsetEquals(i,n))return!1;continue}return!1}return!0},t.prototype.updateOptions=function(e){void 0!==e&&(t._subsetEquals(this._rawOptions,e)||(this._rawOptions=a.g(this._rawOptions,e||{}),this._validatedOptions=g.d.validate(this._rawOptions,f),this._recomputeOptions()))},t.prototype.setIsDominatedByLongLines=function(e){this._isDominatedByLongLines=e,this._recomputeOptions()},t.prototype.setMaxLineNumber=function(e){var o=t._digitCount(e);this._lineNumbersDigitCount!==o&&(this._lineNumbersDigitCount=o,this._recomputeOptions())},t._digitCount=function(e){for(var t=0;e;)e=Math.floor(e/10),t++;return t||1},t}(s.a),E=c.a.as(u.b.Configuration),C={id:"editor",order:5,type:"object",title:i.a("editorConfigurationTitle","Editor"),overridable:!0,scope:u.a.RESOURCE,properties:{"editor.fontFamily":{type:"string",default:m.fontFamily,description:i.a("fontFamily","Controls the font family.")},"editor.fontWeight":{type:"string",enum:["normal","bold","100","200","300","400","500","600","700","800","900"],default:m.fontWeight,description:i.a("fontWeight","Controls the font weight.")},"editor.fontSize":{type:"number",default:m.fontSize,description:i.a("fontSize","Controls the font size in pixels.")},"editor.lineHeight":{type:"number",default:m.lineHeight,description:i.a("lineHeight","Controls the line height. Use 0 to compute the line height from the font size.")},"editor.letterSpacing":{type:"number",default:m.letterSpacing,description:i.a("letterSpacing","Controls the letter spacing in pixels.")},"editor.lineNumbers":{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[i.a("lineNumbers.off","Line numbers are not rendered."),i.a("lineNumbers.on","Line numbers are rendered as absolute number."),i.a("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),i.a("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:i.a("lineNumbers","Controls the display of line numbers.")},"editor.rulers":{type:"array",items:{type:"number"},default:f.viewInfo.rulers,description:i.a("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")},"editor.wordSeparators":{type:"string",default:f.wordSeparators,description:i.a("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")},"editor.tabSize":{type:"number",default:_.tabSize,minimum:1,description:i.a("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on."),errorMessage:i.a("tabSize.errorMessage","Expected 'number'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")},"editor.insertSpaces":{type:"boolean",default:_.insertSpaces,description:i.a("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on."),errorMessage:i.a("insertSpaces.errorMessage","Expected 'boolean'. Note that the value \"auto\" has been replaced by the `editor.detectIndentation` setting.")},"editor.detectIndentation":{type:"boolean",default:_.detectIndentation,description:i.a("detectIndentation","Controls whether `#editor.tabSize#` and `#editor.insertSpaces#` will be automatically detected when a file is opened based on the file contents.")},"editor.roundedSelection":{type:"boolean",default:f.viewInfo.roundedSelection,description:i.a("roundedSelection","Controls whether selections should have rounded corners.")},"editor.scrollBeyondLastLine":{type:"boolean",default:f.viewInfo.scrollBeyondLastLine,description:i.a("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")},"editor.scrollBeyondLastColumn":{type:"number",default:f.viewInfo.scrollBeyondLastColumn,description:i.a("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")},"editor.smoothScrolling":{type:"boolean",default:f.viewInfo.smoothScrolling,description:i.a("smoothScrolling","Controls whether the editor will scroll using an animation.")},"editor.minimap.enabled":{type:"boolean",default:f.viewInfo.minimap.enabled,description:i.a("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:f.viewInfo.minimap.side,description:i.a("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:f.viewInfo.minimap.showSlider,description:i.a("minimap.showSlider","Controls whether the minimap slider is automatically hidden.")},"editor.minimap.renderCharacters":{type:"boolean",default:f.viewInfo.minimap.renderCharacters,description:i.a("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:f.viewInfo.minimap.maxColumn,description:i.a("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.hover.enabled":{type:"boolean",default:f.contribInfo.hover.enabled,description:i.a("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:f.contribInfo.hover.delay,description:i.a("hover.delay","Time delay in milliseconds after which to the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:f.contribInfo.hover.sticky,description:i.a("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.find.seedSearchStringFromSelection":{type:"boolean",default:f.contribInfo.find.seedSearchStringFromSelection,description:i.a("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"boolean",default:f.contribInfo.find.autoFindInSelection,description:i.a("find.autoFindInSelection","Controls whether the find operation is carried on selected text or the entire file in the editor.")},"editor.find.globalFindClipboard":{type:"boolean",default:f.contribInfo.find.globalFindClipboard,description:i.a("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:l.d},"editor.wordWrap":{type:"string",enum:["off","on","wordWrapColumn","bounded"],enumDescriptions:[i.a("wordWrap.off","Lines will never wrap."),i.a("wordWrap.on","Lines will wrap at the viewport width."),i.a({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),i.a({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],default:f.wordWrap,description:i.a({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")},"editor.wordWrapColumn":{type:"integer",default:f.wordWrapColumn,minimum:1,description:i.a({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")},"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[i.a("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),i.a("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),i.a("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),i.a("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],default:"same",description:i.a("wrappingIndent","Controls the indentation of wrapped lines.")},"editor.mouseWheelScrollSensitivity":{type:"number",default:f.viewInfo.scrollbar.mouseWheelScrollSensitivity,description:i.a("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},"editor.multiCursorModifier":{type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[i.a("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.a("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"alt",description:i.a({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go To Definition and Open Link mouse gestures will adapt such that they do not conflict with the multicursor modifier. [Read more](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")},"editor.multiCursorMergeOverlapping":{type:"boolean",default:f.multiCursorMergeOverlapping,description:i.a("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")},"editor.quickSuggestions":{anyOf:[{type:"boolean"},{type:"object",properties:{strings:{type:"boolean",default:!1,description:i.a("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{type:"boolean",default:!1,description:i.a("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{type:"boolean",default:!0,description:i.a("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}}}],default:f.contribInfo.quickSuggestions,description:i.a("quickSuggestions","Controls whether suggestions should automatically show up while typing.")},"editor.quickSuggestionsDelay":{type:"integer",default:f.contribInfo.quickSuggestionsDelay,minimum:0,description:i.a("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")},"editor.parameterHints":{type:"boolean",default:f.contribInfo.parameterHints,description:i.a("parameterHints","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.autoClosingBrackets":{type:"boolean",default:f.autoClosingBrackets,description:i.a("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")},"editor.formatOnType":{type:"boolean",default:f.contribInfo.formatOnType,description:i.a("formatOnType","Controls whether the editor should automatically format the line after typing.")},"editor.formatOnPaste":{type:"boolean",default:f.contribInfo.formatOnPaste,description:i.a("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")},"editor.autoIndent":{type:"boolean",default:f.autoIndent,description:i.a("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste or move lines. Extensions with indentation rules of the language must be available.")},"editor.suggestOnTriggerCharacters":{type:"boolean",default:f.contribInfo.suggestOnTriggerCharacters,description:i.a("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")},"editor.acceptSuggestionOnEnter":{type:"string",enum:["on","smart","off"],default:f.contribInfo.acceptSuggestionOnEnter,enumDescriptions:["",i.a("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],description:i.a("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")},"editor.acceptSuggestionOnCommitCharacter":{type:"boolean",default:f.contribInfo.acceptSuggestionOnCommitCharacter,description:i.a("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")},"editor.snippetSuggestions":{type:"string",enum:["top","bottom","inline","none"],enumDescriptions:[i.a("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),i.a("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),i.a("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),i.a("snippetSuggestions.none","Do not show snippet suggestions.")],default:f.contribInfo.suggest.snippets,description:i.a("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")},"editor.emptySelectionClipboard":{type:"boolean",default:f.emptySelectionClipboard,description:i.a("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")},"editor.wordBasedSuggestions":{type:"boolean",default:f.contribInfo.wordBasedSuggestions,description:i.a("wordBasedSuggestions","Controls whether completions should be computed based on words in the document.")},"editor.suggestSelection":{type:"string",enum:["first","recentlyUsed","recentlyUsedByPrefix"],enumDescriptions:[i.a("suggestSelection.first","Always select the first suggestion."),i.a("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),i.a("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],default:"recentlyUsed",description:i.a("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")},"editor.suggestFontSize":{type:"integer",default:0,minimum:0,description:i.a("suggestFontSize","Font size for the suggest widget.")},"editor.suggestLineHeight":{type:"integer",default:0,minimum:0,description:i.a("suggestLineHeight","Line height for the suggest widget.")},"editor.suggest.filterGraceful":{type:"boolean",default:!0,description:i.a("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:!0,description:i.a("suggest.snippetsPreventQuickSuggestions","Control whether an active snippet prevents quick suggestions.")},"editor.selectionHighlight":{type:"boolean",default:f.contribInfo.selectionHighlight,description:i.a("selectionHighlight","Controls whether the editor should highlight matches similar to the selection")},"editor.occurrencesHighlight":{type:"boolean",default:f.contribInfo.occurrencesHighlight,description:i.a("occurrencesHighlight","Controls whether the editor should highlight semantic symbol occurrences.")},"editor.overviewRulerLanes":{type:"integer",default:3,description:i.a("overviewRulerLanes","Controls the number of decorations that can show up at the same position in the overview ruler.")},"editor.overviewRulerBorder":{type:"boolean",default:f.viewInfo.overviewRulerBorder,description:i.a("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")},"editor.cursorBlinking":{type:"string",enum:["blink","smooth","phase","expand","solid"],default:g.k(f.viewInfo.cursorBlinking),description:i.a("cursorBlinking","Control the cursor animation style.")},"editor.mouseWheelZoom":{type:"boolean",default:f.viewInfo.mouseWheelZoom,description:i.a("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")},"editor.cursorStyle":{type:"string",enum:["block","block-outline","line","line-thin","underline","underline-thin"],default:g.l(f.viewInfo.cursorStyle),description:i.a("cursorStyle","Controls the cursor style.")},"editor.cursorWidth":{type:"integer",default:f.viewInfo.cursorWidth,description:i.a("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")},"editor.fontLigatures":{type:"boolean",default:f.viewInfo.fontLigatures,description:i.a("fontLigatures","Enables/Disables font ligatures.")},"editor.hideCursorInOverviewRuler":{type:"boolean",default:f.viewInfo.hideCursorInOverviewRuler,description:i.a("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")},"editor.renderWhitespace":{type:"string",enum:["none","boundary","all"],enumDescriptions:["",i.a("renderWhiteSpace.boundary","Render whitespace characters except for single spaces between words."),""],default:f.viewInfo.renderWhitespace,description:i.a("renderWhitespace","Controls how the editor should render whitespace characters.")},"editor.renderControlCharacters":{type:"boolean",default:f.viewInfo.renderControlCharacters,description:i.a("renderControlCharacters","Controls whether the editor should render control characters.")},"editor.renderIndentGuides":{type:"boolean",default:f.viewInfo.renderIndentGuides,description:i.a("renderIndentGuides","Controls whether the editor should render indent guides.")},"editor.highlightActiveIndentGuide":{type:"boolean",default:f.viewInfo.highlightActiveIndentGuide,description:i.a("highlightActiveIndentGuide","Controls whether the editor should highlight the active indent guide.")},"editor.renderLineHighlight":{type:"string",enum:["none","gutter","line","all"],enumDescriptions:["","","",i.a("renderLineHighlight.all","Highlights both the gutter and the current line.")],default:f.viewInfo.renderLineHighlight,description:i.a("renderLineHighlight","Controls how the editor should render the current line highlight.")},"editor.codeLens":{type:"boolean",default:f.contribInfo.codeLens,description:i.a("codeLens","Controls whether the editor shows CodeLens")},"editor.folding":{type:"boolean",default:f.contribInfo.folding,description:i.a("folding","Controls whether the editor has code folding enabled")},"editor.foldingStrategy":{type:"string",enum:["auto","indentation"],default:f.contribInfo.foldingStrategy,description:i.a("foldingStrategy","Controls the strategy for computing folding ranges. `auto` uses a language specific folding strategy, if available. `indentation` uses the indentation based folding strategy.")},"editor.showFoldingControls":{type:"string",enum:["always","mouseover"],default:f.contribInfo.showFoldingControls,description:i.a("showFoldingControls","Controls whether the fold controls on the gutter are automatically hidden.")},"editor.matchBrackets":{type:"boolean",default:f.contribInfo.matchBrackets,description:i.a("matchBrackets","Highlight matching brackets when one of them is selected.")},"editor.glyphMargin":{type:"boolean",default:f.viewInfo.glyphMargin,description:i.a("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")},"editor.useTabStops":{type:"boolean",default:f.useTabStops,description:i.a("useTabStops","Inserting and deleting whitespace follows tab stops.")},"editor.trimAutoWhitespace":{type:"boolean",default:_.trimAutoWhitespace,description:i.a("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.stablePeek":{type:"boolean",default:!1,description:i.a("stablePeek","Keep peek editors open even when double clicking their content or when hitting `Escape`.")},"editor.dragAndDrop":{type:"boolean",default:f.dragAndDrop,description:i.a("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")},"editor.accessibilitySupport":{type:"string",enum:["auto","on","off"],enumDescriptions:[i.a("accessibilitySupport.auto","The editor will use platform APIs to detect when a Screen Reader is attached."),i.a("accessibilitySupport.on","The editor will be permanently optimized for usage with a Screen Reader."),i.a("accessibilitySupport.off","The editor will never be optimized for usage with a Screen Reader.")],default:f.accessibilitySupport,description:i.a("accessibilitySupport","Controls whether the editor should run in a mode where it is optimized for screen readers.")},"editor.showUnused":{type:"boolean",default:f.showUnused,description:i.a("showUnused","Controls fading out of unused code.")},"editor.links":{type:"boolean",default:f.contribInfo.links,description:i.a("links","Controls whether the editor should detect links and make them clickable.")},"editor.colorDecorators":{type:"boolean",default:f.contribInfo.colorDecorators,description:i.a("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")},"editor.lightbulb.enabled":{type:"boolean",default:f.contribInfo.lightbulbEnabled,description:i.a("codeActions","Enables the code action lightbulb in the editor.")},"editor.codeActionsOnSave":{type:"object",properties:{"source.organizeImports":{type:"boolean",description:i.a("codeActionsOnSave.organizeImports","Controls whether organize imports action should be run on file save.")}},additionalProperties:{type:"boolean"},default:f.contribInfo.codeActionsOnSave,description:i.a("codeActionsOnSave","Code action kinds to be run on save.")},"editor.codeActionsOnSaveTimeout":{type:"number",default:f.contribInfo.codeActionsOnSaveTimeout,description:i.a("codeActionsOnSaveTimeout","Timeout in milliseconds after which the code actions that are run on save are cancelled.")},"editor.selectionClipboard":{type:"boolean",default:f.contribInfo.selectionClipboard,description:i.a("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:l.c},"diffEditor.renderSideBySide":{type:"boolean",default:!0,description:i.a("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:!0,description:i.a("ignoreTrimWhitespace","Controls whether the diff editor shows changes in leading or trailing whitespace as diffs.")},"editor.largeFileOptimizations":{type:"boolean",default:_.largeFileOptimizations,description:i.a("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"diffEditor.renderIndicators":{type:"boolean",default:!0,description:i.a("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")}}},S=null;function T(){return null===S&&(S=Object.create(null),Object.keys(C.properties).forEach((function(e){S[e]=!0}))),S}function w(e){return T()["editor."+e]||!1}function k(e){return T()["diffEditor."+e]||!1}E.registerConfiguration(C)},function(e,t,o){"use strict";o.d(t,"a",(function(){return d})),o.d(t,"b",(function(){return g}));var n,i=o(15),r=o(96),s=o(27),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=i.d?1.5:1.35;function u(e,t){if("number"==typeof e)return e;var o=parseFloat(e);return isNaN(o)?t:o}function c(e,t,o){return e<t?t:e>o?o:e}function h(e,t){return"string"!=typeof e?t:e}var d=function(){function e(e){this.zoomLevel=e.zoomLevel,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.lineHeight=0|e.lineHeight,this.letterSpacing=e.letterSpacing}return e.createFromRawSettings=function(t,o){var n=h(t.fontFamily,s.b.fontFamily),i=h(t.fontWeight,s.b.fontWeight),a=u(t.fontSize,s.b.fontSize);0===(a=c(a,0,100))?a=s.b.fontSize:a<8&&(a=8);var d=function(e,t){if("number"==typeof e)return Math.round(e);var o=parseInt(e);return isNaN(o)?t:o}(t.lineHeight,0);0===(d=c(d,0,150))?d=Math.round(l*a):d<8&&(d=8);var g=u(t.letterSpacing,0);g=c(g,-5,20);var p=1+.1*r.a.getZoomLevel();return new e({zoomLevel:o,fontFamily:n,fontWeight:i,fontSize:a*=p,lineHeight:d*=p,letterSpacing:g})},e.prototype.getId=function(){return this.zoomLevel+"-"+this.fontFamily+"-"+this.fontWeight+"-"+this.fontSize+"-"+this.lineHeight+"-"+this.letterSpacing},e}(),g=function(e){function t(t,o){var n=e.call(this,t)||this;return n.isTrusted=o,n.isMonospace=t.isMonospace,n.typicalHalfwidthCharacterWidth=t.typicalHalfwidthCharacterWidth,n.typicalFullwidthCharacterWidth=t.typicalFullwidthCharacterWidth,n.spaceWidth=t.spaceWidth,n.maxDigitWidth=t.maxDigitWidth,n}return a(t,e),t.prototype.equals=function(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.spaceWidth===e.spaceWidth&&this.maxDigitWidth===e.maxDigitWidth},t}(d)},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("textModelService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return S})),o.d(t,"b",(function(){return T})),o.d(t,"c",(function(){return B})),o.d(t,"d",(function(){return F}));var n,i,r=o(22),s=o(6),a=o(12),l=o(210),u=o(118),c=o(19),h=o(49),d=o(0),g=o(57),p=o(104),f=o(75),m=o(21),_=o(1),y=o(42),v=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),b=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(r.c)("listService"),T=function(){function e(e){this.lists=[],this._lastFocusedWidget=void 0}return Object.defineProperty(e.prototype,"lastFocusedList",{get:function(){return this._lastFocusedWidget},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){var o=this;if(this.lists.some((function(t){return t.widget===e})))throw new Error("Cannot register the same widget multiple times");var n={widget:e,extraContextKeys:t};return this.lists.push(n),e.isDOMFocused()&&(this._lastFocusedWidget=e),Object(s.c)([e.onDidFocus((function(){return o._lastFocusedWidget=e})),Object(s.f)((function(){return o.lists.splice(o.lists.indexOf(n),1)})),e.onDidDispose((function(){o.lists=o.lists.filter((function(e){return e!==n})),o._lastFocusedWidget===e&&(o._lastFocusedWidget=void 0)}))])},e=E([C(0,a.e)],e)}(),w=new a.f("listFocus",!0),k=new a.f("listSupportsMultiselect",!0),O=new a.f("listHasSelectionOrFocus",!1),R=new a.f("listDoubleSelection",!1),N=new a.f("listMultiSelection",!1);var L,I="workbench.list.multiSelectModifier",D="workbench.list.openMode",A="workbench.tree.horizontalScrolling";function P(e){return"alt"===e.getValue(I)}function M(e){return"doubleClick"!==e.getValue(D)}function x(e,t){return e.controller||(e.controller=t.createInstance(F,{})),e.styler||(e.styler=new f.f((L||(L=Object(_.o)()),L))),e}var B=function(e){function t(t,o,n,i,r,s,a,l){var c=this,h=x(o,a),d=l.getValue(A)?y.b.Auto:y.b.Hidden,g=b({horizontalScrollMode:d,keyboardSupport:!1},Object(u.d)(s.getTheme(),u.e),n);return(c=e.call(this,t,h,g)||this).disposables=[],c.contextKeyService=function(e,t){var o=e.createScoped(t.getHTMLElement());return w.bindTo(o),o}(i,c),k.bindTo(c.contextKeyService),c.listHasSelectionOrFocus=O.bindTo(c.contextKeyService),c.listDoubleSelection=R.bindTo(c.contextKeyService),c.listMultiSelection=N.bindTo(c.contextKeyService),c._openOnSingleClick=M(l),c._useAltAsMultipleSelectionModifier=P(l),c.disposables.push(c.contextKeyService,r.register(c),Object(u.b)(c,s)),c.disposables.push(c.onDidChangeSelection((function(){var e=c.getSelection(),t=c.getFocus();c.listHasSelectionOrFocus.set(e&&e.length>0||!!t),c.listDoubleSelection.set(e&&2===e.length),c.listMultiSelection.set(e&&e.length>1)}))),c.disposables.push(c.onDidChangeFocus((function(){var e=c.getSelection(),t=c.getFocus();c.listHasSelectionOrFocus.set(e&&e.length>0||!!t)}))),c.disposables.push(l.onDidChangeConfiguration((function(e){e.affectsConfiguration(D)&&(c._openOnSingleClick=M(l)),e.affectsConfiguration(I)&&(c._useAltAsMultipleSelectionModifier=P(l))}))),c}return v(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.disposables=Object(s.d)(this.disposables)},t=E([C(3,a.e),C(4,S),C(5,c.c),C(6,r.a),C(7,h.b)],t)}(l.a);var F=function(e){function t(t,o){var n=e.call(this,function(e){return"boolean"!=typeof e.keyboardSupport&&(e.keyboardSupport=!1),"number"!=typeof e.clickBehavior&&(e.clickBehavior=f.a.ON_MOUSE_DOWN),e}(t))||this;return n.configurationService=o,n.disposables=[],Object(m.j)(t.openMode)&&(n.setOpenMode(n.getOpenModeSetting()),n.registerListeners()),n}return v(t,e),t.prototype.registerListeners=function(){var e=this;this.disposables.push(this.configurationService.onDidChangeConfiguration((function(t){t.affectsConfiguration(D)&&e.setOpenMode(e.getOpenModeSetting())})))},t.prototype.getOpenModeSetting=function(){return M(this.configurationService)?f.g.SINGLE_CLICK:f.g.DOUBLE_CLICK},t.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},t=E([C(1,h.b)],t)}(f.c);g.a.as(p.b.Configuration).registerConfiguration({id:"workbench",order:7,title:Object(d.a)("workbenchConfigurationTitle","Workbench"),type:"object",properties:(i={},i[I]={type:"string",enum:["ctrlCmd","alt"],enumDescriptions:[Object(d.a)("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),Object(d.a)("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:Object(d.a)({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},i[D]={type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:Object(d.a)({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). For parents with children in trees, this setting will control if a single click expands the parent or a double click. Note that some trees and lists might choose to ignore this setting if it is not applicable. ")},i[A]={type:"boolean",default:!1,description:Object(d.a)("horizontalScrolling setting","Controls whether trees support horizontal scrolling in the workbench.")},i)})},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=o(22),i=Object(n.c)("logService"),r=function(){function e(){}return e.prototype.trace=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o]},e.prototype.error=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o]},e.prototype.dispose=function(){},e}()},function(e,t,o){"use strict";var n=o(180),i=Object.keys||function(e){var t=[];for(var o in e)t.push(o);return t};e.exports=h;var r=o(167);r.inherits=o(147);var s=o(267),a=o(214);r.inherits(h,s);for(var l=i(a.prototype),u=0;u<l.length;u++){var c=l[u];h.prototype[c]||(h.prototype[c]=a.prototype[c])}function h(e){if(!(this instanceof h))return new h(e);s.call(this,e),a.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||n.nextTick(g,this)}function g(e){e.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),h.prototype._destroy=function(e,t){this.push(null),this.end(),n.nextTick(t,e)}},function(e,t,o){var n;self.MonacoEnvironment=(n={editorWorkerService:"editor.worker.js",json:"json.worker.js"},{getWorkerUrl:function(e,t){var o="string"==typeof window.__webpack_public_path__?window.__webpack_public_path__:"";return(o?o.replace(/\/$/,"")+"/":"")+n[t]}}),o(223),o(224),o(259),o(225),o(249),o(254),o(172),o(252),o(226),o(72),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(230),o(247),o(262),o(231),o(232),o(250),o(261),o(233),o(251),o(234),o(256),o(235),o(236),o(260),o(255),o(139),o(246),o(237),o(153),o(238),o(239),o(130),o(240),e.exports=o(551),o(241)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return"[object Function]"===n.call(e)}function s(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=r,t.array=s,t.stringArray=function(e){return s(e)&&e.every((function(e){return i(e)}))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&r(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(12),i=o(3),r=o(6),s=(o(484),o(8)),a=o(18),l=o(53),u=o(114),c=o(23),h=o(2),d=o(25),g=o(0),p=o(40),f=function(){function e(e){this._delegates=e}return e.prototype.resolve=function(e){for(var t=0,o=this._delegates;t<o.length;t++){var n=o[t].resolve(e);if(void 0!==n)return n}},e}(),m=function(){function e(e,t){this._model=e,this._selection=t}return e.prototype.resolve=function(e){var t=e.name;if("SELECTION"===t||"TM_SELECTED_TEXT"===t){var o=this._model.getValueInRange(this._selection)||void 0;if(o&&this._selection.startLineNumber!==this._selection.endLineNumber){var n=this._model.getLineContent(this._selection.startLineNumber),i=Object(s.getLeadingWhitespace)(n,0,this._selection.startColumn-1),r=i;e.snippet.walk((function(t){return t!==e&&(t instanceof u.d&&(r=Object(s.getLeadingWhitespace)(t.value.split(/\r\n|\r|\n/).pop())),!0)}));var a=Object(s.commonPrefixLength)(r,i);o=o.replace(/(\r\n|\r|\n)(.*)/g,(function(e,t,o){return""+t+r.substr(a)+o}))}return o}if("TM_CURRENT_LINE"===t)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===t){var l=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return l&&l.word||void 0}return"TM_LINE_INDEX"===t?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===t?String(this._selection.positionLineNumber):void 0},e}(),_=function(){function e(e){this._model=e}return e.prototype.resolve=function(e){var t=e.name;if("TM_FILENAME"===t)return Object(p.a)(this._model.uri.fsPath);if("TM_FILENAME_BASE"===t){var o=Object(p.a)(this._model.uri.fsPath),n=o.lastIndexOf(".");return n<=0?o:o.slice(0,n)}if("TM_DIRECTORY"===t){var i=Object(p.b)(this._model.uri.fsPath);return"."!==i?i:""}return"TM_FILEPATH"===t?this._model.uri.fsPath:void 0},e}(),y=function(){function e(e,t,o){this._clipboardService=e,this._selectionIdx=t,this._selectionCount=o}return e.prototype.resolve=function(e){if("CLIPBOARD"===e.name&&this._clipboardService){var t=this._clipboardService.readText();if(t){var o=t.split(/\r\n|\n|\r/).filter((function(e){return!Object(s.isFalsyOrWhitespace)(e)}));return o.length===this._selectionCount?o[this._selectionIdx]:t}}},e}(),v=function(){function e(){}return e.prototype.resolve=function(t){var o=t.name;return"CURRENT_YEAR"===o?String((new Date).getFullYear()):"CURRENT_YEAR_SHORT"===o?String((new Date).getFullYear()).slice(-2):"CURRENT_MONTH"===o?Object(s.pad)((new Date).getMonth().valueOf()+1,2):"CURRENT_DATE"===o?Object(s.pad)((new Date).getDate().valueOf(),2):"CURRENT_HOUR"===o?Object(s.pad)((new Date).getHours().valueOf(),2):"CURRENT_MINUTE"===o?Object(s.pad)((new Date).getMinutes().valueOf(),2):"CURRENT_SECOND"===o?Object(s.pad)((new Date).getSeconds().valueOf(),2):"CURRENT_DAY_NAME"===o?e.dayNames[(new Date).getDay()]:"CURRENT_DAY_NAME_SHORT"===o?e.dayNamesShort[(new Date).getDay()]:"CURRENT_MONTH_NAME"===o?e.monthNames[(new Date).getMonth()]:"CURRENT_MONTH_NAME_SHORT"===o?e.monthNamesShort[(new Date).getMonth()]:void 0},e.dayNames=[g.a("Sunday","Sunday"),g.a("Monday","Monday"),g.a("Tuesday","Tuesday"),g.a("Wednesday","Wednesday"),g.a("Thursday","Thursday"),g.a("Friday","Friday"),g.a("Saturday","Saturday")],e.dayNamesShort=[g.a("SundayShort","Sun"),g.a("MondayShort","Mon"),g.a("TuesdayShort","Tue"),g.a("WednesdayShort","Wed"),g.a("ThursdayShort","Thu"),g.a("FridayShort","Fri"),g.a("SaturdayShort","Sat")],e.monthNames=[g.a("January","January"),g.a("February","February"),g.a("March","March"),g.a("April","April"),g.a("May","May"),g.a("June","June"),g.a("July","July"),g.a("August","August"),g.a("September","September"),g.a("October","October"),g.a("November","November"),g.a("December","December")],e.monthNamesShort=[g.a("JanuaryShort","Jan"),g.a("FebruaryShort","Feb"),g.a("MarchShort","Mar"),g.a("AprilShort","Apr"),g.a("MayShort","May"),g.a("JuneShort","Jun"),g.a("JulyShort","Jul"),g.a("AugustShort","Aug"),g.a("SeptemberShort","Sep"),g.a("OctoberShort","Oct"),g.a("NovemberShort","Nov"),g.a("DecemberShort","Dec")],e}(),b=o(26),E=o(177),C=o(22),S=function(){function e(e,t,o){this._nestingLevel=1,this._editor=e,this._snippet=t,this._offset=o,this._placeholderGroups=Object(d.j)(t.placeholders,u.b.compareByIndex),this._placeholderGroupsIdx=-1}return e.prototype.dispose=function(){if(this._placeholderDecorations){var e=[];this._placeholderDecorations.forEach((function(t){return e.push(t)})),this._editor.deltaDecorations(e,[])}this._placeholderGroups.length=0},e.prototype._initDecorations=function(){var t=this;if(!this._placeholderDecorations){this._placeholderDecorations=new Map;var o=this._editor.getModel();this._editor.changeDecorations((function(n){for(var i=0,r=t._snippet.placeholders;i<r.length;i++){var s=r[i],a=t._snippet.offset(s),l=t._snippet.fullLen(s),u=h.a.fromPositions(o.getPositionAt(t._offset+a),o.getPositionAt(t._offset+a+l)),c=s.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive,d=n.addDecoration(u,c);t._placeholderDecorations.set(s,d)}}))}},e.prototype.move=function(t){var o=this;if(this._initDecorations(),this._placeholderGroupsIdx>=0){for(var n=[],i=0,r=this._placeholderGroups[this._placeholderGroupsIdx];i<r.length;i++){var s=r[i];if(s.transform){var a=this._placeholderDecorations.get(s),u=this._editor.getModel().getDecorationRange(a),h=this._editor.getModel().getValueInRange(u);n.push(l.a.replaceMove(u,s.transform.resolve(h)))}}n.length>0&&this._editor.executeEdits("snippet.placeholderTransform",n)}return!0===t&&this._placeholderGroupsIdx<this._placeholderGroups.length-1?this._placeholderGroupsIdx+=1:!1===t&&this._placeholderGroupsIdx>0&&(this._placeholderGroupsIdx-=1),this._editor.getModel().changeDecorations((function(t){for(var n=new Set,i=[],r=0,s=o._placeholderGroups[o._placeholderGroupsIdx];r<s.length;r++){var a=s[r],l=o._placeholderDecorations.get(a),u=o._editor.getModel().getDecorationRange(l);i.push(new c.a(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn)),t.changeDecorationOptions(l,a.isFinalTabstop?e._decor.activeFinal:e._decor.active),n.add(a);for(var h=0,d=o._snippet.enclosingPlaceholders(a);h<d.length;h++){var g=d[h],p=o._placeholderDecorations.get(g);t.changeDecorationOptions(p,g.isFinalTabstop?e._decor.activeFinal:e._decor.active),n.add(g)}}return o._placeholderDecorations.forEach((function(o,i){n.has(i)||t.changeDecorationOptions(o,i.isFinalTabstop?e._decor.inactiveFinal:e._decor.inactive)})),i}))},Object.defineProperty(e.prototype,"isAtFirstPlaceholder",{get:function(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAtLastPlaceholder",{get:function(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPlaceholder",{get:function(){return this._snippet.placeholders.length>0},enumerable:!0,configurable:!0}),e.prototype.computePossibleSelections=function(){for(var e=new Map,t=0,o=this._placeholderGroups;t<o.length;t++)for(var n=void 0,i=0,r=o[t];i<r.length;i++){var s=r[i];if(s.isFinalTabstop)break;n||(n=[],e.set(s.index,n));var a=this._placeholderDecorations.get(s),l=this._editor.getModel().getDecorationRange(a);if(!l){e.delete(s.index);break}n.push(l)}return e},Object.defineProperty(e.prototype,"choice",{get:function(){return this._placeholderGroups[this._placeholderGroupsIdx][0].choice},enumerable:!0,configurable:!0}),e.prototype.merge=function(t){var o=this,n=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((function(i){for(var r=0,s=o._placeholderGroups[o._placeholderGroupsIdx];r<s.length;r++){var a=s[r],l=t.shift();console.assert(!l._placeholderDecorations);for(var c=0,g=l._snippet.placeholderInfo.all;c<g.length;c++){var p=g[c];p.isFinalTabstop?p.index=a.index+(l._snippet.placeholderInfo.last.index+1)/o._nestingLevel:p.index=a.index+p.index/o._nestingLevel}o._snippet.replace(a,l._snippet.children);var f=o._placeholderDecorations.get(a);i.removeDecoration(f),o._placeholderDecorations.delete(a);for(var m=0,_=l._snippet.placeholders;m<_.length;m++){var y=_[m],v=l._snippet.offset(y),b=l._snippet.fullLen(y),E=h.a.fromPositions(n.getPositionAt(l._offset+v),n.getPositionAt(l._offset+v+b)),C=i.addDecoration(E,e._decor.inactive);o._placeholderDecorations.set(y,C)}}o._placeholderGroups=Object(d.j)(o._snippet.placeholders,u.b.compareByIndex)}))},e._decor={active:b.a.register({stickiness:a.h.AlwaysGrowsWhenTypingAtEdges,className:"snippet-placeholder"}),inactive:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"snippet-placeholder"}),activeFinal:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"finish-snippet-placeholder"}),inactiveFinal:b.a.register({stickiness:a.h.NeverGrowsWhenTypingAtEdges,className:"finish-snippet-placeholder"})},e}(),T=function(){function e(e,t,o,n){void 0===o&&(o=0),void 0===n&&(n=0),this._templateMerges=[],this._snippets=[],this._editor=e,this._template=t,this._overwriteBefore=o,this._overwriteAfter=n}return e.adjustWhitespace2=function(e,t,o){var n=e.getLineContent(t.lineNumber),i=Object(s.getLeadingWhitespace)(n,0,t.column-1);o.walk((function(t){if(t instanceof u.d&&!(t.parent instanceof u.a)){for(var o=t.value.split(/\r\n|\r|\n/),n=1;n<o.length;n++){var r=Object(s.getLeadingWhitespace)(o[n]);o[n]=e.normalizeIndentation(i+r)+o[n].substr(r.length)}var a=o.join(e.getEOL());a!==t.value&&t.parent.replace(t,[new u.d(a)])}return!0}))},e.adjustSelection=function(e,t,o,n){if(0!==o||0!==n){var i=t.positionLineNumber,r=t.positionColumn,s=r-o,a=r+n,l=e.validateRange({startLineNumber:i,startColumn:s,endLineNumber:i,endColumn:a});t=c.a.createWithDirection(l.startLineNumber,l.startColumn,l.endLineNumber,l.endColumn,t.getDirection())}return t},e.createEditsAndSnippets=function(t,o,n,i,r){for(var s=t.getModel(),a=[],c=[],d=new _(s),g=t.invokeWithinContext((function(e){return e.get(E.a,C.d)})),p=0,b=s.getValueInRange(e.adjustSelection(s,t.getSelection(),n,0)),T=s.getValueInRange(e.adjustSelection(s,t.getSelection(),0,i)),w=t.getSelections().map((function(e,t){return{selection:e,idx:t}})).sort((function(e,t){return h.a.compareRangesUsingStarts(e.selection,t.selection)})),k=0,O=w;k<O.length;k++){var R=O[k],N=R.selection,L=R.idx,I=e.adjustSelection(s,N,n,0),D=e.adjustSelection(s,N,0,i);b!==s.getValueInRange(I)&&(I=N),T!==s.getValueInRange(D)&&(D=N);var A=N.setStartPosition(I.startLineNumber,I.startColumn).setEndPosition(D.endLineNumber,D.endColumn),P=(new u.c).parse(o,!0,r),M=A.getStartPosition();e.adjustWhitespace2(s,M,P),P.resolveVariables(new f([d,new y(g,L,w.length),new m(s,N),new v]));var x=s.getOffsetAt(M)+p;p+=P.toString().length-s.getValueLengthInRange(A),a[L]=l.a.replace(A,P.toString()),c[L]=new S(t,P,x)}return{edits:a,snippets:c}},e.prototype.dispose=function(){Object(r.d)(this._snippets)},e.prototype._logInfo=function(){return'template="'+this._template+'", merged_templates="'+this._templateMerges.join(" -> ")+'"'},e.prototype.insert=function(){var t=this,o=this._editor.getModel(),n=e.createEditsAndSnippets(this._editor,this._template,this._overwriteBefore,this._overwriteAfter,!1),i=n.edits,r=n.snippets;this._snippets=r;var s=o.pushEditOperations(this._editor.getSelections(),i,(function(e){return t._snippets[0].hasPlaceholder?t._move(!0):e.map((function(e){return c.a.fromPositions(e.range.getEndPosition())}))}));this._editor.setSelections(s),this._editor.revealRange(s[0])},e.prototype.merge=function(t,o,n){var i=this;void 0===o&&(o=0),void 0===n&&(n=0),this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);var r=e.createEditsAndSnippets(this._editor,t,o,n,!0),s=r.edits,a=r.snippets;this._editor.setSelections(this._editor.getModel().pushEditOperations(this._editor.getSelections(),s,(function(e){for(var t=0,o=i._snippets;t<o.length;t++){o[t].merge(a)}return console.assert(0===a.length),i._snippets[0].hasPlaceholder?i._move(void 0):e.map((function(e){return c.a.fromPositions(e.range.getEndPosition())}))})))},e.prototype.next=function(){var e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype.prev=function(){var e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())},e.prototype._move=function(e){for(var t=[],o=0,n=this._snippets;o<n.length;o++){var i=n[o].move(e);t.push.apply(t,i)}return t},Object.defineProperty(e.prototype,"isAtFirstPlaceholder",{get:function(){return this._snippets[0].isAtFirstPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAtLastPlaceholder",{get:function(){return this._snippets[0].isAtLastPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasPlaceholder",{get:function(){return this._snippets[0].hasPlaceholder},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"choice",{get:function(){return this._snippets[0].choice},enumerable:!0,configurable:!0}),e.prototype.isSelectionWithinPlaceholders=function(){if(!this.hasPlaceholder)return!1;var e,t=this._editor.getSelections();if(t.length<this._snippets.length)return!1;for(var o=function(o){var n=o.computePossibleSelections();if(e||(e=new Map,n.forEach((function(o,n){o.sort(h.a.compareRangesUsingStarts);for(var i=0,r=t;i<r.length;i++){var s=r[i];if(o[0].containsRange(s)){e.set(n,[]);break}}}))),0===e.size)return{value:!1};e.forEach((function(e,t){e.push.apply(e,n.get(t))}))},n=0,i=this._snippets;n<i.length;n++){var r=o(i[n]);if("object"==typeof r)return r.value}return t.sort(h.a.compareRangesUsingStarts),e.forEach((function(o,n){if(o.length===t.length){o.sort(h.a.compareRangesUsingStarts);for(var i=0;i<o.length;i++)if(!o[i].containsRange(t[i]))return void e.delete(n)}else e.delete(n)})),e.size>0},e}(),w=o(5),k=o(47),O=o(135);o.d(t,"SnippetController2",(function(){return L}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},N=function(e,t){return function(o,n){t(o,n,e)}},L=function(){function e(t,o,n){this._editor=t,this._logService=o,this._snippetListener=[],this._inSnippet=e.InSnippetMode.bindTo(n),this._hasNextTabstop=e.HasNextTabstop.bindTo(n),this._hasPrevTabstop=e.HasPrevTabstop.bindTo(n)}return e.get=function(e){return e.getContribution("snippetController2")},e.prototype.dispose=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(r.d)(this._session)},e.prototype.getId=function(){return"snippetController2"},e.prototype.insert=function(e,t,o,n,i){void 0===t&&(t=0),void 0===o&&(o=0),void 0===n&&(n=!0),void 0===i&&(i=!0);try{this._doInsert(e,t,o,n,i)}catch(t){this.cancel(),this._logService.error(t),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"<no_session>")}},e.prototype._doInsert=function(e,t,o,n,i){var s=this;void 0===t&&(t=0),void 0===o&&(o=0),void 0===n&&(n=!0),void 0===i&&(i=!0),this._snippetListener=Object(r.d)(this._snippetListener),n&&this._editor.getModel().pushStackElement(),this._session?this._session.merge(e,t,o):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new T(this._editor,e,t,o),this._session.insert()),i&&this._editor.getModel().pushStackElement(),this._updateState(),this._snippetListener=[this._editor.onDidChangeModelContent((function(e){return e.isFlush&&s.cancel()})),this._editor.onDidChangeModel((function(){return s.cancel()})),this._editor.onDidChangeCursorSelection((function(){return s._updateState()}))]},e.prototype._updateState=function(){if(this._session){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}},e.prototype._handleChoice=function(){var e=this._session.choice;if(e){if(this._currentChoice!==e){this._currentChoice=e,this._editor.setSelections(this._editor.getSelections().map((function(e){return c.a.fromPositions(e.getStartPosition())})));var t=e.options[0];Object(k.e)(this._editor,e.options.map((function(e,o){return{type:"value",label:e.value,insertText:e.value,sortText:Object(s.repeat)("a",o),overwriteAfter:t.value.length}})))}}else this._currentChoice=void 0},e.prototype.finish=function(){for(;this._inSnippet.get();)this.next()},e.prototype.cancel=function(){this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),Object(r.d)(this._snippetListener),Object(r.d)(this._session),this._session=void 0,this._modelVersionId=-1},e.prototype.prev=function(){this._session.prev(),this._updateState()},e.prototype.next=function(){this._session.next(),this._updateState()},e.prototype.isInSnippet=function(){return this._inSnippet.get()},e.InSnippetMode=new n.f("inSnippetMode",!1),e.HasNextTabstop=new n.f("hasNextTabstop",!1),e.HasPrevTabstop=new n.f("hasPrevTabstop",!1),e=R([N(1,O.a),N(2,n.e)],e)}();Object(i.h)(L);var I=i.c.bindToContribution(L.get);Object(i.g)(new I({id:"jumpToNextSnippetPlaceholder",precondition:n.d.and(L.InSnippetMode,L.HasNextTabstop),handler:function(e){return e.next()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:2}})),Object(i.g)(new I({id:"jumpToPrevSnippetPlaceholder",precondition:n.d.and(L.InSnippetMode,L.HasPrevTabstop),handler:function(e){return e.prev()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:1026}})),Object(i.g)(new I({id:"leaveSnippet",precondition:L.InSnippetMode,handler:function(e){return e.cancel()},kbOpts:{weight:130,kbExpr:w.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(i.g)(new I({id:"acceptSnippet",precondition:L.InSnippetMode,handler:function(e){return e.finish()}}))},function(e,t,o){"use strict";o(449),o(450);var n,i=o(0),r=o(1),s=o(13),a=o(4),l=o(6),u=o(10),c=o(22),h=o(117),d=o(12),g=o(70),p=o(8),f=o(20),m=o(9),_=o(2),y=o(23),v=o(18),b=function(){function e(e){this.modelState=null,this.viewState=null,this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new f.f(new _.a(1,1,1,1),0,new m.a(1,1),0),new f.f(new _.a(1,1,1,1),0,new m.a(1,1),0))}return e.prototype.dispose=function(e){this._removeTrackedRange(e)},e.prototype.startTrackingSelection=function(e){this._trackSelection=!0,this._updateTrackedRange(e)},e.prototype.stopTrackingSelection=function(e){this._trackSelection=!1,this._removeTrackedRange(e)},e.prototype._updateTrackedRange=function(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,v.h.AlwaysGrowsWhenTypingAtEdges))},e.prototype._removeTrackedRange=function(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,v.h.AlwaysGrowsWhenTypingAtEdges)},e.prototype.asCursorState=function(){return new f.d(this.modelState,this.viewState)},e.prototype.readSelectionFromMarkers=function(e){var t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.getDirection()===y.b.LTR?new y.a(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new y.a(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)},e.prototype.ensureValidState=function(e){this._setState(e,this.modelState,this.viewState)},e.prototype.setState=function(e,t,o){this._setState(e,t,o)},e.prototype._setState=function(e,t,o){if(t){r=e.model.validateRange(t.selectionStart);var n=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,i=(s=e.model.validatePosition(t.position),t.position.equals(s)?t.leftoverVisibleColumns:0);t=new f.f(r,n,s,i)}else{var r=e.model.validateRange(e.convertViewRangeToModelRange(o.selectionStart)),s=e.model.validatePosition(e.convertViewPositionToModelPosition(o.position.lineNumber,o.position.column));t=new f.f(r,o.selectionStartLeftoverVisibleColumns,s,o.leftoverVisibleColumns)}if(o){u=e.validateViewRange(o.selectionStart,t.selectionStart),c=e.validateViewPosition(o.position,t.position);o=new f.f(u,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}else{var a=e.convertModelPositionToViewPosition(new m.a(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),l=e.convertModelPositionToViewPosition(new m.a(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),u=new _.a(a.lineNumber,a.column,l.lineNumber,l.column),c=e.convertModelPositionToViewPosition(t.position);o=new f.f(u,t.selectionStartLeftoverVisibleColumns,c,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=o,this._updateTrackedRange(e)},e}(),E=function(){function e(e){this.context=e,this.primaryCursor=new b(e),this.secondaryCursors=[],this.lastAddedCursorIndex=0}return e.prototype.dispose=function(){this.primaryCursor.dispose(this.context),this.killSecondaryCursors()},e.prototype.startTrackingSelections=function(){this.primaryCursor.startTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].startTrackingSelection(this.context)},e.prototype.stopTrackingSelections=function(){this.primaryCursor.stopTrackingSelection(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].stopTrackingSelection(this.context)},e.prototype.updateContext=function(e){this.context=e},e.prototype.ensureValidState=function(){this.primaryCursor.ensureValidState(this.context);for(var e=0,t=this.secondaryCursors.length;e<t;e++)this.secondaryCursors[e].ensureValidState(this.context)},e.prototype.readSelectionFromMarkers=function(){var e=[];e[0]=this.primaryCursor.readSelectionFromMarkers(this.context);for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].readSelectionFromMarkers(this.context);return e},e.prototype.getAll=function(){var e=[];e[0]=this.primaryCursor.asCursorState();for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].asCursorState();return e},e.prototype.getViewPositions=function(){var e=[];e[0]=this.primaryCursor.viewState.position;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].viewState.position;return e},e.prototype.getSelections=function(){var e=[];e[0]=this.primaryCursor.modelState.selection;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].modelState.selection;return e},e.prototype.getViewSelections=function(){var e=[];e[0]=this.primaryCursor.viewState.selection;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t].viewState.selection;return e},e.prototype.setSelections=function(e){this.setStates(f.d.fromModelSelections(e))},e.prototype.getPrimaryCursor=function(){return this.primaryCursor.asCursorState()},e.prototype.setStates=function(e){null!==e&&(this.primaryCursor.setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))},e.prototype._setSecondaryStates=function(e){var t=this.secondaryCursors.length,o=e.length;if(t<o)for(var n=o-t,i=0;i<n;i++)this._addSecondaryCursor();else if(t>o){var r=t-o;for(i=0;i<r;i++)this._removeSecondaryCursor(this.secondaryCursors.length-1)}for(i=0;i<o;i++)this.secondaryCursors[i].setState(this.context,e[i].modelState,e[i].viewState)},e.prototype.killSecondaryCursors=function(){this._setSecondaryStates([])},e.prototype._addSecondaryCursor=function(){this.secondaryCursors.push(new b(this.context)),this.lastAddedCursorIndex=this.secondaryCursors.length},e.prototype.getLastAddedCursorIndex=function(){return 0===this.secondaryCursors.length||0===this.lastAddedCursorIndex?0:this.lastAddedCursorIndex},e.prototype._removeSecondaryCursor=function(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.secondaryCursors[e].dispose(this.context),this.secondaryCursors.splice(e,1)},e.prototype._getAll=function(){var e=[];e[0]=this.primaryCursor;for(var t=0,o=this.secondaryCursors.length;t<o;t++)e[t+1]=this.secondaryCursors[t];return e},e.prototype.normalize=function(){if(0!==this.secondaryCursors.length){for(var e=this._getAll(),t=[],o=0,n=e.length;o<n;o++)t.push({index:o,selection:e[o].modelState.selection});t.sort((function(e,t){return e.selection.startLineNumber===t.selection.startLineNumber?e.selection.startColumn-t.selection.startColumn:e.selection.startLineNumber-t.selection.startLineNumber}));for(var i=0;i<t.length-1;i++){var r=t[i],s=t[i+1],a=r.selection,l=s.selection;if(this.context.config.multiCursorMergeOverlapping){if(l.isEmpty()||a.isEmpty()?l.getStartPosition().isBeforeOrEqual(a.getEndPosition()):l.getStartPosition().isBefore(a.getEndPosition())){var u=r.index<s.index?i:i+1,c=r.index<s.index?i+1:i,h=t[c].index,d=t[u].index,g=t[c].selection,p=t[u].selection;if(!g.equalsSelection(p)){var m=g.plusRange(p),_=g.selectionStartLineNumber===g.startLineNumber&&g.selectionStartColumn===g.startColumn,v=p.selectionStartLineNumber===p.startLineNumber&&p.selectionStartColumn===p.startColumn,b=void 0;h===this.lastAddedCursorIndex?(b=_,this.lastAddedCursorIndex=d):b=v;var E=void 0;E=b?new y.a(m.startLineNumber,m.startColumn,m.endLineNumber,m.endColumn):new y.a(m.endLineNumber,m.endColumn,m.startLineNumber,m.startColumn),t[u].selection=E;var C=f.d.fromModelSelection(E);e[d].setState(this.context,C.modelState,C.viewState)}for(var S=0;S<t.length;S++)t[S].index>h&&t[S].index--;e.splice(h,1),t.splice(c,1),this._removeSecondaryCursor(h-1),i--}}}}},e}(),C=o(52),S=o(176),T=o(95),w=o(35),k=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),O=function(e){this.type=1,this.canUseLayerHinting=e.canUseLayerHinting,this.pixelRatio=e.pixelRatio,this.editorClassName=e.editorClassName,this.lineHeight=e.lineHeight,this.readOnly=e.readOnly,this.accessibilitySupport=e.accessibilitySupport,this.emptySelectionClipboard=e.emptySelectionClipboard,this.layoutInfo=e.layoutInfo,this.fontInfo=e.fontInfo,this.viewInfo=e.viewInfo,this.wrappingInfo=e.wrappingInfo},R=function(e){this.type=2,this.selections=e},N=function(){this.type=3},L=function(){this.type=4},I=function(e){this.type=5,this.isFocused=e},D=function(){this.type=6},A=function(e,t){this.type=7,this.fromLineNumber=e,this.toLineNumber=t},P=function(e,t){this.type=8,this.fromLineNumber=e,this.toLineNumber=t},M=function(e,t){this.type=9,this.fromLineNumber=e,this.toLineNumber=t},x=function(e,t,o,n){this.type=10,this.range=e,this.verticalType=t,this.revealHorizontal=o,this.scrollType=n},B=function(e){this.type=11,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged},F=function(e){this.type=12,this.ranges=e},H=function(){this.type=15},U=function(){this.type=13},V=function(){this.type=14},W=function(){this.type=16},j=function(e){function t(){var t=e.call(this)||this;return t._listeners=[],t._collector=null,t._collectorCnt=0,t}return k(t,e),t.prototype.dispose=function(){this._listeners=[],e.prototype.dispose.call(this)},t.prototype._beginEmit=function(){return this._collectorCnt++,1===this._collectorCnt&&(this._collector=new G),this._collector},t.prototype._endEmit=function(){if(this._collectorCnt--,0===this._collectorCnt){var e=this._collector.finalize();this._collector=null,e.length>0&&this._emit(e)}},t.prototype._emit=function(e){for(var t=this._listeners.slice(0),o=0,n=t.length;o<n;o++)z(t[o],e)},t.prototype.addEventListener=function(e){var t=this;return this._listeners.push(e),Object(l.f)((function(){for(var o=t._listeners,n=0,i=o.length;n<i;n++)if(o[n]===e){o.splice(n,1);break}}))},t}(l.a),G=function(){function e(){this._eventsLen=0,this._events=[],this._eventsLen=0}return e.prototype.emit=function(e){this._events[this._eventsLen++]=e},e.prototype.finalize=function(){var e=this._events;return this._events=null,e},e}();function z(e,t){try{e(t)}catch(e){s.e(e)}}var K=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var Y=function(e,t,o){this.selections=e,this.source=t,this.reason=o},X=function(){function e(e,t){this.modelVersionId=e.getVersionId(),this.cursorState=t.getAll()}return e.prototype.equals=function(e){if(!e)return!1;if(this.modelVersionId!==e.modelVersionId)return!1;if(this.cursorState.length!==e.cursorState.length)return!1;for(var t=0,o=this.cursorState.length;t<o;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0},e}(),q=function(e){function t(t,o,n){var i=e.call(this)||this;i._onDidReachMaxCursorCount=i._register(new a.a),i.onDidReachMaxCursorCount=i._onDidReachMaxCursorCount.event,i._onDidAttemptReadOnlyEdit=i._register(new a.a),i.onDidAttemptReadOnlyEdit=i._onDidAttemptReadOnlyEdit.event,i._onDidChange=i._register(new a.a),i.onDidChange=i._onDidChange.event,i._configuration=t,i._model=o,i._knownModelVersionId=i._model.getVersionId(),i._viewModel=n,i.context=new f.c(i._configuration,i._model,i._viewModel),i._cursors=new E(i.context),i._isHandling=!1,i._isDoingComposition=!1,i._columnSelectData=null,i._prevEditOperationType=0,i._register(i._model.onDidChangeRawContent((function(e){if(i._knownModelVersionId=e.versionId,!i._isHandling){var t=e.containsEvent(1);i._onModelContentChanged(t)}}))),i._register(n.addEventListener((function(e){(function(e){for(var t=0,o=e.length;t<o;t++)if(6===e[t].type)return!0;return!1})(e)&&i._knownModelVersionId===i._model.getVersionId()&&i.setStates("viewModel",w.a.NotSet,i.getAll())})));var r=function(){i.context=new f.c(i._configuration,i._model,i._viewModel),i._cursors.updateContext(i.context)};return i._register(i._model.onDidChangeLanguage((function(e){r()}))),i._register(i._model.onDidChangeLanguageConfiguration((function(){r()}))),i._register(i._model.onDidChangeOptions((function(){r()}))),i._register(i._configuration.onDidChange((function(e){f.b.shouldRecreate(e)&&r()}))),i}return K(t,e),t.prototype.dispose=function(){this._cursors.dispose(),e.prototype.dispose.call(this)},t.prototype.getPrimaryCursor=function(){return this._cursors.getPrimaryCursor()},t.prototype.getLastAddedCursorIndex=function(){return this._cursors.getLastAddedCursorIndex()},t.prototype.getAll=function(){return this._cursors.getAll()},t.prototype.setStates=function(e,o,n){n.length>t.MAX_CURSOR_COUNT&&(n=n.slice(0,t.MAX_CURSOR_COUNT),this._onDidReachMaxCursorCount.fire(void 0));var i=new X(this._model,this);this._cursors.setStates(n),this._cursors.normalize(),this._columnSelectData=null,this._emitStateChangedIfNecessary(e,o,i)},t.prototype.setColumnSelectData=function(e){this._columnSelectData=e},t.prototype.reveal=function(e,t,o){this._revealRange(t,0,e,o)},t.prototype.revealRange=function(e,t,o,n){this.emitCursorRevealRange(t,o,e,n)},t.prototype.scrollTo=function(e){this._viewModel.viewLayout.setScrollPositionSmooth({scrollTop:e})},t.prototype.saveState=function(){for(var e=[],t=this._cursors.getSelections(),o=0,n=t.length;o<n;o++){var i=t[o];e.push({inSelectionMode:!i.isEmpty(),selectionStart:{lineNumber:i.selectionStartLineNumber,column:i.selectionStartColumn},position:{lineNumber:i.positionLineNumber,column:i.positionColumn}})}return e},t.prototype.restoreState=function(e){for(var t=[],o=0,n=e.length;o<n;o++){var i=e[o],r=1,s=1;i.position&&i.position.lineNumber&&(r=i.position.lineNumber),i.position&&i.position.column&&(s=i.position.column);var a=r,l=s;i.selectionStart&&i.selectionStart.lineNumber&&(a=i.selectionStart.lineNumber),i.selectionStart&&i.selectionStart.column&&(l=i.selectionStart.column),t.push({selectionStartLineNumber:a,selectionStartColumn:l,positionLineNumber:r,positionColumn:s})}this.setStates("restoreState",w.a.NotSet,f.d.fromModelSelections(t)),this.reveal(!0,0,1)},t.prototype._onModelContentChanged=function(e){if(this._prevEditOperationType=0,e)this._cursors.dispose(),this._cursors=new E(this.context),this._emitStateChangedIfNecessary("model",w.a.ContentFlush,null);else{var t=this._cursors.readSelectionFromMarkers();this.setStates("modelChange",w.a.RecoverFromMarkers,f.d.fromModelSelections(t))}},t.prototype.getSelection=function(){return this._cursors.getPrimaryCursor().modelState.selection},t.prototype.getColumnSelectData=function(){if(this._columnSelectData)return this._columnSelectData;var e=this._cursors.getPrimaryCursor().viewState.position;return{toViewLineNumber:e.lineNumber,toViewVisualColumn:f.a.visibleColumnFromColumn2(this.context.config,this.context.viewModel,e)}},t.prototype.getSelections=function(){return this._cursors.getSelections()},t.prototype.getViewSelections=function(){return this._cursors.getViewSelections()},t.prototype.getPosition=function(){return this._cursors.getPrimaryCursor().modelState.position},t.prototype.setSelections=function(e,t){this.setStates(e,w.a.NotSet,f.d.fromModelSelections(t))},t.prototype.getPrevEditOperationType=function(){return this._prevEditOperationType},t.prototype.setPrevEditOperationType=function(e){this._prevEditOperationType=e},t.prototype._executeEditOperation=function(e){if(e){e.shouldPushStackElementBefore&&this._model.pushStackElement();var t=$.executeCommands(this._model,this._cursors.getSelections(),e.commands);t&&(this._interpretCommandResult(t),this._prevEditOperationType=e.type),e.shouldPushStackElementAfter&&this._model.pushStackElement()}},t.prototype._interpretCommandResult=function(e){e&&0!==e.length||(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()},t.prototype._emitStateChangedIfNecessary=function(e,t,o){var n=new X(this._model,this);if(n.equals(o))return!1;var i=this._cursors.getSelections(),r=this._cursors.getViewSelections();try{this._beginEmit().emit(new R(r))}finally{this._endEmit()}return o&&o.cursorState.length===n.cursorState.length&&!n.cursorState.some((function(e,t){return!e.modelState.equals(o.cursorState[t].modelState)}))||this._onDidChange.fire(new Y(i,e||"keyboard",t)),!0},t.prototype._revealRange=function(e,t,o,n){var i=this._cursors.getViewPositions(),r=i[0];if(1===e)for(var s=1;s<i.length;s++)i[s].isBefore(r)&&(r=i[s]);else if(2===e)for(s=1;s<i.length;s++)r.isBeforeOrEqual(i[s])&&(r=i[s]);else if(i.length>1)return;var a=new _.a(r.lineNumber,r.column,r.lineNumber,r.column);this.emitCursorRevealRange(a,t,o,n)},t.prototype.emitCursorRevealRange=function(e,t,o,n){try{this._beginEmit().emit(new x(e,t,o,n))}finally{this._endEmit()}},t.prototype.trigger=function(e,t,o){var n=C.b;if(t!==n.CompositionStart)if(t===n.CompositionEnd&&(this._isDoingComposition=!1),this._configuration.editor.readOnly)this._onDidAttemptReadOnlyEdit.fire(void 0);else{var i=new X(this._model,this),r=w.a.NotSet;t!==n.Undo&&t!==n.Redo&&this._cursors.stopTrackingSelections(),this._cursors.ensureValidState(),this._isHandling=!0;try{switch(t){case n.Type:this._type(e,o.text);break;case n.ReplacePreviousChar:this._replacePreviousChar(o.text,o.replaceCharCnt);break;case n.Paste:r=w.a.Paste,this._paste(o.text,o.pasteOnNewLine,o.multicursorText);break;case n.Cut:this._cut();break;case n.Undo:r=w.a.Undo,this._interpretCommandResult(this._model.undo());break;case n.Redo:r=w.a.Redo,this._interpretCommandResult(this._model.redo());break;case n.ExecuteCommand:this._externalExecuteCommand(o);break;case n.ExecuteCommands:this._externalExecuteCommands(o);break;case n.CompositionEnd:this._interpretCompositionEnd(e)}}catch(e){Object(s.e)(e)}this._isHandling=!1,t!==n.Undo&&t!==n.Redo&&this._cursors.startTrackingSelections(),this._emitStateChangedIfNecessary(e,r,i)&&this._revealRange(0,0,!0,0)}else this._isDoingComposition=!0},t.prototype._interpretCompositionEnd=function(e){this._isDoingComposition||"keyboard"!==e||this._executeEditOperation(T.a.compositionEndWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections()))},t.prototype._type=function(e,t){if(this._isDoingComposition||"keyboard"!==e)this._executeEditOperation(T.a.typeWithoutInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),t));else for(var o=0,n=t.length;o<n;o++){var i=t.charCodeAt(o),r=void 0;p.isHighSurrogate(i)&&o+1<n?(r=t.charAt(o)+t.charAt(o+1),o++):r=t.charAt(o),this._executeEditOperation(T.a.typeWithInterceptors(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),r))}},t.prototype._replacePreviousChar=function(e,t){this._executeEditOperation(T.a.replacePreviousChar(this._prevEditOperationType,this.context.config,this.context.model,this.getSelections(),e,t))},t.prototype._paste=function(e,t,o){this._executeEditOperation(T.a.paste(this.context.config,this.context.model,this.getSelections(),e,t,o))},t.prototype._cut=function(){this._executeEditOperation(S.a.cut(this.context.config,this.context.model,this.getSelections()))},t.prototype._externalExecuteCommand=function(e){this._cursors.killSecondaryCursors(),this._executeEditOperation(new f.e(0,[e],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.prototype._externalExecuteCommands=function(e){this._executeEditOperation(new f.e(0,e,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},t.MAX_CURSOR_COUNT=1e4,t}(j),$=function(){function e(){}return e.executeCommands=function(e,t,o){for(var n={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},i=this._innerExecuteCommands(n,o),r=0,s=n.trackedRanges.length;r<s;r++)n.model._setTrackedRange(n.trackedRanges[r],null,v.h.AlwaysGrowsWhenTypingAtEdges);return i},e._innerExecuteCommands=function(e,t){if(this._arrayIsEmpty(t))return null;var o=this._getEditOperations(e,t);if(0===o.operations.length)return null;var n=o.operations,i=this._getLoserCursorMap(n);if(i.hasOwnProperty("0"))return console.warn("Ignoring commands"),null;for(var r=[],s=0,a=n.length;s<a;s++)i.hasOwnProperty(n[s].identifier.major.toString())||r.push(n[s]);o.hadTrackedEditOperation&&r.length>0&&(r[0]._isTracked=!0);var l=e.model.pushEditOperations(e.selectionsBefore,r,(function(o){for(var n=[],i=0;i<e.selectionsBefore.length;i++)n[i]=[];for(i=0;i<o.length;i++){var r=o[i];r.identifier&&n[r.identifier.major].push(r)}var s=function(e,t){return e.identifier.minor-t.identifier.minor},a=[],l=function(o){n[o].length>0?(n[o].sort(s),a[o]=t[o].computeCursorState(e.model,{getInverseEditOperations:function(){return n[o]},getTrackedSelection:function(t){var o=parseInt(t,10),n=e.model._getTrackedRange(e.trackedRanges[o]);return e.trackedRangesDirection[o]===y.b.LTR?new y.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new y.a(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn)}})):a[o]=e.selectionsBefore[o]};for(i=0;i<e.selectionsBefore.length;i++)l(i);return a})),u=[];for(var c in i)i.hasOwnProperty(c)&&u.push(parseInt(c,10));u.sort((function(e,t){return t-e}));for(s=0;s<u.length;s++)l.splice(u[s],1);return l},e._arrayIsEmpty=function(e){for(var t=0,o=e.length;t<o;t++)if(e[t])return!1;return!0},e._getEditOperations=function(e,t){for(var o=[],n=!1,i=0,r=t.length;i<r;i++)if(t[i]){var s=this._getEditOperationsFromCommand(e,i,t[i]);o=o.concat(s.operations),n=n||s.hadTrackedEditOperation}return{operations:o,hadTrackedEditOperation:n}},e._getEditOperationsFromCommand=function(e,t,o){var n=[],r=0,a=function(e,i){e.isEmpty()&&""===i||n.push({identifier:{major:t,minor:r++},range:e,text:i,forceMoveMarkers:!1,isAutoWhitespaceEdit:o.insertsAutoWhitespace})},l=!1,u={addEditOperation:a,addTrackedEditOperation:function(e,t){l=!0,a(e,t)},trackSelection:function(t,o){var n;if(t.isEmpty())if("boolean"==typeof o)n=o?v.h.GrowsOnlyWhenTypingBefore:v.h.GrowsOnlyWhenTypingAfter;else{var i=e.model.getLineMaxColumn(t.startLineNumber);n=t.startColumn===i?v.h.GrowsOnlyWhenTypingBefore:v.h.GrowsOnlyWhenTypingAfter}else n=v.h.NeverGrowsWhenTypingAtEdges;var r=e.trackedRanges.length,s=e.model._setTrackedRange(null,t,n);return e.trackedRanges[r]=s,e.trackedRangesDirection[r]=t.getDirection(),r.toString()}};try{o.getEditOperations(e.model,u)}catch(e){return e.friendlyMessage=i.a("corrupt.commands","Unexpected exception while executing command."),Object(s.e)(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:n,hadTrackedEditOperation:l}},e._getLoserCursorMap=function(e){(e=e.slice(0)).sort((function(e,t){return-_.a.compareRangesUsingEnds(e.range,t.range)}));for(var t={},o=1;o<e.length;o++){var n=e[o-1],i=e[o];if(n.range.getStartPosition().isBefore(i.range.getEndPosition())){var r=void 0;t[(r=n.identifier.major>i.identifier.major?n.identifier.major:i.identifier.major).toString()]=!0;for(var s=0;s<e.length;s++)e[s].identifier.major===r&&(e.splice(s,1),s<o&&o--,s--);o>0&&o--}}return t},e}(),J=o(11),Z=o(205),Q=o(54),ee=function(){function e(e,t,o,n,i){this.editorId=e,this.model=t,this.configuration=o,this._linesCollection=n,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}return e.prototype._clearCachedModelDecorationsResolver=function(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null},e.prototype.dispose=function(){this._decorationsCache=null,this._clearCachedModelDecorationsResolver()},e.prototype.reset=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onModelDecorationsChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype.onLineMappingChanged=function(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()},e.prototype._getOrCreateViewModelDecoration=function(e){var t=e.id,o=this._decorationsCache[t];if(!o){var n=e.range,i=e.options,r=void 0;if(i.isWholeLine){var s=this._coordinatesConverter.convertModelPositionToViewPosition(new m.a(n.startLineNumber,1)),a=this._coordinatesConverter.convertModelPositionToViewPosition(new m.a(n.endLineNumber,this.model.getLineMaxColumn(n.endLineNumber)));r=new _.a(s.lineNumber,s.column,a.lineNumber,a.column)}else r=this._coordinatesConverter.convertModelRangeToViewRange(n);o=new Q.e(r,i),this._decorationsCache[t]=o}return o},e.prototype.getDecorationsViewportData=function(e){var t=!0;return(t=(t=t&&null!==this._cachedModelDecorationsResolver)&&e.equalsRange(this._cachedModelDecorationsResolverViewRange))||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver},e.prototype._getDecorationsViewportData=function(e){for(var t=this._linesCollection.getDecorationsInRange(e,this.editorId,this.configuration.editor.readOnly),o=e.startLineNumber,n=e.endLineNumber,i=[],r=0,s=[],a=o;a<=n;a++)s[a-o]=[];for(var l=0,u=t.length;l<u;l++){var c=t[l],h=c.options,d=this._getOrCreateViewModelDecoration(c),g=d.range;if(i[r++]=d,h.inlineClassName){var p=new Q.a(g,h.inlineClassName,h.inlineClassNameAffectsLetterSpacing?3:0),f=Math.max(o,g.startLineNumber),m=Math.min(n,g.endLineNumber);for(a=f;a<=m;a++)s[a-o].push(p)}if(h.beforeContentClassName&&o<=g.startLineNumber&&g.startLineNumber<=n){p=new Q.a(new _.a(g.startLineNumber,g.startColumn,g.startLineNumber,g.startColumn),h.beforeContentClassName,1);s[g.startLineNumber-o].push(p)}if(h.afterContentClassName&&o<=g.endLineNumber&&g.endLineNumber<=n){p=new Q.a(new _.a(g.endLineNumber,g.endColumn,g.endLineNumber,g.endColumn),h.afterContentClassName,2);s[g.endLineNumber-o].push(p)}}return{decorations:i,inlineDecorations:s}},e}(),te=o(158),oe=o(26),ne=o(14),ie=function(e,t){this.outputLineIndex=e,this.outputOffset=t},re=function(){function e(e){this._lines=e}return e.prototype.convertViewPositionToModelPosition=function(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)},e.prototype.convertViewRangeToModelRange=function(e){var t=this._lines.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),o=this._lines.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new _.a(t.lineNumber,t.column,o.lineNumber,o.column)},e.prototype.validateViewPosition=function(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)},e.prototype.validateViewRange=function(e,t){var o=this._lines.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),n=this._lines.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new _.a(o.lineNumber,o.column,n.lineNumber,n.column)},e.prototype.convertModelPositionToViewPosition=function(e){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column)},e.prototype.convertModelRangeToViewRange=function(e){var t=this._lines.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn),o=this._lines.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn);return new _.a(t.lineNumber,t.column,o.lineNumber,o.column)},e.prototype.modelPositionIsVisible=function(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)},e}(),se=function(){function e(e,t,o,n,i,r){this.model=e,this._validModelVersionId=-1,this.tabSize=o,this.wrappingColumn=n,this.columnsForFullWidthChar=i,this.wrappingIndent=r,this.linePositionMapperFactory=t,this._constructLines(!0)}return e.prototype.dispose=function(){this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,[])},e.prototype.createCoordinatesConverter=function(){return new re(this)},e.prototype._ensureValidState=function(){if(this.model.getVersionId()!==this._validModelVersionId)throw new Error("ViewModel is out of sync with Model!")},e.prototype._constructLines=function(e){var t=this;this.lines=[],e&&(this.hiddenAreasIds=[]);for(var o=this.model.getLinesContent(),n=o.length,i=new Uint32Array(n),r=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(_.a.compareRangesUsingStarts),s=1,a=0,l=-1,u=l+1<r.length?a+1:n+2,c=0;c<n;c++){var h=c+1;h===u&&(s=r[++l].startLineNumber,a=r[l].endLineNumber,u=l+1<r.length?a+1:n+2);var d=h>=s&&h<=a,g=ce(this.linePositionMapperFactory,o[c],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!d);i[c]=g.getViewLineCount(),this.lines[c]=g}this._validModelVersionId=this.model.getVersionId(),this.prefixSumComputer=new te.b(i)},e.prototype.getHiddenAreas=function(){var e=this;return this.hiddenAreasIds.map((function(t){return e.model.getDecorationRange(t)}))},e.prototype._reduceRanges=function(e){var t=this;if(0===e.length)return[];for(var o=e.map((function(e){return t.model.validateRange(e)})).sort(_.a.compareRangesUsingStarts),n=[],i=o[0].startLineNumber,r=o[0].endLineNumber,s=1,a=o.length;s<a;s++){var l=o[s];l.startLineNumber>r+1?(n.push(new _.a(i,1,r,1)),i=l.startLineNumber,r=l.endLineNumber):l.endLineNumber>r&&(r=l.endLineNumber)}return n.push(new _.a(i,1,r,1)),n},e.prototype.setHiddenAreas=function(e){var t=this,o=this._reduceRanges(e),n=this.hiddenAreasIds.map((function(e){return t.model.getDecorationRange(e)})).sort(_.a.compareRangesUsingStarts);if(o.length===n.length){for(var i=!1,r=0;r<o.length;r++)if(!o[r].equalsRange(n[r])){i=!0;break}if(!i)return!1}var s=[];for(r=0;r<o.length;r++)s.push({range:o[r],options:oe.a.EMPTY});this.hiddenAreasIds=this.model.deltaDecorations(this.hiddenAreasIds,s);var a=o,l=1,u=0,c=-1,h=c+1<a.length?u+1:this.lines.length+2,d=!1;for(r=0;r<this.lines.length;r++){var g=r+1;g===h&&(l=a[++c].startLineNumber,u=a[c].endLineNumber,h=c+1<a.length?u+1:this.lines.length+2);var p=!1;if(g>=l&&g<=u?this.lines[r].isVisible()&&(this.lines[r]=this.lines[r].setVisible(!1),p=!0):(d=!0,this.lines[r].isVisible()||(this.lines[r]=this.lines[r].setVisible(!0),p=!0)),p){var f=this.lines[r].getViewLineCount();this.prefixSumComputer.changeValue(r,f)}}return d||this.setHiddenAreas([]),!0},e.prototype.modelPositionIsVisible=function(e,t){return!(e<1||e>this.lines.length)&&this.lines[e-1].isVisible()},e.prototype.setTabSize=function(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1),!0)},e.prototype.setWrappingSettings=function(e,t,o){return(this.wrappingIndent!==e||this.wrappingColumn!==t||this.columnsForFullWidthChar!==o)&&(this.wrappingIndent=e,this.wrappingColumn=t,this.columnsForFullWidthChar=o,this._constructLines(!1),!0)},e.prototype.onModelFlushed=function(){this._constructLines(!0)},e.prototype.onModelLinesDeleted=function(e,t,o){if(e<=this._validModelVersionId)return null;var n=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,i=this.prefixSumComputer.getAccumulatedValue(o-1);return this.lines.splice(t-1,o-t+1),this.prefixSumComputer.removeValues(t-1,o-t+1),new P(n,i)},e.prototype.onModelLinesInserted=function(e,t,o,n){if(e<=this._validModelVersionId)return null;for(var i=this.getHiddenAreas(),r=!1,s=new m.a(t,1),a=0;a<i.length;a++)if(i[a].containsPosition(s)){r=!0;break}for(var l=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1,u=0,c=[],h=new Uint32Array(n.length),d=(a=0,n.length);a<d;a++){var g=ce(this.linePositionMapperFactory,n[a],this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,!r);c.push(g);var p=g.getViewLineCount();u+=p,h[a]=p}return this.lines=this.lines.slice(0,t-1).concat(c).concat(this.lines.slice(t-1)),this.prefixSumComputer.insertValues(t-1,h),new M(l,l+u-1)},e.prototype.onModelLineChanged=function(e,t,o){if(e<=this._validModelVersionId)return[!1,null,null,null];var n=t-1,i=this.lines[n].getViewLineCount(),r=this.lines[n].isVisible(),s=ce(this.linePositionMapperFactory,o,this.tabSize,this.wrappingColumn,this.columnsForFullWidthChar,this.wrappingIndent,r);this.lines[n]=s;var a=this.lines[n].getViewLineCount(),l=!1,u=0,c=-1,h=0,d=-1,g=0,p=-1;return i>a?(p=(g=(c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1)+1)+(i-a)-1,l=!0):i<a?(d=(h=(c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+i-1)+1)+(a-i)-1,l=!0):c=(u=1===t?1:this.prefixSumComputer.getAccumulatedValue(t-2)+1)+a-1,this.prefixSumComputer.changeValue(n,a),[l,u<=c?new A(u,c):null,h<=d?new M(h,d):null,g<=p?new P(g,p):null]},e.prototype.acceptVersionId=function(e){this._validModelVersionId=e,1!==this.lines.length||this.lines[0].isVisible()||this.setHiddenAreas([])},e.prototype.getViewLineCount=function(){return this._ensureValidState(),this.prefixSumComputer.getTotalValue()},e.prototype._toValidViewLineNumber=function(e){if(e<1)return 1;var t=this.getViewLineCount();return e>t?t:e},e.prototype.warmUpLookupCache=function(e,t){this.prefixSumComputer.warmUpCache(e-1,t-1)},e.prototype.getActiveIndentGuide=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),o=this._toValidViewLineNumber(o);var n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),r=this.convertViewPositionToModelPosition(o,this.getViewLineMinColumn(o)),s=this.model.getActiveIndentGuide(n.lineNumber,i.lineNumber,r.lineNumber),a=this.convertModelPositionToViewPosition(s.startLineNumber,1),l=this.convertModelPositionToViewPosition(s.endLineNumber,1);return{startLineNumber:a.lineNumber,endLineNumber:l.lineNumber,indent:s.indent}},e.prototype.getViewLinesIndentGuides=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),n=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],r=[],s=[],a=o.lineNumber-1,l=n.lineNumber-1,u=null,c=a;c<=l;c++){var h=this.lines[c];if(h.isVisible()){var d=h.getViewLineNumberOfModelPosition(0,c===a?o.column:1),g=h.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(c+1)),p=0;(C=g-d+1)>1&&1===h.getViewLineMinColumn(this.model,c+1,g)&&(p=0===d?1:2),r.push(C),s.push(p),null===u&&(u=new m.a(c+1,0))}else null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,c)),u=null)}null!==u&&(i=i.concat(this.model.getLinesIndentGuides(u.lineNumber,n.lineNumber)),u=null);for(var f=t-e+1,_=new Array(f),y=0,v=0,b=i.length;v<b;v++){var E=i[v],C=Math.min(f-y,r[v]),S=void 0;S=2===(p=s[v])?0:1===p?1:C;for(var T=0;T<C;T++)T===S&&(E=0),_[y++]=E}return _},e.prototype.getViewLineContent=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineContent(this.model,o+1,n)},e.prototype.getViewLineLength=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineLength(this.model,o+1,n)},e.prototype.getViewLineMinColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineMinColumn(this.model,o+1,n)},e.prototype.getViewLineMaxColumn=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineMaxColumn(this.model,o+1,n)},e.prototype.getViewLineData=function(e){this._ensureValidState(),e=this._toValidViewLineNumber(e);var t=this.prefixSumComputer.getIndexOf(e-1),o=t.index,n=t.remainder;return this.lines[o].getViewLineData(this.model,o+1,n)},e.prototype.getViewLinesData=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);for(var n=this.prefixSumComputer.getIndexOf(e-1),i=e,r=n.index,s=n.remainder,a=[],l=r,u=this.model.getLineCount();l<u;l++){var c=this.lines[l];if(c.isVisible()){var h=l===r?s:0,d=c.getViewLineCount()-h,g=!1;i+d>t&&(g=!0,d=t-i+1);var p=h+d;if(c.getViewLinesData(this.model,l+1,h,p,i-e,o,a),i+=d,g)break}}return a},e.prototype.validateViewPosition=function(e,t,o){this._ensureValidState(),e=this._toValidViewLineNumber(e);var n=this.prefixSumComputer.getIndexOf(e-1),i=n.index,r=n.remainder,s=this.lines[i],a=s.getViewLineMinColumn(this.model,i+1,r),l=s.getViewLineMaxColumn(this.model,i+1,r);t<a&&(t=a),t>l&&(t=l);var u=s.getModelColumnOfViewPosition(r,t);return this.model.validatePosition(new m.a(i+1,u)).equals(o)?new m.a(e,t):this.convertModelPositionToViewPosition(o.lineNumber,o.column)},e.prototype.convertViewPositionToModelPosition=function(e,t){this._ensureValidState(),e=this._toValidViewLineNumber(e);var o=this.prefixSumComputer.getIndexOf(e-1),n=o.index,i=o.remainder,r=this.lines[n].getModelColumnOfViewPosition(i,t);return this.model.validatePosition(new m.a(n+1,r))},e.prototype.convertModelPositionToViewPosition=function(e,t){this._ensureValidState();for(var o=this.model.validatePosition(new m.a(e,t)),n=o.lineNumber,i=o.column,r=n-1,s=!1;r>0&&!this.lines[r].isVisible();)r--,s=!0;if(0===r&&!this.lines[r].isVisible())return new m.a(1,1);var a=1+(0===r?0:this.prefixSumComputer.getAccumulatedValue(r-1));return s?this.lines[r].getViewPositionOfModelPosition(a,this.model.getLineMaxColumn(r+1)):this.lines[n-1].getViewPositionOfModelPosition(a,i)},e.prototype._getViewLineNumberForModelPosition=function(e,t){var o=e-1;if(this.lines[o].isVisible()){var n=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return this.lines[o].getViewLineNumberOfModelPosition(n,t)}for(;o>0&&!this.lines[o].isVisible();)o--;if(0===o&&!this.lines[o].isVisible())return 1;var i=1+(0===o?0:this.prefixSumComputer.getAccumulatedValue(o-1));return this.lines[o].getViewLineNumberOfModelPosition(i,this.model.getLineMaxColumn(o+1))},e.prototype.getAllOverviewRulerDecorations=function(e,t,o){for(var n=this.model.getOverviewRulerDecorations(e,t),i=new ge,r=0,s=n.length;r<s;r++){var a=n[r],l=a.options.overviewRuler,u=l.position;if(0!==u){var c=pe(l,o),h=this._getViewLineNumberForModelPosition(a.range.startLineNumber,a.range.startColumn),d=this._getViewLineNumberForModelPosition(a.range.endLineNumber,a.range.endColumn);i.accept(c,h,d,u)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,o){var n=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(i.lineNumber-n.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new _.a(n.lineNumber,n.column,i.lineNumber,i.column),t,o);for(var r=[],s=n.lineNumber-1,a=i.lineNumber-1,l=null,u=s;u<=a;u++){if(this.lines[u].isVisible())null===l&&(l=new m.a(u+1,u===s?n.column:1));else if(null!==l){var c=this.model.getLineMaxColumn(u);r=r.concat(this.model.getDecorationsInRange(new _.a(l.lineNumber,l.column,u,c),t,o)),l=null}}return null!==l&&(r=r.concat(this.model.getDecorationsInRange(new _.a(l.lineNumber,l.column,i.lineNumber,i.column),t,o)),l=null),r},e}(),ae=function(){function e(){}return e.prototype.isVisible=function(){return!0},e.prototype.setVisible=function(e){return e?this:le.INSTANCE},e.prototype.getViewLineCount=function(){return 1},e.prototype.getViewLineContent=function(e,t,o){return e.getLineContent(t)},e.prototype.getViewLineLength=function(e,t,o){return e.getLineLength(t)},e.prototype.getViewLineMinColumn=function(e,t,o){return e.getLineMinColumn(t)},e.prototype.getViewLineMaxColumn=function(e,t,o){return e.getLineMaxColumn(t)},e.prototype.getViewLineData=function(e,t,o){var n=e.getLineTokens(t),i=n.getLineContent();return new Q.c(i,!1,1,i.length+1,n.inflate())},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){r[i]?s[i]=this.getViewLineData(e,t,0):s[i]=null},e.prototype.getModelColumnOfViewPosition=function(e,t){return t},e.prototype.getViewPositionOfModelPosition=function(e,t){return new m.a(e,t)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){return e},e.INSTANCE=new e,e}(),le=function(){function e(){}return e.prototype.isVisible=function(){return!1},e.prototype.setVisible=function(e){return e?ae.INSTANCE:this},e.prototype.getViewLineCount=function(){return 0},e.prototype.getViewLineContent=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineLength=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineMinColumn=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineMaxColumn=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLineData=function(e,t,o){throw new Error("Not supported")},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){throw new Error("Not supported")},e.prototype.getModelColumnOfViewPosition=function(e,t){throw new Error("Not supported")},e.prototype.getViewPositionOfModelPosition=function(e,t){throw new Error("Not supported")},e.prototype.getViewLineNumberOfModelPosition=function(e,t){throw new Error("Not supported")},e.INSTANCE=new e,e}(),ue=function(){function e(e,t){this.positionMapper=e,this.wrappedIndent=this.positionMapper.getWrappedLinesIndent(),this.wrappedIndentLength=this.wrappedIndent.length,this.outputLineCount=this.positionMapper.getOutputLineCount(),this._isVisible=t}return e.prototype.isVisible=function(){return this._isVisible},e.prototype.setVisible=function(e){return this._isVisible=e,this},e.prototype.getViewLineCount=function(){return this._isVisible?this.outputLineCount:0},e.prototype.getInputStartOffsetOfOutputLineIndex=function(e){return this.positionMapper.getInputOffsetOfOutputPosition(e,0)},e.prototype.getInputEndOffsetOfOutputLineIndex=function(e,t,o){return o+1===this.outputLineCount?e.getLineMaxColumn(t)-1:this.positionMapper.getInputOffsetOfOutputPosition(o+1,0)},e.prototype.getViewLineContent=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o),r=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:i+1});return o>0&&(r=this.wrappedIndent+r),r},e.prototype.getViewLineLength=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o)-n;return o>0&&(i=this.wrappedIndent.length+i),i},e.prototype.getViewLineMinColumn=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");return o>0?this.wrappedIndentLength+1:1},e.prototype.getViewLineMaxColumn=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");return this.getViewLineContent(e,t,o).length+1},e.prototype.getViewLineData=function(e,t,o){if(!this._isVisible)throw new Error("Not supported");var n=this.getInputStartOffsetOfOutputLineIndex(o),i=this.getInputEndOffsetOfOutputLineIndex(e,t,o),r=e.getValueInRange({startLineNumber:t,startColumn:n+1,endLineNumber:t,endColumn:i+1});o>0&&(r=this.wrappedIndent+r);var s=o>0?this.wrappedIndentLength+1:1,a=r.length+1,l=o+1<this.getViewLineCount(),u=0;o>0&&(u=this.wrappedIndentLength);var c=e.getLineTokens(t);return new Q.c(r,l,s,a,c.sliceAndInflate(n,i,u))},e.prototype.getViewLinesData=function(e,t,o,n,i,r,s){if(!this._isVisible)throw new Error("Not supported");for(var a=o;a<n;a++){var l=i+a-o;r[l]?s[l]=this.getViewLineData(e,t,a):s[l]=null}},e.prototype.getModelColumnOfViewPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");var o=t-1;return e>0&&(o<this.wrappedIndentLength?o=0:o-=this.wrappedIndentLength),this.positionMapper.getInputOffsetOfOutputPosition(e,o)+1},e.prototype.getViewPositionOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");var o=this.positionMapper.getOutputPositionOfInputOffset(t-1),n=o.outputLineIndex,i=o.outputOffset+1;return n>0&&(i+=this.wrappedIndentLength),new m.a(e+n,i)},e.prototype.getViewLineNumberOfModelPosition=function(e,t){if(!this._isVisible)throw new Error("Not supported");return e+this.positionMapper.getOutputPositionOfInputOffset(t-1).outputLineIndex},e}();function ce(e,t,o,n,i,r,s){var a=e.createLineMapping(t,o,n,i,r);return null===a?s?ae.INSTANCE:le.INSTANCE:new ue(a,s)}var he=function(){function e(e){this._lines=e}return e.prototype._validPosition=function(e){return this._lines.model.validatePosition(e)},e.prototype._validRange=function(e){return this._lines.model.validateRange(e)},e.prototype.convertViewPositionToModelPosition=function(e){return this._validPosition(e)},e.prototype.convertViewRangeToModelRange=function(e){return this._validRange(e)},e.prototype.validateViewPosition=function(e,t){return this._validPosition(t)},e.prototype.validateViewRange=function(e,t){return this._validRange(t)},e.prototype.convertModelPositionToViewPosition=function(e){return this._validPosition(e)},e.prototype.convertModelRangeToViewRange=function(e){return this._validRange(e)},e.prototype.modelPositionIsVisible=function(e){var t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)},e}(),de=function(){function e(e){this.model=e}return e.prototype.dispose=function(){},e.prototype.createCoordinatesConverter=function(){return new he(this)},e.prototype.getHiddenAreas=function(){return[]},e.prototype.setHiddenAreas=function(e){return!1},e.prototype.setTabSize=function(e){return!1},e.prototype.setWrappingSettings=function(e,t,o){return!1},e.prototype.onModelFlushed=function(){},e.prototype.onModelLinesDeleted=function(e,t,o){return new P(t,o)},e.prototype.onModelLinesInserted=function(e,t,o,n){return new M(t,o)},e.prototype.onModelLineChanged=function(e,t,o){return[!1,new A(t,t),null,null]},e.prototype.acceptVersionId=function(e){},e.prototype.getViewLineCount=function(){return this.model.getLineCount()},e.prototype.warmUpLookupCache=function(e,t){},e.prototype.getActiveIndentGuide=function(e,t,o){return{startLineNumber:e,endLineNumber:e,indent:0}},e.prototype.getViewLinesIndentGuides=function(e,t){for(var o=t-e+1,n=new Array(o),i=0;i<o;i++)n[i]=0;return n},e.prototype.getViewLineContent=function(e){return this.model.getLineContent(e)},e.prototype.getViewLineLength=function(e){return this.model.getLineLength(e)},e.prototype.getViewLineMinColumn=function(e){return this.model.getLineMinColumn(e)},e.prototype.getViewLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},e.prototype.getViewLineData=function(e){var t=this.model.getLineTokens(e),o=t.getLineContent();return new Q.c(o,!1,1,o.length+1,t.inflate())},e.prototype.getViewLinesData=function(e,t,o){var n=this.model.getLineCount();e=Math.min(Math.max(1,e),n),t=Math.min(Math.max(1,t),n);for(var i=[],r=e;r<=t;r++){var s=r-e;o[s]||(i[s]=null),i[s]=this.getViewLineData(r)}return i},e.prototype.getAllOverviewRulerDecorations=function(e,t,o){for(var n=this.model.getOverviewRulerDecorations(e,t),i=new ge,r=0,s=n.length;r<s;r++){var a=n[r],l=a.options.overviewRuler,u=l.position;if(0!==u){var c=pe(l,o),h=a.range.startLineNumber,d=a.range.endLineNumber;i.accept(c,h,d,u)}}return i.result},e.prototype.getDecorationsInRange=function(e,t,o){return this.model.getDecorationsInRange(e,t,o)},e}(),ge=function(){function e(){this.result=Object.create(null)}return e.prototype.accept=function(e,t,o,n){var i=this.result[e];if(i){var r=i[i.length-3],s=i[i.length-1];if(r===n&&s+1>=t)return void(o>s&&(i[i.length-1]=o));i.push(n,t,o)}else this.result[e]=[n,t,o]},e}();function pe(e,t){if(!e._resolvedColor){var o=t.type,n="dark"===o?e.darkColor:"light"===o?e.color:e.hcColor;e._resolvedColor=function(e,t){if("string"==typeof e)return e;var o=e?t.getColor(e.id):null;o||(o=ne.a.transparent);return o.toString()}(n,t)}return e._resolvedColor}var fe=function(){function e(t,o,n,i){this.r=e._clamp(t),this.g=e._clamp(o),this.b=e._clamp(n),this.a=e._clamp(i)}return e._clamp=function(e){return e<0?0:e>255?255:0|e},e}(),me=function(){function e(){var e=this;this._onDidChange=new a.a,this.onDidChange=this._onDidChange.event,this._updateColorMap(),J.y.onDidChange((function(t){t.changedColorMap&&e._updateColorMap()}))}return e.getInstance=function(){return this._INSTANCE||(this._INSTANCE=new e),this._INSTANCE},e.prototype._updateColorMap=function(){var e=J.y.getColorMap();if(!e)return this._colors=[null],void(this._backgroundIsLight=!0);this._colors=[null];for(var t=1;t<e.length;t++){var o=e[t].rgba;this._colors[t]=new fe(o.r,o.g,o.b,Math.round(255*o.a))}var n=e[2].getRelativeLuminance();this._backgroundIsLight=n>=.5,this._onDidChange.fire(void 0)},e.prototype.getColor=function(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]},e.prototype.backgroundIsLight=function(){return this._backgroundIsLight},e._INSTANCE=null,e}(),_e=function(){function e(t,o){if(760!==t.length)throw new Error("Invalid x2CharData");if(190!==o.length)throw new Error("Invalid x1CharData");this.x2charData=t,this.x1charData=o,this.x2charDataLight=e.soften(t,.8),this.x1charDataLight=e.soften(o,50/60)}return e.soften=function(e,t){for(var o=new Uint8ClampedArray(e.length),n=0,i=e.length;n<i;n++)o[n]=e[n]*t;return o},e._getChIndex=function(e){return(e-=32)<0&&(e+=95),e%95},e.prototype.x2RenderChar=function(t,o,n,i,r,s,a){if(o+2>t.width||n+4>t.height)console.warn("bad render request outside image data");else{var l=a?this.x2charDataLight:this.x2charData,u=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,g=s.b,p=r.r-h,f=r.g-d,m=r.b-g,_=t.data,y=4*u*2,v=n*c+4*o,b=l[y]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+1]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+2]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+3]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+4]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+5]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b,v+=c;b=l[y+6]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b;b=l[y+7]/255;_[v+4]=h+p*b,_[v+5]=d+f*b,_[v+6]=g+m*b}},e.prototype.x1RenderChar=function(t,o,n,i,r,s,a){if(o+1>t.width||n+2>t.height)console.warn("bad render request outside image data");else{var l=a?this.x1charDataLight:this.x1charData,u=e._getChIndex(i),c=4*t.width,h=s.r,d=s.g,g=s.b,p=r.r-h,f=r.g-d,m=r.b-g,_=t.data,y=2*u*1,v=n*c+4*o,b=l[y]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b,v+=c;b=l[y+1]/255;_[v+0]=h+p*b,_[v+1]=d+f*b,_[v+2]=g+m*b}},e.prototype.x2BlockRenderChar=function(e,t,o,n,i,r){if(t+2>e.width||o+4>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=i.r,l=i.g,u=i.b,c=a+.5*(n.r-a),h=l+.5*(n.g-l),d=u+.5*(n.b-u),g=e.data,p=o*s+4*t;g[p+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d,g[p+4]=c,g[p+5]=h,g[p+6]=d}},e.prototype.x1BlockRenderChar=function(e,t,o,n,i,r){if(t+1>e.width||o+2>e.height)console.warn("bad render request outside image data");else{var s=4*e.width,a=i.r,l=i.g,u=i.b,c=a+.5*(n.r-a),h=l+.5*(n.g-l),d=u+.5*(n.b-u),g=e.data,p=o*s+4*t;g[p+0]=c,g[p+1]=h,g[p+2]=d,g[(p+=s)+0]=c,g[p+1]=h,g[p+2]=d}},e}(),ye=o(116),ve=o(92),be=o(27),Ee=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ce=function(e){function t(t,o,n){for(var i=e.call(this,0)||this,r=0;r<t.length;r++)i.set(t.charCodeAt(r),1);for(r=0;r<o.length;r++)i.set(o.charCodeAt(r),2);for(r=0;r<n.length;r++)i.set(n.charCodeAt(r),3);return i}return Ee(t,e),t.prototype.get=function(t){return t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?4:e.prototype.get.call(this,t)},t}(ye.a),Se=function(){function e(e,t,o){this.classifier=new Ce(e,t,o)}return e.nextVisibleColumn=function(e,t,o,n){return e=+e,t=+t,n=+n,o?e+(t-e%t):e+n},e.prototype.createLineMapping=function(t,o,n,i,r){if(-1===n)return null;o=+o,n=+n,i=+i;var s=0,a="",l=-1;if((r=+r)!==be.j.None&&-1!==(l=p.firstNonWhitespaceIndex(t))){a=t.substring(0,l);for(var u=0;u<l;u++)s=e.nextVisibleColumn(s,o,9===t.charCodeAt(u),1);var c=0;r===be.j.Indent?c=1:r===be.j.DeepIndent&&(c=2);for(u=0;u<c;u++)a+="\t",s=e.nextVisibleColumn(s,o,!0,1);s+i>n&&(a="",s=0)}var h=this.classifier,d=0,g=[],f=0,m=0,_=-1,y=0,v=-1,b=0,E=t.length;for(u=0;u<E;u++){var C=t.charCodeAt(u),S=9===C,T=h.get(C);if(1===T&&(_=u,y=s),4===T&&u>0){var w=t.charCodeAt(u-1);1!==h.get(w)&&(_=u,y=s)}var k=1;if(p.isFullWidthCharacter(C)&&(k=i),(m=e.nextVisibleColumn(m,o,S,k))>n&&0!==u){var O=void 0,R=void 0;-1!==_&&y<=n?(O=_,R=y):-1!==v&&b<=n?(O=v,R=b):(O=u,R=s),g[f++]=O-d,d=O,m=e.nextVisibleColumn(R,o,S,k),_=-1,y=0,v=-1,b=0}if(-1!==_&&(y=e.nextVisibleColumn(y,o,S,k)),-1!==v&&(b=e.nextVisibleColumn(b,o,S,k)),2===T&&(r===be.j.None||u>=l)&&(_=u+1,y=s),4===T&&u<E-1){var N=t.charCodeAt(u+1);2!==h.get(N)&&(_=u+1,y=s)}3===T&&(v=u+1,b=s)}return 0===f?null:(g[f++]=E-d,new Te(new te.a(Object(ve.c)(g)),a))},e}(),Te=function(){function e(e,t){this._prefixSums=e,this._wrappedLinesIndent=t}return e.prototype.getOutputLineCount=function(){return this._prefixSums.getCount()},e.prototype.getWrappedLinesIndent=function(){return this._wrappedLinesIndent},e.prototype.getInputOffsetOfOutputPosition=function(e,t){return 0===e?t:this._prefixSums.getAccumulatedValue(e-1)+t},e.prototype.getOutputPositionOfInputOffset=function(e){var t=this._prefixSums.getIndexOf(e);return new ie(t.index,t.remainder)},e}(),we=o(42),ke=function(){function e(){this._heights=[],this._minWidths=[],this._ids=[],this._afterLineNumbers=[],this._ordinals=[],this._prefixSum=[],this._prefixSumValidIndex=-1,this._whitespaceId2Index={},this._lastWhitespaceId=0,this._minWidth=-1}return e.findInsertionIndex=function(e,t,o,n){for(var i=0,r=e.length;i<r;){var s=i+r>>>1;t===e[s]?n<o[s]?r=s:i=s+1:t<e[s]?r=s:i=s+1}return i},e.prototype.insertWhitespace=function(t,o,n,i){t|=0,o|=0,n|=0,i|=0;var r=++this._lastWhitespaceId,s=e.findInsertionIndex(this._afterLineNumbers,t,this._ordinals,o);return this._insertWhitespaceAtIndex(r,s,t,o,n,i),this._minWidth=-1,r},e.prototype._insertWhitespaceAtIndex=function(e,t,o,n,i,r){e|=0,t|=0,o|=0,n|=0,i|=0,r|=0,this._heights.splice(t,0,i),this._minWidths.splice(t,0,r),this._ids.splice(t,0,e),this._afterLineNumbers.splice(t,0,o),this._ordinals.splice(t,0,n),this._prefixSum.splice(t,0,0);for(var s=Object.keys(this._whitespaceId2Index),a=0,l=s.length;a<l;a++){var u=s[a],c=this._whitespaceId2Index[u];c>=t&&(this._whitespaceId2Index[u]=c+1)}this._whitespaceId2Index[e.toString()]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)},e.prototype.changeWhitespace=function(e,t,o){e|=0,t|=0,o|=0;var n=!1;return n=this.changeWhitespaceHeight(e,o)||n,n=this.changeWhitespaceAfterLineNumber(e,t)||n},e.prototype.changeWhitespaceHeight=function(e,t){t|=0;var o=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(o)){var n=this._whitespaceId2Index[o];if(this._heights[n]!==t)return this._heights[n]=t,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1),!0}return!1},e.prototype.changeWhitespaceAfterLineNumber=function(t,o){o|=0;var n=(t|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(n)){var i=this._whitespaceId2Index[n];if(this._afterLineNumbers[i]!==o){var r=this._ordinals[i],s=this._heights[i],a=this._minWidths[i];this.removeWhitespace(t);var l=e.findInsertionIndex(this._afterLineNumbers,o,this._ordinals,r);return this._insertWhitespaceAtIndex(t,l,o,r,s,a),!0}}return!1},e.prototype.removeWhitespace=function(e){var t=(e|=0).toString();if(this._whitespaceId2Index.hasOwnProperty(t)){var o=this._whitespaceId2Index[t];return delete this._whitespaceId2Index[t],this._removeWhitespaceAtIndex(o),this._minWidth=-1,!0}return!1},e.prototype._removeWhitespaceAtIndex=function(e){e|=0,this._heights.splice(e,1),this._minWidths.splice(e,1),this._ids.splice(e,1),this._afterLineNumbers.splice(e,1),this._ordinals.splice(e,1),this._prefixSum.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1);for(var t=Object.keys(this._whitespaceId2Index),o=0,n=t.length;o<n;o++){var i=t[o],r=this._whitespaceId2Index[i];r>=e&&(this._whitespaceId2Index[i]=r-1)}},e.prototype.onLinesDeleted=function(e,t){e|=0,t|=0;for(var o=0,n=this._afterLineNumbers.length;o<n;o++){var i=this._afterLineNumbers[o];e<=i&&i<=t?this._afterLineNumbers[o]=e-1:i>t&&(this._afterLineNumbers[o]-=t-e+1)}},e.prototype.onLinesInserted=function(e,t){e|=0,t|=0;for(var o=0,n=this._afterLineNumbers.length;o<n;o++){e<=this._afterLineNumbers[o]&&(this._afterLineNumbers[o]+=t-e+1)}},e.prototype.getTotalHeight=function(){return 0===this._heights.length?0:this.getAccumulatedHeight(this._heights.length-1)},e.prototype.getAccumulatedHeight=function(e){e|=0;var t=Math.max(0,this._prefixSumValidIndex+1);0===t&&(this._prefixSum[0]=this._heights[0],t++);for(var o=t;o<=e;o++)this._prefixSum[o]=this._prefixSum[o-1]+this._heights[o];return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._prefixSum[e]},e.prototype.getAccumulatedHeightBeforeLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e);return-1===t?0:this.getAccumulatedHeight(t)},e.prototype._findLastWhitespaceBeforeLineNumber=function(e){e|=0;for(var t=this._afterLineNumbers,o=0,n=t.length-1;o<=n;){var i=o+((n-o|0)/2|0)|0;if(t[i]<e){if(i+1>=t.length||t[i+1]>=e)return i;o=i+1|0}else n=i-1|0}return-1},e.prototype._findFirstWhitespaceAfterLineNumber=function(e){e|=0;var t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._heights.length?t:-1},e.prototype.getFirstWhitespaceIndexAfterLineNumber=function(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)},e.prototype.getCount=function(){return this._heights.length},e.prototype.getMinWidth=function(){if(-1===this._minWidth){for(var e=0,t=0,o=this._minWidths.length;t<o;t++)e=Math.max(e,this._minWidths[t]);this._minWidth=e}return this._minWidth},e.prototype.getAfterLineNumberForWhitespaceIndex=function(e){return e|=0,this._afterLineNumbers[e]},e.prototype.getIdForWhitespaceIndex=function(e){return e|=0,this._ids[e]},e.prototype.getHeightForWhitespaceIndex=function(e){return e|=0,this._heights[e]},e.prototype.getWhitespaces=function(e){e|=0;for(var t=[],o=0;o<this._heights.length;o++)t.push({id:this._ids[o],afterLineNumber:this._afterLineNumbers[o],heightInLines:this._heights[o]/e});return t},e}(),Oe=function(){function e(e,t){this._lineCount=e,this._lineHeight=t,this._whitespaces=new ke}return e.prototype.setLineHeight=function(e){this._lineHeight=e},e.prototype.onFlushed=function(e){this._lineCount=e},e.prototype.insertWhitespace=function(e,t,o,n){return this._whitespaces.insertWhitespace(e,t,o,n)},e.prototype.changeWhitespace=function(e,t,o){return this._whitespaces.changeWhitespace(e,t,o)},e.prototype.removeWhitespace=function(e){return this._whitespaces.removeWhitespace(e)},e.prototype.onLinesDeleted=function(e,t){this._lineCount-=t-e+1,this._whitespaces.onLinesDeleted(e,t)},e.prototype.onLinesInserted=function(e,t){this._lineCount+=t-e+1,this._whitespaces.onLinesInserted(e,t)},e.prototype.getLinesTotalHeight=function(){return this._lineHeight*this._lineCount+this._whitespaces.getTotalHeight()},e.prototype.getVerticalOffsetForLineNumber=function(e){return((e|=0)>1?this._lineHeight*(e-1):0)+this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber=function(e){return this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)},e.prototype.getWhitespaceMinWidth=function(){return this._whitespaces.getMinWidth()},e.prototype.isAfterLines=function(e){return e>this.getLinesTotalHeight()},e.prototype.getLineNumberAtOrAfterVerticalOffset=function(e){if((e|=0)<0)return 1;for(var t=0|this._lineCount,o=this._lineHeight,n=1,i=t;n<i;){var r=(n+i)/2|0,s=0|this.getVerticalOffsetForLineNumber(r);if(e>=s+o)n=r+1;else{if(e>=s)return r;i=r}}return n>t?t:n},e.prototype.getLinesViewportData=function(e,t){e|=0,t|=0;var o,n,i=this._lineHeight,r=0|this.getLineNumberAtOrAfterVerticalOffset(e),s=0|this.getVerticalOffsetForLineNumber(r),a=0|this._lineCount,l=0|this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),u=0|this._whitespaces.getCount();-1===l?(l=u,n=a+1,o=0):(n=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(l),o=0|this._whitespaces.getHeightForWhitespaceIndex(l));var c=s,h=c,d=0;s>=5e5&&(d=5e5*Math.floor(s/5e5),h-=d=Math.floor(d/i)*i);for(var g=[],p=e+(t-e)/2,f=-1,m=r;m<=a;m++){if(-1===f){(c<=p&&p<c+i||c>p)&&(f=m)}for(c+=i,g[m-r]=h,h+=i;n===m;)h+=o,c+=o,++l>=u?n=a+1:(n=0|this._whitespaces.getAfterLineNumberForWhitespaceIndex(l),o=0|this._whitespaces.getHeightForWhitespaceIndex(l));if(c>=t){a=m;break}}-1===f&&(f=a);var _=0|this.getVerticalOffsetForLineNumber(a),y=r,v=a;return y<v&&s<e&&y++,y<v&&_+i>t&&v--,{bigNumbersDelta:d,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:g,centeredLineNumber:f,completelyVisibleStartLineNumber:y,completelyVisibleEndLineNumber:v}},e.prototype.getVerticalOffsetForWhitespaceIndex=function(e){e|=0;var t=this._whitespaces.getAfterLineNumberForWhitespaceIndex(e);return(t>=1?this._lineHeight*t:0)+(e>0?this._whitespaces.getAccumulatedHeight(e-1):0)},e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset=function(e){e|=0;var t,o,n=0,i=this._whitespaces.getCount()-1;if(i<0)return-1;if(e>=this.getVerticalOffsetForWhitespaceIndex(i)+this._whitespaces.getHeightForWhitespaceIndex(i))return-1;for(;n<i;)if(t=Math.floor((n+i)/2),e>=(o=this.getVerticalOffsetForWhitespaceIndex(t))+this._whitespaces.getHeightForWhitespaceIndex(t))n=t+1;else{if(e>=o)return t;i=t}return n},e.prototype.getWhitespaceAtVerticalOffset=function(e){e|=0;var t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0)return null;if(t>=this._whitespaces.getCount())return null;var o=this.getVerticalOffsetForWhitespaceIndex(t);if(o>e)return null;var n=this._whitespaces.getHeightForWhitespaceIndex(t);return{id:this._whitespaces.getIdForWhitespaceIndex(t),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:o,height:n}},e.prototype.getWhitespaceViewportData=function(e,t){e|=0,t|=0;var o=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),n=this._whitespaces.getCount()-1;if(o<0)return[];for(var i=[],r=o;r<=n;r++){var s=this.getVerticalOffsetForWhitespaceIndex(r),a=this._whitespaces.getHeightForWhitespaceIndex(r);if(s>=t)break;i.push({id:this._whitespaces.getIdForWhitespaceIndex(r),afterLineNumber:this._whitespaces.getAfterLineNumberForWhitespaceIndex(r),verticalOffset:s,height:a})}return i},e.prototype.getWhitespaces=function(){return this._whitespaces.getWhitespaces(this._lineHeight)},e}(),Re=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ne=function(e){function t(t,o,n){var i=e.call(this)||this;return i._configuration=t,i._linesLayout=new Oe(o,i._configuration.editor.lineHeight),i.scrollable=i._register(new we.a(0,n)),i._configureSmoothScrollDuration(),i.scrollable.setScrollDimensions({width:t.editor.layoutInfo.contentWidth,height:t.editor.layoutInfo.contentHeight}),i.onDidScroll=i.scrollable.onScroll,i._updateHeight(),i}return Re(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onHeightMaybeChanged=function(){this._updateHeight()},t.prototype._configureSmoothScrollDuration=function(){this.scrollable.setSmoothScrollDuration(this._configuration.editor.viewInfo.smoothScrolling?125:0)},t.prototype.onConfigurationChanged=function(e){e.lineHeight&&this._linesLayout.setLineHeight(this._configuration.editor.lineHeight),e.layoutInfo&&this.scrollable.setScrollDimensions({width:this._configuration.editor.layoutInfo.contentWidth,height:this._configuration.editor.layoutInfo.contentHeight}),e.viewInfo&&this._configureSmoothScrollDuration(),this._updateHeight()},t.prototype.onFlushed=function(e){this._linesLayout.onFlushed(e)},t.prototype.onLinesDeleted=function(e,t){this._linesLayout.onLinesDeleted(e,t)},t.prototype.onLinesInserted=function(e,t){this._linesLayout.onLinesInserted(e,t)},t.prototype._getHorizontalScrollbarHeight=function(e){return this._configuration.editor.viewInfo.scrollbar.horizontal===we.b.Hidden?0:e.width>=e.scrollWidth?0:this._configuration.editor.viewInfo.scrollbar.horizontalScrollbarSize},t.prototype._getTotalHeight=function(){var e=this.scrollable.getScrollDimensions(),t=this._linesLayout.getLinesTotalHeight();return this._configuration.editor.viewInfo.scrollBeyondLastLine?t+=e.height-this._configuration.editor.lineHeight:t+=this._getHorizontalScrollbarHeight(e),Math.max(e.height,t)},t.prototype._updateHeight=function(){this.scrollable.setScrollDimensions({scrollHeight:this._getTotalHeight()})},t.prototype.getCurrentViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getCurrentScrollPosition();return new Q.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype.getFutureViewport=function(){var e=this.scrollable.getScrollDimensions(),t=this.scrollable.getFutureScrollPosition();return new Q.f(t.scrollTop,t.scrollLeft,e.width,e.height)},t.prototype._computeScrollWidth=function(e,t){if(!this._configuration.editor.wrappingInfo.isViewportWrapping){var o=this._configuration.editor.viewInfo.scrollBeyondLastColumn*this._configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,n=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+o,t,n)}return Math.max(e,t)},t.prototype.onMaxLineWidthChanged=function(e){var t=this._computeScrollWidth(e,this.getCurrentViewport().width);this.scrollable.setScrollDimensions({scrollWidth:t}),this._updateHeight()},t.prototype.saveState=function(){var e=this.scrollable.getFutureScrollPosition(),t=e.scrollTop,o=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(o),scrollLeft:e.scrollLeft}},t.prototype.addWhitespace=function(e,t,o,n){return this._linesLayout.insertWhitespace(e,t,o,n)},t.prototype.changeWhitespace=function(e,t,o){return this._linesLayout.changeWhitespace(e,t,o)},t.prototype.removeWhitespace=function(e){return this._linesLayout.removeWhitespace(e)},t.prototype.getVerticalOffsetForLineNumber=function(e){return this._linesLayout.getVerticalOffsetForLineNumber(e)},t.prototype.isAfterLines=function(e){return this._linesLayout.isAfterLines(e)},t.prototype.getLineNumberAtVerticalOffset=function(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)},t.prototype.getWhitespaceAtVerticalOffset=function(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)},t.prototype.getLinesViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)},t.prototype.getLinesViewportDataAtScrollTop=function(e){var t=this.scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)},t.prototype.getWhitespaceViewportData=function(){var e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)},t.prototype.getWhitespaces=function(){return this._linesLayout.getWhitespaces()},t.prototype.getScrollWidth=function(){return this.scrollable.getScrollDimensions().scrollWidth},t.prototype.getScrollHeight=function(){return this.scrollable.getScrollDimensions().scrollHeight},t.prototype.getCurrentScrollLeft=function(){return this.scrollable.getCurrentScrollPosition().scrollLeft},t.prototype.getCurrentScrollTop=function(){return this.scrollable.getCurrentScrollPosition().scrollTop},t.prototype.validateScrollPosition=function(e){return this.scrollable.validateScrollPosition(e)},t.prototype.setScrollPositionNow=function(e){this.scrollable.setScrollPositionNow(e)},t.prototype.setScrollPositionSmooth=function(e){this.scrollable.setScrollPositionSmooth(e)},t.prototype.deltaScrollNow=function(e,t){var o=this.scrollable.getCurrentScrollPosition();this.scrollable.setScrollPositionNow({scrollLeft:o.scrollLeft+e,scrollTop:o.scrollTop+t})},t}(l.a),Le=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ie=!0,De=function(e){function t(t,o,n,i){var r=e.call(this)||this;if(r.editorId=t,r.configuration=o,r.model=n,r.hasFocus=!1,r.viewportStartLine=-1,r.viewportStartLineTrackedRange=null,r.viewportStartLineTop=0,Ie&&r.model.isTooLargeForTokenization())r.lines=new de(r.model);else{var s=r.configuration.editor,a=new Se(s.wrappingInfo.wordWrapBreakBeforeCharacters,s.wrappingInfo.wordWrapBreakAfterCharacters,s.wrappingInfo.wordWrapBreakObtrusiveCharacters);r.lines=new se(r.model,a,r.model.getOptions().tabSize,s.wrappingInfo.wrappingColumn,s.fontInfo.typicalFullwidthCharacterWidth/s.fontInfo.typicalHalfwidthCharacterWidth,s.wrappingInfo.wrappingIndent)}return r.coordinatesConverter=r.lines.createCoordinatesConverter(),r.viewLayout=r._register(new Ne(r.configuration,r.getLineCount(),i)),r._register(r.viewLayout.onDidScroll((function(e){try{r._beginEmit().emit(new B(e))}finally{r._endEmit()}}))),r.decorations=new ee(r.editorId,r.model,r.configuration,r.lines,r.coordinatesConverter),r._registerModelEvents(),r._register(r.configuration.onDidChange((function(e){try{var t=r._beginEmit();r._onConfigurationChanged(t,e)}finally{r._endEmit()}}))),r._register(me.getInstance().onDidChange((function(){try{r._beginEmit().emit(new U)}finally{r._endEmit()}}))),r}return Le(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this.decorations.dispose(),this.lines.dispose(),this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,null,v.h.NeverGrowsWhenTypingAtEdges)},t.prototype.setHasFocus=function(e){this.hasFocus=e},t.prototype._onConfigurationChanged=function(e,t){var o=null;if(-1!==this.viewportStartLine){var n=new m.a(this.viewportStartLine,this.getLineMinColumn(this.viewportStartLine));o=this.coordinatesConverter.convertViewPositionToModelPosition(n)}var i=!1,r=this.configuration.editor;if(this.lines.setWrappingSettings(r.wrappingInfo.wrappingIndent,r.wrappingInfo.wrappingColumn,r.fontInfo.typicalFullwidthCharacterWidth/r.fontInfo.typicalHalfwidthCharacterWidth)&&(e.emit(new L),e.emit(new D),e.emit(new N),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),0!==this.viewLayout.getCurrentScrollTop()&&(i=!0)),t.readOnly&&(this.decorations.reset(),e.emit(new N)),e.emit(new O(t)),this.viewLayout.onConfigurationChanged(t),i&&o){var s=this.coordinatesConverter.convertModelPositionToViewPosition(o),a=this.viewLayout.getVerticalOffsetForLineNumber(s.lineNumber);this.viewLayout.deltaScrollNow(0,a-this.viewportStartLineTop)}},t.prototype._registerModelEvents=function(){var e=this;this._register(this.model.onDidChangeRawContentFast((function(t){try{for(var o=e._beginEmit(),n=!1,i=!1,r=t.changes,s=t.versionId,a=0,l=r.length;a<l;a++){var u=r[a];switch(u.changeType){case 1:e.lines.onModelFlushed(),o.emit(new L),e.decorations.reset(),e.viewLayout.onFlushed(e.getLineCount()),n=!0;break;case 3:null!==(p=e.lines.onModelLinesDeleted(s,u.fromLineNumber,u.toLineNumber))&&(o.emit(p),e.viewLayout.onLinesDeleted(p.fromLineNumber,p.toLineNumber)),n=!0;break;case 4:null!==(g=e.lines.onModelLinesInserted(s,u.fromLineNumber,u.toLineNumber,u.detail))&&(o.emit(g),e.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),n=!0;break;case 2:var c=e.lines.onModelLineChanged(s,u.lineNumber,u.detail),h=c[0],d=c[1],g=c[2],p=c[3];i=h,d&&o.emit(d),g&&(o.emit(g),e.viewLayout.onLinesInserted(g.fromLineNumber,g.toLineNumber)),p&&(o.emit(p),e.viewLayout.onLinesDeleted(p.fromLineNumber,p.toLineNumber))}}e.lines.acceptVersionId(s),e.viewLayout.onHeightMaybeChanged(),!n&&i&&(o.emit(new D),o.emit(new N),e.decorations.onLineMappingChanged())}finally{e._endEmit()}if(e.viewportStartLine=-1,e.configuration.setMaxLineNumber(e.model.getLineCount()),!e.hasFocus&&e.model.getAttachedEditorCount()>=2&&e.viewportStartLineTrackedRange){var f=e.model._getTrackedRange(e.viewportStartLineTrackedRange);if(f){var m=e.coordinatesConverter.convertModelPositionToViewPosition(f.getStartPosition()),_=e.viewLayout.getVerticalOffsetForLineNumber(m.lineNumber);e.viewLayout.deltaScrollNow(0,_-e.viewportStartLineTop)}}}))),this._register(this.model.onDidChangeTokens((function(t){for(var o=[],n=0,i=t.ranges.length;n<i;n++){var r=t.ranges[n],s=e.coordinatesConverter.convertModelPositionToViewPosition(new m.a(r.fromLineNumber,1)).lineNumber,a=e.coordinatesConverter.convertModelPositionToViewPosition(new m.a(r.toLineNumber,e.model.getLineMaxColumn(r.toLineNumber))).lineNumber;o[n]={fromLineNumber:s,toLineNumber:a}}try{e._beginEmit().emit(new F(o))}finally{e._endEmit()}}))),this._register(this.model.onDidChangeLanguageConfiguration((function(t){try{e._beginEmit().emit(new W)}finally{e._endEmit()}}))),this._register(this.model.onDidChangeOptions((function(t){if(e.lines.setTabSize(e.model.getOptions().tabSize)){e.decorations.onLineMappingChanged(),e.viewLayout.onFlushed(e.getLineCount());try{var o=e._beginEmit();o.emit(new L),o.emit(new D),o.emit(new N)}finally{e._endEmit()}}}))),this._register(this.model.onDidChangeDecorations((function(t){e.decorations.onModelDecorationsChanged();try{e._beginEmit().emit(new N)}finally{e._endEmit()}})))},t.prototype.setHiddenAreas=function(e){try{var t=this._beginEmit();this.lines.setHiddenAreas(e)&&(t.emit(new L),t.emit(new D),t.emit(new N),this.decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._endEmit()}},t.prototype.getVisibleRanges=function(){var e=this.getCompletelyVisibleViewRange(),t=this.coordinatesConverter.convertViewRangeToModelRange(e),o=this.lines.getHiddenAreas();if(0===o.length)return[t];for(var n=[],i=0,r=t.startLineNumber,s=t.startColumn,a=t.endLineNumber,l=t.endColumn,u=0,c=o.length;u<c;u++){var h=o[u].startLineNumber,d=o[u].endLineNumber;d<r||(h>a||(r<h&&(n[i++]=new _.a(r,s,h-1,this.model.getLineMaxColumn(h-1))),r=d+1,s=1))}return(r<a||r===a&&s<l)&&(n[i++]=new _.a(r,s,a,l)),n},t.prototype.getCompletelyVisibleViewRange=function(){var e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,o=e.completelyVisibleEndLineNumber;return new _.a(t,this.getLineMinColumn(t),o,this.getLineMaxColumn(o))},t.prototype.getCompletelyVisibleViewRangeAtScrollTop=function(e){var t=this.viewLayout.getLinesViewportDataAtScrollTop(e),o=t.completelyVisibleStartLineNumber,n=t.completelyVisibleEndLineNumber;return new _.a(o,this.getLineMinColumn(o),n,this.getLineMaxColumn(n))},t.prototype.saveState=function(){var e=this.viewLayout.saveState(),t=e.scrollTop,o=this.viewLayout.getLineNumberAtVerticalOffset(t),n=this.coordinatesConverter.convertViewPositionToModelPosition(new m.a(o,this.getLineMinColumn(o))),i=this.viewLayout.getVerticalOffsetForLineNumber(o)-t;return{scrollLeft:e.scrollLeft,firstPosition:n,firstPositionDeltaTop:i}},t.prototype.reduceRestoreState=function(e){if(void 0===e.firstPosition)return this._reduceRestoreStateCompatibility(e);var t=this.model.validatePosition(e.firstPosition),o=this.coordinatesConverter.convertModelPositionToViewPosition(t),n=this.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:n}},t.prototype._reduceRestoreStateCompatibility=function(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}},t.prototype.getTabSize=function(){return this.model.getOptions().tabSize},t.prototype.getLineCount=function(){return this.lines.getViewLineCount()},t.prototype.setViewport=function(e,t,o){this.lines.warmUpLookupCache(e,t),this.viewportStartLine=e;var n=this.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e,this.getLineMinColumn(e)));this.viewportStartLineTrackedRange=this.model._setTrackedRange(this.viewportStartLineTrackedRange,new _.a(n.lineNumber,n.column,n.lineNumber,n.column),v.h.NeverGrowsWhenTypingAtEdges),this.viewportStartLineTop=this.viewLayout.getVerticalOffsetForLineNumber(e)},t.prototype.getActiveIndentGuide=function(e,t,o){return this.lines.getActiveIndentGuide(e,t,o)},t.prototype.getLinesIndentGuides=function(e,t){return this.lines.getViewLinesIndentGuides(e,t)},t.prototype.getLineContent=function(e){return this.lines.getViewLineContent(e)},t.prototype.getLineLength=function(e){return this.lines.getViewLineLength(e)},t.prototype.getLineMinColumn=function(e){return this.lines.getViewLineMinColumn(e)},t.prototype.getLineMaxColumn=function(e){return this.lines.getViewLineMaxColumn(e)},t.prototype.getLineFirstNonWhitespaceColumn=function(e){var t=p.firstNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+1},t.prototype.getLineLastNonWhitespaceColumn=function(e){var t=p.lastNonWhitespaceIndex(this.getLineContent(e));return-1===t?0:t+2},t.prototype.getDecorationsInViewport=function(e){return this.decorations.getDecorationsViewportData(e).decorations},t.prototype.getViewLineRenderingData=function(e,t){var o=this.model.mightContainRTL(),n=this.model.mightContainNonBasicASCII(),i=this.getTabSize(),r=this.lines.getViewLineData(t),s=this.decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return new Q.d(r.minColumn,r.maxColumn,r.content,r.continuesWithWrappedLine,o,n,r.tokens,s,i)},t.prototype.getViewLineData=function(e){return this.lines.getViewLineData(e)},t.prototype.getMinimapLinesRenderingData=function(e,t,o){var n=this.lines.getViewLinesData(e,t,o);return new Q.b(this.getTabSize(),n)},t.prototype.getAllOverviewRulerDecorations=function(e){return this.lines.getAllOverviewRulerDecorations(this.editorId,this.configuration.editor.readOnly,e)},t.prototype.invalidateOverviewRulerColorCache=function(){for(var e=this.model.getOverviewRulerDecorations(),t=0,o=e.length;t<o;t++){e[t].options.overviewRuler._resolvedColor=null}},t.prototype.getValueInRange=function(e,t){var o=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(o,t)},t.prototype.getModelLineMaxColumn=function(e){return this.model.getLineMaxColumn(e)},t.prototype.validateModelPosition=function(e){return this.model.validatePosition(e)},t.prototype.deduceModelPositionRelativeToViewPosition=function(e,t,o){var n=this.coordinatesConverter.convertViewPositionToModelPosition(e);2===this.model.getEOL().length&&(t<0?t-=o:t+=o);var i=this.model.getOffsetAt(n)+t;return this.model.getPositionAt(i)},t.prototype.getEOL=function(){return this.model.getEOL()},t.prototype.getPlainTextToCopy=function(e,t,o){var n=this,i=o?"\r\n":this.model.getEOL();(e=e.slice(0)).sort(_.a.compareRangesUsingStarts);var r=e.filter((function(e){return!e.isEmpty()}));if(0===r.length){if(!t)return"";for(var s=e.map((function(e){var t=new m.a(e.startLineNumber,1);return n.coordinatesConverter.convertViewPositionToModelPosition(t).lineNumber})),a="",l=0;l<s.length;l++)l>0&&s[l-1]===s[l]||(a+=this.model.getLineContent(s[l])+i);return a}var u=[];for(l=0;l<r.length;l++)u.push(this.getValueInRange(r[l],o?v.c.CRLF:v.c.TextDefined));return 1===u.length?u[0]:u},t.prototype.getHTMLToCopy=function(e,t){if(1===this.model.getLanguageIdentifier().id)return null;if(1!==e.length)return null;var o=this.coordinatesConverter.convertViewRangeToModelRange(e[0]);if(o.isEmpty()){if(!t)return null;var n=o.startLineNumber;o=new _.a(n,this.model.getLineMinColumn(n),n,this.model.getLineMaxColumn(n))}var i=this.configuration.editor.fontInfo,r=this._getColorMap();return'<div style="color: '+r[1]+";background-color: "+r[2]+";font-family: "+i.fontFamily+";font-weight: "+i.fontWeight+";font-size: "+i.fontSize+"px;line-height: "+i.lineHeight+'px;white-space: pre;">'+this._getHTMLToCopy(o,r)+"</div>"},t.prototype._getHTMLToCopy=function(e,t){for(var o=e.startLineNumber,n=e.startColumn,i=e.endLineNumber,r=e.endColumn,s=this.getTabSize(),a="",l=o;l<=i;l++){var u=this.model.getLineTokens(l),c=u.getLineContent(),h=l===o?n-1:0,d=l===i?r-1:c.length;a+=""===c?"<br>":Object(Z.a)(c,u.inflate(),t,h,d,s)}return a},t.prototype._getColorMap=function(){for(var e=J.y.getColorMap(),t=[null],o=1,n=e.length;o<n;o++)t[o]=ne.a.Format.CSS.formatHex(e[o]);return t},t}(j),Ae=o(5),Pe=o(62),Me=o(45),xe=o(36),Be=o(37),Fe=o(19),He=o(28),Ue=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ve=function(e){function t(){var t=e.call(this)||this;return t._shouldRender=!0,t}return Ue(t,e),t.prototype.shouldRender=function(){return this._shouldRender},t.prototype.forceShouldRender=function(){this._shouldRender=!0},t.prototype.setShouldRender=function(){this._shouldRender=!0},t.prototype.onDidRender=function(){this._shouldRender=!1},t.prototype.onConfigurationChanged=function(e){return!1},t.prototype.onCursorStateChanged=function(e){return!1},t.prototype.onDecorationsChanged=function(e){return!1},t.prototype.onFlushed=function(e){return!1},t.prototype.onFocusChanged=function(e){return!1},t.prototype.onLanguageConfigurationChanged=function(e){return!1},t.prototype.onLineMappingChanged=function(e){return!1},t.prototype.onLinesChanged=function(e){return!1},t.prototype.onLinesDeleted=function(e){return!1},t.prototype.onLinesInserted=function(e){return!1},t.prototype.onRevealRangeRequest=function(e){return!1},t.prototype.onScrollChanged=function(e){return!1},t.prototype.onTokensChanged=function(e){return!1},t.prototype.onTokensColorsChanged=function(e){return!1},t.prototype.onZonesChanged=function(e){return!1},t.prototype.onThemeChanged=function(e){return!1},t.prototype.handleEvents=function(e){for(var t=!1,o=0,n=e.length;o<n;o++){var i=e[o];switch(i.type){case 1:this.onConfigurationChanged(i)&&(t=!0);break;case 2:this.onCursorStateChanged(i)&&(t=!0);break;case 3:this.onDecorationsChanged(i)&&(t=!0);break;case 4:this.onFlushed(i)&&(t=!0);break;case 5:this.onFocusChanged(i)&&(t=!0);break;case 16:this.onLanguageConfigurationChanged(i)&&(t=!0);break;case 6:this.onLineMappingChanged(i)&&(t=!0);break;case 7:this.onLinesChanged(i)&&(t=!0);break;case 8:this.onLinesDeleted(i)&&(t=!0);break;case 9:this.onLinesInserted(i)&&(t=!0);break;case 10:this.onRevealRangeRequest(i)&&(t=!0);break;case 11:this.onScrollChanged(i)&&(t=!0);break;case 12:this.onTokensChanged(i)&&(t=!0);break;case 13:this.onTokensColorsChanged(i)&&(t=!0);break;case 14:this.onZonesChanged(i)&&(t=!0);break;case 15:this.onThemeChanged(i)&&(t=!0);break;default:console.info("View received unknown event: "),console.info(i)}}t&&(this._shouldRender=!0)},t}(l.a),We=(o(451),o(15)),je=o(24),Ge=o(174),ze=o(88),Ke=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ye=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._context.addEventHandler(o),o}return Ke(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t}(Ve),Xe=function(){function e(){}return e.write=function(e,t){He.a,e.setAttribute("data-mprt",String(t))},e.read=function(e){var t=e.getAttribute("data-mprt");return null===t?0:parseInt(t,10)},e.collect=function(e,t){for(var o=[],n=0;e&&e!==document.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(o[n++]=this.read(e)),e=e.parentElement;for(var i=new Uint8Array(n),r=0;r<n;r++)i[r]=o[n-r-1];return i},e}(),qe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),$e=function(e){function t(t){var o=e.call(this,t)||this;return o._canUseLayerHinting=o._context.configuration.editor.canUseLayerHinting,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o._glyphMarginLeft=o._context.configuration.editor.layoutInfo.glyphMarginLeft,o._glyphMarginWidth=o._context.configuration.editor.layoutInfo.glyphMarginWidth,o._domNode=o._createDomNode(),o}return qe(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._createDomNode=function(){var e=Object(He.b)(document.createElement("div"));return e.setClassName(t.OUTER_CLASS_NAME),e.setPosition("absolute"),e.setAttribute("role","presentation"),e.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=Object(He.b)(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),e.appendChild(this._glyphMarginBackgroundDomNode),e},t.prototype.onConfigurationChanged=function(e){return e.canUseLayerHinting&&(this._canUseLayerHinting=this._context.configuration.editor.canUseLayerHinting),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollTopChanged},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setLayerHinting(this._canUseLayerHinting);var t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);var o=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(o),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(o)},t.CLASS_NAME="glyph-margin",t.OUTER_CLASS_NAME="margin",t}(Ye),Je=(o(452),o(29)),Ze=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ze(t,e),t}(Ve),et=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),tt=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._readConfig(),o._lastCursorModelPosition=new m.a(1,1),o._renderResult=null,o._context.addEventHandler(o),o}return et(t,e),t.prototype._readConfig=function(){var e=this._context.configuration.editor;this._lineHeight=e.lineHeight,this._renderLineNumbers=e.viewInfo.renderLineNumbers,this._renderCustomLineNumbers=e.viewInfo.renderCustomLineNumbers,this._lineNumbersLeft=e.layoutInfo.lineNumbersLeft,this._lineNumbersWidth=e.layoutInfo.lineNumbersWidth},t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return this._readConfig(),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0].getPosition();return this._lastCursorModelPosition=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(t),2===this._renderLineNumbers||3===this._renderLineNumbers},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getLineRenderLineNumber=function(e){var t=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e,1));if(1!==t.column)return"";var o=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(o);if(2===this._renderLineNumbers){var n=Math.abs(this._lastCursorModelPosition.lineNumber-o);return 0===n?'<span class="relative-current-line-number">'+o+"</span>":String(n)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===o?String(o):o%10==0?String(o):"":String(o)},t.prototype.prepareRender=function(e){if(0!==this._renderLineNumbers){for(var o=We.c?this._lineHeight%2==0?" lh-even":" lh-odd":"",n=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r='<div class="'+t.CLASS_NAME+o+'" style="left:'+this._lineNumbersLeft.toString()+"px;width:"+this._lineNumbersWidth.toString()+'px;">',s=[],a=n;a<=i;a++){var l=a-n,u=this._getLineRenderLineNumber(a);s[l]=u?r+u+"</div>":""}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t.CLASS_NAME="line-numbers",t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.q);o&&t.addRule(".monaco-editor .line-numbers { color: "+o+"; }");var n=e.getColor(Je.b);n&&t.addRule(".monaco-editor .current-line ~ .line-numbers { color: "+n+"; }")}));var ot=o(102),nt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),it=function(){function e(e,t,o){this.top=e,this.left=t,this.width=o}return e.prototype.setWidth=function(t){return new e(this.top,this.left,t)},e}(),rt=je.h||je.j,st=function(){function e(){this._lastState=null}return e.prototype.set=function(e){this._lastState=e},e.prototype.get=function(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState:(this._lastState=null,null)},e.INSTANCE=new e,e}(),at=function(e){function t(t,o,n){var i=e.call(this,t)||this;i._primaryCursorVisibleRange=null,i._viewController=o,i._viewHelper=n;var r=i._context.configuration.editor;i._accessibilitySupport=r.accessibilitySupport,i._contentLeft=r.layoutInfo.contentLeft,i._contentWidth=r.layoutInfo.contentWidth,i._contentHeight=r.layoutInfo.contentHeight,i._scrollLeft=0,i._scrollTop=0,i._fontInfo=r.fontInfo,i._lineHeight=r.lineHeight,i._emptySelectionClipboard=r.emptySelectionClipboard,i._visibleTextArea=null,i._selections=[new y.a(1,1,1,1)],i.textArea=Object(He.b)(document.createElement("textarea")),Xe.write(i.textArea,6),i.textArea.setClassName("inputarea"),i.textArea.setAttribute("wrap","off"),i.textArea.setAttribute("autocorrect","off"),i.textArea.setAttribute("autocapitalize","off"),i.textArea.setAttribute("autocomplete","off"),i.textArea.setAttribute("spellcheck","false"),i.textArea.setAttribute("aria-label",r.viewInfo.ariaLabel),i.textArea.setAttribute("role","textbox"),i.textArea.setAttribute("aria-multiline","true"),i.textArea.setAttribute("aria-haspopup","false"),i.textArea.setAttribute("aria-autocomplete","both"),i.textAreaCover=Object(He.b)(document.createElement("div")),i.textAreaCover.setPosition("absolute");var s={getLineCount:function(){return i._context.model.getLineCount()},getLineMaxColumn:function(e){return i._context.model.getLineMaxColumn(e)},getValueInRange:function(e,t){return i._context.model.getValueInRange(e,t)}},a={getPlainTextToCopy:function(){var e=i._context.model.getPlainTextToCopy(i._selections,i._emptySelectionClipboard,We.g),t=i._context.model.getEOL(),o=i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),n=Array.isArray(e)?e:null,r=Array.isArray(e)?e.join(t):e,s=null;(o||n)&&(s={lastCopiedValue:je.j?r.replace(/\r\n/g,"\n"):r,isFromEmptySelection:i._emptySelectionClipboard&&1===i._selections.length&&i._selections[0].isEmpty(),multicursorText:n});return st.INSTANCE.set(s),r},getHTMLToCopy:function(){return i._context.model.getHTMLToCopy(i._selections,i._emptySelectionClipboard)},getScreenReaderContent:function(e){if(je.l)return ze.b.EMPTY;if(1===i._accessibilitySupport){if(We.d){var t=i._selections[0];if(t.isEmpty()){var o=t.getStartPosition(),n=i._getWordBeforePosition(o);if(0===n.length&&(n=i._getCharacterBeforePosition(o)),n.length>0)return new ze.b(n,n.length,n.length,o,o)}}return ze.b.EMPTY}return ze.a.fromEditorSelection(e,s,i._selections[0],0===i._accessibilitySupport)},deduceModelPosition:function(e,t,o){return i._context.model.deduceModelPositionRelativeToViewPosition(e,t,o)}};return i._textAreaInput=i._register(new Ge.b(a,i.textArea)),i._register(i._textAreaInput.onKeyDown((function(e){i._viewController.emitKeyDown(e)}))),i._register(i._textAreaInput.onKeyUp((function(e){i._viewController.emitKeyUp(e)}))),i._register(i._textAreaInput.onPaste((function(e){var t=st.INSTANCE.get(e.text),o=!1,n=null;t&&(o=i._emptySelectionClipboard&&t.isFromEmptySelection,n=t.multicursorText),i._viewController.paste("keyboard",e.text,o,n)}))),i._register(i._textAreaInput.onCut((function(){i._viewController.cut("keyboard")}))),i._register(i._textAreaInput.onType((function(e){e.replaceCharCnt?i._viewController.replacePreviousChar("keyboard",e.text,e.replaceCharCnt):i._viewController.type("keyboard",e.text)}))),i._register(i._textAreaInput.onSelectionChangeRequest((function(e){i._viewController.setSelection("keyboard",e)}))),i._register(i._textAreaInput.onCompositionStart((function(){var e=i._selections[0].startLineNumber,t=i._selections[0].startColumn;i._context.privateViewEventBus.emit(new x(new _.a(e,t,e,t),0,!0,1));var o=i._viewHelper.visibleRangeForPositionRelativeToEditor(e,t);o&&(i._visibleTextArea=new it(i._context.viewLayout.getVerticalOffsetForLineNumber(e),o.left,rt?0:1),i._render()),i.textArea.setClassName("inputarea ime-input"),i._viewController.compositionStart("keyboard")}))),i._register(i._textAreaInput.onCompositionUpdate((function(e){je.h?i._visibleTextArea=i._visibleTextArea.setWidth(0):i._visibleTextArea=i._visibleTextArea.setWidth(function(e,t){var o=document.createElement("canvas").getContext("2d");o.font=(n=t,i="normal",r=n.fontWeight,s=n.fontSize,a=n.lineHeight,l=n.fontFamily,i+" normal "+r+" "+s+"px / "+a+"px "+l);var n,i,r,s,a,l;var u=o.measureText(e);return je.j?u.width+2:u.width}(e.data,i._fontInfo)),i._render()}))),i._register(i._textAreaInput.onCompositionEnd((function(){i._visibleTextArea=null,i._render(),i.textArea.setClassName("inputarea"),i._viewController.compositionEnd("keyboard")}))),i._register(i._textAreaInput.onFocus((function(){i._context.privateViewEventBus.emit(new I(!0))}))),i._register(i._textAreaInput.onBlur((function(){i._context.privateViewEventBus.emit(new I(!1))}))),i}return nt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._getWordBeforePosition=function(e){for(var t=this._context.model.getLineContent(e.lineNumber),o=Object(ot.a)(this._context.configuration.editor.wordSeparators),n=e.column,i=0;n>1;){var r=t.charCodeAt(n-2);if(0!==o.get(r)||i>50)return t.substring(n-1,e.column-1);i++,n--}return t.substring(0,e.column-1)},t.prototype._getCharacterBeforePosition=function(e){if(e.column>1){var t=this._context.model.getLineContent(e.lineNumber).charAt(e.column-2);if(!p.isHighSurrogate(t.charCodeAt(0)))return t}return""},t.prototype.onConfigurationChanged=function(e){var t=this._context.configuration.editor;return e.fontInfo&&(this._fontInfo=t.fontInfo),e.viewInfo&&this.textArea.setAttribute("aria-label",t.viewInfo.ariaLabel),e.layoutInfo&&(this._contentLeft=t.layoutInfo.contentLeft,this._contentWidth=t.layoutInfo.contentWidth,this._contentHeight=t.layoutInfo.contentHeight),e.lineHeight&&(this._lineHeight=t.lineHeight),e.accessibilitySupport&&(this._accessibilitySupport=t.accessibilitySupport,this._textAreaInput.writeScreenReaderContent("strategy changed")),e.emptySelectionClipboard&&(this._emptySelectionClipboard=t.emptySelectionClipboard),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),this._textAreaInput.writeScreenReaderContent("selection changed"),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.isFocused=function(){return this._textAreaInput.isFocused()},t.prototype.focusTextArea=function(){this._textAreaInput.focusTextArea()},t.prototype.prepareRender=function(e){if(2===this._accessibilitySupport)this._primaryCursorVisibleRange=null;else{var t=new m.a(this._selections[0].positionLineNumber,this._selections[0].positionColumn);this._primaryCursorVisibleRange=e.visibleRangeForPosition(t)}},t.prototype.render=function(e){this._textAreaInput.writeScreenReaderContent("render"),this._render()},t.prototype._render=function(){if(this._visibleTextArea)this._renderInsideEditor(this._visibleTextArea.top-this._scrollTop,this._contentLeft+this._visibleTextArea.left-this._scrollLeft,this._visibleTextArea.width,this._lineHeight,!0);else if(this._primaryCursorVisibleRange){var e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(e<this._contentLeft||e>this._contentLeft+this._contentWidth)this._renderAtTopLeft();else{var t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;t<0||t>this._contentHeight?this._renderAtTopLeft():this._renderInsideEditor(t,e,rt?0:1,rt?0:1,!1)}}else this._renderAtTopLeft()},t.prototype._renderInsideEditor=function(e,t,o,n,i){var r=this.textArea,s=this.textAreaCover;i?g.a.applyFontInfo(r,this._fontInfo):(r.setFontSize(1),r.setLineHeight(this._fontInfo.lineHeight)),r.setTop(e),r.setLeft(t),r.setWidth(o),r.setHeight(n),s.setTop(0),s.setLeft(0),s.setWidth(0),s.setHeight(0)},t.prototype._renderAtTopLeft=function(){var e=this.textArea,t=this.textAreaCover;if(g.a.applyFontInfo(e,this._fontInfo),e.setTop(0),e.setLeft(0),t.setTop(0),t.setLeft(0),rt)return e.setWidth(0),e.setHeight(0),t.setWidth(0),void t.setHeight(0);e.setWidth(1),e.setHeight(1),t.setWidth(1),t.setHeight(1),this._context.configuration.editor.viewInfo.glyphMargin?t.setClassName("monaco-editor-background textAreaCover "+$e.OUTER_CLASS_NAME):0!==this._context.configuration.editor.viewInfo.renderLineNumbers?t.setClassName("monaco-editor-background textAreaCover "+tt.CLASS_NAME):t.setClassName("monaco-editor-background textAreaCover")},t}(Ye);var lt=o(66),ut=o(16),ct=o(41),ht=o(73),dt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),gt=function(){function e(e,t){this.x=e,this.y=t}return e.prototype.toClientCoordinates=function(){return new pt(this.x-r.e.scrollX,this.y-r.e.scrollY)},e}(),pt=function(){function e(e,t){this.clientX=e,this.clientY=t}return e.prototype.toPageCoordinates=function(){return new gt(this.clientX+r.e.scrollX,this.clientY+r.e.scrollY)},e}(),ft=function(e,t,o,n){this.x=e,this.y=t,this.width=o,this.height=n};function mt(e){var t=r.u(e);return new ft(t.left,t.top,t.width,t.height)}var _t=function(e){function t(t,o){var n=e.call(this,t)||this;return n.pos=new gt(n.posx,n.posy),n.editorPos=mt(o),n}return dt(t,e),t}(ct.b),yt=function(){function e(e){this._editorViewDomNode=e}return e.prototype._create=function(e){return new _t(e,this._editorViewDomNode)},e.prototype.onContextMenu=function(e,t){var o=this;return r.g(e,"contextmenu",(function(e){t(o._create(e))}))},e.prototype.onMouseUp=function(e,t){var o=this;return r.g(e,"mouseup",(function(e){t(o._create(e))}))},e.prototype.onMouseDown=function(e,t){var o=this;return r.g(e,"mousedown",(function(e){t(o._create(e))}))},e.prototype.onMouseLeave=function(e,t){var o=this;return r.h(e,(function(e){t(o._create(e))}))},e.prototype.onMouseMoveThrottled=function(e,t,o,n){var i=this;return r.i(e,"mousemove",t,(function(e,t){return o(e,i._create(t))}),n)},e}(),vt=function(e){function t(t){var o=e.call(this)||this;return o._editorViewDomNode=t,o._globalMouseMoveMonitor=o._register(new ht.a),o._keydownListener=null,o}return dt(t,e),t.prototype.startMonitoring=function(e,t,o){var n=this;this._keydownListener=r.j(document,"keydown",(function(e){e.toKeybinding().isModifierKey()||n._globalMouseMoveMonitor.stopMonitoring(!0)}),!0);this._globalMouseMoveMonitor.startMonitoring((function(t,o){return e(t,new _t(o,n._editorViewDomNode))}),t,(function(){n._keydownListener.dispose(),o()}))},t}(l.a),bt=o(123),Et=o(68),Ct=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),St=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i._viewLines=n,i}return Ct(t,e),t.prototype.linesVisibleRangesForRange=function(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)},t.prototype.visibleRangeForPosition=function(e){var t=this._viewLines.visibleRangesForRange2(new _.a(e.lineNumber,e.column,e.lineNumber,e.column));return t?t[0]:null},t}(function(){function e(e,t){this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;var o=this._viewLayout.getCurrentViewport();this.scrollTop=o.top,this.scrollLeft=o.left,this.viewportWidth=o.width,this.viewportHeight=o.height}return e.prototype.getScrolledTopFromAbsoluteTop=function(e){return e-this.scrollTop},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.getDecorationsInViewport=function(){return this.viewportData.getDecorationsInViewport()},e}()),Tt=function(e,t){this.lineNumber=e,this.ranges=t},wt=function(){function e(e,t){this.left=Math.round(e),this.width=Math.round(t)}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e}(),kt=function(){function e(e,t){this.left=e,this.width=t}return e.prototype.toString=function(){return"["+this.left+","+this.width+"]"},e.compare=function(e,t){return e.left-t.left},e}(),Ot=function(){function e(){}return e._createRange=function(){return this._handyReadyRange||(this._handyReadyRange=document.createRange()),this._handyReadyRange},e._detachRange=function(e,t){e.selectNodeContents(t)},e._readClientRects=function(e,t,o,n,i){var r=this._createRange();try{return r.setStart(e,t),r.setEnd(o,n),r.getClientRects()}catch(e){return null}finally{this._detachRange(r,i)}},e._mergeAdjacentRanges=function(e){if(1===e.length)return[new wt(e[0].left,e[0].width)];e.sort(kt.compare);for(var t=[],o=0,n=e[0].left,i=e[0].width,r=1,s=e.length;r<s;r++){var a=e[r],l=a.left,u=a.width;n+i+.9>=l?i=Math.max(i,l+u-n):(t[o++]=new wt(n,i),n=l,i=u)}return t[o++]=new wt(n,i),t},e._createHorizontalRangesFromClientRects=function(e,t){if(!e||0===e.length)return null;for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];o[n]=new kt(Math.max(0,r.left-t),r.width)}return this._mergeAdjacentRanges(o)},e.readHorizontalRanges=function(e,t,o,n,i,r,s){var a=e.children.length-1;if(0>a)return null;(t=Math.min(a,Math.max(0,t)))!==(n=Math.min(a,Math.max(0,n)))&&n>0&&0===i&&(n--,i=Number.MAX_VALUE);var l=e.children[t].firstChild,u=e.children[n].firstChild;if(l&&u||(!l&&0===o&&t>0&&(l=e.children[t-1].firstChild,o=1073741824),!u&&0===i&&n>0&&(u=e.children[n-1].firstChild,i=1073741824)),!l||!u)return null;o=Math.min(l.textContent.length,Math.max(0,o)),i=Math.min(u.textContent.length,Math.max(0,i));var c=this._readClientRects(l,o,u,i,s);return this._createHorizontalRangesFromClientRects(c,r)},e}(),Rt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Nt=!!We.e||!(We.c||je.j||je.m),Lt=je.h,It=function(){function e(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectDeltaLeftRead=!1,this.endNode=t}return Object.defineProperty(e.prototype,"clientRectDeltaLeft",{get:function(){return this._clientRectDeltaLeftRead||(this._clientRectDeltaLeftRead=!0,this._clientRectDeltaLeft=this._domNode.getBoundingClientRect().left),this._clientRectDeltaLeft},enumerable:!0,configurable:!0}),e}(),Dt=function(){function e(e,t){this.themeType=t,this.renderWhitespace=e.editor.viewInfo.renderWhitespace,this.renderControlCharacters=e.editor.viewInfo.renderControlCharacters,this.spaceWidth=e.editor.fontInfo.spaceWidth,this.useMonospaceOptimizations=e.editor.fontInfo.isMonospace&&!e.editor.viewInfo.disableMonospaceOptimizations,this.lineHeight=e.editor.lineHeight,this.stopRenderingLineAfter=e.editor.viewInfo.stopRenderingLineAfter,this.fontLigatures=e.editor.viewInfo.fontLigatures}return e.prototype.equals=function(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures},e}(),At=function(){function e(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}return e.prototype.getDomNode=function(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null},e.prototype.setDomNode=function(e){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=Object(He.b)(e)},e.prototype.onContentChanged=function(){this._isMaybeInvalid=!0},e.prototype.onTokensChanged=function(){this._isMaybeInvalid=!0},e.prototype.onDecorationsChanged=function(){this._isMaybeInvalid=!0},e.prototype.onOptionsChanged=function(e){this._isMaybeInvalid=!0,this._options=e},e.prototype.onSelectionChanged=function(){return!(!Lt&&this._options.themeType!==Fe.b)&&(this._isMaybeInvalid=!0,!0)},e.prototype.renderLine=function(t,o,n,i){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;var r=n.getViewLineRenderingData(t),s=this._options,a=bt.a.filter(r.inlineDecorations,t,r.minColumn,r.maxColumn);if(Lt||s.themeType===Fe.b)for(var l=n.selections,u=0,c=l.length;u<c;u++){var h=l[u];if(!(h.endLineNumber<t||h.startLineNumber>t)){var d=h.startLineNumber===t?h.startColumn:r.minColumn,g=h.endLineNumber===t?h.endColumn:r.maxColumn;d<g&&a.push(new bt.a(d,g,"inline-selected-text",0))}}var p=new Et.b(s.useMonospaceOptimizations,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,r.minColumn-1,r.tokens,a,r.tabSize,s.spaceWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures);if(this._renderedViewLine&&this._renderedViewLine.input.equals(p))return!1;i.appendASCIIString('<div style="top:'),i.appendASCIIString(String(o)),i.appendASCIIString("px;height:"),i.appendASCIIString(String(this._options.lineHeight)),i.appendASCIIString('px;" class="'),i.appendASCIIString(e.CLASS_NAME),i.appendASCIIString('">');var f=Object(Et.c)(p,i);i.appendASCIIString("</div>");var m=null;return Nt&&r.isBasicASCII&&s.useMonospaceOptimizations&&0===f.containsForeignElements&&r.content.length<300&&p.lineTokens.getCount()<100&&(m=new Pt(this._renderedViewLine?this._renderedViewLine.domNode:null,p,f.characterMapping)),m||(m=Bt(this._renderedViewLine?this._renderedViewLine.domNode:null,p,f.characterMapping,f.containsRTL,f.containsForeignElements)),this._renderedViewLine=m,!0},e.prototype.layoutLine=function(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))},e.prototype.getWidth=function(){return this._renderedViewLine?this._renderedViewLine.getWidth():0},e.prototype.getWidthIsFast=function(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()},e.prototype.getVisibleRangesForRange=function(e,t,o){e|=0,t|=0,e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e)),t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t));var n=0|this._renderedViewLine.input.stopRenderingLineAfter;return-1!==n&&e>n&&t>n?null:(-1!==n&&e>n&&(e=n),-1!==n&&t>n&&(t=n),this._renderedViewLine.getVisibleRangesForRange(e,t,o))},e.prototype.getColumnOfNodeOffset=function(e,t,o){return this._renderedViewLine.getColumnOfNodeOffset(e,t,o)},e.CLASS_NAME="view-line",e}(),Pt=function(){function e(e,t,o){this.domNode=e,this.input=t,this._characterMapping=o,this._charWidth=t.spaceWidth}return e.prototype.getWidth=function(){return this._getCharPosition(this._characterMapping.length)},e.prototype.getWidthIsFast=function(){return!0},e.prototype.getVisibleRangesForRange=function(e,t,o){var n=this._getCharPosition(e),i=this._getCharPosition(t);return[new wt(n,i-n)]},e.prototype._getCharPosition=function(e){var t=this._characterMapping.getAbsoluteOffsets();return 0===t.length?0:Math.round(this._charWidth*t[e-1])},e.prototype.getColumnOfNodeOffset=function(e,t,o){for(var n=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,n,o)+1},e}(),Mt=function(){function e(e,t,o,n,i){if(this.domNode=e,this.input=t,this._characterMapping=o,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=i,this._cachedWidth=-1,this._pixelOffsetCache=null,!n||0===this._characterMapping.length){this._pixelOffsetCache=new Int32Array(Math.max(2,this._characterMapping.length+1));for(var r=0,s=this._characterMapping.length;r<=s;r++)this._pixelOffsetCache[r]=-1}}return e.prototype._getReadingTarget=function(){return this.domNode.domNode.firstChild},e.prototype.getWidth=function(){return-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget().offsetWidth),this._cachedWidth},e.prototype.getWidthIsFast=function(){return-1!==this._cachedWidth},e.prototype.getVisibleRangesForRange=function(e,t,o){if(null!==this._pixelOffsetCache){var n=this._readPixelOffset(e,o);if(-1===n)return null;var i=this._readPixelOffset(t,o);return-1===i?null:[new wt(n,i-n)]}return this._readVisibleRangesForRange(e,t,o)},e.prototype._readVisibleRangesForRange=function(e,t,o){if(e===t){var n=this._readPixelOffset(e,o);return-1===n?null:[new wt(n,0)]}return this._readRawVisibleRangesForRange(e,t,o)},e.prototype._readPixelOffset=function(e,t){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth()}if(null!==this._pixelOffsetCache){var o=this._pixelOffsetCache[e];if(-1!==o)return o;var n=this._actualReadPixelOffset(e,t);return this._pixelOffsetCache[e]=n,n}return this._actualReadPixelOffset(e,t)},e.prototype._actualReadPixelOffset=function(e,t){if(0===this._characterMapping.length){var o=Ot.readHorizontalRanges(this._getReadingTarget(),0,0,0,0,t.clientRectDeltaLeft,t.endNode);return o&&0!==o.length?o[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth();var n=this._characterMapping.charOffsetToPartData(e-1),i=Et.a.getPartIndex(n),r=Et.a.getCharIndex(n),s=Ot.readHorizontalRanges(this._getReadingTarget(),i,r,i,r,t.clientRectDeltaLeft,t.endNode);return s&&0!==s.length?s[0].left:-1},e.prototype._readRawVisibleRangesForRange=function(e,t,o){if(1===e&&t===this._characterMapping.length)return[new wt(0,this.getWidth())];var n=this._characterMapping.charOffsetToPartData(e-1),i=Et.a.getPartIndex(n),r=Et.a.getCharIndex(n),s=this._characterMapping.charOffsetToPartData(t-1),a=Et.a.getPartIndex(s),l=Et.a.getCharIndex(s);return Ot.readHorizontalRanges(this._getReadingTarget(),i,r,a,l,o.clientRectDeltaLeft,o.endNode)},e.prototype.getColumnOfNodeOffset=function(e,t,o){for(var n=t.textContent.length,i=-1;t;)t=t.previousSibling,i++;return this._characterMapping.partDataToCharOffset(i,n,o)+1},e}(),xt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Rt(t,e),t.prototype._readVisibleRangesForRange=function(t,o,n){var i=e.prototype._readVisibleRangesForRange.call(this,t,o,n);if(!i||0===i.length||t===o||1===t&&o===this._characterMapping.length)return i;var r=this._readPixelOffset(o-1,n),s=this._readPixelOffset(o,n);if(-1!==r&&-1!==s){var a=r<=s,l=i[i.length-1];a&&l.left<s&&(l.width=s-l.left)}return i},t}(Mt),Bt=je.n?Ft:Ht;function Ft(e,t,o,n,i){return new xt(e,t,o,n,i)}function Ht(e,t,o,n,i){return new Mt(e,t,o,n,i)}var Ut=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Vt=function(){function e(e,t,o,n,i,r){void 0===o&&(o=0),void 0===n&&(n=null),void 0===i&&(i=null),void 0===r&&(r=null),this.element=e,this.type=t,this.mouseColumn=o,this.position=n,!i&&n&&(i=new _.a(n.lineNumber,n.column,n.lineNumber,n.column)),this.range=i,this.detail=r}return e._typeToString=function(e){return e===ut.b.TEXTAREA?"TEXTAREA":e===ut.b.GUTTER_GLYPH_MARGIN?"GUTTER_GLYPH_MARGIN":e===ut.b.GUTTER_LINE_NUMBERS?"GUTTER_LINE_NUMBERS":e===ut.b.GUTTER_LINE_DECORATIONS?"GUTTER_LINE_DECORATIONS":e===ut.b.GUTTER_VIEW_ZONE?"GUTTER_VIEW_ZONE":e===ut.b.CONTENT_TEXT?"CONTENT_TEXT":e===ut.b.CONTENT_EMPTY?"CONTENT_EMPTY":e===ut.b.CONTENT_VIEW_ZONE?"CONTENT_VIEW_ZONE":e===ut.b.CONTENT_WIDGET?"CONTENT_WIDGET":e===ut.b.OVERVIEW_RULER?"OVERVIEW_RULER":e===ut.b.SCROLLBAR?"SCROLLBAR":e===ut.b.OVERLAY_WIDGET?"OVERLAY_WIDGET":"UNKNOWN"},e.toString=function(e){return this._typeToString(e.type)+": "+e.position+" - "+e.range+" - "+e.detail},e.prototype.toString=function(){return e.toString(this)},e}(),Wt=function(){function e(){}return e.isTextArea=function(e){return 2===e.length&&3===e[0]&&6===e[1]},e.isChildOfViewLines=function(e){return e.length>=4&&3===e[0]&&7===e[3]},e.isStrictChildOfViewLines=function(e){return e.length>4&&3===e[0]&&7===e[3]},e.isChildOfScrollableElement=function(e){return e.length>=2&&3===e[0]&&5===e[1]},e.isChildOfMinimap=function(e){return e.length>=2&&3===e[0]&&8===e[1]},e.isChildOfContentWidgets=function(e){return e.length>=4&&3===e[0]&&1===e[3]},e.isChildOfOverflowingContentWidgets=function(e){return e.length>=1&&2===e[0]},e.isChildOfOverlayWidgets=function(e){return e.length>=2&&3===e[0]&&4===e[1]},e}(),jt=function(){function e(e,t,o){this.model=e.model,this.layoutInfo=e.configuration.editor.layoutInfo,this.viewDomNode=t.viewDomNode,this.lineHeight=e.configuration.editor.lineHeight,this.typicalHalfwidthCharacterWidth=e.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this.lastViewCursorsRenderData=o,this._context=e,this._viewHelper=t}return e.prototype.getZoneAtCoord=function(t){return e.getZoneAtCoord(this._context,t)},e.getZoneAtCoord=function(e,t){var o=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(o){var n=o.verticalOffset+o.height/2,i=e.model.getLineCount(),r=null,s=void 0,a=null;return o.afterLineNumber!==i&&(a=new m.a(o.afterLineNumber+1,1)),o.afterLineNumber>0&&(r=new m.a(o.afterLineNumber,e.model.getLineMaxColumn(o.afterLineNumber))),s=null===a?r:null===r?a:t<n?r:a,{viewZoneId:o.id,afterLineNumber:o.afterLineNumber,positionBefore:r,positionAfter:a,position:s}}return null},e.prototype.getFullLineRangeAtCoord=function(e){if(this._context.viewLayout.isAfterLines(e)){var t=this._context.model.getLineCount(),o=this._context.model.getLineMaxColumn(t);return{range:new _.a(t,o,t,o),isAfterLines:!0}}var n=this._context.viewLayout.getLineNumberAtVerticalOffset(e),i=this._context.model.getLineMaxColumn(n);return{range:new _.a(n,1,n,i),isAfterLines:!1}},e.prototype.getLineNumberAtVerticalOffset=function(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)},e.prototype.isAfterLines=function(e){return this._context.viewLayout.isAfterLines(e)},e.prototype.getVerticalOffsetForLineNumber=function(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)},e.prototype.findAttribute=function(t,o){return e._findAttribute(t,o,this._viewHelper.viewDomNode)},e._findAttribute=function(e,t,o){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===o)return null;e=e.parentNode}return null},e.prototype.getLineWidth=function(e){return this._viewHelper.getLineWidth(e)},e.prototype.visibleRangeForPosition2=function(e,t){return this._viewHelper.visibleRangeForPosition2(e,t)},e.prototype.getPositionFromDOMInfo=function(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)},e.prototype.getCurrentScrollTop=function(){return this._context.viewLayout.getCurrentScrollTop()},e.prototype.getCurrentScrollLeft=function(){return this._context.viewLayout.getCurrentScrollLeft()},e}(),Gt=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._ctx=t,i?(r.target=i,r.targetPath=Xe.collect(i,t.viewDomNode)):(r.target=null,r.targetPath=new Uint8Array(0)),r}return Ut(t,e),t.prototype.toString=function(){return"pos("+this.pos.x+","+this.pos.y+"), editorPos("+this.editorPos.x+","+this.editorPos.y+"), mouseVerticalOffset: "+this.mouseVerticalOffset+", mouseContentHorizontalOffset: "+this.mouseContentHorizontalOffset+"\n\ttarget: "+(this.target?this.target.outerHTML:null)},t.prototype.fulfill=function(e,t,o,n){return void 0===t&&(t=null),void 0===o&&(o=null),void 0===n&&(n=null),new Vt(this.target,e,this.mouseColumn,t,o,n)},t.prototype.withTarget=function(e){return new t(this._ctx,this.editorPos,this.pos,e)},t}((function(e,t,o){this.editorPos=t,this.pos=o,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+o.y-t.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+o.x-t.x-e.layoutInfo.contentLeft,this.isInMarginArea=o.x-t.x<e.layoutInfo.contentLeft&&o.x-t.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Yt._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))})),zt={isAfterLines:!0};function Kt(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var Yt=function(){function e(e,t){this._context=e,this._viewHelper=t}return e.prototype.mouseTargetIsWidget=function(e){var t=e.target,o=Xe.collect(t,this._viewHelper.viewDomNode);return!(!Wt.isChildOfContentWidgets(o)&&!Wt.isChildOfOverflowingContentWidgets(o))||!!Wt.isChildOfOverlayWidgets(o)},e.prototype.createMouseTarget=function(t,o,n,i){var r=new jt(this._context,this._viewHelper,t),s=new Gt(r,o,n,i);try{return e._createMouseTarget(r,s,!1)}catch(e){return s.fulfill(ut.b.UNKNOWN)}},e._createMouseTarget=function(t,o,n){if(null===o.target){if(n)return o.fulfill(ut.b.UNKNOWN);var i=e._doHitTest(t,o);return i.position?e.createMouseTargetFromHitTestPosition(t,o,i.position.lineNumber,i.position.column):this._createMouseTarget(t,o.withTarget(i.hitTarget),!0)}var r=null;return(r=(r=(r=(r=(r=(r=(r=(r=(r=(r=r||e._hitTestContentWidget(t,o))||e._hitTestOverlayWidget(t,o))||e._hitTestMinimap(t,o))||e._hitTestScrollbarSlider(t,o))||e._hitTestViewZone(t,o))||e._hitTestMargin(t,o))||e._hitTestViewCursor(t,o))||e._hitTestTextArea(t,o))||e._hitTestViewLines(t,o,n))||e._hitTestScrollbar(t,o))||o.fulfill(ut.b.UNKNOWN)},e._hitTestContentWidget=function(e,t){if(Wt.isChildOfContentWidgets(t.targetPath)||Wt.isChildOfOverflowingContentWidgets(t.targetPath)){var o=e.findAttribute(t.target,"widgetId");return o?t.fulfill(ut.b.CONTENT_WIDGET,null,null,o):t.fulfill(ut.b.UNKNOWN)}return null},e._hitTestOverlayWidget=function(e,t){if(Wt.isChildOfOverlayWidgets(t.targetPath)){var o=e.findAttribute(t.target,"widgetId");return o?t.fulfill(ut.b.OVERLAY_WIDGET,null,null,o):t.fulfill(ut.b.UNKNOWN)}return null},e._hitTestViewCursor=function(e,t){if(t.target)for(var o=0,n=(r=e.lastViewCursorsRenderData).length;o<n;o++){var i=r[o];if(t.target===i.domNode)return t.fulfill(ut.b.CONTENT_TEXT,i.position)}if(t.isInContentArea){var r=e.lastViewCursorsRenderData,s=t.mouseContentHorizontalOffset,a=t.mouseVerticalOffset;for(o=0,n=r.length;o<n;o++){if(!(s<(i=r[o]).contentLeft)&&!(s>i.contentLeft+i.width)){var l=e.getVerticalOffsetForLineNumber(i.position.lineNumber);if(l<=a&&a<=l+i.height)return t.fulfill(ut.b.CONTENT_TEXT,i.position)}}}return null},e._hitTestViewZone=function(e,t){var o=e.getZoneAtCoord(t.mouseVerticalOffset);if(o){var n=t.isInContentArea?ut.b.CONTENT_VIEW_ZONE:ut.b.GUTTER_VIEW_ZONE;return t.fulfill(n,o.position,null,o)}return null},e._hitTestTextArea=function(e,t){return Wt.isTextArea(t.targetPath)?t.fulfill(ut.b.TEXTAREA):null},e._hitTestMargin=function(e,t){if(t.isInMarginArea){var o=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),n=o.range.getStartPosition(),i=Math.abs(t.pos.x-t.editorPos.x),r={isAfterLines:o.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};return(i-=e.layoutInfo.glyphMarginLeft)<=e.layoutInfo.glyphMarginWidth?t.fulfill(ut.b.GUTTER_GLYPH_MARGIN,n,o.range,r):(i-=e.layoutInfo.glyphMarginWidth)<=e.layoutInfo.lineNumbersWidth?t.fulfill(ut.b.GUTTER_LINE_NUMBERS,n,o.range,r):(i-=e.layoutInfo.lineNumbersWidth,t.fulfill(ut.b.GUTTER_LINE_DECORATIONS,n,o.range,r))}return null},e._hitTestViewLines=function(t,o,n){if(!Wt.isChildOfViewLines(o.targetPath))return null;if(t.isAfterLines(o.mouseVerticalOffset)){var i=t.model.getLineCount(),r=t.model.getLineMaxColumn(i);return o.fulfill(ut.b.CONTENT_EMPTY,new m.a(i,r),void 0,zt)}if(n){if(Wt.isStrictChildOfViewLines(o.targetPath)){var s=t.getLineNumberAtVerticalOffset(o.mouseVerticalOffset);if(0===t.model.getLineLength(s)){var a=t.getLineWidth(s),l=Kt(o.mouseContentHorizontalOffset-a);return o.fulfill(ut.b.CONTENT_EMPTY,new m.a(s,1),void 0,l)}}return o.fulfill(ut.b.UNKNOWN)}var u=e._doHitTest(t,o);return u.position?e.createMouseTargetFromHitTestPosition(t,o,u.position.lineNumber,u.position.column):this._createMouseTarget(t,o.withTarget(u.hitTarget),!0)},e._hitTestMinimap=function(e,t){if(Wt.isChildOfMinimap(t.targetPath)){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.model.getLineMaxColumn(o);return t.fulfill(ut.b.SCROLLBAR,new m.a(o,n))}return null},e._hitTestScrollbarSlider=function(e,t){if(Wt.isChildOfScrollableElement(t.targetPath)&&t.target&&1===t.target.nodeType){var o=t.target.className;if(o&&/\b(slider|scrollbar)\b/.test(o)){var n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),i=e.model.getLineMaxColumn(n);return t.fulfill(ut.b.SCROLLBAR,new m.a(n,i))}}return null},e._hitTestScrollbar=function(e,t){if(Wt.isChildOfScrollableElement(t.targetPath)){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.model.getLineMaxColumn(o);return t.fulfill(ut.b.SCROLLBAR,new m.a(o,n))}return null},e.prototype.getMouseColumn=function(t,o){var n=this._context.configuration.editor.layoutInfo,i=this._context.viewLayout.getCurrentScrollLeft()+o.x-t.x-n.contentLeft;return e._getMouseColumn(i,this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth)},e._getMouseColumn=function(e,t){return e<0?1:Math.round(e/t)+1},e.createMouseTargetFromHitTestPosition=function(e,t,o,n){var i=new m.a(o,n),r=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>r){if(je.g&&1===i.column){var s=Kt(t.mouseContentHorizontalOffset-r);return t.fulfill(ut.b.CONTENT_EMPTY,new m.a(o,e.model.getLineMaxColumn(o)),void 0,s)}var a=Kt(t.mouseContentHorizontalOffset-r);return t.fulfill(ut.b.CONTENT_EMPTY,i,void 0,a)}var l=e.visibleRangeForPosition2(o,n);if(!l)return t.fulfill(ut.b.UNKNOWN,i);var u=l.left;if(t.mouseContentHorizontalOffset===u)return t.fulfill(ut.b.CONTENT_TEXT,i);var c=[];if(c.push({offset:l.left,column:n}),n>1){var h=e.visibleRangeForPosition2(o,n-1);h&&c.push({offset:h.left,column:n-1})}if(n<e.model.getLineMaxColumn(o)){var d=e.visibleRangeForPosition2(o,n+1);d&&c.push({offset:d.left,column:n+1})}c.sort((function(e,t){return e.offset-t.offset}));for(var g=1;g<c.length;g++){var p=c[g-1],f=c[g];if(p.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=f.offset){var y=new _.a(o,p.column,o,f.column);return t.fulfill(ut.b.CONTENT_TEXT,i,y)}}return t.fulfill(ut.b.CONTENT_TEXT,i)},e._doHitTestWithCaretRangeFromPoint=function(e,t){var o=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),n=e.getVerticalOffsetForLineNumber(o)+Math.floor(e.lineHeight/2),i=t.pos.y+(n-t.mouseVerticalOffset);i<=t.editorPos.y&&(i=t.editorPos.y+1),i>=t.editorPos.y+e.layoutInfo.height&&(i=t.editorPos.y+e.layoutInfo.height-1);var r=new gt(t.pos.x,i),s=this._actualDoHitTestWithCaretRangeFromPoint(e,r.toClientCoordinates());return s.position?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())},e._actualDoHitTestWithCaretRangeFromPoint=function(e,t){var o=document.caretRangeFromPoint(t.clientX,t.clientY);if(!o||!o.startContainer)return{position:null,hitTarget:null};var n,i=o.startContainer;if(i.nodeType===i.TEXT_NODE){var r=(a=(s=i.parentNode)?s.parentNode:null)?a.parentNode:null;if((r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===At.CLASS_NAME)return{position:e.getPositionFromDOMInfo(s,o.startOffset),hitTarget:null};n=i.parentNode}else if(i.nodeType===i.ELEMENT_NODE){var s,a;if(((a=(s=i.parentNode)?s.parentNode:null)&&a.nodeType===a.ELEMENT_NODE?a.className:null)===At.CLASS_NAME)return{position:e.getPositionFromDOMInfo(i,i.textContent.length),hitTarget:null};n=i}return{position:null,hitTarget:n}},e._doHitTestWithCaretPositionFromPoint=function(e,t){var o=document.caretPositionFromPoint(t.clientX,t.clientY);if(o.offsetNode.nodeType===o.offsetNode.TEXT_NODE){var n=o.offsetNode.parentNode,i=n?n.parentNode:null,r=i?i.parentNode:null;return(r&&r.nodeType===r.ELEMENT_NODE?r.className:null)===At.CLASS_NAME?{position:e.getPositionFromDOMInfo(o.offsetNode.parentNode,o.offset),hitTarget:null}:{position:null,hitTarget:o.offsetNode.parentNode}}return{position:null,hitTarget:o.offsetNode}},e._doHitTestWithMoveToPoint=function(e,t){var o=null,n=null,i=document.body.createTextRange();try{i.moveToPoint(t.clientX,t.clientY)}catch(e){return{position:null,hitTarget:null}}i.collapse(!0);var r=i?i.parentElement():null,s=r?r.parentNode:null,a=s?s.parentNode:null;if((a&&a.nodeType===a.ELEMENT_NODE?a.className:"")===At.CLASS_NAME){var l=i.duplicate();l.moveToElementText(r),l.setEndPoint("EndToStart",i),o=e.getPositionFromDOMInfo(r,l.text.length),l.moveToElementText(e.viewDomNode)}else n=r;return i.moveToElementText(e.viewDomNode),{position:o,hitTarget:n}},e._doHitTest=function(e,t){return document.caretRangeFromPoint?this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint?this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates()):document.body.createTextRange?this._doHitTestWithMoveToPoint(e,t.pos.toClientCoordinates()):{position:null,hitTarget:null}},e}(),Xt=o(17),qt=o(96),$t=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function Jt(e){return function(t,o){var n=!1;return e&&(n=e.mouseTargetIsWidget(o)),n||o.preventDefault(),o}}var Zt=function(e){function t(o,n,i){var s=e.call(this)||this;s._isFocused=!1,s._context=o,s.viewController=n,s.viewHelper=i,s.mouseTargetFactory=new Yt(s._context,i),s._mouseDownOperation=s._register(new Qt(s._context,s.viewController,s.viewHelper,(function(e,t){return s._createMouseTarget(e,t)}),(function(e){return s._getMouseColumn(e)}))),s._asyncFocus=s._register(new Xt.c((function(){return s.viewHelper.focusTextArea()}),0)),s.lastMouseLeaveTime=-1;var a=new yt(s.viewHelper.viewDomNode);s._register(a.onContextMenu(s.viewHelper.viewDomNode,(function(e){return s._onContextMenu(e,!0)}))),s._register(a.onMouseMoveThrottled(s.viewHelper.viewDomNode,(function(e){return s._onMouseMove(e)}),Jt(s.mouseTargetFactory),t.MOUSE_MOVE_MINIMUM_TIME)),s._register(a.onMouseUp(s.viewHelper.viewDomNode,(function(e){return s._onMouseUp(e)}))),s._register(a.onMouseLeave(s.viewHelper.viewDomNode,(function(e){return s._onMouseLeave(e)}))),s._register(a.onMouseDown(s.viewHelper.viewDomNode,(function(e){return s._onMouseDown(e)})));var l=function(e){if(s._context.configuration.editor.viewInfo.mouseWheelZoom){var t=new ct.c(e);if(t.browserEvent.ctrlKey||t.browserEvent.metaKey){var o=qt.a.getZoomLevel(),n=t.deltaY>0?1:-1;qt.a.setZoomLevel(o+n),t.preventDefault(),t.stopPropagation()}}};return s._register(r.g(s.viewHelper.viewDomNode,"mousewheel",l,!0)),s._register(r.g(s.viewHelper.viewDomNode,"DOMMouseScroll",l,!0)),s._context.addEventHandler(s),s}return $t(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),e.prototype.dispose.call(this)},t.prototype.onCursorStateChanged=function(e){return this._mouseDownOperation.onCursorStateChanged(e),!1},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!1},t.prototype.onScrollChanged=function(e){return this._mouseDownOperation.onScrollChanged(),!1},t.prototype.getTargetAtClientPoint=function(e,t){var o=new pt(e,t).toPageCoordinates(),n=mt(this.viewHelper.viewDomNode);if(o.y<n.y||o.y>n.y+n.height||o.x<n.x||o.x>n.x+n.width)return null;var i=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(i,n,o,null)},t.prototype._createMouseTarget=function(e,t){var o=this.viewHelper.getLastViewCursorsRenderData();return this.mouseTargetFactory.createMouseTarget(o,e.editorPos,e.pos,t?e.target:null)},t.prototype._getMouseColumn=function(e){return this.mouseTargetFactory.getMouseColumn(e.editorPos,e.pos)},t.prototype._onContextMenu=function(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})},t.prototype._onMouseMove=function(e){this._mouseDownOperation.isActive()||(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))},t.prototype._onMouseLeave=function(e){this.lastMouseLeaveTime=(new Date).getTime(),this.viewController.emitMouseLeave({event:e,target:null})},t.prototype._onMouseUp=function(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})},t.prototype._onMouseDown=function(e){var t=this,o=this._createMouseTarget(e,!0),n=o.type===ut.b.CONTENT_TEXT||o.type===ut.b.CONTENT_EMPTY,i=o.type===ut.b.GUTTER_GLYPH_MARGIN||o.type===ut.b.GUTTER_LINE_NUMBERS||o.type===ut.b.GUTTER_LINE_DECORATIONS,r=o.type===ut.b.GUTTER_LINE_NUMBERS,s=this._context.configuration.editor.viewInfo.selectOnLineNumbers,a=o.type===ut.b.CONTENT_VIEW_ZONE||o.type===ut.b.GUTTER_VIEW_ZONE,l=o.type===ut.b.CONTENT_WIDGET,u=e.leftButton||e.middleButton;We.d&&e.leftButton&&e.ctrlKey&&(u=!1);var c=function(){je.k&&!t._isFocused?t._asyncFocus.schedule():(e.preventDefault(),t.viewHelper.focusTextArea())};if(u&&(n||r&&s))c(),this._mouseDownOperation.start(o.type,e);else if(i)e.preventDefault();else if(a){var h=o.detail;this.viewHelper.shouldSuppressMouseDownOnViewZone(h.viewZoneId)&&(c(),this._mouseDownOperation.start(o.type,e),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(o.detail)&&(c(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:o})},t.MOUSE_MOVE_MINIMUM_TIME=100,t}(Ve),Qt=function(e){function t(t,o,n,i,r){var s=e.call(this)||this;return s._context=t,s._viewController=o,s._viewHelper=n,s._createMouseTarget=i,s._getMouseColumn=r,s._mouseMoveMonitor=s._register(new vt(s._viewHelper.viewDomNode)),s._onScrollTimeout=s._register(new Xt.f),s._mouseState=new eo,s._currentSelection=new y.a(1,1,1,1),s._isActive=!1,s._lastMouseEvent=null,s}return $t(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.isActive=function(){return this._isActive},t.prototype._onMouseDownThenMove=function(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);var t=this._findMousePosition(e,!0);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))},t.prototype.start=function(e,t){var o=this;this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===ut.b.GUTTER_LINE_NUMBERS),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);var n=this._findMousePosition(t,!0);if(n){if(this._mouseState.trySetCount(t.detail,n.position),t.detail=this._mouseState.count,!this._context.configuration.editor.readOnly&&this._context.configuration.editor.dragAndDrop&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&this._currentSelection.containsPosition(n.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(Jt(null),(function(e){return o._onMouseDownThenMove(e)}),(function(){var e=o._findMousePosition(o._lastMouseEvent,!0);o._viewController.emitMouseDrop({event:o._lastMouseEvent,target:e?o._createMouseTarget(o._lastMouseEvent,!0):null}),o._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(n,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(Jt(null),(function(e){return o._onMouseDownThenMove(e)}),(function(){return o._stop()})))}},t.prototype._stop=function(){this._isActive=!1,this._onScrollTimeout.cancel()},t.prototype.onScrollChanged=function(){var e=this;this._isActive&&this._onScrollTimeout.setIfNotSet((function(){var t=e._findMousePosition(e._lastMouseEvent,!1);t&&(e._mouseState.isDragAndDrop||e._dispatchMouse(t,!0))}),10)},t.prototype.onCursorStateChanged=function(e){this._currentSelection=e.selections[0]},t.prototype._getPositionOutsideEditor=function(e){var t=e.editorPos,o=this._context.model,n=this._context.viewLayout,i=this._getMouseColumn(e);if(e.posy<t.y){var r=Math.max(n.getCurrentScrollTop()-(t.y-e.posy),0);if(a=jt.getZoneAtCoord(this._context,r))if(l=this._helpPositionJumpOverViewZone(a))return new Vt(null,ut.b.OUTSIDE_EDITOR,i,l);var s=n.getLineNumberAtVerticalOffset(r);return new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(s,1))}if(e.posy>t.y+t.height){var a,l;r=n.getCurrentScrollTop()+(e.posy-t.y);if(a=jt.getZoneAtCoord(this._context,r))if(l=this._helpPositionJumpOverViewZone(a))return new Vt(null,ut.b.OUTSIDE_EDITOR,i,l);var u=n.getLineNumberAtVerticalOffset(r);return new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(u,o.getLineMaxColumn(u)))}var c=n.getLineNumberAtVerticalOffset(n.getCurrentScrollTop()+(e.posy-t.y));return e.posx<t.x?new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(c,1)):e.posx>t.x+t.width?new Vt(null,ut.b.OUTSIDE_EDITOR,i,new m.a(c,o.getLineMaxColumn(c))):null},t.prototype._findMousePosition=function(e,t){var o=this._getPositionOutsideEditor(e);if(o)return o;var n=this._createMouseTarget(e,t);if(!n.position)return null;if(n.type===ut.b.CONTENT_VIEW_ZONE||n.type===ut.b.GUTTER_VIEW_ZONE){var i=this._helpPositionJumpOverViewZone(n.detail);if(i)return new Vt(n.element,n.type,n.mouseColumn,i,null,n.detail)}return n},t.prototype._helpPositionJumpOverViewZone=function(e){var t=new m.a(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),o=e.positionBefore,n=e.positionAfter;return o&&n?o.isBefore(t)?o:n:null},t.prototype._dispatchMouse=function(e,t){this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton})},t}(l.a),eo=function(){function e(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}return Object.defineProperty(e.prototype,"altKey",{get:function(){return this._altKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ctrlKey",{get:function(){return this._ctrlKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"metaKey",{get:function(){return this._metaKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"shiftKey",{get:function(){return this._shiftKey},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"leftButton",{get:function(){return this._leftButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"middleButton",{get:function(){return this._middleButton},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"startedOnLineNumbers",{get:function(){return this._startedOnLineNumbers},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"count",{get:function(){return this._lastMouseDownCount},enumerable:!0,configurable:!0}),e.prototype.setModifiers=function(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey},e.prototype.setStartButtons=function(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton},e.prototype.setStartedOnLineNumbers=function(e){this._startedOnLineNumbers=e},e.prototype.trySetCount=function(t,o){var n=(new Date).getTime();n-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=n,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(o)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=o,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)},e.CLEAR_MOUSE_DOWN_COUNT_TIME=400,e}(),to=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function oo(e,t){var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o}var no=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.viewHelper.linesContentDomNode.style.msTouchAction="none",i.viewHelper.linesContentDomNode.style.msContentZooming="none",i._installGestureHandlerTimeout=window.setTimeout((function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener("MSPointerDown",(function(o){var n=o.pointerType;n!==(o.MSPOINTER_TYPE_MOUSE||"mouse")?n===(o.MSPOINTER_TYPE_TOUCH||"touch")?(i._lastPointerType="touch",e.addPointer(o.pointerId)):(i._lastPointerType="pen",t.addPointer(o.pointerId)):i._lastPointerType="mouse"})),i._register(r.i(i.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return i._onGestureChange(e)}),oo)),i._register(r.g(i.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return i._onCaptureGestureTap(e)}),!0))}}),100),i._lastPointerType="mouse",i}return to(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,o=new _t(e,this.viewHelper.viewDomNode),n=this._createMouseTarget(o,!1);n.position&&this.viewController.moveTo(n.position),o.browserEvent.fromElement?(o.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Zt),io=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.viewHelper.linesContentDomNode.style.touchAction="none",i._installGestureHandlerTimeout=window.setTimeout((function(){if(i._installGestureHandlerTimeout=-1,window.MSGesture){var e=new MSGesture,t=new MSGesture;e.target=i.viewHelper.linesContentDomNode,t.target=i.viewHelper.linesContentDomNode,i.viewHelper.linesContentDomNode.addEventListener("pointerdown",(function(o){var n=o.pointerType;"mouse"!==n?"touch"===n?(i._lastPointerType="touch",e.addPointer(o.pointerId)):(i._lastPointerType="pen",t.addPointer(o.pointerId)):i._lastPointerType="mouse"})),i._register(r.i(i.viewHelper.linesContentDomNode,"MSGestureChange",(function(e){return i._onGestureChange(e)}),oo)),i._register(r.g(i.viewHelper.linesContentDomNode,"MSGestureTap",(function(e){return i._onCaptureGestureTap(e)}),!0))}}),100),i._lastPointerType="mouse",i}return to(t,e),t.prototype._onMouseDown=function(t){"mouse"===this._lastPointerType&&e.prototype._onMouseDown.call(this,t)},t.prototype._onCaptureGestureTap=function(e){var t=this,o=new _t(e,this.viewHelper.viewDomNode),n=this._createMouseTarget(o,!1);n.position&&this.viewController.moveTo(n.position),o.browserEvent.fromElement?(o.preventDefault(),this.viewHelper.focusTextArea()):setTimeout((function(){t.viewHelper.focusTextArea()}))},t.prototype._onGestureChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t.prototype.dispose=function(){window.clearTimeout(this._installGestureHandlerTimeout),e.prototype.dispose.call(this)},t}(Zt),ro=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return lt.b.addTarget(i.viewHelper.linesContentDomNode),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Tap,(function(e){return i.onTap(e)}))),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Change,(function(e){return i.onChange(e)}))),i._register(r.g(i.viewHelper.linesContentDomNode,lt.a.Contextmenu,(function(e){return i._onContextMenu(new _t(e,i.viewHelper.viewDomNode),!1)}))),i}return to(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onTap=function(e){e.preventDefault(),this.viewHelper.focusTextArea();var t=this._createMouseTarget(new _t(e,this.viewHelper.viewDomNode),!1);t.position&&this.viewController.moveTo(t.position)},t.prototype.onChange=function(e){this._context.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)},t}(Zt),so=function(){function e(e,t,o){window.navigator.msPointerEnabled?this.handler=new no(e,t,o):window.TouchEvent?this.handler=new ro(e,t,o):window.navigator.pointerEnabled||window.PointerEvent?this.handler=new io(e,t,o):this.handler=new Zt(e,t,o)}return e.prototype.getTargetAtClientPoint=function(e,t){return this.handler.getTargetAtClientPoint(e,t)},e.prototype.dispose=function(){this.handler.dispose()},e}(),ao=o(72),lo=function(){function e(e,t,o,n,i){this.configuration=e,this.viewModel=t,this._execCoreEditorCommandFunc=o,this.outgoingEvents=n,this.commandDelegate=i}return e.prototype._execMouseCommand=function(e,t){t.source="mouse",this._execCoreEditorCommandFunc(e,t)},e.prototype.paste=function(e,t,o,n){this.commandDelegate.paste(e,t,o,n)},e.prototype.type=function(e,t){this.commandDelegate.type(e,t)},e.prototype.replacePreviousChar=function(e,t,o){this.commandDelegate.replacePreviousChar(e,t,o)},e.prototype.compositionStart=function(e){this.commandDelegate.compositionStart(e)},e.prototype.compositionEnd=function(e){this.commandDelegate.compositionEnd(e)},e.prototype.cut=function(e){this.commandDelegate.cut(e)},e.prototype.setSelection=function(e,t){this._execCoreEditorCommandFunc(ao.CoreNavigationCommands.SetSelection,{source:e,selection:t})},e.prototype._validateViewColumn=function(e){var t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column<t?new m.a(e.lineNumber,t):e},e.prototype._hasMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case"altKey":return e.altKey;case"ctrlKey":return e.ctrlKey;case"metaKey":return e.metaKey}return!1},e.prototype._hasNonMulticursorModifier=function(e){switch(this.configuration.editor.multiCursorModifier){case"altKey":return e.ctrlKey||e.metaKey;case"ctrlKey":return e.altKey||e.metaKey;case"metaKey":return e.ctrlKey||e.altKey}return!1},e.prototype.dispatchMouse=function(e){e.middleButton?e.inSelectionMode?this.columnSelect(e.position,e.mouseColumn):this.moveTo(e.position):e.startedOnLineNumbers?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelect(e.position):this.createCursor(e.position,!0):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):e.mouseDownCount>=4?this.selectAll():3===e.mouseDownCount?this._hasMulticursorModifier(e)?e.inSelectionMode?this.lastCursorLineSelectDrag(e.position):this.lastCursorLineSelect(e.position):e.inSelectionMode?this.lineSelectDrag(e.position):this.lineSelect(e.position):2===e.mouseDownCount?this._hasMulticursorModifier(e)?this.lastCursorWordSelect(e.position):e.inSelectionMode?this.wordSelectDrag(e.position):this.wordSelect(e.position):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this.columnSelect(e.position,e.mouseColumn):e.inSelectionMode?this.lastCursorMoveToSelect(e.position):this.createCursor(e.position,!1)):e.inSelectionMode?this.moveToSelect(e.position):this.moveTo(e.position)},e.prototype._usualArgs=function(e){return e=this._validateViewColumn(e),{position:this.convertViewToModelPosition(e),viewPosition:e}},e.prototype.moveTo=function(e){this._execMouseCommand(ao.CoreNavigationCommands.MoveTo,this._usualArgs(e))},e.prototype.moveToSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.MoveToSelect,this._usualArgs(e))},e.prototype.columnSelect=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ao.CoreNavigationCommands.ColumnSelect,{position:this.convertViewToModelPosition(e),viewPosition:e,mouseColumn:t})},e.prototype.createCursor=function(e,t){e=this._validateViewColumn(e),this._execMouseCommand(ao.CoreNavigationCommands.CreateCursor,{position:this.convertViewToModelPosition(e),viewPosition:e,wholeLine:t})},e.prototype.lastCursorMoveToSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorMoveToSelect,this._usualArgs(e))},e.prototype.wordSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.WordSelect,this._usualArgs(e))},e.prototype.wordSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.WordSelectDrag,this._usualArgs(e))},e.prototype.lastCursorWordSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorWordSelect,this._usualArgs(e))},e.prototype.lineSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LineSelect,this._usualArgs(e))},e.prototype.lineSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LineSelectDrag,this._usualArgs(e))},e.prototype.lastCursorLineSelect=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorLineSelect,this._usualArgs(e))},e.prototype.lastCursorLineSelectDrag=function(e){this._execMouseCommand(ao.CoreNavigationCommands.LastCursorLineSelectDrag,this._usualArgs(e))},e.prototype.selectAll=function(){this._execMouseCommand(ao.CoreNavigationCommands.SelectAll,{})},e.prototype.convertViewToModelPosition=function(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},e.prototype.emitKeyDown=function(e){this.outgoingEvents.emitKeyDown(e)},e.prototype.emitKeyUp=function(e){this.outgoingEvents.emitKeyUp(e)},e.prototype.emitContextMenu=function(e){this.outgoingEvents.emitContextMenu(e)},e.prototype.emitMouseMove=function(e){this.outgoingEvents.emitMouseMove(e)},e.prototype.emitMouseLeave=function(e){this.outgoingEvents.emitMouseLeave(e)},e.prototype.emitMouseUp=function(e){this.outgoingEvents.emitMouseUp(e)},e.prototype.emitMouseDown=function(e){this.outgoingEvents.emitMouseDown(e)},e.prototype.emitMouseDrag=function(e){this.outgoingEvents.emitMouseDrag(e)},e.prototype.emitMouseDrop=function(e){this.outgoingEvents.emitMouseDrop(e)},e}(),uo=function(){function e(e){this._eventHandlerGateKeeper=e,this._eventHandlers=[],this._eventQueue=null,this._isConsumingQueue=!1}return e.prototype.addEventHandler=function(e){for(var t=0,o=this._eventHandlers.length;t<o;t++)this._eventHandlers[t]===e&&console.warn("Detected duplicate listener in ViewEventDispatcher",e);this._eventHandlers.push(e)},e.prototype.removeEventHandler=function(e){for(var t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}},e.prototype.emit=function(e){this._eventQueue?this._eventQueue.push(e):this._eventQueue=[e],this._isConsumingQueue||this.consumeQueue()},e.prototype.emitMany=function(e){this._eventQueue?this._eventQueue=this._eventQueue.concat(e):this._eventQueue=e,this._isConsumingQueue||this.consumeQueue()},e.prototype.consumeQueue=function(){var e=this;this._eventHandlerGateKeeper((function(){try{e._isConsumingQueue=!0,e._doConsumeQueue()}finally{e._isConsumingQueue=!1}}))},e.prototype._doConsumeQueue=function(){for(;this._eventQueue;){var e=this._eventQueue;this._eventQueue=null;for(var t=this._eventHandlers.slice(0),o=0,n=t.length;o<n;o++)t[o].handleEvents(e)}},e}(),co=o(159),ho=function(){function e(e){this._createLine=e,this._set(1,[])}return e.prototype.flush=function(){this._set(1,[])},e.prototype._set=function(e,t){this._lines=t,this._rendLineNumberStart=e},e.prototype._get=function(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}},e.prototype.getStartLineNumber=function(){return this._rendLineNumberStart},e.prototype.getEndLineNumber=function(){return this._rendLineNumberStart+this._lines.length-1},e.prototype.getCount=function(){return this._lines.length},e.prototype.getLine=function(e){var t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new Error("Illegal value for lineNumber");return this._lines[t]},e.prototype.onLinesDeleted=function(e,t){if(0===this.getCount())return null;var o=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<o){var i=t-e+1;return this._rendLineNumberStart-=i,null}if(e>n)return null;for(var r=0,s=0,a=o;a<=n;a++){var l=a-this._rendLineNumberStart;e<=a&&a<=t&&(0===s?(r=l,s=1):s++)}if(e<o){var u=0;u=t<o?t-e+1:o-e,this._rendLineNumberStart-=u}return this._lines.splice(r,s)},e.prototype.onLinesChanged=function(e,t){if(0===this.getCount())return!1;for(var o=this.getStartLineNumber(),n=this.getEndLineNumber(),i=!1,r=e;r<=t;r++)r>=o&&r<=n&&(this._lines[r-this._rendLineNumberStart].onContentChanged(),i=!0);return i},e.prototype.onLinesInserted=function(e,t){if(0===this.getCount())return null;var o=t-e+1,n=this.getStartLineNumber(),i=this.getEndLineNumber();if(e<=n)return this._rendLineNumberStart+=o,null;if(e>i)return null;if(o+e>i)return this._lines.splice(e-this._rendLineNumberStart,i-e+1);for(var r=[],s=0;s<o;s++)r[s]=this._createLine();var a=e-this._rendLineNumberStart,l=this._lines.slice(0,a),u=this._lines.slice(a,this._lines.length-o),c=this._lines.slice(this._lines.length-o,this._lines.length);return this._lines=l.concat(r).concat(u),c},e.prototype.onTokensChanged=function(e){if(0===this.getCount())return!1;for(var t=this.getStartLineNumber(),o=this.getEndLineNumber(),n=!1,i=0,r=e.length;i<r;i++){var s=e[i];if(!(s.toLineNumber<t||s.fromLineNumber>o))for(var a=Math.max(t,s.fromLineNumber),l=Math.min(o,s.toLineNumber),u=a;u<=l;u++){var c=u-this._rendLineNumberStart;this._lines[c].onTokensChanged(),n=!0}}return n},e}(),go=function(){function e(e){var t=this;this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new ho((function(){return t._host.createVisibleLine()}))}return e.prototype._createDomNode=function(){var e=Object(He.b)(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e},e.prototype.onConfigurationChanged=function(e){return e.layoutInfo},e.prototype.onFlushed=function(e){return this._linesCollection.flush(),!0},e.prototype.onLinesChanged=function(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){var t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(var o=0,n=t.length;o<n;o++){var i=t[o].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onLinesInserted=function(e){var t=this._linesCollection.onLinesInserted(e.fromLineNumber,e.toLineNumber);if(t)for(var o=0,n=t.length;o<n;o++){var i=t[o].getDomNode();i&&this.domNode.domNode.removeChild(i)}return!0},e.prototype.onScrollChanged=function(e){return e.scrollTopChanged},e.prototype.onTokensChanged=function(e){return this._linesCollection.onTokensChanged(e.ranges)},e.prototype.onZonesChanged=function(e){return!0},e.prototype.getStartLineNumber=function(){return this._linesCollection.getStartLineNumber()},e.prototype.getEndLineNumber=function(){return this._linesCollection.getEndLineNumber()},e.prototype.getVisibleLine=function(e){return this._linesCollection.getLine(e)},e.prototype.renderLines=function(e){var t=this._linesCollection._get(),o=new po(this.domNode.domNode,this._host,e),n={rendLineNumberStart:t.rendLineNumberStart,lines:t.lines,linesLength:t.lines.length},i=o.render(n,e.startLineNumber,e.endLineNumber,e.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)},e}(),po=function(){function e(e,t,o){this.domNode=e,this.host=t,this.viewportData=o}return e.prototype.render=function(e,t,o,n){var i={rendLineNumberStart:e.rendLineNumberStart,lines:e.lines.slice(0),linesLength:e.linesLength};if(i.rendLineNumberStart+i.linesLength-1<t||o<i.rendLineNumberStart){i.rendLineNumberStart=t,i.linesLength=o-t+1,i.lines=[];for(var r=t;r<=o;r++)i.lines[r-t]=this.host.createVisibleLine();return this._finishRendering(i,!0,n),i}if(this._renderUntouchedLines(i,Math.max(t-i.rendLineNumberStart,0),Math.min(o-i.rendLineNumberStart,i.linesLength-1),n,t),i.rendLineNumberStart>t)(l=t)<=(s=Math.min(o,i.rendLineNumberStart-1))&&(this._insertLinesBefore(i,l,s,n,t),i.linesLength+=s-l+1);else if(i.rendLineNumberStart<t){(a=Math.min(i.linesLength,t-i.rendLineNumberStart))>0&&(this._removeLinesBefore(i,a),i.linesLength-=a)}if(i.rendLineNumberStart=t,i.rendLineNumberStart+i.linesLength-1<o)(l=i.rendLineNumberStart+i.linesLength)<=(s=o)&&(this._insertLinesAfter(i,l,s,n,t),i.linesLength+=s-l+1);else if(i.rendLineNumberStart+i.linesLength-1>o){var s,a,l=Math.max(0,o-i.rendLineNumberStart+1);(a=(s=i.linesLength-1)-l+1)>0&&(this._removeLinesAfter(i,a),i.linesLength-=a)}return this._finishRendering(i,!1,n),i},e.prototype._renderUntouchedLines=function(e,t,o,n,i){for(var r=e.rendLineNumberStart,s=e.lines,a=t;a<=o;a++){var l=r+a;s[a].layoutLine(l,n[l-i])}},e.prototype._insertLinesBefore=function(e,t,o,n,i){for(var r=[],s=0,a=t;a<=o;a++)r[s++]=this.host.createVisibleLine();e.lines=r.concat(e.lines)},e.prototype._removeLinesBefore=function(e,t){for(var o=0;o<t;o++){var n=e.lines[o].getDomNode();n&&this.domNode.removeChild(n)}e.lines.splice(0,t)},e.prototype._insertLinesAfter=function(e,t,o,n,i){for(var r=[],s=0,a=t;a<=o;a++)r[s++]=this.host.createVisibleLine();e.lines=e.lines.concat(r)},e.prototype._removeLinesAfter=function(e,t){for(var o=e.linesLength-t,n=0;n<t;n++){var i=e.lines[o+n].getDomNode();i&&this.domNode.removeChild(i)}e.lines.splice(o,t)},e.prototype._finishRenderingNewLines=function(e,t,o,n){var i=this.domNode.lastChild;t||!i?this.domNode.innerHTML=o:i.insertAdjacentHTML("afterend",o);for(var r=this.domNode.lastChild,s=e.linesLength-1;s>=0;s--){var a=e.lines[s];n[s]&&(a.setDomNode(r),r=r.previousSibling)}},e.prototype._finishRenderingInvalidLines=function(e,t,o){var n=document.createElement("div");n.innerHTML=t;for(var i=0;i<e.linesLength;i++){var r=e.lines[i];if(o[i]){var s=n.firstChild,a=r.getDomNode();a.parentNode.replaceChild(s,a),r.setDomNode(s)}}},e.prototype._finishRendering=function(t,o,n){var i=e._sb,r=t.linesLength,s=t.lines,a=t.rendLineNumberStart,l=[];i.reset();for(var u=!1,c=0;c<r;c++){var h=s[c];if(l[c]=!1,!h.getDomNode())h.renderLine(c+a,n[c],this.viewportData,i)&&(l[c]=!0,u=!0)}u&&this._finishRenderingNewLines(t,o,i.build(),l),i.reset();var d=!1,g=[];for(c=0;c<r;c++){h=s[c];if(g[c]=!1,!l[c])h.renderLine(c+a,n[c],this.viewportData,i)&&(g[c]=!0,d=!0)}d&&this._finishRenderingInvalidLines(t,i.build(),g)},e._sb=Object(co.a)(1e5),e}(),fo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),mo=function(e){function t(t){var o=e.call(this,t)||this;return o._visibleLines=new go(o),o.domNode=o._visibleLines.domNode,o._dynamicOverlays=[],o._isFocused=!1,o.domNode.setClassName("view-overlays"),o}return fo(t,e),t.prototype.shouldRender=function(){if(e.prototype.shouldRender.call(this))return!0;for(var t=0,o=this._dynamicOverlays.length;t<o;t++){if(this._dynamicOverlays[t].shouldRender())return!0}return!1},t.prototype.dispose=function(){e.prototype.dispose.call(this);for(var t=0,o=this._dynamicOverlays.length;t<o;t++){this._dynamicOverlays[t].dispose()}this._dynamicOverlays=null},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new _o(this._context.configuration,this._dynamicOverlays)},t.prototype.addDynamicOverlay=function(e){this._dynamicOverlays.push(e)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e);for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++){this._visibleLines.getVisibleLine(n).onConfigurationChanged(e)}return!0},t.prototype.onFlushed=function(e){return this._visibleLines.onFlushed(e)},t.prototype.onFocusChanged=function(e){return this._isFocused=e.isFocused,!0},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onScrollChanged=function(e){return this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._visibleLines.onZonesChanged(e)},t.prototype.prepareRender=function(e){for(var t=this._dynamicOverlays.filter((function(e){return e.shouldRender()})),o=0,n=t.length;o<n;o++){var i=t[o];i.prepareRender(e),i.onDidRender()}return null},t.prototype.render=function(e){this._viewOverlaysRender(e),this.domNode.toggleClassName("focused",this._isFocused)},t.prototype._viewOverlaysRender=function(e){this._visibleLines.renderLines(e.viewportData)},t}(Ye),_o=function(){function e(e,t){this._configuration=e,this._lineHeight=this._configuration.editor.lineHeight,this._dynamicOverlays=t,this._domNode=null,this._renderedContent=null}return e.prototype.getDomNode=function(){return this._domNode?this._domNode.domNode:null},e.prototype.setDomNode=function(e){this._domNode=Object(He.b)(e)},e.prototype.onContentChanged=function(){},e.prototype.onTokensChanged=function(){},e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._configuration.editor.lineHeight)},e.prototype.renderLine=function(e,t,o,n){for(var i="",r=0,s=this._dynamicOverlays.length;r<s;r++){i+=this._dynamicOverlays[r].render(o.startLineNumber,e)}return this._renderedContent!==i&&(this._renderedContent=i,n.appendASCIIString('<div style="position:absolute;top:'),n.appendASCIIString(String(t)),n.appendASCIIString("px;width:100%;height:"),n.appendASCIIString(String(this._lineHeight)),n.appendASCIIString('px;">'),n.appendASCIIString(i),n.appendASCIIString("</div>"),!0)},e.prototype.layoutLine=function(e,t){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(this._lineHeight))},e}(),yo=function(e){function t(t){var o=e.call(this,t)||this;return o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o.domNode.setHeight(0),o}return fo(t,e),t.prototype.onConfigurationChanged=function(t){return t.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),e.prototype.onConfigurationChanged.call(this,t)},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollWidthChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))},t}(mo),vo=function(e){function t(t){var o=e.call(this,t)||this;return o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o.domNode.setClassName("margin-view-overlays"),o.domNode.setWidth(1),g.a.applyFontInfo(o.domNode,o._context.configuration.editor.fontInfo),o}return fo(t,e),t.prototype.onConfigurationChanged=function(t){var o=!1;return t.fontInfo&&(g.a.applyFontInfo(this.domNode,this._context.configuration.editor.fontInfo),o=!0),t.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,o=!0),e.prototype.onConfigurationChanged.call(this,t)||o},t.prototype.onScrollChanged=function(t){return e.prototype.onScrollChanged.call(this,t)||t.scrollHeightChanged},t.prototype._viewOverlaysRender=function(t){e.prototype._viewOverlaysRender.call(this,t);var o=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)},t}(mo),bo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Eo=function(e,t){this.top=e,this.left=t},Co=function(e){function t(t,o){var n=e.call(this,t)||this;return n._viewDomNode=o,n._widgets={},n.domNode=Object(He.b)(document.createElement("div")),Xe.write(n.domNode,1),n.domNode.setClassName("contentWidgets"),n.domNode.setPosition("absolute"),n.domNode.setTop(0),n.overflowingContentWidgetsDomNode=Object(He.b)(document.createElement("div")),Xe.write(n.overflowingContentWidgetsDomNode,2),n.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets"),n}return bo(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null,this.domNode=null},t.prototype.onConfigurationChanged=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onConfigurationChanged(e)}return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLineMappingChanged=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onLineMappingChanged(e)}return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.addWidget=function(e){var t=new So(this._context,this._viewDomNode,e);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t,o){this._widgets[e.getId()].setPosition(t,o),this.setShouldRender()},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var o=this._widgets[t];delete this._widgets[t];var n=o.domNode.domNode;n.parentNode.removeChild(n),n.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}},t.prototype.shouldSuppressMouseDownOnWidget=function(e){return!!this._widgets.hasOwnProperty(e)&&this._widgets[e].suppressMouseDown},t.prototype.onBeforeRender=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].onBeforeRender(e)}},t.prototype.prepareRender=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].prepareRender(e)}},t.prototype.render=function(e){for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._widgets[i].render(e)}},t}(Ye),So=function(){function e(e,t,o){this._context=e,this._viewDomNode=t,this._actual=o,this.domNode=Object(He.b)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1,this._fixedOverflowWidgets=this._context.configuration.editor.viewInfo.fixedOverflowWidgets,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._lineHeight=this._context.configuration.editor.lineHeight,this._setPosition(null),this._preference=null,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}return e.prototype.onConfigurationChanged=function(e){e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft,this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._maxWidth=this._getMaxWidth())},e.prototype.onLineMappingChanged=function(e){this._setPosition(this._position)},e.prototype._setPosition=function(e){if(this._position=e,this._viewPosition=null,this._position){var t=this._context.model.validateModelPosition(this._position);this._context.model.coordinatesConverter.modelPositionIsVisible(t)&&(this._viewPosition=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t))}},e.prototype._getMaxWidth=function(){return this.allowEditorOverflow?window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth:this._contentWidth},e.prototype.setPosition=function(e,t){this._setPosition(e),this._preference=t,this._cachedDomNodeClientWidth=-1,this._cachedDomNodeClientHeight=-1},e.prototype._layoutBoxInViewport=function(e,t,o,n){var i=e.top,r=i,s=e.top+this._lineHeight,a=i-o,l=r>=o,u=s,c=n.viewportHeight-s>=o,h=e.left;return h+t>n.scrollLeft+n.viewportWidth&&(h=n.scrollLeft+n.viewportWidth-t),h<n.scrollLeft&&(h=n.scrollLeft),{aboveTop:a,fitsAbove:l,belowTop:u,fitsBelow:c,left:h}},e.prototype._layoutBoxInPage=function(e,t,o,n){var i=e.left-n.scrollLeft;if(i<0||i>this._contentWidth)return null;var s,a=e.top-o,l=e.top+this._lineHeight,u=i+this._contentLeft,c=r.u(this._viewDomNode.domNode),h=c.top+a-r.e.scrollY,d=c.top+l-r.e.scrollY,g=c.left+u-r.e.scrollX,p=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,f=h>=22,m=d+o<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-22;g+t+20>p&&(g-=s=g-(p-t-20),u-=s);g<0&&(g-=s=g,u-=s);return this._fixedOverflowWidgets&&(a=h,l=d,u=g),{aboveTop:a,fitsAbove:f,belowTop:l,fitsBelow:m,left:u}},e.prototype._prepareRenderWidgetAtExactPositionOverflowing=function(e){return new Eo(e.top,e.left+this._contentLeft)},e.prototype._getTopLeft=function(e){if(!this._viewPosition)return null;var t=e.visibleRangeForPosition(this._viewPosition);if(!t)return null;var o=e.getVerticalOffsetForLineNumber(this._viewPosition.lineNumber)-e.scrollTop;return new Eo(o,t.left)},e.prototype._prepareRenderWidget=function(e,t){var o=this;if(!e)return null;for(var n=null,i=function(){if(!n){if(-1===o._cachedDomNodeClientWidth||-1===o._cachedDomNodeClientHeight){var i=o.domNode.domNode;o._cachedDomNodeClientWidth=i.clientWidth,o._cachedDomNodeClientHeight=i.clientHeight}n=o.allowEditorOverflow?o._layoutBoxInPage(e,o._cachedDomNodeClientWidth,o._cachedDomNodeClientHeight,t):o._layoutBoxInViewport(e,o._cachedDomNodeClientWidth,o._cachedDomNodeClientHeight,t)}},r=1;r<=2;r++)for(var s=0;s<this._preference.length;s++){var a=this._preference[s];if(a===ut.a.ABOVE){if(i(),!n)return null;if(2===r||n.fitsAbove)return new Eo(n.aboveTop,n.left)}else{if(a!==ut.a.BELOW)return this.allowEditorOverflow?this._prepareRenderWidgetAtExactPositionOverflowing(e):e;if(i(),!n)return null;if(2===r||n.fitsBelow)return new Eo(n.belowTop,n.left)}}return null},e.prototype.onBeforeRender=function(e){this._viewPosition&&this._preference&&(this._viewPosition.lineNumber<e.startLineNumber||this._viewPosition.lineNumber>e.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))},e.prototype.prepareRender=function(e){var t=this._getTopLeft(e);this._renderData=this._prepareRenderWidget(t,e)},e.prototype.render=function(e){this._renderData?(this.allowEditorOverflow?(this.domNode.setTop(this._renderData.top),this.domNode.setLeft(this._renderData.left)):(this.domNode.setTop(this._renderData.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0)):this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden"))},e}(),To=(o(453),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),wo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._renderLineHighlight=o._context.configuration.editor.viewInfo.renderLineHighlight,o._selectionIsEmpty=!0,o._primaryCursorLineNumber=1,o._scrollWidth=0,o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o._context.addEventHandler(o),o}return To(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,o=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==o&&(this._primaryCursorLineNumber=o,t=!0);var n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n?(this._selectionIsEmpty=n,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){this._scrollWidth=e.scrollWidth},t.prototype.render=function(e,t){return t===this._primaryCursorLineNumber&&this._shouldShowCurrentLine()?'<div class="'+("current-line"+(this._willRenderMarginCurrentLine()?" current-line-both":""))+'" style="width:'+String(Math.max(this._scrollWidth,this._contentWidth))+"px; height:"+String(this._lineHeight)+'px;"></div>':""},t.prototype._shouldShowCurrentLine=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t.prototype._willRenderMarginCurrentLine=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.o);if(o&&t.addRule(".monaco-editor .view-overlays .current-line { background-color: "+o+"; }"),!o||o.isTransparent()||e.defines(Je.p)){var n=e.getColor(Je.p);n&&(t.addRule(".monaco-editor .view-overlays .current-line { border: 2px solid "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"))}}));o(454);var ko=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Oo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._renderLineHighlight=o._context.configuration.editor.viewInfo.renderLineHighlight,o._selectionIsEmpty=!0,o._primaryCursorLineNumber=1,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o._context.addEventHandler(o),o}return ko(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._renderLineHighlight=this._context.configuration.editor.viewInfo.renderLineHighlight),e.layoutInfo&&(this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0},t.prototype.onCursorStateChanged=function(e){var t=!1,o=e.selections[0].positionLineNumber;this._primaryCursorLineNumber!==o&&(this._primaryCursorLineNumber=o,t=!0);var n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n?(this._selectionIsEmpty=n,t=!0,!0):t},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e,t){if(t===this._primaryCursorLineNumber){var o="current-line";if(this._shouldShowCurrentLine())o="current-line current-line-margin"+(this._willRenderContentCurrentLine()?" current-line-margin-both":"");return'<div class="'+o+'" style="width:'+String(this._contentLeft)+"px; height:"+String(this._lineHeight)+'px;"></div>'}return""},t.prototype._shouldShowCurrentLine=function(){return"gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight},t.prototype._willRenderContentCurrentLine=function(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.o);if(o)t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: "+o+"; border: none; }");else{var n=e.getColor(Je.p);n&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")}}));o(455);var Ro=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),No=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o._renderResult=null,o._context.addEventHandler(o),o}return Ro(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.prepareRender=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i];s.options.className&&(o[n++]=s)}o=o.sort((function(e,t){if(e.options.zIndex<t.options.zIndex)return-1;if(e.options.zIndex>t.options.zIndex)return 1;var o=e.options.className,n=t.options.className;return o<n?-1:o>n?1:_.a.compareRangesUsingStarts(e.range,t.range)}));for(var a=e.visibleRange.startLineNumber,l=e.visibleRange.endLineNumber,u=[],c=a;c<=l;c++){u[c-a]=""}this._renderWholeLineDecorations(e,o,u),this._renderNormalDecorations(e,o,u),this._renderResult=u},t.prototype._renderWholeLineDecorations=function(e,t,o){for(var n=String(this._lineHeight),i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,s=0,a=t.length;s<a;s++){var l=t[s];if(l.options.isWholeLine)for(var u='<div class="cdr '+l.options.className+'" style="left:0;width:100%;height:'+n+'px;"></div>',c=Math.max(l.range.startLineNumber,i),h=Math.min(l.range.endLineNumber,r),d=c;d<=h;d++){o[d-i]+=u}}},t.prototype._renderNormalDecorations=function(e,t,o){for(var n=String(this._lineHeight),i=e.visibleRange.startLineNumber,r=null,s=!1,a=null,l=0,u=t.length;l<u;l++){var c=t[l];if(!c.options.isWholeLine){var h=c.options.className,d=c.options.showIfCollapsed,g=c.range;d&&1===g.endColumn&&g.endLineNumber!==g.startLineNumber&&(g=new _.a(g.startLineNumber,g.startColumn,g.endLineNumber-1,this._context.model.getLineMaxColumn(g.endLineNumber-1))),r===h&&s===d&&_.a.areIntersectingOrTouching(a,g)?a=_.a.plusRange(a,g):(null!==r&&this._renderNormalDecoration(e,a,r,s,n,i,o),r=h,s=d,a=g)}}null!==r&&this._renderNormalDecoration(e,a,r,s,n,i,o)},t.prototype._renderNormalDecoration=function(e,t,o,n,i,r,s){var a=e.linesVisibleRangesForRange(t,"findMatch"===o);if(a)for(var l=0,u=a.length;l<u;l++){var c=a[l],h=c.lineNumber-r;if(n&&1===c.ranges.length){var d=c.ranges[0];0===d.width&&(c.ranges[0]=new wt(d.left,this._typicalHalfwidthCharacterWidth))}for(var g=0,p=c.ranges.length;g<p;g++){var f=c.ranges[g],m='<div class="cdr '+o+'" style="left:'+String(f.left)+"px;width:"+String(f.width)+"px;height:"+i+'px;"></div>';s[h]+=m}}},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Qe),Lo=(o(456),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Io=function(e,t,o){this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(o)},Do=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Lo(t,e),t.prototype._render=function(e,t,o){for(var n=[],i=e;i<=t;i++){n[i-e]=[]}if(0===o.length)return n;o.sort((function(e,t){return e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1}));for(var r=null,s=0,a=0,l=o.length;a<l;a++){var u=o[a],c=u.className,h=Math.max(u.startLineNumber,e)-e,d=Math.min(u.endLineNumber,t)-e;r===c?(h=Math.max(s+1,h),s=Math.max(s,d)):(r=c,s=d);for(var g=h;g<=s;g++)n[g].push(r)}return n},t}(Qe),Ao=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._glyphMargin=o._context.configuration.editor.viewInfo.glyphMargin,o._glyphMarginLeft=o._context.configuration.editor.layoutInfo.glyphMarginLeft,o._glyphMarginWidth=o._context.configuration.editor.layoutInfo.glyphMarginWidth,o._renderResult=null,o._context.addEventHandler(o),o}return Lo(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._glyphMargin=this._context.configuration.editor.viewInfo.glyphMargin),e.layoutInfo&&(this._glyphMarginLeft=this._context.configuration.editor.layoutInfo.glyphMarginLeft,this._glyphMarginWidth=this._context.configuration.editor.layoutInfo.glyphMarginWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.glyphMarginClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){if(this._glyphMargin){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i=this._lineHeight.toString(),r='" style="left:'+this._glyphMarginLeft.toString()+"px;width:"+this._glyphMarginWidth.toString()+"px;height:"+i+'px;"></div>',s=[],a=t;a<=o;a++){var l=a-t,u=n[l];0===u.length?s[l]="":s[l]='<div class="cgmr '+u.join(" ")+r}this._renderResult=s}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Do),Po=(o(457),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Mo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._primaryLineNumber=0,o._lineHeight=o._context.configuration.editor.lineHeight,o._spaceWidth=o._context.configuration.editor.fontInfo.spaceWidth,o._enabled=o._context.configuration.editor.viewInfo.renderIndentGuides,o._activeIndentEnabled=o._context.configuration.editor.viewInfo.highlightActiveIndentGuide,o._renderResult=null,o._context.addEventHandler(o),o}return Po(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(this._spaceWidth=this._context.configuration.editor.fontInfo.spaceWidth),e.viewInfo&&(this._enabled=this._context.configuration.editor.viewInfo.renderIndentGuides,this._activeIndentEnabled=this._context.configuration.editor.viewInfo.highlightActiveIndentGuide),!0},t.prototype.onCursorStateChanged=function(e){var t=e.selections[0],o=t.isEmpty()?t.positionLineNumber:0;return this._primaryLineNumber!==o&&(this._primaryLineNumber=o,!0)},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLanguageConfigurationChanged=function(e){return!0},t.prototype.prepareRender=function(e){if(this._enabled){var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._context.model.getTabSize()*this._spaceWidth,i=e.scrollWidth,r=this._lineHeight,s=n,a=this._context.model.getLinesIndentGuides(t,o),l=0,u=0,c=0;if(this._activeIndentEnabled&&this._primaryLineNumber){var h=this._context.model.getActiveIndentGuide(this._primaryLineNumber,t,o);l=h.startLineNumber,u=h.endLineNumber,c=h.indent}for(var d=[],g=t;g<=o;g++){for(var p=l<=g&&g<=u,f=g-t,_=a[f],y="",v=e.visibleRangeForPosition(new m.a(g,1)),b=v?v.left:0,E=1;E<=_;E++){if(y+='<div class="'+(p&&E===c?"cigra":"cigr")+'" style="left:'+b+"px;height:"+r+"px;width:"+s+'px"></div>',(b+=n)>i)break}d[f]=y}this._renderResult=d}else this._renderResult=null},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t}(Qe);Object(Fe.e)((function(e,t){var o=e.getColor(Je.l);o&&t.addRule(".monaco-editor .lines-content .cigr { box-shadow: 1px 0 0 0 "+o+" inset; }");var n=e.getColor(Je.a)||o;n&&t.addRule(".monaco-editor .lines-content .cigra { box-shadow: 1px 0 0 0 "+n+" inset; }")}));o(458);var xo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Bo=function(){function e(){this._currentVisibleRange=new _.a(1,1,1,1)}return e.prototype.getCurrentVisibleRange=function(){return this._currentVisibleRange},e.prototype.setCurrentVisibleRange=function(e){this._currentVisibleRange=e},e}(),Fo=function(e,t,o,n,i,r){this.lineNumber=e,this.startColumn=t,this.endColumn=o,this.startScrollTop=n,this.stopScrollTop=i,this.scrollType=r},Ho=function(e){function t(t,o){var n=e.call(this,t)||this;n._linesContent=o,n._textRangeRestingSpot=document.createElement("div"),n._visibleLines=new go(n),n.domNode=n._visibleLines.domNode;var i=n._context.configuration;return n._lineHeight=i.editor.lineHeight,n._typicalHalfwidthCharacterWidth=i.editor.fontInfo.typicalHalfwidthCharacterWidth,n._isViewportWrapping=i.editor.wrappingInfo.isViewportWrapping,n._revealHorizontalRightPadding=i.editor.viewInfo.revealHorizontalRightPadding,n._canUseLayerHinting=i.editor.canUseLayerHinting,n._viewLineOptions=new Dt(i,n._context.theme.type),Xe.write(n.domNode,7),n.domNode.setClassName("view-lines"),g.a.applyFontInfo(n.domNode,i.editor.fontInfo),n._maxLineWidth=0,n._asyncUpdateLineWidths=new Xt.c((function(){n._updateLineWidthsSlow()}),200),n._lastRenderedData=new Bo,n._horizontalRevealRequest=null,n}return xo(t,e),t.prototype.dispose=function(){this._asyncUpdateLineWidths.dispose(),e.prototype.dispose.call(this)},t.prototype.getDomNode=function(){return this.domNode},t.prototype.createVisibleLine=function(){return new At(this._viewLineOptions)},t.prototype.onConfigurationChanged=function(e){this._visibleLines.onConfigurationChanged(e),e.wrappingInfo&&(this._maxLineWidth=0);var t=this._context.configuration;return e.lineHeight&&(this._lineHeight=t.editor.lineHeight),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=t.editor.fontInfo.typicalHalfwidthCharacterWidth),e.wrappingInfo&&(this._isViewportWrapping=t.editor.wrappingInfo.isViewportWrapping),e.viewInfo&&(this._revealHorizontalRightPadding=t.editor.viewInfo.revealHorizontalRightPadding),e.canUseLayerHinting&&(this._canUseLayerHinting=t.editor.canUseLayerHinting),e.fontInfo&&g.a.applyFontInfo(this.domNode,t.editor.fontInfo),this._onOptionsMaybeChanged(),e.layoutInfo&&(this._maxLineWidth=0),!0},t.prototype._onOptionsMaybeChanged=function(){var e=this._context.configuration,t=new Dt(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;for(var o=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),i=o;i<=n;i++){this._visibleLines.getVisibleLine(i).onOptionsChanged(this._viewLineOptions)}return!0}return!1},t.prototype.onCursorStateChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=!1,i=t;i<=o;i++)n=this._visibleLines.getVisibleLine(i).onSelectionChanged()||n;return n},t.prototype.onDecorationsChanged=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged();return!0},t.prototype.onFlushed=function(e){var t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t},t.prototype.onLinesChanged=function(e){return this._visibleLines.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._visibleLines.onLinesDeleted(e)},t.prototype.onLinesInserted=function(e){return this._visibleLines.onLinesInserted(e)},t.prototype.onRevealRangeRequest=function(e){var t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.range,e.verticalType),o=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range.startLineNumber!==e.range.endLineNumber?o={scrollTop:o.scrollTop,scrollLeft:0}:this._horizontalRevealRequest=new Fo(e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),o.scrollTop,e.scrollType):this._horizontalRevealRequest=null;var n=Math.abs(this._context.viewLayout.getCurrentScrollTop()-o.scrollTop);return 0===e.scrollType&&n>this._lineHeight?this._context.viewLayout.setScrollPositionSmooth(o):this._context.viewLayout.setScrollPositionNow(o),!0},t.prototype.onScrollChanged=function(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){var t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),o=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>o)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0},t.prototype.onTokensChanged=function(e){return this._visibleLines.onTokensChanged(e)},t.prototype.onZonesChanged=function(e){return this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth),this._visibleLines.onZonesChanged(e)},t.prototype.onThemeChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.getPositionFromDOMInfo=function(e,t){var o=this._getViewLineDomNode(e);if(null===o)return null;var n=this._getLineNumberFor(o);if(-1===n)return null;if(n<1||n>this._context.model.getLineCount())return null;if(1===this._context.model.getLineMaxColumn(n))return new m.a(n,1);var i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();if(n<i||n>r)return null;var s=this._visibleLines.getVisibleLine(n).getColumnOfNodeOffset(n,e,t),a=this._context.model.getLineMinColumn(n);return s<a&&(s=a),new m.a(n,s)},t.prototype._getViewLineDomNode=function(e){for(;e&&1===e.nodeType;){if(e.className===At.CLASS_NAME)return e;e=e.parentElement}return null},t.prototype._getLineNumberFor=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=t;n<=o;n++){if(e===this._visibleLines.getVisibleLine(n).getDomNode())return n}return-1},t.prototype.getLineWidth=function(e){var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();return e<t||e>o?-1:this._visibleLines.getVisibleLine(e).getWidth()},t.prototype.linesVisibleRangesForRange=function(e,t){if(this.shouldRender())return null;var o=e.endLineNumber;if(!(e=_.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;var n,i=[],r=0,s=new It(this.domNode.domNode,this._textRangeRestingSpot);t&&(n=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(e.startLineNumber,1)).lineNumber);for(var a=this._visibleLines.getStartLineNumber(),l=this._visibleLines.getEndLineNumber(),u=e.startLineNumber;u<=e.endLineNumber;u++)if(!(u<a||u>l)){var c=u===e.startLineNumber?e.startColumn:1,h=u===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(u),d=this._visibleLines.getVisibleLine(u).getVisibleRangesForRange(c,h,s);if(d&&0!==d.length){if(t&&u<o)n!==(n=this._context.model.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u+1,1)).lineNumber)&&(d[d.length-1].width+=this._typicalHalfwidthCharacterWidth);i[r++]=new Tt(u,d)}}return 0===r?null:i},t.prototype.visibleRangesForRange2=function(e){if(this.shouldRender())return null;if(!(e=_.a.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange())))return null;for(var t=[],o=new It(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber(),r=e.startLineNumber;r<=e.endLineNumber;r++)if(!(r<n||r>i)){var s=r===e.startLineNumber?e.startColumn:1,a=r===e.endLineNumber?e.endColumn:this._context.model.getLineMaxColumn(r),l=this._visibleLines.getVisibleLine(r).getVisibleRangesForRange(s,a,o);l&&0!==l.length&&(t=t.concat(l))}return 0===t.length?null:t},t.prototype.updateLineWidths=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidthsFast=function(){return this._updateLineWidths(!0)},t.prototype._updateLineWidthsSlow=function(){this._updateLineWidths(!1)},t.prototype._updateLineWidths=function(e){for(var t=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber(),n=1,i=!0,r=t;r<=o;r++){var s=this._visibleLines.getVisibleLine(r);!e||s.getWidthIsFast()?n=Math.max(n,s.getWidth()):i=!1}return i&&1===t&&o===this._context.model.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(n),i},t.prototype.prepareRender=function(){throw new Error("Not supported")},t.prototype.render=function(){throw new Error("Not supported")},t.prototype.renderText=function(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){var t=this._horizontalRevealRequest.lineNumber,o=this._horizontalRevealRequest.startColumn,n=this._horizontalRevealRequest.endColumn,i=this._horizontalRevealRequest.scrollType;if(e.startLineNumber<=t&&t<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();var r=this._computeScrollLeftToRevealRange(t,o,n);this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),0===i?this._context.viewLayout.setScrollPositionSmooth({scrollLeft:r.scrollLeft}):this._context.viewLayout.setScrollPositionNow({scrollLeft:r.scrollLeft})}}this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),this._linesContent.setLayerHinting(this._canUseLayerHinting);var s=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-s),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())},t.prototype._ensureMaxLineWidth=function(e){var t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewLayout.onMaxLineWidthChanged(this._maxLineWidth))},t.prototype._computeScrollTopToRevealRange=function(e,t,o){var n,i,r,s=e.top,a=e.height,l=s+a;if(n=this._context.viewLayout.getVerticalOffsetForLineNumber(t.startLineNumber),i=this._context.viewLayout.getVerticalOffsetForLineNumber(t.endLineNumber)+this._lineHeight,0!==o&&4!==o||(i+=this._lineHeight),1===o||2===o)if(2===o&&s<=n&&i<=l)r=s;else{var u=(n+i)/2;r=Math.max(0,u-a/2)}else r=this._computeMinimumScrolling(s,l,n,i,3===o,4===o);return r},t.prototype._computeScrollLeftToRevealRange=function(e,o,n){var i=0,r=this._context.viewLayout.getCurrentViewport(),s=r.left,a=s+r.width,l=this.visibleRangesForRange2(new _.a(e,o,e,n)),u=Number.MAX_VALUE,c=0;if(!l)return{scrollLeft:s,maxHorizontalOffset:i};for(var h=0;h<l.length;h++){var d=l[h];d.left<u&&(u=d.left),d.left+d.width>c&&(c=d.left+d.width)}return i=c,u=Math.max(0,u-t.HORIZONTAL_EXTRA_PX),c+=this._revealHorizontalRightPadding,{scrollLeft:this._computeMinimumScrolling(s,a,u,c),maxHorizontalOffset:i}},t.prototype._computeMinimumScrolling=function(e,t,o,n,i,r){i=!!i,r=!!r;var s=(t|=0)-(e|=0);return(n|=0)-(o|=0)<s?i?o:r?Math.max(0,n-s):o<e?o:n>t?Math.max(0,n-s):e:o},t.HORIZONTAL_EXTRA_PX=30,t}(Ye),Uo=(o(459),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Vo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._decorationsLeft=o._context.configuration.editor.layoutInfo.decorationsLeft,o._decorationsWidth=o._context.configuration.editor.layoutInfo.decorationsWidth,o._renderResult=null,o._context.addEventHandler(o),o}return Uo(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.layoutInfo&&(this._decorationsLeft=this._context.configuration.editor.layoutInfo.decorationsLeft,this._decorationsWidth=this._context.configuration.editor.layoutInfo.decorationsWidth),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.linesDecorationsClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i='" style="left:'+this._decorationsLeft.toString()+"px;width:"+this._decorationsWidth.toString()+'px;"></div>',r=[],s=t;s<=o;s++){for(var a=s-t,l=n[a],u="",c=0,h=l.length;c<h;c++)u+='<div class="cldr '+l[c]+i;r[a]=u}this._renderResult=r},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Do),Wo=(o(460),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),jo=function(e){function t(t){var o=e.call(this)||this;return o._context=t,o._renderResult=null,o._context.addEventHandler(o),o}return Wo(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getDecorations=function(e){for(var t=e.getDecorationsInViewport(),o=[],n=0,i=0,r=t.length;i<r;i++){var s=t[i],a=s.options.marginClassName;a&&(o[n++]=new Io(s.range.startLineNumber,s.range.endLineNumber,a))}return o},t.prototype.prepareRender=function(e){for(var t=e.visibleRange.startLineNumber,o=e.visibleRange.endLineNumber,n=this._render(t,o,this._getDecorations(e)),i=[],r=t;r<=o;r++){for(var s=r-t,a=n[s],l="",u=0,c=a.length;u<c;u++)l+='<div class="cmdr '+a[u]+'" style=""></div>';i[s]=l}this._renderResult=i},t.prototype.render=function(e,t){return this._renderResult?this._renderResult[t-e]:""},t}(Do),Go=(o(461),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),zo=function(e){function t(t){var o=e.call(this,t)||this;return o._widgets={},o._verticalScrollbarWidth=o._context.configuration.editor.layoutInfo.verticalScrollbarWidth,o._minimapWidth=o._context.configuration.editor.layoutInfo.minimapWidth,o._horizontalScrollbarHeight=o._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,o._editorHeight=o._context.configuration.editor.layoutInfo.height,o._editorWidth=o._context.configuration.editor.layoutInfo.width,o._domNode=Object(He.b)(document.createElement("div")),Xe.write(o._domNode,4),o._domNode.setClassName("overlayWidgets"),o}return Go(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._widgets=null},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){return!!e.layoutInfo&&(this._verticalScrollbarWidth=this._context.configuration.editor.layoutInfo.verticalScrollbarWidth,this._minimapWidth=this._context.configuration.editor.layoutInfo.minimapWidth,this._horizontalScrollbarHeight=this._context.configuration.editor.layoutInfo.horizontalScrollbarHeight,this._editorHeight=this._context.configuration.editor.layoutInfo.height,this._editorWidth=this._context.configuration.editor.layoutInfo.width,!0)},t.prototype.addWidget=function(e){var t=Object(He.b)(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),this._domNode.appendChild(t),this.setShouldRender()},t.prototype.setWidgetPosition=function(e,t){var o=this._widgets[e.getId()];return o.preference!==t&&(o.preference=t,this.setShouldRender(),!0)},t.prototype.removeWidget=function(e){var t=e.getId();if(this._widgets.hasOwnProperty(t)){var o=this._widgets[t].domNode.domNode;delete this._widgets[t],o.parentNode.removeChild(o),this.setShouldRender()}},t.prototype._renderWidget=function(e){var t=e.domNode;if(null!==e.preference)if(e.preference===ut.c.TOP_RIGHT_CORNER)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===ut.c.BOTTOM_RIGHT_CORNER){var o=t.domNode.clientHeight;t.setTop(this._editorHeight-o-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===ut.c.TOP_CENTER&&(t.setTop(0),t.domNode.style.right="50%");else t.unsetTop()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._editorWidth);for(var t=Object.keys(this._widgets),o=0,n=t.length;o<n;o++){var i=t[o];this._renderWidget(this._widgets[i])}},t}(Ye),Ko=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Yo=function(){function e(e,t){this.lineHeight=e.editor.lineHeight,this.pixelRatio=e.editor.pixelRatio,this.overviewRulerLanes=e.editor.viewInfo.overviewRulerLanes,this.renderBorder=e.editor.viewInfo.overviewRulerBorder;var o=t.getColor(Je.r);this.borderColor=o?o.toString():null,this.hideCursor=e.editor.viewInfo.hideCursorInOverviewRuler;var n=t.getColor(Je.g);this.cursorColor=n?n.transparent(.7).toString():null,this.themeType=t.type;var i=e.editor.viewInfo.minimap.enabled,r=e.editor.viewInfo.minimap.side,s=i?J.y.getDefaultBackground():null;this.backgroundColor=null===s||"left"===r?null:ne.a.Format.CSS.formatHex(s);var a=e.editor.layoutInfo.overviewRuler;this.top=a.top,this.right=a.right,this.domWidth=a.width,this.domHeight=a.height,this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0;var l=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes),u=l[0],c=l[1];this.x=u,this.w=c}return e.prototype._initLanes=function(e,t,o){var n=t-e;if(o>=3){var i,r,s,a=n-(i=Math.floor(n/3))-(r=Math.floor(n/3)),l=(s=e)+i;return[[0,s,l,s,s+i+a,s,l,s],[0,i,a,i+a,r,i+a+r,a+r,i+a+r]]}if(2===o)return[[0,s=e,s,s,s+(i=Math.floor(n/2)),s,s,s],[0,i,i,i,r=n-i,i+r,i+r,i+r]];return[[0,e,e,e,e,e,e,e],[0,n,n,n,n,n,n,n]]},e.prototype.equals=function(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight},e}(),Xo=function(e){function t(t){var o=e.call(this,t)||this;return o._domNode=Object(He.b)(document.createElement("canvas")),o._domNode.setClassName("decorationsOverviewRuler"),o._domNode.setPosition("absolute"),o._domNode.setLayerHinting(!0),o._domNode.setAttribute("aria-hidden","true"),o._settings=null,o._updateSettings(!1),o._tokensColorTrackerListener=J.y.onDidChange((function(e){e.changedColorMap&&o._updateSettings(!0)})),o._cursorPositions=[],o}return Ko(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._tokensColorTrackerListener.dispose()},t.prototype._updateSettings=function(e){var t=new Yo(this._context.configuration,this._context.theme);return(null===this._settings||!this._settings.equals(t))&&(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)},t.prototype.onConfigurationChanged=function(e){return this._updateSettings(!1)},t.prototype.onCursorStateChanged=function(e){this._cursorPositions=[];for(var t=0,o=e.selections.length;t<o;t++)this._cursorPositions[t]=e.selections[t].getPosition();return this._cursorPositions.sort(m.a.compare),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this._context.model.invalidateOverviewRulerColorCache(),this._updateSettings(!1)},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._render()},t.prototype._render=function(){var e=this._settings.canvasWidth,t=this._settings.canvasHeight,o=this._settings.lineHeight,n=this._context.viewLayout,i=t/this._context.viewLayout.getScrollHeight(),r=this._context.model.getAllOverviewRulerDecorations(this._context.theme),s=6*this._settings.pixelRatio|0,a=s/2|0,l=this._domNode.domNode.getContext("2d");null===this._settings.backgroundColor?l.clearRect(0,0,e,t):(l.fillStyle=this._settings.backgroundColor,l.fillRect(0,0,e,t));var u=this._settings.x,c=this._settings.w,h=Object.keys(r);h.sort();for(var d=0,g=h.length;d<g;d++){var p=h[d],f=r[p];l.fillStyle=p;for(var m=0,_=0,y=0,v=0,b=f.length;v<b;v++){var E=f[3*v],C=f[3*v+1],S=f[3*v+2],T=n.getVerticalOffsetForLineNumber(C)*i|0;if((I=(n.getVerticalOffsetForLineNumber(S)+o)*i|0)-T<s)(N=(T+I)/2|0)<a?N=a:N+a>t&&(N=t-a),T=N-a,I=N+a;T>y+1||E!==m?(0!==v&&l.fillRect(u[m],_,c[m],y-_),m=E,_=T,y=I):I>y&&(y=I)}l.fillRect(u[m],_,c[m],y-_)}if(!this._settings.hideCursor){var w=2*this._settings.pixelRatio|0,k=w/2|0,O=this._settings.x[7],R=this._settings.w[7];l.fillStyle=this._settings.cursorColor;for(_=-100,y=-100,v=0,b=this._cursorPositions.length;v<b;v++){var N,L=this._cursorPositions[v];(N=n.getVerticalOffsetForLineNumber(L.lineNumber)*i|0)<k?N=k:N+k>t&&(N=t-k);var I=(T=N-k)+w;T>y+1?(0!==v&&l.fillRect(O,_,R,y-_),_=T,y=I):I>y&&(y=I)}l.fillRect(O,_,R,y-_)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(l.beginPath(),l.lineWidth=1,l.strokeStyle=this._settings.borderColor,l.moveTo(0,0),l.lineTo(0,t),l.stroke(),l.moveTo(0,0),l.lineTo(e,0),l.stroke())},t}(Ye),qo=o(145),$o=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Jo=function(e){function t(t,o){var n=e.call(this)||this;return n._context=t,n._domNode=Object(He.b)(document.createElement("canvas")),n._domNode.setClassName(o),n._domNode.setPosition("absolute"),n._domNode.setLayerHinting(!0),n._zoneManager=new qo.b((function(e){return n._context.viewLayout.getVerticalOffsetForLineNumber(e)})),n._zoneManager.setDOMWidth(0),n._zoneManager.setDOMHeight(0),n._zoneManager.setOuterHeight(n._context.viewLayout.getScrollHeight()),n._zoneManager.setLineHeight(n._context.configuration.editor.lineHeight),n._zoneManager.setPixelRatio(n._context.configuration.editor.pixelRatio),n._context.addEventHandler(n),n}return $o(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._zoneManager=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._zoneManager.setLineHeight(this._context.configuration.editor.lineHeight),this._render()),e.pixelRatio&&(this._zoneManager.setPixelRatio(this._context.configuration.editor.pixelRatio),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0},t.prototype.onFlushed=function(e){return this._render(),!0},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0},t.prototype.onZonesChanged=function(e){return this._render(),!0},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.setLayout=function(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);var t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,(t=this._zoneManager.setDOMHeight(e.height)||t)&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())},t.prototype.setZones=function(e){this._zoneManager.setZones(e),this._render()},t.prototype._render=function(){if(0===this._zoneManager.getOuterHeight())return!1;var e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),o=this._zoneManager.resolveColorZones(),n=this._zoneManager.getId2Color(),i=this._domNode.domNode.getContext("2d");return i.clearRect(0,0,e,t),o.length>0&&this._renderOneLane(i,o,n,e),!0},t.prototype._renderOneLane=function(e,t,o,n){for(var i=0,r=0,s=0,a=0,l=t.length;a<l;a++){var u=t[a],c=u.colorId,h=u.from,d=u.to;c!==i?(e.fillRect(0,r,n,s-r),i=c,e.fillStyle=o[i],r=h,s=d):s>=h?s=Math.max(s,d):(e.fillRect(0,r,n,s-r),r=h,s=d)}e.fillRect(0,r,n,s-r)},t}(Ve),Zo=(o(462),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),Qo=function(e){function t(t){var o=e.call(this,t)||this;return o.domNode=Object(He.b)(document.createElement("div")),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o.domNode.setClassName("view-rulers"),o._renderedRulers=[],o._rulers=o._context.configuration.editor.viewInfo.rulers,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o}return Zo(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return!!(e.viewInfo||e.layoutInfo||e.fontInfo)&&(this._rulers=this._context.configuration.editor.viewInfo.rulers,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,!0)},t.prototype.onScrollChanged=function(e){return e.scrollHeightChanged},t.prototype.prepareRender=function(e){},t.prototype._ensureRulersCount=function(){var e=this._renderedRulers.length,t=this._rulers.length;if(e!==t)if(e<t)for(var o=this._context.model.getTabSize(),n=t-e;n>0;){(r=Object(He.b)(document.createElement("div"))).setClassName("view-ruler"),r.setWidth(o),this.domNode.appendChild(r),this._renderedRulers.push(r),n--}else for(var i=e-t;i>0;){var r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}},t.prototype.render=function(e){this._ensureRulersCount();for(var t=0,o=this._rulers.length;t<o;t++){var n=this._renderedRulers[t];n.setHeight(Math.min(e.scrollHeight,1e6)),n.setLeft(this._rulers[t]*this._typicalHalfwidthCharacterWidth)}},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(Je.s);o&&t.addRule(".monaco-editor .view-ruler { box-shadow: 1px 0 0 0 "+o+" inset; }")}));o(463);var en=o(7),tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),on=function(e){function t(t){var o=e.call(this,t)||this;return o._scrollTop=0,o._width=0,o._updateWidth(),o._shouldShow=!1,o._useShadows=o._context.configuration.editor.viewInfo.scrollbar.useShadows,o._domNode=Object(He.b)(document.createElement("div")),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o}return tn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._updateShouldShow=function(){var e=this._useShadows&&this._scrollTop>0;return this._shouldShow!==e&&(this._shouldShow=e,!0)},t.prototype.getDomNode=function(){return this._domNode},t.prototype._updateWidth=function(){var e=this._context.configuration.editor.layoutInfo,t=0;return t=0===e.renderMinimap||e.minimapWidth>0&&0===e.minimapLeft?e.width:e.width-e.minimapWidth-e.verticalScrollbarWidth,this._width!==t&&(this._width=t,!0)},t.prototype.onConfigurationChanged=function(e){var t=!1;return e.viewInfo&&(this._useShadows=this._context.configuration.editor.viewInfo.scrollbar.useShadows),e.layoutInfo&&(t=this._updateWidth()),this._updateShouldShow()||t},t.prototype.onScrollChanged=function(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(en.lb);o&&t.addRule(".monaco-editor .scroll-decoration { box-shadow: "+o+" 0 6px 6px -6px inset; }")}));o(464);var nn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),rn=function(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null},sn=function(e,t){this.lineNumber=e,this.ranges=t};function an(e){return new rn(e)}function ln(e){return new sn(e.lineNumber,e.ranges.map(an))}var un=je.h,cn=function(e){function t(t){var o=e.call(this)||this;return o._previousFrameVisibleRangesWithStyle=[],o._context=t,o._lineHeight=o._context.configuration.editor.lineHeight,o._roundedSelection=o._context.configuration.editor.viewInfo.roundedSelection,o._typicalHalfwidthCharacterWidth=o._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,o._selections=[],o._renderResult=null,o._context.addEventHandler(o),o}return nn(t,e),t.prototype.dispose=function(){this._context.removeEventHandler(this),this._context=null,this._selections=null,this._renderResult=null,e.prototype.dispose.call(this)},t.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.viewInfo&&(this._roundedSelection=this._context.configuration.editor.viewInfo.roundedSelection),e.fontInfo&&(this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),!0},t.prototype.onCursorStateChanged=function(e){return this._selections=e.selections.slice(0),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype._visibleRangesHaveGaps=function(e){for(var t=0,o=e.length;t<o;t++){if(e[t].ranges.length>1)return!0}return!1},t.prototype._enrichVisibleRangesWithStyle=function(e,t,o){var n=this._typicalHalfwidthCharacterWidth/4,i=null,r=null;if(o&&o.length>0&&t.length>0){var s=t[0].lineNumber;if(s===e.startLineNumber)for(var a=0;!i&&a<o.length;a++)o[a].lineNumber===s&&(i=o[a].ranges[0]);var l=t[t.length-1].lineNumber;if(l===e.endLineNumber)for(a=o.length-1;!r&&a>=0;a--)o[a].lineNumber===l&&(r=o[a].ranges[0]);i&&!i.startStyle&&(i=null),r&&!r.startStyle&&(r=null)}a=0;for(var u=t.length;a<u;a++){var c=t[a].ranges[0],h=c.left,d=c.left+c.width,g={top:0,bottom:0},p={top:0,bottom:0};if(a>0){var f=t[a-1].ranges[0].left,m=t[a-1].ranges[0].left+t[a-1].ranges[0].width;hn(h-f)<n?g.top=2:h>f&&(g.top=1),hn(d-m)<n?p.top=2:f<d&&d<m&&(p.top=1)}else i&&(g.top=i.startStyle.top,p.top=i.endStyle.top);if(a+1<u){var _=t[a+1].ranges[0].left,y=t[a+1].ranges[0].left+t[a+1].ranges[0].width;hn(h-_)<n?g.bottom=2:_<h&&h<y&&(g.bottom=1),hn(d-y)<n?p.bottom=2:d<y&&(p.bottom=1)}else r&&(g.bottom=r.startStyle.bottom,p.bottom=r.endStyle.bottom);c.startStyle=g,c.endStyle=p}},t.prototype._getVisibleRangesWithStyle=function(e,t,o){var n=(t.linesVisibleRangesForRange(e,!0)||[]).map(ln),i=this._visibleRangesHaveGaps(n);return un||i||!this._roundedSelection||this._enrichVisibleRangesWithStyle(t.visibleRange,n,o),n},t.prototype._createSelectionPiece=function(e,t,o,n,i){return'<div class="cslr '+o+'" style="top:'+e.toString()+"px;left:"+n.toString()+"px;width:"+i.toString()+"px;height:"+t+'px;"></div>'},t.prototype._actualRenderOneSelection=function(e,o,n,i){for(var r=i.length>0&&i[0].ranges[0].startStyle,s=this._lineHeight.toString(),a=(this._lineHeight-1).toString(),l=i.length>0?i[0].lineNumber:0,u=i.length>0?i[i.length-1].lineNumber:0,c=0,h=i.length;c<h;c++){for(var d=i[c],g=d.lineNumber,p=g-o,f=n&&(g===u||g===l)?a:s,m=n&&g===l?1:0,_="",y=0,v=d.ranges.length;y<v;y++){var b=d.ranges[y];if(r){if(1===b.startStyle.top||1===b.startStyle.bottom){_+=this._createSelectionPiece(m,f,t.SELECTION_CLASS_NAME,b.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH);var E=t.EDITOR_BACKGROUND_CLASS_NAME;1===b.startStyle.top&&(E+=" "+t.SELECTION_TOP_RIGHT),1===b.startStyle.bottom&&(E+=" "+t.SELECTION_BOTTOM_RIGHT),_+=this._createSelectionPiece(m,f,E,b.left-t.ROUNDED_PIECE_WIDTH,t.ROUNDED_PIECE_WIDTH)}if(1===b.endStyle.top||1===b.endStyle.bottom){_+=this._createSelectionPiece(m,f,t.SELECTION_CLASS_NAME,b.left+b.width,t.ROUNDED_PIECE_WIDTH);var C=t.EDITOR_BACKGROUND_CLASS_NAME;1===b.endStyle.top&&(C+=" "+t.SELECTION_TOP_LEFT),1===b.endStyle.bottom&&(C+=" "+t.SELECTION_BOTTOM_LEFT),_+=this._createSelectionPiece(m,f,C,b.left+b.width,t.ROUNDED_PIECE_WIDTH)}}var S=t.SELECTION_CLASS_NAME;r&&(0===b.startStyle.top&&(S+=" "+t.SELECTION_TOP_LEFT),0===b.startStyle.bottom&&(S+=" "+t.SELECTION_BOTTOM_LEFT),0===b.endStyle.top&&(S+=" "+t.SELECTION_TOP_RIGHT),0===b.endStyle.bottom&&(S+=" "+t.SELECTION_BOTTOM_RIGHT)),_+=this._createSelectionPiece(m,f,S,b.left,b.width)}e[p]+=_}},t.prototype.prepareRender=function(e){for(var t=[],o=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,i=o;i<=n;i++){t[i-o]=""}for(var r=[],s=0,a=this._selections.length;s<a;s++){var l=this._selections[s];if(l.isEmpty())r[s]=null;else{var u=this._getVisibleRangesWithStyle(l,e,this._previousFrameVisibleRangesWithStyle[s]);r[s]=u,this._actualRenderOneSelection(t,o,this._selections.length>1,u)}}this._previousFrameVisibleRangesWithStyle=r,this._renderResult=t},t.prototype.render=function(e,t){if(!this._renderResult)return"";var o=t-e;return o<0||o>=this._renderResult.length?"":this._renderResult[o]},t.SELECTION_CLASS_NAME="selected-text",t.SELECTION_TOP_LEFT="top-left-radius",t.SELECTION_BOTTOM_LEFT="bottom-left-radius",t.SELECTION_TOP_RIGHT="top-right-radius",t.SELECTION_BOTTOM_RIGHT="bottom-right-radius",t.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",t.ROUNDED_PIECE_WIDTH=10,t}(Qe);function hn(e){return e<0?-e:e}Object(Fe.e)((function(e,t){var o=e.getColor(en.z);o&&t.addRule(".monaco-editor .focused .selected-text { background-color: "+o+"; }");var n=e.getColor(en.y);n&&t.addRule(".monaco-editor .selected-text { background-color: "+n+"; }");var i=e.getColor(en.A);i&&t.addRule(".monaco-editor .view-line span.inline-selected-text { color: "+i+"; }")}));o(465);var dn=function(e,t,o,n,i,r){this.top=e,this.left=t,this.width=o,this.height=n,this.textContent=i,this.textContentClassName=r},gn=function(){function e(e){this._context=e,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineHeight=this._context.configuration.editor.lineHeight,this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=Object(He.b)(document.createElement("div")),this._domNode.setClassName("cursor"),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),g.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._domNode.setDisplay("none"),this.updatePosition(new m.a(1,1)),this._lastRenderedContent="",this._renderData=null}return e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},e.prototype.show=function(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)},e.prototype.hide=function(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)},e.prototype.onConfigurationChanged=function(e){return e.lineHeight&&(this._lineHeight=this._context.configuration.editor.lineHeight),e.fontInfo&&(g.a.applyFontInfo(this._domNode,this._context.configuration.editor.fontInfo),this._typicalHalfwidthCharacterWidth=this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),e.viewInfo&&(this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle,this._lineCursorWidth=Math.min(this._context.configuration.editor.viewInfo.cursorWidth,this._typicalHalfwidthCharacterWidth)),!0},e.prototype.onCursorPositionChanged=function(e){return this.updatePosition(e),!0},e.prototype._prepareRender=function(e){var t="",o="";if(this._cursorStyle===be.i.Line||this._cursorStyle===be.i.LineThin){var n,i=e.visibleRangeForPosition(this._position);if(!i)return null;if(this._cursorStyle===be.i.Line){if((n=r.m(this._lineCursorWidth>0?this._lineCursorWidth:2))>2)t=this._context.model.getLineContent(this._position.lineNumber).charAt(this._position.column-1)}else n=r.m(1);var s=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta;return new dn(s,i.left,n,this._lineHeight,t,o)}var a=e.linesVisibleRangesForRange(new _.a(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column+1),!1);if(!a||0===a.length||0===a[0].ranges.length)return null;var l=a[0].ranges[0],u=l.width<1?this._typicalHalfwidthCharacterWidth:l.width;if(this._cursorStyle===be.i.Block){var c=this._context.model.getViewLineData(this._position.lineNumber);t=c.content.charAt(this._position.column-1),p.isHighSurrogate(c.content.charCodeAt(this._position.column-1))&&(t+=c.content.charAt(this._position.column));var h=c.tokens.findTokenIndexAtOffset(this._position.column-1);o=c.tokens.getClassName(h)}var d=e.getVerticalOffsetForLineNumber(this._position.lineNumber)-e.bigNumbersDelta,g=this._lineHeight;return this._cursorStyle!==be.i.Underline&&this._cursorStyle!==be.i.UnderlineThin||(d+=this._lineHeight-2,g=2),new dn(d,l.left,u,g,t,o)},e.prototype.prepareRender=function(e){this._renderData=this._prepareRender(e)},e.prototype.render=function(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName("cursor "+this._renderData.textContentClassName),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)},e.prototype.updatePosition=function(e){this._position=e},e}(),pn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),fn=function(e){function t(t){var o=e.call(this,t)||this;return o._readOnly=o._context.configuration.editor.readOnly,o._cursorBlinking=o._context.configuration.editor.viewInfo.cursorBlinking,o._cursorStyle=o._context.configuration.editor.viewInfo.cursorStyle,o._selectionIsEmpty=!0,o._primaryCursor=new gn(o._context),o._secondaryCursors=[],o._renderData=[],o._domNode=Object(He.b)(document.createElement("div")),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o._updateDomClassName(),o._domNode.appendChild(o._primaryCursor.getDomNode()),o._startCursorBlinkAnimation=new Xt.f,o._cursorFlatBlinkInterval=new Xt.b,o._blinkingEnabled=!1,o._editorHasFocus=!1,o._updateBlinking(),o}return pn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()},t.prototype.getDomNode=function(){return this._domNode},t.prototype.onConfigurationChanged=function(e){e.readOnly&&(this._readOnly=this._context.configuration.editor.readOnly),e.viewInfo&&(this._cursorBlinking=this._context.configuration.editor.viewInfo.cursorBlinking,this._cursorStyle=this._context.configuration.editor.viewInfo.cursorStyle),this._primaryCursor.onConfigurationChanged(e),this._updateBlinking(),e.viewInfo&&this._updateDomClassName();for(var t=0,o=this._secondaryCursors.length;t<o;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0},t.prototype._onCursorPositionChanged=function(e,t){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<t.length)for(var o=t.length-this._secondaryCursors.length,n=0;n<o;n++){var i=new gn(this._context);this._domNode.domNode.insertBefore(i.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(i)}else if(this._secondaryCursors.length>t.length){var r=this._secondaryCursors.length-t.length;for(n=0;n<r;n++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(n=0;n<t.length;n++)this._secondaryCursors[n].onCursorPositionChanged(t[n])},t.prototype.onCursorStateChanged=function(e){for(var t=[],o=0,n=e.selections.length;o<n;o++)t[o]=e.selections[o].getPosition();this._onCursorPositionChanged(t[0],t.slice(1));var i=e.selections[0].isEmpty();return this._selectionIsEmpty!==i&&(this._selectionIsEmpty=i,this._updateDomClassName()),!0},t.prototype.onDecorationsChanged=function(e){return!0},t.prototype.onFlushed=function(e){return!0},t.prototype.onFocusChanged=function(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1},t.prototype.onLinesChanged=function(e){return!0},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){var t=function(t){for(var o=0,n=e.ranges.length;o<n;o++)if(e.ranges[o].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[o].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(var o=0;o<this._secondaryCursors.length;o++)if(t(this._secondaryCursors[o].getPosition()))return!0;return!1},t.prototype.onZonesChanged=function(e){return!0},t.prototype._getCursorBlinking=function(){return this._editorHasFocus?this._readOnly?be.h.Solid:this._cursorBlinking:be.h.Hidden},t.prototype._updateBlinking=function(){var e=this;this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();var o=this._getCursorBlinking(),n=o===be.h.Hidden,i=o===be.h.Solid;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),n||i||(o===be.h.Blink?this._cursorFlatBlinkInterval.cancelAndSet((function(){e._isVisible?e._hide():e._show()}),t.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet((function(){e._blinkingEnabled=!0,e._updateDomClassName()}),t.BLINK_INTERVAL))},t.prototype._updateDomClassName=function(){this._domNode.setClassName(this._getClassName())},t.prototype._getClassName=function(){var e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case be.i.Line:e+=" cursor-line-style";break;case be.i.Block:e+=" cursor-block-style";break;case be.i.Underline:e+=" cursor-underline-style";break;case be.i.LineThin:e+=" cursor-line-thin-style";break;case be.i.BlockOutline:e+=" cursor-block-outline-style";break;case be.i.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case be.h.Blink:e+=" cursor-blink";break;case be.h.Smooth:e+=" cursor-smooth";break;case be.h.Phase:e+=" cursor-phase";break;case be.h.Expand:e+=" cursor-expand";break;case be.h.Solid:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return e},t.prototype._show=function(){this._primaryCursor.show();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0},t.prototype._hide=function(){this._primaryCursor.hide();for(var e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1},t.prototype.prepareRender=function(e){this._primaryCursor.prepareRender(e);for(var t=0,o=this._secondaryCursors.length;t<o;t++)this._secondaryCursors[t].prepareRender(e)},t.prototype.render=function(e){var t=[],o=0,n=this._primaryCursor.render(e);n&&(t[o++]=n);for(var i=0,r=this._secondaryCursors.length;i<r;i++){var s=this._secondaryCursors[i].render(e);s&&(t[o++]=s)}this._renderData=t},t.prototype.getLastRenderData=function(){return this._renderData},t.BLINK_INTERVAL=500,t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(Je.g);if(o){var n=e.getColor(Je.f);n||(n=o.opposite()),t.addRule(".monaco-editor .cursor { background-color: "+o+"; border-color: "+o+"; color: "+n+"; }"),"hc"===e.type&&t.addRule(".monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid "+n+"; border-right: 1px solid "+n+"; }")}}));var mn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),_n=function(e){function t(t){var o=e.call(this,t)||this;return o._lineHeight=o._context.configuration.editor.lineHeight,o._contentWidth=o._context.configuration.editor.layoutInfo.contentWidth,o._contentLeft=o._context.configuration.editor.layoutInfo.contentLeft,o.domNode=Object(He.b)(document.createElement("div")),o.domNode.setClassName("view-zones"),o.domNode.setPosition("absolute"),o.domNode.setAttribute("role","presentation"),o.domNode.setAttribute("aria-hidden","true"),o.marginDomNode=Object(He.b)(document.createElement("div")),o.marginDomNode.setClassName("margin-view-zones"),o.marginDomNode.setPosition("absolute"),o.marginDomNode.setAttribute("role","presentation"),o.marginDomNode.setAttribute("aria-hidden","true"),o._zones={},o}return mn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._zones={}},t.prototype._recomputeWhitespacesProps=function(){for(var e=!1,t=Object.keys(this._zones),o=0,n=t.length;o<n;o++){var i=t[o],r=this._zones[i],s=this._computeWhitespaceProps(r.delegate);this._context.viewLayout.changeWhitespace(parseInt(i,10),s.afterViewLineNumber,s.heightInPx)&&(this._safeCallOnComputedHeight(r.delegate,s.heightInPx),e=!0)}return e},t.prototype.onConfigurationChanged=function(e){return e.lineHeight?(this._lineHeight=this._context.configuration.editor.lineHeight,this._recomputeWhitespacesProps()):(e.layoutInfo&&(this._contentWidth=this._context.configuration.editor.layoutInfo.contentWidth,this._contentLeft=this._context.configuration.editor.layoutInfo.contentLeft),!0)},t.prototype.onLineMappingChanged=function(e){var t=this._recomputeWhitespacesProps();return t&&this._context.viewLayout.onHeightMaybeChanged(),t},t.prototype.onLinesDeleted=function(e){return!0},t.prototype.onScrollChanged=function(e){return e.scrollTopChanged||e.scrollWidthChanged},t.prototype.onZonesChanged=function(e){return!0},t.prototype.onLinesInserted=function(e){return!0},t.prototype._getZoneOrdinal=function(e){return void 0!==e.afterColumn?e.afterColumn:1e4},t.prototype._computeWhitespaceProps=function(e){if(0===e.afterLineNumber)return{afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};var t,o;if(void 0!==e.afterColumn)t=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{var n=this._context.model.validateModelPosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new m.a(n,this._context.model.getModelLineMaxColumn(n))}o=t.column===this._context.model.getModelLineMaxColumn(t.lineNumber)?this._context.model.validateModelPosition({lineNumber:t.lineNumber+1,column:1}):this._context.model.validateModelPosition({lineNumber:t.lineNumber,column:t.column+1});var i=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(t),r=this._context.model.coordinatesConverter.modelPositionIsVisible(o);return{afterViewLineNumber:i.lineNumber,heightInPx:r?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}},t.prototype.addZone=function(e){var t=this._computeWhitespaceProps(e),o={whitespaceId:this._context.viewLayout.addWhitespace(t.afterViewLineNumber,this._getZoneOrdinal(e),t.heightInPx,t.minWidthInPx),delegate:e,isVisible:!1,domNode:Object(He.b)(e.domNode),marginDomNode:e.marginDomNode?Object(He.b)(e.marginDomNode):null};return this._safeCallOnComputedHeight(o.delegate,t.heightInPx),o.domNode.setPosition("absolute"),o.domNode.domNode.style.width="100%",o.domNode.setDisplay("none"),o.domNode.setAttribute("monaco-view-zone",o.whitespaceId.toString()),this.domNode.appendChild(o.domNode),o.marginDomNode&&(o.marginDomNode.setPosition("absolute"),o.marginDomNode.domNode.style.width="100%",o.marginDomNode.setDisplay("none"),o.marginDomNode.setAttribute("monaco-view-zone",o.whitespaceId.toString()),this.marginDomNode.appendChild(o.marginDomNode)),this._zones[o.whitespaceId.toString()]=o,this.setShouldRender(),o.whitespaceId},t.prototype.removeZone=function(e){if(this._zones.hasOwnProperty(e.toString())){var t=this._zones[e.toString()];return delete this._zones[e.toString()],this._context.viewLayout.removeWhitespace(t.whitespaceId),t.domNode.removeAttribute("monaco-visible-view-zone"),t.domNode.removeAttribute("monaco-view-zone"),t.domNode.domNode.parentNode.removeChild(t.domNode.domNode),t.marginDomNode&&(t.marginDomNode.removeAttribute("monaco-visible-view-zone"),t.marginDomNode.removeAttribute("monaco-view-zone"),t.marginDomNode.domNode.parentNode.removeChild(t.marginDomNode.domNode)),this.setShouldRender(),!0}return!1},t.prototype.layoutZone=function(e){var t=!1;if(this._zones.hasOwnProperty(e.toString())){var o=this._zones[e.toString()],n=this._computeWhitespaceProps(o.delegate);(t=this._context.viewLayout.changeWhitespace(o.whitespaceId,n.afterViewLineNumber,n.heightInPx)||t)&&(this._safeCallOnComputedHeight(o.delegate,n.heightInPx),this.setShouldRender())}return t},t.prototype.shouldSuppressMouseDownOnViewZone=function(e){return!!this._zones.hasOwnProperty(e.toString())&&this._zones[e.toString()].delegate.suppressMouseDown},t.prototype._heightInPixels=function(e){return"number"==typeof e.heightInPx?e.heightInPx:"number"==typeof e.heightInLines?this._lineHeight*e.heightInLines:this._lineHeight},t.prototype._minWidthInPixels=function(e){return"number"==typeof e.minWidthInPx?e.minWidthInPx:0},t.prototype._safeCallOnComputedHeight=function(e,t){if("function"==typeof e.onComputedHeight)try{e.onComputedHeight(t)}catch(e){Object(s.e)(e)}},t.prototype._safeCallOnDomNodeTop=function(e,t){if("function"==typeof e.onDomNodeTop)try{e.onDomNodeTop(t)}catch(e){Object(s.e)(e)}},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){for(var t=e.viewportData.whitespaceViewportData,o={},n=!1,i=0,r=t.length;i<r;i++)o[t[i].id.toString()]=t[i],n=!0;var s=Object.keys(this._zones);for(i=0,r=s.length;i<r;i++){var a=s[i],l=this._zones[a],u=0,c=0,h="none";o.hasOwnProperty(a)?(u=o[a].verticalOffset-e.bigNumbersDelta,c=o[a].height,h="block",l.isVisible||(l.domNode.setAttribute("monaco-visible-view-zone","true"),l.isVisible=!0),this._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(o[a].verticalOffset))):(l.isVisible&&(l.domNode.removeAttribute("monaco-visible-view-zone"),l.isVisible=!1),this._safeCallOnDomNodeTop(l.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),l.domNode.setTop(u),l.domNode.setHeight(c),l.domNode.setDisplay(h),l.marginDomNode&&(l.marginDomNode.setTop(u),l.marginDomNode.setHeight(c),l.marginDomNode.setDisplay(h))}n&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))},t}(Ye),yn=function(){function e(e,t,o,n){this.configuration=e,this.theme=t,this.model=o,this.viewLayout=o.viewLayout,this.privateViewEventBus=n}return e.prototype.addEventHandler=function(e){this.privateViewEventBus.addEventHandler(e)},e.prototype.removeEventHandler=function(e){this.privateViewEventBus.removeEventHandler(e)},e}(),vn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),bn=function(e){function t(t){var o=e.call(this)||this;return o.onDidScroll=null,o.onDidGainFocus=null,o.onDidLoseFocus=null,o.onKeyDown=null,o.onKeyUp=null,o.onContextMenu=null,o.onMouseMove=null,o.onMouseLeave=null,o.onMouseUp=null,o.onMouseDown=null,o.onMouseDrag=null,o.onMouseDrop=null,o._viewModel=t,o}return vn(t,e),t.prototype.emitScrollChanged=function(e){this.onDidScroll&&this.onDidScroll(e)},t.prototype.emitViewFocusGained=function(){this.onDidGainFocus&&this.onDidGainFocus(void 0)},t.prototype.emitViewFocusLost=function(){this.onDidLoseFocus&&this.onDidLoseFocus(void 0)},t.prototype.emitKeyDown=function(e){this.onKeyDown&&this.onKeyDown(e)},t.prototype.emitKeyUp=function(e){this.onKeyUp&&this.onKeyUp(e)},t.prototype.emitContextMenu=function(e){this.onContextMenu&&this.onContextMenu(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseMove=function(e){this.onMouseMove&&this.onMouseMove(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseLeave=function(e){this.onMouseLeave&&this.onMouseLeave(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseUp=function(e){this.onMouseUp&&this.onMouseUp(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDown=function(e){this.onMouseDown&&this.onMouseDown(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrag=function(e){this.onMouseDrag&&this.onMouseDrag(this._convertViewToModelMouseEvent(e))},t.prototype.emitMouseDrop=function(e){this.onMouseDrop&&this.onMouseDrop(this._convertViewToModelMouseEvent(e))},t.prototype._convertViewToModelMouseEvent=function(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e},t.prototype._convertViewToModelMouseTarget=function(e){return new En(e.element,e.type,e.mouseColumn,e.position?this._convertViewToModelPosition(e.position):null,e.range?this._convertViewToModelRange(e.range):null,e.detail)},t.prototype._convertViewToModelPosition=function(e){return this._viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)},t.prototype._convertViewToModelRange=function(e){return this._viewModel.coordinatesConverter.convertViewRangeToModelRange(e)},t}(l.a),En=function(){function e(e,t,o,n,i,r){this.element=e,this.type=t,this.mouseColumn=o,this.position=n,this.range=i,this.detail=r}return e.prototype.toString=function(){return Vt.toString(this)},e}(),Cn=function(){function e(e,t,o,n){this.selections=e,this.startLineNumber=0|t.startLineNumber,this.endLineNumber=0|t.endLineNumber,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=0|t.bigNumbersDelta,this.whitespaceViewportData=o,this._model=n,this.visibleRange=new _.a(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}return e.prototype.getViewLineRenderingData=function(e){return this._model.getViewLineRenderingData(this.visibleRange,e)},e.prototype.getDecorationsInViewport=function(){return this._model.getDecorationsInViewport(this.visibleRange)},e}(),Sn=o(81),Tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),wn=function(e){function t(t,o,n,i){var s=e.call(this,t)||this,a=s._context.configuration.editor.viewInfo.scrollbar,l={listenOnDomNode:n.domNode,className:"editor-scrollable "+Object(Fe.d)(t.theme.type),useShadows:!1,lazyRender:!0,vertical:a.vertical,horizontal:a.horizontal,verticalHasArrows:a.verticalHasArrows,horizontalHasArrows:a.horizontalHasArrows,verticalScrollbarSize:a.verticalScrollbarSize,verticalSliderSize:a.verticalSliderSize,horizontalScrollbarSize:a.horizontalScrollbarSize,horizontalSliderSize:a.horizontalSliderSize,handleMouseWheel:a.handleMouseWheel,arrowSize:a.arrowSize,mouseWheelScrollSensitivity:a.mouseWheelScrollSensitivity};s.scrollbar=s._register(new Sn.c(o.domNode,l,s._context.viewLayout.scrollable)),Xe.write(s.scrollbar.getDomNode(),5),s.scrollbarDomNode=Object(He.b)(s.scrollbar.getDomNode()),s.scrollbarDomNode.setPosition("absolute"),s._setLayout();var u=function(e,t,o){var n={};if(t){var i=e.scrollTop;i&&(n.scrollTop=s._context.viewLayout.getCurrentScrollTop()+i,e.scrollTop=0)}if(o){var r=e.scrollLeft;r&&(n.scrollLeft=s._context.viewLayout.getCurrentScrollLeft()+r,e.scrollLeft=0)}s._context.viewLayout.setScrollPositionNow(n)};return s._register(r.g(n.domNode,"scroll",(function(e){return u(n.domNode,!0,!0)}))),s._register(r.g(o.domNode,"scroll",(function(e){return u(o.domNode,!0,!1)}))),s._register(r.g(i.domNode,"scroll",(function(e){return u(i.domNode,!0,!1)}))),s._register(r.g(s.scrollbarDomNode.domNode,"scroll",(function(e){return u(s.scrollbarDomNode.domNode,!0,!1)}))),s}return Tn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.scrollbarDomNode.setLeft(e.contentLeft),"right"===this._context.configuration.editor.viewInfo.minimap.side?this.scrollbarDomNode.setWidth(e.contentWidth+e.minimapWidth):this.scrollbarDomNode.setWidth(e.contentWidth),this.scrollbarDomNode.setHeight(e.contentHeight)},t.prototype.getOverviewRulerLayoutInfo=function(){return this.scrollbar.getOverviewRulerLayoutInfo()},t.prototype.getDomNode=function(){return this.scrollbarDomNode},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.onConfigurationChanged=function(e){if(e.viewInfo){var t=this._context.configuration.editor,o={handleMouseWheel:t.viewInfo.scrollbar.handleMouseWheel,mouseWheelScrollSensitivity:t.viewInfo.scrollbar.mouseWheelScrollSensitivity};this.scrollbar.updateOptions(o)}return e.layoutInfo&&this._setLayout(),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onThemeChanged=function(e){return this.scrollbar.updateClassName("editor-scrollable "+Object(Fe.d)(this._context.theme.type)),!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){this.scrollbar.renderNow()},t}(Ye);o(467);function kn(e){for(var t=new Uint8ClampedArray(e.length),o=0,n=e.length;o<n;o++)t[o]=e[o];return t}var On=null;function Rn(){if(!On){var e=kn(Ln);Ln=null;var t=kn(Nn);Nn=null,On=new _e(t,e)}return On}var Nn=[0,0,0,0,0,0,0,0,39,14,39,14,14,5,29,10,96,96,29,29,0,0,0,0,49,113,195,214,227,166,135,42,40,29,194,38,75,148,197,187,145,0,160,61,75,143,2,183,138,58,163,6,177,223,197,227,38,13,11,4,0,0,0,0,10,54,52,8,62,4,71,122,73,2,19,40,10,50,155,36,79,70,145,121,7,5,0,0,2,1,36,12,204,166,16,5,0,0,0,0,1,0,154,34,0,0,0,0,96,83,0,0,0,0,0,0,0,0,46,34,0,82,2,56,53,3,146,0,146,119,152,132,152,131,145,119,170,42,15,42,15,42,172,194,131,132,0,139,80,28,227,143,159,135,15,118,11,126,171,144,20,124,88,106,217,196,0,106,189,92,168,43,5,130,164,133,130,115,183,65,134,120,141,141,170,196,2,106,31,32,105,2,145,130,116,114,132,135,138,140,138,113,147,137,81,183,129,94,0,0,21,16,4,3,46,34,0,0,45,34,1,0,160,49,0,0,43,143,203,23,1,76,0,0,38,28,131,96,38,28,0,0,168,31,29,191,98,0,118,139,5,113,45,13,37,6,97,115,161,179,204,105,223,224,83,52,111,100,184,186,120,132,212,145,180,139,174,161,212,182,104,162,131,0,131,0,104,161,219,120,110,116,110,116,219,120,207,154,163,40,147,22,207,154,202,159,161,47,145,23,111,0,139,154,144,30,144,135,139,187,110,110,168,161,150,145,110,110,185,162,43,16,43,16,185,162,73,129,0,110,0,110,191,87,149,149,236,48,195,91,146,149,146,0,146,0,146,0,187,173,200,201,222,215,172,147,95,95,193,97,224,129,159,206,97,192,155,139,153,115,153,115,156,140,189,158,123,136,190,64,111,0,155,139,153,115,153,114,156,241,197,148,150,152,170,116,110,157,156,128,169,14,13,159,158,149,212,189,43,16,43,16,43,16,148,110,148,110,147,109,182,151,133,121,106,118,114,103,89,66,94,94,211,188,205,207,139,168,151,152,87,76,101,79,151,152,130,156,125,116,47,29,43,16,169,228,11,103,120,6,230,176,55,49,55,6,55,6,193,102,92,0,71,0,13,30,0,147,63,43,12,43,12,43,142,152,71,53,61,61,0,0,0,0,0,0,0,0,0,0,158,146,25,2,0,0,0,0,0,0,0,0,107,130,170,194,176,188,109,0,203,159,113,111,202,158,0,0,135,135,114,0,136,135,0,109,187,190,148,126,177,187,0,0,149,130,218,105,169,135,37,113,146,113,49,13,49,13,0,0,178,195,147,114,255,255,109,0,193,149,110,109,109,109,12,15,125,41,33,41,144,188,1,6,75,53,10,53,210,161,110,0,152,148,210,60,110,156,213,5,63,5,63,5,45,111,0,0,232,172,190,168,190,169,0,0,190,144,109,109,109,109,0,0,168,140,148,111,168,140,0,0,200,151,113,110,255,158,0,0,184,188,147,139,186,255,0,0,122,130,111,0,109,0,0,0,132,69,109,93,110,136,51,5,205,103,61,6,47,106,0,0,110,109,110,122,155,179,0,0,132,120,113,114,84,63,0,0,124,108,202,189,160,174,0,0,144,142,79,57,159,146,0,0,138,138,119,117,255,69,0,0,97,198,47,38,208,84,23,112,41,14,157,7,121,192,35,11,35,11,35,11,160,61,129,9,40,19,20,139,236,44,0,0,15,3,97,93,0,0],Ln=[0,0,23,12,53,0,130,127,58,149,67,77,72,198,13,0,25,51,25,49,94,2,8,64,0,24,0,21,0,9,19,27,126,126,51,80,72,105,87,98,73,93,106,85,111,123,87,30,116,126,123,110,4,16,9,28,21,53,8,62,23,52,73,21,132,183,78,142,168,175,70,70,128,128,123,110,125,43,100,139,125,119,78,78,54,77,139,139,33,87,201,117,162,149,130,130,138,60,130,172,149,127,95,98,95,25,118,135,110,85,147,175,105,110,121,30,101,113,34,68,20,26,34,68,56,0,0,44,3,0,27,175,80,133,31,66,85,147,32,150,90,25,45,230,77,101,36,83,22,84,71,118,44,44,52,172,38,101,35,130,40,197,43,197,29,26,23,103,67,44,25,129,29,85,27,177,33,97,32,145,33,77,38,96,20,55,36,95,2,22],In=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();function Dn(e){return 2===e?4:4===e?6:1===e?2:3}function An(e){return 2===e?2:4===e?2:1}var Pn=140,Mn=function(){function e(e){var t=e.editor.pixelRatio,o=e.editor.layoutInfo,n=e.editor.viewInfo,i=e.editor.fontInfo;this.renderMinimap=0|o.renderMinimap,this.scrollBeyondLastLine=n.scrollBeyondLastLine,this.showSlider=n.minimap.showSlider,this.pixelRatio=t,this.typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this.lineHeight=e.editor.lineHeight,this.minimapLeft=o.minimapLeft,this.minimapWidth=o.minimapWidth,this.minimapHeight=o.height,this.canvasInnerWidth=Math.max(1,Math.floor(t*this.minimapWidth)),this.canvasInnerHeight=Math.max(1,Math.floor(t*this.minimapHeight)),this.canvasOuterWidth=this.canvasInnerWidth/t,this.canvasOuterHeight=this.canvasInnerHeight/t}return e.prototype.equals=function(e){return this.renderMinimap===e.renderMinimap&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight},e}(),xn=function(){function e(e,t,o,n,i,r,s){this.scrollTop=e,this.scrollHeight=t,this._computedSliderRatio=o,this.sliderTop=n,this.sliderHeight=i,this.startLineNumber=r,this.endLineNumber=s}return e.prototype.getDesiredScrollTopFromDelta=function(e){var t=this.sliderTop+e;return Math.round(t/this._computedSliderRatio)},e.create=function(t,o,n,i,r,s,a,l,u){var c,h,d=t.pixelRatio,g=Dn(t.renderMinimap),p=Math.floor(t.canvasInnerHeight/g),f=t.lineHeight;if(r&&n!==s){var m=n-o+1;c=Math.floor(m*g/d)}else{var _=i/f;c=Math.floor(_*g/d)}h=t.scrollBeyondLastLine?(s-1)*g/d:Math.max(0,s*g/d-c);var y=(h=Math.min(t.minimapHeight-c,h))/(l-i),v=a*y;if(p>=s)return new e(a,l,y,v,c,b=1,s);var b=Math.max(1,Math.floor(o-v*d/g));return u&&u.scrollHeight===l&&(u.scrollTop>a&&(b=Math.min(b,u.startLineNumber)),u.scrollTop<a&&(b=Math.max(b,u.startLineNumber))),new e(a,l,y,v,c,b,Math.min(s,b+p-1))},e}(),Bn=function(){function e(e){this.dy=e}return e.prototype.onContentChanged=function(){this.dy=-1},e.prototype.onTokensChanged=function(){this.dy=-1},e.INVALID=new e(-1),e}(),Fn=function(){function e(e,t,o){this.renderedLayout=e,this._imageData=t,this._renderedLines=new ho((function(){return Bn.INVALID})),this._renderedLines._set(e.startLineNumber,o)}return e.prototype.linesEquals=function(e){if(this.renderedLayout.startLineNumber!==e.startLineNumber)return!1;if(this.renderedLayout.endLineNumber!==e.endLineNumber)return!1;for(var t=this._renderedLines._get().lines,o=0,n=t.length;o<n;o++)if(-1===t[o].dy)return!1;return!0},e.prototype._get=function(){var e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}},e.prototype.onLinesChanged=function(e){return this._renderedLines.onLinesChanged(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesDeleted=function(e){this._renderedLines.onLinesDeleted(e.fromLineNumber,e.toLineNumber)},e.prototype.onLinesInserted=function(e){this._renderedLines.onLinesInserted(e.fromLineNumber,e.toLineNumber)},e.prototype.onTokensChanged=function(e){return this._renderedLines.onTokensChanged(e.ranges)},e}(),Hn=function(){function e(t,o,n,i){this._backgroundFillData=e._createBackgroundFillData(o,n,i),this._buffers=[t.createImageData(o,n),t.createImageData(o,n)],this._lastUsedBuffer=0}return e.prototype.getBuffer=function(){this._lastUsedBuffer=1-this._lastUsedBuffer;var e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e},e._createBackgroundFillData=function(e,t,o){for(var n=o.r,i=o.g,r=o.b,s=new Uint8ClampedArray(e*t*4),a=0,l=0;l<t;l++)for(var u=0;u<e;u++)s[a]=n,s[a+1]=i,s[a+2]=r,s[a+3]=255,a+=4;return s},e}(),Un=function(e){function t(t){var o=e.call(this,t)||this;return o._options=new Mn(o._context.configuration),o._lastRenderData=null,o._buffers=null,o._domNode=Object(He.b)(document.createElement("div")),Xe.write(o._domNode,8),o._domNode.setClassName(o._getMinimapDomNodeClassName()),o._domNode.setPosition("absolute"),o._domNode.setAttribute("role","presentation"),o._domNode.setAttribute("aria-hidden","true"),o._shadow=Object(He.b)(document.createElement("div")),o._shadow.setClassName("minimap-shadow-hidden"),o._domNode.appendChild(o._shadow),o._canvas=Object(He.b)(document.createElement("canvas")),o._canvas.setPosition("absolute"),o._canvas.setLeft(0),o._domNode.appendChild(o._canvas),o._slider=Object(He.b)(document.createElement("div")),o._slider.setPosition("absolute"),o._slider.setClassName("minimap-slider"),o._slider.setLayerHinting(!0),o._domNode.appendChild(o._slider),o._sliderHorizontal=Object(He.b)(document.createElement("div")),o._sliderHorizontal.setPosition("absolute"),o._sliderHorizontal.setClassName("minimap-slider-horizontal"),o._slider.appendChild(o._sliderHorizontal),o._tokensColorTracker=me.getInstance(),o._applyLayout(),o._mouseDownListener=r.j(o._canvas.domNode,"mousedown",(function(e){e.preventDefault();var t=o._options.renderMinimap;if(0!==t&&o._lastRenderData){var n=Dn(t),i=o._options.pixelRatio*e.browserEvent.offsetY,r=Math.floor(i/n)+o._lastRenderData.renderedLayout.startLineNumber;r=Math.min(r,o._context.model.getLineCount()),o._context.privateViewEventBus.emit(new x(new _.a(r,1,r,1),1,!1,0))}})),o._sliderMouseMoveMonitor=new ht.a,o._sliderMouseDownListener=r.j(o._slider.domNode,"mousedown",(function(e){if(e.preventDefault(),e.leftButton&&o._lastRenderData){var t=e.posy,n=e.posx,i=o._lastRenderData.renderedLayout;o._slider.toggleClassName("active",!0),o._sliderMouseMoveMonitor.startMonitoring(ht.b,(function(e){var r=Math.abs(e.posx-n);if(We.g&&r>Pn)o._context.viewLayout.setScrollPositionNow({scrollTop:i.scrollTop});else{var s=e.posy-t;o._context.viewLayout.setScrollPositionNow({scrollTop:i.getDesiredScrollTopFromDelta(s)})}}),(function(){o._slider.toggleClassName("active",!1)}))}})),o}return In(t,e),t.prototype.dispose=function(){this._mouseDownListener.dispose(),this._sliderMouseMoveMonitor.dispose(),this._sliderMouseDownListener.dispose(),e.prototype.dispose.call(this)},t.prototype._getMinimapDomNodeClassName=function(){return"always"===this._options.showSlider?"minimap slider-always":"minimap slider-mouseover"},t.prototype.getDomNode=function(){return this._domNode},t.prototype._applyLayout=function(){this._domNode.setLeft(this._options.minimapLeft),this._domNode.setWidth(this._options.minimapWidth),this._domNode.setHeight(this._options.minimapHeight),this._shadow.setHeight(this._options.minimapHeight),this._canvas.setWidth(this._options.canvasOuterWidth),this._canvas.setHeight(this._options.canvasOuterHeight),this._canvas.domNode.width=this._options.canvasInnerWidth,this._canvas.domNode.height=this._options.canvasInnerHeight,this._slider.setWidth(this._options.minimapWidth)},t.prototype._getBuffer=function(){return this._buffers||(this._buffers=new Hn(this._canvas.domNode.getContext("2d"),this._options.canvasInnerWidth,this._options.canvasInnerHeight,this._tokensColorTracker.getColor(2))),this._buffers.getBuffer()},t.prototype._onOptionsMaybeChanged=function(){var e=new Mn(this._context.configuration);return!this._options.equals(e)&&(this._options=e,this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName()),!0)},t.prototype.onConfigurationChanged=function(e){return this._onOptionsMaybeChanged()},t.prototype.onFlushed=function(e){return this._lastRenderData=null,!0},t.prototype.onLinesChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(e)},t.prototype.onLinesDeleted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesDeleted(e),!0},t.prototype.onLinesInserted=function(e){return this._lastRenderData&&this._lastRenderData.onLinesInserted(e),!0},t.prototype.onScrollChanged=function(e){return!0},t.prototype.onTokensChanged=function(e){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(e)},t.prototype.onTokensColorsChanged=function(e){return this._lastRenderData=null,this._buffers=null,!0},t.prototype.onZonesChanged=function(e){return this._lastRenderData=null,!0},t.prototype.prepareRender=function(e){},t.prototype.render=function(e){if(0===this._options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");var t=xn.create(this._options,e.visibleRange.startLineNumber,e.visibleRange.endLineNumber,e.viewportHeight,e.viewportData.whitespaceViewportData.length>0,this._context.model.getLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight);var o=e.scrollLeft/this._options.typicalHalfwidthCharacterWidth,n=Math.min(this._options.minimapWidth,Math.round(o*An(this._options.renderMinimap)/this._options.pixelRatio));this._sliderHorizontal.setLeft(n),this._sliderHorizontal.setWidth(this._options.minimapWidth-n),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this._lastRenderData=this.renderLines(t)},t.prototype.renderLines=function(e){var o=this._options.renderMinimap,n=e.startLineNumber,i=e.endLineNumber,r=Dn(o);if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){var s=this._lastRenderData._get();return new Fn(e,s.imageData,s.lines)}for(var a=this._getBuffer(),l=t._renderUntouchedLines(a,n,i,r,this._lastRenderData),u=l[0],c=l[1],h=l[2],d=this._context.model.getMinimapLinesRenderingData(n,i,h),g=d.tabSize,p=this._tokensColorTracker.getColor(2),f=this._tokensColorTracker.backgroundIsLight(),m=0,_=[],y=0,v=i-n+1;y<v;y++)h[y]&&t._renderLine(a,p,f,o,this._tokensColorTracker,Rn(),m,g,d.data[y]),_[y]=new Bn(m),m+=r;var b=-1===u?0:u,E=(-1===c?a.height:c)-b;return this._canvas.domNode.getContext("2d").putImageData(a,0,0,0,b,a.width,E),new Fn(e,a,_)},t._renderUntouchedLines=function(e,t,o,n,i){var r=[];if(!i){for(var s=0,a=o-t+1;s<a;s++)r[s]=!0;return[-1,-1,r]}for(var l=i._get(),u=l.imageData.data,c=l.rendLineNumberStart,h=l.lines,d=h.length,g=e.width,p=e.data,f=(o-t+1)*n*g*4,m=-1,_=-1,y=-1,v=-1,b=-1,E=-1,C=0,S=t;S<=o;S++){var T=S-t,w=S-c,k=w>=0&&w<d?h[w].dy:-1;if(-1!==k){var O=k*g*4,R=(k+n)*g*4,N=C*g*4,L=(C+n)*g*4;v===O&&E===N?(v=R,E=L):(-1!==y&&(p.set(u.subarray(y,v),b),-1===m&&0===y&&y===b&&(m=v),-1===_&&v===f&&y===b&&(_=y)),y=O,v=R,b=N,E=L),r[T]=!1,C+=n}else r[T]=!0,C+=n}return-1!==y&&(p.set(u.subarray(y,v),b),-1===m&&0===y&&y===b&&(m=v),-1===_&&v===f&&y===b&&(_=y)),[-1===m?-1:m/(4*g),-1===_?-1:_/(4*g),r]},t._renderLine=function(e,t,o,n,i,r,s,a,l){for(var u=l.content,c=l.tokens,h=An(n),d=e.width-h,g=0,f=0,m=0,_=0,y=c.getCount();_<y;_++)for(var v=c.getEndOffset(_),b=c.getForeground(_),E=i.getColor(b);f<v;f++){if(g>d)return;var C=u.charCodeAt(f);if(9===C){var S=a-(f+m)%a;m+=S-1,g+=S*h}else if(32===C)g+=h;else for(var T=p.isFullWidthCharacter(C)?2:1,w=0;w<T;w++)if(2===n?r.x2RenderChar(e,g,s,C,E,t,o):1===n?r.x1RenderChar(e,g,s,C,E,t,o):4===n?r.x2BlockRenderChar(e,g,s,E,t,o):r.x1BlockRenderChar(e,g,s,E,t,o),(g+=h)>d)return}},t}(Ye);Object(Fe.e)((function(e,t){var o=e.getColor(en.nb);if(o){var n=o.transparent(.5);t.addRule(".monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: "+n+"; }")}var i=e.getColor(en.ob);if(i){var r=i.transparent(.5);t.addRule(".monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: "+r+"; }")}var s=e.getColor(en.mb);if(s){var a=s.transparent(.5);t.addRule(".monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: "+a+"; }")}var l=e.getColor(en.lb);l&&t.addRule(".monaco-editor .minimap-shadow-visible { box-shadow: "+l+" -6px 0 6px -6px inset; }")}));var Vn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Wn=function(e){function t(t,o,n,i,r,s){var a=e.call(this)||this;a._cursor=r,a._renderAnimationFrame=null,a.outgoingEvents=new bn(i);var l=new lo(o,i,s,a.outgoingEvents,t);return a.eventDispatcher=new uo((function(e){return a._renderOnce(e)})),a.eventDispatcher.addEventHandler(a),a._context=new yn(o,n.getTheme(),i,a.eventDispatcher),a._register(n.onThemeChange((function(e){a._context.theme=e,a.eventDispatcher.emit(new H),a.render(!0,!1)}))),a.viewParts=[],a._textAreaHandler=new at(a._context,l,a.createTextAreaHandlerHelper()),a.viewParts.push(a._textAreaHandler),a.createViewParts(),a._setLayout(),a.pointerHandler=new so(a._context,l,a.createPointerHandlerHelper()),a._register(i.addEventListener((function(e){a.eventDispatcher.emitMany(e)}))),a._register(a._cursor.addEventListener((function(e){a.eventDispatcher.emitMany(e)}))),a}return Vn(t,e),t.prototype.createViewParts=function(){this.linesContent=Object(He.b)(document.createElement("div")),this.linesContent.setClassName("lines-content monaco-editor-background"),this.linesContent.setPosition("absolute"),this.domNode=Object(He.b)(document.createElement("div")),this.domNode.setClassName(this.getEditorClassName()),this.overflowGuardContainer=Object(He.b)(document.createElement("div")),Xe.write(this.overflowGuardContainer,3),this.overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new wn(this._context,this.linesContent,this.domNode,this.overflowGuardContainer),this.viewParts.push(this._scrollbar),this.viewLines=new Ho(this._context,this.linesContent),this.viewZones=new _n(this._context),this.viewParts.push(this.viewZones);var e=new Xo(this._context);this.viewParts.push(e);var t=new on(this._context);this.viewParts.push(t);var o=new yo(this._context);this.viewParts.push(o),o.addDynamicOverlay(new wo(this._context)),o.addDynamicOverlay(new cn(this._context)),o.addDynamicOverlay(new Mo(this._context)),o.addDynamicOverlay(new No(this._context));var n=new vo(this._context);this.viewParts.push(n),n.addDynamicOverlay(new Oo(this._context)),n.addDynamicOverlay(new Ao(this._context)),n.addDynamicOverlay(new jo(this._context)),n.addDynamicOverlay(new Vo(this._context)),n.addDynamicOverlay(new tt(this._context));var i=new $e(this._context);i.getDomNode().appendChild(this.viewZones.marginDomNode),i.getDomNode().appendChild(n.getDomNode()),this.viewParts.push(i),this.contentWidgets=new Co(this._context,this.domNode),this.viewParts.push(this.contentWidgets),this.viewCursors=new fn(this._context),this.viewParts.push(this.viewCursors),this.overlayWidgets=new zo(this._context),this.viewParts.push(this.overlayWidgets);var r=new Qo(this._context);this.viewParts.push(r);var s=new Un(this._context);if(this.viewParts.push(s),e){var a=this._scrollbar.getOverviewRulerLayoutInfo();a.parent.insertBefore(e.getDomNode(),a.insertBefore)}this.linesContent.appendChild(o.getDomNode()),this.linesContent.appendChild(r.domNode),this.linesContent.appendChild(this.viewZones.domNode),this.linesContent.appendChild(this.viewLines.getDomNode()),this.linesContent.appendChild(this.contentWidgets.domNode),this.linesContent.appendChild(this.viewCursors.getDomNode()),this.overflowGuardContainer.appendChild(i.getDomNode()),this.overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this.overflowGuardContainer.appendChild(t.getDomNode()),this.overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this.overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this.overflowGuardContainer.appendChild(this.overlayWidgets.getDomNode()),this.overflowGuardContainer.appendChild(s.getDomNode()),this.domNode.appendChild(this.overflowGuardContainer),this.domNode.appendChild(this.contentWidgets.overflowingContentWidgetsDomNode)},t.prototype._flushAccumulatedAndRenderNow=function(){this._renderNow()},t.prototype.createPointerHandlerHelper=function(){var e=this;return{viewDomNode:this.domNode.domNode,linesContentDomNode:this.linesContent.domNode,focusTextArea:function(){e.focus()},getLastViewCursorsRenderData:function(){return e.viewCursors.getLastRenderData()||[]},shouldSuppressMouseDownOnViewZone:function(t){return e.viewZones.shouldSuppressMouseDownOnViewZone(t)},shouldSuppressMouseDownOnWidget:function(t){return e.contentWidgets.shouldSuppressMouseDownOnWidget(t)},getPositionFromDOMInfo:function(t,o){return e._flushAccumulatedAndRenderNow(),e.viewLines.getPositionFromDOMInfo(t,o)},visibleRangeForPosition2:function(t,o){e._flushAccumulatedAndRenderNow();var n=e.viewLines.visibleRangesForRange2(new _.a(t,o,t,o));return n?n[0]:null},getLineWidth:function(t){return e._flushAccumulatedAndRenderNow(),e.viewLines.getLineWidth(t)}}},t.prototype.createTextAreaHandlerHelper=function(){var e=this;return{visibleRangeForPositionRelativeToEditor:function(t,o){e._flushAccumulatedAndRenderNow();var n=e.viewLines.visibleRangesForRange2(new _.a(t,o,t,o));return n?n[0]:null}}},t.prototype._setLayout=function(){var e=this._context.configuration.editor.layoutInfo;this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this.overflowGuardContainer.setWidth(e.width),this.overflowGuardContainer.setHeight(e.height),this.linesContent.setWidth(1e6),this.linesContent.setHeight(1e6)},t.prototype.getEditorClassName=function(){var e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.editor.editorClassName+" "+Object(Fe.d)(this._context.theme.type)+e},t.prototype.onConfigurationChanged=function(e){return e.editorClassName&&this.domNode.setClassName(this.getEditorClassName()),e.layoutInfo&&this._setLayout(),!1},t.prototype.onFocusChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),this._context.model.setHasFocus(e.isFocused),e.isFocused?this.outgoingEvents.emitViewFocusGained():this.outgoingEvents.emitViewFocusLost(),!1},t.prototype.onScrollChanged=function(e){return this.outgoingEvents.emitScrollChanged(e),!1},t.prototype.onThemeChanged=function(e){return this.domNode.setClassName(this.getEditorClassName()),!1},t.prototype.dispose=function(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this.eventDispatcher.removeEventHandler(this),this.outgoingEvents.dispose(),this.pointerHandler.dispose(),this.viewLines.dispose();for(var t=0,o=this.viewParts.length;t<o;t++)this.viewParts[t].dispose();this.viewParts=[],e.prototype.dispose.call(this)},t.prototype._renderOnce=function(e){var t=jn(e);return this._scheduleRender(),t},t.prototype._scheduleRender=function(){null===this._renderAnimationFrame&&(this._renderAnimationFrame=r.J(this._onRenderScheduled.bind(this),100))},t.prototype._onRenderScheduled=function(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()},t.prototype._renderNow=function(){var e=this;jn((function(){return e._actualRender()}))},t.prototype._getViewPartsToRender=function(){for(var e=[],t=0,o=0,n=this.viewParts.length;o<n;o++){var i=this.viewParts[o];i.shouldRender()&&(e[t++]=i)}return e},t.prototype._actualRender=function(){if(r.D(this.domNode.domNode)){var e=this._getViewPartsToRender();if(this.viewLines.shouldRender()||0!==e.length){var t=this._context.viewLayout.getLinesViewportData();this._context.model.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);var o=new Cn(this._cursor.getViewSelections(),t,this._context.viewLayout.getWhitespaceViewportData(),this._context.model);this.contentWidgets.shouldRender()&&this.contentWidgets.onBeforeRender(o),this.viewLines.shouldRender()&&(this.viewLines.renderText(o),this.viewLines.onDidRender(),e=this._getViewPartsToRender());for(var n=new St(this._context.viewLayout,o,this.viewLines),i=0,s=e.length;i<s;i++){(a=e[i]).prepareRender(n)}for(i=0,s=e.length;i<s;i++){var a;(a=e[i]).render(n),a.onDidRender()}}}},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this._scrollbar.delegateVerticalScrollbarMouseDown(e)},t.prototype.restoreState=function(e){this._context.viewLayout.setScrollPositionNow({scrollTop:e.scrollTop}),this._renderNow(),this.viewLines.updateLineWidths(),this._context.viewLayout.setScrollPositionNow({scrollLeft:e.scrollLeft})},t.prototype.getOffsetForColumn=function(e,t){var o=this._context.model.validateModelPosition({lineNumber:e,column:t}),n=this._context.model.coordinatesConverter.convertModelPositionToViewPosition(o);this._flushAccumulatedAndRenderNow();var i=this.viewLines.visibleRangesForRange2(new _.a(n.lineNumber,n.column,n.lineNumber,n.column));return i?i[0].left:-1},t.prototype.getTargetAtClientPoint=function(e,t){return this.pointerHandler.getTargetAtClientPoint(e,t)},t.prototype.getInternalEventBus=function(){return this.outgoingEvents},t.prototype.createOverviewRuler=function(e){return new Jo(this._context,e)},t.prototype.change=function(e){var t=this,o=!1;return this._renderOnce((function(){var n={addZone:function(e){return o=!0,t.viewZones.addZone(e)},removeZone:function(e){e&&(o=t.viewZones.removeZone(e)||o)},layoutZone:function(e){e&&(o=t.viewZones.layoutZone(e)||o)}};!function(e,t){try{e(t)}catch(e){Object(s.e)(e)}}(e,n),n.addZone=null,n.removeZone=null,o&&(t._context.viewLayout.onHeightMaybeChanged(),t._context.privateViewEventBus.emit(new V))})),o},t.prototype.render=function(e,t){if(t){this.viewLines.forceShouldRender();for(var o=0,n=this.viewParts.length;o<n;o++){this.viewParts[o].forceShouldRender()}}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()},t.prototype.focus=function(){this._textAreaHandler.focusTextArea()},t.prototype.isFocused=function(){return this._textAreaHandler.isFocused()},t.prototype.addContentWidget=function(e){this.contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()},t.prototype.layoutContentWidget=function(e){var t=e.position?e.position.position:null,o=e.position?e.position.preference:null;this.contentWidgets.setWidgetPosition(e.widget,t,o),this._scheduleRender()},t.prototype.removeContentWidget=function(e){this.contentWidgets.removeWidget(e.widget),this._scheduleRender()},t.prototype.addOverlayWidget=function(e){this.overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()},t.prototype.layoutOverlayWidget=function(e){var t=e.position?e.position.preference:null;this.overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()},t.prototype.removeOverlayWidget=function(e){this.overlayWidgets.removeWidget(e.widget),this._scheduleRender()},t}(Ve);function jn(e){try{return e()}catch(e){Object(s.e)(e)}}var Gn=o(3),zn=o(206);o.d(t,"a",(function(){return Jn}));var Kn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Yn=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Xn=function(e,t){return function(o,n){t(o,n,e)}},qn=0,$n="showUnused",Jn=function(e){function t(t,o,n,i,r,l,u,c,g){var p=e.call(this)||this;p._onDidDispose=p._register(new a.a),p.onDidDispose=p._onDidDispose.event,p._onDidChangeModelContent=p._register(new a.a),p.onDidChangeModelContent=p._onDidChangeModelContent.event,p._onDidChangeModelLanguage=p._register(new a.a),p.onDidChangeModelLanguage=p._onDidChangeModelLanguage.event,p._onDidChangeModelLanguageConfiguration=p._register(new a.a),p.onDidChangeModelLanguageConfiguration=p._onDidChangeModelLanguageConfiguration.event,p._onDidChangeModelOptions=p._register(new a.a),p.onDidChangeModelOptions=p._onDidChangeModelOptions.event,p._onDidChangeModelDecorations=p._register(new a.a),p.onDidChangeModelDecorations=p._onDidChangeModelDecorations.event,p._onDidChangeConfiguration=p._register(new a.a),p.onDidChangeConfiguration=p._onDidChangeConfiguration.event,p._onDidChangeModel=p._register(new a.a),p.onDidChangeModel=p._onDidChangeModel.event,p._onDidChangeCursorPosition=p._register(new a.a),p.onDidChangeCursorPosition=p._onDidChangeCursorPosition.event,p._onDidChangeCursorSelection=p._register(new a.a),p.onDidChangeCursorSelection=p._onDidChangeCursorSelection.event,p._onDidAttemptReadOnlyEdit=p._register(new a.a),p.onDidAttemptReadOnlyEdit=p._onDidAttemptReadOnlyEdit.event,p._onDidLayoutChange=p._register(new a.a),p.onDidLayoutChange=p._onDidLayoutChange.event,p._editorTextFocus=p._register(new Zn),p.onDidFocusEditorText=p._editorTextFocus.onDidChangeToTrue,p.onDidBlurEditorText=p._editorTextFocus.onDidChangeToFalse,p._editorWidgetFocus=p._register(new Zn),p.onDidFocusEditorWidget=p._editorWidgetFocus.onDidChangeToTrue,p.onDidBlurEditorWidget=p._editorWidgetFocus.onDidChangeToFalse,p._onWillType=p._register(new a.a),p.onWillType=p._onWillType.event,p._onDidType=p._register(new a.a),p.onDidType=p._onDidType.event,p._onDidPaste=p._register(new a.a),p.onDidPaste=p._onDidPaste.event,p._onMouseUp=p._register(new a.a),p.onMouseUp=p._onMouseUp.event,p._onMouseDown=p._register(new a.a),p.onMouseDown=p._onMouseDown.event,p._onMouseDrag=p._register(new a.a),p.onMouseDrag=p._onMouseDrag.event,p._onMouseDrop=p._register(new a.a),p.onMouseDrop=p._onMouseDrop.event,p._onContextMenu=p._register(new a.a),p.onContextMenu=p._onContextMenu.event,p._onMouseMove=p._register(new a.a),p.onMouseMove=p._onMouseMove.event,p._onMouseLeave=p._register(new a.a),p.onMouseLeave=p._onMouseLeave.event,p._onKeyUp=p._register(new a.a),p.onKeyUp=p._onKeyUp.event,p._onKeyDown=p._register(new a.a),p.onKeyDown=p._onKeyDown.event,p._onDidScrollChange=p._register(new a.a),p.onDidScrollChange=p._onDidScrollChange.event,p._onDidChangeViewZones=p._register(new a.a),p.onDidChangeViewZones=p._onDidChangeViewZones.event,p.domElement=t,p.id=++qn,p._decorationTypeKeysToIds={},p._decorationTypeSubtypes={},p.isSimpleWidget=n.isSimpleWidget||!1,p._telemetryData=n.telemetryData||null,o=o||{},p._configuration=p._register(p._createConfiguration(o)),p._register(p._configuration.onDidChange((function(e){p._onDidChangeConfiguration.fire(e),e.layoutInfo&&p._onDidLayoutChange.fire(p._configuration.editor.layoutInfo),p._configuration.editor.showUnused?p.domElement.classList.add($n):p.domElement.classList.remove($n)}))),p._contextKeyService=p._register(u.createScoped(p.domElement)),p._notificationService=g,p._codeEditorService=r,p._commandService=l,p._themeService=c,p._register(new Qn(p,p._contextKeyService)),p._register(new ei(p,p._contextKeyService)),p._instantiationService=i.createChild(new h.a([d.e,p._contextKeyService])),p._attachModel(null),p._contributions={},p._actions={},p._focusTracker=new ti(t),p._focusTracker.onChange((function(){p._editorWidgetFocus.setValue(p._focusTracker.hasFocus())})),p.contentWidgets={},p.overlayWidgets={};var f=n.contributions;Array.isArray(f)||(f=Gn.d.getEditorContributions());for(var m=0,_=f.length;m<_;m++){var y=f[m];try{var v=p._instantiationService.createInstance(y,p);p._contributions[v.getId()]=v}catch(e){Object(s.e)(e)}}return Gn.d.getEditorActions().forEach((function(e){var t=new zn.a(e.id,e.label,e.alias,e.precondition,(function(){return p._instantiationService.invokeFunction((function(t){return e.runEditorCommand(t,p,null)}))}),p._contextKeyService);p._actions[t.id]=t})),p._codeEditorService.addCodeEditor(p),p}return Kn(t,e),t.prototype._createConfiguration=function(e){return new g.a(e,this.domElement)},t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return C.a.ICodeEditor},t.prototype.dispose=function(){this._codeEditorService.removeCodeEditor(this),this.contentWidgets={},this.overlayWidgets={},this._focusTracker.dispose();for(var t=Object.keys(this._contributions),o=0,n=t.length;o<n;o++){var i=t[o];this._contributions[i].dispose()}this._contributions={},this._actions={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.invokeWithinContext=function(e){return this._instantiationService.invokeFunction(e)},t.prototype.updateOptions=function(e){this._configuration.updateOptions(e)},t.prototype.getConfiguration=function(){return this._configuration.editor},t.prototype.getRawConfiguration=function(){return this._configuration.getRawOptions()},t.prototype.getValue=function(e){if(void 0===e&&(e=null),this.model){var t=!(!e||!e.preserveBOM),o=v.c.TextDefined;return e&&e.lineEnding&&"\n"===e.lineEnding?o=v.c.LF:e&&e.lineEnding&&"\r\n"===e.lineEnding&&(o=v.c.CRLF),this.model.getValue(o,t)}return""},t.prototype.setValue=function(e){this.model&&this.model.setValue(e)},t.prototype.getModel=function(){return this.model},t.prototype.setModel=function(e){if(void 0===e&&(e=null),this.model!==e){var t=this._detachModel();this._attachModel(e);var o={oldModelUrl:t?t.uri:null,newModelUrl:e?e.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(o),this._postDetachModelCleanup(t)}},t.prototype._removeDecorationTypes=function(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(var e in this._decorationTypeSubtypes){var t=this._decorationTypeSubtypes[e];for(var o in t)this._removeDecorationType(e+"-"+o)}this._decorationTypeSubtypes={}}},t.prototype.getVisibleRanges=function(){return this.hasView?this.viewModel.getVisibleRanges():[]},t.prototype.getWhitespaces=function(){return this.hasView?this.viewModel.viewLayout.getWhitespaces():[]},t.prototype._getVerticalOffsetForPosition=function(e,t){var o=this.model.validatePosition({lineNumber:e,column:t}),n=this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(o);return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)},t.prototype.getTopForLineNumber=function(e){return this.hasView?this._getVerticalOffsetForPosition(e,1):-1},t.prototype.getTopForPosition=function(e,t){return this.hasView?this._getVerticalOffsetForPosition(e,t):-1},t.prototype.setHiddenAreas=function(e){this.viewModel&&this.viewModel.setHiddenAreas(e.map((function(e){return _.a.lift(e)})))},t.prototype.getVisibleColumnFromPosition=function(e){if(!this.model)return e.column;var t=this.model.validatePosition(e),o=this.model.getOptions().tabSize;return f.a.visibleColumnFromColumn(this.model.getLineContent(t.lineNumber),t.column,o)+1},t.prototype.getPosition=function(){return this.cursor?this.cursor.getPosition().clone():null},t.prototype.setPosition=function(e){if(this.cursor){if(!m.a.isIPosition(e))throw new Error("Invalid arguments");this.cursor.setSelections("api",[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}},t.prototype._sendRevealRange=function(e,t,o,n){if(this.model&&this.cursor){if(!_.a.isIRange(e))throw new Error("Invalid arguments");var i=this.model.validateRange(e),r=this.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this.cursor.emitCursorRevealRange(r,t,o,n)}},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this._revealLine(e,0,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this._revealLine(e,1,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealLine(e,2,t)},t.prototype._revealLine=function(e,t,o){if("number"!=typeof e)throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e,1,e,1),t,!1,o)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this._revealPosition(e,0,!0,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this._revealPosition(e,1,!0,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealPosition(e,2,!0,t)},t.prototype._revealPosition=function(e,t,o,n){if(!m.a.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e.lineNumber,e.column,e.lineNumber,e.column),t,o,n)},t.prototype.getSelection=function(){return this.cursor?this.cursor.getSelection().clone():null},t.prototype.getSelections=function(){if(!this.cursor)return null;for(var e=this.cursor.getSelections(),t=[],o=0,n=e.length;o<n;o++)t[o]=e[o].clone();return t},t.prototype.setSelection=function(e){var t=y.a.isISelection(e),o=_.a.isIRange(e);if(!t&&!o)throw new Error("Invalid arguments");if(t)this._setSelectionImpl(e);else if(o){var n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n)}},t.prototype._setSelectionImpl=function(e){if(this.cursor){var t=new y.a(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this.cursor.setSelections("api",[t])}},t.prototype.revealLines=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,0,o)},t.prototype.revealLinesInCenter=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,1,o)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,o){void 0===o&&(o=0),this._revealLines(e,t,2,o)},t.prototype._revealLines=function(e,t,o,n){if("number"!=typeof e||"number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new _.a(e,1,t,1),o,!1,n)},t.prototype.revealRange=function(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=!1),void 0===n&&(n=!0),this._revealRange(e,o?1:0,n,t)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this._revealRange(e,1,!0,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this._revealRange(e,2,!0,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this._revealRange(e,3,!0,t)},t.prototype._revealRange=function(e,t,o,n){if(!_.a.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(_.a.lift(e),t,o,n)},t.prototype.setSelections=function(e){if(this.cursor){if(!e||0===e.length)throw new Error("Invalid arguments");for(var t=0,o=e.length;t<o;t++)if(!y.a.isISelection(e[t]))throw new Error("Invalid arguments");this.cursor.setSelections("api",e)}},t.prototype.getScrollWidth=function(){return this.hasView?this.viewModel.viewLayout.getScrollWidth():-1},t.prototype.getScrollLeft=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollLeft():-1},t.prototype.getScrollHeight=function(){return this.hasView?this.viewModel.viewLayout.getScrollHeight():-1},t.prototype.getScrollTop=function(){return this.hasView?this.viewModel.viewLayout.getCurrentScrollTop():-1},t.prototype.setScrollLeft=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this.viewModel.viewLayout.setScrollPositionNow({scrollLeft:e})}},t.prototype.setScrollTop=function(e){if(this.hasView){if("number"!=typeof e)throw new Error("Invalid arguments");this.viewModel.viewLayout.setScrollPositionNow({scrollTop:e})}},t.prototype.setScrollPosition=function(e){this.hasView&&this.viewModel.viewLayout.setScrollPositionNow(e)},t.prototype.saveViewState=function(){if(!this.cursor||!this.hasView)return null;for(var e={},t=Object.keys(this._contributions),o=0,n=t.length;o<n;o++){var i=t[o],r=this._contributions[i];"function"==typeof r.saveViewState&&(e[i]=r.saveViewState())}return{cursorState:this.cursor.saveState(),viewState:this.viewModel.saveState(),contributionsState:e}},t.prototype.restoreViewState=function(e){if(this.cursor&&this.hasView&&e&&e.cursorState&&e.viewState){var t=e.cursorState;Array.isArray(t)?this.cursor.restoreState(t):this.cursor.restoreState([t]);for(var o=e.contributionsState||{},n=Object.keys(this._contributions),i=0,r=n.length;i<r;i++){var s=n[i],a=this._contributions[s];"function"==typeof a.restoreViewState&&a.restoreViewState(o[s])}var l=this.viewModel.reduceRestoreState(e.viewState),u=this.viewModel.viewLayout.getLinesViewportDataAtScrollTop(l.scrollTop),c=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u.startLineNumber,1)),h=this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new m.a(u.endLineNumber,1));this.model.tokenizeViewport(c.lineNumber,h.lineNumber),this._view.restoreState(l)}},t.prototype.getContribution=function(e){return this._contributions[e]||null},t.prototype.getActions=function(){for(var e=[],t=Object.keys(this._actions),o=0,n=t.length;o<n;o++){var i=t[o];e.push(this._actions[i])}return e},t.prototype.getSupportedActions=function(){var e=this.getActions();return e=e.filter((function(e){return e.isSupported()}))},t.prototype.getAction=function(e){return this._actions[e]||null},t.prototype.trigger=function(e,t,o){if(o=o||{},t===C.b.Type){if(!this.cursor||"string"!=typeof o.text||0===o.text.length)return;return"keyboard"===e&&this._onWillType.fire(o.text),this.cursor.trigger(e,t,o),void("keyboard"===e&&this._onDidType.fire(o.text))}if(t!==C.b.Paste){var n=this.getAction(t);n?u.b.as(n.run()).then(null,s.e):this.cursor&&(this._triggerEditorCommand(e,t,o)||this.cursor.trigger(e,t,o))}else{if(!this.cursor||"string"!=typeof o.text||0===o.text.length)return;var i=this.cursor.getSelection().getStartPosition();this.cursor.trigger(e,t,o);var r=this.cursor.getSelection().getStartPosition();"keyboard"===e&&this._onDidPaste.fire(new _.a(i.lineNumber,i.column,r.lineNumber,r.column))}},t.prototype._triggerEditorCommand=function(e,t,o){var n=Gn.d.getEditorCommand(t);return!!n&&((o=o||{}).source=e,u.b.as(n.runEditorCommand(null,this,o)).done(null,s.e),!0)},t.prototype._getCursors=function(){return this.cursor},t.prototype._getCursorConfiguration=function(){return this.cursor.context.config},t.prototype.pushUndoStop=function(){return!!this.model&&(!this._configuration.editor.readOnly&&(this.model.pushStackElement(),!0))},t.prototype.executeEdits=function(e,t,o){return!!this.cursor&&(!this._configuration.editor.readOnly&&(this.model.pushEditOperations(this.cursor.getSelections(),t,(function(){return o||null})),o&&this.cursor.setSelections(e,o),!0))},t.prototype.executeCommand=function(e,t){this.cursor&&this.cursor.trigger(e,C.b.ExecuteCommand,t)},t.prototype.executeCommands=function(e,t){this.cursor&&this.cursor.trigger(e,C.b.ExecuteCommands,t)},t.prototype.changeDecorations=function(e){return this.model?this.model.changeDecorations(e,this.id):null},t.prototype.getLineDecorations=function(e){return this.model?this.model.getLineDecorations(e,this.id,this._configuration.editor.readOnly):null},t.prototype.deltaDecorations=function(e,t){return this.model?0===e.length&&0===t.length?e:this.model.deltaDecorations(e,t,this.id):[]},t.prototype.removeDecorations=function(e){var t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]},t.prototype.getLayoutInfo=function(){return this._configuration.editor.layoutInfo},t.prototype.createOverviewRuler=function(e){return this._view.createOverviewRuler(e)},t.prototype.getDomNode=function(){return this.hasView?this._view.domNode.domNode:null},t.prototype.delegateVerticalScrollbarMouseDown=function(e){this.hasView&&this._view.delegateVerticalScrollbarMouseDown(e)},t.prototype.layout=function(e){this._configuration.observeReferenceElement(e),this.render()},t.prototype.focus=function(){this.hasView&&this._view.focus()},t.prototype.hasTextFocus=function(){return this.hasView&&this._view.isFocused()},t.prototype.hasWidgetFocus=function(){return this._focusTracker&&this._focusTracker.hasFocus()},t.prototype.addContentWidget=function(e){var t={widget:e,position:e.getPosition()};this.contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id."),this.contentWidgets[e.getId()]=t,this.hasView&&this._view.addContentWidget(t)},t.prototype.layoutContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var o=this.contentWidgets[t];o.position=e.getPosition(),this.hasView&&this._view.layoutContentWidget(o)}},t.prototype.removeContentWidget=function(e){var t=e.getId();if(this.contentWidgets.hasOwnProperty(t)){var o=this.contentWidgets[t];delete this.contentWidgets[t],this.hasView&&this._view.removeContentWidget(o)}},t.prototype.addOverlayWidget=function(e){var t={widget:e,position:e.getPosition()};this.overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this.overlayWidgets[e.getId()]=t,this.hasView&&this._view.addOverlayWidget(t)},t.prototype.layoutOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var o=this.overlayWidgets[t];o.position=e.getPosition(),this.hasView&&this._view.layoutOverlayWidget(o)}},t.prototype.removeOverlayWidget=function(e){var t=e.getId();if(this.overlayWidgets.hasOwnProperty(t)){var o=this.overlayWidgets[t];delete this.overlayWidgets[t],this.hasView&&this._view.removeOverlayWidget(o)}},t.prototype.changeViewZones=function(e){this.hasView&&(this._view.change(e)&&this._onDidChangeViewZones.fire())},t.prototype.getTargetAtClientPoint=function(e,t){return this.hasView?this._view.getTargetAtClientPoint(e,t):null},t.prototype.getScrolledVisiblePosition=function(e){if(!this.hasView)return null;var t=this.model.validatePosition(e),o=this._configuration.editor.layoutInfo;return{top:this._getVerticalOffsetForPosition(t.lineNumber,t.column)-this.getScrollTop(),left:this._view.getOffsetForColumn(t.lineNumber,t.column)+o.glyphMarginWidth+o.lineNumbersWidth+o.decorationsWidth-this.getScrollLeft(),height:this._configuration.editor.lineHeight}},t.prototype.getOffsetForColumn=function(e,t){return this.hasView?this._view.getOffsetForColumn(e,t):-1},t.prototype.render=function(){this.hasView&&this._view.render(!0,!1)},t.prototype.applyFontInfo=function(e){g.a.applyFontInfoSlow(e,this._configuration.editor.fontInfo)},t.prototype._attachModel=function(e){var t=this;if(this._view=null,this.model=e||null,this.listenersToRemove=[],this.viewModel=null,this.cursor=null,this.model?(this.domElement.setAttribute("data-mode-id",this.model.getLanguageIdentifier().language),this._configuration.setIsDominatedByLongLines(this.model.isDominatedByLongLines()),this._configuration.setMaxLineNumber(this.model.getLineCount()),this.model.onBeforeAttached(),this.viewModel=new De(this.id,this._configuration,this.model,(function(e){return r.L(e)})),this.listenersToRemove.push(this.model.onDidChangeDecorations((function(e){return t._onDidChangeModelDecorations.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeLanguage((function(e){t.model&&(t.domElement.setAttribute("data-mode-id",t.model.getLanguageIdentifier().language),t._onDidChangeModelLanguage.fire(e))}))),this.listenersToRemove.push(this.model.onDidChangeLanguageConfiguration((function(e){return t._onDidChangeModelLanguageConfiguration.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeContent((function(e){return t._onDidChangeModelContent.fire(e)}))),this.listenersToRemove.push(this.model.onDidChangeOptions((function(e){return t._onDidChangeModelOptions.fire(e)}))),this.listenersToRemove.push(this.model.onWillDispose((function(){return t.setModel(null)}))),this.cursor=new q(this._configuration,this.model,this.viewModel),this._createView(),this.listenersToRemove.push(this.cursor.onDidReachMaxCursorCount((function(){t._notificationService.warn(i.a("cursors.maximum","The number of cursors has been limited to {0}.",q.MAX_CURSOR_COUNT))}))),this.listenersToRemove.push(this.cursor.onDidAttemptReadOnlyEdit((function(){t._onDidAttemptReadOnlyEdit.fire(void 0)}))),this.listenersToRemove.push(this.cursor.onDidChange((function(e){for(var o=[],n=0,i=e.selections.length;n<i;n++)o[n]=e.selections[n].getPosition();var r={position:o[0],secondaryPositions:o.slice(1),reason:e.reason,source:e.source};t._onDidChangeCursorPosition.fire(r);var s={selection:e.selections[0],secondarySelections:e.selections.slice(1),source:e.source,reason:e.reason};t._onDidChangeCursorSelection.fire(s)})))):this.hasView=!1,this._view){this.domElement.appendChild(this._view.domNode.domNode);for(var o=Object.keys(this.contentWidgets),n=0,s=o.length;n<s;n++){var a=o[n];this._view.addContentWidget(this.contentWidgets[a])}for(n=0,s=(o=Object.keys(this.overlayWidgets)).length;n<s;n++){a=o[n];this._view.addOverlayWidget(this.overlayWidgets[a])}this._view.render(!1,!0),this.hasView=!0,this._view.domNode.domNode.setAttribute("data-uri",e.uri.toString())}},t.prototype._createView=function(){var e,t=this;e=this.isSimpleWidget?{paste:function(e,o,n,i){t.trigger(e,C.b.Paste,{text:o,pasteOnNewLine:n,multicursorText:i})},type:function(e,o){t.trigger(e,C.b.Type,{text:o})},replacePreviousChar:function(e,o,n){t.trigger(e,C.b.ReplacePreviousChar,{text:o,replaceCharCnt:n})},compositionStart:function(e){t.trigger(e,C.b.CompositionStart,void 0)},compositionEnd:function(e){t.trigger(e,C.b.CompositionEnd,void 0)},cut:function(e){t.trigger(e,C.b.Cut,void 0)}}:{paste:function(e,o,n,i){t._commandService.executeCommand(C.b.Paste,{text:o,pasteOnNewLine:n,multicursorText:i})},type:function(e,o){t._commandService.executeCommand(C.b.Type,{text:o})},replacePreviousChar:function(e,o,n){t._commandService.executeCommand(C.b.ReplacePreviousChar,{text:o,replaceCharCnt:n})},compositionStart:function(e){t._commandService.executeCommand(C.b.CompositionStart,{})},compositionEnd:function(e){t._commandService.executeCommand(C.b.CompositionEnd,{})},cut:function(e){t._commandService.executeCommand(C.b.Cut,{})}},this._view=new Wn(e,this._configuration,this._themeService,this.viewModel,this.cursor,(function(e,o){t.cursor&&e.runCoreEditorCommand(t.cursor,o)}));var o=this._view.getInternalEventBus();o.onDidGainFocus=function(){t._editorTextFocus.setValue(!0),t._editorWidgetFocus.setValue(!0)},o.onDidScroll=function(e){return t._onDidScrollChange.fire(e)},o.onDidLoseFocus=function(){return t._editorTextFocus.setValue(!1)},o.onContextMenu=function(e){return t._onContextMenu.fire(e)},o.onMouseDown=function(e){return t._onMouseDown.fire(e)},o.onMouseUp=function(e){return t._onMouseUp.fire(e)},o.onMouseDrag=function(e){return t._onMouseDrag.fire(e)},o.onMouseDrop=function(e){return t._onMouseDrop.fire(e)},o.onKeyUp=function(e){return t._onKeyUp.fire(e)},o.onMouseMove=function(e){return t._onMouseMove.fire(e)},o.onMouseLeave=function(e){return t._onMouseLeave.fire(e)},o.onKeyDown=function(e){return t._onKeyDown.fire(e)}},t.prototype._postDetachModelCleanup=function(e){e&&e.removeAllDecorationsWithOwnerId(this.id)},t.prototype._detachModel=function(){var e=null;this._view&&(this._view.dispose(),e=this._view.domNode.domNode,this._view=null),this.model&&this.model.onBeforeDetached(),this.hasView=!1,this.listenersToRemove=Object(l.d)(this.listenersToRemove),this.cursor&&(this.cursor.dispose(),this.cursor=null),this.viewModel&&(this.viewModel.dispose(),this.viewModel=null);var t=this.model;return this.model=null,this.domElement.removeAttribute("data-mode-id"),e&&this.domElement.removeChild(e),t},t.prototype._removeDecorationType=function(e){this._codeEditorService.removeDecorationType(e)},t.prototype.getTelemetryData=function(){return this._telemetryData},t=Yn([Xn(3,c.a),Xn(4,xe.a),Xn(5,Be.b),Xn(6,d.e),Xn(7,Fe.c),Xn(8,Me.a)],t)}(l.a),Zn=function(e){function t(){var t=e.call(this)||this;return t._onDidChangeToTrue=t._register(new a.a),t.onDidChangeToTrue=t._onDidChangeToTrue.event,t._onDidChangeToFalse=t._register(new a.a),t.onDidChangeToFalse=t._onDidChangeToFalse.event,t._value=0,t}return Kn(t,e),t.prototype.setValue=function(e){var t=e?2:1;this._value!==t&&(this._value=t,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())},t}(l.a),Qn=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,o.createKey("editorId",t.getId()),n._editorFocus=Ae.a.focus.bindTo(o),n._textInputFocus=Ae.a.textInputFocus.bindTo(o),n._editorTextFocus=Ae.a.editorTextFocus.bindTo(o),n._editorTabMovesFocus=Ae.a.tabMovesFocus.bindTo(o),n._editorReadonly=Ae.a.readOnly.bindTo(o),n._hasMultipleSelections=Ae.a.hasMultipleSelections.bindTo(o),n._hasNonEmptySelection=Ae.a.hasNonEmptySelection.bindTo(o),n._canUndo=Ae.a.canUndo.bindTo(o),n._canRedo=Ae.a.canRedo.bindTo(o),n._register(n._editor.onDidChangeConfiguration((function(){return n._updateFromConfig()}))),n._register(n._editor.onDidChangeCursorSelection((function(){return n._updateFromSelection()}))),n._register(n._editor.onDidFocusEditorWidget((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidBlurEditorWidget((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidFocusEditorText((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidBlurEditorText((function(){return n._updateFromFocus()}))),n._register(n._editor.onDidChangeModel((function(){return n._updateFromModel()}))),n._register(n._editor.onDidChangeConfiguration((function(){return n._updateFromModel()}))),n._updateFromConfig(),n._updateFromSelection(),n._updateFromFocus(),n._updateFromModel(),n}return Kn(t,e),t.prototype._updateFromConfig=function(){var e=this._editor.getConfiguration();this._editorTabMovesFocus.set(e.tabFocusMode),this._editorReadonly.set(e.readOnly)},t.prototype._updateFromSelection=function(){var e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some((function(e){return!e.isEmpty()})))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())},t.prototype._updateFromFocus=function(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())},t.prototype._updateFromModel=function(){var e=this._editor.getModel();this._canUndo.set(e&&e.canUndo()),this._canRedo.set(e&&e.canRedo())},t}(l.a),ei=function(e){function t(t,o){var n=e.call(this)||this;n._editor=t,n._langId=Ae.a.languageId.bindTo(o),n._hasCompletionItemProvider=Ae.a.hasCompletionItemProvider.bindTo(o),n._hasCodeActionsProvider=Ae.a.hasCodeActionsProvider.bindTo(o),n._hasCodeLensProvider=Ae.a.hasCodeLensProvider.bindTo(o),n._hasDefinitionProvider=Ae.a.hasDefinitionProvider.bindTo(o),n._hasImplementationProvider=Ae.a.hasImplementationProvider.bindTo(o),n._hasTypeDefinitionProvider=Ae.a.hasTypeDefinitionProvider.bindTo(o),n._hasHoverProvider=Ae.a.hasHoverProvider.bindTo(o),n._hasDocumentHighlightProvider=Ae.a.hasDocumentHighlightProvider.bindTo(o),n._hasDocumentSymbolProvider=Ae.a.hasDocumentSymbolProvider.bindTo(o),n._hasReferenceProvider=Ae.a.hasReferenceProvider.bindTo(o),n._hasRenameProvider=Ae.a.hasRenameProvider.bindTo(o),n._hasDocumentFormattingProvider=Ae.a.hasDocumentFormattingProvider.bindTo(o),n._hasDocumentSelectionFormattingProvider=Ae.a.hasDocumentSelectionFormattingProvider.bindTo(o),n._hasSignatureHelpProvider=Ae.a.hasSignatureHelpProvider.bindTo(o),n._isInWalkThrough=Ae.a.isInEmbeddedEditor.bindTo(o);var i=function(){return n._update()};return n._register(t.onDidChangeModel(i)),n._register(t.onDidChangeModelLanguage(i)),n._register(J.u.onDidChange(i)),n._register(J.a.onDidChange(i)),n._register(J.c.onDidChange(i)),n._register(J.e.onDidChange(i)),n._register(J.n.onDidChange(i)),n._register(J.z.onDidChange(i)),n._register(J.m.onDidChange(i)),n._register(J.h.onDidChange(i)),n._register(J.j.onDidChange(i)),n._register(J.r.onDidChange(i)),n._register(J.s.onDidChange(i)),n._register(J.f.onDidChange(i)),n._register(J.i.onDidChange(i)),n._register(J.t.onDidChange(i)),i(),n}return Kn(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.reset=function(){this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()},t.prototype._update=function(){var e=this._editor.getModel();e?(this._langId.set(e.getLanguageIdentifier().language),this._hasCompletionItemProvider.set(J.u.has(e)),this._hasCodeActionsProvider.set(J.a.has(e)),this._hasCodeLensProvider.set(J.c.has(e)),this._hasDefinitionProvider.set(J.e.has(e)),this._hasImplementationProvider.set(J.n.has(e)),this._hasTypeDefinitionProvider.set(J.z.has(e)),this._hasHoverProvider.set(J.m.has(e)),this._hasDocumentHighlightProvider.set(J.h.has(e)),this._hasDocumentSymbolProvider.set(J.j.has(e)),this._hasReferenceProvider.set(J.r.has(e)),this._hasRenameProvider.set(J.s.has(e)),this._hasSignatureHelpProvider.set(J.t.has(e)),this._hasDocumentFormattingProvider.set(J.f.has(e)||J.i.has(e)),this._hasDocumentSelectionFormattingProvider.set(J.i.has(e)),this._isInWalkThrough.set(e.uri.scheme===Pe.a.walkThroughSnippet)):this.reset()},t}(l.a),ti=function(e){function t(t){var o=e.call(this)||this;return o._onChange=o._register(new a.a),o.onChange=o._onChange.event,o._hasFocus=!1,o._domFocusTracker=o._register(r.O(t)),o._register(o._domFocusTracker.onDidFocus((function(){o._hasFocus=!0,o._onChange.fire(void 0)}))),o._register(o._domFocusTracker.onDidBlur((function(){o._hasFocus=!1,o._onChange.fire(void 0)}))),o}return Kn(t,e),t.prototype.hasFocus=function(){return this._hasFocus},t}(l.a),oi=encodeURIComponent("<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 3' enable-background='new 0 0 6 3' height='3' width='6'><g fill='"),ni=encodeURIComponent("'><polygon points='5.5,0 2.5,3 1.1,3 4.1,0'/><polygon points='4,0 6,2 6,0.6 5.4,0'/><polygon points='0,2 1,3 2.4,3 0,0.6'/></g></svg>");function ii(e){return oi+encodeURIComponent(e.toString())+ni}var ri=encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" height="3" width="12"><g fill="'),si=encodeURIComponent('"><circle cx="1" cy="1" r="1"/><circle cx="5" cy="1" r="1"/><circle cx="9" cy="1" r="1"/></g></svg>');Object(Fe.e)((function(e,t){var o=e.getColor(Je.h);o&&t.addRule(".monaco-editor .squiggly-error { border-bottom: 4px double "+o+"; }");var n=e.getColor(Je.i);n&&t.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'+ii(n)+'") repeat-x bottom left; }');var i=e.getColor(Je.v);i&&t.addRule(".monaco-editor .squiggly-warning { border-bottom: 4px double "+i+"; }");var r=e.getColor(Je.w);r&&t.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'+ii(r)+'") repeat-x bottom left; }');var s=e.getColor(Je.m);s&&t.addRule(".monaco-editor .squiggly-info { border-bottom: 4px double "+s+"; }");var a=e.getColor(Je.n);a&&t.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'+ii(a)+'") repeat-x bottom left; }');var l=e.getColor(Je.j);l&&t.addRule(".monaco-editor .squiggly-hint { border-bottom: 2px dotted "+l+"; }");var u=e.getColor(Je.k);u&&t.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'+(ri+encodeURIComponent(u.toString())+si)+'") no-repeat bottom left; }');var c=e.getColor(Je.u);c&&t.addRule("."+$n+" .monaco-editor .squiggly-inline-unnecessary { opacity: "+c.rgba.a+"; will-change: opacity; }");var h=e.getColor(Je.t);h&&t.addRule("."+$n+" .monaco-editor .squiggly-unnecessary { border-bottom: 2px dashed "+h+"; }")}))},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(6),r=o(12),s=o(8),a=o(3),l=o(17),u=function(){function e(e){e&&0!==e.length?1===e.length&&null!==e[0].staticValue?(this._staticValue=e[0].staticValue,this._pieces=null):(this._staticValue=null,this._pieces=e):(this._staticValue="",this._pieces=null)}return e.fromStaticValue=function(t){return new e([c.staticValue(t)])},Object.defineProperty(e.prototype,"hasReplacementPatterns",{get:function(){return null===this._staticValue},enumerable:!0,configurable:!0}),e.prototype.buildReplaceString=function(t){if(null!==this._staticValue)return this._staticValue;for(var o="",n=0,i=this._pieces.length;n<i;n++){var r=this._pieces[n];null===r.staticValue?o+=e._substitute(r.matchIndex,t):o+=r.staticValue}return o},e._substitute=function(e,t){if(0===e)return t[0];for(var o="";e>0;){if(e<t.length)return(t[e]||"")+o;o=String(e%10)+o,e=Math.floor(e/10)}return"$"+o},e}(),c=function(){function e(e,t){this.staticValue=e,this.matchIndex=t}return e.staticValue=function(t){return new e(t,-1)},e.matchIndex=function(t){return new e(null,t)},e}(),h=function(){function e(e){this._source=e,this._lastCharIndex=0,this._result=[],this._resultLen=0,this._currentStaticPiece=""}return e.prototype.emitUnchanged=function(e){this._emitStatic(this._source.substring(this._lastCharIndex,e)),this._lastCharIndex=e},e.prototype.emitStatic=function(e,t){this._emitStatic(e),this._lastCharIndex=t},e.prototype._emitStatic=function(e){0!==e.length&&(this._currentStaticPiece+=e)},e.prototype.emitMatchIndex=function(e,t){0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=c.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=c.matchIndex(e),this._lastCharIndex=t},e.prototype.finalize=function(){return this.emitUnchanged(this._source.length),0!==this._currentStaticPiece.length&&(this._result[this._resultLen++]=c.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new u(this._result)},e}();var d=o(43),g=o(9),p=o(2),f=o(26),m=o(7),_=o(19),y=o(18),v=function(){function e(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}return e.prototype.dispose=function(){this._editor.deltaDecorations(this._allDecorations(),[]),this._editor=null,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=null},e.prototype.reset=function(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationId=null,this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null},e.prototype.getCount=function(){return this._decorations.length},e.prototype.getFindScope=function(){return this._findScopeDecorationId?this._editor.getModel().getDecorationRange(this._findScopeDecorationId):null},e.prototype.getStartPosition=function(){return this._startPosition},e.prototype.setStartPosition=function(e){this._startPosition=e,this.setCurrentFindMatch(null)},e.prototype._getDecorationIndex=function(e){var t=this._decorations.indexOf(e);return t>=0?t+1:1},e.prototype.getCurrentMatchesPosition=function(t){for(var o=this._editor.getModel().getDecorationsInRange(t),n=0,i=o.length;n<i;n++){var r=o[n],s=r.options;if(s===e._FIND_MATCH_DECORATION||s===e._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(r.id)}return 1},e.prototype.setCurrentFindMatch=function(t){var o=this,n=null,i=0;if(t)for(var r=0,s=this._decorations.length;r<s;r++){var a=this._editor.getModel().getDecorationRange(this._decorations[r]);if(t.equalsRange(a)){n=this._decorations[r],i=r+1;break}}return null===this._highlightedDecorationId&&null===n||this._editor.changeDecorations((function(t){if(null!==o._highlightedDecorationId&&(t.changeDecorationOptions(o._highlightedDecorationId,e._FIND_MATCH_DECORATION),o._highlightedDecorationId=null),null!==n&&(o._highlightedDecorationId=n,t.changeDecorationOptions(o._highlightedDecorationId,e._CURRENT_FIND_MATCH_DECORATION)),null!==o._rangeHighlightDecorationId&&(t.removeDecoration(o._rangeHighlightDecorationId),o._rangeHighlightDecorationId=null),null!==n){var i=o._editor.getModel().getDecorationRange(n);if(i.startLineNumber!==i.endLineNumber&&1===i.endColumn){var r=i.endLineNumber-1,s=o._editor.getModel().getLineMaxColumn(r);i=new p.a(i.startLineNumber,i.startColumn,r,s)}o._rangeHighlightDecorationId=t.addDecoration(i,e._RANGE_HIGHLIGHT_DECORATION)}})),i},e.prototype.set=function(t,o){var n=this;this._editor.changeDecorations((function(i){var r=e._FIND_MATCH_DECORATION,s=[];if(t.length>1e3){r=e._FIND_MATCH_NO_OVERVIEW_DECORATION;for(var a=n._editor.getModel().getLineCount(),l=n._editor.getLayoutInfo().height/a,u=Math.max(2,Math.ceil(3/l)),c=t[0].range.startLineNumber,h=t[0].range.endLineNumber,d=1,g=t.length;d<g;d++){var f=t[d].range;h+u>=f.startLineNumber?f.endLineNumber>h&&(h=f.endLineNumber):(s.push({range:new p.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),c=f.startLineNumber,h=f.endLineNumber)}s.push({range:new p.a(c,1,h,1),options:e._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}var m=new Array(t.length);for(d=0,g=t.length;d<g;d++)m[d]={range:t[d].range,options:r};n._decorations=i.deltaDecorations(n._decorations,m),n._overviewRulerApproximateDecorations=i.deltaDecorations(n._overviewRulerApproximateDecorations,s),n._rangeHighlightDecorationId&&(i.removeDecoration(n._rangeHighlightDecorationId),n._rangeHighlightDecorationId=null),n._findScopeDecorationId&&(i.removeDecoration(n._findScopeDecorationId),n._findScopeDecorationId=null),o&&(n._findScopeDecorationId=i.addDecoration(o,e._FIND_SCOPE_DECORATION))}))},e.prototype.matchBeforePosition=function(e){if(0===this._decorations.length)return null;for(var t=this._decorations.length-1;t>=0;t--){var o=this._decorations[t],n=this._editor.getModel().getDecorationRange(o);if(n&&!(n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])},e.prototype.matchAfterPosition=function(e){if(0===this._decorations.length)return null;for(var t=0,o=this._decorations.length;t<o;t++){var n=this._decorations[t],i=this._editor.getModel().getDecorationRange(n);if(i&&!(i.startLineNumber<e.lineNumber)){if(i.startLineNumber>e.lineNumber)return i;if(!(i.startColumn<e.column))return i}}return this._editor.getModel().getDecorationRange(this._decorations[0])},e.prototype._allDecorations=function(){var e=[];return e=(e=e.concat(this._decorations)).concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationId&&e.push(this._findScopeDecorationId),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e},e._CURRENT_FIND_MATCH_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,zIndex:13,className:"currentFindMatch",showIfCollapsed:!0,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._FIND_MATCH_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"findMatch",showIfCollapsed:!0,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._FIND_MATCH_NO_OVERVIEW_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"findMatch",showIfCollapsed:!0}),e._FIND_MATCH_ONLY_OVERVIEW_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,overviewRuler:{color:Object(_.f)(m.fb),darkColor:Object(_.f)(m.fb),position:y.f.Center}}),e._RANGE_HIGHLIGHT_DECORATION=f.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"rangeHighlight",isWholeLine:!0}),e._FIND_SCOPE_DECORATION=f.a.register({className:"findScope",isWholeLine:!0}),e}(),b=function(){function e(e,t,o){this._editorSelection=e,this._ranges=t,this._replaceStrings=o}return e.prototype.getEditOperations=function(e,t){if(this._ranges.length>0){for(var o=[],n=0;n<this._ranges.length;n++)o.push({range:this._ranges[n],text:this._replaceStrings[n]});o.sort((function(e,t){return p.a.compareRangesUsingStarts(e.range,t.range)}));var i=[],r=o[0];for(n=1;n<o.length;n++)r.range.endLineNumber===o[n].range.startLineNumber&&r.range.endColumn===o[n].range.startColumn?(r.range=r.range.plusRange(o[n].range),r.text=r.text+o[n].text):(i.push(r),r=o[n]);i.push(r);for(n=0;n<i.length;n++)t.addEditOperation(i[n].range,i[n].text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)},e}(),E=o(23),C=o(77),S=o(35),T=new r.f("findWidgetVisible",!1),w=new r.f("findInputFocussed",!1),k=new r.f("replaceInputFocussed",!1),O={primary:545,mac:{primary:2593}},R={primary:565,mac:{primary:2613}},N={primary:560,mac:{primary:2608}},L={primary:554,mac:{primary:2602}},I={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},D=function(){function e(e,t){var o=this;this._editor=e,this._state=t,this._toDispose=[],this._isDisposed=!1,this._startSearchingTimer=new l.f,this._decorations=new v(e),this._toDispose.push(this._decorations),this._updateDecorationsScheduler=new l.c((function(){return o.research(!1)}),100),this._toDispose.push(this._updateDecorationsScheduler),this._toDispose.push(this._editor.onDidChangeCursorPosition((function(e){e.reason!==S.a.Explicit&&e.reason!==S.a.Undo&&e.reason!==S.a.Redo||o._decorations.setStartPosition(o._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.push(this._editor.onDidChangeModelContent((function(e){o._ignoreModelContentChanged||(e.isFlush&&o._decorations.reset(),o._decorations.setStartPosition(o._editor.getPosition()),o._updateDecorationsScheduler.schedule())}))),this._toDispose.push(this._state.onFindReplaceStateChange((function(e){return o._onStateChanged(e)}))),this.research(!1,this._state.searchScope)}return e.prototype.dispose=function(){this._isDisposed=!0,Object(i.d)(this._startSearchingTimer),this._toDispose=Object(i.d)(this._toDispose)},e.prototype._onStateChanged=function(e){var t=this;this._isDisposed||this._editor.getModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((function(){e.searchScope?t.research(e.moveCursor,t._state.searchScope):t.research(e.moveCursor)}),240)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))},e._getSearchRange=function(e,t){var o=e.getFullModelRange();return t&&(o=o.intersectRanges(t)),o},e.prototype.research=function(e,t){var o=null;null!==(o=void 0!==t?t:this._decorations.getFindScope())&&o.startLineNumber!==o.endLineNumber&&(o=new p.a(o.startLineNumber,1,o.endLineNumber,this._editor.getModel().getLineMaxColumn(o.endLineNumber)));var n=this._findMatches(o,!1,19999);this._decorations.set(n,o),this._state.changeMatchInfo(this._decorations.getCurrentMatchesPosition(this._editor.getSelection()),this._decorations.getCount(),void 0),e&&this._moveToNextMatch(this._decorations.getStartPosition())},e.prototype._hasMatches=function(){return this._state.matchesCount>0},e.prototype._cannotFind=function(){if(!this._hasMatches()){var e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1},e.prototype._setCurrentFindMatch=function(e){var t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)},e.prototype._prevSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),o=e.lineNumber,n=e.column,i=this._editor.getModel();return t||1===n?(1===o?o=i.getLineCount():o--,n=i.getLineMaxColumn(o)):n--,new g.a(o,n)},e.prototype._moveToPrevMatch=function(t,o){if(void 0===o&&(o=!1),this._decorations.getCount()<19999){var n=this._decorations.matchBeforePosition(t);return n&&n.isEmpty()&&n.getStartPosition().equals(t)&&(t=this._prevSearchPosition(t),n=this._decorations.matchBeforePosition(t)),void(n&&this._setCurrentFindMatch(n))}if(!this._cannotFind()){var i=this._decorations.getFindScope(),r=e._getSearchRange(this._editor.getModel(),i);r.getEndPosition().isBefore(t)&&(t=r.getEndPosition()),t.isBefore(r.getStartPosition())&&(t=r.getEndPosition());var s=t.lineNumber,a=t.column,l=this._editor.getModel(),u=new g.a(s,a),c=l.findPreviousMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return c&&c.range.isEmpty()&&c.range.getStartPosition().equals(u)&&(u=this._prevSearchPosition(u),c=l.findPreviousMatch(this._state.searchString,u,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1)),c?o||r.containsRange(c.range)?void this._setCurrentFindMatch(c.range):this._moveToPrevMatch(c.range.getStartPosition(),!0):null}},e.prototype.moveToPrevMatch=function(){this._moveToPrevMatch(this._editor.getSelection().getStartPosition())},e.prototype._nextSearchPosition=function(e){var t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0),o=e.lineNumber,n=e.column,i=this._editor.getModel();return t||n===i.getLineMaxColumn(o)?(o===i.getLineCount()?o=1:o++,n=1):n++,new g.a(o,n)},e.prototype._moveToNextMatch=function(e){if(this._decorations.getCount()<19999){var t=this._decorations.matchAfterPosition(e);return t&&t.isEmpty()&&t.getStartPosition().equals(e)&&(e=this._nextSearchPosition(e),t=this._decorations.matchAfterPosition(e)),void(t&&this._setCurrentFindMatch(t))}var o=this._getNextMatch(e,!1,!0);o&&this._setCurrentFindMatch(o.range)},e.prototype._getNextMatch=function(t,o,n,i){if(void 0===i&&(i=!1),this._cannotFind())return null;var r=this._decorations.getFindScope(),s=e._getSearchRange(this._editor.getModel(),r);s.getEndPosition().isBefore(t)&&(t=s.getStartPosition()),t.isBefore(s.getStartPosition())&&(t=s.getStartPosition());var a=t.lineNumber,l=t.column,u=this._editor.getModel(),c=new g.a(a,l),h=u.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o);return n&&h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._nextSearchPosition(c),h=u.findNextMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o)),h?i||s.containsRange(h.range)?h:this._getNextMatch(h.range.getEndPosition(),o,n,!0):null},e.prototype.moveToNextMatch=function(){this._moveToNextMatch(this._editor.getSelection().getEndPosition())},e.prototype._getReplacePattern=function(){return this._state.isRegex?function(e){if(!e||0===e.length)return new u(null);for(var t=new h(e),o=0,n=e.length;o<n;o++){var i=e.charCodeAt(o);if(92!==i){if(36===i){if(++o>=n)break;if(36===(a=e.charCodeAt(o))){t.emitUnchanged(o-1),t.emitStatic("$",o+1);continue}if(48===a||38===a){t.emitUnchanged(o-1),t.emitMatchIndex(0,o+1);continue}if(49<=a&&a<=57){var r=a-48;if(o+1<n){var s=e.charCodeAt(o+1);if(48<=s&&s<=57){o++,r=10*r+(s-48),t.emitUnchanged(o-2),t.emitMatchIndex(r,o+1);continue}}t.emitUnchanged(o-1),t.emitMatchIndex(r,o+1);continue}}}else{if(++o>=n)break;var a;switch(a=e.charCodeAt(o)){case 92:t.emitUnchanged(o-1),t.emitStatic("\\",o+1);break;case 110:t.emitUnchanged(o-1),t.emitStatic("\n",o+1);break;case 116:t.emitUnchanged(o-1),t.emitStatic("\t",o+1)}}}return t.finalize()}(this._state.replaceString):u.fromStaticValue(this._state.replaceString)},e.prototype.replace=function(){if(this._hasMatches()){var e=this._getReplacePattern(),t=this._editor.getSelection(),o=this._getNextMatch(t.getStartPosition(),e.hasReplacementPatterns,!1);if(o)if(t.equalsRange(o.range)){var n=e.buildReplaceString(o.matches),i=new d.a(t,n);this._executeEditorCommand("replace",i),this._decorations.setStartPosition(new g.a(t.startLineNumber,t.startColumn+n.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(o.range)}},e.prototype._findMatches=function(t,o,n){var i=e._getSearchRange(this._editor.getModel(),t);return this._editor.getModel().findMatches(this._state.searchString,i,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null,o,n)},e.prototype.replaceAll=function(){if(this._hasMatches()){var e=this._decorations.getFindScope();null===e&&this._state.matchesCount>=19999?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}},e.prototype._largeReplaceAll=function(){var e=new C.a(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getConfiguration().wordSeparators:null).parseSearchRequest();if(e){var t=e.regex;if(!t.multiline){var o="m";t.ignoreCase&&(o+="i"),t.global&&(o+="g"),t=new RegExp(t.source,o)}var n,i=this._editor.getModel(),r=i.getValue(y.c.LF),s=i.getFullModelRange(),a=this._getReplacePattern();n=a.hasReplacementPatterns?r.replace(t,(function(){return a.buildReplaceString(arguments)})):r.replace(t,a.buildReplaceString(null));var l=new d.b(s,n,this._editor.getSelection());this._executeEditorCommand("replaceAll",l)}},e.prototype._regularReplaceAll=function(e){for(var t=this._getReplacePattern(),o=this._findMatches(e,t.hasReplacementPatterns,1073741824),n=[],i=0,r=o.length;i<r;i++)n[i]=t.buildReplaceString(o[i].matches);var s=new b(this._editor.getSelection(),o.map((function(e){return e.range})),n);this._executeEditorCommand("replaceAll",s)},e.prototype.selectAllMatches=function(){if(this._hasMatches()){for(var e=this._decorations.getFindScope(),t=this._findMatches(e,!1,1073741824).map((function(e){return new E.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)})),o=this._editor.getSelection(),n=0,i=t.length;n<i;n++){if(t[n].equalsRange(o)){t=[o].concat(t.slice(0,n)).concat(t.slice(n+1));break}}this._editor.setSelections(t)}},e.prototype._executeEditorCommand=function(e,t){try{this._ignoreModelContentChanged=!0,this._editor.pushUndoStop(),this._editor.executeCommand(e,t),this._editor.pushUndoStop()}finally{this._ignoreModelContentChanged=!1}},e}(),A=o(4);function P(e,t){return 1===e||2!==e&&t}var M,x=function(){function e(){this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._onFindReplaceStateChange=new A.a}return Object.defineProperty(e.prototype,"searchString",{get:function(){return this._searchString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"replaceString",{get:function(){return this._replaceString},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isRevealed",{get:function(){return this._isRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isReplaceRevealed",{get:function(){return this._isReplaceRevealed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isRegex",{get:function(){return P(this._isRegexOverride,this._isRegex)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"wholeWord",{get:function(){return P(this._wholeWordOverride,this._wholeWord)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchCase",{get:function(){return P(this._matchCaseOverride,this._matchCase)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualIsRegex",{get:function(){return this._isRegex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualWholeWord",{get:function(){return this._wholeWord},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"actualMatchCase",{get:function(){return this._matchCase},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"searchScope",{get:function(){return this._searchScope},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchesPosition",{get:function(){return this._matchesPosition},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"matchesCount",{get:function(){return this._matchesCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentMatch",{get:function(){return this._currentMatch},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onFindReplaceStateChange",{get:function(){return this._onFindReplaceStateChange.event},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){},e.prototype.changeMatchInfo=function(e,t,o){var n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1;0===t&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,i=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,i=!0),void 0!==o&&(p.a.equalsRange(this._currentMatch,o)||(this._currentMatch=o,n.currentMatch=!0,i=!0)),i&&this._onFindReplaceStateChange.fire(n)},e.prototype.change=function(e,t,o){void 0===o&&(o=!0);var n={moveCursor:t,updateHistory:o,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1},i=!1,r=this.isRegex,s=this.wholeWord,a=this.matchCase;void 0!==e.searchString&&this._searchString!==e.searchString&&(this._searchString=e.searchString,n.searchString=!0,i=!0),void 0!==e.replaceString&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,n.replaceString=!0,i=!0),void 0!==e.isRevealed&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,n.isRevealed=!0,i=!0),void 0!==e.isReplaceRevealed&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,n.isReplaceRevealed=!0,i=!0),void 0!==e.isRegex&&(this._isRegex=e.isRegex),void 0!==e.wholeWord&&(this._wholeWord=e.wholeWord),void 0!==e.matchCase&&(this._matchCase=e.matchCase),void 0!==e.searchScope&&(p.a.equalsRange(this._searchScope,e.searchScope)||(this._searchScope=e.searchScope,n.searchScope=!0,i=!0)),this._isRegexOverride=void 0!==e.isRegexOverride?e.isRegexOverride:0,this._wholeWordOverride=void 0!==e.wholeWordOverride?e.wholeWordOverride:0,this._matchCaseOverride=void 0!==e.matchCaseOverride?e.matchCaseOverride:0,r!==this.isRegex&&(i=!0,n.isRegex=!0),s!==this.wholeWord&&(i=!0,n.wholeWord=!0),a!==this.matchCase&&(i=!0,n.matchCase=!0),i&&this._onFindReplaceStateChange.fire(n)},e}(),B=o(5),F=o(55),H=o(177),U=o(83),V=o(61),W=(o(438),o(13)),j=o(15),G=o(1),z=o(59),K=o(93),Y=o(16),X=o(162),q=(o(442),o(443),o(14)),$=o(30),J=(M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}M(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),Z={inputActiveOptionBorder:q.a.fromHex("#007ACC")},Q=function(e){function t(t){var o=e.call(this)||this;return o._onChange=o._register(new A.a),o._onKeyDown=o._register(new A.a),o._opts=$.c(t),$.g(o._opts,Z,!1),o._checked=o._opts.isChecked,o.domNode=document.createElement("div"),o.domNode.title=o._opts.title,o.domNode.className="monaco-custom-checkbox "+o._opts.actionClassName+" "+(o._checked?"checked":"unchecked"),o.domNode.tabIndex=0,o.domNode.setAttribute("role","checkbox"),o.domNode.setAttribute("aria-checked",String(o._checked)),o.domNode.setAttribute("aria-label",o._opts.title),o.applyStyles(),o.onclick(o.domNode,(function(e){o.checked=!o._checked,o._onChange.fire(!1),e.preventDefault()})),o.onkeydown(o.domNode,(function(e){if(10===e.keyCode||3===e.keyCode)return o.checked=!o._checked,o._onChange.fire(!0),void e.preventDefault();o._onKeyDown.fire(e)})),o}return J(t,e),Object.defineProperty(t.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onKeyDown",{get:function(){return this._onKeyDown.event},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.domNode.focus()},Object.defineProperty(t.prototype,"checked",{get:function(){return this._checked},set:function(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this._checked?this.domNode.classList.add("checked"):this.domNode.classList.remove("checked"),this.applyStyles()},enumerable:!0,configurable:!0}),t.prototype.width=function(){return 22},t.prototype.style=function(e){e.inputActiveOptionBorder&&(this._opts.inputActiveOptionBorder=e.inputActiveOptionBorder),this.applyStyles()},t.prototype.applyStyles=function(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder?this._opts.inputActiveOptionBorder.toString():"transparent")},t.prototype.enable=function(){this.domNode.tabIndex=0,this.domNode.setAttribute("aria-disabled",String(!1))},t.prototype.disable=function(){G.H(this.domNode),this.domNode.setAttribute("aria-disabled",String(!0))},t}(z.a),ee=(o(444),function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}()),te=n.a("caseDescription","Match Case"),oe=n.a("wordsDescription","Match Whole Word"),ne=n.a("regexDescription","Use Regular Expression"),ie=function(e){function t(t){return e.call(this,{actionClassName:"monaco-case-sensitive",title:te+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),re=function(e){function t(t){return e.call(this,{actionClassName:"monaco-whole-word",title:oe+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),se=function(e){function t(t){return e.call(this,{actionClassName:"monaco-regex",title:ne+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder})||this}return ee(t,e),t}(Q),ae=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),le=n.a("defaultLabel","input"),ue=function(e){function t(t,o,n){var i=e.call(this)||this;return i._onDidOptionChange=i._register(new A.a),i.onDidOptionChange=i._onDidOptionChange.event,i._onKeyDown=i._register(new A.a),i.onKeyDown=i._onKeyDown.event,i._onMouseDown=i._register(new A.a),i.onMouseDown=i._onMouseDown.event,i._onInput=i._register(new A.a),i._onKeyUp=i._register(new A.a),i._onCaseSensitiveKeyDown=i._register(new A.a),i.onCaseSensitiveKeyDown=i._onCaseSensitiveKeyDown.event,i._onRegexKeyDown=i._register(new A.a),i._lastHighlightFindOptions=0,i.contextViewProvider=o,i.width=n.width||100,i.placeholder=n.placeholder||"",i.validation=n.validation,i.label=n.label||le,i.inputActiveOptionBorder=n.inputActiveOptionBorder,i.inputBackground=n.inputBackground,i.inputForeground=n.inputForeground,i.inputBorder=n.inputBorder,i.inputValidationInfoBorder=n.inputValidationInfoBorder,i.inputValidationInfoBackground=n.inputValidationInfoBackground,i.inputValidationWarningBorder=n.inputValidationWarningBorder,i.inputValidationWarningBackground=n.inputValidationWarningBackground,i.inputValidationErrorBorder=n.inputValidationErrorBorder,i.inputValidationErrorBackground=n.inputValidationErrorBackground,i.regex=null,i.wholeWords=null,i.caseSensitive=null,i.domNode=null,i.inputBox=null,i.buildDomNode(n.appendCaseSensitiveLabel||"",n.appendWholeWordsLabel||"",n.appendRegexLabel||"",n.history),Boolean(t)&&t.appendChild(i.domNode),i.onkeydown(i.inputBox.inputElement,(function(e){return i._onKeyDown.fire(e)})),i.onkeyup(i.inputBox.inputElement,(function(e){return i._onKeyUp.fire(e)})),i.oninput(i.inputBox.inputElement,(function(e){return i._onInput.fire()})),i.onmousedown(i.inputBox.inputElement,(function(e){return i._onMouseDown.fire(e)})),i}return ae(t,e),t.prototype.enable=function(){G.G(this.domNode,"disabled"),this.inputBox.enable(),this.regex.enable(),this.wholeWords.enable(),this.caseSensitive.enable()},t.prototype.disable=function(){G.f(this.domNode,"disabled"),this.inputBox.disable(),this.regex.disable(),this.wholeWords.disable(),this.caseSensitive.disable()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},t.prototype.getValue=function(){return this.inputBox.value},t.prototype.setValue=function(e){this.inputBox.value!==e&&(this.inputBox.value=e)},t.prototype.style=function(e){this.inputActiveOptionBorder=e.inputActiveOptionBorder,this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.domNode){var e={inputActiveOptionBorder:this.inputActiveOptionBorder};this.regex.style(e),this.wholeWords.style(e),this.caseSensitive.style(e);var t={inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder};this.inputBox.style(t)}},t.prototype.select=function(){this.inputBox.select()},t.prototype.focus=function(){this.inputBox.focus()},t.prototype.getCaseSensitive=function(){return this.caseSensitive.checked},t.prototype.setCaseSensitive=function(e){this.caseSensitive.checked=e,this.setInputWidth()},t.prototype.getWholeWords=function(){return this.wholeWords.checked},t.prototype.setWholeWords=function(e){this.wholeWords.checked=e,this.setInputWidth()},t.prototype.getRegex=function(){return this.regex.checked},t.prototype.setRegex=function(e){this.regex.checked=e,this.setInputWidth(),this.validate()},t.prototype.focusOnCaseSensitive=function(){this.caseSensitive.focus()},t.prototype.highlightFindOptions=function(){G.G(this.domNode,"highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,G.f(this.domNode,"highlight-"+this._lastHighlightFindOptions)},t.prototype.setInputWidth=function(){var e=this.width-this.caseSensitive.width()-this.wholeWords.width()-this.regex.width();this.inputBox.width=e},t.prototype.buildDomNode=function(e,t,o,n){var i=this;this.domNode=document.createElement("div"),this.domNode.style.width=this.width+"px",G.f(this.domNode,"monaco-findInput"),this.inputBox=this._register(new X.a(this.domNode,this.contextViewProvider,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation||null},inputBackground:this.inputBackground,inputForeground:this.inputForeground,inputBorder:this.inputBorder,inputValidationInfoBackground:this.inputValidationInfoBackground,inputValidationInfoBorder:this.inputValidationInfoBorder,inputValidationWarningBackground:this.inputValidationWarningBackground,inputValidationWarningBorder:this.inputValidationWarningBorder,inputValidationErrorBackground:this.inputValidationErrorBackground,inputValidationErrorBorder:this.inputValidationErrorBorder,history:n})),this.regex=this._register(new se({appendTitle:o,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.regex.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this._register(this.regex.onKeyDown((function(e){i._onRegexKeyDown.fire(e)}))),this.wholeWords=this._register(new re({appendTitle:t,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.wholeWords.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this.caseSensitive=this._register(new ie({appendTitle:e,isChecked:!1,inputActiveOptionBorder:this.inputActiveOptionBorder})),this._register(this.caseSensitive.onChange((function(e){i._onDidOptionChange.fire(e),e||i.inputBox.focus(),i.setInputWidth(),i.validate()}))),this._register(this.caseSensitive.onKeyDown((function(e){i._onCaseSensitiveKeyDown.fire(e)})));var r=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(function(e){if(e.equals(15)||e.equals(17)||e.equals(9)){var t=r.indexOf(document.activeElement);if(t>=0){var o=void 0;e.equals(17)?o=(t+1)%r.length:e.equals(15)&&(o=0===t?r.length-1:t-1),e.equals(9)?r[t].blur():o>=0&&r[o].focus(),G.c.stop(e,!0)}}})),this.setInputWidth();var s=document.createElement("div");s.className="controls",s.appendChild(this.caseSensitive.domNode),s.appendChild(this.wholeWords.domNode),s.appendChild(this.regex.domNode),this.domNode.appendChild(s)},t.prototype.validate=function(){this.inputBox.validate()},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t}(z.a);function ce(e,t){return e.getContext(document.activeElement).getValue(t)}var he=o(84),de=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ge=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},pe=function(e,t){return function(o,n){t(o,n,e)}},fe="historyNavigationWidget",me="historyNavigationEnabled";function _e(e,t){var o=function(e,t){return e.createScoped(t.target)}(e,t);return function(e,t,o){new r.f(o,t).bindTo(e)}(o,t,fe),{scopedContextKeyService:o,historyNavigationEnablement:new r.f(me,!0).bindTo(o)}}var ye=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._register(_e(i,{target:r.element,historyNavigator:r}).scopedContextKeyService),r}return de(t,e),t=ge([pe(3,r.e)],t)}(X.a),ve=function(e){function t(t,o,n,i){var r=e.call(this,t,o,n)||this;return r._register(_e(i,{target:r.inputBox.element,historyNavigator:r.inputBox}).scopedContextKeyService),r}return de(t,e),t=ge([pe(3,r.e)],t)}(ue);he.a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:r.d.and(new r.b(fe),new r.c(me,!0)),primary:16,secondary:[528],handler:function(e,t){ce(e.get(r.e),fe).historyNavigator.showPreviousValue()}}),he.a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:new r.a([new r.b(fe),new r.c(me,!0)]),primary:18,secondary:[530],handler:function(e,t){ce(e.get(r.e),fe).historyNavigator.showNextValue()}});var be=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ee=n.a("label.find","Find"),Ce=n.a("placeholder.find","Find"),Se=n.a("label.previousMatchButton","Previous match"),Te=n.a("label.nextMatchButton","Next match"),we=n.a("label.toggleSelectionFind","Find in selection"),ke=n.a("label.closeButton","Close"),Oe=n.a("label.replace","Replace"),Re=n.a("placeholder.replace","Replace"),Ne=n.a("label.replaceButton","Replace"),Le=n.a("label.replaceAllButton","Replace All"),Ie=n.a("label.toggleReplaceButton","Toggle Replace mode"),De=n.a("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",19999),Ae=n.a("label.matchesLocation","{0} of {1}"),Pe=n.a("label.noResults","No Results"),Me=69,xe=17+(Me+3+1)+92+2,Be=34,Fe=function(e){this.afterLineNumber=e,this.heightInPx=Be,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"},He=function(e){function t(t,o,n,i,r,s,a){var u=e.call(this)||this;return u._codeEditor=t,u._controller=o,u._state=n,u._contextViewProvider=i,u._keybindingService=r,u._contextKeyService=s,u._isVisible=!1,u._isReplaceVisible=!1,u._updateHistoryDelayer=new l.a(500),u._register(u._state.onFindReplaceStateChange((function(e){return u._onStateChanged(e)}))),u._buildDomNode(),u._updateButtons(),u._tryUpdateWidgetWidth(),u._register(u._codeEditor.onDidChangeConfiguration((function(e){e.readOnly&&(u._codeEditor.getConfiguration().readOnly&&u._state.change({isReplaceRevealed:!1},!1),u._updateButtons()),e.layoutInfo&&u._tryUpdateWidgetWidth()}))),u._register(u._codeEditor.onDidChangeCursorSelection((function(){u._isVisible&&u._updateToggleSelectionFindButton()}))),u._register(u._codeEditor.onDidFocusEditorWidget((function(){if(u._isVisible){var e=u._controller.getGlobalBufferTerm();e&&e!==u._state.searchString&&(u._state.change({searchString:e},!0),u._findInput.select())}}))),u._findInputFocused=w.bindTo(s),u._findFocusTracker=u._register(G.O(u._findInput.inputBox.inputElement)),u._register(u._findFocusTracker.onDidFocus((function(){u._findInputFocused.set(!0),u._updateSearchScope()}))),u._register(u._findFocusTracker.onDidBlur((function(){u._findInputFocused.set(!1)}))),u._replaceInputFocused=k.bindTo(s),u._replaceFocusTracker=u._register(G.O(u._replaceInputBox.inputElement)),u._register(u._replaceFocusTracker.onDidFocus((function(){u._replaceInputFocused.set(!0),u._updateSearchScope()}))),u._register(u._replaceFocusTracker.onDidBlur((function(){u._replaceInputFocused.set(!1)}))),u._codeEditor.addOverlayWidget(u),u._viewZone=new Fe(0),u._applyTheme(a.getTheme()),u._register(a.onThemeChange(u._applyTheme.bind(u))),u._register(u._codeEditor.onDidChangeModel((function(e){u._isVisible&&void 0!==u._viewZoneId&&u._codeEditor.changeViewZones((function(e){e.removeZone(u._viewZoneId),u._viewZoneId=void 0}))}))),u._register(u._codeEditor.onDidScrollChange((function(e){e.scrollTopChanged?u._layoutViewZone():setTimeout((function(){u._layoutViewZone()}),0)}))),u}return be(t,e),t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return this._isVisible?{preference:Y.c.TOP_RIGHT_CORNER}:null},t.prototype._onStateChanged=function(e){if(e.searchString&&(this._findInput.setValue(this._state.searchString),this._updateButtons()),e.replaceString&&(this._replaceInputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal(!0):this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getConfiguration().readOnly||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInputBox.width=this._findInput.inputBox.width,this._updateButtons()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){var t=this._state.searchString.length>0&&0===this._state.matchesCount;G.N(this._domNode,"no-results",t),this._updateMatchesCount()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory()},t.prototype._delayedUpdateHistory=function(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))},t.prototype._updateHistory=function(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInputBox.addToHistory()},t.prototype._updateMatchesCount=function(){var e;if(this._matchesCount.style.minWidth=Me+"px",this._state.matchesCount>=19999?this._matchesCount.title=De:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){var t=String(this._state.matchesCount);this._state.matchesCount>=19999&&(t+="+");var o=String(this._state.matchesPosition);"0"===o&&(o="?"),e=s.format(Ae,o,t)}else e=Pe;this._matchesCount.appendChild(document.createTextNode(e)),Me=Math.max(Me,this._matchesCount.clientWidth)},t.prototype._updateToggleSelectionFindButton=function(){var e=this._codeEditor.getSelection(),t=!!e&&(e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn),o=this._toggleSelectionFind.checked;this._toggleSelectionFind.setEnabled(this._isVisible&&(o||t))},t.prototype._updateButtons=function(){this._findInput.setEnabled(this._isVisible),this._replaceInputBox.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);var e=this._state.searchString.length>0;this._prevBtn.setEnabled(this._isVisible&&e),this._nextBtn.setEnabled(this._isVisible&&e),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),G.N(this._domNode,"replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);var t=!this._codeEditor.getConfiguration().readOnly;this._toggleReplaceBtn.setEnabled(this._isVisible&&t)},t.prototype._reveal=function(e){var t=this;if(!this._isVisible){this._isVisible=!0;var o=this._codeEditor.getSelection();!!o&&(o.startLineNumber!==o.endLineNumber||o.startColumn!==o.endColumn)&&this._codeEditor.getConfiguration().contribInfo.find.autoFindInSelection?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._tryUpdateWidgetWidth(),this._updateButtons(),setTimeout((function(){G.f(t._domNode,"visible"),t._domNode.setAttribute("aria-hidden","false")}),0),this._codeEditor.layoutOverlayWidget(this);var n=!0;if(this._codeEditor.getConfiguration().contribInfo.find.seedSearchStringFromSelection&&o){var i=G.u(this._codeEditor.getDomNode()),r=this._codeEditor.getScrolledVisiblePosition(o.getStartPosition()),s=i.left+r.left;if(r.top<this._viewZone.heightInPx){o.endLineNumber>o.startLineNumber&&(n=!1);var a=G.w(this._domNode).left;s>a&&(n=!1);var l=this._codeEditor.getScrolledVisiblePosition(o.getEndPosition());i.left+l.left>a&&(n=!1)}}this._showViewZone(n)}},t.prototype._hide=function(e){var t=this;this._isVisible&&(this._isVisible=!1,this._updateButtons(),G.G(this._domNode,"visible"),this._domNode.setAttribute("aria-hidden","true"),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._codeEditor.changeViewZones((function(e){void 0!==t._viewZoneId&&(e.removeZone(t._viewZoneId),t._viewZoneId=void 0,t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()-t._viewZone.heightInPx))})))},t.prototype._layoutViewZone=function(){var e=this;this._isVisible&&void 0===this._viewZoneId&&this._codeEditor.changeViewZones((function(t){e._state.isReplaceRevealed?e._viewZone.heightInPx=64:e._viewZone.heightInPx=Be,e._viewZoneId=t.addZone(e._viewZone),e._codeEditor.setScrollTop(e._codeEditor.getScrollTop()+e._viewZone.heightInPx)}))},t.prototype._showViewZone=function(e){var t=this;void 0===e&&(e=!0),this._isVisible&&this._codeEditor.changeViewZones((function(o){var n=Be;void 0!==t._viewZoneId?(t._state.isReplaceRevealed?(t._viewZone.heightInPx=64,n=64-Be):(t._viewZone.heightInPx=Be,n=Be-64),o.removeZone(t._viewZoneId)):t._viewZone.heightInPx=Be,t._viewZoneId=o.addZone(t._viewZone),e&&t._codeEditor.setScrollTop(t._codeEditor.getScrollTop()+n)}))},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.J),inputBackground:e.getColor(m.K),inputForeground:e.getColor(m.M),inputBorder:e.getColor(m.L),inputValidationInfoBackground:e.getColor(m.P),inputValidationInfoBorder:e.getColor(m.Q),inputValidationWarningBackground:e.getColor(m.R),inputValidationWarningBorder:e.getColor(m.S),inputValidationErrorBackground:e.getColor(m.N),inputValidationErrorBorder:e.getColor(m.O)};this._findInput.style(t),this._replaceInputBox.style(t)},t.prototype._tryUpdateWidgetWidth=function(){if(this._isVisible){var e=this._codeEditor.getConfiguration().layoutInfo.width,t=this._codeEditor.getConfiguration().layoutInfo.minimapWidth,o=!1,n=!1,i=!1;if(this._resized)if(G.y(this._domNode)>411)return this._domNode.style.maxWidth=e-28-t-15+"px",void(this._replaceInputBox.inputElement.style.width=G.y(this._findInput.inputBox.inputElement)+"px");if(439+t>=e&&(n=!0),439+t-Me>=e&&(i=!0),439+t-Me>=e+50&&(o=!0),G.N(this._domNode,"collapsed-find-widget",o),G.N(this._domNode,"narrow-find-widget",i),G.N(this._domNode,"reduced-find-widget",n),i||o||(this._domNode.style.maxWidth=e-28-t-15+"px"),this._resized){var r=G.y(this._findInput.inputBox.inputElement);r>0&&(this._replaceInputBox.inputElement.style.width=r+"px")}}},t.prototype.focusFindInput=function(){this._findInput.select(),this._findInput.focus()},t.prototype.focusReplaceInput=function(){this._replaceInputBox.select(),this._replaceInputBox.focus()},t.prototype.highlightFindOptions=function(){this._findInput.highlightFindOptions()},t.prototype._updateSearchScope=function(){if(this._toggleSelectionFind.checked){var e=this._codeEditor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1));var t=this._state.currentMatch;e.startLineNumber!==e.endLineNumber&&(p.a.equalsRange(e,t)||this._state.change({searchScope:e},!0))}},t.prototype._onFindInputMouseDown=function(e){e.middleButton&&e.stopPropagation()},t.prototype._onFindInputKeyDown=function(e){return e.equals(3)?(this._codeEditor.getAction(I.NextMatchFindAction).run().done(null,W.e),void e.preventDefault()):e.equals(1027)?(this._codeEditor.getAction(I.PreviousMatchFindAction).run().done(null,W.e),void e.preventDefault()):e.equals(2)?(this._isReplaceVisible?this._replaceInputBox.focus():this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype._onReplaceInputKeyDown=function(e){return e.equals(3)?(this._controller.replace(),void e.preventDefault()):e.equals(2051)?(this._controller.replaceAll(),void e.preventDefault()):e.equals(2)?(this._findInput.focusOnCaseSensitive(),void e.preventDefault()):e.equals(1026)?(this._findInput.focus(),void e.preventDefault()):e.equals(2066)?(this._codeEditor.focus(),void e.preventDefault()):void 0},t.prototype.getHorizontalSashTop=function(e){return 0},t.prototype.getHorizontalSashLeft=function(e){return 0},t.prototype.getHorizontalSashWidth=function(e){return 500},t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype._buildFindPart=function(){var e=this;this._findInput=this._register(new ve(null,this._contextViewProvider,{width:221,label:Ee,placeholder:Ce,appendCaseSensitiveLabel:this._keybindingLabelFor(I.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(I.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(I.ToggleRegexCommand),validation:function(t){if(0===t.length)return null;if(!e._findInput.getRegex())return null;try{return new RegExp(t),null}catch(e){return{content:e.message}}}},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((function(t){return e._onFindInputKeyDown(t)}))),this._register(this._findInput.inputBox.onDidChange((function(){e._state.change({searchString:e._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((function(){e._state.change({isRegex:e._findInput.getRegex(),wholeWord:e._findInput.getWholeWords(),matchCase:e._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((function(t){t.equals(1026)&&e._isReplaceVisible&&(e._replaceInputBox.focus(),t.preventDefault())}))),j.c&&this._register(this._findInput.onMouseDown((function(t){return e._onFindInputMouseDown(t)}))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new Ve({label:Se+this._keybindingLabelFor(I.PreviousMatchFindAction),className:"previous",onTrigger:function(){e._codeEditor.getAction(I.PreviousMatchFindAction).run().done(null,W.e)}})),this._nextBtn=this._register(new Ve({label:Te+this._keybindingLabelFor(I.NextMatchFindAction),className:"next",onTrigger:function(){e._codeEditor.getAction(I.NextMatchFindAction).run().done(null,W.e)}}));var t=document.createElement("div");return t.className="find-part",t.appendChild(this._findInput.domNode),t.appendChild(this._matchesCount),t.appendChild(this._prevBtn.domNode),t.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Ue({parent:t,title:we+this._keybindingLabelFor(I.ToggleSearchScopeCommand),onChange:function(){if(e._toggleSelectionFind.checked){var t=e._codeEditor.getSelection();1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,1)),t.isEmpty()||e._state.change({searchScope:t},!0)}else e._state.change({searchScope:null},!0)}})),this._closeBtn=this._register(new Ve({label:ke+this._keybindingLabelFor(I.CloseFindWidgetCommand),className:"close-fw",onTrigger:function(){e._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:function(t){t.equals(2)&&e._isReplaceVisible&&(e._replaceBtn.isEnabled()?e._replaceBtn.focus():e._codeEditor.focus(),t.preventDefault())}})),t.appendChild(this._closeBtn.domNode),t},t.prototype._buildReplacePart=function(){var e=this,t=document.createElement("div");t.className="replace-input",t.style.width="221px",this._replaceInputBox=this._register(new ye(t,null,{ariaLabel:Oe,placeholder:Re,history:[]},this._contextKeyService)),this._register(G.j(this._replaceInputBox.inputElement,"keydown",(function(t){return e._onReplaceInputKeyDown(t)}))),this._register(G.j(this._replaceInputBox.inputElement,"input",(function(t){e._state.change({replaceString:e._replaceInputBox.value},!1)}))),this._replaceBtn=this._register(new Ve({label:Ne+this._keybindingLabelFor(I.ReplaceOneAction),className:"replace",onTrigger:function(){e._controller.replace()},onKeyDown:function(t){t.equals(1026)&&(e._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new Ve({label:Le+this._keybindingLabelFor(I.ReplaceAllAction),className:"replace-all",onTrigger:function(){e._controller.replaceAll()}}));var o=document.createElement("div");return o.className="replace-part",o.appendChild(t),o.appendChild(this._replaceBtn.domNode),o.appendChild(this._replaceAllBtn.domNode),o},t.prototype._buildDomNode=function(){var e=this,t=this._buildFindPart(),o=this._buildReplacePart();this._toggleReplaceBtn=this._register(new Ve({label:Ie,className:"toggle left",onTrigger:function(){e._state.change({isReplaceRevealed:!e._isReplaceVisible},!1),e._isReplaceVisible&&(e._replaceInputBox.width=e._findInput.inputBox.width),e._showViewZone()}})),this._toggleReplaceBtn.toggleClass("expand",this._isReplaceVisible),this._toggleReplaceBtn.toggleClass("collapse",!this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.style.width="411px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(o),this._buildSash()},t.prototype._buildSash=function(){var e=this;this._resizeSash=new K.b(this._domNode,this,{orientation:K.a.VERTICAL}),this._resized=!1;var t=411;this._register(this._resizeSash.onDidStart((function(o){t=G.y(e._domNode)}))),this._register(this._resizeSash.onDidChange((function(o){e._resized=!0;var n=t+o.startX-o.currentX;if(!(n<411)){var i=n-xe;n>(parseFloat(G.r(e._domNode).maxWidth)||0)||(e._domNode.style.width=n+"px",e._isReplaceVisible&&(e._replaceInputBox.width=i))}})))},t.ID="editor.contrib.findWidget",t}(z.a),Ue=function(e){function t(o){var n=e.call(this)||this;return n._opts=o,n._domNode=document.createElement("div"),n._domNode.className="monaco-checkbox",n._domNode.title=n._opts.title,n._domNode.tabIndex=0,n._checkbox=document.createElement("input"),n._checkbox.type="checkbox",n._checkbox.className="checkbox",n._checkbox.id="checkbox-"+t._COUNTER++,n._checkbox.tabIndex=-1,n._label=document.createElement("label"),n._label.className="label",n._label.htmlFor=n._checkbox.id,n._label.tabIndex=-1,n._domNode.appendChild(n._checkbox),n._domNode.appendChild(n._label),n._opts.parent.appendChild(n._domNode),n.onchange(n._checkbox,(function(e){n._opts.onChange()})),n}return be(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"checked",{get:function(){return this._checkbox.checked},set:function(e){this._checkbox.checked=e},enumerable:!0,configurable:!0}),t.prototype.enable=function(){this._checkbox.removeAttribute("disabled")},t.prototype.disable=function(){this._checkbox.disabled=!0},t.prototype.setEnabled=function(e){e?(this.enable(),this.domNode.tabIndex=0):(this.disable(),this.domNode.tabIndex=-1)},t._COUNTER=0,t}(z.a),Ve=function(e){function t(t){var o=e.call(this)||this;return o._opts=t,o._domNode=document.createElement("div"),o._domNode.title=o._opts.label,o._domNode.tabIndex=0,o._domNode.className="button "+o._opts.className,o._domNode.setAttribute("role","button"),o._domNode.setAttribute("aria-label",o._opts.label),o.onclick(o._domNode,(function(e){o._opts.onTrigger(),e.preventDefault()})),o.onkeydown(o._domNode,(function(e){if(e.equals(10)||e.equals(3))return o._opts.onTrigger(),void e.preventDefault();o._opts.onKeyDown&&o._opts.onKeyDown(e)})),o}return be(t,e),Object.defineProperty(t.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),t.prototype.isEnabled=function(){return this._domNode.tabIndex>=0},t.prototype.focus=function(){this._domNode.focus()},t.prototype.setEnabled=function(e){G.N(this._domNode,"disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1},t.prototype.setExpanded=function(e){this._domNode.setAttribute("aria-expanded",String(!!e))},t.prototype.toggleClass=function(e,t){G.N(this._domNode,e,t)},t}(z.a);Object(_.e)((function(e,t){var o=function(e,o){o&&t.addRule(".monaco-editor "+e+" { background-color: "+o+"; }")};o(".findMatch",e.getColor(m.q)),o(".currentFindMatch",e.getColor(m.o)),o(".findScope",e.getColor(m.s)),o(".find-widget",e.getColor(m.D));var n=e.getColor(m.rb);n&&t.addRule(".monaco-editor .find-widget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(m.r);i&&t.addRule(".monaco-editor .findMatch { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+i+"; box-sizing: border-box; }");var r=e.getColor(m.p);r&&t.addRule(".monaco-editor .currentFindMatch { border: 2px solid "+r+"; padding: 1px; box-sizing: border-box; }");var s=e.getColor(m.t);s&&t.addRule(".monaco-editor .findScope { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+s+"; }");var a=e.getColor(m.e);a&&t.addRule(".monaco-editor .find-widget { border: 2px solid "+a+"; }");var l=e.getColor(m.G);l&&t.addRule(".monaco-editor .find-widget.no-results .matchesCount { color: "+l+"; }");var u=e.getColor(m.F);if(u)t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+u+"; width: 3px !important; margin-left: -4px;}");else{var c=e.getColor(m.E);c&&t.addRule(".monaco-editor .find-widget .monaco-sash { background-color: "+c+"; width: 3px !important; margin-left: -4px;}")}}));var We=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),je=function(e){function t(t,o,n,i){var r=e.call(this)||this;r._hideSoon=r._register(new l.c((function(){return r._hide()}),2e3)),r._isVisible=!1,r._editor=t,r._state=o,r._keybindingService=n,r._domNode=document.createElement("div"),r._domNode.className="findOptionsWidget",r._domNode.style.display="none",r._domNode.style.top="10px",r._domNode.setAttribute("role","presentation"),r._domNode.setAttribute("aria-hidden","true");var s=i.getTheme().getColor(m.J);return r.caseSensitive=r._register(new ie({appendTitle:r._keybindingLabelFor(I.ToggleCaseSensitiveCommand),isChecked:r._state.matchCase,inputActiveOptionBorder:s})),r._domNode.appendChild(r.caseSensitive.domNode),r._register(r.caseSensitive.onChange((function(){r._state.change({matchCase:r.caseSensitive.checked},!1)}))),r.wholeWords=r._register(new re({appendTitle:r._keybindingLabelFor(I.ToggleWholeWordCommand),isChecked:r._state.wholeWord,inputActiveOptionBorder:s})),r._domNode.appendChild(r.wholeWords.domNode),r._register(r.wholeWords.onChange((function(){r._state.change({wholeWord:r.wholeWords.checked},!1)}))),r.regex=r._register(new se({appendTitle:r._keybindingLabelFor(I.ToggleRegexCommand),isChecked:r._state.isRegex,inputActiveOptionBorder:s})),r._domNode.appendChild(r.regex.domNode),r._register(r.regex.onChange((function(){r._state.change({isRegex:r.regex.checked},!1)}))),r._editor.addOverlayWidget(r),r._register(r._state.onFindReplaceStateChange((function(e){var t=!1;e.isRegex&&(r.regex.checked=r._state.isRegex,t=!0),e.wholeWord&&(r.wholeWords.checked=r._state.wholeWord,t=!0),e.matchCase&&(r.caseSensitive.checked=r._state.matchCase,t=!0),!r._state.isRevealed&&t&&r._revealTemporarily()}))),r._register(G.h(r._domNode,(function(e){return r._onMouseOut()}))),r._register(G.g(r._domNode,"mouseover",(function(e){return r._onMouseOver()}))),r._applyTheme(i.getTheme()),r._register(i.onThemeChange(r._applyTheme.bind(r))),r}return We(t,e),t.prototype._keybindingLabelFor=function(e){var t=this._keybindingService.lookupKeybinding(e);return t?" ("+t.getLabel()+")":""},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return{preference:Y.c.TOP_RIGHT_CORNER}},t.prototype.highlightFindOptions=function(){this._revealTemporarily()},t.prototype._revealTemporarily=function(){this._show(),this._hideSoon.schedule()},t.prototype._onMouseOut=function(){this._hideSoon.schedule()},t.prototype._onMouseOver=function(){this._hideSoon.cancel()},t.prototype._show=function(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")},t.prototype._hide=function(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")},t.prototype._applyTheme=function(e){var t={inputActiveOptionBorder:e.getColor(m.J)};this.caseSensitive.style(t),this.wholeWords.style(t),this.regex.style(t)},t.ID="editor.contrib.findOptionsWidget",t}(z.a);Object(_.e)((function(e,t){var o=e.getColor(m.D);o&&t.addRule(".monaco-editor .findOptionsWidget { background-color: "+o+"; }");var n=e.getColor(m.rb);n&&t.addRule(".monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(m.e);i&&t.addRule(".monaco-editor .findOptionsWidget { border: 2px solid "+i+"; }")}));var Ge=o(22),ze=o(38);o.d(t,"getSelectionSearchString",(function(){return qe})),o.d(t,"CommonFindController",(function(){return $e})),o.d(t,"FindController",(function(){return Je})),o.d(t,"StartFindAction",(function(){return Ze})),o.d(t,"StartFindWithSelectionAction",(function(){return Qe})),o.d(t,"MatchFindAction",(function(){return et})),o.d(t,"NextMatchFindAction",(function(){return tt})),o.d(t,"PreviousMatchFindAction",(function(){return ot})),o.d(t,"SelectionMatchFindAction",(function(){return nt})),o.d(t,"NextSelectionMatchFindAction",(function(){return it})),o.d(t,"PreviousSelectionMatchFindAction",(function(){return rt})),o.d(t,"StartFindReplaceAction",(function(){return st}));var Ke=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Ye=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Xe=function(e,t){return function(o,n){t(o,n,e)}};function qe(e){var t=e.getSelection();if(t.startLineNumber===t.endLineNumber){if(!t.isEmpty())return e.getModel().getValueInRange(t);var o=e.getModel().getWordAtPosition(t.getStartPosition());if(o)return o.word}return null}var $e=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r._editor=t,r._findWidgetVisible=T.bindTo(o),r._storageService=n,r._clipboardService=i,r._updateHistoryDelayer=new l.a(500),r._state=r._register(new x),r.loadQueryState(),r._register(r._state.onFindReplaceStateChange((function(e){return r._onStateChanged(e)}))),r._model=null,r._register(r._editor.onDidChangeModel((function(){var e=r._editor.getModel()&&r._state.isRevealed;r.disposeModel(),r._state.change({searchScope:null,matchCase:r._storageService.getBoolean("editor.matchCase",F.c.WORKSPACE,!1),wholeWord:r._storageService.getBoolean("editor.wholeWord",F.c.WORKSPACE,!1),isRegex:r._storageService.getBoolean("editor.isRegex",F.c.WORKSPACE,!1)},!1),e&&r._start({forceRevealReplace:!1,seedSearchStringFromSelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1})}))),r}return Ke(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this.disposeModel(),e.prototype.dispose.call(this)},t.prototype.disposeModel=function(){this._model&&(this._model.dispose(),this._model=null)},t.prototype.getId=function(){return t.ID},t.prototype._onStateChanged=function(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)},t.prototype.saveQueryState=function(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,F.c.WORKSPACE),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,F.c.WORKSPACE),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,F.c.WORKSPACE)},t.prototype.loadQueryState=function(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",F.c.WORKSPACE,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",F.c.WORKSPACE,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",F.c.WORKSPACE,this._state.isRegex)},!1)},t.prototype.getState=function(){return this._state},t.prototype.closeFindWidget=function(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()},t.prototype.toggleCaseSensitive=function(){this._state.change({matchCase:!this._state.matchCase},!1)},t.prototype.toggleWholeWords=function(){this._state.change({wholeWord:!this._state.wholeWord},!1)},t.prototype.toggleRegex=function(){this._state.change({isRegex:!this._state.isRegex},!1)},t.prototype.toggleSearchScope=function(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else{var e=this._editor.getSelection();1===e.endColumn&&e.endLineNumber>e.startLineNumber&&(e=e.setEndPosition(e.endLineNumber-1,1)),e.isEmpty()||this._state.change({searchScope:e},!0)}},t.prototype.setSearchString=function(e){this._state.isRegex&&(e=s.escapeRegExpCharacters(e)),this._state.change({searchString:e},!1)},t.prototype.highlightFindOptions=function(){},t.prototype._start=function(e){if(this.disposeModel(),this._editor.getModel()){var t,o={isRevealed:!0};if(e.seedSearchStringFromSelection)(t=qe(this._editor))&&(this._state.isRegex?o.searchString=s.escapeRegExpCharacters(t):o.searchString=t);if(!o.searchString&&e.seedSearchStringFromGlobalClipboard)(t=this.getGlobalBufferTerm())&&(o.searchString=t);e.forceRevealReplace?o.isReplaceRevealed=!0:this._findWidgetVisible.get()||(o.isReplaceRevealed=!1),this._state.change(o,!1),this._model||(this._model=new D(this._editor,this._state))}},t.prototype.start=function(e){this._start(e)},t.prototype.moveToNextMatch=function(){return!!this._model&&(this._model.moveToNextMatch(),!0)},t.prototype.moveToPrevMatch=function(){return!!this._model&&(this._model.moveToPrevMatch(),!0)},t.prototype.replace=function(){return!!this._model&&(this._model.replace(),!0)},t.prototype.replaceAll=function(){return!!this._model&&(this._model.replaceAll(),!0)},t.prototype.selectAllMatches=function(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)},t.prototype.getGlobalBufferTerm=function(){return this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""},t.prototype.setGlobalBufferTerm=function(e){this._editor.getConfiguration().contribInfo.find.globalFindClipboard&&this._clipboardService&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)},t.ID="editor.contrib.findController",t=Ye([Xe(1,r.e),Xe(2,F.a),Xe(3,H.a)],t)}(i.a),Je=function(e){function t(t,o,n,i,r,s,a){var l=e.call(this,t,n,s,a)||this;return l._contextViewService=o,l._contextKeyService=n,l._keybindingService=i,l._themeService=r,l}return Ke(t,e),t.prototype._start=function(t){this._widget||this._createFindWidget(),e.prototype._start.call(this,t),2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput()},t.prototype.highlightFindOptions=function(){this._widget||this._createFindWidget(),this._state.isRevealed?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()},t.prototype._createFindWidget=function(){this._widget=this._register(new He(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService)),this._findOptionsWidget=this._register(new je(this._editor,this._state,this._keybindingService,this._themeService))},t=Ye([Xe(1,U.b),Xe(2,r.e),Xe(3,V.a),Xe(4,_.c),Xe(5,F.a),Xe(6,Object(Ge.d)(H.a))],t)}($e),Ze=function(e){function t(){return e.call(this,{id:I.StartFindAction,label:n.a("startFindAction","Find"),alias:"Find",precondition:null,kbOpts:{kbExpr:null,primary:2084,weight:100},menubarOpts:{menuId:ze.b.MenubarEditMenu,group:"3_find",title:n.a({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}})||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&o.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.globalFindClipboard,shouldFocus:1,shouldAnimate:!0})},t}(a.b),Qe=function(e){function t(){return e.call(this,{id:I.StartFindWithSelection,label:n.a("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:null,kbOpts:{kbExpr:null,primary:null,mac:{primary:2083},weight:100}})||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:!0,seedSearchStringFromGlobalClipboard:!1,shouldFocus:1,shouldAnimate:!0}),o.setGlobalBufferTerm(o.getState().searchString))},t}(a.b),et=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);o&&!this._run(o)&&(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===o.getState().searchString.length&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0}),this._run(o))},t}(a.b),tt=function(e){function t(){return e.call(this,{id:I.NextMatchFindAction,label:n.a("findNextMatchAction","Find Next"),alias:"Find Next",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(et),ot=function(e){function t(){return e.call(this,{id:I.PreviousMatchFindAction,label:n.a("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(et),nt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Ke(t,e),t.prototype.run=function(e,t){var o=$e.get(t);if(o){var n=qe(t);n&&o.setSearchString(n),this._run(o)||(o.start({forceRevealReplace:!1,seedSearchStringFromSelection:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0}),this._run(o))}},t}(a.b),it=function(e){function t(){return e.call(this,{id:I.NextSelectionMatchFindAction,label:n.a("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:2109,weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToNextMatch()},t}(nt),rt=function(e){function t(){return e.call(this,{id:I.PreviousSelectionMatchFindAction,label:n.a("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:null,kbOpts:{kbExpr:B.a.focus,primary:3133,weight:100}})||this}return Ke(t,e),t.prototype._run=function(e){return e.moveToPrevMatch()},t}(nt),st=function(e){function t(){return e.call(this,{id:I.StartFindReplaceAction,label:n.a("startReplace","Replace"),alias:"Replace",precondition:null,kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menubarOpts:{menuId:ze.b.MenubarEditMenu,group:"3_find",title:n.a({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}})||this}return Ke(t,e),t.prototype.run=function(e,t){if(!t.getConfiguration().readOnly){var o=$e.get(t),n=t.getSelection(),i=!n.isEmpty()&&n.startLineNumber===n.endLineNumber&&t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,r=o.getState().searchString||i?2:1;o&&o.start({forceRevealReplace:!0,seedSearchStringFromSelection:i,seedSearchStringFromGlobalClipboard:t.getConfiguration().contribInfo.find.seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0})}},t}(a.b);Object(a.h)(Je),Object(a.f)(Ze),Object(a.f)(Qe),Object(a.f)(tt),Object(a.f)(ot),Object(a.f)(it),Object(a.f)(rt),Object(a.f)(st);var at=a.c.bindToContribution($e.get);Object(a.g)(new at({id:I.CloseFindWidgetCommand,precondition:T,handler:function(e){return e.closeFindWidget()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:9,secondary:[1033]}})),Object(a.g)(new at({id:I.ToggleCaseSensitiveCommand,precondition:null,handler:function(e){return e.toggleCaseSensitive()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:O.primary,mac:O.mac,win:O.win,linux:O.linux}})),Object(a.g)(new at({id:I.ToggleWholeWordCommand,precondition:null,handler:function(e){return e.toggleWholeWords()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:R.primary,mac:R.mac,win:R.win,linux:R.linux}})),Object(a.g)(new at({id:I.ToggleRegexCommand,precondition:null,handler:function(e){return e.toggleRegex()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:N.primary,mac:N.mac,win:N.win,linux:N.linux}})),Object(a.g)(new at({id:I.ToggleSearchScopeCommand,precondition:null,handler:function(e){return e.toggleSearchScope()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:L.primary,mac:L.mac,win:L.win,linux:L.linux}})),Object(a.g)(new at({id:I.ReplaceOneAction,precondition:T,handler:function(e){return e.replace()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:3094}})),Object(a.g)(new at({id:I.ReplaceAllAction,precondition:T,handler:function(e){return e.replaceAll()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:2563}})),Object(a.g)(new at({id:I.SelectAllMatchesAction,precondition:T,handler:function(e){return e.selectAllMatches()},kbOpts:{weight:105,kbExpr:B.a.focus,primary:515}}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(432);var n,i=o(0),r=o(17),s=o(6),a=o(58),l=o(2),u=o(3),c=o(16),h=o(12),d=o(19),g=o(7),p=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),f=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},m=function(e,t){return function(o,n){t(o,n,e)}},_=function(e){function t(o,n){var i=e.call(this)||this;return i._messageListeners=[],i._editor=o,i._visible=t.MESSAGE_VISIBLE.bindTo(n),i._register(i._editor.onDidAttemptReadOnlyEdit((function(){return i._onDidAttemptReadOnlyEdit()}))),i}return p(t,e),t.get=function(e){return e.getContribution(t._id)},t.prototype.getId=function(){return t._id},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._visible.reset()},t.prototype.showMessage=function(e,t){var o,n=this;Object(a.a)(e),this._visible.set(!0),Object(s.d)(this._messageWidget),this._messageListeners=Object(s.d)(this._messageListeners),this._messageWidget=new v(this._editor,t,e),this._messageListeners.push(this._editor.onDidBlurEditorText((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidChangeCursorPosition((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidDispose((function(){return n.closeMessage()}))),this._messageListeners.push(this._editor.onDidChangeModel((function(){return n.closeMessage()}))),this._messageListeners.push(Object(r.l)((function(){return n.closeMessage()}),3e3)),this._messageListeners.push(this._editor.onMouseMove((function(e){e.target.position&&(o?o.containsPosition(e.target.position)||n.closeMessage():o=new l.a(t.lineNumber-3,1,e.target.position.lineNumber+3,1))})))},t.prototype.closeMessage=function(){this._visible.reset(),this._messageListeners=Object(s.d)(this._messageListeners),this._messageListeners.push(v.fadeOut(this._messageWidget))},t.prototype._onDidAttemptReadOnlyEdit=function(){this.showMessage(i.a("editor.readonly","Cannot edit in read-only editor"),this._editor.getPosition())},t._id="editor.contrib.messageController",t.MESSAGE_VISIBLE=new h.f("messageVisible",!1),t=f([m(1,h.e)],t)}(s.a),y=u.c.bindToContribution(_.get);Object(u.g)(new y({id:"leaveEditorMessage",precondition:_.MESSAGE_VISIBLE,handler:function(e){return e.closeMessage()},kbOpts:{weight:130,primary:9}}));var v=function(){function e(e,t,o){var n=t.lineNumber,i=t.column;this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(n,n,0),this._position={lineNumber:n,column:i-1},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage");var r=document.createElement("div");r.classList.add("message"),r.textContent=o,this._domNode.appendChild(r);var s=document.createElement("div");s.classList.add("anchor"),this._domNode.appendChild(s),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}return e.fadeOut=function(e){var t,o=function(){e.dispose(),clearTimeout(t),e.getDomNode().removeEventListener("animationend",o)};return t=setTimeout(o,110),e.getDomNode().addEventListener("animationend",o),e.getDomNode().classList.add("fadeOut"),{dispose:o}},e.prototype.dispose=function(){this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"messageoverlay"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{position:this._position,preference:[c.a.ABOVE]}},e}();Object(u.h)(_),Object(d.e)((function(e,t){var o=e.getColor(g.Q);if(o){var n=e.type===d.b?2:1;t.addRule(".monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: "+o+"; }"),t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { border: "+n+"px solid "+o+"; }")}var i=e.getColor(g.P);i&&t.addRule(".monaco-editor .monaco-editor-overlaymessage .message { background-color: "+i+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u})),o.d(t,"b",(function(){return c}));var n,i,r=o(33),s=o(40),a=o(22),l=o(79),u=Object(a.c)("contextService");!function(e){e.isIWorkspace=function(e){return e&&"object"==typeof e&&"string"==typeof e.id&&"string"==typeof e.name&&Array.isArray(e.folders)}}(n||(n={})),function(e){e.isIWorkspaceFolder=function(e){return e&&"object"==typeof e&&r.a.isUri(e.uri)&&"string"==typeof e.name&&"function"==typeof e.toResource}}(i||(i={}));!function(){function e(e,t,o,n,i){void 0===t&&(t=""),void 0===o&&(o=[]),void 0===n&&(n=null),this._id=e,this._name=t,this._configuration=n,this._ctime=i,this._foldersMap=l.c.forPaths(),this.folders=o}Object.defineProperty(e.prototype,"folders",{get:function(){return this._folders},set:function(e){this._folders=e,this.updateFoldersMap()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"id",{get:function(){return this._id},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){this._name=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"configuration",{get:function(){return this._configuration},set:function(e){this._configuration=e},enumerable:!0,configurable:!0}),e.prototype.getFolder=function(e){return e?this._foldersMap.findSubstr(e.toString()):null},e.prototype.updateFoldersMap=function(){this._foldersMap=l.c.forPaths();for(var e=0,t=this.folders;e<t.length;e++){var o=t[e];this._foldersMap.set(o.uri.toString(),o)}},e.prototype.toJSON=function(){return{id:this.id,folders:this.folders,name:this.name,configuration:this.configuration}}}();var c=function(){function e(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}return e.prototype.toResource=function(e){return this.uri.with({path:s.f(this.uri.path,e)})},e.prototype.toJSON=function(){return{uri:this.uri,name:this.name,index:this.index}},e}()},function(e,t,o){"use strict";var n,i=o(1),r=o(155),s=o(8),a=o(71);(function(e){var t={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:f,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:f,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:f,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function o(e){this.tokens=[],this.tokens.links={},this.options=e||v.defaults,this.rules=t.normal,this.options.pedantic?this.rules=t.pedantic:this.options.gfm&&(this.options.tables?this.rules=t.tables:this.rules=t.gfm)}t._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,t._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,t.def=h(t.def).replace("label",t._label).replace("title",t._title).getRegex(),t.bullet=/(?:[*+-]|\d+\.)/,t.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,t.item=h(t.item,"gm").replace(/bull/g,t.bullet).getRegex(),t.list=h(t.list).replace(/bull/g,t.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+t.def.source+")").getRegex(),t._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",t._comment=/<!--(?!-?>)[\s\S]*?-->/,t.html=h(t.html,"i").replace("comment",t._comment).replace("tag",t._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t.paragraph=h(t.paragraph).replace("hr",t.hr).replace("heading",t.heading).replace("lheading",t.lheading).replace("tag",t._tag).getRegex(),t.blockquote=h(t.blockquote).replace("paragraph",t.paragraph).getRegex(),t.normal=m({},t),t.gfm=m({},t.normal,{fences:/^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\n? *\1 *(?:\n+|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),t.gfm.paragraph=h(t.paragraph).replace("(?!","(?!"+t.gfm.fences.source.replace("\\1","\\2")+"|"+t.list.source.replace("\\1","\\3")+"|").getRegex(),t.tables=m({},t.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),t.pedantic=m({},t.normal,{html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",t._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),o.rules=t,o.lex=function(e,t){return new o(t).lex(e)},o.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},o.prototype.token=function(e,o){var n,i,r,s,a,l,u,c,h,d,g,p,f;for(e=e.replace(/^ +$/gm,"");e;)if((r=this.rules.newline.exec(e))&&(e=e.substring(r[0].length),r[0].length>1&&this.tokens.push({type:"space"})),r=this.rules.code.exec(e))e=e.substring(r[0].length),r=r[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?r:y(r,"\n")});else if(r=this.rules.fences.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"code",lang:r[2],text:r[3]||""});else if(r=this.rules.heading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:r[1].length,text:r[2]});else if(o&&(r=this.rules.nptable.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c<l.align.length;c++)/^ *-+: *$/.test(l.align[c])?l.align[c]="right":/^ *:-+: *$/.test(l.align[c])?l.align[c]="center":/^ *:-+ *$/.test(l.align[c])?l.align[c]="left":l.align[c]=null;for(c=0;c<l.cells.length;c++)l.cells[c]=_(l.cells[c],l.header.length);this.tokens.push(l)}else if(r=this.rules.hr.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"hr"});else if(r=this.rules.blockquote.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"blockquote_start"}),r=r[0].replace(/^ *> ?/gm,""),this.token(r,o),this.tokens.push({type:"blockquote_end"});else if(r=this.rules.list.exec(e)){for(e=e.substring(r[0].length),g=(s=r[2]).length>1,this.tokens.push({type:"list_start",ordered:g,start:g?+s:""}),n=!1,d=(r=r[0].match(this.rules.item)).length,c=0;c<d;c++)u=(l=r[c]).length,~(l=l.replace(/^ *([*+-]|\d+\.) +/,"")).indexOf("\n ")&&(u-=l.length,l=this.options.pedantic?l.replace(/^ {1,4}/gm,""):l.replace(new RegExp("^ {1,"+u+"}","gm"),"")),this.options.smartLists&&c!==d-1&&(s===(a=t.bullet.exec(r[c+1])[0])||s.length>1&&a.length>1||(e=r.slice(c+1).join("\n")+e,c=d-1)),i=n||/\n\n(?!\s*$)/.test(l),c!==d-1&&(n="\n"===l.charAt(l.length-1),i||(i=n)),f=void 0,(p=/^\[[ xX]\] /.test(l))&&(f=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),this.tokens.push({type:i?"loose_item_start":"list_item_start",task:p,checked:f}),this.token(l,!1),this.tokens.push({type:"list_item_end"});this.tokens.push({type:"list_end"})}else if(r=this.rules.html.exec(e))e=e.substring(r[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===r[1]||"script"===r[1]||"style"===r[1]),text:r[0]});else if(o&&(r=this.rules.def.exec(e)))e=e.substring(r[0].length),r[3]&&(r[3]=r[3].substring(1,r[3].length-1)),h=r[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[h]||(this.tokens.links[h]={href:r[2],title:r[3]});else if(o&&(r=this.rules.table.exec(e))&&(l={type:"table",header:_(r[1].replace(/^ *| *\| *$/g,"")),align:r[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:r[3]?r[3].replace(/(?: *\| *)?\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(r[0].length),c=0;c<l.align.length;c++)/^ *-+: *$/.test(l.align[c])?l.align[c]="right":/^ *:-+: *$/.test(l.align[c])?l.align[c]="center":/^ *:-+ *$/.test(l.align[c])?l.align[c]="left":l.align[c]=null;for(c=0;c<l.cells.length;c++)l.cells[c]=_(l.cells[c].replace(/^ *\| *| *\| *$/g,""),l.header.length);this.tokens.push(l)}else if(r=this.rules.lheading.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"heading",depth:"="===r[2]?1:2,text:r[1]});else if(o&&(r=this.rules.paragraph.exec(e)))e=e.substring(r[0].length),this.tokens.push({type:"paragraph",text:"\n"===r[1].charAt(r[1].length-1)?r[1].slice(0,-1):r[1]});else if(r=this.rules.text.exec(e))e=e.substring(r[0].length),this.tokens.push({type:"text",text:r[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var i={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:f,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)|^__([^\s])__(?!_)|^\*\*([^\s])\*\*(?!\*)/,em:/^_([^\s][\s\S]*?[^\s_])_(?!_)|^_([^\s_][\s\S]*?[^\s])_(?!_)|^\*([^\s][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*][\s\S]*?[^\s])\*(?!\*)|^_([^\s_])_(?!_)|^\*([^\s*])\*(?!\*)/,code:/^(`+)\s*([\s\S]*?[^`]?)\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:f,text:/^[\s\S]+?(?=[\\<!\[`*]|\b_| {2,}\n|$)/};function r(e,t){if(this.options=t||v.defaults,this.links=e,this.rules=i.normal,this.renderer=this.options.renderer||new s,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=i.pedantic:this.options.gfm&&(this.options.breaks?this.rules=i.breaks:this.rules=i.gfm)}function s(e){this.options=e||v.defaults}function a(){}function l(e){this.tokens=[],this.token=null,this.options=e||v.defaults,this.options.renderer=this.options.renderer||new s,this.renderer=this.options.renderer,this.renderer.options=this.options}function u(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function c(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}function h(e,t){return e=e.source||e,t=t||"",{replace:function(t,o){return o=(o=o.source||o).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,o),this},getRegex:function(){return new RegExp(e,t)}}}function d(e,t){return g[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?g[" "+e]=e+"/":g[" "+e]=y(e,"/",!0)),e=g[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}i._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,i._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,i._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,i.autolink=h(i.autolink).replace("scheme",i._scheme).replace("email",i._email).getRegex(),i._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,i.tag=h(i.tag).replace("comment",t._comment).replace("attribute",i._attribute).getRegex(),i._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,i._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f()\\]*\)|[^\s\x00-\x1f()\\])*?)/,i._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,i.link=h(i.link).replace("label",i._label).replace("href",i._href).replace("title",i._title).getRegex(),i.reflink=h(i.reflink).replace("label",i._label).getRegex(),i.normal=m({},i),i.pedantic=m({},i.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",i._label).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",i._label).getRegex()}),i.gfm=m({},i.normal,{escape:h(i.escape).replace("])","~|])").getRegex(),url:h(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("email",i._email).getRegex(),_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:h(i.text).replace("]|","~]|").replace("|","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|").getRegex()}),i.breaks=m({},i.gfm,{br:h(i.br).replace("{2,}","*").getRegex(),text:h(i.gfm.text).replace("{2,}","*").getRegex()}),r.rules=i,r.output=function(e,t,o){return new r(t,o).output(e)},r.prototype.output=function(e){for(var t,o,n,i,s,a="";e;)if(s=this.rules.escape.exec(e))e=e.substring(s[0].length),a+=s[1];else if(s=this.rules.autolink.exec(e))e=e.substring(s[0].length),n="@"===s[2]?"mailto:"+(o=u(this.mangle(s[1]))):o=u(s[1]),a+=this.renderer.link(n,null,o);else if(this.inLink||!(s=this.rules.url.exec(e))){if(s=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(s[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(s[0])&&(this.inLink=!1),e=e.substring(s[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0];else if(s=this.rules.link.exec(e))e=e.substring(s[0].length),this.inLink=!0,n=s[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n))?(n=t[1],i=t[3]):i="":i=s[3]?s[3].slice(1,-1):"",n=n.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(s,{href:r.escapes(n),title:r.escapes(i)}),this.inLink=!1;else if((s=this.rules.reflink.exec(e))||(s=this.rules.nolink.exec(e))){if(e=e.substring(s[0].length),t=(s[2]||s[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=s[0].charAt(0),e=s[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(s,t),this.inLink=!1}else if(s=this.rules.strong.exec(e))e=e.substring(s[0].length),a+=this.renderer.strong(this.output(s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.em.exec(e))e=e.substring(s[0].length),a+=this.renderer.em(this.output(s[6]||s[5]||s[4]||s[3]||s[2]||s[1]));else if(s=this.rules.code.exec(e))e=e.substring(s[0].length),a+=this.renderer.codespan(u(s[2].trim(),!0));else if(s=this.rules.br.exec(e))e=e.substring(s[0].length),a+=this.renderer.br();else if(s=this.rules.del.exec(e))e=e.substring(s[0].length),a+=this.renderer.del(this.output(s[1]));else if(s=this.rules.text.exec(e))e=e.substring(s[0].length),a+=this.renderer.text(u(this.smartypants(s[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else s[0]=this.rules._backpedal.exec(s[0])[0],e=e.substring(s[0].length),"@"===s[2]?n="mailto:"+(o=u(s[0])):(o=u(s[0]),n="www."===s[1]?"http://"+o:o),a+=this.renderer.link(n,null,o);return a},r.escapes=function(e){return e?e.replace(r.rules._escapes,"$1"):e},r.prototype.outputLink=function(e,t){var o=t.href,n=t.title?u(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(o,n,this.output(e[1])):this.renderer.image(o,n,u(e[1]))},r.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},r.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,o="",n=e.length,i=0;i<n;i++)t=e.charCodeAt(i),Math.random()>.5&&(t="x"+t.toString(16)),o+="&#"+t+";";return o},s.prototype.code=function(e,t,o){if(this.options.highlight){var n=this.options.highlight(e,t);null!=n&&n!==e&&(o=!0,e=n)}return t?'<pre><code class="'+this.options.langPrefix+u(t,!0)+'">'+(o?e:u(e,!0))+"</code></pre>\n":"<pre><code>"+(o?e:u(e,!0))+"</code></pre>"},s.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},s.prototype.html=function(e){return e},s.prototype.heading=function(e,t,o){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+o.toLowerCase().replace(/[^\w]+/g,"-")+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},s.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},s.prototype.list=function(e,t,o){var n=t?"ol":"ul";return"<"+n+(t&&1!==o?' start="'+o+'"':"")+">\n"+e+"</"+n+">\n"},s.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},s.prototype.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},s.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},s.prototype.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},s.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},s.prototype.tablecell=function(e,t){var o=t.header?"th":"td";return(t.align?"<"+o+' align="'+t.align+'">':"<"+o+">")+e+"</"+o+">\n"},s.prototype.strong=function(e){return"<strong>"+e+"</strong>"},s.prototype.em=function(e){return"<em>"+e+"</em>"},s.prototype.codespan=function(e){return"<code>"+e+"</code>"},s.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},s.prototype.del=function(e){return"<del>"+e+"</del>"},s.prototype.link=function(e,t,o){if(this.options.sanitize){try{var n=decodeURIComponent(c(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return o}if(0===n.indexOf("javascript:")||0===n.indexOf("vbscript:")||0===n.indexOf("data:"))return o}this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(e){return o}var i='<a href="'+u(e)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+o+"</a>"},s.prototype.image=function(e,t,o){this.options.baseUrl&&!p.test(e)&&(e=d(this.options.baseUrl,e));var n='<img src="'+e+'" alt="'+o+'"';return t&&(n+=' title="'+t+'"'),n+=this.options.xhtml?"/>":">"},s.prototype.text=function(e){return e},a.prototype.strong=a.prototype.em=a.prototype.codespan=a.prototype.del=a.prototype.text=function(e){return e},a.prototype.link=a.prototype.image=function(e,t,o){return""+o},a.prototype.br=function(){return""},l.parse=function(e,t){return new l(t).parse(e)},l.prototype.parse=function(e){this.inline=new r(e.links,this.options),this.inlineText=new r(e.links,m({},this.options,{renderer:new a})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},l.prototype.next=function(){return this.token=this.tokens.pop()},l.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},l.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},l.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,c(this.inlineText.output(this.token.text)));case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,o,n,i="",r="";for(o="",e=0;e<this.token.header.length;e++)o+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(i+=this.renderer.tablerow(o),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],o="",n=0;n<t.length;n++)o+=this.renderer.tablecell(this.inline.output(t[n]),{header:!1,align:this.token.align[n]});r+=this.renderer.tablerow(o)}return this.renderer.table(i,r);case"blockquote_start":for(r="";"blockquote_end"!==this.next().type;)r+=this.tok();return this.renderer.blockquote(r);case"list_start":r="";for(var s=this.token.ordered,a=this.token.start;"list_end"!==this.next().type;)r+=this.tok();return this.renderer.list(r,s,a);case"list_item_start":for(r="",this.token.task&&(r+=this.renderer.checkbox(this.token.checked));"list_item_end"!==this.next().type;)r+="text"===this.token.type?this.parseText():this.tok();return this.renderer.listitem(r);case"loose_item_start":for(r="";"list_item_end"!==this.next().type;)r+=this.tok();return this.renderer.listitem(r);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText())}};var g={},p=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function f(){}function m(e){for(var t,o,n=1;n<arguments.length;n++)for(o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}function _(e,t){var o=e.replace(/\|/g,(function(e,t,o){for(var n=!1,i=t;--i>=0&&"\\"===o[i];)n=!n;return n?"|":" |"})).split(/ \|/),n=0;if(o.length>t)o.splice(t);else for(;o.length<t;)o.push("");for(;n<o.length;n++)o[n]=o[n].trim().replace(/\\\|/g,"|");return o}function y(e,t,o){if(0===e.length)return"";for(var n=0;n<e.length;){var i=e.charAt(e.length-n-1);if(i!==t||o){if(i===t||!o)break;n++}else n++}return e.substr(0,e.length-n)}function v(e,t,n){if(null==e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if(n||"function"==typeof t){n||(n=t,t=null);var i,r,s=(t=m({},v.defaults,t||{})).highlight,a=0;try{i=o.lex(e,t)}catch(e){return n(e)}r=i.length;var c=function(e){if(e)return t.highlight=s,n(e);var o;try{o=l.parse(i,t)}catch(t){e=t}return t.highlight=s,e?n(e):n(null,o)};if(!s||s.length<3)return c();if(delete t.highlight,!r)return c();for(;a<i.length;a++)!function(e){"code"!==e.type?--r||c():s(e.text,e.lang,(function(t,o){return t?c(t):null==o||o===e.text?--r||c():(e.text=o,e.escaped=!0,void(--r||c()))}))}(i[a])}else try{return t&&(t=m({},v.defaults,t)),l.parse(o.lex(e,t),t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",(t||v.defaults).silent)return"<p>An error occurred:</p><pre>"+u(e.message+"",!0)+"</pre>";throw e}}f.exec=f,v.options=v.setOptions=function(e){return m(v.defaults,e),v},v.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new s,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},v.defaults=v.getDefaults(),v.Parser=l,v.parser=l.parse,v.Renderer=s,v.TextRenderer=a,v.Lexer=o,v.lexer=o.lex,v.InlineLexer=r,v.inlineLexer=r.output,v.parse=v,n=v}).call(void 0);var l=n;n.Parser,n.parser,n.Renderer,n.TextRenderer,n.Lexer,n.lexer,n.InlineLexer,n.inlineLexer,n.parse;function u(e){var t=e.inline?"span":"div",o=document.createElement(t);return e.className&&(o.className=e.className),o}function c(e,t){void 0===t&&(t={});var o=u(t);return o.textContent=e,o}function h(e,t){void 0===t&&(t={});var o=u(t);return function e(t,o,n){var r;if(2===o.type)r=document.createTextNode(o.content);else if(3===o.type)r=document.createElement("b");else if(4===o.type)r=document.createElement("i");else if(5===o.type&&n){var s=document.createElement("a");s.href="#",n.disposeables.push(i.j(s,"click",(function(e){n.callback(String(o.index),e)}))),r=s}else 7===o.type?r=document.createElement("br"):1===o.type&&(r=t);t!==r&&t.appendChild(r);Array.isArray(o.children)&&o.children.forEach((function(t){e(r,t,n)}))}(o,function(e){var t={type:1,children:[]},o=0,n=t,i=[],r=new g(e);for(;!r.eos();){var s=r.next(),a="\\"===s&&0!==p(r.peek());if(a&&(s=r.next()),a||0===p(s)||s!==r.peek())if("\n"===s)2===n.type&&(n=i.pop()),n.children.push({type:7});else if(2!==n.type){var l={type:2,content:s};n.children.push(l),i.push(n),n=l}else n.content+=s;else{r.advance(),2===n.type&&(n=i.pop());var u=p(s);if(n.type===u||5===n.type&&6===u)n=i.pop();else{var c={type:u,children:[]};5===u&&(c.index=o,o++),n.children.push(c),i.push(n),n=c}}}2===n.type&&(n=i.pop());i.length;return t}(e),t.actionHandler),o}function d(e,t){void 0===t&&(t={});var o,n=u(t),c=new Promise((function(e){return o=e})),h=new l.Renderer;h.image=function(e,t,o){var n=[];if(e){var i=e.split("|").map((function(e){return e.trim()}));e=i[0];var r=i[1];if(r){var s=/height=(\d+)/.exec(r),a=/width=(\d+)/.exec(r),l=s&&s[1],u=a&&a[1],c=isFinite(parseInt(u)),h=isFinite(parseInt(l));c&&n.push('width="'+u+'"'),h&&n.push('height="'+l+'"')}}var d=[];return e&&d.push('src="'+e+'"'),o&&d.push('alt="'+o+'"'),t&&d.push('title="'+t+'"'),n.length&&(d=d.concat(n)),"<img "+d.join(" ")+">"},h.link=function(t,o,n){return t===n&&(n=Object(a.d)(n)),o=Object(a.d)(o),!(t=Object(a.d)(t))||t.match(/^data:|javascript:/i)||t.match(/^command:/i)&&!e.isTrusted?n:'<a href="#" data-href="'+t+'" title="'+(o||t)+'">'+n+"</a>"},h.paragraph=function(e){return"<p>"+e+"</p>"},t.codeBlockRenderer&&(h.code=function(e,o){var i=t.codeBlockRenderer(o,e),a=r.b.nextId(),l=Promise.all([i,c]).then((function(e){var t=e[0],o=n.querySelector('div[data-code="'+a+'"]');o&&(o.innerHTML=t)})).catch((function(e){}));return t.codeBlockRenderCallback&&l.then(t.codeBlockRenderCallback),'<div class="code" data-code="'+a+'">'+Object(s.escape)(e)+"</div>"}),t.actionHandler&&t.actionHandler.disposeables.push(i.j(n,"click",(function(e){var o=e.target;if("A"===o.tagName||(o=o.parentElement)&&"A"===o.tagName){var n=o.dataset.href;n&&t.actionHandler.callback(n,e)}})));var d={sanitize:!0,renderer:h};return n.innerHTML=l(e.value,d),o(),n}o.d(t,"c",(function(){return c})),o.d(t,"a",(function(){return h})),o.d(t,"b",(function(){return d}));var g=function(){function e(e){this.source=e,this.index=0}return e.prototype.eos=function(){return this.index>=this.source.length},e.prototype.next=function(){var e=this.peek();return this.advance(),e},e.prototype.peek=function(){return this.source[this.index]},e.prototype.advance=function(){this.index++},e}();function p(e){switch(e){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;default:return 0}}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i})),o.d(t,"b",(function(){return r}));var n=function(){function e(e,t,o){this.from=0|e,this.to=0|t,this.colorId=0|o}return e.compare=function(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId},e}(),i=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.color=o,this._colorZone=null}return e.compare=function(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1},e.prototype.setColorZone=function(e){this._colorZone=e},e.prototype.getColorZones=function(){return this._colorZone},e}(),r=function(){function e(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}return e.prototype.getId2Color=function(){return this._id2Color},e.prototype.setZones=function(e){this._zones=e,this._zones.sort(i.compare)},e.prototype.setLineHeight=function(e){return this._lineHeight!==e&&(this._lineHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.setPixelRatio=function(e){this._pixelRatio=e,this._colorZonesInvalid=!0},e.prototype.getDOMWidth=function(){return this._domWidth},e.prototype.getCanvasWidth=function(){return this._domWidth*this._pixelRatio},e.prototype.setDOMWidth=function(e){return this._domWidth!==e&&(this._domWidth=e,this._colorZonesInvalid=!0,!0)},e.prototype.getDOMHeight=function(){return this._domHeight},e.prototype.getCanvasHeight=function(){return this._domHeight*this._pixelRatio},e.prototype.setDOMHeight=function(e){return this._domHeight!==e&&(this._domHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.getOuterHeight=function(){return this._outerHeight},e.prototype.setOuterHeight=function(e){return this._outerHeight!==e&&(this._outerHeight=e,this._colorZonesInvalid=!0,!0)},e.prototype.resolveColorZones=function(){for(var e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),o=Math.floor(this.getCanvasHeight()),i=o/Math.floor(this._outerHeight),r=Math.floor(4*this._pixelRatio/2),s=[],a=0,l=this._zones.length;a<l;a++){var u=this._zones[a];if(!e){var c=u.getColorZones();if(c){s.push(c);continue}}var h=Math.floor(i*this._getVerticalOffsetForLine(u.startLineNumber)),d=Math.floor(i*(this._getVerticalOffsetForLine(u.endLineNumber)+t)),g=Math.floor((h+d)/2),p=d-g;p<r&&(p=r),g-p<0&&(g=p),g+p>o&&(g=o-p);var f=u.color,m=this._color2Id[f];m||(m=++this._lastAssignedId,this._color2Id[f]=m,this._id2Color[m]=f);var _=new n(g-p,g+p,m);u.setColorZone(_),s.push(_)}return this._colorZonesInvalid=!1,s.sort(n.compare),s},e}()},function(e,t,o){"use strict";for(var n=o(64),i=o(127),r=o(182),s=o(100),a=new Array(256),l=0;l<256;l++)a[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;a[254]=a[254]=1;function u(){s.call(this,"utf-8 decode"),this.leftOver=null}function c(){s.call(this,"utf-8 encode")}t.utf8encode=function(e){return i.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,o,n,r,s,a=e.length,l=0;for(r=0;r<a;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(n=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(n-56320),r++),l+=o<128?1:o<2048?2:o<65536?3:4;for(t=i.uint8array?new Uint8Array(l):new Array(l),s=0,r=0;s<l;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(n=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(n-56320),r++),o<128?t[s++]=o:o<2048?(t[s++]=192|o>>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t}(e)},t.utf8decode=function(e){return i.nodebuffer?n.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,o,i,r,s=e.length,l=new Array(2*s);for(o=0,t=0;t<s;)if((i=e[t++])<128)l[o++]=i;else if((r=a[i])>4)l[o++]=65533,t+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&t<s;)i=i<<6|63&e[t++],r--;r>1?l[o++]=65533:i<65536?l[o++]=i:(i-=65536,l[o++]=55296|i>>10&1023,l[o++]=56320|1023&i)}return l.length!==o&&(l.subarray?l=l.subarray(0,o):l.length=o),n.applyFromCharCode(l)}(e=n.transformTo(i.uint8array?"uint8array":"array",e))},n.inherits(u,s),u.prototype.processChunk=function(e){var o=n.transformTo(i.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(i.uint8array){var r=o;(o=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),o.set(r,this.leftOver.length)}else o=this.leftOver.concat(o);this.leftOver=null}var s=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+a[e[o]]>t?o:t}(o),l=o;s!==o.length&&(i.uint8array?(l=o.subarray(0,s),this.leftOver=o.subarray(s,o.length)):(l=o.slice(0,s),this.leftOver=o.slice(s,o.length))),this.push({data:t.utf8decode(l),meta:e.meta})},u.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:t.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},t.Utf8DecodeWorker=u,n.inherits(c,s),c.prototype.processChunk=function(e){this.push({data:t.utf8encode(e.data),meta:e.meta})},t.Utf8EncodeWorker=c},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var o=function(){};o.prototype=t.prototype,e.prototype=new o,e.prototype.constructor=e}}},function(e,t,o){(function(e){var n=void 0!==e&&e||"undefined"!=typeof self&&self||window,i=Function.prototype.apply;function r(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new r(i.call(setTimeout,n,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,n,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(n,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},o(332),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(this,o(80))},function(e,t,o){"use strict";function n(e,t,o){var n=o?" !== ":" === ",i=o?" || ":" && ",r=o?"!":"",s=o?"":"!";switch(e){case"null":return t+n+"null";case"array":return r+"Array.isArray("+t+")";case"object":return"("+r+t+i+"typeof "+t+n+'"object"'+i+s+"Array.isArray("+t+"))";case"integer":return"(typeof "+t+n+'"number"'+i+s+"("+t+" % 1)"+i+t+n+t+")";default:return"typeof "+t+n+'"'+e+'"'}}e.exports={copy:function(e,t){for(var o in t=t||{},e)t[o]=e[o];return t},checkDataType:n,checkDataTypes:function(e,t){switch(e.length){case 1:return n(e[0],t,!0);default:var o="",i=r(e);for(var s in i.array&&i.object&&(o=i.null?"(":"(!"+t+" || ",o+="typeof "+t+' !== "object")',delete i.null,delete i.array,delete i.object),i.number&&delete i.integer,i)o+=(o?" && ":"")+n(s,t,!0);return o}},coerceToTypes:function(e,t){if(Array.isArray(t)){for(var o=[],n=0;n<t.length;n++){var r=t[n];i[r]?o[o.length]=r:"array"===e&&"array"===r&&(o[o.length]=r)}if(o.length)return o}else{if(i[t])return[t];if("array"===e&&"array"===t)return["array"]}},toHash:r,getProperty:l,escapeQuotes:u,equal:o(219),ucs2length:o(365),varOccurences:function(e,t){t+="[^0-9]";var o=e.match(new RegExp(t,"g"));return o?o.length:0},varReplace:function(e,t,o){return t+="([^0-9])",o=o.replace(/\$/g,"$$$$"),e.replace(new RegExp(t,"g"),o+"$1")},cleanUpCode:function(e){return e.replace(c,"").replace(h,"").replace(d,"if (!($1))")},finalCleanUpCode:function(e,t){var o=e.match(g);o&&2==o.length&&(e=t?e.replace(f,"").replace(y,v):e.replace(p,"").replace(m,_));return(o=e.match(b))&&3===o.length?e.replace(E,""):e},schemaHasRules:function(e,t){if("boolean"==typeof e)return!e;for(var o in e)if(t[o])return!0},schemaHasRulesExcept:function(e,t,o){if("boolean"==typeof e)return!e&&"not"!=o;for(var n in e)if(n!=o&&t[n])return!0},schemaUnknownRules:function(e,t){if("boolean"==typeof e)return;for(var o in e)if(!t[o])return o},toQuotedString:C,getPathExpr:function(e,t,o,n){return w(e,o?"'/' + "+t+(n?"":".replace(/~/g, '~0').replace(/\\//g, '~1')"):n?"'[' + "+t+" + ']'":"'[\\'' + "+t+" + '\\']'")},getPath:function(e,t,o){var n=C(o?"/"+k(t):l(t));return w(e,n)},getData:function(e,t,o){var n,i,r,s;if(""===e)return"rootData";if("/"==e[0]){if(!S.test(e))throw new Error("Invalid JSON-pointer: "+e);i=e,r="rootData"}else{if(!(s=e.match(T)))throw new Error("Invalid JSON-pointer: "+e);if(n=+s[1],"#"==(i=s[2])){if(n>=t)throw new Error("Cannot access property/index "+n+" levels up, current level is "+t);return o[t-n]}if(n>t)throw new Error("Cannot access data "+n+" levels up, current level is "+t);if(r="data"+(t-n||""),!i)return r}for(var a=r,u=i.split("/"),c=0;c<u.length;c++){var h=u[c];h&&(r+=l(O(h)),a+=" && "+r)}return a},unescapeFragment:function(e){return O(decodeURIComponent(e))},unescapeJsonPointer:O,escapeFragment:function(e){return encodeURIComponent(k(e))},escapeJsonPointer:k};var i=r(["string","number","integer","boolean","null"]);function r(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=!0;return t}var s=/^[a-z$_][a-z$_0-9]*$/i,a=/'|\\/g;function l(e){return"number"==typeof e?"["+e+"]":s.test(e)?"."+e:"['"+u(e)+"']"}function u(e){return e.replace(a,"\\$&").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\f/g,"\\f").replace(/\t/g,"\\t")}var c=/else\s*{\s*}/g,h=/if\s*\([^)]+\)\s*\{\s*\}(?!\s*else)/g,d=/if\s*\(([^)]+)\)\s*\{\s*\}\s*else(?!\s*if)/g;var g=/[^v.]errors/g,p=/var errors = 0;|var vErrors = null;|validate.errors = vErrors;/g,f=/var errors = 0;|var vErrors = null;/g,m="return errors === 0;",_="validate.errors = null; return true;",y=/if \(errors === 0\) return data;\s*else throw new ValidationError\(vErrors\);/,v="return data;",b=/[^A-Za-z_$]rootData[^A-Za-z0-9_$]/g,E=/if \(rootData === undefined\) rootData = data;/;function C(e){return"'"+u(e)+"'"}var S=/^\/(?:[^~]|~0|~1)*$/,T=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function w(e,t){return'""'==e?t:(e+" + "+t).replace(/' \+ '/g,"")}function k(e){return e.replace(/~/g,"~0").replace(/\//g,"~1")}function O(e){return e.replace(/~1/g,"/").replace(/~0/g,"~")}},function(e,t){},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),r=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e},a=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var l=o(109),u=o(101),c=o(522),h=o(523),d=o(138),g=o(524),p=o(152);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(101));var f,m,_=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e}();!function(e){e[e.Continue=1]="Continue",e[e.Shutdown=2]="Shutdown"}(f=t.ErrorAction||(t.ErrorAction={})),function(e){e[e.DoNotRestart=1]="DoNotRestart",e[e.Restart=2]="Restart"}(m=t.CloseAction||(t.CloseAction={}));var y,v,b,E=function(){function e(e){this.name=e,this.restarts=[]}return e.prototype.error=function(e,t,o){return o&&o<=3?f.Continue:f.Shutdown},e.prototype.closed=function(){return this.restarts.push(Date.now()),this.restarts.length<5?m.Restart:this.restarts[this.restarts.length-1]-this.restarts[0]<=18e4?(l.window.showErrorMessage("The "+this.name+" server crashed 5 times in the last 3 minutes. The server will not be restarted."),m.DoNotRestart):(this.restarts.shift(),m.Restart)},e}();!function(e){e[e.Info=1]="Info",e[e.Warn=2]="Warn",e[e.Error=3]="Error",e[e.Never=4]="Never"}(y=t.RevealOutputChannelOn||(t.RevealOutputChannelOn={})),function(e){e[e.Stopped=1]="Stopped",e[e.Running=2]="Running"}(v=t.State||(t.State={})),function(e){e[e.Initial=0]="Initial",e[e.Starting=1]="Starting",e[e.StartFailed=2]="StartFailed",e[e.Running=3]="Running",e[e.Stopping=4]="Stopping",e[e.Stopped=5]="Stopped"}(b||(b={}));var C,S=[u.SymbolKind.File,u.SymbolKind.Module,u.SymbolKind.Namespace,u.SymbolKind.Package,u.SymbolKind.Class,u.SymbolKind.Method,u.SymbolKind.Property,u.SymbolKind.Field,u.SymbolKind.Constructor,u.SymbolKind.Enum,u.SymbolKind.Interface,u.SymbolKind.Function,u.SymbolKind.Variable,u.SymbolKind.Constant,u.SymbolKind.String,u.SymbolKind.Number,u.SymbolKind.Boolean,u.SymbolKind.Array,u.SymbolKind.Object,u.SymbolKind.Key,u.SymbolKind.Null,u.SymbolKind.EnumMember,u.SymbolKind.Struct,u.SymbolKind.Event,u.SymbolKind.Operator,u.SymbolKind.TypeParameter],T=[u.CompletionItemKind.Text,u.CompletionItemKind.Method,u.CompletionItemKind.Function,u.CompletionItemKind.Constructor,u.CompletionItemKind.Field,u.CompletionItemKind.Variable,u.CompletionItemKind.Class,u.CompletionItemKind.Interface,u.CompletionItemKind.Module,u.CompletionItemKind.Property,u.CompletionItemKind.Unit,u.CompletionItemKind.Value,u.CompletionItemKind.Enum,u.CompletionItemKind.Keyword,u.CompletionItemKind.Snippet,u.CompletionItemKind.Color,u.CompletionItemKind.File,u.CompletionItemKind.Reference,u.CompletionItemKind.Folder,u.CompletionItemKind.EnumMember,u.CompletionItemKind.Constant,u.CompletionItemKind.Struct,u.CompletionItemKind.Event,u.CompletionItemKind.Operator,u.CompletionItemKind.TypeParameter];function w(e,t){return void 0===e[t]&&(e[t]={}),e[t]}!function(e){e.is=function(e){var t=e;return t&&d.func(t.register)&&d.func(t.unregister)&&d.func(t.dispose)&&void 0!==t.messages}}(C||(C={}));var k=function(){function e(e,t,o,n,i,r){this._client=e,this._event=t,this._type=o,this._middleware=n,this._createParams=i,this._selectorFilter=r,this._selectors=new Map}return e.textDocumentFilter=function(e,t){var o,n;try{for(var i=a(e),r=i.next();!r.done;r=i.next()){var s=r.value;if(l.languages.match(s,t))return!0}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return!1},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=this._event(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;this._selectorFilter&&!this._selectorFilter(this._selectors.values(),e)||(this._middleware?this._middleware(e,(function(e){return t._client.sendNotification(t._type,t._createParams(e))})):this._client.sendNotification(this._type,this._createParams(e)),this.notificationSent(e))},e.prototype.notificationSent=function(e){},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&this._listener.dispose()},e}(),O=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidOpenTextDocument,u.DidOpenTextDocumentNotification.type,t.clientOptions.middleware.didOpen,(function(e){return t.code2ProtocolConverter.asOpenTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidOpenTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.register=function(t,o){var n=this;if(e.prototype.register.call(this,t,o),o.registerOptions.documentSelector){var i=o.registerOptions.documentSelector;l.workspace.textDocuments.forEach((function(e){var t=e.uri.toString();if(!n._syncedDocuments.has(t)&&l.languages.match(i,e)){var o=n._client.clientOptions.middleware,r=function(e){n._client.sendNotification(n._type,n._createParams(e))};o.didOpen?o.didOpen(e,r):r(e),n._syncedDocuments.set(t,e)}}))}},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.set(t.uri.toString(),t)},t}(k),R=function(e){function t(t,o){var n=e.call(this,t,l.workspace.onDidCloseTextDocument,u.DidCloseTextDocumentNotification.type,t.clientOptions.middleware.didClose,(function(e){return t.code2ProtocolConverter.asCloseTextDocumentParams(e)}),k.textDocumentFilter)||this;return n._syncedDocuments=o,n}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidCloseTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.openClose&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t.prototype.notificationSent=function(t){e.prototype.notificationSent.call(this,t),this._syncedDocuments.delete(t.uri.toString())},t.prototype.unregister=function(t){var o=this,n=this._selectors.get(t);e.prototype.unregister.call(this,t);var i=this._selectors.values();this._syncedDocuments.forEach((function(e){if(l.languages.match(n,e)&&!o._selectorFilter(i,e)){var t=o._client.clientOptions.middleware,r=function(e){o._client.sendNotification(o._type,o._createParams(e))};o._syncedDocuments.delete(e.uri.toString()),t.didClose?t.didClose(e,r):r(e)}}))},t}(k),N=function(){function e(e){this._client=e,this._changeData=new Map,this._forcingDelivery=!1}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeTextDocumentNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").dynamicRegistration=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&void 0!==o.change&&o.change!==u.TextDocumentSyncKind.None&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{syncKind:o.change})})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onDidChangeTextDocument(this.callback,this)),this._changeData.set(t.id,{documentSelector:t.registerOptions.documentSelector,syncKind:t.registerOptions.syncKind}))},e.prototype.callback=function(e){var t,o,n=this;if(0!==e.contentChanges.length){var i=function(t){if(l.languages.match(t.documentSelector,e.document)){var o=r._client.clientOptions.middleware;if(t.syncKind===u.TextDocumentSyncKind.Incremental){var i=r._client.code2ProtocolConverter.asChangeTextDocumentParams(e);o.didChange?o.didChange(e,(function(){return n._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)})):r._client.sendNotification(u.DidChangeTextDocumentNotification.type,i)}else if(t.syncKind===u.TextDocumentSyncKind.Full){var s=function(e){n._changeDelayer?(n._changeDelayer.uri!==e.document.uri.toString()&&(n.forceDelivery(),n._changeDelayer.uri=e.document.uri.toString()),n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}))):(n._changeDelayer={uri:e.document.uri.toString(),delayer:new g.Delayer(200)},n._changeDelayer.delayer.trigger((function(){n._client.sendNotification(u.DidChangeTextDocumentNotification.type,n._client.code2ProtocolConverter.asChangeTextDocumentParams(e.document))}),-1))};o.didChange?o.didChange(e,s):s(e)}}},r=this;try{for(var s=a(this._changeData.values()),c=s.next();!c.done;c=s.next()){i(c.value)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}}},e.prototype.unregister=function(e){this._changeData.delete(e),0===this._changeData.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._changeDelayer=void 0,this._forcingDelivery=!1,this._changeData.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.forceDelivery=function(){if(!this._forcingDelivery&&this._changeDelayer)try{this._forcingDelivery=!0,this._changeDelayer.delayer.forceDelivery()}finally{this._forcingDelivery=!1}},e}(),L=function(e){function t(t){return e.call(this,t,l.workspace.onWillSaveTextDocument,u.WillSaveTextDocumentNotification.type,t.clientOptions.middleware.willSave,(function(e){return t.code2ProtocolConverter.asWillSaveTextDocumentParams(e)}),(function(e,t){return k.textDocumentFilter(e,t.document)}))||this}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.WillSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSave&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},t}(k),I=function(){function e(e){this._client=e,this._selectors=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.WillSaveTextDocumentWaitUntilRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").willSaveWaitUntil=!0},e.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.willSaveWaitUntil&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{documentSelector:t}})},e.prototype.register=function(e,t){t.registerOptions.documentSelector&&(this._listener||(this._listener=l.workspace.onWillSaveTextDocument(this.callback,this)),this._selectors.set(t.id,t.registerOptions.documentSelector))},e.prototype.callback=function(e){var t=this;if(k.textDocumentFilter(this._selectors.values(),e.document)){var o=this._client.clientOptions.middleware,n=function(e){return t._client.sendRequest(u.WillSaveTextDocumentWaitUntilRequest.type,t._client.code2ProtocolConverter.asWillSaveTextDocumentParams(e)).then((function(e){var o=t._client.protocol2CodeConverter.asTextEdits(e);return void 0===o?[]:o}))};e.waitUntil(o.willSaveWaitUntil?o.willSaveWaitUntil(e,n):n(e))}},e.prototype.unregister=function(e){this._selectors.delete(e),0===this._selectors.size&&this._listener&&(this._listener.dispose(),this._listener=void 0)},e.prototype.dispose=function(){this._selectors.clear(),this._listener&&(this._listener.dispose(),this._listener=void 0)},e}(),D=function(e){function t(t){var o=e.call(this,t,l.workspace.onDidSaveTextDocument,u.DidSaveTextDocumentNotification.type,t.clientOptions.middleware.didSave,(function(e){return t.code2ProtocolConverter.asSaveTextDocumentParams(e,o._includeText)}),k.textDocumentFilter)||this;return o}return i(t,e),Object.defineProperty(t.prototype,"messages",{get:function(){return u.DidSaveTextDocumentNotification.type},enumerable:!0,configurable:!0}),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"synchronization").didSave=!0},t.prototype.initialize=function(e,t){var o=e.resolvedTextDocumentSync;t&&o&&o.save&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},{includeText:!!o.save.includeText})})},t.prototype.register=function(t,o){this._includeText=!!o.registerOptions.includeText,e.prototype.register.call(this,t,o)},t}(k),A=function(){function e(e,t){this._client=e,this._notifyFileEvent=t,this._watchers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeWatchedFilesNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeWatchedFiles").dynamicRegistration=!0},e.prototype.initialize=function(e,t){},e.prototype.register=function(e,t){var o,n;if(Array.isArray(t.registerOptions.watchers)){var i=[];try{for(var r=a(t.registerOptions.watchers),s=r.next();!s.done;s=r.next()){var c=s.value;if(d.string(c.globPattern)){var h=!0,g=!0,p=!0;void 0!==c.kind&&null!==c.kind&&(h=0!=(c.kind&u.WatchKind.Create),g=0!=(c.kind&u.WatchKind.Change),p=0!=(c.kind&u.WatchKind.Delete));var f=l.workspace.createFileSystemWatcher(c.globPattern,!h,!g,!p);this.hookListeners(f,h,g,p),i.push(f)}}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(t.id,i)}},e.prototype.registerRaw=function(e,t){var o,n,i=[];try{for(var r=a(t),s=r.next();!s.done;s=r.next()){var l=s.value;this.hookListeners(l,!0,!0,!0,i)}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}this._watchers.set(e,i)},e.prototype.hookListeners=function(e,t,o,n,i){var r=this;t&&e.onDidCreate((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Created})}),null,i),o&&e.onDidChange((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Changed})}),null,i),n&&e.onDidDelete((function(e){return r._notifyFileEvent({uri:r._client.code2ProtocolConverter.asUri(e),type:u.FileChangeType.Deleted})}),null,i)},e.prototype.unregister=function(e){var t,o,n=this._watchers.get(e);if(n)try{for(var i=a(n),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},e.prototype.dispose=function(){this._watchers.forEach((function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){i.value.dispose()}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}})),this._watchers.clear()},e}(),P=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wrong feature. Requested "+e.method+" but reached feature "+this.messages.method);if(t.registerOptions.documentSelector){var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)}},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}();t.TextDocumentFeature=P;var M=function(){function e(e,t){this._client=e,this._message=t,this._providers=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._message},enumerable:!0,configurable:!0}),e.prototype.register=function(e,t){if(e.method!==this.messages.method)throw new Error("Register called on wron feature. Requested "+e.method+" but reached feature "+this.messages.method);var o=this.registerLanguageProvider(t.registerOptions);o&&this._providers.set(t.id,o)},e.prototype.unregister=function(e){var t=this._providers.get(e);t&&t.dispose()},e.prototype.dispose=function(){this._providers.forEach((function(e){e.dispose()})),this._providers.clear()},e}(),x=function(e){function t(t){return e.call(this,t,u.CompletionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"completion");t.dynamicRegistration=!0,t.contextSupport=!0,t.completionItem={snippetSupport:!0,commitCharactersSupport:!0,documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText],deprecatedSupport:!0,preselectSupport:!0},t.completionItemKind={valueSet:T}},t.prototype.initialize=function(e,t){e.completionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.completionProvider)})},t.prototype.registerLanguageProvider=function(e){var t=e.triggerCharacters||[],o=this._client,n=function(e,t,n,i){return o.sendRequest(u.CompletionRequest.type,o.code2ProtocolConverter.asCompletionParams(e,t,n),i).then(o.protocol2CodeConverter.asCompletionResult,(function(e){return o.logFailedRequest(u.CompletionRequest.type,e),Promise.resolve([])}))},i=function(e,t){return o.sendRequest(u.CompletionResolveRequest.type,o.code2ProtocolConverter.asCompletionItem(e),t).then(o.protocol2CodeConverter.asCompletionItem,(function(t){return o.logFailedRequest(u.CompletionResolveRequest.type,t),Promise.resolve(e)}))},r=this._client.clientOptions.middleware;return l.languages.registerCompletionItemProvider.apply(l.languages,s([e.documentSelector,{provideCompletionItems:function(e,t,o,i){return r.provideCompletionItem?r.provideCompletionItem(e,t,i,o,n):n(e,t,i,o)},resolveCompletionItem:e.resolveProvider?function(e,t){return r.resolveCompletionItem?r.resolveCompletionItem(e,t,i):i(e,t)}:void 0}],t))},t}(P),B=function(e){function t(t){return e.call(this,t,u.HoverRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"hover");t.dynamicRegistration=!0,t.contentFormat=[u.MarkupKind.Markdown,u.MarkupKind.PlainText]},t.prototype.initialize=function(e,t){e.hoverProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.HoverRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asHover,(function(e){return t.logFailedRequest(u.HoverRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerHoverProvider(e.documentSelector,{provideHover:function(e,t,i){return n.provideHover?n.provideHover(e,t,i,o):o(e,t,i)}})},t}(P),F=function(e){function t(t){return e.call(this,t,u.SignatureHelpRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"signatureHelp");t.dynamicRegistration=!0,t.signatureInformation={documentationFormat:[u.MarkupKind.Markdown,u.MarkupKind.PlainText]}},t.prototype.initialize=function(e,t){e.signatureHelpProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.signatureHelpProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.SignatureHelpRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asSignatureHelp,(function(e){return t.logFailedRequest(u.SignatureHelpRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware,i=e.triggerCharacters||[];return l.languages.registerSignatureHelpProvider.apply(l.languages,s([e.documentSelector,{provideSignatureHelp:function(e,t,i){return n.provideSignatureHelp?n.provideSignatureHelp(e,t,i,o):o(e,t,i)}}],i))},t}(P),H=function(e){function t(t){return e.call(this,t,u.DefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"definition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.definitionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(u.DefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return l.languages.registerDefinitionProvider(e.documentSelector,{provideDefinition:function(e,t,i){return n.provideDefinition?n.provideDefinition(e,t,i,o):o(e,t,i)}})},t}(P),U=function(e){function t(t){return e.call(this,t,u.ReferencesRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"references").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.referencesProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){return t.sendRequest(u.ReferencesRequest.type,t.code2ProtocolConverter.asReferenceParams(e,o,n),i).then(t.protocol2CodeConverter.asReferences,(function(e){return t.logFailedRequest(u.ReferencesRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerReferenceProvider(e.documentSelector,{provideReferences:function(e,t,i,r){return n.provideReferences?n.provideReferences(e,t,i,r,o):o(e,t,i,r)}})},t}(P),V=function(e){function t(t){return e.call(this,t,u.DocumentHighlightRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentHighlight").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentHighlightProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(u.DocumentHighlightRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDocumentHighlights,(function(e){return t.logFailedRequest(u.DocumentHighlightRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentHighlightProvider(e.documentSelector,{provideDocumentHighlights:function(e,t,i){return n.provideDocumentHighlights?n.provideDocumentHighlights(e,t,i,o):o(e,t,i)}})},t}(P),W=function(e){function t(t){return e.call(this,t,u.DocumentSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"documentSymbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S},t.hierarchicalDocumentSymbolSupport=!0},t.prototype.initialize=function(e,t){e.documentSymbolProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentSymbolRequest.type,t.code2ProtocolConverter.asDocumentSymbolParams(e),o).then((function(e){if(null!==e){if(0===e.length)return[];var o=e[0];return u.DocumentSymbol.is(o)?t.protocol2CodeConverter.asDocumentSymbols(e):t.protocol2CodeConverter.asSymbolInformations(e)}}),(function(e){return t.logFailedRequest(u.DocumentSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentSymbolProvider(e.documentSelector,{provideDocumentSymbols:function(e,t){return n.provideDocumentSymbols?n.provideDocumentSymbols(e,t,o):o(e,t)}})},t}(P),j=function(e){function t(t){return e.call(this,t,u.WorkspaceSymbolRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"workspace"),"symbol");t.dynamicRegistration=!0,t.symbolKind={valueSet:S}},t.prototype.initialize=function(e){e.workspaceSymbolProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:void 0})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.WorkspaceSymbolRequest.type,{query:e},o).then(t.protocol2CodeConverter.asSymbolInformations,(function(e){return t.logFailedRequest(u.WorkspaceSymbolRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,t){return n.provideWorkspaceSymbols?n.provideWorkspaceSymbols(e,t,o):o(e,t)}})},t}(M),G=function(e){function t(t){return e.call(this,t,u.CodeActionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=w(w(e,"textDocument"),"codeAction");t.dynamicRegistration=!0,t.codeActionLiteralSupport={codeActionKind:{valueSet:["",u.CodeActionKind.QuickFix,u.CodeActionKind.Refactor,u.CodeActionKind.RefactorExtract,u.CodeActionKind.RefactorInline,u.CodeActionKind.RefactorRewrite,u.CodeActionKind.Source,u.CodeActionKind.SourceOrganizeImports]}}},t.prototype.initialize=function(e,t){e.codeActionProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),context:t.code2ProtocolConverter.asCodeActionContext(n)};return t.sendRequest(u.CodeActionRequest.type,r,i).then((function(e){var o,n;if(null!==e){var i=[];try{for(var r=a(e),s=r.next();!s.done;s=r.next()){var l=s.value;u.Command.is(l)?i.push(t.protocol2CodeConverter.asCommand(l)):i.push(t.protocol2CodeConverter.asCodeAction(l))}}catch(e){o={error:e}}finally{try{s&&!s.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}}),(function(e){return t.logFailedRequest(u.CodeActionRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerCodeActionsProvider(e.documentSelector,{provideCodeActions:function(e,t,i,r){return n.provideCodeActions?n.provideCodeActions(e,t,i,r,o):o(e,t,i,r)}})},t}(P),z=function(e){function t(t){return e.call(this,t,u.CodeLensRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"codeLens").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.codeLensProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.codeLensProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.CodeLensRequest.type,t.code2ProtocolConverter.asCodeLensParams(e),o).then(t.protocol2CodeConverter.asCodeLenses,(function(e){return t.logFailedRequest(u.CodeLensRequest.type,e),Promise.resolve([])}))},n=function(e,o){return t.sendRequest(u.CodeLensResolveRequest.type,t.code2ProtocolConverter.asCodeLens(e),o).then(t.protocol2CodeConverter.asCodeLens,(function(o){return t.logFailedRequest(u.CodeLensResolveRequest.type,o),e}))},i=t.clientOptions.middleware;return l.languages.registerCodeLensProvider(e.documentSelector,{provideCodeLenses:function(e,t){return i.provideCodeLenses?i.provideCodeLenses(e,t,o):o(e,t)},resolveCodeLens:e.resolveProvider?function(e,t){return i.resolveCodeLens?i.resolveCodeLens(e,t,n):n(e,t)}:void 0})},t}(P),K=function(e){function t(t){return e.call(this,t,u.DocumentFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"formatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){var i={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),options:t.code2ProtocolConverter.asFormattingOptions(o)};return t.sendRequest(u.DocumentFormattingRequest.type,i,n).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentFormattingEditProvider(e.documentSelector,{provideDocumentFormattingEdits:function(e,t,i){return n.provideDocumentFormattingEdits?n.provideDocumentFormattingEdits(e,t,i,o):o(e,t,i)}})},t}(P),Y=function(e){function t(t){return e.call(this,t,u.DocumentRangeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rangeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentRangeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),range:t.code2ProtocolConverter.asRange(o),options:t.code2ProtocolConverter.asFormattingOptions(n)};return t.sendRequest(u.DocumentRangeFormattingRequest.type,r,i).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentRangeFormattingRequest.type,e),Promise.resolve([])}))},n=t.clientOptions.middleware;return l.languages.registerDocumentRangeFormattingEditProvider(e.documentSelector,{provideDocumentRangeFormattingEdits:function(e,t,i,r){return n.provideDocumentRangeFormattingEdits?n.provideDocumentRangeFormattingEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),X=function(e){function t(t){return e.call(this,t,u.DocumentOnTypeFormattingRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"onTypeFormatting").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentOnTypeFormattingProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentOnTypeFormattingProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=e.moreTriggerCharacter||[],n=function(e,o,n,i,r){var s={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),ch:n,options:t.code2ProtocolConverter.asFormattingOptions(i)};return t.sendRequest(u.DocumentOnTypeFormattingRequest.type,s,r).then(t.protocol2CodeConverter.asTextEdits,(function(e){return t.logFailedRequest(u.DocumentOnTypeFormattingRequest.type,e),Promise.resolve([])}))},i=t.clientOptions.middleware;return l.languages.registerOnTypeFormattingEditProvider.apply(l.languages,s([e.documentSelector,{provideOnTypeFormattingEdits:function(e,t,o,r,s){return i.provideOnTypeFormattingEdits?i.provideOnTypeFormattingEdits(e,t,o,r,s,n):n(e,t,o,r,s)}},e.firstTriggerCharacter],o))},t}(P),q=function(e){function t(t){return e.call(this,t,u.RenameRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"rename").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.renameProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n,i){var r={textDocument:t.code2ProtocolConverter.asTextDocumentIdentifier(e),position:t.code2ProtocolConverter.asPosition(o),newName:n};return t.sendRequest(u.RenameRequest.type,r,i).then(t.protocol2CodeConverter.asWorkspaceEdit,(function(e){return t.logFailedRequest(u.RenameRequest.type,e),Promise.reject(new Error(e.message))}))},n=t.clientOptions.middleware;return l.languages.registerRenameProvider(e.documentSelector,{provideRenameEdits:function(e,t,i,r){return n.provideRenameEdits?n.provideRenameEdits(e,t,i,r,o):o(e,t,i,r)}})},t}(P),$=function(e){function t(t){return e.call(this,t,u.DocumentLinkRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){w(w(e,"textDocument"),"documentLink").dynamicRegistration=!0},t.prototype.initialize=function(e,t){e.documentLinkProvider&&t&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},{documentSelector:t},e.documentLinkProvider)})},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o){return t.sendRequest(u.DocumentLinkRequest.type,t.code2ProtocolConverter.asDocumentLinkParams(e),o).then(t.protocol2CodeConverter.asDocumentLinks,(function(e){t.logFailedRequest(u.DocumentLinkRequest.type,e),Promise.resolve(new Error(e.message))}))},n=function(e,o){return t.sendRequest(u.DocumentLinkResolveRequest.type,t.code2ProtocolConverter.asDocumentLink(e),o).then(t.protocol2CodeConverter.asDocumentLink,(function(e){t.logFailedRequest(u.DocumentLinkResolveRequest.type,e),Promise.resolve(new Error(e.message))}))},i=t.clientOptions.middleware;return l.languages.registerDocumentLinkProvider(e.documentSelector,{provideDocumentLinks:function(e,t){return i.provideDocumentLinks?i.provideDocumentLinks(e,t,o):o(e,t)},resolveDocumentLink:e.resolveProvider?function(e,t){return i.resolveDocumentLink?i.resolveDocumentLink(e,t,n):n(e,t)}:void 0})},t}(P),J=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.DidChangeConfigurationNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"didChangeConfiguration").dynamicRegistration=!0},e.prototype.initialize=function(){var e=this._client.clientOptions.synchronize.configurationSection;void 0!==e&&this.register(this.messages,{id:p.generateUuid(),registerOptions:{section:e}})},e.prototype.register=function(e,t){var o=this,n=l.workspace.onDidChangeConfiguration((function(e){o.onDidChangeConfiguration(t.registerOptions.section,e)}));this._listeners.set(t.id,n),void 0!==t.registerOptions.section&&this.onDidChangeConfiguration(t.registerOptions.section,void 0)},e.prototype.unregister=function(e){var t=this._listeners.get(e);t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=a(this._listeners.values()),n=o.next();!n.done;n=o.next()){n.value.dispose()}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.onDidChangeConfiguration=function(e,t){var o,n=this;if(void 0!==(o=d.string(e)?[e]:e)&&void 0!==t&&!o.some((function(e){return t.affectsConfiguration(e)})))return;var i=function(e){void 0!==e?n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:n.extractSettingsInformation(e)}):n._client.sendNotification(u.DidChangeConfigurationNotification.type,{settings:null})},r=this.getMiddleware();r?r(o,i):i(o)},e.prototype.extractSettingsInformation=function(e){function t(e,t){for(var o=e,n=0;n<t.length-1;n++){var i=o[t[n]];i||(i=Object.create(null),o[t[n]]=i),o=i}return o}for(var o=this._client.clientOptions.workspaceFolder?this._client.clientOptions.workspaceFolder.uri:void 0,n=Object.create(null),i=0;i<e.length;i++){var r=e[i],s=r.indexOf("."),a=null;if(a=s>=0?l.workspace.getConfiguration(r.substr(0,s),o).get(r.substr(s+1)):l.workspace.getConfiguration(r,o)){var u=e[i].split(".");t(n,u)[u[u.length-1]]=a}}return n},e.prototype.getMiddleware=function(){var e=this._client.clientOptions.middleware;return e.workspace&&e.workspace.didChangeConfiguration?e.workspace.didChangeConfiguration:void 0},e}(),Z=function(){function e(e){this._client=e,this._commands=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return u.ExecuteCommandRequest.type},enumerable:!0,configurable:!0}),e.prototype.fillClientCapabilities=function(e){w(w(e,"workspace"),"executeCommand").dynamicRegistration=!0},e.prototype.initialize=function(e){e.executeCommandProvider&&this.register(this.messages,{id:p.generateUuid(),registerOptions:Object.assign({},e.executeCommandProvider)})},e.prototype.register=function(e,t){var o,n,i=this._client;if(t.registerOptions.commands){var r=[],s=function(e){r.push(l.commands.registerCommand(e,(function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n={command:e,arguments:t};return i.sendRequest(u.ExecuteCommandRequest.type,n).then(void 0,(function(e){i.logFailedRequest(u.ExecuteCommandRequest.type,e)}))})))};try{for(var c=a(t.registerOptions.commands),h=c.next();!h.done;h=c.next()){s(h.value)}}catch(e){o={error:e}}finally{try{h&&!h.done&&(n=c.return)&&n.call(c)}finally{if(o)throw o.error}}this._commands.set(t.id,r)}},e.prototype.unregister=function(e){var t=this._commands.get(e);t&&t.forEach((function(e){return e.dispose()}))},e.prototype.dispose=function(){this._commands.forEach((function(e){e.forEach((function(e){return e.dispose()}))})),this._commands.clear()},e}();!function(e){e.is=function(e){return e&&u.MessageReader.is(e.reader)&&u.MessageWriter.is(e.writer)}}(t.MessageTransports||(t.MessageTransports={}));var Q=function(){function t(e,t,o){var n=this;this._features=[],this._method2Message=new Map,this._dynamicFeatures=new Map,this._id=e,this._name=t,o=o||{},this._clientOptions={documentSelector:o.documentSelector||[],synchronize:o.synchronize||{},diagnosticCollectionName:o.diagnosticCollectionName,outputChannelName:o.outputChannelName||this._name,revealOutputChannelOn:o.revealOutputChannelOn||y.Error,stdioEncoding:o.stdioEncoding||"utf8",initializationOptions:o.initializationOptions,initializationFailedHandler:o.initializationFailedHandler,errorHandler:o.errorHandler||new E(this._name),middleware:o.middleware||{},uriConverters:o.uriConverters,workspaceFolder:o.workspaceFolder},this._clientOptions.synchronize=this._clientOptions.synchronize||{},this.state=b.Initial,this._connectionPromise=void 0,this._resolvedConnection=void 0,this._initializeResult=void 0,o.outputChannel?(this._outputChannel=o.outputChannel,this._disposeOutputChannel=!1):(this._outputChannel=void 0,this._disposeOutputChannel=!0),this._listeners=void 0,this._providers=void 0,this._diagnostics=void 0,this._fileEvents=[],this._fileEventDelayer=new g.Delayer(250),this._onReady=new Promise((function(e,t){n._onReadyCallbacks={resolve:e,reject:t}})),this._onStop=void 0,this._telemetryEmitter=new u.Emitter,this._stateChangeEmitter=new u.Emitter,this._tracer={log:function(e,t){n.logTrace(e,t)}},this._c2p=c.createConverter(o.uriConverters?o.uriConverters.code2Protocol:void 0),this._p2c=h.createConverter(o.uriConverters?o.uriConverters.protocol2Code:void 0),this._syncedDocuments=new Map,this.registerBuiltinFeatures()}return Object.defineProperty(t.prototype,"state",{get:function(){return this._state},set:function(e){var t=this.getPublicState();this._state=e;var o=this.getPublicState();o!==t&&this._stateChangeEmitter.fire({oldState:t,newState:o})},enumerable:!0,configurable:!0}),t.prototype.getPublicState=function(){return this.state===b.Running?v.Running:v.Stopped},Object.defineProperty(t.prototype,"initializeResult",{get:function(){return this._initializeResult},enumerable:!0,configurable:!0}),t.prototype.sendRequest=function(e){for(var t,o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{return(t=this._resolvedConnection).sendRequest.apply(t,s([e],o))}catch(t){throw this.error("Sending request "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.onRequest=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.onRequest(e,t)}catch(t){throw this.error("Registering request handler "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.sendNotification=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");this.forceDocumentSync();try{this._resolvedConnection.sendNotification(e,t)}catch(t){throw this.error("Sending notification "+(d.string(e)?e:e.method)+" failed.",t),t}},t.prototype.onNotification=function(e,t){if(!this.isConnectionActive())throw new Error("Language client is not ready yet");try{this._resolvedConnection.onNotification(e,t)}catch(t){throw this.error("Registering notification handler "+(d.string(e)?e:e.method)+" failed.",t),t}},Object.defineProperty(t.prototype,"clientOptions",{get:function(){return this._clientOptions},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"protocol2CodeConverter",{get:function(){return this._p2c},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"code2ProtocolConverter",{get:function(){return this._c2p},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onTelemetry",{get:function(){return this._telemetryEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onDidChangeState",{get:function(){return this._stateChangeEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"outputChannel",{get:function(){return this._outputChannel||(this._outputChannel=l.window.createOutputChannel(this._clientOptions.outputChannelName?this._clientOptions.outputChannelName:this._name)),this._outputChannel},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"diagnostics",{get:function(){return this._diagnostics},enumerable:!0,configurable:!0}),t.prototype.createDefaultErrorHandler=function(){return new E(this._name)},Object.defineProperty(t.prototype,"trace",{set:function(e){var t=this;this._trace=e,this.onReady().then((function(){t.resolveConnection().then((function(o){o.trace(e,t._tracer)}))}),(function(){}))},enumerable:!0,configurable:!0}),t.prototype.data2String=function(e){if(e instanceof u.ResponseError){var t=e;return"  Message: "+t.message+"\n  Code: "+t.code+" "+(t.data?"\n"+t.data.toString():"")}return e instanceof Error?d.string(e.stack)?e.stack:e.message:d.string(e)?e:e.toString()},t.prototype.info=function(e,t){this.outputChannel.appendLine("[Info  - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Info&&this.outputChannel.show(!0)},t.prototype.warn=function(e,t){this.outputChannel.appendLine("[Warn  - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Warn&&this.outputChannel.show(!0)},t.prototype.error=function(e,t){this.outputChannel.appendLine("[Error - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t)),this._clientOptions.revealOutputChannelOn<=y.Error&&this.outputChannel.show(!0)},t.prototype.logTrace=function(e,t){this.outputChannel.appendLine("[Trace - "+(new Date).toLocaleTimeString()+"] "+e),t&&this.outputChannel.appendLine(this.data2String(t))},t.prototype.needsStart=function(){return this.state===b.Initial||this.state===b.Stopping||this.state===b.Stopped},t.prototype.needsStop=function(){return this.state===b.Starting||this.state===b.Running},t.prototype.onReady=function(){return this._onReady},t.prototype.isConnectionActive=function(){return this.state===b.Running&&!!this._resolvedConnection},t.prototype.start=function(){var e=this;return this._listeners=[],this._providers=[],this._diagnostics||(this._diagnostics=this._clientOptions.diagnosticCollectionName?l.languages.createDiagnosticCollection(this._clientOptions.diagnosticCollectionName):l.languages.createDiagnosticCollection()),this.state=b.Starting,this.resolveConnection().then((function(t){return t.onLogMessage((function(t){switch(t.type){case u.MessageType.Error:e.error(t.message);break;case u.MessageType.Warning:e.warn(t.message);break;case u.MessageType.Info:e.info(t.message);break;default:e.outputChannel.appendLine(t.message)}})),t.onShowMessage((function(e){switch(e.type){case u.MessageType.Error:l.window.showErrorMessage(e.message);break;case u.MessageType.Warning:l.window.showWarningMessage(e.message);break;case u.MessageType.Info:l.window.showInformationMessage(e.message);break;default:l.window.showInformationMessage(e.message)}})),t.onRequest(u.ShowMessageRequest.type,(function(e){var t;switch(e.type){case u.MessageType.Error:t=l.window.showErrorMessage;break;case u.MessageType.Warning:t=l.window.showWarningMessage;break;case u.MessageType.Info:t=l.window.showInformationMessage;break;default:t=l.window.showInformationMessage}var o=e.actions||[];return t.apply(void 0,s([e.message],o))})),t.onTelemetry((function(t){e._telemetryEmitter.fire(t)})),t.listen(),e.initialize(t)})).then(void 0,(function(t){e.state=b.StartFailed,e._onReadyCallbacks.reject(t),e.error("Starting client failed",t),l.window.showErrorMessage("Couldn't start client "+e._name)})),new l.Disposable((function(){e.needsStop()&&e.stop()}))},t.prototype.resolveConnection=function(){return this._connectionPromise||(this._connectionPromise=this.createConnection()),this._connectionPromise},t.prototype.initialize=function(t){var o=this;this.refreshTrace(t,!1);var n=this._clientOptions.initializationOptions,i=this._clientOptions.workspaceFolder?this._clientOptions.workspaceFolder.uri.fsPath:this._clientGetRootPath(),r={processId:e.pid,rootPath:i||null,rootUri:i?this._c2p.asUri(l.Uri.file(i)):null,capabilities:this.computeClientCapabilities(),initializationOptions:d.func(n)?n():n,trace:u.Trace.toString(this._trace),workspaceFolders:null};return this.fillInitializeParams(r),t.initialize(r).then((function(e){o._resolvedConnection=t,o._initializeResult=e,o.state=b.Running;var n=void 0;return d.number(e.capabilities.textDocumentSync)&&e.capabilities.textDocumentSync!==u.TextDocumentSyncKind.None?n={openClose:!0,change:e.capabilities.textDocumentSync,save:{includeText:!1}}:void 0!==e.capabilities.textDocumentSync&&null!==e.capabilities.textDocumentSync&&(n=e.capabilities.textDocumentSync),o._capabilities=Object.assign({},e.capabilities,{resolvedTextDocumentSync:n}),t.onDiagnostics((function(e){return o.handleDiagnostics(e)})),t.onRequest(u.RegistrationRequest.type,(function(e){return o.handleRegistrationRequest(e)})),t.onRequest("client/registerFeature",(function(e){return o.handleRegistrationRequest(e)})),t.onRequest(u.UnregistrationRequest.type,(function(e){return o.handleUnregistrationRequest(e)})),t.onRequest("client/unregisterFeature",(function(e){return o.handleUnregistrationRequest(e)})),t.onRequest(u.ApplyWorkspaceEditRequest.type,(function(e){return o.handleApplyWorkspaceEdit(e)})),t.sendNotification(u.InitializedNotification.type,{}),o.hookFileEvents(t),o.hookConfigurationChanged(t),o.initializeFeatures(t),o._onReadyCallbacks.resolve(),e})).then(void 0,(function(e){o._clientOptions.initializationFailedHandler?o._clientOptions.initializationFailedHandler(e)?o.initialize(t):(o.stop(),o._onReadyCallbacks.reject(e)):e instanceof u.ResponseError&&e.data&&e.data.retry?l.window.showErrorMessage(e.message,{title:"Retry",id:"retry"}).then((function(n){n&&"retry"===n.id?o.initialize(t):(o.stop(),o._onReadyCallbacks.reject(e))})):(e&&e.message&&l.window.showErrorMessage(e.message),o.error("Server initialization failed.",e),o.stop(),o._onReadyCallbacks.reject(e))}))},t.prototype._clientGetRootPath=function(){var e=l.workspace.workspaceFolders;if(e&&0!==e.length){var t=e[0];return"file"===t.uri.scheme?t.uri.fsPath:void 0}},t.prototype.stop=function(){var e=this;return this._initializeResult=void 0,this._connectionPromise?this.state===b.Stopping&&this._onStop?this._onStop:(this.state=b.Stopping,this.cleanUp(),this._onStop=this.resolveConnection().then((function(t){return t.shutdown().then((function(){t.exit(),t.dispose(),e.state=b.Stopped,e._onStop=void 0,e._connectionPromise=void 0,e._resolvedConnection=void 0}))}))):(this.state=b.Stopped,Promise.resolve())},t.prototype.cleanUp=function(e,t){var o,n;void 0===e&&(e=!0),void 0===t&&(t=!0),this._listeners&&(this._listeners.forEach((function(e){return e.dispose()})),this._listeners=void 0),this._providers&&(this._providers.forEach((function(e){return e.dispose()})),this._providers=void 0),this._syncedDocuments&&this._syncedDocuments.clear();try{for(var i=a(this._dynamicFeatures.values()),r=i.next();!r.done;r=i.next()){r.value.dispose()}}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}e&&this._outputChannel&&this._disposeOutputChannel&&(this._outputChannel.dispose(),this._outputChannel=void 0),t&&this._diagnostics&&(this._diagnostics.dispose(),this._diagnostics=void 0)},t.prototype.notifyFileEvent=function(e){var t=this;this._fileEvents.push(e),this._fileEventDelayer.trigger((function(){t.onReady().then((function(){t.resolveConnection().then((function(e){t.isConnectionActive()&&e.didChangeWatchedFiles({changes:t._fileEvents}),t._fileEvents=[]}))}),(function(e){t.error("Notify file events failed.",e)}))}))},t.prototype.forceDocumentSync=function(){this._dynamicFeatures.get(u.DidChangeTextDocumentNotification.type.method).forceDelivery()},t.prototype.handleDiagnostics=function(e){var t=this;if(this._diagnostics){var o=this._p2c.asUri(e.uri),n=this._p2c.asDiagnostics(e.diagnostics),i=this.clientOptions.middleware.handleDiagnostics;i?i(o,n,(function(e,o){return t.setDiagnostics(e,o)})):this.setDiagnostics(o,n)}},t.prototype.setDiagnostics=function(e,t){this._diagnostics&&this._diagnostics.set(e,t)},t.prototype.createConnection=function(){var e=this,t=function(t,o,n){e.handleConnectionError(t,o,n)},o=function(){e.handleConnectionClosed()};return this.createMessageTransports(this._clientOptions.stdioEncoding||"utf8").then((function(e){return function(e,t,o,n){var i=new _,r=u.createProtocolConnection(e,t,i);return r.onError((function(e){o(e[0],e[1],e[2])})),r.onClose(n),{listen:function(){return r.listen()},sendRequest:function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return r.sendRequest.apply(r,s([d.string(e)?e:e.method],t))},onRequest:function(e,t){return r.onRequest(d.string(e)?e:e.method,t)},sendNotification:function(e,t){return r.sendNotification(d.string(e)?e:e.method,t)},onNotification:function(e,t){return r.onNotification(d.string(e)?e:e.method,t)},trace:function(e,t,o){return void 0===o&&(o=!1),r.trace(e,t,o)},initialize:function(e){return r.sendRequest(u.InitializeRequest.type,e)},shutdown:function(){return r.sendRequest(u.ShutdownRequest.type,void 0)},exit:function(){return r.sendNotification(u.ExitNotification.type)},onLogMessage:function(e){return r.onNotification(u.LogMessageNotification.type,e)},onShowMessage:function(e){return r.onNotification(u.ShowMessageNotification.type,e)},onTelemetry:function(e){return r.onNotification(u.TelemetryEventNotification.type,e)},didChangeConfiguration:function(e){return r.sendNotification(u.DidChangeConfigurationNotification.type,e)},didChangeWatchedFiles:function(e){return r.sendNotification(u.DidChangeWatchedFilesNotification.type,e)},didOpenTextDocument:function(e){return r.sendNotification(u.DidOpenTextDocumentNotification.type,e)},didChangeTextDocument:function(e){return r.sendNotification(u.DidChangeTextDocumentNotification.type,e)},didCloseTextDocument:function(e){return r.sendNotification(u.DidCloseTextDocumentNotification.type,e)},didSaveTextDocument:function(e){return r.sendNotification(u.DidSaveTextDocumentNotification.type,e)},onDiagnostics:function(e){return r.onNotification(u.PublishDiagnosticsNotification.type,e)},dispose:function(){return r.dispose()}}}(e.reader,e.writer,t,o)}))},t.prototype.handleConnectionClosed=function(){if(this.state!==b.Stopping&&this.state!==b.Stopped){try{this._resolvedConnection&&this._resolvedConnection.dispose()}catch(e){}var e=m.DoNotRestart;try{e=this._clientOptions.errorHandler.closed()}catch(e){}this._connectionPromise=void 0,this._resolvedConnection=void 0,e===m.DoNotRestart?(this.error("Connection to server got closed. Server will not be restarted."),this.state=b.Stopped,this.cleanUp(!1,!0)):e===m.Restart&&(this.info("Connection to server got closed. Server will restart."),this.cleanUp(!1,!1),this.state=b.Initial,this.start())}},t.prototype.handleConnectionError=function(e,t,o){this._clientOptions.errorHandler.error(e,t,o)===f.Shutdown&&(this.error("Connection to server is erroring. Shutting down server."),this.stop())},t.prototype.hookConfigurationChanged=function(e){var t=this;l.workspace.onDidChangeConfiguration((function(){t.refreshTrace(e,!0)}))},t.prototype.refreshTrace=function(e,t){void 0===t&&(t=!1);var o=l.workspace.getConfiguration(this._id),n=u.Trace.Off;o&&(n=u.Trace.fromString(o.get("trace.server","off"))),this._trace=n,e.trace(this._trace,this._tracer,t)},t.prototype.hookFileEvents=function(e){var t,o=this._clientOptions.synchronize.fileEvents;o&&((t=d.array(o)?o:[o])&&this._dynamicFeatures.get(u.DidChangeWatchedFilesNotification.type.method).registerRaw(p.generateUuid(),t))},t.prototype.registerFeatures=function(e){var t,o;try{for(var n=a(e),i=n.next();!i.done;i=n.next()){var r=i.value;this.registerFeature(r)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}},t.prototype.registerFeature=function(e){var t,o;if(this._features.push(e),C.is(e)){var n=e.messages;if(Array.isArray(n))try{for(var i=a(n),r=i.next();!r.done;r=i.next()){var s=r.value;this._method2Message.set(s.method,s),this._dynamicFeatures.set(s.method,e)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}else this._method2Message.set(n.method,n),this._dynamicFeatures.set(n.method,e)}},t.prototype.registerBuiltinFeatures=function(){var e=this;this.registerFeature(new J(this)),this.registerFeature(new O(this,this._syncedDocuments)),this.registerFeature(new N(this)),this.registerFeature(new L(this)),this.registerFeature(new I(this)),this.registerFeature(new D(this)),this.registerFeature(new R(this,this._syncedDocuments)),this.registerFeature(new A(this,(function(t){return e.notifyFileEvent(t)}))),this.registerFeature(new x(this)),this.registerFeature(new B(this)),this.registerFeature(new F(this)),this.registerFeature(new H(this)),this.registerFeature(new U(this)),this.registerFeature(new V(this)),this.registerFeature(new W(this)),this.registerFeature(new j(this)),this.registerFeature(new G(this)),this.registerFeature(new z(this)),this.registerFeature(new K(this)),this.registerFeature(new Y(this)),this.registerFeature(new X(this)),this.registerFeature(new q(this)),this.registerFeature(new $(this)),this.registerFeature(new Z(this))},t.prototype.fillInitializeParams=function(e){var t,o;try{for(var n=a(this._features),i=n.next();!i.done;i=n.next()){var r=i.value;d.func(r.fillInitializeParams)&&r.fillInitializeParams(e)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(t)throw t.error}}},t.prototype.computeClientCapabilities=function(){var e,t,o={};w(o,"workspace").applyEdit=!0,w(w(o,"workspace"),"workspaceEdit").documentChanges=!0,w(w(o,"textDocument"),"publishDiagnostics").relatedInformation=!0;try{for(var n=a(this._features),i=n.next();!i.done;i=n.next()){i.value.fillClientCapabilities(o)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return o},t.prototype.initializeFeatures=function(e){var t,o,n=this._clientOptions.documentSelector;try{for(var i=a(this._features),r=i.next();!r.done;r=i.next()){r.value.initialize(this._capabilities,n)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}},t.prototype.handleRegistrationRequest=function(e){var t=this;return new Promise((function(o,n){var i,r;try{for(var s=a(e.registrations),l=s.next();!l.done;l=s.next()){var u=l.value,c=t._dynamicFeatures.get(u.method);if(!c)return void n(new Error("No feature implementation for "+u.method+" found. Registration failed."));var h=u.registerOptions||{};h.documentSelector=h.documentSelector||t._clientOptions.documentSelector;var d={id:u.id,registerOptions:h};c.register(t._method2Message.get(u.method),d)}}catch(e){i={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o()}))},t.prototype.handleUnregistrationRequest=function(e){var t=this;return new Promise((function(o,n){var i,r;try{for(var s=a(e.unregisterations),l=s.next();!l.done;l=s.next()){var u=l.value,c=t._dynamicFeatures.get(u.method);if(!c)return void n(new Error("No feature implementation for "+u.method+" found. Unregistration failed."));c.unregister(u.id)}}catch(e){i={error:e}}finally{try{l&&!l.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}o()}))},t.prototype.handleApplyWorkspaceEdit=function(e){var t,o,n=e.edit,i=new Map;l.workspace.textDocuments.forEach((function(e){return i.set(e.uri.toString(),e)}));var r=!1;if(n.documentChanges)try{for(var s=a(n.documentChanges),u=s.next();!u.done;u=s.next()){var c=u.value;if(c.textDocument.version&&c.textDocument.version>=0){var h=i.get(c.textDocument.uri);if(h&&h.version!==c.textDocument.version){r=!0;break}}}}catch(e){t={error:e}}finally{try{u&&!u.done&&(o=s.return)&&o.call(s)}finally{if(t)throw t.error}}return r?Promise.resolve({applied:!1}):l.workspace.applyEdit(this._p2c.asWorkspaceEdit(e.edit)).then((function(e){return{applied:e}}))},t.prototype.logFailedRequest=function(e,t){t instanceof u.ResponseError&&t.code===u.ErrorCodes.RequestCancelled||this.error("Request "+e.method+" failed.",t)},t}();t.BaseLanguageClient=Q}).call(this,o(108))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this._value=e}return e.prototype.asHex=function(){return this._value},e.prototype.equals=function(e){return this.asHex()===e.asHex()},e}(),s=function(e){function t(){return e.call(this,[t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),"-","4",t._randomHex(),t._randomHex(),t._randomHex(),"-",t._oneOf(t._timeHighBits),t._randomHex(),t._randomHex(),t._randomHex(),"-",t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex(),t._randomHex()].join(""))||this}return i(t,e),t._oneOf=function(e){return e[Math.floor(e.length*Math.random())]},t._randomHex=function(){return t._oneOf(t._chars)},t._chars=["0","1","2","3","4","5","6","6","7","8","9","a","b","c","d","e","f"],t._timeHighBits=["8","9","a","b"],t}(r);function a(){return new s}t.empty=new r("00000000-0000-0000-0000-000000000000"),t.v4=a;var l=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function u(e){return l.test(e)}t.isUUID=u,t.parse=function(e){if(!u(e))throw new Error("invalid uuid");return new r(e)},t.generateUuid=function(){return a().asHex()}},function(e,t,o){"use strict";o.r(t),o.d(t,"ToggleTabFocusModeAction",(function(){return l}));var n,i=o(0),r=o(3),s=o(131),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:t.ID,label:i.a({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),alias:"Toggle Tab Key Moves Focus",precondition:null,kbOpts:{kbExpr:null,primary:2091,mac:{primary:1323},weight:100}})||this}return a(t,e),t.prototype.run=function(e,t){var o=s.b.getTabFocusMode();s.b.setTabFocusMode(!o)},t.ID="editor.action.toggleTabFocusMode",t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"DefinitionActionConfig",(function(){return C})),o.d(t,"DefinitionAction",(function(){return S})),o.d(t,"GoToDefinitionAction",(function(){return w})),o.d(t,"OpenDefinitionToSideAction",(function(){return k})),o.d(t,"PeekDefinitionAction",(function(){return O})),o.d(t,"ImplementationAction",(function(){return R})),o.d(t,"GoToImplementationAction",(function(){return N})),o.d(t,"PeekImplementationAction",(function(){return L})),o.d(t,"TypeDefinitionAction",(function(){return I})),o.d(t,"GoToTypeDefinitionAction",(function(){return D})),o.d(t,"PeekTypeDefinitionAction",(function(){return A}));var n,i=o(0),r=o(58),s=o(39),a=o(15),l=o(36),u=o(2),c=o(3),h=o(164),d=o(99),g=o(56),p=o(113),f=o(12),m=o(142),_=o(5),y=o(129),v=o(45),b=o(17),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e,t,o,n){void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===o&&(o=!0),void 0===n&&(n=!0),this.openToSide=e,this.openInPeek=t,this.filterCurrent=o,this.showMessage=n},S=function(e){function t(t,o){var n=e.call(this,o)||this;return n._configuration=t,n}return E(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(v.a),i=e.get(l.a),r=e.get(y.a),s=t.getModel(),a=t.getPosition(),c=this._getDeclarationsAtPosition(s,a).then((function(e){if(!s.isDisposed()&&t.getModel()===s){for(var n=-1,r=[],l=0;l<e.length;l++){var c=e[l];if(c&&c.range){var h=c.uri,d=c.range,p=r.push({uri:h,range:d});o._configuration.filterCurrent&&h.toString()===s.uri.toString()&&u.a.containsPosition(d,a)&&-1===n&&(n=p-1)}}if(0===r.length){if(o._configuration.showMessage){var f=s.getWordAtPosition(a);m.a.get(t).showMessage(o._getNoResultFoundMessage(f),a)}}else if(1===r.length&&-1!==n){var _=r[0];o._openReference(t,i,_,!1)}else o._onResult(i,t,new g.c(r))}}),(function(e){n.error(e)}));return r.showWhile(c,250),c},t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.a)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("noResultWord","No definition found for '{0}'",e.word):i.a("generic.noResults","No definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.title"," – {0} definitions",e.references.length)},t.prototype._onResult=function(e,t,o){var n=this,i=o.getAriaMessage();if(Object(r.a)(i),this._configuration.openInPeek)this._openInPeek(e,t,o);else{var s=o.nearestReference(t.getModel().uri,t.getPosition());this._openReference(t,e,s,this._configuration.openToSide).then((function(t){t&&o.references.length>1?n._openInPeek(e,t,o):o.dispose()}))}},t.prototype._openReference=function(e,t,o,n){var i=o.uri,r=o.range;return t.openCodeEditor({resource:i,options:{selection:u.a.collapseToStart(r),revealIfOpened:!0,revealInCenterIfOutsideViewport:!0}},e,n)},t.prototype._openInPeek=function(e,t,o){var n=this,i=d.a.get(t);i?i.toggleWidget(t.getSelection(),Object(b.i)((function(e){return Promise.resolve(o)})),{getMetaTitle:function(e){return n._getMetaTitle(e)},onGoto:function(o){return i.closeWidget(),n._openReference(t,e,o,!1)}}):o.dispose()},t}(c.b),T=a.f?2118:70,w=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToDecl.label","Go to Definition"),alias:"Go to Definition",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:T,weight:100},menuOpts:{group:"navigation",order:1.1}})||this}return E(t,e),t.ID="editor.action.goToDeclaration",t}(S),k=function(e){function t(){return e.call(this,new C(!0),{id:t.ID,label:i.a("actions.goToDeclToSide.label","Open Definition to the Side"),alias:"Open Definition to the Side",precondition:f.d.and(_.a.hasDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:Object(s.a)(2089,T),weight:100}})||this}return E(t,e),t.ID="editor.action.openDeclarationToTheSide",t}(S),O=function(e){function t(){return e.call(this,new C(void 0,!0,!1),{id:"editor.action.previewDeclaration",label:i.a("actions.previewDecl.label","Peek Definition"),alias:"Peek Definition",precondition:f.d.and(_.a.hasDefinitionProvider,p.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menuOpts:{group:"navigation",order:1.2}})||this}return E(t,e),t}(S),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.b)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):i.a("goToImplementation.generic.noResults","No implementation found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.implementations.title"," – {0} implementations",e.references.length)},t}(S),N=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToImplementation.label","Go to Implementation"),alias:"Go to Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:2118,weight:100}})||this}return E(t,e),t.ID="editor.action.goToImplementation",t}(R),L=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekImplementation.label","Peek Implementation"),alias:"Peek Implementation",precondition:f.d.and(_.a.hasImplementationProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:3142,weight:100}})||this}return E(t,e),t.ID="editor.action.peekImplementation",t}(R),I=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype._getDeclarationsAtPosition=function(e,t){return Object(h.c)(e,t)},t.prototype._getNoResultFoundMessage=function(e){return e&&e.word?i.a("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):i.a("goToTypeDefinition.generic.noResults","No type definition found")},t.prototype._getMetaTitle=function(e){return e.references.length>1&&i.a("meta.typeDefinitions.title"," – {0} type definitions",e.references.length)},t}(S),D=function(e){function t(){return e.call(this,new C,{id:t.ID,label:i.a("actions.goToTypeDefinition.label","Go to Type Definition"),alias:"Go to Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100},menuOpts:{group:"navigation",order:1.4}})||this}return E(t,e),t.ID="editor.action.goToTypeDefinition",t}(I),A=function(e){function t(){return e.call(this,new C(!1,!0,!1),{id:t.ID,label:i.a("actions.peekTypeDefinition.label","Peek Type Definition"),alias:"Peek Type Definition",precondition:f.d.and(_.a.hasTypeDefinitionProvider,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:0,weight:100}})||this}return E(t,e),t.ID="editor.action.peekTypeDefinition",t}(I);Object(c.f)(w),Object(c.f)(k),Object(c.f)(O),Object(c.f)(N),Object(c.f)(L),Object(c.f)(D),Object(c.f)(A)},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return i}));var n=function(){function e(e){this._prefix=e,this._lastId=0}return e.prototype.nextId=function(){return this._prefix+ ++this._lastId},e}(),i=new n("id#")},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("IWorkspaceEditService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return f}));var n,i=o(30),r=o(22),s=o(37),a=o(12),l=o(36),u=o(140),c=o(19),h=o(45),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a,l,u){var c=e.call(this,t,n.getRawConfiguration(),{},i,r,s,a,l,u)||this;return c._parentEditor=n,c._overwriteOptions=o,e.prototype.updateOptions.call(c,c._overwriteOptions),c._register(n.onDidChangeConfiguration((function(e){return c._onParentConfigurationChanged(e)}))),c}return d(t,e),t.prototype.getParentEditor=function(){return this._parentEditor},t.prototype._onParentConfigurationChanged=function(t){e.prototype.updateOptions.call(this,this._parentEditor.getRawConfiguration()),e.prototype.updateOptions.call(this,this._overwriteOptions)},t.prototype.updateOptions=function(t){i.g(this._overwriteOptions,t,!0),e.prototype.updateOptions.call(this,this._overwriteOptions)},t=g([p(3,r.a),p(4,l.a),p(5,s.b),p(6,a.e),p(7,c.c),p(8,h.a)],t)}(u.a)},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"b",(function(){return s}));var n=o(92),i=function(e,t){this.index=e,this.remainder=t},r=function(){function e(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}return e.prototype.getCount=function(){return this.values.length},e.prototype.insertValues=function(e,t){e=Object(n.b)(e);var o=this.values,i=this.prefixSum,r=t.length;return 0!==r&&(this.values=new Uint32Array(o.length+r),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e),e+r),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.changeValue=function(e,t){return e=Object(n.b)(e),t=Object(n.b)(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)},e.prototype.removeValues=function(e,t){e=Object(n.b)(e),t=Object(n.b)(t);var o=this.values,i=this.prefixSum;if(e>=o.length)return!1;var r=o.length-e;return t>=r&&(t=r),0!==t&&(this.values=new Uint32Array(o.length-t),this.values.set(o.subarray(0,e),0),this.values.set(o.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(i.subarray(0,this.prefixSumValidIndex[0]+1)),!0)},e.prototype.getTotalValue=function(){return 0===this.values.length?0:this._getAccumulatedValue(this.values.length-1)},e.prototype.getAccumulatedValue=function(e){return e<0?0:(e=Object(n.b)(e),this._getAccumulatedValue(e))},e.prototype._getAccumulatedValue=function(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];var t=this.prefixSumValidIndex[0]+1;0===t&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(var o=t;o<=e;o++)this.prefixSum[o]=this.prefixSum[o-1]+this.values[o];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]},e.prototype.getIndexOf=function(e){e=Math.floor(e),this.getTotalValue();for(var t,o,n,r=0,s=this.values.length-1;r<=s;)if(t=r+(s-r)/2|0,e<(n=(o=this.prefixSum[t])-this.values[t]))s=t-1;else{if(!(e>=o))break;r=t+1}return new i(t,e-n)},e}(),s=function(){function e(e){this._cacheAccumulatedValueStart=0,this._cache=null,this._actual=new r(e),this._bustCache()}return e.prototype._bustCache=function(){this._cacheAccumulatedValueStart=0,this._cache=null},e.prototype.insertValues=function(e,t){this._actual.insertValues(e,t)&&this._bustCache()},e.prototype.changeValue=function(e,t){this._actual.changeValue(e,t)&&this._bustCache()},e.prototype.removeValues=function(e,t){this._actual.removeValues(e,t)&&this._bustCache()},e.prototype.getTotalValue=function(){return this._actual.getTotalValue()},e.prototype.getAccumulatedValue=function(e){return this._actual.getAccumulatedValue(e)},e.prototype.getIndexOf=function(e){if(e=Math.floor(e),null!==this._cache){var t=e-this._cacheAccumulatedValueStart;if(t>=0&&t<this._cache.length)return this._cache[t]}return this._actual.getIndexOf(e)},e.prototype.warmUpCache=function(e,t){for(var o=[],n=e;n<=t;n++)o[n-e]=this.getIndexOf(n);this._cache=o,this._cacheAccumulatedValueStart=e},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return n}));var n,i=o(8);n="undefined"!=typeof TextDecoder?function(e){return new r(e)}:function(e){return new s};var r=function(){function e(e){this._decoder=new TextDecoder("UTF-16LE"),this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}return e.prototype.reset=function(){this._completedStrings=null,this._bufferLength=0},e.prototype.build=function(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()},e.prototype._buildBuffer=function(){if(0===this._bufferLength)return"";var e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return this._decoder.decode(e)},e.prototype._flushBuffer=function(){var e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e},e.prototype.write1=function(e){var t=this._capacity-this._bufferLength;t<=1&&(0===t||i.isHighSurrogate(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCII=function(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e},e.prototype.appendASCIIString=function(e){var t=e.length;if(this._bufferLength+t>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=e);for(var o=0;o<t;o++)this._buffer[this._bufferLength++]=e.charCodeAt(o)},e}(),s=function(){function e(){this._pieces=[],this._piecesLen=0}return e.prototype.reset=function(){this._pieces=[],this._piecesLen=0},e.prototype.build=function(){return this._pieces.join("")},e.prototype.write1=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCII=function(e){this._pieces[this._piecesLen++]=String.fromCharCode(e)},e.prototype.appendASCIIString=function(e){this._pieces[this._piecesLen++]=e},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));var n=o(144),i=o(82),r=o(89),s=o(33),a=o(13),l=o(205),u=o(22),c=o(4),h=o(6),d=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},g=function(e,t){return function(o,n){t(o,n,e)}},p=function(){function e(e,t,o){void 0===o&&(o=i.b),this._editor=e,this._modeService=t,this._openerService=o,this._onDidRenderCodeBlock=new c.a,this.onDidRenderCodeBlock=this._onDidRenderCodeBlock.event}return e.prototype.getOptions=function(e){var t=this;return{codeBlockRenderer:function(e,o){var n=e?t._modeService.getModeIdForLanguageName(e):t._editor.getModel().getLanguageIdentifier().language;return t._modeService.getOrCreateMode(n).then((function(e){return Object(l.b)(o,n)})).then((function(e){return'<span style="font-family: '+t._editor.getConfiguration().fontInfo.fontFamily+'">'+e+"</span>"}))},codeBlockRenderCallback:function(){return t._onDidRenderCodeBlock.fire()},actionHandler:{callback:function(e){t._openerService.open(s.a.parse(e)).then(void 0,a.e)},disposeables:e}}},e.prototype.render=function(e){var t=[];return{element:e?Object(n.b)(e,this.getOptions(t)):document.createElement("span"),dispose:function(){return Object(h.d)(t)}}},e=d([g(1,r.a),g(2,Object(u.d)(i.a))],e)}()},function(e,t,o){"use strict";o(474);var n,i,r=o(0),s=o(10),a=o(15),l=o(21),u=o(13),c=o(97),h=function(){function e(e){this.modelProvider=Object(l.e)(e.getModel)?e:{getModel:function(){return e}}}return e.prototype.getId=function(e,t){if(!t)return null;var o=this.modelProvider.getModel();return o===t?"__root__":o.dataSource.getId(t)},e.prototype.hasChildren=function(e,t){var o=this.modelProvider.getModel();return o&&o===t&&o.entries.length>0},e.prototype.getChildren=function(e,t){var o=this.modelProvider.getModel();return s.b.as(o===t?o.entries:[])},e.prototype.getParent=function(e,t){return s.b.as(null)},e}(),d=function(){function e(e){this.modelProvider=e}return e.prototype.getAriaLabel=function(e,t){var o=this.modelProvider.getModel();return o.accessibilityProvider&&o.accessibilityProvider.getAriaLabel(t)},e.prototype.getPosInSet=function(e,t){var o=this.modelProvider.getModel();return String(o.entries.indexOf(t)+1)},e.prototype.getSetSize=function(){var e=this.modelProvider.getModel();return String(e.entries.length)},e}(),g=function(){function e(e){this.modelProvider=e}return e.prototype.isVisible=function(e,t){var o=this.modelProvider.getModel();return!o.filter||o.filter.isVisible(t)},e}(),p=function(){function e(e,t){this.modelProvider=e,this.styles=t}return e.prototype.updateStyles=function(e){this.styles=e},e.prototype.getHeight=function(e,t){return this.modelProvider.getModel().renderer.getHeight(t)},e.prototype.getTemplateId=function(e,t){return this.modelProvider.getModel().renderer.getTemplateId(t)},e.prototype.renderTemplate=function(e,t,o){return this.modelProvider.getModel().renderer.renderTemplate(t,o,this.styles)},e.prototype.renderElement=function(e,t,o,n){this.modelProvider.getModel().renderer.renderElement(t,o,n,this.styles)},e.prototype.disposeTemplate=function(e,t,o){this.modelProvider.getModel().renderer.disposeTemplate(t,o)},e}(),f=o(34),m=o(162),_=o(210),y=(o(475),o(1)),v=o(6),b=o(14),E=o(30),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S={progressBarBackground:b.a.fromHex("#0E70C0")},T=function(e){function t(t,o){var n=e.call(this)||this;return n.options=o||Object.create(null),Object(E.g)(n.options,S,!1),n.workedVal=0,n.progressBarBackground=n.options.progressBarBackground,n.create(t),n}return C(t,e),t.prototype.create=function(e){var t=this;Object(f.a)(e).div({class:"monaco-progress-container"},(function(e){t.element=e.clone(),e.div({class:"progress-bit"}).on([y.d.ANIMATION_START,y.d.ANIMATION_END,y.d.ANIMATION_ITERATION],(function(e){switch(e.type){case y.d.ANIMATION_ITERATION:t.animationStopToken&&t.animationStopToken(null)}}),t.toDispose),t.bit=e.getHTMLElement()})),this.applyStyles()},t.prototype.off=function(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.removeClass("active"),this.element.removeClass("infinite"),this.element.removeClass("discrete"),this.workedVal=0,this.totalWork=void 0},t.prototype.stop=function(){return this.doDone(!1)},t.prototype.doDone=function(e){var t=this;return this.element.addClass("done"),this.element.hasClass("infinite")?(this.bit.style.opacity="0",e?s.b.timeout(200).then((function(){return t.off()})):this.off()):(this.bit.style.width="inherit",e?s.b.timeout(200).then((function(){return t.off()})):this.off()),this},t.prototype.hide=function(){this.element.hide()},t.prototype.style=function(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()},t.prototype.applyStyles=function(){if(this.bit){var e=this.progressBarBackground?this.progressBarBackground.toString():null;this.bit.style.backgroundColor=e}},t}(v.a),w=o(51),k=o(75),O=o(42),R=o(41),N=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),L=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return N(t,e),t.prototype.onContextMenu=function(t,o,n){return a.d?this.onLeftClick(t,o,n):e.prototype.onContextMenu.call(this,t,o,n)},t}(k.c);!function(e){e[e.ELEMENT_SELECTED=0]="ELEMENT_SELECTED",e[e.FOCUS_LOST=1]="FOCUS_LOST",e[e.CANCELED=2]="CANCELED"}(i||(i={}));var I={background:b.a.fromHex("#1E1E1E"),foreground:b.a.fromHex("#CCCCCC"),pickerGroupForeground:b.a.fromHex("#0097FB"),pickerGroupBorder:b.a.fromHex("#3F3F46"),widgetShadow:b.a.fromHex("#000000"),progressBarBackground:b.a.fromHex("#0E70C0")},D=r.a("quickOpenAriaLabel","Quick picker. Type to narrow down results."),A=function(e){function t(t,o,n){var i=e.call(this)||this;return i.isDisposed=!1,i.container=t,i.callbacks=o,i.options=n,i.styles=n||Object.create(null),Object(E.g)(i.styles,I,!1),i.model=null,i}return N(t,e),t.prototype.getModel=function(){return this.model},t.prototype.create=function(){var e=this;return this.builder=Object(f.a)().div((function(t){t.on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);if(9===o.keyCode)y.c.stop(t,!0),e.hide(i.CANCELED);else if(2===o.keyCode&&!o.altKey&&!o.ctrlKey&&!o.metaKey){var n=t.currentTarget.querySelectorAll("input, .monaco-tree, .monaco-tree-row.focused .action-label.icon");o.shiftKey&&o.target===n[0]?(y.c.stop(t,!0),n[n.length-1].focus()):o.shiftKey||o.target!==n[n.length-1]||(y.c.stop(t,!0),n[0].focus())}})).on(y.d.CONTEXT_MENU,(function(e){return y.c.stop(e,!0)})).on(y.d.FOCUS,(function(t){return e.gainingFocus()}),null,!0).on(y.d.BLUR,(function(t){return e.loosingFocus(t)}),null,!0),e.progressBar=e._register(new T(t.clone(),{progressBarBackground:e.styles.progressBarBackground})),e.progressBar.hide(),t.div({class:"quick-open-input"},(function(t){e.inputContainer=t,e.inputBox=e._register(new m.b(t.getHTMLElement(),null,{placeholder:e.options.inputPlaceHolder||"",ariaLabel:D,inputBackground:e.styles.inputBackground,inputForeground:e.styles.inputForeground,inputBorder:e.styles.inputBorder,inputValidationInfoBackground:e.styles.inputValidationInfoBackground,inputValidationInfoBorder:e.styles.inputValidationInfoBorder,inputValidationWarningBackground:e.styles.inputValidationWarningBackground,inputValidationWarningBorder:e.styles.inputValidationWarningBorder,inputValidationErrorBackground:e.styles.inputValidationErrorBackground,inputValidationErrorBorder:e.styles.inputValidationErrorBorder})),e.inputElement=e.inputBox.inputElement,e.inputElement.setAttribute("role","combobox"),e.inputElement.setAttribute("aria-haspopup","false"),e.inputElement.setAttribute("aria-autocomplete","list"),y.g(e.inputBox.inputElement,y.d.KEY_DOWN,(function(t){var o=new w.a(t),n=e.shouldOpenInBackground(o);if(2!==o.keyCode)if(18===o.keyCode||16===o.keyCode||12===o.keyCode||11===o.keyCode)y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.inputBox.inputElement.selectionStart===e.inputBox.inputElement.selectionEnd&&(e.inputBox.inputElement.selectionStart=e.inputBox.value.length);else if(3===o.keyCode||n){y.c.stop(t,!0);var i=e.tree.getFocus();i&&e.elementSelected(i,t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})),y.g(e.inputBox.inputElement,y.d.INPUT,(function(t){e.onType()}))})),e.resultCount=t.div({class:"quick-open-result-count","aria-live":"polite"}).clone(),e.treeContainer=t.div({class:"quick-open-tree"},(function(t){var o=e.options.treeCreator||function(e,t,o){return new _.a(e,t,o)};e.tree=e._register(o(t.getHTMLElement(),{dataSource:new h(e),controller:new L({clickBehavior:k.a.ON_MOUSE_UP,keyboardSupport:e.options.keyboardSupport}),renderer:e.renderer=new p(e,e.styles),filter:new g(e),accessibilityProvider:new d(e)},{twistiePixels:11,indentPixels:0,alwaysFocused:!0,verticalScrollMode:O.b.Visible,horizontalScrollMode:O.b.Hidden,ariaLabel:r.a("treeAriaLabel","Quick Picker"),keyboardSupport:e.options.keyboardSupport,preventRootFocus:!1})),e.treeElement=e.tree.getHTMLElement(),e._register(e.tree.onDidChangeFocus((function(t){e.elementFocused(t.focus,t)}))),e._register(e.tree.onDidChangeSelection((function(t){if(t.selection&&t.selection.length>0){var o=t.payload&&t.payload.originalEvent instanceof R.b?t.payload.originalEvent:void 0,n=!!o&&e.shouldOpenInBackground(o);e.elementSelected(t.selection[0],t,n?c.a.OPEN_IN_BACKGROUND:c.a.OPEN)}})))})).on(y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration&&(18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode)))})).on(y.d.KEY_UP,(function(t){var o=new w.a(t),n=o.keyCode;if(e.quickNavigateConfiguration){var i=e.quickNavigateConfiguration.keybindings;if(3===n||i.some((function(e){var t=e.getParts(),i=t[0];return!t[1]&&(i.shiftKey&&4===n?!(o.ctrlKey||o.altKey||o.metaKey):!(!i.altKey||6!==n)||(!(!i.ctrlKey||5!==n)||!(!i.metaKey||57!==n)))}))){var r=e.tree.getFocus();r&&e.elementSelected(r,t)}}})).clone()})).addClass("monaco-quick-open-widget").build(this.container),this.layoutDimensions&&this.layout(this.layoutDimensions),this.applyStyles(),y.g(this.treeContainer.getHTMLElement(),y.d.KEY_DOWN,(function(t){var o=new w.a(t);e.quickNavigateConfiguration||18!==o.keyCode&&16!==o.keyCode&&12!==o.keyCode&&11!==o.keyCode||(y.c.stop(t,!0),e.navigateInTree(o.keyCode,o.shiftKey),e.treeElement.focus())})),this.builder.getHTMLElement()},t.prototype.style=function(e){this.styles=e,this.applyStyles()},t.prototype.applyStyles=function(){if(this.builder){var e=this.styles.foreground?this.styles.foreground.toString():null,t=this.styles.background?this.styles.background.toString():null,o=this.styles.borderColor?this.styles.borderColor.toString():null,n=this.styles.widgetShadow?this.styles.widgetShadow.toString():null;this.builder.style("color",e),this.builder.style("background-color",t),this.builder.style("border-color",o),this.builder.style("border-width",o?"1px":null),this.builder.style("border-style",o?"solid":null),this.builder.style("box-shadow",n?"0 5px 8px "+n:null)}this.progressBar&&this.progressBar.style({progressBarBackground:this.styles.progressBarBackground}),this.inputBox&&this.inputBox.style({inputBackground:this.styles.inputBackground,inputForeground:this.styles.inputForeground,inputBorder:this.styles.inputBorder,inputValidationInfoBackground:this.styles.inputValidationInfoBackground,inputValidationInfoBorder:this.styles.inputValidationInfoBorder,inputValidationWarningBackground:this.styles.inputValidationWarningBackground,inputValidationWarningBorder:this.styles.inputValidationWarningBorder,inputValidationErrorBackground:this.styles.inputValidationErrorBackground,inputValidationErrorBorder:this.styles.inputValidationErrorBorder}),this.tree&&!this.options.treeCreator&&this.tree.style(this.styles),this.renderer&&this.renderer.updateStyles(this.styles)},t.prototype.shouldOpenInBackground=function(e){if(e instanceof w.a){if(17!==e.keyCode)return!1;if(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return!1;var t=this.inputBox.inputElement;return t.selectionEnd===this.inputBox.value.length&&t.selectionStart===t.selectionEnd}return e.middleButton},t.prototype.onType=function(){var e=this.inputBox.value;this.helpText&&(e?this.helpText.hide():this.helpText.show()),this.callbacks.onType(e)},t.prototype.navigateInTree=function(e,t){var o=this.tree.getInput(),n=o?o.entries:[],i=this.tree.getFocus();switch(e){case 18:this.tree.focusNext();break;case 16:this.tree.focusPrevious();break;case 12:this.tree.focusNextPage();break;case 11:this.tree.focusPreviousPage();break;case 2:t?this.tree.focusPrevious():this.tree.focusNext()}var r=this.tree.getFocus();n.length>1&&i===r&&(16===e||2===e&&t?this.tree.focusLast():(18===e||2===e&&!t)&&this.tree.focusFirst()),(r=this.tree.getFocus())&&this.tree.reveal(r).done(null,u.e)},t.prototype.elementFocused=function(e,t){if(e&&this.isVisible()){this.inputElement.setAttribute("aria-activedescendant",this.treeElement.getAttribute("aria-activedescendant"));var o={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};this.model.runner.run(e,c.a.PREVIEW,o)}},t.prototype.elementSelected=function(e,t,o){var n=!0;if(this.isVisible()){var r=o||c.a.OPEN,s={event:t,keymods:this.extractKeyMods(t),quickNavigateConfiguration:this.quickNavigateConfiguration};n=this.model.runner.run(e,r,s)}n&&this.hide(i.ELEMENT_SELECTED)},t.prototype.extractKeyMods=function(e){return{ctrlCmd:e&&(e.ctrlKey||e.metaKey||e.payload&&e.payload.originalEvent&&(e.payload.originalEvent.ctrlKey||e.payload.originalEvent.metaKey)),alt:e&&(e.altKey||e.payload&&e.payload.originalEvent&&e.payload.originalEvent.altKey)}},t.prototype.show=function(e,t){this.visible=!0,this.isLoosingFocus=!1,this.quickNavigateConfiguration=t?t.quickNavigateConfiguration:void 0,this.quickNavigateConfiguration?(this.inputContainer.hide(),this.builder.show(),this.tree.domFocus()):(this.inputContainer.show(),this.builder.show(),this.inputBox.focus()),this.helpText&&(this.quickNavigateConfiguration||l.h(e)?this.helpText.hide():this.helpText.show()),l.h(e)?this.doShowWithPrefix(e):this.doShowWithInput(e,t&&t.autoFocus?t.autoFocus:{}),t&&t.inputSelection&&!this.quickNavigateConfiguration&&this.inputBox.select(t.inputSelection),this.callbacks.onShow&&this.callbacks.onShow()},t.prototype.doShowWithPrefix=function(e){this.inputBox.value=e,this.callbacks.onType(e)},t.prototype.doShowWithInput=function(e,t){this.setInput(e,t)},t.prototype.setInputAndLayout=function(e,t){var o=this;this.treeContainer.style({height:this.getHeight(e)+"px"}),this.tree.setInput(null).then((function(){return o.model=e,o.inputElement.setAttribute("aria-haspopup",String(e&&e.entries&&e.entries.length>0)),o.tree.setInput(e)})).done((function(){o.tree.layout();var n=e?e.entries.filter((function(t){return o.isElementVisible(e,t)})):[];o.updateResultCount(n.length),n.length&&o.autoFocus(e,n,t)}),u.e)},t.prototype.isElementVisible=function(e,t){return!e.filter||e.filter.isVisible(t)},t.prototype.autoFocus=function(e,t,o){if(void 0===o&&(o={}),o.autoFocusPrefixMatch){for(var n=void 0,i=void 0,r=o.autoFocusPrefixMatch,s=r.toLowerCase(),a=0;a<t.length;a++){var l=t[a],c=e.dataSource.getLabel(l);if(n||0!==c.indexOf(r)?i||0!==c.toLowerCase().indexOf(s)||(i=l):n=l,n&&i)break}var h=n||i;if(h)return this.tree.setFocus(h),void this.tree.reveal(h,.5).done(null,u.e)}o.autoFocusFirstEntry?(this.tree.focusFirst(),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):"number"==typeof o.autoFocusIndex?t.length>o.autoFocusIndex&&(this.tree.focusNth(o.autoFocusIndex),this.tree.reveal(this.tree.getFocus()).done(null,u.e)):o.autoFocusSecondEntry?t.length>1&&this.tree.focusNth(1):o.autoFocusLastEntry&&t.length>1&&this.tree.focusLast()},t.prototype.getHeight=function(e){var o=this,n=e.renderer;if(!e){var i=n.getHeight(null);return this.options.minItemsToShow?this.options.minItemsToShow*i:0}var r,s=0;this.layoutDimensions&&this.layoutDimensions.height&&(r=.4*(this.layoutDimensions.height-50)),(!r||r>t.MAX_ITEMS_HEIGHT)&&(r=t.MAX_ITEMS_HEIGHT);for(var a=e.entries.filter((function(t){return o.isElementVisible(e,t)})),l=this.options.maxItemsToShow||a.length,u=0;u<l&&u<a.length;u++){var c=n.getHeight(a[u]);if(!(s+c<=r))break;s+=c}return s},t.prototype.updateResultCount=function(e){this.resultCount.text(r.a({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results",e))},t.prototype.hide=function(e){this.isVisible()&&(this.visible=!1,this.builder.hide(),this.builder.domBlur(),this.inputBox.value="",this.tree.setInput(null),this.inputElement.setAttribute("aria-haspopup","false"),this.treeContainer.style({height:(this.options.minItemsToShow?22*this.options.minItemsToShow:0)+"px"}),this.progressBar.stop().hide(),this.tree.isDOMFocused()?this.tree.domBlur():this.inputBox.hasFocus()&&this.inputBox.blur(),e===i.ELEMENT_SELECTED?this.callbacks.onOk():this.callbacks.onCancel(),this.callbacks.onHide&&this.callbacks.onHide(e))},t.prototype.setInput=function(e,t,o){this.isVisible()&&(this.getInput()&&this.onInputChanging(),this.setInputAndLayout(e,t),this.inputBox&&this.inputBox.setAriaLabel(o||D))},t.prototype.onInputChanging=function(){var e=this;this.inputChangingTimeoutHandle&&(clearTimeout(this.inputChangingTimeoutHandle),this.inputChangingTimeoutHandle=null),this.builder.addClass("content-changing"),this.inputChangingTimeoutHandle=setTimeout((function(){e.builder.removeClass("content-changing")}),500)},t.prototype.getInput=function(){return this.tree.getInput()},t.prototype.isVisible=function(){return this.visible},t.prototype.layout=function(e){this.layoutDimensions=e;var o=Math.min(.62*this.layoutDimensions.width,t.MAX_WIDTH);this.builder&&(this.builder.style({width:o+"px",marginLeft:"-"+o/2+"px"}),this.inputContainer.style({width:o-12+"px"}))},t.prototype.gainingFocus=function(){this.isLoosingFocus=!1},t.prototype.loosingFocus=function(e){var t=this;if(this.isVisible()){var o=e.relatedTarget;!this.quickNavigateConfiguration&&y.B(o,this.builder.getHTMLElement())||(this.isLoosingFocus=!0,s.b.timeout(0).then((function(){t.isLoosingFocus&&(t.isDisposed||t.callbacks.onFocusLost&&t.callbacks.onFocusLost()||t.hide(i.FOCUS_LOST))})))}},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.isDisposed=!0},t.MAX_WIDTH=600,t.MAX_ITEMS_HEIGHT=440,t}(v.a),P=o(16),M=o(118),x=o(7),B=function(){function e(e,t,o,n,i,r){this.codeEditor=e,this.themeService=r,this.create(t,o,n,i)}return e.prototype.create=function(e,t,o,n){this.domNode=document.createElement("div"),this.quickOpenWidget=new A(this.domNode,{onOk:e,onCancel:t,onType:o},{inputPlaceHolder:null,inputAriaLabel:n.inputAriaLabel,keyboardSupport:!0}),this.styler=Object(M.c)(this.quickOpenWidget,this.themeService,{pickerGroupForeground:x.I}),this.quickOpenWidget.create(),this.codeEditor.addOverlayWidget(this)},e.prototype.setInput=function(e,t){this.quickOpenWidget.setInput(e,t)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this.domNode},e.prototype.destroy=function(){this.codeEditor.removeOverlayWidget(this),this.quickOpenWidget.dispose(),this.styler.dispose()},e.prototype.show=function(e){this.visible=!0;var t=this.codeEditor.getLayoutInfo();t&&this.quickOpenWidget.layout(new y.b(t.width,t.height)),this.quickOpenWidget.show(e),this.codeEditor.layoutOverlayWidget(this)},e.prototype.getPosition=function(){return this.visible?{preference:P.c.TOP_CENTER}:null},e.ID="editor.contrib.quickOpenEditorWidget",e}(),F=o(3),H=o(19),U=o(26);o.d(t,"a",(function(){return z}));var V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),W=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},j=function(e,t){return function(o,n){t(o,n,e)}},G=function(){function e(e,t){this.themeService=t,this.editor=e}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.widget&&(this.widget.destroy(),this.widget=null)},e.prototype.run=function(e){var t=this;this.widget&&(this.widget.destroy(),this.widget=null);var o=function(e){t.clearDecorations(),e&&t.lastKnownEditorSelection&&(t.editor.setSelection(t.lastKnownEditorSelection),t.editor.revealRangeInCenterIfOutsideViewport(t.lastKnownEditorSelection,0)),t.lastKnownEditorSelection=null,t.editor.focus()};this.widget=new B(this.editor,(function(){return o(!1)}),(function(){return o(!0)}),(function(o){t.widget.setInput(e.getModel(o),e.getAutoFocus(o))}),{inputAriaLabel:e.inputAriaLabel},this.themeService),this.lastKnownEditorSelection||(this.lastKnownEditorSelection=this.editor.getSelection()),this.widget.show("")},e.prototype.decorateLine=function(t,o){var n=[];this.rangeHighlightDecorationId&&(n.push(this.rangeHighlightDecorationId),this.rangeHighlightDecorationId=null);var i=[{range:t,options:e._RANGE_HIGHLIGHT_DECORATION}],r=o.deltaDecorations(n,i);this.rangeHighlightDecorationId=r[0]},e.prototype.clearDecorations=function(){this.rangeHighlightDecorationId&&(this.editor.deltaDecorations([this.rangeHighlightDecorationId],[]),this.rangeHighlightDecorationId=null)},e.ID="editor.controller.quickOpenController",e._RANGE_HIGHLIGHT_DECORATION=U.a.register({className:"rangeHighlight",isWholeLine:!0}),e=W([j(1,H.c)],e)}(),z=function(e){function t(t,o){var n=e.call(this,o)||this;return n._inputAriaLabel=t,n}return V(t,e),t.prototype.getController=function(e){return G.get(e)},t.prototype._show=function(e,t){e.run({inputAriaLabel:this._inputAriaLabel,getModel:function(e){return t.getModel(e)},getAutoFocus:function(e){return t.getAutoFocus(e)}})},t}(F.b);Object(F.h)(G)},function(e,t,o){"use strict";o(440);var n=o(0),i=o(24),r=o(1),s=o(144),a=o(58),l=o(74),u=o(203),c=o(4),h=o(59),d=o(14),g=o(30),p=o(112),f=function(){function e(e,t){void 0===e&&(e=[]),void 0===t&&(t=10),this._initialize(e),this._limit=t,this._onChange()}return e.prototype.add=function(e){this._history.delete(e),this._history.add(e),this._onChange()},e.prototype.next=function(){return this._navigator.next()},e.prototype.previous=function(){return this._navigator.previous()},e.prototype.current=function(){return this._navigator.current()},e.prototype.parent=function(){return null},e.prototype.first=function(){return this._navigator.first()},e.prototype.last=function(){return this._navigator.last()},e.prototype.has=function(e){return this._history.has(e)},e.prototype._onChange=function(){this._reduceToLimit(),this._navigator=new p.b(this._elements,0,this._elements.length,this._elements.length)},e.prototype._reduceToLimit=function(){var e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))},e.prototype._initialize=function(e){this._history=new Set;for(var t=0,o=e;t<o.length;t++){var n=o[t];this._history.add(n)}},Object.defineProperty(e.prototype,"_elements",{get:function(){var e=[];return this._history.forEach((function(t){return e.push(t)})),e},enumerable:!0,configurable:!0}),e}();o.d(t,"b",(function(){return E})),o.d(t,"a",(function(){return C}));var m,_,y=(m=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}m(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),v=r.a;!function(e){e[e.INFO=1]="INFO",e[e.WARNING=2]="WARNING",e[e.ERROR=3]="ERROR"}(_||(_={}));var b={inputBackground:d.a.fromHex("#3C3C3C"),inputForeground:d.a.fromHex("#CCCCCC"),inputValidationInfoBorder:d.a.fromHex("#55AAFF"),inputValidationInfoBackground:d.a.fromHex("#063B49"),inputValidationWarningBorder:d.a.fromHex("#B89500"),inputValidationWarningBackground:d.a.fromHex("#352A05"),inputValidationErrorBorder:d.a.fromHex("#BE1100"),inputValidationErrorBackground:d.a.fromHex("#5A1D1D")},E=function(e){function t(t,o,n){var s=e.call(this)||this;s.state="idle",s._onDidChange=s._register(new c.a),s.onDidChange=s._onDidChange.event,s._onDidHeightChange=s._register(new c.a),s.contextViewProvider=o,s.options=n||Object.create(null),Object(g.g)(s.options,b,!1),s.message=null,s.cachedHeight=null,s.placeholder=s.options.placeholder||"",s.ariaLabel=s.options.ariaLabel||"",s.inputBackground=s.options.inputBackground,s.inputForeground=s.options.inputForeground,s.inputBorder=s.options.inputBorder,s.inputValidationInfoBorder=s.options.inputValidationInfoBorder,s.inputValidationInfoBackground=s.options.inputValidationInfoBackground,s.inputValidationWarningBorder=s.options.inputValidationWarningBorder,s.inputValidationWarningBackground=s.options.inputValidationWarningBackground,s.inputValidationErrorBorder=s.options.inputValidationErrorBorder,s.inputValidationErrorBackground=s.options.inputValidationErrorBackground,s.options.validationOptions&&(s.validation=s.options.validationOptions.validation),s.element=r.k(t,v(".monaco-inputbox.idle"));var a=s.options.flexibleHeight?"textarea":"input",u=r.k(s.element,v(".wrapper"));return s.input=r.k(u,v(a+".input")),s.input.setAttribute("autocorrect","off"),s.input.setAttribute("autocapitalize","off"),s.input.setAttribute("spellcheck","false"),s.onfocus(s.input,(function(){return r.f(s.element,"synthetic-focus")})),s.onblur(s.input,(function(){return r.G(s.element,"synthetic-focus")})),s.options.flexibleHeight?s.mirror=r.k(u,v("div.mirror")):(s.input.type=s.options.type||"text",s.input.setAttribute("wrap","off")),s.ariaLabel&&s.input.setAttribute("aria-label",s.ariaLabel),s.placeholder&&s.setPlaceHolder(s.placeholder),s.oninput(s.input,(function(){return s.onValueChange()})),s.onblur(s.input,(function(){return s.onBlur()})),s.onfocus(s.input,(function(){return s.onFocus()})),s.placeholder&&i.k&&s.onclick(s.input,(function(e){r.c.stop(e,!0),s.input.focus()})),setTimeout((function(){s.input&&s.updateMirror()}),0),s.options.actions&&(s.actionbar=s._register(new l.a(s.element)),s.actionbar.push(s.options.actions,{icon:!0,label:!1})),s.applyStyles(),s}return y(t,e),t.prototype.onBlur=function(){this._hideMessage()},t.prototype.onFocus=function(){this._showMessage()},t.prototype.setPlaceHolder=function(e){this.input&&(this.input.setAttribute("placeholder",e),this.input.title=e)},t.prototype.setAriaLabel=function(e){this.ariaLabel=e,this.input&&(e?this.input.setAttribute("aria-label",this.ariaLabel):this.input.removeAttribute("aria-label"))},Object.defineProperty(t.prototype,"inputElement",{get:function(){return this.input},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"value",{get:function(){return this.input.value},set:function(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())},enumerable:!0,configurable:!0}),t.prototype.focus=function(){this.input.focus()},t.prototype.blur=function(){this.input.blur()},t.prototype.hasFocus=function(){return document.activeElement===this.input},t.prototype.select=function(e){void 0===e&&(e=null),this.input.select(),e&&this.input.setSelectionRange(e.start,e.end)},t.prototype.enable=function(){this.input.removeAttribute("disabled")},t.prototype.disable=function(){this.input.disabled=!0,this._hideMessage()},t.prototype.setEnabled=function(e){e?this.enable():this.disable()},Object.defineProperty(t.prototype,"width",{get:function(){return r.y(this.input)},set:function(e){this.input.style.width=e+"px"},enumerable:!0,configurable:!0}),t.prototype.showMessage=function(e,t){this.message=e,r.G(this.element,"idle"),r.G(this.element,"info"),r.G(this.element,"warning"),r.G(this.element,"error"),r.f(this.element,this.classForType(e.type));var o,i=this.stylesForType(this.message.type);this.element.style.border=i.border?"1px solid "+i.border:null,o=e.type===_.ERROR?n.a("alertErrorMessage","Error: {0}",e.content):e.type===_.WARNING?n.a("alertWarningMessage","Warning: {0}",e.content):n.a("alertInfoMessage","Info: {0}",e.content),a.a(o),(this.hasFocus()||t)&&this._showMessage()},t.prototype.hideMessage=function(){this.message=null,r.G(this.element,"info"),r.G(this.element,"warning"),r.G(this.element,"error"),r.f(this.element,"idle"),this._hideMessage(),this.applyStyles()},t.prototype.validate=function(){var e=null;return this.validation&&((e=this.validation(this.value))?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),!e},t.prototype.stylesForType=function(e){switch(e){case _.INFO:return{border:this.inputValidationInfoBorder,background:this.inputValidationInfoBackground};case _.WARNING:return{border:this.inputValidationWarningBorder,background:this.inputValidationWarningBackground};default:return{border:this.inputValidationErrorBorder,background:this.inputValidationErrorBackground}}},t.prototype.classForType=function(e){switch(e){case _.INFO:return"info";case _.WARNING:return"warning";default:return"error"}},t.prototype._showMessage=function(){var e=this;if(this.contextViewProvider&&this.message){var t,o=function(){return t.style.width=r.y(e.element)+"px"};this.state="open",this.contextViewProvider.showContextView({getAnchor:function(){return e.element},anchorAlignment:u.a.RIGHT,render:function(n){t=r.k(n,v(".monaco-inputbox-container")),o();var i={inline:!0,className:"monaco-inputbox-message"},a=e.message.formatContent?Object(s.a)(e.message.content,i):Object(s.c)(e.message.content,i);r.f(a,e.classForType(e.message.type));var l=e.stylesForType(e.message.type);return a.style.backgroundColor=l.background?l.background.toString():null,a.style.border=l.border?"1px solid "+l.border:null,r.k(t,a),null},layout:o})}},t.prototype._hideMessage=function(){this.contextViewProvider&&"open"===this.state&&(this.state="idle",this.contextViewProvider.hideContextView())},t.prototype.onValueChange=function(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),"open"===this.state&&this.contextViewProvider.layout()},t.prototype.updateMirror=function(){if(this.mirror){var e=this.value||this.placeholder,t=10===e.charCodeAt(e.length-1)?" ":"";this.mirror.textContent=e+t,this.layout()}},t.prototype.style=function(e){this.inputBackground=e.inputBackground,this.inputForeground=e.inputForeground,this.inputBorder=e.inputBorder,this.inputValidationInfoBackground=e.inputValidationInfoBackground,this.inputValidationInfoBorder=e.inputValidationInfoBorder,this.inputValidationWarningBackground=e.inputValidationWarningBackground,this.inputValidationWarningBorder=e.inputValidationWarningBorder,this.inputValidationErrorBackground=e.inputValidationErrorBackground,this.inputValidationErrorBorder=e.inputValidationErrorBorder,this.applyStyles()},t.prototype.applyStyles=function(){if(this.element){var e=this.inputBackground?this.inputBackground.toString():null,t=this.inputForeground?this.inputForeground.toString():null,o=this.inputBorder?this.inputBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.input.style.backgroundColor=e,this.input.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},t.prototype.layout=function(){if(this.mirror){var e=this.cachedHeight;this.cachedHeight=r.x(this.mirror),e!==this.cachedHeight&&(this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedHeight))}},t.prototype.dispose=function(){this._hideMessage(),this.element=null,this.input=null,this.contextViewProvider=null,this.message=null,this.placeholder=null,this.ariaLabel=null,this.validation=null,this.state=null,this.actionbar=null,e.prototype.dispose.call(this)},t}(h.a),C=function(e){function t(t,o,n){var i=e.call(this,t,o,n)||this;return i.history=new f(n.history,100),i}return y(t,e),t.prototype.addToHistory=function(){this.value&&this.value!==this.getCurrentValue()&&this.history.add(this.value)},t.prototype.showNextValue=function(){this.history.has(this.value)||this.addToHistory();var e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),e&&(this.value=e,a.c(this.value))},t.prototype.showPreviousValue=function(){this.history.has(this.value)||this.addToHistory();var e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,a.c(this.value))},t.prototype.getCurrentValue=function(){var e=this.history.current();return e||(e=this.history.last(),this.history.next()),e},t.prototype.getPreviousValue=function(){return this.history.previous()||this.history.first()},t.prototype.getNextValue=function(){return this.history.next()||this.history.last()},t}(E)},function(e,t,o){"use strict";var n=function(){function e(e,t,o,n){this.originalStart=e,this.originalLength=t,this.modifiedStart=o,this.modifiedLength=n}return e.prototype.getOriginalEnd=function(){return this.originalStart+this.originalLength},e.prototype.getModifiedEnd=function(){return this.modifiedStart+this.modifiedLength},e}();function i(e){return{getLength:function(){return e.length},getElementAtIndex:function(t){return e.charCodeAt(t)}}}function r(e,t,o){return new u(i(e),i(t)).ComputeDiff(o)}o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return u}));var s=function(){function e(){}return e.Assert=function(e,t){if(!e)throw new Error(t)},e}(),a=function(){function e(){}return e.Copy=function(e,t,o,n,i){for(var r=0;r<i;r++)o[n+r]=e[t+r]},e}(),l=function(){function e(){this.m_changes=[],this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE,this.m_originalCount=0,this.m_modifiedCount=0}return e.prototype.MarkNextChange=function(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new n(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=Number.MAX_VALUE,this.m_modifiedStart=Number.MAX_VALUE},e.prototype.AddOriginalElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++},e.prototype.AddModifiedElement=function(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++},e.prototype.getChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes},e.prototype.getReverseChanges=function(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes},e}(),u=function(){function e(e,t,o){void 0===o&&(o=null),this.OriginalSequence=e,this.ModifiedSequence=t,this.ContinueProcessingPredicate=o,this.m_forwardHistory=[],this.m_reverseHistory=[]}return e.prototype.ElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.OriginalElementsAreEqual=function(e,t){return this.OriginalSequence.getElementAtIndex(e)===this.OriginalSequence.getElementAtIndex(t)},e.prototype.ModifiedElementsAreEqual=function(e,t){return this.ModifiedSequence.getElementAtIndex(e)===this.ModifiedSequence.getElementAtIndex(t)},e.prototype.ComputeDiff=function(e){return this._ComputeDiff(0,this.OriginalSequence.getLength()-1,0,this.ModifiedSequence.getLength()-1,e)},e.prototype._ComputeDiff=function(e,t,o,n,i){var r=this.ComputeDiffRecursive(e,t,o,n,[!1]);return i?this.ShiftChanges(r):r},e.prototype.ComputeDiffRecursive=function(e,t,o,i,r){for(r[0]=!1;e<=t&&o<=i&&this.ElementsAreEqual(e,o);)e++,o++;for(;t>=e&&i>=o&&this.ElementsAreEqual(t,i);)t--,i--;if(e>t||o>i){var a=void 0;return o<=i?(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),a=[new n(e,0,o,i-o+1)]):e<=t?(s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[new n(e,t-e+1,o,0)]):(s.Assert(e===t+1,"originalStart should only be one more than originalEnd"),s.Assert(o===i+1,"modifiedStart should only be one more than modifiedEnd"),a=[]),a}var l=[0],u=[0],c=this.ComputeRecursionPoint(e,t,o,i,l,u,r),h=l[0],d=u[0];if(null!==c)return c;if(!r[0]){var g=this.ComputeDiffRecursive(e,h,o,d,r),p=[];return p=r[0]?[new n(h+1,t-(h+1)+1,d+1,i-(d+1)+1)]:this.ComputeDiffRecursive(h+1,t,d+1,i,r),this.ConcatenateChanges(g,p)}return[new n(e,t-e+1,o,i-o+1)]},e.prototype.WALKTRACE=function(e,t,o,i,r,s,a,u,c,h,d,g,p,f,m,_,y,v){var b,E,C=null,S=new l,T=t,w=o,k=p[0]-_[0]-i,O=Number.MIN_VALUE,R=this.m_forwardHistory.length-1;do{(E=k+e)===T||E<w&&c[E-1]<c[E+1]?(f=(d=c[E+1])-k-i,d<O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f),k=E+1-e):(f=(d=c[E-1]+1)-k-i,d<O&&S.MarkNextChange(),O=d-1,S.AddOriginalElement(d,f+1),k=E-1-e),R>=0&&(e=(c=this.m_forwardHistory[R])[0],T=1,w=c.length-1)}while(--R>=-1);if(b=S.getReverseChanges(),v[0]){var N=p[0]+1,L=_[0]+1;if(null!==b&&b.length>0){var I=b[b.length-1];N=Math.max(N,I.getOriginalEnd()),L=Math.max(L,I.getModifiedEnd())}C=[new n(N,g-N+1,L,m-L+1)]}else{S=new l,T=s,w=a,k=p[0]-_[0]-u,O=Number.MAX_VALUE,R=y?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{(E=k+r)===T||E<w&&h[E-1]>=h[E+1]?(f=(d=h[E+1]-1)-k-u,d>O&&S.MarkNextChange(),O=d+1,S.AddOriginalElement(d+1,f+1),k=E+1-r):(f=(d=h[E-1])-k-u,d>O&&S.MarkNextChange(),O=d,S.AddModifiedElement(d+1,f+1),k=E-1-r),R>=0&&(r=(h=this.m_reverseHistory[R])[0],T=1,w=h.length-1)}while(--R>=-1);C=S.getChanges()}return this.ConcatenateChanges(b,C)},e.prototype.ComputeRecursionPoint=function(e,t,o,i,r,s,l){var u,c,h,d=0,g=0,p=0,f=0;e--,o--,r[0]=0,s[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];var m,_,y=t-e+(i-o),v=y+1,b=new Array(v),E=new Array(v),C=i-o,S=t-e,T=e-o,w=t-i,k=(S-C)%2==0;for(b[C]=e,E[S]=t,l[0]=!1,h=1;h<=y/2+1;h++){var O=0,R=0;for(d=this.ClipDiagonalBound(C-h,h,C,v),g=this.ClipDiagonalBound(C+h,h,C,v),m=d;m<=g;m+=2){for(c=(u=m===d||m<g&&b[m-1]<b[m+1]?b[m+1]:b[m-1]+1)-(m-C)-T,_=u;u<t&&c<i&&this.ElementsAreEqual(u+1,c+1);)u++,c++;if(b[m]=u,u+c>O+R&&(O=u,R=c),!k&&Math.abs(m-S)<=h-1&&u>=E[m])return r[0]=u,s[0]=c,_<=E[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}var N=(O-e+(R-o)-h)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(O,this.OriginalSequence,N))return l[0]=!0,r[0]=O,s[0]=R,N>0&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):[new n(++e,t-e+1,++o,i-o+1)];for(p=this.ClipDiagonalBound(S-h,h,S,v),f=this.ClipDiagonalBound(S+h,h,S,v),m=p;m<=f;m+=2){for(c=(u=m===p||m<f&&E[m-1]>=E[m+1]?E[m+1]-1:E[m-1])-(m-S)-w,_=u;u>e&&c>o&&this.ElementsAreEqual(u,c);)u--,c--;if(E[m]=u,k&&Math.abs(m-C)<=h&&u<=b[m])return r[0]=u,s[0]=c,_>=b[m]&&h<=1448?this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l):null}if(h<=1447){var L=new Array(g-d+2);L[0]=C-d+1,a.Copy(b,d,L,1,g-d+1),this.m_forwardHistory.push(L),(L=new Array(f-p+2))[0]=S-p+1,a.Copy(E,p,L,1,f-p+1),this.m_reverseHistory.push(L)}}return this.WALKTRACE(C,d,g,T,S,p,f,w,b,E,u,t,r,c,i,s,k,l)},e.prototype.ShiftChanges=function(e){var t;do{t=!1;for(var o=0;o<e.length;o++)for(var n=e[o],i=o<e.length-1?e[o+1].originalStart:this.OriginalSequence.getLength(),r=o<e.length-1?e[o+1].modifiedStart:this.ModifiedSequence.getLength(),s=n.originalLength>0,a=n.modifiedLength>0;n.originalStart+n.originalLength<i&&n.modifiedStart+n.modifiedLength<r&&(!s||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!a||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));)n.originalStart++,n.modifiedStart++;var l=new Array,u=[null];for(o=0;o<e.length;o++)o<e.length-1&&this.ChangesOverlap(e[o],e[o+1],u)?(t=!0,l.push(u[0]),o++):l.push(e[o]);e=l}while(t);for(o=e.length-1;o>=0;o--){n=e[o],i=0,r=0;if(o>0){var c=e[o-1];c.originalLength>0&&(i=c.originalStart+c.originalLength),c.modifiedLength>0&&(r=c.modifiedStart+c.modifiedLength)}s=n.originalLength>0,a=n.modifiedLength>0;for(var h=0,d=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength),g=1;;g++){var p=n.originalStart-g,f=n.modifiedStart-g;if(p<i||f<r)break;if(s&&!this.OriginalElementsAreEqual(p,p+n.originalLength))break;if(a&&!this.ModifiedElementsAreEqual(f,f+n.modifiedLength))break;var m=this._boundaryScore(p,n.originalLength,f,n.modifiedLength);m>d&&(d=m,h=g)}n.originalStart-=h,n.modifiedStart-=h}return e},e.prototype._OriginalIsBoundary=function(e){if(e<=0||e>=this.OriginalSequence.getLength()-1)return!0;var t=this.OriginalSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._OriginalRegionIsBoundary=function(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._OriginalIsBoundary(o-1)||this._OriginalIsBoundary(o))return!0}return!1},e.prototype._ModifiedIsBoundary=function(e){if(e<=0||e>=this.ModifiedSequence.getLength()-1)return!0;var t=this.ModifiedSequence.getElementAtIndex(e);return"string"==typeof t&&/^\s*$/.test(t)},e.prototype._ModifiedRegionIsBoundary=function(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){var o=e+t;if(this._ModifiedIsBoundary(o-1)||this._ModifiedIsBoundary(o))return!0}return!1},e.prototype._boundaryScore=function(e,t,o,n){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(o,n)?1:0)},e.prototype.ConcatenateChanges=function(e,t){var o=[],n=null;return 0===e.length||0===t.length?t.length>0?t:e:this.ChangesOverlap(e[e.length-1],t[0],o)?(n=new Array(e.length+t.length-1),a.Copy(e,0,n,0,e.length-1),n[e.length-1]=o[0],a.Copy(t,1,n,e.length,t.length-1),n):(n=new Array(e.length+t.length),a.Copy(e,0,n,0,e.length),a.Copy(t,0,n,e.length,t.length),n)},e.prototype.ChangesOverlap=function(e,t,o){if(s.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),s.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){var i=e.originalStart,r=e.originalLength,a=e.modifiedStart,l=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(r=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(l=t.modifiedStart+t.modifiedLength-e.modifiedStart),o[0]=new n(i,r,a,l),!0}return o[0]=null,!1},e.prototype.ClipDiagonalBound=function(e,t,o,n){if(e>=0&&e<n)return e;var i=t%2==0;return e<0?i===(o%2==0)?0:1:i===((n-o-1)%2==0)?n-1:n-2},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return c})),o.d(t,"b",(function(){return h})),o.d(t,"c",(function(){return d}));var n=o(25),i=o(17),r=o(13),s=o(10),a=o(3),l=o(11);function u(e,t,o,a){var l=o.ordered(e).map((function(o){return Object(i.h)((function(n){return a(o,e,t,n)})).then(void 0,(function(e){return Object(r.f)(e),null}))}));return s.b.join(l).then(n.i).then((function(e){return Object(n.c)(e)}))}function c(e,t){return u(e,t,l.e,(function(e,t,o,n){return e.provideDefinition(t,o,n)}))}function h(e,t){return u(e,t,l.n,(function(e,t,o,n){return e.provideImplementation(t,o,n)}))}function d(e,t){return u(e,t,l.z,(function(e,t,o,n){return e.provideTypeDefinition(t,o,n)}))}Object(a.e)("_executeDefinitionProvider",c),Object(a.e)("_executeImplementationProvider",h),Object(a.e)("_executeTypeDefinitionProvider",d)},function(e,t,o){"use strict";o.d(t,"b",(function(){return u})),o.d(t,"a",(function(){return c}));var n=o(33),i=o(40),r=o(8),s=o(62),a=o(15),l=o(178);function u(e,t,o){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var u=o?o.getWorkspaceFolder(e):null;if(u){var c=o.getWorkspace().folders.length>1,p=void 0;if(p=Object(l.c)(u.uri,e,!a.c)?"":Object(i.h)(Object(r.ltrim)(e.path.substr(u.uri.path.length),i.i),!0),c){var f=u&&u.name?u.name:Object(i.a)(u.uri.fsPath);p=p?f+" • "+p:f}return p}if(e.scheme!==s.a.file&&e.scheme!==s.a.untitled)return e.with({query:null,fragment:null}).toString(!0);if(h(e.fsPath))return Object(i.h)(d(e.fsPath),!0);var m=Object(i.h)(e.fsPath,!0);return!a.g&&t&&(m=function(e,t){if(a.g||!e||!t)return e;var o=g.original===t?g.normalized:void 0;o||(o=""+Object(r.rtrim)(t,i.i)+i.i,g={original:t,normalized:o});(a.c?Object(r.startsWith)(e,o):Object(r.startsWithIgnoreCase)(e,o))&&(e="~/"+e.substr(o.length));return e}(m,t.userHome)),m}function c(e){if(!e)return null;"string"==typeof e&&(e=n.a.file(e));var t=Object(i.a)(e.path)||(e.scheme===s.a.file?e.fsPath:e.path);return h(t)?d(t):t}function h(e){return a.g&&e&&":"===e[1]}function d(e){return h(e)?e.charAt(0).toUpperCase()+e.slice(1):e}var g=Object.create(null)},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(185)),n(o(121)),n(o(518)),n(o(519)),n(o(311)),n(o(312)),n(o(313)),n(o(314)),n(o(532)),n(o(315))},function(e,t,o){(function(e){function o(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===o(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===o(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===o(e)},t.isError=function(e){return"[object Error]"===o(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,o(120).Buffer)},function(e,t,o){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:o(340),e.exports={Promise:n}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.prototype.toString;function i(e){return"[object String]"===n.call(e)}function r(e){return Array.isArray(e)}t.boolean=function(e){return!0===e||!1===e},t.string=i,t.number=function(e){return"[object Number]"===n.call(e)},t.error=function(e){return"[object Error]"===n.call(e)},t.func=function(e){return"[object Function]"===n.call(e)},t.array=r,t.stringArray=function(e){return r(e)&&e.every((function(e){return i(e)}))}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){var t={dispose:function(){}};e.None=function(){return t}}(t.Event||(t.Event={}));var n=function(){function e(){}return e.prototype.add=function(e,t,o){var n=this;void 0===t&&(t=null),this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:function(){return n.remove(e,t)}})},e.prototype.remove=function(e,t){if(void 0===t&&(t=null),this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);o=!0}if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}},e.prototype.invoke=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!this._callbacks)return[];for(var o=[],n=this._callbacks.slice(0),i=this._contexts.slice(0),r=0,s=n.length;r<s;r++)try{o.push(n[r].apply(i[r],e))}catch(e){console.error(e)}return o},e.prototype.isEmpty=function(){return!this._callbacks||0===this._callbacks.length},e.prototype.dispose=function(){this._callbacks=void 0,this._contexts=void 0},e}(),i=function(){function e(e){this._options=e}return Object.defineProperty(e.prototype,"event",{get:function(){var t=this;return this._event||(this._event=function(o,i,r){var s;return t._callbacks||(t._callbacks=new n),t._options&&t._options.onFirstListenerAdd&&t._callbacks.isEmpty()&&t._options.onFirstListenerAdd(t),t._callbacks.add(o,i),s={dispose:function(){t._callbacks.remove(o,i),s.dispose=e._noop,t._options&&t._options.onLastListenerRemove&&t._callbacks.isEmpty()&&t._options.onLastListenerRemove(t)}},Array.isArray(r)&&r.push(s),s}),this._event},enumerable:!0,configurable:!0}),e.prototype.fire=function(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)},e.prototype.dispose=function(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)},e._noop=function(){},e}();t.Emitter=i},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=function(e){return"function"==typeof e},t.array=i,t.stringArray=function(e){return i(e)&&e.every(e=>n(e))}},function(e,t,o){"use strict";o.r(t);var n=o(14);function i(e,t){switch(void 0===t&&(t=0),typeof e){case"object":return null===e?r(349,t):Array.isArray(e)?(o=e,n=r(104579,n=t),o.reduce((function(e,t){return i(t,e)}),n)):function(e,t){return t=r(181387,t),Object.keys(e).sort().reduce((function(t,o){return t=s(o,t),i(e[o],t)}),t)}(e,t);case"string":return s(e,t);case"boolean":return function(e,t){return r(e?433:863,t)}(e,t);case"number":return r(e,t);case"undefined":return r(e,937);default:return r(e,617)}var o,n}function r(e,t){return(t<<5)-t+e|0}function s(e,t){t=r(149417,t);for(var o=0,n=e.length;o<n;o++)t=r(e.charCodeAt(o),t);return t}var a=o(6),l=o(3),u=o(2),c=o(11),h=o(36),d=o(175),g=o(49),p=o(26),f=o(17),m=o(13);o.d(t,"ColorDetector",(function(){return v}));var _=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o){var n=this;this._editor=e,this._codeEditorService=t,this._configurationService=o,this._globalToDispose=[],this._localToDispose=[],this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=[],this._decorationsTypes={},this._globalToDispose.push(e.onDidChangeModel((function(e){n._isEnabled=n.isEnabled(),n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),this._globalToDispose.push(c.d.onDidChange((function(e){return n.onModelChanged()}))),this._globalToDispose.push(e.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n.isEnabled(),t!==n._isEnabled&&(n._isEnabled?n.onModelChanged():n.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isEnabled=this.isEnabled(),this.onModelChanged()}return e.prototype.isEnabled=function(){var e=this._editor.getModel();if(!e)return!1;var t=e.getLanguageIdentifier(),o=this._configurationService.getValue(t.language);if(o){var n=o.colorDecorators;if(n&&void 0!==n.enable&&!n.enable)return n.enable}return this._editor.getConfiguration().contribInfo.colorDecorators},e.prototype.getId=function(){return e.ID},e.get=function(e){return e.getContribution(this.ID)},e.prototype.dispose=function(){this.stop(),this.removeAllDecorations(),this._globalToDispose=Object(a.d)(this._globalToDispose)},e.prototype.onModelChanged=function(){var t=this;if(this.stop(),this._isEnabled){var o=this._editor.getModel();c.d.has(o)&&(this._localToDispose.push(this._editor.onDidChangeModelContent((function(o){t._timeoutTimer||(t._timeoutTimer=new f.f,t._timeoutTimer.cancelAndSet((function(){t._timeoutTimer=null,t.beginCompute()}),e.RECOMPUTE_TIME))}))),this.beginCompute())}},e.prototype.beginCompute=function(){var e=this;this._computePromise=Object(f.i)((function(t){return Object(d.b)(e._editor.getModel(),t)})),this._computePromise.then((function(t){e.updateDecorations(t),e.updateColorDecorators(t),e._computePromise=null}),m.e)},e.prototype.stop=function(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose=Object(a.d)(this._localToDispose)},e.prototype.updateDecorations=function(e){var t=this,o=e.map((function(e){return{range:{startLineNumber:e.colorInfo.range.startLineNumber,startColumn:e.colorInfo.range.startColumn,endLineNumber:e.colorInfo.range.endLineNumber,endColumn:e.colorInfo.range.endColumn},options:p.a.EMPTY}}));this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,o),this._colorDatas=new Map,this._decorationsIds.forEach((function(o,n){return t._colorDatas.set(o,e[n])}))},e.prototype.updateColorDecorators=function(e){for(var t=[],o={},r=0;r<e.length&&t.length<500;r++){var s=e[r].colorInfo.color,a=s.red,l=s.green,u=s.blue,c=s.alpha,h=new n.c(Math.round(255*a),Math.round(255*l),Math.round(255*u),c),d=i(h).toString(16),g="rgba("+h.r+", "+h.g+", "+h.b+", "+h.a+")",p="colorBox-"+d;this._decorationsTypes[p]||o[p]||this._codeEditorService.registerDecorationType(p,{before:{contentText:" ",border:"solid 0.1em #000",margin:"0.1em 0.2em 0 0.2em",width:"0.8em",height:"0.8em",backgroundColor:g},dark:{before:{border:"solid 0.1em #eee"}}}),o[p]=!0,t.push({range:{startLineNumber:e[r].colorInfo.range.startLineNumber,startColumn:e[r].colorInfo.range.startColumn,endLineNumber:e[r].colorInfo.range.endLineNumber,endColumn:e[r].colorInfo.range.endColumn},options:this._codeEditorService.resolveDecorationOptions(p,!0)})}for(var f in this._decorationsTypes)o[f]||this._codeEditorService.removeDecorationType(f);this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,t)},e.prototype.removeAllDecorations=function(){for(var e in this._decorationsIds=this._editor.deltaDecorations(this._decorationsIds,[]),this._colorDecoratorIds=this._editor.deltaDecorations(this._colorDecoratorIds,[]),this._decorationsTypes)this._codeEditorService.removeDecorationType(e)},e.prototype.getColorData=function(e){var t=this,o=this._editor.getModel().getDecorationsInRange(u.a.fromPositions(e,e)).filter((function(e){return t._colorDatas.has(e.id)}));return 0===o.length?null:this._colorDatas.get(o[0].id)},e.ID="editor.contrib.colorDetector",e.RECOMPUTE_TIME=1e3,e=_([y(1,h.a),y(2,g.b)],e)}();Object(l.h)(v)},function(e,t,o){"use strict";o.d(t,"a",(function(){return a}));var n=!1,i=null;function r(e){if(!e.parent||e.parent===e)return null;try{var t=e.location,o=e.parent.location;if(t.protocol!==o.protocol||t.hostname!==o.hostname||t.port!==o.port)return n=!0,null}catch(e){return n=!0,null}return e.parent}function s(e,t){for(var o,n=e.document.getElementsByTagName("iframe"),i=0,r=n.length;i<r;i++)if((o=n[i]).contentWindow===t)return o;return null}var a=function(){function e(){}return e.getSameOriginWindowChain=function(){if(!i){i=[];var e,t=window;do{(e=r(t))?i.push({window:t,iframeElement:s(e,t)}):i.push({window:t,iframeElement:null}),t=e}while(t)}return i.slice(0)},e.hasDifferentOriginAncestor=function(){return i||this.getSameOriginWindowChain(),n},e.getPositionOfChildWindowRelativeToAncestorWindow=function(e,t){if(!t||e===t)return{top:0,left:0};for(var o=0,n=0,i=this.getSameOriginWindowChain(),r=0;r<i.length;r++){var s=i[r];if(s.window===t)break;if(!s.iframeElement)break;var a=s.iframeElement.getBoundingClientRect();o+=a.top,n+=a.left}return{top:o,left:n}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return p})),o.d(t,"b",(function(){return f}));var n,i=o(17),r=o(23),s=o(8),a=o(4),l=o(6),u=o(88),c=o(24),h=o(15),d=o(1),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p={forceCopyWithSyntaxHighlighting:!1},f=function(e){function t(t,o){var n=e.call(this)||this;n._onFocus=n._register(new a.a),n.onFocus=n._onFocus.event,n._onBlur=n._register(new a.a),n.onBlur=n._onBlur.event,n._onKeyDown=n._register(new a.a),n.onKeyDown=n._onKeyDown.event,n._onKeyUp=n._register(new a.a),n.onKeyUp=n._onKeyUp.event,n._onCut=n._register(new a.a),n.onCut=n._onCut.event,n._onPaste=n._register(new a.a),n.onPaste=n._onPaste.event,n._onType=n._register(new a.a),n.onType=n._onType.event,n._onCompositionStart=n._register(new a.a),n.onCompositionStart=n._onCompositionStart.event,n._onCompositionUpdate=n._register(new a.a),n.onCompositionUpdate=n._onCompositionUpdate.event,n._onCompositionEnd=n._register(new a.a),n.onCompositionEnd=n._onCompositionEnd.event,n._onSelectionChangeRequest=n._register(new a.a),n.onSelectionChangeRequest=n._onSelectionChangeRequest.event,n._host=t,n._textArea=n._register(new _(o)),n._lastTextAreaEvent=0,n._asyncTriggerCut=n._register(new i.c((function(){return n._onCut.fire()}),0)),n._textAreaState=u.b.EMPTY,n.writeScreenReaderContent("ctor"),n._hasFocus=!1,n._isDoingComposition=!1,n._nextCommand=0,n._register(d.j(o.domNode,"keydown",(function(e){!n._isDoingComposition||109!==e.keyCode&&1!==e.keyCode||e.stopPropagation(),e.equals(9)&&e.preventDefault(),n._onKeyDown.fire(e)}))),n._register(d.j(o.domNode,"keyup",(function(e){n._onKeyUp.fire(e)}))),n._register(d.g(o.domNode,"compositionstart",(function(e){n._lastTextAreaEvent=1,n._isDoingComposition||(n._isDoingComposition=!0,c.h||n._setAndWriteTextAreaState("compositionstart",u.b.EMPTY),n._onCompositionStart.fire())})));var l=function(e,t){var o=n._textAreaState,i=u.b.readFromTextArea(n._textArea);return[i,u.b.deduceInput(o,i,e,t)]},g=function(e){var t=n._textAreaState,o=u.b.selectedText(e);return[o,{text:o.value,replaceCharCnt:t.selectionEnd-t.selectionStart}]},p=function(e){return!(!c.h||"ja"!==e)||!(!c.k||0!==e.indexOf("zh-Han"))};n._register(d.g(o.domNode,"compositionupdate",(function(e){if(n._lastTextAreaEvent=2,p(e.locale)){var t=l(!1,!1),o=t[0],i=t[1];return n._textAreaState=o,n._onType.fire(i),void n._onCompositionUpdate.fire(e)}var r=g(e.data),s=r[0],a=r[1];n._textAreaState=s,n._onType.fire(a),n._onCompositionUpdate.fire(e)}))),n._register(d.g(o.domNode,"compositionend",(function(e){if(n._lastTextAreaEvent=3,p(e.locale)){var t=l(!1,!1),o=t[0],i=t[1];n._textAreaState=o,n._onType.fire(i)}else{var r=g(e.data);o=r[0],i=r[1];n._textAreaState=o,n._onType.fire(i)}(c.h||c.f)&&(n._textAreaState=u.b.readFromTextArea(n._textArea)),n._isDoingComposition&&(n._isDoingComposition=!1,n._onCompositionEnd.fire())}))),n._register(d.g(o.domNode,"input",(function(){var e=8===n._lastTextAreaEvent;if(n._lastTextAreaEvent=4,n._textArea.setIgnoreSelectionChangeTime("received input event"),!n._isDoingComposition){var t=l(h.d,e&&h.d),o=t[0],i=t[1];0===i.replaceCharCnt&&1===i.text.length&&s.isHighSurrogate(i.text.charCodeAt(0))||(n._textAreaState=o,0===n._nextCommand?""!==i.text&&n._onType.fire(i):(""!==i.text&&n._onPaste.fire({text:i.text}),n._nextCommand=0))}}))),n._register(d.g(o.domNode,"cut",(function(e){n._lastTextAreaEvent=5,n._textArea.setIgnoreSelectionChangeTime("received cut event"),n._ensureClipboardGetsEditorSelection(e),n._asyncTriggerCut.schedule()}))),n._register(d.g(o.domNode,"copy",(function(e){n._lastTextAreaEvent=6,n._ensureClipboardGetsEditorSelection(e)}))),n._register(d.g(o.domNode,"paste",(function(e){if(n._lastTextAreaEvent=7,n._textArea.setIgnoreSelectionChangeTime("received paste event"),m.canUseTextData(e)){var t=m.getTextData(e);""!==t&&n._onPaste.fire({text:t})}else n._textArea.getSelectionStart()!==n._textArea.getSelectionEnd()&&n._setAndWriteTextAreaState("paste",u.b.EMPTY),n._nextCommand=1}))),n._register(d.g(o.domNode,"focus",(function(){n._lastTextAreaEvent=8,n._setHasFocus(!0)}))),n._register(d.g(o.domNode,"blur",(function(){n._lastTextAreaEvent=9,n._setHasFocus(!1)})));var f=0;return n._register(d.g(document,"selectionchange",(function(e){if(n._hasFocus&&!n._isDoingComposition&&c.f&&h.g){var t=Date.now(),o=t-f;if(f=t,!(o<5)){var i=t-n._textArea.getIgnoreSelectionChangeTime();if(n._textArea.resetSelectionChangeTime(),!(i<100)&&n._textAreaState.selectionStartPosition&&n._textAreaState.selectionEndPosition){var s=n._textArea.getValue();if(n._textAreaState.value===s){var a=n._textArea.getSelectionStart(),l=n._textArea.getSelectionEnd();if(n._textAreaState.selectionStart!==a||n._textAreaState.selectionEnd!==l){var u=n._textAreaState.deduceEditorPosition(a),d=n._host.deduceModelPosition(u[0],u[1],u[2]),g=n._textAreaState.deduceEditorPosition(l),p=n._host.deduceModelPosition(g[0],g[1],g[2]),m=new r.a(d.lineNumber,d.column,p.lineNumber,p.column);n._onSelectionChangeRequest.fire(m)}}}}}}))),n}return g(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.focusTextArea=function(){this._setHasFocus(!0)},t.prototype.isFocused=function(){return this._hasFocus},t.prototype._setHasFocus=function(e){this._hasFocus!==e&&(this._hasFocus=e,this._hasFocus&&(c.g?this._setAndWriteTextAreaState("focusgain",u.b.EMPTY):this.writeScreenReaderContent("focusgain")),this._hasFocus?this._onFocus.fire():this._onBlur.fire())},t.prototype._setAndWriteTextAreaState=function(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t},t.prototype.writeScreenReaderContent=function(e){this._isDoingComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))},t.prototype._ensureClipboardGetsEditorSelection=function(e){var t=this._host.getPlainTextToCopy();if(m.canUseTextData(e)){var o=null;c.e()&&(t.length<65536||p.forceCopyWithSyntaxHighlighting)&&(o=this._host.getHTMLToCopy()),m.setTextData(e,t,o)}else this._setAndWriteTextAreaState("copy or cut",u.b.selectedText(t))},t}(l.a),m=function(){function e(){}return e.canUseTextData=function(e){return!!e.clipboardData||!!window.clipboardData},e.getTextData=function(e){if(e.clipboardData)return e.preventDefault(),e.clipboardData.getData("text/plain");if(window.clipboardData)return e.preventDefault(),window.clipboardData.getData("Text");throw new Error("ClipboardEventUtils.getTextData: Cannot use text data!")},e.setTextData=function(e,t,o){if(e.clipboardData)return e.clipboardData.setData("text/plain",t),null!==o&&e.clipboardData.setData("text/html",o),void e.preventDefault();if(window.clipboardData)return window.clipboardData.setData("Text",t),void e.preventDefault();throw new Error("ClipboardEventUtils.setTextData: Cannot use text data!")},e}(),_=function(e){function t(t){var o=e.call(this)||this;return o._actual=t,o._ignoreSelectionChangeTime=0,o}return g(t,e),t.prototype.setIgnoreSelectionChangeTime=function(e){this._ignoreSelectionChangeTime=Date.now()},t.prototype.getIgnoreSelectionChangeTime=function(){return this._ignoreSelectionChangeTime},t.prototype.resetSelectionChangeTime=function(){this._ignoreSelectionChangeTime=0},t.prototype.getValue=function(){return this._actual.domNode.value},t.prototype.setValue=function(e,t){var o=this._actual.domNode;o.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),o.value=t)},t.prototype.getSelectionStart=function(){return this._actual.domNode.selectionStart},t.prototype.getSelectionEnd=function(){return this._actual.domNode.selectionEnd},t.prototype.setSelectionRange=function(e,t,o){var n=this._actual.domNode,i=document.activeElement===n,r=n.selectionStart,s=n.selectionEnd;if(i&&r===t&&s===o)c.j&&window.parent!==window&&n.focus();else{if(i)return this.setIgnoreSelectionChangeTime("setSelectionRange"),n.setSelectionRange(t,o),void(c.j&&window.parent!==window&&n.focus());try{var a=d.K(n);this.setIgnoreSelectionChangeTime("setSelectionRange"),n.focus(),n.setSelectionRange(t,o),d.I(n,a)}catch(e){}}},t}(l.a)},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));var n=o(33),i=o(10),r=o(11),s=o(17),a=o(3),l=o(2),u=o(13),c=o(60);function h(e,t){var o=[],n=r.d.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideDocumentColors(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;t<i.length;t++){var r=i[t];o.push({colorInfo:r,provider:n})}}))}));return Promise.all(n).then((function(){return o}))}function d(e,t,o,n){return Promise.resolve(o.provideColorPresentations(e,t,n))}Object(a.j)("_executeDocumentColorProvider",(function(e,t){var o=t.resource;if(!(o instanceof n.a))throw Object(u.b)();var a=e.get(c.a).getModel(o);if(!a)throw Object(u.b)();var l=[],h=r.d.ordered(a).reverse().map((function(e){return Object(s.h)((function(t){return e.provideDocumentColors(a,t)})).then((function(e){if(Array.isArray(e))for(var t=0,o=e;t<o.length;t++){var n=o[t];l.push({range:n.range,color:[n.color.red,n.color.green,n.color.blue,n.color.alpha]})}}))}));return i.b.join(h).then((function(){return l}))})),Object(a.j)("_executeColorPresentationProvider",(function(e,t){var o=t.resource,a=t.color,h=t.range;if(!(o instanceof n.a&&Array.isArray(a)&&4===a.length&&l.a.isIRange(h)))throw Object(u.b)();var d=a[0],g=a[1],p=a[2],f=a[3],m=e.get(c.a).getModel(o);if(!m)throw Object(u.b)();var _={range:h,color:{red:d,green:g,blue:p,alpha:f}},y=[],v=r.d.ordered(m).reverse().map((function(e){return Object(s.h)((function(t){return e.provideColorPresentations(m,_,t)})).then((function(e){Array.isArray(e)&&y.push.apply(y,e)}))}));return i.b.join(v).then((function(){return y}))}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return l}));var n=o(43),i=o(20),r=o(2),s=o(63),a=o(8),l=function(){function e(){}return e.deleteRight=function(e,t,o,i){for(var a=[],l=3!==e,u=0,c=i.length;u<c;u++){var h=i[u],d=h;if(d.isEmpty()){var g=h.getPosition(),p=s.a.right(t,o,g.lineNumber,g.column);d=new r.a(p.lineNumber,p.column,g.lineNumber,g.column)}d.isEmpty()?a[u]=null:(d.startLineNumber!==d.endLineNumber&&(l=!0),a[u]=new n.a(d,""))}return[l,a]},e._isAutoClosingPairDelete=function(e,t,o){if(!e.autoClosingBrackets)return!1;for(var n=0,i=o.length;n<i;n++){var r=o[n],s=r.getPosition();if(!r.isEmpty())return!1;var a=t.getLineContent(s.lineNumber),l=a[s.column-2];if(!e.autoClosingPairsOpen.hasOwnProperty(l))return!1;if(a[s.column-1]!==e.autoClosingPairsOpen[l])return!1}return!0},e._runAutoClosingPairDelete=function(e,t,o){for(var i=[],s=0,a=o.length;s<a;s++){var l=o[s].getPosition(),u=new r.a(l.lineNumber,l.column-1,l.lineNumber,l.column+1);i[s]=new n.a(u,"")}return[!0,i]},e.deleteLeft=function(e,t,o,l){if(this._isAutoClosingPairDelete(t,o,l))return this._runAutoClosingPairDelete(t,o,l);for(var u=[],c=2!==e,h=0,d=l.length;h<d;h++){var g=l[h],p=g;if(p.isEmpty()){var f=g.getPosition();if(t.useTabStops&&f.column>1){var m=o.getLineContent(f.lineNumber),_=a.firstNonWhitespaceIndex(m),y=-1===_?m.length+1:_+1;if(f.column<=y){var v=i.a.visibleColumnFromColumn2(t,o,f),b=i.a.prevTabStop(v,t.tabSize),E=i.a.columnFromVisibleColumn2(t,o,f.lineNumber,b);p=new r.a(f.lineNumber,E,f.lineNumber,f.column)}else p=new r.a(f.lineNumber,f.column-1,f.lineNumber,f.column)}else{var C=s.a.left(t,o,f.lineNumber,f.column);p=new r.a(C.lineNumber,C.column,f.lineNumber,f.column)}}p.isEmpty()?u[h]=null:(p.startLineNumber!==p.endLineNumber&&(c=!0),u[h]=new n.a(p,""))}return[c,u]},e.cut=function(e,t,o){for(var s=[],a=0,l=o.length;a<l;a++){var u=o[a];if(u.isEmpty())if(e.emptySelectionClipboard){var c=u.getPosition(),h=void 0,d=void 0,g=void 0,p=void 0;c.lineNumber<t.getLineCount()?(h=c.lineNumber,d=1,g=c.lineNumber+1,p=1):c.lineNumber>1?(h=c.lineNumber-1,d=t.getLineMaxColumn(c.lineNumber-1),g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber)):(h=c.lineNumber,d=1,g=c.lineNumber,p=t.getLineMaxColumn(c.lineNumber));var f=new r.a(h,d,g,p);f.isEmpty()?s[a]=null:s[a]=new n.a(f,"")}else s[a]=null;else s[a]=new n.a(u,"")}return new i.e(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("clipboardService")},function(e,t,o){"use strict";o.d(t,"a",(function(){return r})),o.d(t,"c",(function(){return s})),o.d(t,"b",(function(){return a}));var n=o(40),i=o(8);function r(e){return n.a(e.path)||e.authority}function s(e,t,o){return!(e!==t)||!(!e||!t)&&(o?Object(i.equalsIgnoreCase)(e.toString(),t.toString()):e.toString()===t.toString())}function a(e){var t=n.b(e.path);return e.authority&&t&&!n.d(t)?null:e.with({path:t})}},function(e,t,o){"use strict";o.d(t,"b",(function(){return r})),o.d(t,"a",(function(){return s}));var n=o(0),i=function(){function e(e,t,o){void 0===o&&(o=t),this.modifierLabels=[null],this.modifierLabels[2]=e,this.modifierLabels[1]=t,this.modifierLabels[3]=o}return e.prototype.toLabel=function(e,t,o,n,i){return null===t&&null===n?null:function(e,t,o,n,i){var r=a(e,t,i);null!==n&&(r+=" ",r+=a(o,n,i));return r}(e,t,o,n,this.modifierLabels[i])},e}(),r=new i({ctrlKey:"⌃",shiftKey:"⇧",altKey:"⌥",metaKey:"⌘",separator:""},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey",comment:["This is the short form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey",comment:["This is the short form for the Control key on the keyboard"]},"Ctrl"),shiftKey:n.a({key:"shiftKey",comment:["This is the short form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey",comment:["This is the short form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey",comment:["This is the short form for the Super key on the keyboard"]},"Super"),separator:"+"}),s=new i({ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"cmdKey.long",comment:["This is the long form for the Command key on the keyboard"]},"Command"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"windowsKey.long",comment:["This is the long form for the Windows key on the keyboard"]},"Windows"),separator:"+"},{ctrlKey:n.a({key:"ctrlKey.long",comment:["This is the long form for the Control key on the keyboard"]},"Control"),shiftKey:n.a({key:"shiftKey.long",comment:["This is the long form for the Shift key on the keyboard"]},"Shift"),altKey:n.a({key:"altKey.long",comment:["This is the long form for the Alt key on the keyboard"]},"Alt"),metaKey:n.a({key:"superKey.long",comment:["This is the long form for the Super key on the keyboard"]},"Super"),separator:"+"});function a(e,t,o){if(null===t)return"";var n=[];return e.ctrlKey&&n.push(o.ctrlKey),e.shiftKey&&n.push(o.shiftKey),e.altKey&&n.push(o.altKey),e.metaKey&&n.push(o.metaKey),n.push(t),n.join(o.separator)}},function(e,t,o){"use strict";(function(t){void 0===t||!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,o,n,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var r,s,a=arguments.length;switch(a){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick((function(){e.call(null,o)}));case 3:return t.nextTick((function(){e.call(null,o,n)}));case 4:return t.nextTick((function(){e.call(null,o,n,i)}));default:for(r=new Array(a-1),s=0;s<r.length;)r[s++]=arguments[s];return t.nextTick((function(){e.apply(null,r)}))}}}:e.exports=t}).call(this,o(108))},function(e,t,o){var n=o(120),i=n.Buffer;function r(e,t){for(var o in e)t[o]=e[o]}function s(e,t,o){return i(e,t,o)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=n:(r(n,t),t.Buffer=s),r(i,s),s.from=function(e,t,o){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,o)},s.alloc=function(e,t,o){if("number"!=typeof e)throw new TypeError("Argument must be a number");var n=i(e);return void 0!==t?"string"==typeof o?n.fill(t,o):n.fill(t):n.fill(0),n},s.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},s.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return n.SlowBuffer(e)}},function(e,t,o){"use strict";(function(t){e.exports={isNode:void 0!==t,newBufferFrom:function(e,o){if(t.from&&t.from!==Uint8Array.from)return t.from(e,o);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new t(e,o)},allocBuffer:function(e){if(t.alloc)return t.alloc(e);var o=new t(e);return o.fill(0),o},isBuffer:function(e){return t.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(170),s=o(169),a=8192,l=new e("\r","ascii")[0],u=new e("\n","ascii")[0],c=function(){function t(t){void 0===t&&(t="utf8"),this.encoding=t,this.index=0,this.buffer=new e(a)}return t.prototype.append=function(t){var o=t;if("string"==typeof t){var n=t,i=e.byteLength(n,this.encoding);(o=new e(i)).write(n,0,i,this.encoding)}if(this.buffer.length-this.index>=o.length)o.copy(this.buffer,this.index,0,o.length);else{var r=(Math.ceil((this.index+o.length)/a)+1)*a;0===this.index?(this.buffer=new e(r),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],r)}this.index+=o.length},t.prototype.tryReadHeaders=function(){for(var e=void 0,t=0;t+3<this.index&&(this.buffer[t]!==l||this.buffer[t+1]!==u||this.buffer[t+2]!==l||this.buffer[t+3]!==u);)t++;if(t+3>=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split("\r\n").forEach((function(t){var o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");var n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i}));var o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e},t.prototype.tryReadContent=function(e){if(this.index<e)return null;var t=this.buffer.toString(this.encoding,0,e),o=e;return this.buffer.copy(this.buffer,0,o),this.index=this.index-o,t},Object.defineProperty(t.prototype,"numberOfBytes",{get:function(){return this.index},enumerable:!0,configurable:!0}),t}();!function(e){e.is=function(e){var t=e;return t&&s.func(t.listen)&&s.func(t.dispose)&&s.func(t.onError)&&s.func(t.onClose)&&s.func(t.onPartialMessage)}}(t.MessageReader||(t.MessageReader={}));var h=function(){function e(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter,this.partialMessageEmitter=new r.Emitter}return e.prototype.dispose=function(){this.errorEmitter.dispose(),this.closeEmitter.dispose()},Object.defineProperty(e.prototype,"onError",{get:function(){return this.errorEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireError=function(e){this.errorEmitter.fire(this.asError(e))},Object.defineProperty(e.prototype,"onClose",{get:function(){return this.closeEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireClose=function(){this.closeEmitter.fire(void 0)},Object.defineProperty(e.prototype,"onPartialMessage",{get:function(){return this.partialMessageEmitter.event},enumerable:!0,configurable:!0}),e.prototype.firePartialMessage=function(e){this.partialMessageEmitter.fire(e)},e.prototype.asError=function(e){return e instanceof Error?e:new Error("Reader recevied error. Reason: "+(s.string(e.message)?e.message:"unknown"))},e}();t.AbstractMessageReader=h;var d=function(e){function t(t,o){void 0===o&&(o="utf8");var n=e.call(this)||this;return n.readable=t,n.buffer=new c(o),n._partialMessageTimeout=1e4,n}return i(t,e),Object.defineProperty(t.prototype,"partialMessageTimeout",{get:function(){return this._partialMessageTimeout},set:function(e){this._partialMessageTimeout=e},enumerable:!0,configurable:!0}),t.prototype.listen=function(e){var t=this;this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e,this.readable.on("data",(function(e){t.onData(e)})),this.readable.on("error",(function(e){return t.fireError(e)})),this.readable.on("close",(function(){return t.fireClose()}))},t.prototype.onData=function(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){var t=this.buffer.tryReadHeaders();if(!t)return;var o=t["Content-Length"];if(!o)throw new Error("Header must provide a Content-Length property.");var n=parseInt(o);if(isNaN(n))throw new Error("Content-Length value must be a number.");this.nextMessageLength=n}var i=this.buffer.tryReadContent(this.nextMessageLength);if(null===i)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var r=JSON.parse(i);this.callback(r)}},t.prototype.clearPartialMessageTimer=function(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)},t.prototype.setPartialMessageTimer=function(){var e=this;this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((function(t,o){e.partialMessageTimer=void 0,t===e.messageToken&&(e.firePartialMessage({messageToken:t,waitingTime:o}),e.setPartialMessageTimer())}),this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))},t}(h);t.StreamMessageReader=d;var g=function(e){function t(t){var o=e.call(this)||this;o.process=t;var n=o.process;return n.on("error",(function(e){return o.fireError(e)})),n.on("close",(function(){return o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){this.process.on("message",e)},t}(h);t.IPCMessageReader=g;var p=function(e){function t(t,o){return void 0===o&&(o="utf-8"),e.call(this,t,o)||this}return i(t,e),t}(d);t.SocketMessageReader=p}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(170),s=o(169);!function(e){e.is=function(e){var t=e;return t&&s.func(t.dispose)&&s.func(t.onClose)&&s.func(t.onError)&&s.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));var a=function(){function e(){this.errorEmitter=new r.Emitter,this.closeEmitter=new r.Emitter}return e.prototype.dispose=function(){this.errorEmitter.dispose(),this.closeEmitter.dispose()},Object.defineProperty(e.prototype,"onError",{get:function(){return this.errorEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireError=function(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])},Object.defineProperty(e.prototype,"onClose",{get:function(){return this.closeEmitter.event},enumerable:!0,configurable:!0}),e.prototype.fireClose=function(){this.closeEmitter.fire(void 0)},e.prototype.asError=function(e){return e instanceof Error?e:new Error("Writer recevied error. Reason: "+(s.string(e.message)?e.message:"unknown"))},e}();t.AbstractMessageWriter=a;var l=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.writable=e,n.encoding=o,n.errorCount=0,n.writable.on("error",(function(e){return n.fireError(e)})),n.writable.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(t){var o=JSON.stringify(t),n=["Content-Length: ",e.byteLength(o,this.encoding).toString(),"\r\n","\r\n"];try{this.writable.write(n.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}},o}(a);t.StreamMessageWriter=l;var u=function(e){function t(t){var o=e.call(this)||this;o.process=t,o.errorCount=0,o.queue=[],o.sending=!1;var n=o.process;return n.on("error",(function(e){return o.fireError(e)})),n.on("close",(function(){return o.fireClose})),o}return i(t,e),t.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},t.prototype.doWriteMessage=function(e){var t=this;try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,(function(o){t.sending=!1,o?(t.errorCount++,t.fireError(o,e,t.errorCount)):t.errorCount=0,t.queue.length>0&&t.doWriteMessage(t.queue.shift())})))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(a);t.IPCMessageWriter=u;var c=function(t){function o(e,o){void 0===o&&(o="utf8");var n=t.call(this)||this;return n.socket=e,n.queue=[],n.sending=!1,n.encoding=o,n.errorCount=0,n.socket.on("error",(function(e){return n.fireError(e)})),n.socket.on("close",(function(){return n.fireClose()})),n}return i(o,t),o.prototype.write=function(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)},o.prototype.doWriteMessage=function(t){var o=this,n=JSON.stringify(t),i=["Content-Length: ",e.byteLength(n,this.encoding).toString(),"\r\n","\r\n"];try{this.sending=!0,this.socket.write(i.join(""),"ascii",(function(e){e&&o.handleError(e,t);try{o.socket.write(n,o.encoding,(function(e){o.sending=!1,e?o.handleError(e,t):o.errorCount=0,o.queue.length>0&&o.doWriteMessage(o.queue.shift())}))}catch(e){o.handleError(e,t)}}))}catch(e){this.handleError(e,t)}},o.prototype.handleError=function(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)},o}(a);t.SocketMessageWriter=c}).call(this,o(120).Buffer)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.create=function(e){return{dispose:e}}}(t.Disposable||(t.Disposable={})),function(e){const t={dispose(){}};e.None=function(){return t}}(t.Event||(t.Event={}));class n{add(e,t=null,o){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(e),this._contexts.push(t),Array.isArray(o)&&o.push({dispose:()=>this.remove(e,t)})}remove(e,t=null){if(this._callbacks){for(var o=!1,n=0,i=this._callbacks.length;n<i;n++)if(this._callbacks[n]===e){if(this._contexts[n]===t)return this._callbacks.splice(n,1),void this._contexts.splice(n,1);o=!0}if(o)throw new Error("When adding a listener with a context, you should remove it with the same context")}}invoke(...e){if(!this._callbacks)return[];for(var t=[],o=this._callbacks.slice(0),n=this._contexts.slice(0),i=0,r=o.length;i<r;i++)try{t.push(o[i].apply(n[i],e))}catch(e){console.error(e)}return t}isEmpty(){return!this._callbacks||0===this._callbacks.length}dispose(){this._callbacks=void 0,this._contexts=void 0}}class i{constructor(e){this._options=e}get event(){return this._event||(this._event=(e,t,o)=>{let r;return this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(e,t),r={dispose:()=>{this._callbacks.remove(e,t),r.dispose=i._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this)}},Array.isArray(o)&&o.push(r),r}),this._event}fire(e){this._callbacks&&this._callbacks.invoke.call(this._callbacks,e)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}}i._noop=function(){},t.Emitter=i},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","title":"JSON schema for Block definitions files","type":"object","additionalProperties":false,"properties":{"requires":{"description":"Files to be included in the code archive","type":"array","items":{"type":"string"}},"header":{"description":"Code placed at the beginning of generated code","type":"string"},"footer":{"description":"Code placed at the end of generated code","type":"string"},"blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","definition","template"],"properties":{"id":{"type":"string"},"definition":{"type":["string","array"],"items":{"type":["string","object"],"additionalProperties":false,"required":["id","type","default"],"properties":{"id":{"type":"string"},"type":{"type":"string","enum":["number","boolean","angle","text"]},"default":{}}}},"template":{"type":"string"}}}}}}')},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=function(e){this.element=e},i=function(){function e(){}return e.prototype.isEmpty=function(){return!this._first},e.prototype.unshift=function(e){return this.insert(e,!1)},e.prototype.push=function(e){return this.insert(e,!0)},e.prototype.insert=function(e,t){var o=this,i=new n(e);if(this._first)if(t){var r=this._last;this._last=i,i.prev=r,r.next=i}else{var s=this._first;this._first=i,i.next=s,s.prev=i}else this._first=i,this._last=i;return function(){for(var e=o._first;e instanceof n;e=e.next)if(e===i){if(e.prev&&e.next){var t=e.prev;t.next=e.next,e.next.prev=t}else e.prev||e.next?e.next?e.prev||(o._first=o._first.next,o._first.prev=void 0):(o._last=o._last.prev,o._last.next=void 0):(o._first=void 0,o._last=void 0);break}}},e.prototype.iterator=function(){var e={done:void 0,value:void 0},t=this._first;return{next:function(){return t?(e.done=!1,e.value=t.element,t=t.next):(e.done=!0,e.value=void 0),e}}},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return R}));var n=o(25),i=o(8),r=o(40),s=o(79),a=o(10),l="**",u="/",c="[/\\\\]",h="[^/\\\\]",d=/\//g;function g(e){switch(e){case 0:return"";case 1:return h+"*?";default:return"(?:"+c+"|"+h+"+"+c+"|"+c+h+"+)*?"}}function p(e,t){if(!e)return[];for(var o,n=[],i=!1,r=!1,s="",a=0;a<e.length;a++){switch(o=e[a]){case t:if(!i&&!r){n.push(s),s="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1}s+=o}return s&&n.push(s),n}var f=/^\*\*\/\*\.[\w\.-]+$/,m=/^\*\*\/([\w\.-]+)\/?$/,_=/^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/,y=/^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/,v=/^\*\*((\/[\w\.-]+)+)\/?$/,b=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,E=new s.a(1e4),C=function(){return!1},S=function(){return null};function T(e,t){if(!e)return S;var o,r,s=(o=(o="string"!=typeof e?e.pattern:e).trim())+"_"+!!t.trimForExclusions,a=E.get(s);if(a)return w(a,e);if(f.test(o)){var d=o.substr(4);a=function(e,t){return e&&i.endsWith(e,d)?o:null}}else a=(r=m.exec(k(o,t)))?function(e,t){var o="/"+e,n="\\"+e,r=function(r,s){return r?s?s===e?t:null:r===e||i.endsWith(r,o)||i.endsWith(r,n)?t:null:null},s=[e];return r.basenames=s,r.patterns=[t],r.allBasenames=s,r}(r[1],o):(t.trimForExclusions?y:_).test(o)?function(e,t){var o=N(e.slice(1,-1).split(",").map((function(e){return T(e,t)})).filter((function(e){return e!==S})),e),i=o.length;if(!i)return S;if(1===i)return o[0];var r=function(t,n){for(var i=0,r=o.length;i<r;i++)if(o[i](t,n))return e;return null},s=n.g(o,(function(e){return!!e.allBasenames}));s&&(r.allBasenames=s.allBasenames);var a=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);a.length&&(r.allPaths=a);return r}(o,t):(r=v.exec(k(o,t)))?O(r[1].substr(1),o,!0):(r=b.exec(k(o,t)))?O(r[1],o,!1):function(e){try{var t=new RegExp("^"+function e(t){if(!t)return"";var o="",n=p(t,u);if(n.every((function(e){return e===l})))o=".*";else{var r=!1;n.forEach((function(t,s){if(t!==l){for(var a,d=!1,f="",m=!1,_="",y=0;y<t.length;y++)if("}"!==(a=t[y])&&d)f+=a;else if(!m||"]"===a&&_)switch(a){case"{":d=!0;continue;case"[":m=!0;continue;case"}":var v="(?:"+p(f,",").map((function(t){return e(t)})).join("|")+")";o+=v,d=!1,f="";break;case"]":o+="["+_+"]",m=!1,_="";break;case"?":o+=h;continue;case"*":o+=g(1);continue;default:o+=i.escapeRegExpCharacters(a)}else{_+="-"===a?a:"^"!==a&&"!"!==a||_?a===u?"":i.escapeRegExpCharacters(a):"^"}s<n.length-1&&(n[s+1]!==l||s+2<n.length)&&(o+=c),r=!1}else r||(o+=g(2),r=!0)}))}return o}(e)+"$");return function(o,n){return t.lastIndex=0,o&&t.test(o)?e:null}}catch(e){return S}}(o);return E.set(s,a),w(a,e)}function w(e,t){return"string"==typeof t?e:function(o,n){return r.e(o,t.base)?e(r.h(t.pathToRelative(t.base,o)),n):null}}function k(e,t){return t.trimForExclusions&&i.endsWith(e,"/**")?e.substr(0,e.length-2):e}function O(e,t,o){var n=r.g!==r.i?e.replace(d,r.g):e,s=r.g+n,a=o?function(e,o){return e&&(e===n||i.endsWith(e,s))?t:null}:function(e,o){return e&&e===n?t:null};return a.allPaths=[(o?"*/":"./")+e],a}function R(e,t,o){return!(!e||!t)&&function(e,t){void 0===t&&(t={});if(!e)return C;if("string"==typeof e||(s=e,l=s,l&&"string"==typeof l.base&&"string"==typeof l.pattern&&"function"==typeof l.pathToRelative)){var o=T(e,t);if(o===S)return C;var i=function(e,t){return!!o(e,t)};return o.allBasenames&&(i.allBasenames=o.allBasenames),o.allPaths&&(i.allPaths=o.allPaths),i}var s,l;return function(e,t){var o=N(Object.getOwnPropertyNames(e).map((function(o){return function(e,t,o){if(!1===t)return S;var n=T(e,o);if(n===S)return S;if("boolean"==typeof t)return n;if(t){var i=t.when;if("string"==typeof i){var r=function(t,o,r,s){if(!s||!n(t,o))return null;var l=s(i.replace("$(basename)",r));return a.b.is(l)?l.then((function(t){return t?e:null})):l?e:null};return r.requiresSiblings=!0,r}}return n}(o,e[o],t)})).filter((function(e){return e!==S}))),i=o.length;if(!i)return S;if(!o.some((function(e){return e.requiresSiblings}))){if(1===i)return o[0];var s=function(e,t){for(var n=0,i=o.length;n<i;n++){var r=o[n](e,t);if(r)return r}return null},l=n.g(o,(function(e){return!!e.allBasenames}));l&&(s.allBasenames=l.allBasenames);var u=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);return u.length&&(s.allPaths=u),s}var c=function(e,t,n){for(var i,s=0,a=o.length;s<a;s++){var l=o[s];l.requiresSiblings&&n&&(t||(t=r.a(e)),i||(i=t.substr(0,t.length-r.c(e).length)));var u=l(e,t,i,n);if(u)return u}return null},h=n.g(o,(function(e){return!!e.allBasenames}));h&&(c.allBasenames=h.allBasenames);var d=o.reduce((function(e,t){return t.allPaths?e.concat(t.allPaths):e}),[]);d.length&&(c.allPaths=d);return c}(e,t)}(e)(t,void 0,o)}function N(e,t){var o=e.filter((function(e){return!!e.basenames}));if(o.length<2)return e;var n,i=o.reduce((function(e,t){return e.concat(t.basenames)}),[]);if(t){n=[];for(var r=0,s=i.length;r<s;r++)n.push(t)}else n=o.reduce((function(e,t){return e.concat(t.patterns)}),[]);var a=function(e,t){if(!e)return null;if(!t){var o=void 0;for(o=e.length;o>0;o--){var r=e.charCodeAt(o-1);if(47===r||92===r)break}t=e.substr(o)}var s=i.indexOf(t);return-1!==s?n[s]:null};a.basenames=i,a.patterns=n,a.allBasenames=i;var l=e.filter((function(e){return!e.basenames}));return l.push(a),l}},function(e,t,o){"use strict";o.d(t,"a",(function(){return n})),o.d(t,"b",(function(){return c}));o(441);var n,i,r,s=o(34),a=o(1),l=o(6);function u(e,t,o){var n=o.offset+o.size;return o.position===r.Before?t<=e-n?n:t<=o.offset?o.offset-t:Math.max(e-t,0):t<=o.offset?o.offset-t:t<=e-n?n:0}!function(e){e[e.LEFT=0]="LEFT",e[e.RIGHT=1]="RIGHT"}(n||(n={})),function(e){e[e.BELOW=0]="BELOW",e[e.ABOVE=1]="ABOVE"}(i||(i={})),function(e){e[e.Before=0]="Before",e[e.After=1]="After"}(r||(r={}));var c=function(){function e(e){var t=this;this.$view=Object(s.a)(".context-view").hide(),this.setContainer(e),this.toDispose=[Object(l.f)((function(){t.setContainer(null)}))],this.toDisposeOnClean=null}return e.prototype.setContainer=function(t){var o=this;this.$container&&(this.$container.getHTMLElement().removeChild(this.$view.getHTMLElement()),this.$container.off(e.BUBBLE_UP_EVENTS),this.$container.off(e.BUBBLE_DOWN_EVENTS,!0),this.$container=null),t&&(this.$container=Object(s.a)(t),this.$view.appendTo(this.$container),this.$container.on(e.BUBBLE_UP_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!1)})),this.$container.on(e.BUBBLE_DOWN_EVENTS,(function(e){o.onDOMEvent(e,document.activeElement,!0)}),null,!0))},e.prototype.show=function(e){this.isVisible()&&this.hide(),this.$view.setClass("context-view").empty().style({top:"0px",left:"0px"}).show(),this.toDisposeOnClean=e.render(this.$view.getHTMLElement()),this.delegate=e,this.doLayout()},e.prototype.layout=function(){this.isVisible()&&(!1!==this.delegate.canRelayout?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())},e.prototype.doLayout=function(){var e,t=this.delegate.getAnchor();if(a.C(t)){var o=a.u(t);e={top:o.top,left:o.left,width:o.width,height:o.height}}else{var s=t;e={top:s.y,left:s.x,width:s.width||0,height:s.height||0}}var l,c=this.$view.getTotalSize(),h=this.delegate.anchorPosition||i.BELOW,d=this.delegate.anchorAlignment||n.LEFT,g={offset:e.top,size:e.height,position:h===i.BELOW?r.Before:r.After};l=d===n.LEFT?{offset:e.left,size:0,position:r.Before}:{offset:e.left+e.width,size:0,position:r.After};var p=a.u(this.$container.getHTMLElement()),f=u(window.innerHeight,c.height,g)-p.top,m=u(window.innerWidth,c.width,l)-p.left;this.$view.removeClass("top","bottom","left","right"),this.$view.addClass(h===i.BELOW?"bottom":"top"),this.$view.addClass(d===n.LEFT?"left":"right"),this.$view.style({top:f+"px",left:m+"px",width:"initial"})},e.prototype.hide=function(e){this.delegate&&this.delegate.onHide&&this.delegate.onHide(e),this.delegate=null,this.toDisposeOnClean&&(this.toDisposeOnClean.dispose(),this.toDisposeOnClean=null),this.$view.hide()},e.prototype.isVisible=function(){return!!this.delegate},e.prototype.onDOMEvent=function(e,t,o){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):o&&!a.B(e.target,this.$container.getHTMLElement())&&this.hide())},e.prototype.dispose=function(){this.hide(),this.toDispose=Object(l.d)(this.toDispose)},e.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],e.BUBBLE_DOWN_EVENTS=["click"],e}()},function(e,t,o){"use strict";o.d(t,"b",(function(){return h})),o.d(t,"a",(function(){return d}));o(448);var n,i=o(1),r=o(125),s=o(40),a=o(165),l=o(6),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(){function e(e){this._element=e}return Object.defineProperty(e.prototype,"element",{get:function(){return this._element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{set:function(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{set:function(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{set:function(e){this.disposed||e===this._title||(this._title=e,this._title?this._element.title=e:this._element.removeAttribute("title"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"empty",{set:function(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":null)},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this.disposed=!0},e}(),h=function(e){function t(t,o){var n=e.call(this)||this;return n.domNode=n._register(new c(i.k(t,i.a(".monaco-icon-label")))),n.labelDescriptionContainer=n._register(new c(i.k(n.domNode.element,i.a(".monaco-icon-label-description-container")))),o&&o.supportHighlights?n.labelNode=n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))):n.labelNode=n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("a.label-name")))),o&&o.supportDescriptionHighlights?n.descriptionNodeFactory=function(){return n._register(new r.a(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))}:n.descriptionNodeFactory=function(){return n._register(new c(i.k(n.labelDescriptionContainer.element,i.a("span.label-description"))))},n}return u(t,e),t.prototype.setValue=function(e,t,o){var n=["monaco-icon-label"];o&&(o.extraClasses&&n.push.apply(n,o.extraClasses),o.italic&&n.push("italic")),this.domNode.className=n.join(" "),this.domNode.title=o&&o.title?o.title:"",this.labelNode instanceof r.a?this.labelNode.set(e||"",o?o.matches:void 0):this.labelNode.textContent=e||"",(t||this.descriptionNode)&&(this.descriptionNode||(this.descriptionNode=this.descriptionNodeFactory()),this.descriptionNode instanceof r.a?(this.descriptionNode.set(t||"",o?o.descriptionMatches:void 0),o&&o.descriptionTitle?this.descriptionNode.element.title=o.descriptionTitle:this.descriptionNode.element.removeAttribute("title")):(this.descriptionNode.textContent=t||"",this.descriptionNode.title=o&&o.descriptionTitle?o.descriptionTitle:"",this.descriptionNode.empty=!t))},t}(l.a),d=function(e){function t(t,o,n,i){var r=e.call(this,t)||this;return r.setFile(o,n,i),r}return u(t,e),t.prototype.setFile=function(e,t,o){var n=s.b(e.fsPath);this.setValue(Object(a.a)(e),n&&"."!==n?Object(a.b)(n,o,t):"",{title:e.fsPath})},t}(h)},function(e,t,o){"use strict";o.d(t,"b",(function(){return a})),o.d(t,"a",(function(){return l}));var n=o(8),i=o(11),r=o(69),s=o(87);function a(e,t){return function(e,t){for(var o='<div class="monaco-tokenized-source">',i=e.split(/\r\n|\r|\n/),r=t.getInitialState(),a=0,l=i.length;a<l;a++){var u=i[a];a>0&&(o+="<br/>");var c=t.tokenize2(u,r,0);s.a.convertToEndOffset(c.tokens,u.length);for(var h=new s.a(c.tokens,u).inflate(),d=0,g=0,p=h.getCount();g<p;g++){var f=h.getClassName(g),m=h.getEndOffset(g);o+='<span class="'+f+'">'+n.escape(u.substring(d,m))+"</span>",d=m}r=c.endState}return o+="</div>"}(e,function(e){var t=i.y.get(e);if(t)return t;return{getInitialState:function(){return r.c},tokenize:void 0,tokenize2:function(e,t,o){return Object(r.e)(0,e,t,o)}}}(t))}function l(e,t,o,n,i,r){for(var s="<div>",a=n,l=0,u=0,c=t.getCount();u<c;u++){var h=t.getEndOffset(u);if(!(h<=n)){for(var d="";a<h&&a<i;a++){var g=e.charCodeAt(a);switch(g){case 9:var p=r-(a+l)%r;for(l+=p-1;p>0;)d+="&nbsp;",p--;break;case 60:d+="&lt;";break;case 62:d+="&gt;";break;case 38:d+="&amp;";break;case 0:d+="&#00;";break;case 65279:case 8232:d+="�";break;case 13:d+="&#8203";break;default:d+=String.fromCharCode(g)}}if(s+='<span style="'+t.getInlineStyle(u,o)+'">'+d+"</span>",h>i||a>=i)break}}return s+="</div>"}},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(10),i=function(){function e(e,t,o,n,i,r){this.id=e,this.label=t,this.alias=o,this._precondition=n,this._run=i,this._contextKeyService=r}return e.prototype.isSupported=function(){return this._contextKeyService.contextMatchesRules(this._precondition)},e.prototype.run=function(){if(!this.isSupported())return n.b.as(void 0);var e=this._run();return e||n.b.as(void 0)},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return _}));o(469);var n=o(6),i=o(30),r=o(1),s=o(93),a=o(2),l=o(14),u=o(26),c=o(155),h=o(18),d=new l.a(new l.c(0,122,204)),g={showArrow:!0,showFrame:!0,className:"",frameColor:d,arrowColor:d,keepEditorSelection:!1},p=function(){function e(e,t,o,n,i,r){this.domNode=e,this.afterLineNumber=t,this.afterColumn=o,this.heightInLines=n,this._onDomNodeTop=i,this._onComputedHeight=r}return e.prototype.onDomNodeTop=function(e){this._onDomNodeTop(e)},e.prototype.onComputedHeight=function(e){this._onComputedHeight(e)},e}(),f=function(){function e(e,t){this._id=e,this._domNode=t}return e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return null},e}(),m=function(){function e(t){this._editor=t,this._ruleName=e._IdGenerator.nextId(),this._decorations=[]}return e.prototype.dispose=function(){this.hide(),r.F(this._ruleName)},Object.defineProperty(e.prototype,"color",{set:function(e){this._color!==e&&(this._color=e,this._updateStyle())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height!==e&&(this._height=e,this._updateStyle())},enumerable:!0,configurable:!0}),e.prototype._updateStyle=function(){r.F(this._ruleName),r.n(".monaco-editor "+this._ruleName,"border-style: solid; border-color: transparent; border-bottom-color: "+this._color+"; border-width: "+this._height+"px; bottom: -"+this._height+"px; margin-left: -"+this._height+"px; ")},e.prototype.show=function(e){this._decorations=this._editor.deltaDecorations(this._decorations,[{range:a.a.fromPositions(e),options:{className:this._ruleName,stickiness:h.h.NeverGrowsWhenTypingAtEdges}}])},e.prototype.hide=function(){this._editor.deltaDecorations(this._decorations,[])},e._IdGenerator=new c.a(".arrow-decoration-"),e}(),_=function(){function e(e,t){void 0===t&&(t={});var o=this;this._positionMarkerId=[],this._disposables=[],this._isShowing=!1,this.editor=e,this.options=i.c(t),i.g(this.options,g,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.push(this.editor.onDidLayoutChange((function(e){var t=o._getWidth(e);o.domNode.style.width=t+"px",o.domNode.style.left=o._getLeft(e)+"px",o._onWidth(t)})))}return e.prototype.dispose=function(){var e=this;Object(n.d)(this._disposables),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id),e._viewZone=null})),this.editor.deltaDecorations(this._positionMarkerId,[]),this._positionMarkerId=[]},e.prototype.create=function(){r.f(this.domNode,"zone-widget"),r.f(this.domNode,this.options.className),this.container=document.createElement("div"),r.f(this.container,"zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new m(this.editor),this._disposables.push(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()},e.prototype.style=function(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()},e.prototype._applyStyles=function(){if(this.container){var e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow){var t=this.options.arrowColor.toString();this._arrow.color=t}},e.prototype._getWidth=function(e){return e.width-e.minimapWidth-e.verticalScrollbarWidth},e.prototype._getLeft=function(e){return e.minimapWidth>0&&0===e.minimapLeft?e.minimapWidth:0},e.prototype._onViewZoneTop=function(e){this.domNode.style.top=e+"px"},e.prototype._onViewZoneHeight=function(e){this.domNode.style.height=e+"px";var t=e-this._decoratingElementsHeight();this.container.style.height=t+"px";var o=this.editor.getLayoutInfo();this._doLayout(t,this._getWidth(o)),this._resizeSash.layout()},Object.defineProperty(e.prototype,"position",{get:function(){var e=this._positionMarkerId[0];if(e){var t=this.editor.getModel().getDecorationRange(e);if(t)return t.getStartPosition()}},enumerable:!0,configurable:!0}),e.prototype.show=function(e,t){var o=a.a.isIRange(e)?e:new a.a(e.lineNumber,e.column,e.lineNumber,e.column);this._isShowing=!0,this._showImpl(o,t),this._isShowing=!1,this._positionMarkerId=this.editor.deltaDecorations(this._positionMarkerId,[{range:o,options:u.a.EMPTY}])},e.prototype.hide=function(){var e=this;this._viewZone&&(this.editor.changeViewZones((function(t){t.removeZone(e._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._arrow&&this._arrow.hide()},e.prototype._decoratingElementsHeight=function(){var e=this.editor.getConfiguration().lineHeight,t=0;this.options.showArrow&&(t+=2*Math.round(e/3));this.options.showFrame&&(t+=2*Math.round(e/9));return t},e.prototype._showImpl=function(e,t){var o=this,n={lineNumber:e.startLineNumber,column:e.startColumn},i=this.editor.getLayoutInfo(),r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px";var s=document.createElement("div");s.style.overflow="hidden";var a=this.editor.getConfiguration().lineHeight,l=this.editor.getLayoutInfo().height/a*.8;t>=l&&(t=l);var u=0,c=0;if(this.options.showArrow&&(u=Math.round(a/3),this._arrow.height=u,this._arrow.show(n)),this.options.showFrame&&(c=Math.round(a/9)),this.editor.changeViewZones((function(e){o._viewZone&&e.removeZone(o._viewZone.id),o._overlayWidget&&(o.editor.removeOverlayWidget(o._overlayWidget),o._overlayWidget=null),o.domNode.style.top="-1000px",o._viewZone=new p(s,n.lineNumber,n.column,t,(function(e){return o._onViewZoneTop(e)}),(function(e){return o._onViewZoneHeight(e)})),o._viewZone.id=e.addZone(o._viewZone),o._overlayWidget=new f("vs.editor.contrib.zoneWidget"+o._viewZone.id,o.domNode),o.editor.addOverlayWidget(o._overlayWidget)})),this.options.showFrame){var h=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=h+"px",this.container.style.borderBottomWidth=h+"px"}var d=t*a-this._decoratingElementsHeight();this.container.style.top=u+"px",this.container.style.height=d+"px",this.container.style.overflow="hidden",this._doLayout(d,r),this.options.keepEditorSelection||this.editor.setSelection(e);var g=Math.min(this.editor.getModel().getLineCount(),Math.max(1,e.endLineNumber+1));this.revealLine(g)},e.prototype.revealLine=function(e){this.editor.revealLine(e,0)},e.prototype.setCssClass=function(e,t){t&&this.container.classList.remove(t),r.f(this.container,e)},e.prototype._onWidth=function(e){},e.prototype._doLayout=function(e,t){},e.prototype._relayout=function(e){var t=this;this._viewZone.heightInLines!==e&&this.editor.changeViewZones((function(o){t._viewZone.heightInLines=e,o.layoutZone(t._viewZone.id)}))},e.prototype._initSash=function(){var e,t=this;this._resizeSash=new s.b(this.domNode,this,{orientation:s.a.HORIZONTAL}),this.options.isResizeable||(this._resizeSash.hide(),this._resizeSash.state=s.c.Disabled),this._disposables.push(this._resizeSash.onDidStart((function(o){t._viewZone&&(e={startY:o.startY,heightInLines:t._viewZone.heightInLines})}))),this._disposables.push(this._resizeSash.onDidEnd((function(){e=void 0}))),this._disposables.push(this._resizeSash.onDidChange((function(o){if(e){var n=(o.currentY-e.startY)/t.editor.getConfiguration().lineHeight,i=n<0?Math.ceil(n):Math.floor(n),r=e.heightInLines+i;r>5&&r<35&&t._relayout(r)}})))},e.prototype.getHorizontalSashLeft=function(){return 0},e.prototype.getHorizontalSashTop=function(){return parseInt(this.domNode.style.height)-this._decoratingElementsHeight()/2},e.prototype.getHorizontalSashWidth=function(){var e=this.editor.getLayoutInfo();return e.width-e.minimapWidth},e}()},function(e,t,o){"use strict";o.d(t,"a",(function(){return i}));var n=o(22),i=Object(n.c)("uriDisplay")},function(e,t,o){"use strict";o.d(t,"a",(function(){return p}));o(299);var n,i=o(24),r=o(6),s=o(4),a=o(15),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function u(e,t){return!!e[t]}var c=function(e,t){this.target=e.target,this.hasTriggerModifier=u(e.event,t.triggerModifier),this.hasSideBySideModifier=u(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=i.k||e.event.detail<=1},h=function(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=u(e,t.triggerModifier)},d=function(){function e(e,t,o,n){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=o,this.triggerSideBySideModifier=n}return e.prototype.equals=function(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier},e}();function g(e){return"altKey"===e?a.d?new d(57,"metaKey",6,"altKey"):new d(5,"ctrlKey",6,"altKey"):a.d?new d(6,"altKey",57,"metaKey"):new d(6,"altKey",5,"ctrlKey")}var p=function(e){function t(t){var o=e.call(this)||this;return o._onMouseMoveOrRelevantKeyDown=o._register(new s.a),o.onMouseMoveOrRelevantKeyDown=o._onMouseMoveOrRelevantKeyDown.event,o._onExecute=o._register(new s.a),o.onExecute=o._onExecute.event,o._onCancel=o._register(new s.a),o.onCancel=o._onCancel.event,o._editor=t,o._opts=g(o._editor.getConfiguration().multiCursorModifier),o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._register(o._editor.onDidChangeConfiguration((function(e){if(e.multiCursorModifier){var t=g(o._editor.getConfiguration().multiCursorModifier);if(o._opts.equals(t))return;o._opts=t,o.lastMouseMoveEvent=null,o.hasTriggerKeyOnMouseDown=!1,o._onCancel.fire()}}))),o._register(o._editor.onMouseMove((function(e){return o.onEditorMouseMove(new c(e,o._opts))}))),o._register(o._editor.onMouseDown((function(e){return o.onEditorMouseDown(new c(e,o._opts))}))),o._register(o._editor.onMouseUp((function(e){return o.onEditorMouseUp(new c(e,o._opts))}))),o._register(o._editor.onKeyDown((function(e){return o.onEditorKeyDown(new h(e,o._opts))}))),o._register(o._editor.onKeyUp((function(e){return o.onEditorKeyUp(new h(e,o._opts))}))),o._register(o._editor.onMouseDrag((function(){return o.resetHandler()}))),o._register(o._editor.onDidChangeCursorSelection((function(e){return o.onDidChangeCursorSelection(e)}))),o._register(o._editor.onDidChangeModel((function(e){return o.resetHandler()}))),o._register(o._editor.onDidChangeModelContent((function(){return o.resetHandler()}))),o._register(o._editor.onDidScrollChange((function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&o.resetHandler()}))),o}return l(t,e),t.prototype.onDidChangeCursorSelection=function(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this.resetHandler()},t.prototype.onEditorMouseMove=function(e){this.lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])},t.prototype.onEditorMouseDown=function(e){this.hasTriggerKeyOnMouseDown=e.hasTriggerModifier},t.prototype.onEditorMouseUp=function(e){this.hasTriggerKeyOnMouseDown&&this._onExecute.fire(e)},t.prototype.onEditorKeyDown=function(e){this.lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this.lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()},t.prototype.onEditorKeyUp=function(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()},t.prototype.resetHandler=function(){this.lastMouseMoveEvent=null,this.hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()},t}(r.a)},function(e,t,o){"use strict";o(470);var n,i,r,s=o(75),a=o(76),l=o(13),u=o(6),c=o(10),h=o(4),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(){function e(e){this._onDispose=new h.a,this.onDispose=this._onDispose.event,this._item=e}return Object.defineProperty(e.prototype,"item",{get:function(){return this._item},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose&&(this._onDispose.fire(),this._onDispose.dispose(),this._onDispose=null)},e}(),p=function(){function e(){this.locks=Object.create({})}return e.prototype.isLocked=function(e){return!!this.locks[e.id]},e.prototype.run=function(e,t){var o,n,i=this,r=this.getLock(e);return r?new c.b((function(n,s){o=Object(h.k)(r.onDispose)((function(){return i.run(e,t).then(n,s)}))}),(function(){o.dispose()})):new c.b((function(o,r){if(e.isDisposed())return r(new Error("Item is disposed."));var s=i.locks[e.id]=new g(e);return n=t().then((function(t){return delete i.locks[e.id],s.dispose(),t})).then(o,r)}),(function(){return n.cancel()}))},e.prototype.getLock=function(e){var t;for(t in this.locks){var o=this.locks[t];if(e.intersects(o.item))return o}return null},e}(),f=function(){function e(){this._isDisposed=!1,this._onDidRevealItem=new h.d,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.d,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.d,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.d,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.d,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.d,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.d,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.d,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.d,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.d,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.d,this.onDidDisposeItem=this._onDidDisposeItem.event,this.items={}}return e.prototype.register=function(e){a.a(!this.isRegistered(e.id),"item already registered: "+e.id);var t=Object(u.c)([this._onDidRevealItem.add(e.onDidReveal),this._onExpandItem.add(e.onExpand),this._onDidExpandItem.add(e.onDidExpand),this._onCollapseItem.add(e.onCollapse),this._onDidCollapseItem.add(e.onDidCollapse),this._onDidAddTraitItem.add(e.onDidAddTrait),this._onDidRemoveTraitItem.add(e.onDidRemoveTrait),this._onDidRefreshItem.add(e.onDidRefresh),this._onRefreshItemChildren.add(e.onRefreshChildren),this._onDidRefreshItemChildren.add(e.onDidRefreshChildren),this._onDidDisposeItem.add(e.onDidDispose)]);this.items[e.id]={item:e,disposable:t}},e.prototype.deregister=function(e){a.a(this.isRegistered(e.id),"item not registered: "+e.id),this.items[e.id].disposable.dispose(),delete this.items[e.id]},e.prototype.isRegistered=function(e){return this.items.hasOwnProperty(e)},e.prototype.getItem=function(e){var t=this.items[e];return t?t.item:null},e.prototype.dispose=function(){this.items=null,this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._isDisposed=!0},e.prototype.isDisposed=function(){return this._isDisposed},e}(),m=function(){function e(e,t,o,n,i){this._onDidCreate=new h.a,this._onDidReveal=new h.a,this.onDidReveal=this._onDidReveal.event,this._onExpand=new h.a,this.onExpand=this._onExpand.event,this._onDidExpand=new h.a,this.onDidExpand=this._onDidExpand.event,this._onCollapse=new h.a,this.onCollapse=this._onCollapse.event,this._onDidCollapse=new h.a,this.onDidCollapse=this._onDidCollapse.event,this._onDidAddTrait=new h.a,this.onDidAddTrait=this._onDidAddTrait.event,this._onDidRemoveTrait=new h.a,this.onDidRemoveTrait=this._onDidRemoveTrait.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onRefreshChildren=new h.a,this.onRefreshChildren=this._onRefreshChildren.event,this._onDidRefreshChildren=new h.a,this.onDidRefreshChildren=this._onDidRefreshChildren.event,this._onDidDispose=new h.a,this.onDidDispose=this._onDidDispose.event,this.registry=t,this.context=o,this.lock=n,this.element=i,this.id=e,this.registry.register(this),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.needsChildrenRefresh=!0,this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this.traits={},this.depth=0,this.expanded=this.context.dataSource.shouldAutoexpand&&this.context.dataSource.shouldAutoexpand(this.context.tree,i),this._onDidCreate.fire(this),this.visible=this._isVisible(),this.height=this._getHeight(),this._isDisposed=!1}return e.prototype.getElement=function(){return this.element},e.prototype.hasChildren=function(){return this.doesHaveChildren},e.prototype.getDepth=function(){return this.depth},e.prototype.isVisible=function(){return this.visible},e.prototype.setVisible=function(e){this.visible=e},e.prototype.isExpanded=function(){return this.expanded},e.prototype._setExpanded=function(e){this.expanded=e},e.prototype.reveal=function(e){void 0===e&&(e=null);var t={item:this,relativeTop:e};this._onDidReveal.fire(t)},e.prototype.expand=function(){var e=this;return this.isExpanded()||!this.doesHaveChildren||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var t={item:e};return e._onExpand.fire(t),(e.needsChildrenRefresh?e.refreshChildren(!1,!0,!0):c.b.as(null)).then((function(){return e._setExpanded(!0),e._onDidExpand.fire(t),!0}))})).then((function(t){return!e.isDisposed()&&(e.context.options.autoExpandSingleChildren&&t&&null!==e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.isVisible()?e.firstChild.expand().then((function(){return!0})):t)}))},e.prototype.collapse=function(e){var t=this;if(void 0===e&&(e=!1),e){var o=c.b.as(null);return this.forEachChild((function(e){o=o.then((function(){return e.collapse(!0)}))})),o.then((function(){return t.collapse(!1)}))}return!this.isExpanded()||this.lock.isLocked(this)?c.b.as(!1):this.lock.run(this,(function(){var e={item:t};return t._onCollapse.fire(e),t._setExpanded(!1),t._onDidCollapse.fire(e),c.b.as(!0)}))},e.prototype.addTrait=function(e){var t={item:this,trait:e};this.traits[e]=!0,this._onDidAddTrait.fire(t)},e.prototype.removeTrait=function(e){var t={item:this,trait:e};delete this.traits[e],this._onDidRemoveTrait.fire(t)},e.prototype.hasTrait=function(e){return this.traits[e]||!1},e.prototype.getAllTraits=function(){var e,t=[];for(e in this.traits)this.traits.hasOwnProperty(e)&&this.traits[e]&&t.push(e);return t},e.prototype.getHeight=function(){return this.height},e.prototype.refreshChildren=function(t,o,n){var i=this;if(void 0===o&&(o=!1),void 0===n&&(n=!1),!n&&!this.isExpanded())return this.needsChildrenRefresh=!0,c.b.as(this);this.needsChildrenRefresh=!1;var r=function(){var n={item:i,isNested:o};return i._onRefreshChildren.fire(n),(i.doesHaveChildren?i.context.dataSource.getChildren(i.context.tree,i.element):c.b.as([])).then((function(o){if(i.isDisposed()||i.registry.isDisposed())return c.b.as(null);if(!Array.isArray(o))return c.b.wrapError(new Error("Please return an array of children."));o=o?o.slice(0):[],o=i.sort(o);for(var n={};null!==i.firstChild;)n[i.firstChild.id]=i.firstChild,i.removeChild(i.firstChild);for(var r=0,s=o.length;r<s;r++){var a=o[r],l=i.context.dataSource.getId(i.context.tree,a),u=n[l]||new e(l,i.registry,i.context,i.lock,a);u.element=a,t&&(u.needsChildrenRefresh=t),delete n[l],i.addChild(u)}for(var h in n)n.hasOwnProperty(h)&&n[h].dispose();return t?c.a.join(i.mapEachChild((function(e){return e.doRefresh(t,!0)}))):(i.mapEachChild((function(e){return e.updateVisibility()})),c.b.as(null))})).then(null,l.e).then((function(){return i._onDidRefreshChildren.fire(n)}))};return o?r():this.lock.run(this,r)},e.prototype.doRefresh=function(e,t){return void 0===t&&(t=!1),this.doesHaveChildren=this.context.dataSource.hasChildren(this.context.tree,this.element),this.height=this._getHeight(),this.updateVisibility(),this._onDidRefresh.fire(this),this.refreshChildren(e,t)},e.prototype.updateVisibility=function(){this.setVisible(this._isVisible())},e.prototype.refresh=function(e){return this.doRefresh(e)},e.prototype.getNavigator=function(){return new y(this)},e.prototype.intersects=function(e){return this.isAncestorOf(e)||e.isAncestorOf(this)},e.prototype.isAncestorOf=function(e){for(;e;){if(e.id===this.id)return!0;e=e.parent}return!1},e.prototype.addChild=function(e,t){void 0===t&&(t=this.lastChild);var o=null===this.firstChild,n=null===t,i=t===this.lastChild;o?(this.firstChild=this.lastChild=e,e.next=e.previous=null):n?(this.firstChild.previous=e,e.next=this.firstChild,e.previous=null,this.firstChild=e):i?(this.lastChild.next=e,e.next=null,e.previous=this.lastChild,this.lastChild=e):(e.previous=t,e.next=t.next,t.next.previous=e,t.next=e),e.parent=this,e.depth=this.depth+1},e.prototype.removeChild=function(e){var t=this.firstChild===e,o=this.lastChild===e;t&&o?this.firstChild=this.lastChild=null:t?(e.next.previous=null,this.firstChild=e.next):o?(e.previous.next=null,this.lastChild=e.previous):(e.next.previous=e.previous,e.previous.next=e.next),e.parent=null,e.depth=null},e.prototype.forEachChild=function(e){for(var t,o=this.firstChild;o;)t=o.next,e(o),o=t},e.prototype.mapEachChild=function(e){var t=[];return this.forEachChild((function(o){t.push(e(o))})),t},e.prototype.sort=function(e){var t=this;return this.context.sorter?e.sort((function(e,o){return t.context.sorter.compare(t.context.tree,e,o)})):e},e.prototype._getHeight=function(){return this.context.renderer.getHeight(this.context.tree,this.element)},e.prototype._isVisible=function(){return this.context.filter.isVisible(this.context.tree,this.element)},e.prototype.isDisposed=function(){return this._isDisposed},e.prototype.dispose=function(){this.forEachChild((function(e){return e.dispose()})),this.parent=null,this.previous=null,this.next=null,this.firstChild=null,this.lastChild=null,this._onDidDispose.fire(this),this.registry.deregister(this),this._onDidCreate.dispose(),this._onDidReveal.dispose(),this._onExpand.dispose(),this._onDidExpand.dispose(),this._onCollapse.dispose(),this._onDidCollapse.dispose(),this._onDidAddTrait.dispose(),this._onDidRemoveTrait.dispose(),this._onDidRefresh.dispose(),this._onRefreshChildren.dispose(),this._onDidRefreshChildren.dispose(),this._onDidDispose.dispose(),this._isDisposed=!0},e}(),_=function(e){function t(t,o,n,i,r){return e.call(this,t,o,n,i,r)||this}return d(t,e),t.prototype.isVisible=function(){return!1},t.prototype.setVisible=function(e){},t.prototype.isExpanded=function(){return!0},t.prototype._setExpanded=function(e){},t.prototype._getHeight=function(){return 0},t.prototype._isVisible=function(){return!1},t}(m),y=function(){function e(e,t){void 0===t&&(t=!0),this.item=e,this.start=t?e:null}return e.lastDescendantOf=function(t){return t?t instanceof _?e.lastDescendantOf(t.lastChild):t.isVisible()?t.isExpanded()&&null!==t.lastChild?e.lastDescendantOf(t.lastChild):t:e.lastDescendantOf(t.previous):null},e.prototype.current=function(){return this.item||null},e.prototype.next=function(){if(this.item)do{if((this.item instanceof _||this.item.isVisible()&&this.item.isExpanded())&&this.item.firstChild)this.item=this.item.firstChild;else if(this.item===this.start)this.item=null;else{for(;this.item&&this.item!==this.start&&!this.item.next;)this.item=this.item.parent;this.item===this.start&&(this.item=null),this.item=this.item?this.item.next:null}}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.previous=function(){if(this.item)do{var t=e.lastDescendantOf(this.item.previous);t?this.item=t:this.item.parent&&this.item.parent!==this.start&&this.item.parent.isVisible()?this.item=this.item.parent:this.item=null}while(this.item&&!this.item.isVisible());return this.item||null},e.prototype.parent=function(){if(this.item){var e=this.item.parent;e&&e!==this.start&&e.isVisible()?this.item=e:this.item=null}return this.item||null},e.prototype.first=function(){return this.item=this.start,this.next(),this.item||null},e.prototype.last=function(){return e.lastDescendantOf(this.start)},e}(),v=function(){function e(e){this._onSetInput=new h.a,this.onSetInput=this._onSetInput.event,this._onDidSetInput=new h.a,this.onDidSetInput=this._onDidSetInput.event,this._onRefresh=new h.a,this.onRefresh=this._onRefresh.event,this._onDidRefresh=new h.a,this.onDidRefresh=this._onDidRefresh.event,this._onDidHighlight=new h.a,this.onDidHighlight=this._onDidHighlight.event,this._onDidSelect=new h.a,this.onDidSelect=this._onDidSelect.event,this._onDidFocus=new h.a,this.onDidFocus=this._onDidFocus.event,this._onDidRevealItem=new h.e,this.onDidRevealItem=this._onDidRevealItem.event,this._onExpandItem=new h.e,this.onExpandItem=this._onExpandItem.event,this._onDidExpandItem=new h.e,this.onDidExpandItem=this._onDidExpandItem.event,this._onCollapseItem=new h.e,this.onCollapseItem=this._onCollapseItem.event,this._onDidCollapseItem=new h.e,this.onDidCollapseItem=this._onDidCollapseItem.event,this._onDidAddTraitItem=new h.e,this.onDidAddTraitItem=this._onDidAddTraitItem.event,this._onDidRemoveTraitItem=new h.e,this.onDidRemoveTraitItem=this._onDidRemoveTraitItem.event,this._onDidRefreshItem=new h.e,this.onDidRefreshItem=this._onDidRefreshItem.event,this._onRefreshItemChildren=new h.e,this.onRefreshItemChildren=this._onRefreshItemChildren.event,this._onDidRefreshItemChildren=new h.e,this.onDidRefreshItemChildren=this._onDidRefreshItemChildren.event,this._onDidDisposeItem=new h.e,this.context=e,this.input=null,this.traitsToItems={}}return e.prototype.setInput=function(e){var t=this,o={item:this.input};this._onSetInput.fire(o),this.setSelection([]),this.setFocus(),this.setHighlight(),this.lock=new p,this.input&&this.input.dispose(),this.registry&&(this.registry.dispose(),this.registryDisposable.dispose()),this.registry=new f,this._onDidRevealItem.input=this.registry.onDidRevealItem,this._onExpandItem.input=this.registry.onExpandItem,this._onDidExpandItem.input=this.registry.onDidExpandItem,this._onCollapseItem.input=this.registry.onCollapseItem,this._onDidCollapseItem.input=this.registry.onDidCollapseItem,this._onDidAddTraitItem.input=this.registry.onDidAddTraitItem,this._onDidRemoveTraitItem.input=this.registry.onDidRemoveTraitItem,this._onDidRefreshItem.input=this.registry.onDidRefreshItem,this._onRefreshItemChildren.input=this.registry.onRefreshItemChildren,this._onDidRefreshItemChildren.input=this.registry.onDidRefreshItemChildren,this._onDidDisposeItem.input=this.registry.onDidDisposeItem,this.registryDisposable=this.registry.onDidDisposeItem((function(e){return e.getAllTraits().forEach((function(o){return delete t.traitsToItems[o][e.id]}))}));var n=this.context.dataSource.getId(this.context.tree,e);return this.input=new _(n,this.registry,this.context,this.lock,e),o={item:this.input},this._onDidSetInput.fire(o),this.refresh(this.input)},e.prototype.getInput=function(){return this.input?this.input.getElement():null},e.prototype.refresh=function(e,t){var o=this;void 0===e&&(e=null),void 0===t&&(t=!0);var n=this.getItem(e);if(!n)return c.b.as(null);var i={item:n,recursive:t};return this._onRefresh.fire(i),n.refresh(t).then((function(){o._onDidRefresh.fire(i)}))},e.prototype.expand=function(e){var t=this.getItem(e);return t?t.expand():c.b.as(!1)},e.prototype.collapse=function(e,t){void 0===t&&(t=!1);var o=this.getItem(e);return o?o.collapse(t):c.b.as(!1)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.isExpanded(e)?this.collapse(e,t):this.expand(e)},e.prototype.isExpanded=function(e){var t=this.getItem(e);return!!t&&t.isExpanded()},e.prototype.reveal=function(e,t){var o=this;return void 0===t&&(t=null),this.resolveUnknownParentChain(e).then((function(e){var t=c.b.as(null);return e.forEach((function(e){t=t.then((function(){return o.expand(e)}))})),t})).then((function(){var n=o.getItem(e);if(n)return n.reveal(t)}))},e.prototype.resolveUnknownParentChain=function(e){var t=this;return this.context.dataSource.getParent(this.context.tree,e).then((function(e){return e?t.resolveUnknownParentChain(e).then((function(t){return t.push(e),t})):c.b.as([])}))},e.prototype.setHighlight=function(e,t){this.setTraits("highlighted",e?[e]:[]);var o={highlight:this.getHighlight(),payload:t};this._onDidHighlight.fire(o)},e.prototype.getHighlight=function(e){var t=this.getElementsWithTrait("highlighted",e);return 0===t.length?null:t[0]},e.prototype.setSelection=function(e,t){this.setTraits("selected",e);var o={selection:this.getSelection(),payload:t};this._onDidSelect.fire(o)},e.prototype.getSelection=function(e){return this.getElementsWithTrait("selected",e)},e.prototype.setFocus=function(e,t){this.setTraits("focused",e?[e]:[]);var o={focus:this.getFocus(),payload:t};this._onDidFocus.fire(o)},e.prototype.getFocus=function(e){var t=this.getElementsWithTrait("focused",e);return 0===t.length?null:t[0]},e.prototype.focusNext=function(e,t){void 0===e&&(e=1);for(var o,n=this.getFocus()||this.input,i=this.getNavigator(n,!1),r=0;r<e&&(o=i.next());r++)n=o;this.setFocus(n,t)},e.prototype.focusPrevious=function(e,t){void 0===e&&(e=1);for(var o,n=this.getFocus()||this.input,i=this.getNavigator(n,!1),r=0;r<e&&(o=i.previous());r++)n=o;this.setFocus(n,t)},e.prototype.focusParent=function(e){var t=this.getFocus()||this.input,o=this.getNavigator(t,!1).parent();o&&this.setFocus(o,e)},e.prototype.focusFirstChild=function(e){var t=this.getItem(this.getFocus()||this.input),o=this.getNavigator(t,!1),n=o.next();o.parent()===t&&this.setFocus(n,e)},e.prototype.focusFirst=function(e,t){this.focusNth(0,e,t)},e.prototype.focusNth=function(e,t,o){for(var n=this.getParent(o),i=this.getNavigator(n),r=i.first(),s=0;s<e;s++)r=i.next();r&&this.setFocus(r,t)},e.prototype.focusLast=function(e,t){var o,n=this.getParent(t);t?o=n.lastChild:o=this.getNavigator(n).last();o&&this.setFocus(o,e)},e.prototype.getParent=function(e){if(e){var t=this.getItem(e);if(t&&t.parent)return t.parent}return this.getItem(this.input)},e.prototype.getNavigator=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),new y(this.getItem(e),t)},e.prototype.getItem=function(e){return void 0===e&&(e=null),null===e?this.input:e instanceof m?e:"string"==typeof e?this.registry.getItem(e):this.registry.getItem(this.context.dataSource.getId(this.context.tree,e))},e.prototype.removeTraits=function(e,t){var o,n,i=this.traitsToItems[e]||{};if(0===t.length){for(n in i)i.hasOwnProperty(n)&&(o=i[n]).removeTrait(e);delete this.traitsToItems[e]}else for(var r=0,s=t.length;r<s;r++)(o=this.getItem(t[r]))&&(o.removeTrait(e),delete i[o.id])},e.prototype.setTraits=function(e,t){if(0===t.length)this.removeTraits(e,t);else{for(var o,n={},i=0,r=t.length;i<r;i++)(o=this.getItem(t[i]))&&(n[o.id]=o);var s,a=this.traitsToItems[e]||{},l=[];for(s in a)a.hasOwnProperty(s)&&(n.hasOwnProperty(s)?delete n[s]:l.push(a[s]));for(i=0,r=l.length;i<r;i++)(o=l[i]).removeTrait(e),delete a[o.id];for(s in n)n.hasOwnProperty(s)&&((o=n[s]).addTrait(e),a[s]=o);this.traitsToItems[e]=a}},e.prototype.getElementsWithTrait=function(e,t){var o,n=[],i=this.traitsToItems[e]||{};for(o in i)i.hasOwnProperty(o)&&(i[o].isVisible()||t)&&n.push(i[o].getElement());return n},e.prototype.dispose=function(){this.registry&&(this.registry.dispose(),this.registry=null),this._onSetInput.dispose(),this._onDidSetInput.dispose(),this._onRefresh.dispose(),this._onDidRefresh.dispose(),this._onDidHighlight.dispose(),this._onDidSelect.dispose(),this._onDidFocus.dispose(),this._onDidRevealItem.dispose(),this._onExpandItem.dispose(),this._onDidExpandItem.dispose(),this._onCollapseItem.dispose(),this._onDidCollapseItem.dispose(),this._onDidAddTraitItem.dispose(),this._onDidRemoveTraitItem.dispose(),this._onDidRefreshItem.dispose(),this._onRefreshItemChildren.dispose(),this._onDidRefreshItemChildren.dispose(),this._onDidDisposeItem.dispose()},e}(),b=o(15),E=o(24),C=o(1),S=o(163),T=o(66),w=o(8),k=o(41),O=o(51),R=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e}(),N=function(){function e(e){this.elements=e}return e.prototype.update=function(e){},e}(),L=function(){function e(){this.types=[],this.files=[]}return e.prototype.update=function(e){e.dataTransfer.types&&(this.types=[],Array.prototype.push.apply(this.types,e.dataTransfer.types)),e.dataTransfer.files&&(this.files=[],Array.prototype.push.apply(this.files,e.dataTransfer.files),this.files=this.files.filter((function(e){return e.size||e.type})))},e}(),I=o(112),D=o(81),A=o(42),P=function(){function e(){this.heightMap=[],this.indexes={}}return e.prototype.getContentHeight=function(){var e=this.heightMap[this.heightMap.length-1];return e?e.top+e.height:0},e.prototype.onInsertItems=function(e,t){var o,n,i,r,s;void 0===t&&(t=null);var a=0;if(null===t)i=0,s=0;else{if(i=this.indexes[t]+1,!(n=this.heightMap[i-1]))return void console.error("view item doesnt exist");s=n.top+n.height}for(var l=this.heightMap.splice.bind(this.heightMap,i,0),u=[];o=e.next();)(n=this.createViewItem(o)).top=s+a,this.indexes[o.id]=i++,u.push(n),a+=n.height;for(l.apply(this.heightMap,u),r=i;r<this.heightMap.length;r++)(n=this.heightMap[r]).top+=a,this.indexes[n.model.id]=r;for(r=u.length-1;r>=0;r--)this.onInsertItem(u[r]);for(r=this.heightMap.length-1;r>=i;r--)this.onRefreshItem(this.heightMap[r]);return a},e.prototype.onInsertItem=function(e){},e.prototype.onRemoveItems=function(e){for(var t,o,n,i=null,r=0;t=e.next();){if(n=this.indexes[t],!(o=this.heightMap[n]))return void console.error("view item doesnt exist");r-=o.height,delete this.indexes[t],this.onRemoveItem(o),null===i&&(i=n)}if(0!==r)for(this.heightMap.splice(i,n-i+1),n=i;n<this.heightMap.length;n++)(o=this.heightMap[n]).top+=r,this.indexes[o.model.id]=n,this.onRefreshItem(o)},e.prototype.onRemoveItem=function(e){},e.prototype.onRefreshItemSet=function(e){var t=this,o=e.sort((function(e,o){return t.indexes[e.id]-t.indexes[o.id]}));this.onRefreshItems(new I.a(o))},e.prototype.onRefreshItems=function(e){for(var t,o,n,i,r=null,s=0;t=e.next();){for(i=this.indexes[t.id];0!==s&&null!==r&&r<i;r++)(o=this.heightMap[r]).top+=s,this.onRefreshItem(o);o=this.heightMap[i],n=t.getHeight(),o.top+=s,s+=n-o.height,o.height=n,this.onRefreshItem(o,!0),r=i+1}if(0!==s&&null!==r)for(;r<this.heightMap.length;r++)(o=this.heightMap[r]).top+=s,this.onRefreshItem(o)},e.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1)},e.prototype.indexAt=function(e){for(var t,o,n=0,i=this.heightMap.length;n<i;)if(t=Math.floor((n+i)/2),e<(o=this.heightMap[t]).top)i=t;else{if(!(e>=o.top+o.height))return t;if(n===t)break;n=t}return this.heightMap.length},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.heightMap.length)},e.prototype.itemAtIndex=function(e){return this.heightMap[e]},e.prototype.itemAfter=function(e){return this.heightMap[this.indexes[e.model.id]+1]||null},e.prototype.createViewItem=function(e){throw new Error("not implemented")},e.prototype.dispose=function(){this.heightMap=null,this.indexes=null},e}(),M=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),x=function(){function e(e,t,o){this._posx=e,this._posy=t,this._target=o}return e.prototype.preventDefault=function(){},e.prototype.stopPropagation=function(){},Object.defineProperty(e.prototype,"target",{get:function(){return this._target},enumerable:!0,configurable:!0}),e}(),B=function(e){function t(t){var o=e.call(this,t.posx,t.posy,t.target)||this;return o.originalEvent=t,o}return M(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(x),F=function(e){function t(t,o,n){var i=e.call(this,t,o,n.target)||this;return i.originalEvent=n,i}return M(t,e),t.prototype.preventDefault=function(){this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.originalEvent.stopPropagation()},t}(x);!function(e){e[e.COPY=0]="COPY",e[e.MOVE=1]="MOVE"}(i||(i={})),function(e){e[e.BUBBLE_DOWN=0]="BUBBLE_DOWN",e[e.BUBBLE_UP=1]="BUBBLE_UP"}(r||(r={}));var H="ResourceURLs",U=o(17),V=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var W=function(){function e(e){this.context=e,this._cache={"":[]}}return e.prototype.alloc=function(e){var t=this.cache(e).pop();if(!t){var o=document.createElement("div");o.className="content";var n=document.createElement("div");n.appendChild(o),t={element:n,templateId:e,templateData:this.context.renderer.renderTemplate(this.context.tree,e,o)}}return t},e.prototype.release=function(e,t){!function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t.element),this.cache(e).push(t)},e.prototype.cache=function(e){return this._cache[e]||(this._cache[e]=[])},e.prototype.garbageCollect=function(){var e=this;this._cache&&Object.keys(this._cache).forEach((function(t){e._cache[t].forEach((function(o){e.context.renderer.disposeTemplate(e.context.tree,t,o.templateData),o.element=null,o.templateData=null})),delete e._cache[t]}))},e.prototype.dispose=function(){this.garbageCollect(),this._cache=null,this.context=null},e}(),j=function(){function e(e,t){var o=this;this.width=0,this.context=e,this.model=t,this.id=this.model.id,this.row=null,this.top=0,this.height=t.getHeight(),this._styles={},t.getAllTraits().forEach((function(e){return o._styles[e]=!0})),t.isExpanded()&&this.addClass("expanded")}return Object.defineProperty(e.prototype,"expanded",{set:function(e){e?this.addClass("expanded"):this.removeClass("expanded")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"loading",{set:function(e){e?this.addClass("loading"):this.removeClass("loading")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"draggable",{get:function(){return this._draggable},set:function(e){this._draggable=e,this.render(!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dropTarget",{set:function(e){e?this.addClass("drop-target"):this.removeClass("drop-target")},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this.row&&this.row.element},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId||(this._templateId=this.context.renderer.getTemplateId&&this.context.renderer.getTemplateId(this.context.tree,this.model.getElement()))},enumerable:!0,configurable:!0}),e.prototype.addClass=function(e){this._styles[e]=!0,this.render(!0)},e.prototype.removeClass=function(e){delete this._styles[e],this.render(!0)},e.prototype.render=function(e){var t=this;if(void 0===e&&(e=!1),this.model&&this.element){var o=["monaco-tree-row"];o.push.apply(o,Object.keys(this._styles)),this.model.hasChildren()&&o.push("has-children"),this.element.className=o.join(" "),this.element.draggable=this.draggable,this.element.style.height=this.height+"px",this.element.setAttribute("role","treeitem");var n=this.context.accessibilityProvider,i=n.getAriaLabel(this.context.tree,this.model.getElement());if(i&&this.element.setAttribute("aria-label",i),n.getPosInSet&&n.getSetSize&&(this.element.setAttribute("aria-setsize",n.getSetSize()),this.element.setAttribute("aria-posinset",n.getPosInSet(this.context.tree,this.model.getElement()))),this.model.hasTrait("focused")){var r=w.safeBtoa(this.model.id);this.element.setAttribute("aria-selected","true"),this.element.setAttribute("id",r)}else this.element.setAttribute("aria-selected","false"),this.element.removeAttribute("id");this.model.hasChildren()?this.element.setAttribute("aria-expanded",String(!!this._styles.expanded)):this.element.removeAttribute("aria-expanded"),this.element.setAttribute("aria-level",String(this.model.getDepth())),this.context.options.paddingOnRow?this.element.style.paddingLeft=this.context.options.twistiePixels+(this.model.getDepth()-1)*this.context.options.indentPixels+"px":(this.element.style.paddingLeft=(this.model.getDepth()-1)*this.context.options.indentPixels+"px",this.row.element.firstElementChild.style.paddingLeft=this.context.options.twistiePixels+"px");var s=this.context.dnd.getDragURI(this.context.tree,this.model.getElement());if(s!==this.uri&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),s?(this.uri=s,this.draggable=!0,this.unbindDragStart=C.g(this.element,"dragstart",(function(e){t.onDragStart(e)}))):this.uri=null),!e&&this.element){var a=window.getComputedStyle(this.element),l=parseFloat(a.paddingLeft);this.context.horizontalScrolling&&(this.element.style.width="fit-content"),this.context.renderer.renderElement(this.context.tree,this.model.getElement(),this.templateId,this.row.templateData),this.context.horizontalScrolling&&(this.width=C.t(this.element)+l,this.element.style.width="")}}},e.prototype.insertInDOM=function(e,t){if(this.row||(this.row=this.context.cache.alloc(this.templateId),this.element[z.BINDING]=this),!this.element.parentElement){if(null===t)e.appendChild(this.element);else try{e.insertBefore(this.element,t)}catch(t){console.warn("Failed to locate previous tree element"),e.appendChild(this.element)}this.render()}},e.prototype.removeFromDOM=function(){this.row&&(this.unbindDragStart&&(this.unbindDragStart.dispose(),this.unbindDragStart=null),this.uri=null,this.element[z.BINDING]=null,this.context.cache.release(this.templateId,this.row),this.row=null)},e.prototype.dispose=function(){this.row=null,this.model=null},e}(),G=function(e){function t(t,o,n){var i=e.call(this,t,o)||this;return i.row={element:n,templateData:null,templateId:null},i}return V(t,e),t.prototype.render=function(){if(this.model&&this.element){var e=["monaco-tree-wrapper"];e.push.apply(e,Object.keys(this._styles)),this.model.hasChildren()&&e.push("has-children"),this.element.className=e.join(" ")}},t.prototype.insertInDOM=function(e,t){},t.prototype.removeFromDOM=function(){},t}(j);var z=function(e){function t(o,n){var i=e.call(this)||this;i.lastClickTimeStamp=0,i.contentWidthUpdateDelayer=new U.a(50),i.isRefreshing=!1,i.refreshingPreviousChildrenIds={},i._onDOMFocus=new h.a,i._onDOMBlur=new h.a,i._onDidScroll=new h.a,t.counter++,i.instance=t.counter;var r=void 0===o.options.horizontalScrollMode?A.b.Hidden:o.options.horizontalScrollMode;i.horizontalScrolling=r!==A.b.Hidden,i.context={dataSource:o.dataSource,renderer:o.renderer,controller:o.controller,dnd:o.dnd,filter:o.filter,sorter:o.sorter,tree:o.tree,accessibilityProvider:o.accessibilityProvider,options:o.options,cache:new W(o),horizontalScrolling:i.horizontalScrolling},i.modelListeners=[],i.viewListeners=[],i.model=null,i.items={},i.domNode=document.createElement("div"),i.domNode.className="monaco-tree no-focused-item monaco-tree-instance-"+i.instance,i.domNode.tabIndex=o.options.preventRootFocus?-1:0,i.styleElement=C.o(i.domNode),i.treeStyler=o.styler,i.treeStyler||(i.treeStyler=new s.f(i.styleElement,"monaco-tree-instance-"+i.instance)),i.domNode.setAttribute("role","tree"),i.context.options.ariaLabel&&i.domNode.setAttribute("aria-label",i.context.options.ariaLabel),i.context.options.alwaysFocused&&C.f(i.domNode,"focused"),i.context.options.paddingOnRow||C.f(i.domNode,"no-row-padding"),i.wrapper=document.createElement("div"),i.wrapper.className="monaco-tree-wrapper",i.scrollableElement=new D.b(i.wrapper,{alwaysConsumeMouseWheel:!0,horizontal:r,vertical:void 0!==o.options.verticalScrollMode?o.options.verticalScrollMode:A.b.Auto,useShadows:o.options.useShadows}),i.scrollableElement.onScroll((function(e){i.render(e.scrollTop,e.height,e.scrollLeft,e.width,e.scrollWidth),i._onDidScroll.fire()})),E.k?(i.wrapper.style.msTouchAction="none",i.wrapper.style.msContentZooming="none"):T.b.addTarget(i.wrapper),i.rowsContainer=document.createElement("div"),i.rowsContainer.className="monaco-tree-rows",o.options.showTwistie&&(i.rowsContainer.className+=" show-twisties");var a=C.O(i.domNode);return i.viewListeners.push(a.onDidFocus((function(){return i.onFocus()}))),i.viewListeners.push(a.onDidBlur((function(){return i.onBlur()}))),i.viewListeners.push(a),i.viewListeners.push(C.g(i.domNode,"keydown",(function(e){return i.onKeyDown(e)}))),i.viewListeners.push(C.g(i.domNode,"keyup",(function(e){return i.onKeyUp(e)}))),i.viewListeners.push(C.g(i.domNode,"mousedown",(function(e){return i.onMouseDown(e)}))),i.viewListeners.push(C.g(i.domNode,"mouseup",(function(e){return i.onMouseUp(e)}))),i.viewListeners.push(C.g(i.wrapper,"click",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.wrapper,"auxclick",(function(e){return i.onClick(e)}))),i.viewListeners.push(C.g(i.domNode,"contextmenu",(function(e){return i.onContextMenu(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Tap,(function(e){return i.onTap(e)}))),i.viewListeners.push(C.g(i.wrapper,T.a.Change,(function(e){return i.onTouchChange(e)}))),E.k&&(i.viewListeners.push(C.g(i.wrapper,"MSPointerDown",(function(e){return i.onMsPointerDown(e)}))),i.viewListeners.push(C.g(i.wrapper,"MSGestureTap",(function(e){return i.onMsGestureTap(e)}))),i.viewListeners.push(C.i(i.wrapper,"MSGestureChange",(function(e){return i.onThrottledMsGestureChange(e)}),(function(e,t){t.stopPropagation(),t.preventDefault();var o={translationY:t.translationY,translationX:t.translationX};return e&&(o.translationY+=e.translationY,o.translationX+=e.translationX),o})))),i.viewListeners.push(C.g(window,"dragover",(function(e){return i.onDragOver(e)}))),i.viewListeners.push(C.g(i.wrapper,"drop",(function(e){return i.onDrop(e)}))),i.viewListeners.push(C.g(window,"dragend",(function(e){return i.onDragEnd(e)}))),i.viewListeners.push(C.g(window,"dragleave",(function(e){return i.onDragOver(e)}))),i.wrapper.appendChild(i.rowsContainer),i.domNode.appendChild(i.scrollableElement.getDomNode()),n.appendChild(i.domNode),i.lastRenderTop=0,i.lastRenderHeight=0,i.didJustPressContextMenuKey=!1,i.currentDropTarget=null,i.currentDropTargets=[],i.shouldInvalidateDropReaction=!1,i.dragAndDropScrollInterval=null,i.dragAndDropScrollTimeout=null,i.onHiddenScrollTop=null,i.onRowsChanged(),i.layout(),i.setupMSGesture(),i.applyStyles(o.options),i}return V(t,e),Object.defineProperty(t.prototype,"onDOMFocus",{get:function(){return this._onDOMFocus.event},enumerable:!0,configurable:!0}),t.prototype.applyStyles=function(e){this.treeStyler.style(e)},t.prototype.createViewItem=function(e){return new j(this.context,e)},t.prototype.getHTMLElement=function(){return this.domNode},t.prototype.focus=function(){this.domNode.focus()},t.prototype.isFocused=function(){return document.activeElement===this.domNode},t.prototype.blur=function(){this.domNode.blur()},t.prototype.setupMSGesture=function(){var e=this;window.MSGesture&&(this.msGesture=new MSGesture,setTimeout((function(){return e.msGesture.target=e.wrapper}),100))},t.prototype.isTreeVisible=function(){return null===this.onHiddenScrollTop},t.prototype.layout=function(e,t){this.isTreeVisible()&&(this.viewHeight=e||C.s(this.wrapper),this.scrollHeight=this.getContentHeight(),this.horizontalScrolling&&(this.viewWidth=t||C.t(this.wrapper)))},t.prototype.render=function(e,t,o,n,i){var r,s,a=e,l=e+t,u=this.lastRenderTop+this.lastRenderHeight;for(r=this.indexAfter(l)-1,s=this.indexAt(Math.max(u,a));r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=Math.min(this.indexAt(this.lastRenderTop),this.indexAfter(l))-1,s=this.indexAt(a);r>=s;r--)this.insertItemInDOM(this.itemAtIndex(r));for(r=this.indexAt(this.lastRenderTop),s=Math.min(this.indexAt(a),this.indexAfter(u));r<s;r++)this.removeItemFromDOM(this.itemAtIndex(r));for(r=Math.max(this.indexAfter(l),this.indexAt(this.lastRenderTop)),s=this.indexAfter(u);r<s;r++)this.removeItemFromDOM(this.itemAtIndex(r));var c=this.itemAtIndex(this.indexAt(a));c&&(this.rowsContainer.style.top=c.top-a+"px"),this.horizontalScrolling&&(this.rowsContainer.style.left=-o+"px",this.rowsContainer.style.width=Math.max(i,n)+"px"),this.lastRenderTop=a,this.lastRenderHeight=l-a},t.prototype.setModel=function(e){this.releaseModel(),this.model=e,this.model.onRefresh(this.onRefreshing,this,this.modelListeners),this.model.onDidRefresh(this.onRefreshed,this,this.modelListeners),this.model.onSetInput(this.onClearingInput,this,this.modelListeners),this.model.onDidSetInput(this.onSetInput,this,this.modelListeners),this.model.onDidFocus(this.onModelFocusChange,this,this.modelListeners),this.model.onRefreshItemChildren(this.onItemChildrenRefreshing,this,this.modelListeners),this.model.onDidRefreshItemChildren(this.onItemChildrenRefreshed,this,this.modelListeners),this.model.onDidRefreshItem(this.onItemRefresh,this,this.modelListeners),this.model.onExpandItem(this.onItemExpanding,this,this.modelListeners),this.model.onDidExpandItem(this.onItemExpanded,this,this.modelListeners),this.model.onCollapseItem(this.onItemCollapsing,this,this.modelListeners),this.model.onDidRevealItem(this.onItemReveal,this,this.modelListeners),this.model.onDidAddTraitItem(this.onItemAddTrait,this,this.modelListeners),this.model.onDidRemoveTraitItem(this.onItemRemoveTrait,this,this.modelListeners)},t.prototype.onRefreshing=function(){this.isRefreshing=!0},t.prototype.onRefreshed=function(){this.isRefreshing=!1,this.onRowsChanged()},t.prototype.onRowsChanged=function(e){void 0===e&&(e=this.scrollTop),this.isRefreshing||(this.scrollTop=e,this.updateScrollWidth())},t.prototype.updateScrollWidth=function(){var e=this;this.horizontalScrolling&&this.contentWidthUpdateDelayer.trigger((function(){for(var t=0,o=0,n=Object.keys(e.items);o<n.length;o++){var i=n[o];t=Math.max(t,e.items[i].width)}e.scrollWidth=t+10}))},t.prototype.focusNextPage=function(e){var t=this,o=this.indexAt(this.scrollTop+this.viewHeight);o=0===o?0:o-1;var n=this.itemAtIndex(o).model.getElement();if(this.model.getFocus()!==n)this.model.setFocus(n,e);else{var i=this.scrollTop;this.scrollTop+=this.viewHeight,this.scrollTop!==i&&setTimeout((function(){t.focusNextPage(e)}),0)}},t.prototype.focusPreviousPage=function(e){var t,o=this;t=0===this.scrollTop?this.indexAt(this.scrollTop):this.indexAfter(this.scrollTop-1);var n=this.itemAtIndex(t).model.getElement();if(this.model.getFocus()!==n)this.model.setFocus(n,e);else{var i=this.scrollTop;this.scrollTop-=this.viewHeight,this.scrollTop!==i&&setTimeout((function(){o.focusPreviousPage(e)}),0)}},Object.defineProperty(t.prototype,"viewHeight",{get:function(){return this.scrollableElement.getScrollDimensions().height},set:function(e){this.scrollableElement.setScrollDimensions({height:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollHeight",{set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"viewWidth",{get:function(){return this.scrollableElement.getScrollDimensions().width},set:function(e){this.scrollableElement.setScrollDimensions({width:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollWidth",{set:function(e){this.scrollableElement.setScrollDimensions({scrollWidth:e})},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"scrollTop",{get:function(){return this.scrollableElement.getScrollPosition().scrollTop},set:function(e){this.scrollableElement.setScrollDimensions({scrollHeight:this.getContentHeight()}),this.scrollableElement.setScrollPosition({scrollTop:e})},enumerable:!0,configurable:!0}),t.prototype.onClearingInput=function(e){var t=e.item;t&&(this.onRemoveItems(new I.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onSetInput=function(e){this.context.cache.garbageCollect(),this.inputItem=new G(this.context,e.item,this.wrapper)},t.prototype.onItemChildrenRefreshing=function(e){var o=e.item,n=this.items[o.id];if(n&&this.context.options.showLoading&&(n.loadingTimer=setTimeout((function(){n.loadingTimer=0,n.loading=!0}),t.LOADING_DECORATION_DELAY)),!e.isNested){for(var i,r=[],s=o.getNavigator();i=s.next();)r.push(i.id);this.refreshingPreviousChildrenIds[o.id]=r}},t.prototype.onItemChildrenRefreshed=function(e){var t=this,o=e.item,n=this.items[o.id];if(n&&(n.loadingTimer&&(clearTimeout(n.loadingTimer),n.loadingTimer=0),n.loading=!1),!e.isNested){for(var i,r=this.refreshingPreviousChildrenIds[o.id],s=[],a=o.getNavigator();i=a.next();)s.push(i);var l=Math.abs(r.length-s.length)>1e3,u=void 0,c=void 0;if(!l)c=(u=new S.a({getLength:function(){return r.length},getElementAtIndex:function(e){return r[e]}},{getLength:function(){return s.length},getElementAtIndex:function(e){return s[e].id}},null).ComputeDiff(!1)).some((function(e){if(e.modifiedLength>0)for(var o=e.modifiedStart,n=e.modifiedStart+e.modifiedLength;o<n;o++)if(t.items.hasOwnProperty(s[o].id))return!0;return!1}));if(!l&&!c&&u.length<50)for(var h=0,d=u.length;h<d;h++){var g=u[h];if(g.originalLength>0&&this.onRemoveItems(new I.a(r,g.originalStart,g.originalStart+g.originalLength)),g.modifiedLength>0){var p=s[g.modifiedStart-1]||o;p=p.getDepth()>0?p:null,this.onInsertItems(new I.a(s,g.modifiedStart,g.modifiedStart+g.modifiedLength),p?p.id:null)}}else(l||u.length)&&(this.onRemoveItems(new I.a(r)),this.onInsertItems(new I.a(s),o.getDepth()>0?o.id:null));(l||u.length)&&this.onRowsChanged()}},t.prototype.onItemRefresh=function(e){this.onItemsRefresh([e])},t.prototype.onItemsRefresh=function(e){var t=this;this.onRefreshItemSet(e.filter((function(e){return t.items.hasOwnProperty(e.id)}))),this.onRowsChanged()},t.prototype.onItemExpanding=function(e){var t=this.items[e.item.id];t&&(t.expanded=!0)},t.prototype.onItemExpanded=function(e){var t=e.item,o=this.items[t.id];if(o){o.expanded=!0;var n=this.onInsertItems(t.getNavigator(),t.id),i=this.scrollTop;o.top+o.height<=this.scrollTop&&(i+=n),this.onRowsChanged(i)}},t.prototype.onItemCollapsing=function(e){var t=e.item,o=this.items[t.id];o&&(o.expanded=!1,this.onRemoveItems(new I.c(t.getNavigator(),(function(e){return e&&e.id}))),this.onRowsChanged())},t.prototype.onItemReveal=function(e){var t=e.item,o=e.relativeTop,n=this.items[t.id];if(n)if(null!==o){o=(o=o<0?0:o)>1?1:o;var i=n.height-this.viewHeight;this.scrollTop=i*o+n.top}else{var r=n.top+n.height,s=this.scrollTop+this.viewHeight;n.top<this.scrollTop?this.scrollTop=n.top:r>=s&&(this.scrollTop=r-this.viewHeight)}},t.prototype.onItemAddTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.addClass(o),"highlighted"===o&&(C.f(this.domNode,o),n&&(this.highlightedItemWasDraggable=!!n.draggable,n.draggable&&(n.draggable=!1)))},t.prototype.onItemRemoveTrait=function(e){var t=e.item,o=e.trait,n=this.items[t.id];n&&n.removeClass(o),"highlighted"===o&&(C.G(this.domNode,o),this.highlightedItemWasDraggable&&(n.draggable=!0),this.highlightedItemWasDraggable=!1)},t.prototype.onModelFocusChange=function(){var e=this.model&&this.model.getFocus();C.N(this.domNode,"no-focused-item",!e),e?this.domNode.setAttribute("aria-activedescendant",w.safeBtoa(this.context.dataSource.getId(this.context.tree,e))):this.domNode.removeAttribute("aria-activedescendant")},t.prototype.onInsertItem=function(e){var t=this;e.onDragStart=function(o){t.onDragStart(e,o)},e.needsRender=!0,this.refreshViewItem(e),this.items[e.id]=e},t.prototype.onRefreshItem=function(e,t){void 0===t&&(t=!1),e.needsRender=e.needsRender||t,this.refreshViewItem(e)},t.prototype.onRemoveItem=function(e){this.removeItemFromDOM(e),e.dispose(),delete this.items[e.id]},t.prototype.refreshViewItem=function(e){e.render(),this.shouldBeRendered(e)?this.insertItemInDOM(e):this.removeItemFromDOM(e)},t.prototype.onClick=function(e){if(!this.lastPointerType||"mouse"===this.lastPointerType){var t=new k.b(e),o=this.getItemAround(t.target);o&&(E.k&&Date.now()-this.lastClickTimeStamp<300&&(t.detail=2),this.lastClickTimeStamp=Date.now(),this.context.controller.onClick(this.context.tree,o.model.getElement(),t))}},t.prototype.onMouseDown=function(e){if(this.didJustPressContextMenuKey=!1,this.context.controller.onMouseDown&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseDown(this.context.tree,o.model.getElement(),t)}}},t.prototype.onMouseUp=function(e){if(this.context.controller.onMouseUp&&(!this.lastPointerType||"mouse"===this.lastPointerType)){var t=new k.b(e);if(!(t.ctrlKey&&b.e&&b.d)){var o=this.getItemAround(t.target);o&&this.context.controller.onMouseUp(this.context.tree,o.model.getElement(),t)}}},t.prototype.onTap=function(e){var t=this.getItemAround(e.initialTarget);t&&this.context.controller.onTap(this.context.tree,t.model.getElement(),e)},t.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},t.prototype.onContextMenu=function(e){var t,o;if(e instanceof KeyboardEvent||this.didJustPressContextMenuKey){this.didJustPressContextMenuKey=!1;var n,i=new O.a(e);if(o=this.model.getFocus()){var r=this.context.dataSource.getId(this.context.tree,o),s=this.items[r];n=C.u(s.element)}else o=this.model.getInput(),n=C.u(this.inputItem.element);t=new F(n.left+n.width,n.top,i)}else{var a=new k.b(e),l=this.getItemAround(a.target);if(!l)return;o=l.model.getElement(),t=new B(a)}this.context.controller.onContextMenu(this.context.tree,o,t)},t.prototype.onKeyDown=function(e){var t=new O.a(e);this.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode,this.didJustPressContextMenuKey&&(t.preventDefault(),t.stopPropagation()),t.target&&t.target.tagName&&"input"===t.target.tagName.toLowerCase()||this.context.controller.onKeyDown(this.context.tree,t)},t.prototype.onKeyUp=function(e){this.didJustPressContextMenuKey&&this.onContextMenu(e),this.didJustPressContextMenuKey=!1,this.context.controller.onKeyUp(this.context.tree,new O.a(e))},t.prototype.onDragStart=function(e,o){if(!this.model.getHighlight()){var n,i=e.model.getElement(),r=this.model.getSelection();if(n=r.indexOf(i)>-1?r:[i],o.dataTransfer.effectAllowed="copyMove",o.dataTransfer.setData(H,JSON.stringify([e.uri])),o.dataTransfer.setDragImage){var s=void 0;s=this.context.dnd.getDragLabel?this.context.dnd.getDragLabel(this.context.tree,n):String(n.length);var a=document.createElement("div");a.className="monaco-tree-drag-image",a.textContent=s,document.body.appendChild(a),o.dataTransfer.setDragImage(a,-10,-10),setTimeout((function(){return document.body.removeChild(a)}),0)}this.currentDragAndDropData=new R(n),t.currentExternalDragAndDropData=new N(n),this.context.dnd.onDragStart(this.context.tree,this.currentDragAndDropData,new k.a(o))}},t.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=C.w(this.wrapper).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.viewHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},t.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},t.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},t.prototype.onDragOver=function(e){var o,n=this,s=new k.a(e),a=this.getItemAround(s.target);if(!a||0===s.posx&&0===s.posy&&s.browserEvent.type===C.d.DRAG_LEAVE)return this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.cancelDragAndDropScrollInterval(),this.currentDropTarget=null,this.currentDropElement=null,this.dragAndDropMouseY=null,!1;if(this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=s.posy,!this.currentDragAndDropData)if(t.currentExternalDragAndDropData)this.currentDragAndDropData=t.currentExternalDragAndDropData;else{if(!s.dataTransfer.types)return!1;this.currentDragAndDropData=new L}this.currentDragAndDropData.update(s);var l,u=a.model;do{if(o=u?u.getElement():this.model.getInput(),!(l=this.context.dnd.onDragOver(this.context.tree,this.currentDragAndDropData,o,s))||l.bubble!==r.BUBBLE_UP)break;u=u&&u.parent}while(u);if(!u)return this.currentDropElement=null,!1;var h=l&&l.accept;h?(this.currentDropElement=u.getElement(),s.preventDefault(),s.dataTransfer.dropEffect=l.effect===i.COPY?"copy":"move"):this.currentDropElement=null;var d,g,p=u.id===this.inputItem.id?this.inputItem:this.items[u.id];if((this.shouldInvalidateDropReaction||this.currentDropTarget!==p||(d=this.currentDropElementReaction,g=l,!(!d&&!g||d&&g&&d.accept===g.accept&&d.bubble===g.bubble&&d.effect===g.effect)))&&(this.shouldInvalidateDropReaction=!1,this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[],this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null)),this.currentDropTarget=p,this.currentDropElementReaction=l,h)){if(this.currentDropTarget&&(this.currentDropTarget.dropTarget=!0,this.currentDropTargets.push(this.currentDropTarget)),l.bubble===r.BUBBLE_DOWN)for(var f,m=u.getNavigator();f=m.next();)(a=this.items[f.id])&&(a.dropTarget=!0,this.currentDropTargets.push(a));l.autoExpand&&(this.currentDropPromise=c.b.timeout(500).then((function(){return n.context.tree.expand(n.currentDropElement)})).then((function(){return n.shouldInvalidateDropReaction=!0})))}return!0},t.prototype.onDrop=function(e){if(this.currentDropElement){var t=new k.a(e);t.preventDefault(),this.currentDragAndDropData.update(t),this.context.dnd.drop(this.context.tree,this.currentDragAndDropData,this.currentDropElement,t),this.onDragEnd(e)}this.cancelDragAndDropScrollInterval()},t.prototype.onDragEnd=function(e){this.currentDropTarget&&(this.currentDropTargets.forEach((function(e){return e.dropTarget=!1})),this.currentDropTargets=[]),this.currentDropPromise&&(this.currentDropPromise.cancel(),this.currentDropPromise=null),this.cancelDragAndDropScrollInterval(),this.currentDragAndDropData=null,t.currentExternalDragAndDropData=null,this.currentDropElement=null,this.currentDropTarget=null,this.dragAndDropMouseY=null},t.prototype.onFocus=function(){this.context.options.alwaysFocused||C.f(this.domNode,"focused"),this._onDOMFocus.fire()},t.prototype.onBlur=function(){this.context.options.alwaysFocused||C.G(this.domNode,"focused"),this.domNode.removeAttribute("aria-activedescendant"),this._onDOMBlur.fire()},t.prototype.onMsPointerDown=function(e){if(this.msGesture){var t=e.pointerType;t!==(e.MSPOINTER_TYPE_MOUSE||"mouse")?t===(e.MSPOINTER_TYPE_TOUCH||"touch")&&(this.lastPointerType="touch",e.stopPropagation(),e.preventDefault(),this.msGesture.addPointer(e.pointerId)):this.lastPointerType="mouse"}},t.prototype.onThrottledMsGestureChange=function(e){this.scrollTop-=e.translationY},t.prototype.onMsGestureTap=function(e){e.initialTarget=document.elementFromPoint(e.clientX,e.clientY),this.onTap(e)},t.prototype.insertItemInDOM=function(e){var t=null,o=this.itemAfter(e);o&&o.element&&(t=o.element),e.insertInDOM(this.rowsContainer,t)},t.prototype.removeItemFromDOM=function(e){e&&e.removeFromDOM()},t.prototype.shouldBeRendered=function(e){return e.top<this.lastRenderTop+this.lastRenderHeight&&e.top+e.height>this.lastRenderTop},t.prototype.getItemAround=function(e){var o=this.inputItem;do{if(e[t.BINDING]&&(o=e[t.BINDING]),e===this.wrapper||e===this.domNode)return o;if(e===document.body)return null}while(e=e.parentElement)},t.prototype.releaseModel=function(){this.model&&(this.modelListeners=u.d(this.modelListeners),this.model=null)},t.prototype.dispose=function(){var t=this;this.scrollableElement.dispose(),this.releaseModel(),this.modelListeners=null,this.viewListeners=u.d(this.viewListeners),this._onDOMFocus.dispose(),this._onDOMBlur.dispose(),this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.domNode=null,this.items&&(Object.keys(this.items).forEach((function(e){return t.items[e].removeFromDOM()})),this.items=null),this.context.cache&&(this.context.cache.dispose(),this.context.cache=null),e.prototype.dispose.call(this)},t.BINDING="monaco-tree-row",t.LOADING_DECORATION_DELAY=800,t.counter=0,t.currentExternalDragAndDropData=null,t}(P),K=o(14),Y=o(30);o.d(t,"a",(function(){return $}));var X=function(e,t,o){if(void 0===o&&(o={}),this.tree=e,this.configuration=t,this.options=o,!t.dataSource)throw new Error("You must provide a Data Source to the tree.");this.dataSource=t.dataSource,this.renderer=t.renderer,this.controller=t.controller||new s.c({clickBehavior:s.a.ON_MOUSE_UP,keyboardSupport:"boolean"!=typeof o.keyboardSupport||o.keyboardSupport}),this.dnd=t.dnd||new s.d,this.filter=t.filter||new s.e,this.sorter=t.sorter||null,this.accessibilityProvider=t.accessibilityProvider||new s.b,this.styler=t.styler||null},q={listFocusBackground:K.a.fromHex("#073655"),listActiveSelectionBackground:K.a.fromHex("#0E639C"),listActiveSelectionForeground:K.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:K.a.fromHex("#094771"),listFocusAndSelectionForeground:K.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:K.a.fromHex("#3F3F46"),listHoverBackground:K.a.fromHex("#2A2D2E"),listDropBackground:K.a.fromHex("#383B3D")},$=function(){function e(e,t,o){void 0===o&&(o={}),this._onDidChangeFocus=new h.e,this.onDidChangeFocus=this._onDidChangeFocus.event,this._onDidChangeSelection=new h.e,this.onDidChangeSelection=this._onDidChangeSelection.event,this._onHighlightChange=new h.e,this._onDidExpandItem=new h.e,this._onDidCollapseItem=new h.e,this._onDispose=new h.a,this.onDidDispose=this._onDispose.event,this.container=e,Object(Y.g)(o,q,!1),o.twistiePixels="number"==typeof o.twistiePixels?o.twistiePixels:32,o.showTwistie=!1!==o.showTwistie,o.indentPixels="number"==typeof o.indentPixels?o.indentPixels:12,o.alwaysFocused=!0===o.alwaysFocused,o.useShadows=!1!==o.useShadows,o.paddingOnRow=!1!==o.paddingOnRow,o.showLoading=!1!==o.showLoading,this.context=new X(this,t,o),this.model=new v(this.context),this.view=new z(this.context,this.container),this.view.setModel(this.model),this._onDidChangeFocus.input=this.model.onDidFocus,this._onDidChangeSelection.input=this.model.onDidSelect,this._onHighlightChange.input=this.model.onDidHighlight,this._onDidExpandItem.input=this.model.onDidExpandItem,this._onDidCollapseItem.input=this.model.onDidCollapseItem}return e.prototype.style=function(e){this.view.applyStyles(e)},Object.defineProperty(e.prototype,"onDidFocus",{get:function(){return this.view&&this.view.onDOMFocus},enumerable:!0,configurable:!0}),e.prototype.getHTMLElement=function(){return this.view.getHTMLElement()},e.prototype.layout=function(e,t){this.view.layout(e,t)},e.prototype.domFocus=function(){this.view.focus()},e.prototype.isDOMFocused=function(){return this.view.isFocused()},e.prototype.domBlur=function(){this.view.blur()},e.prototype.setInput=function(e){return this.model.setInput(e)},e.prototype.getInput=function(){return this.model.getInput()},e.prototype.refresh=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!0),this.model.refresh(e,t)},e.prototype.expand=function(e){return this.model.expand(e)},e.prototype.collapse=function(e,t){return void 0===t&&(t=!1),this.model.collapse(e,t)},e.prototype.toggleExpansion=function(e,t){return void 0===t&&(t=!1),this.model.toggleExpansion(e,t)},e.prototype.isExpanded=function(e){return this.model.isExpanded(e)},e.prototype.reveal=function(e,t){return void 0===t&&(t=null),this.model.reveal(e,t)},e.prototype.getHighlight=function(){return this.model.getHighlight()},e.prototype.clearHighlight=function(e){this.model.setHighlight(null,e)},e.prototype.setSelection=function(e,t){this.model.setSelection(e,t)},e.prototype.getSelection=function(){return this.model.getSelection()},e.prototype.clearSelection=function(e){this.model.setSelection([],e)},e.prototype.setFocus=function(e,t){this.model.setFocus(e,t)},e.prototype.getFocus=function(){return this.model.getFocus()},e.prototype.focusNext=function(e,t){this.model.focusNext(e,t)},e.prototype.focusPrevious=function(e,t){this.model.focusPrevious(e,t)},e.prototype.focusParent=function(e){this.model.focusParent(e)},e.prototype.focusFirstChild=function(e){this.model.focusFirstChild(e)},e.prototype.focusFirst=function(e,t){this.model.focusFirst(e,t)},e.prototype.focusNth=function(e,t){this.model.focusNth(e,t)},e.prototype.focusLast=function(e,t){this.model.focusLast(e,t)},e.prototype.focusNextPage=function(e){this.view.focusNextPage(e)},e.prototype.focusPreviousPage=function(e){this.view.focusPreviousPage(e)},e.prototype.clearFocus=function(e){this.model.setFocus(null,e)},e.prototype.dispose=function(){this._onDispose.fire(),null!==this.model&&(this.model.dispose(),this.model=null),null!==this.view&&(this.view.dispose(),this.view=null),this._onDidChangeFocus.dispose(),this._onDidChangeSelection.dispose(),this._onHighlightChange.dispose(),this._onDidExpandItem.dispose(),this._onDidCollapseItem.dispose(),this._onDispose.dispose()},e}()},function(e,t,o){"use strict";o(446);var n=o(0),i=o(13),r=o(4),s=o(6),a=o(62),l=o(8),u=o(10),c=o(14),h=o(34),d=o(1),g=o(93),p=(o(447),o(30)),f={badgeBackground:c.a.fromHex("#4D4D4D"),badgeForeground:c.a.fromHex("#FFFFFF")},m=function(){function e(e,t){this.options=t||Object.create(null),Object(p.g)(this.options,f,!1),this.badgeBackground=this.options.badgeBackground,this.badgeForeground=this.options.badgeForeground,this.badgeBorder=this.options.badgeBorder,this.element=Object(d.k)(e,Object(d.a)(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}return e.prototype.setCount=function(e){this.count=e,this.render()},e.prototype.setTitleFormat=function(e){this.titleFormat=e,this.render()},e.prototype.render=function(){this.element.textContent=Object(l.format)(this.countFormat,this.count),this.element.title=Object(l.format)(this.titleFormat,this.count),this.applyStyles()},e.prototype.style=function(e){this.badgeBackground=e.badgeBackground,this.badgeForeground=e.badgeForeground,this.badgeBorder=e.badgeBorder,this.applyStyles()},e.prototype.applyStyles=function(){if(this.element){var e=this.badgeBackground?this.badgeBackground.toString():null,t=this.badgeForeground?this.badgeForeground.toString():null,o=this.badgeBorder?this.badgeBorder.toString():null;this.element.style.backgroundColor=e,this.element.style.color=t,this.element.style.borderWidth=o?"1px":null,this.element.style.borderStyle=o?"solid":null,this.element.style.borderColor=o}},e}(),_=o(204),y=o(22),v=o(143),b=o(2),E=o(26),C=o(157),S=o(113),T=o(56),w=o(133),k=o(7),O=o(19),R=o(118),N=Object(y.c)("environmentService"),L=o(33),I=o(18),D=o(134),A=o(12),P=o(75),M=o(208),x=o(178);o.d(t,"b",(function(){return J})),o.d(t,"a",(function(){return Z}));var B,F=(B=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}B(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),H=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},U=function(e,t){return function(o,n){t(o,n,e)}},V=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},W=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},j=function(){function e(e,t){var o=this;this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=[],this._callOnModelChange=[],this._callOnDispose.push(this._editor.onDidChangeModel((function(){return o._onModelChanged()}))),this._onModelChanged()}return e.prototype.dispose=function(){this._callOnModelChange=Object(s.d)(this._callOnModelChange),this._callOnDispose=Object(s.d)(this._callOnDispose),this.removeDecorations()},e.prototype._onModelChanged=function(){this._callOnModelChange=Object(s.d)(this._callOnModelChange);var e=this._editor.getModel();if(e)for(var t=0,o=this._model.groups;t<o.length;t++){var n=o[t];if(n.uri.toString()===e.uri.toString())return void this._addDecorations(n)}},e.prototype._addDecorations=function(t){var o=this;this._callOnModelChange.push(this._editor.getModel().onDidChangeDecorations((function(e){return o._onDecorationChanged()})));for(var n=[],i=[],r=0,s=t.children.length;r<s;r++){var a=t.children[r];this._decorationIgnoreSet.has(a.id)||(n.push({range:a.range,options:e.DecorationOptions}),i.push(r))}var l=this._editor.deltaDecorations([],n);for(r=0;r<l.length;r++)this._decorations.set(l[r],t.children[i[r]])},e.prototype._onDecorationChanged=function(){var e=this,t=[];this._decorations.forEach((function(o,n){var i=e._editor.getModel().getDecorationRange(n);if(i){var r=!1;if(!b.a.equalsRange(i,o.range))b.a.spansMultipleLines(i)?r=!0:o.range.endColumn-o.range.startColumn!==i.endColumn-i.startColumn&&(r=!0),r?(e._decorationIgnoreSet.add(o.id),t.push(n)):o.range=i}}));for(var o=0,n=t.length;o<n;o++)this._decorations.delete(t[o]);this._editor.deltaDecorations(t,[])},e.prototype.removeDecorations=function(){var e=[];this._decorations.forEach((function(t,o){e.push(o)})),this._editor.deltaDecorations(e,[]),this._decorations.clear()},e.DecorationOptions=E.a.register({stickiness:I.h.NeverGrowsWhenTypingAtEdges,className:"reference-decoration"}),e}(),G=function(){function e(e){this._textModelResolverService=e}return e.prototype.getId=function(e,t){return t instanceof T.c?"root":t instanceof T.a?t.id:t instanceof T.b?t.id:void 0},e.prototype.hasChildren=function(e,t){return t instanceof T.c||t instanceof T.a&&!t.failure},e.prototype.getChildren=function(e,t){return t instanceof T.c?u.b.as(t.groups):t instanceof T.a?t.resolve(this._textModelResolverService).then((function(o){return t.failure?e.refresh(t).then((function(){return o.children})):o.children})):u.b.as([])},e.prototype.getParent=function(e,t){var o=null;return t instanceof T.a?o=t.parent:t instanceof T.b&&(o=t.parent),u.b.as(o)},e=H([U(0,w.a)],e)}(),z=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._onDidFocus=new r.a,t.onDidFocus=t._onDidFocus.event,t._onDidSelect=new r.a,t.onDidSelect=t._onDidSelect.event,t._onDidOpenToSide=new r.a,t.onDidOpenToSide=t._onDidOpenToSide.event,t}return F(t,e),t.prototype.onTap=function(t,o,n){if(o instanceof T.a)return n.preventDefault(),n.stopPropagation(),this._expandCollapse(t,o);var i=e.prototype.onTap.call(this,t,o,n);return this._onDidFocus.fire(o),i},t.prototype.onMouseDown=function(t,o,n){var i=2===n.detail;if(n.leftButton){if(o instanceof T.a&&(this.openOnSingleClick||i||this.isClickOnTwistie(n)))return n.preventDefault(),n.stopPropagation(),this._expandCollapse(t,o);var r=e.prototype.onClick.call(this,t,o,n);return(n.ctrlKey||n.metaKey||n.altKey)&&(i||this.openOnSingleClick)?this._onDidOpenToSide.fire(o):i?this._onDidSelect.fire(o):this.openOnSingleClick&&this._onDidFocus.fire(o),r}return!1},t.prototype.onClick=function(t,o,n){return!n.leftButton&&e.prototype.onClick.call(this,t,o,n)},t.prototype._expandCollapse=function(e,t){return e.isExpanded(t)?e.collapse(t).done(null,i.e):e.expand(t).done(null,i.e),!0},t.prototype.onEscape=function(e,t){return!1},t.prototype.dispose=function(){this._onDidFocus.dispose(),this._onDidSelect.dispose(),this._onDidOpenToSide.dispose()},t}(D.d),K=function(){function e(e,t,o,n){var i=this;this._contextService=t,this._environmentService=o;var r=document.createElement("div");d.f(r,"reference-file"),e.appendChild(r),this.file=new _.a(r,L.a.parse("no:file"),this._contextService,this._environmentService),this.badge=new m(Object(h.a)(".count").appendTo(r).getHTMLElement());var s=Object(R.a)(this.badge,n);this.dispose=function(){i.file.dispose(),s.dispose()}}return e.prototype.set=function(e){this.file.setFile(e.uri,this._contextService,this._environmentService);var t=e.children.length;this.badge.setCount(t),e.failure?this.badge.setTitleFormat(n.a("referencesFailre","Failed to resolve file.")):t>1?this.badge.setTitleFormat(n.a("referencesCount","{0} references",t)):this.badge.setTitleFormat(n.a("referenceCount","{0} reference",t))},e=H([U(1,v.a),U(2,Object(y.d)(N)),U(3,O.c)],e)}(),Y=function(){function e(e){var t=document.createElement("div");this.before=document.createElement("span"),this.inside=document.createElement("span"),this.after=document.createElement("span"),d.f(this.inside,"referenceMatch"),d.f(t,"reference"),t.appendChild(this.before),t.appendChild(this.inside),t.appendChild(this.after),e.appendChild(t)}return e.prototype.set=function(e){var t=e.parent.preview.preview(e.range),o=t.before,n=t.inside,i=t.after;this.before.innerHTML=l.escape(o),this.inside.innerHTML=l.escape(n),this.after.innerHTML=l.escape(i)},e}(),X=function(){function e(e,t,o){this._contextService=e,this._themeService=t,this._environmentService=o}return e.prototype.getHeight=function(e,t){return 23},e.prototype.getTemplateId=function(t,o){if(o instanceof T.a)return e._ids.FileReferences;if(o instanceof T.b)return e._ids.OneReference;throw o},e.prototype.renderTemplate=function(t,o,n){if(o===e._ids.FileReferences)return new K(n,this._contextService,this._environmentService,this._themeService);if(o===e._ids.OneReference)return new Y(n);throw o},e.prototype.renderElement=function(e,t,o,n){if(t instanceof T.a)n.set(t);else{if(!(t instanceof T.b))throw o;n.set(t)}},e.prototype.disposeTemplate=function(e,t,o){o instanceof K&&o.dispose()},e._ids={FileReferences:"FileReferences",OneReference:"OneReference"},e=H([U(0,v.a),U(1,O.c),U(2,Object(y.d)(N))],e)}(),q=function(){function e(){}return e.prototype.getAriaLabel=function(e,t){return t instanceof T.a?t.getAriaMessage():t instanceof T.b?t.getAriaMessage():void 0},e}(),$=function(){function e(e,t){var o,n=this;this._disposables=[],this._onDidChangePercentages=new r.a,this._ratio=t,this._sash=new g.b(e,{getVerticalSashLeft:function(){return n._width*n._ratio},getVerticalSashHeight:function(){return n._height}}),this._disposables.push(this._sash.onDidStart((function(e){o=e.startX-n._width*n.ratio}))),this._disposables.push(this._sash.onDidChange((function(e){var t=e.currentX-o;t>20&&t+20<n._width&&(n._ratio=t/n._width,n._sash.layout(),n._onDidChangePercentages.fire(n))})))}return e.prototype.dispose=function(){this._sash.dispose(),this._onDidChangePercentages.dispose(),Object(s.d)(this._disposables)},Object.defineProperty(e.prototype,"onDidChangePercentages",{get:function(){return this._onDidChangePercentages.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"width",{set:function(e){this._width=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"height",{set:function(e){this._height=e,this._sash.layout()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"percentages",{get:function(){var e=100*this._ratio;return[e+"%",100-e+"%"]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"ratio",{get:function(){return this._ratio},enumerable:!0,configurable:!0}),e}(),J=new A.f("referenceSearchTreeFocused",!0),Z=function(e){function t(t,o,n,i,s,a,l){var u=e.call(this,t,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0})||this;return u._defaultTreeKeyboardSupport=o,u.layoutData=n,u._textModelResolverService=s,u._instantiationService=a,u._uriDisplay=l,u._disposeOnNewModel=[],u._callOnDispose=[],u._onDidSelectReference=new r.a,u._applyTheme(i.getTheme()),u._callOnDispose.push(i.onThemeChange(u._applyTheme.bind(u))),u.create(),u}return F(t,e),t.prototype._applyTheme=function(e){var t=e.getColor(oe)||c.a.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(Q)||c.a.transparent,primaryHeadingColor:e.getColor(ee),secondaryHeadingColor:e.getColor(te)})},t.prototype.dispose=function(){this.setModel(null),this._callOnDispose=Object(s.d)(this._callOnDispose),Object(s.d)(this._preview,this._previewNotAvailableMessage,this._tree,this._sash,this._previewModelReference),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"onDidSelectReference",{get:function(){return this._onDidSelectReference.event},enumerable:!0,configurable:!0}),t.prototype.show=function(t){this.editor.revealRangeInCenterIfOutsideViewport(t,0),e.prototype.show.call(this,t,this.layoutData.heightInLines||18)},t.prototype.focus=function(){this._tree.domFocus()},t.prototype._onTitleClick=function(e){this._preview&&this._preview.getModel()&&this._onDidSelectReference.fire({element:this._getFocusedReference(),kind:e.ctrlKey||e.metaKey||e.altKey?"side":"open",source:"title"})},t.prototype._fillBody=function(e){var t=this,o=Object(h.a)(e);this.setCssClass("reference-zone-widget"),o.div({class:"messages"},(function(e){t._messageContainer=e.hide()})),o.div({class:"preview inline"},(function(e){t._preview=t._instantiationService.createInstance(C.a,e.getHTMLElement(),{scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:14,horizontal:"auto",useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1},overviewRulerLanes:2,fixedOverflowWidgets:!0,minimap:{enabled:!1}},t.editor),t._previewContainer=e.hide(),t._previewNotAvailableMessage=E.b.createFromString(n.a("missingPreviewMessage","no preview available"))})),this._sash=new $(e,this.layoutData.ratio||.8),this._sash.onDidChangePercentages((function(){var e=t._sash.percentages,o=e[0],n=e[1];t._previewContainer.style({width:o}),t._treeContainer.style({width:n}),t._preview.layout(),t._tree.layout(),t.layoutData.ratio=t._sash.ratio})),o.div({class:"ref-tree inline"},(function(e){var o=t._instantiationService.createInstance(z,{keyboardSupport:t._defaultTreeKeyboardSupport,clickBehavior:P.a.ON_MOUSE_UP});t._callOnDispose.push(o);var i={dataSource:t._instantiationService.createInstance(G),renderer:t._instantiationService.createInstance(X),controller:o,accessibilityProvider:new q},r={twistiePixels:20,ariaLabel:n.a("treeAriaLabel","References")};t._tree=t._instantiationService.createInstance(D.c,e.getHTMLElement(),i,r),J.bindTo(t._tree.contextKeyService);var s=function(e,o){e instanceof T.b&&("show"===o&&t._revealReference(e,!1),t._onDidSelectReference.fire({element:e,kind:o,source:"tree"}))};t._disposables.push(t._tree.onDidChangeFocus((function(e){e&&e.payload&&"keyboard"===e.payload.origin&&s(e.focus,"show")}))),t._disposables.push(t._tree.onDidChangeSelection((function(e){e&&e.payload&&"keyboard"===e.payload.origin&&s(e.selection[0],"goto")}))),t._disposables.push(o.onDidFocus((function(e){return s(e,"show")}))),t._disposables.push(o.onDidSelect((function(e){return s(e,"goto")}))),t._disposables.push(o.onDidOpenToSide((function(e){return s(e,"side")}))),t._treeContainer=e.hide()}))},t.prototype._doLayoutBody=function(t,o){e.prototype._doLayoutBody.call(this,t,o);var n=t+"px";this._sash.height=t,this._sash.width=o;var i=this._sash.percentages,r=i[0],s=i[1];this._previewContainer.style({height:n,width:r}),this._treeContainer.style({height:n,width:s}),this._tree.layout(t),this._preview.layout(),this.layoutData={heightInLines:this._viewZone.heightInLines,ratio:this._sash.ratio}},t.prototype._onWidth=function(e){this._sash.width=e,this._preview.layout()},t.prototype.setSelection=function(e){var t=this;return this._revealReference(e,!0).then((function(){t._tree.setSelection([e]),t._tree.setFocus(e)}))},t.prototype.setModel=function(e){if(this._disposeOnNewModel=Object(s.d)(this._disposeOnNewModel),this._model=e,this._model)return this._onNewModel()},t.prototype._onNewModel=function(){var e=this;if(this._model.empty)return this.setTitle(""),this._messageContainer.innerHtml(n.a("noResults","No results")).show(),u.b.as(void 0);this._messageContainer.hide(),this._decorationsManager=new j(this._preview,this._model),this._disposeOnNewModel.push(this._decorationsManager),this._disposeOnNewModel.push(this._model.onDidChangeReferenceRange((function(t){return e._tree.refresh(t)}))),this._disposeOnNewModel.push(this._preview.onMouseDown((function(t){var o=t.event,n=t.target;2===o.detail&&e._onDidSelectReference.fire({element:{uri:e._getFocusedReference().uri,range:n.range},kind:o.ctrlKey||o.metaKey||o.altKey?"side":"open",source:"editor"})}))),d.f(this.container,"results-loaded"),this._treeContainer.show(),this._previewContainer.show(),this._preview.layout(),this._tree.layout(),this.focus();var t=1===this._model.groups.length?this._model.groups[0]:this._model;return this._tree.setInput(t)},t.prototype._getFocusedReference=function(){var e=this._tree.getFocus();return e instanceof T.b?e:e instanceof T.a&&e.children.length>0?e.children[0]:void 0},t.prototype._revealReference=function(e,t){return V(this,void 0,void 0,(function(){var o,r=this;return W(this,(function(l){switch(l.label){case 0:return e.uri.scheme!==a.a.inMemory?this.setTitle(Object(x.a)(e.uri),this._uriDisplay.getLabel(Object(x.b)(e.uri),!1)):this.setTitle(n.a("peekView.alternateTitle","References")),o=this._textModelResolverService.createModelReference(e.uri),t?[4,this._tree.reveal(e.parent)]:[3,2];case 1:l.sent(),l.label=2;case 2:return[2,u.b.join([o,this._tree.reveal(e)]).then((function(t){var o=t[0];if(r._model){Object(s.d)(r._previewModelReference);var n=o.object;if(n){r._previewModelReference=o;var i=r._preview.getModel()===n.textEditorModel;r._preview.setModel(n.textEditorModel);var a=b.a.lift(e.range).collapseToStart();r._preview.setSelection(a),r._preview.revealRangeInCenter(a,i?0:1)}else r._preview.setModel(r._previewNotAvailableMessage),o.dispose()}else o.dispose()}),i.e)]}}))}))},t=H([U(3,O.c),U(4,w.a),U(5,y.a),U(6,M.a)],t)}(S.b),Q=Object(k.kb)("peekViewTitle.background",{dark:"#1E1E1E",light:"#FFFFFF",hc:"#0C141F"},n.a("peekViewTitleBackground","Background color of the peek view title area.")),ee=Object(k.kb)("peekViewTitleLabel.foreground",{dark:"#FFFFFF",light:"#333333",hc:"#FFFFFF"},n.a("peekViewTitleForeground","Color of the peek view title.")),te=Object(k.kb)("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#6c6c6cb3",hc:"#FFFFFF99"},n.a("peekViewTitleInfoForeground","Color of the peek view title info.")),oe=Object(k.kb)("peekView.border",{dark:"#007acc",light:"#007acc",hc:k.e},n.a("peekViewBorder","Color of the peek view borders and arrow.")),ne=Object(k.kb)("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hc:c.a.black},n.a("peekViewResultsBackground","Background color of the peek view result list.")),ie=Object(k.kb)("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hc:c.a.white},n.a("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list.")),re=Object(k.kb)("peekViewResult.fileForeground",{dark:c.a.white,light:"#1E1E1E",hc:c.a.white},n.a("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list.")),se=Object(k.kb)("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hc:null},n.a("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list.")),ae=Object(k.kb)("peekViewResult.selectionForeground",{dark:c.a.white,light:"#6C6C6C",hc:c.a.white},n.a("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list.")),le=Object(k.kb)("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hc:c.a.black},n.a("peekViewEditorBackground","Background color of the peek view editor.")),ue=Object(k.kb)("peekViewEditorGutter.background",{dark:le,light:le,hc:le},n.a("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor.")),ce=Object(k.kb)("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hc:null},n.a("peekViewResultsMatchHighlight","Match highlight color in the peek view result list.")),he=Object(k.kb)("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hc:null},n.a("peekViewEditorMatchHighlight","Match highlight color in the peek view editor.")),de=Object(k.kb)("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hc:k.b},n.a("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));Object(O.e)((function(e,t){var o=e.getColor(ce);o&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: "+o+"; }");var n=e.getColor(he);n&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: "+n+"; }");var i=e.getColor(de);i&&t.addRule(".monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid "+i+"; box-sizing: border-box; }");var r=e.getColor(k.b);r&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted "+r+"; box-sizing: border-box; }");var s=e.getColor(ne);s&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { background-color: "+s+"; }");var a=e.getColor(ie);a&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree { color: "+a+"; }");var l=e.getColor(re);l&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .reference-file { color: "+l+"; }");var u=e.getColor(se);u&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: "+u+"; }");var c=e.getColor(ae);c&&t.addRule(".monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: "+c+" !important; }");var h=e.getColor(le);h&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background,.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input {\tbackground-color: "+h+";}");var d=e.getColor(ue);d&&t.addRule(".monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: "+d+";}")}))},function(e,t,o){"use strict";var n,i="object"==typeof Reflect?Reflect:null,r=i&&"function"==typeof i.apply?i.apply:function(e,t,o){return Function.prototype.apply.call(e,t,o)};n=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var s=Number.isNaN||function(e){return e!=e};function a(){a.init.call(this)}e.exports=a,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function u(e){return void 0===e._maxListeners?a.defaultMaxListeners:e._maxListeners}function c(e,t,o,n){var i,r,s,a;if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o);if(void 0===(r=e._events)?(r=e._events=Object.create(null),e._eventsCount=0):(void 0!==r.newListener&&(e.emit("newListener",t,o.listener?o.listener:o),r=e._events),s=r[t]),void 0===s)s=r[t]=o,++e._eventsCount;else if("function"==typeof s?s=r[t]=n?[o,s]:[s,o]:n?s.unshift(o):s.push(o),(i=u(e))>0&&s.length>i&&!s.warned){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");l.name="MaxListenersExceededWarning",l.emitter=e,l.type=t,l.count=s.length,a=l,console&&console.warn&&console.warn(a)}return e}function h(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);this.fired||(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,r(this.listener,this.target,e))}function d(e,t,o){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:o},i=h.bind(n);return i.listener=o,n.wrapFn=i,i}function g(e,t,o){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?o?[i.listener||i]:[i]:o?function(e){for(var t=new Array(e.length),o=0;o<t.length;++o)t[o]=e[o].listener||e[o];return t}(i):f(i,i.length)}function p(e){var t=this._events;if(void 0!==t){var o=t[e];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function f(e,t){for(var o=new Array(t),n=0;n<t;++n)o[n]=e[n];return o}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");l=e}}),a.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||s(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(e){for(var t=[],o=1;o<arguments.length;o++)t.push(arguments[o]);var n="error"===e,i=this._events;if(void 0!==i)n=n&&void 0===i.error;else if(!n)return!1;if(n){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var l=i[e];if(void 0===l)return!1;if("function"==typeof l)r(l,this,t);else{var u=l.length,c=f(l,u);for(o=0;o<u;++o)r(c[o],this,t)}return!0},a.prototype.addListener=function(e,t){return c(this,e,t,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(e,t){return c(this,e,t,!0)},a.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.on(e,d(this,e,t)),this},a.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);return this.prependListener(e,d(this,e,t)),this},a.prototype.removeListener=function(e,t){var o,n,i,r,s;if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t);if(void 0===(n=this._events))return this;if(void 0===(o=n[e]))return this;if(o===t||o.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete n[e],n.removeListener&&this.emit("removeListener",e,o.listener||t));else if("function"!=typeof o){for(i=-1,r=o.length-1;r>=0;r--)if(o[r]===t||o[r].listener===t){s=o[r].listener,i=r;break}if(i<0)return this;0===i?o.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(o,i),1===o.length&&(n[e]=o[0]),void 0!==n.removeListener&&this.emit("removeListener",e,s||t)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(e){var t,o,n;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[e]),this;if(0===arguments.length){var i,r=Object.keys(o);for(n=0;n<r.length;++n)"removeListener"!==(i=r[n])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=o[e]))this.removeListener(e,t);else if(void 0!==t)for(n=t.length-1;n>=0;n--)this.removeListener(e,t[n]);return this},a.prototype.listeners=function(e){return g(this,e,!0)},a.prototype.rawListeners=function(e){return g(this,e,!1)},a.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]}},function(e,t,o){(t=e.exports=o(267)).Stream=t,t.Readable=t,t.Writable=o(214),t.Duplex=o(136),t.Transform=o(271),t.PassThrough=o(334)},function(e,t,o){"use strict";(function(t,n,i){var r=o(180);function s(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,o){var n=e.entry;e.entry=null;for(;n;){var i=n.callback;t.pendingcb--,i(o),n=n.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=y;var a,l=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?n:r.nextTick;y.WritableState=_;var u=o(167);u.inherits=o(147);var c={deprecate:o(333)},h=o(268),d=o(181).Buffer,g=i.Uint8Array||function(){};var p,f=o(269);function m(){}function _(e,t){a=a||o(136),e=e||{};var n=t instanceof a;this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===e.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var o=e._writableState,n=o.sync,i=o.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(o),t)!function(e,t,o,n,i){--t.pendingcb,o?(r.nextTick(i,n),r.nextTick(T,e,t),e._writableState.errorEmitted=!0,e.emit("error",n)):(i(n),e._writableState.errorEmitted=!0,e.emit("error",n),T(e,t))}(e,o,n,t,i);else{var s=C(o);s||o.corked||o.bufferProcessing||!o.bufferedRequest||E(e,o),n?l(b,e,o,s,i):b(e,o,s,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function y(e){if(a=a||o(136),!(p.call(y,this)||this instanceof a))return new y(e);this._writableState=new _(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),h.call(this)}function v(e,t,o,n,i,r,s){t.writelen=n,t.writecb=s,t.writing=!0,t.sync=!0,o?e._writev(i,t.onwrite):e._write(i,r,t.onwrite),t.sync=!1}function b(e,t,o,n){o||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,n(),T(e,t)}function E(e,t){t.bufferProcessing=!0;var o=t.bufferedRequest;if(e._writev&&o&&o.next){var n=t.bufferedRequestCount,i=new Array(n),r=t.corkedRequestsFree;r.entry=o;for(var a=0,l=!0;o;)i[a]=o,o.isBuf||(l=!1),o=o.next,a+=1;i.allBuffers=l,v(e,t,!0,t.length,i,"",r.finish),t.pendingcb++,t.lastBufferedRequest=null,r.next?(t.corkedRequestsFree=r.next,r.next=null):t.corkedRequestsFree=new s(t),t.bufferedRequestCount=0}else{for(;o;){var u=o.chunk,c=o.encoding,h=o.callback;if(v(e,t,!1,t.objectMode?1:u.length,u,c,h),o=o.next,t.bufferedRequestCount--,t.writing)break}null===o&&(t.lastBufferedRequest=null)}t.bufferedRequest=o,t.bufferProcessing=!1}function C(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function S(e,t){e._final((function(o){t.pendingcb--,o&&e.emit("error",o),t.prefinished=!0,e.emit("prefinish"),T(e,t)}))}function T(e,t){var o=C(t);return o&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,r.nextTick(S,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),o}u.inherits(y,h),_.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(_.prototype,"buffer",{get:c.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(y,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===y&&(e&&e._writableState instanceof _)}})):p=function(e){return e instanceof this},y.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},y.prototype.write=function(e,t,o){var n,i=this._writableState,s=!1,a=!i.objectMode&&(n=e,d.isBuffer(n)||n instanceof g);return a&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(o=t,t=null),a?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof o&&(o=m),i.ended?function(e,t){var o=new Error("write after end");e.emit("error",o),r.nextTick(t,o)}(this,o):(a||function(e,t,o,n){var i=!0,s=!1;return null===o?s=new TypeError("May not write null values to stream"):"string"==typeof o||void 0===o||t.objectMode||(s=new TypeError("Invalid non-string/buffer chunk")),s&&(e.emit("error",s),r.nextTick(n,s),i=!1),i}(this,i,e,o))&&(i.pendingcb++,s=function(e,t,o,n,i,r){if(!o){var s=function(e,t,o){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,o));return t}(t,n,i);n!==s&&(o=!0,i="buffer",n=s)}var a=t.objectMode?1:n.length;t.length+=a;var l=t.length<t.highWaterMark;l||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:n,encoding:i,isBuf:o,callback:r,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else v(e,t,!1,a,n,i,r);return l}(this,i,a,e,t,o)),s},y.prototype.cork=function(){this._writableState.corked++},y.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||E(this,e))},y.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(y.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),y.prototype._write=function(e,t,o){o(new Error("_write() is not implemented"))},y.prototype._writev=null,y.prototype.end=function(e,t,o){var n=this._writableState;"function"==typeof e?(o=e,e=null,t=null):"function"==typeof t&&(o=t,t=null),null!=e&&this.write(e,t),n.corked&&(n.corked=1,this.uncork()),n.ending||n.finished||function(e,t,o){t.ending=!0,T(e,t),o&&(t.finished?r.nextTick(o):e.once("finish",o));t.ended=!0,e.writable=!1}(this,n,o)},Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),y.prototype.destroy=f.destroy,y.prototype._undestroy=f.undestroy,y.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,o(108),o(148).setImmediate,o(80))},function(e,t,o){"use strict";var n=o(168),i=o(275),r=o(276),s=o(277);r=o(276);function a(e,t,o,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=o,this.compression=n,this.compressedContent=i}a.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new r("data_length")),t=this;return e.on("end",(function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")})),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},a.createWorkerFrom=function(e,t,o){return e.pipe(new s).pipe(new r("uncompressedSize")).pipe(t.compressWorker(o)).pipe(new r("compressedSize")).withStreamInfo("compression",t)},e.exports=a},function(e,t,o){"use strict";var n=o(64);var i=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a<s;a++)e=e>>>8^r[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,o,n){var r=i,s=n+o;e^=-1;for(var a=n;a<s;a++)e=e>>>8^r[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},function(e,t,o){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(e,t,o){"use strict";var n=o(364),i=o(219),r=o(149),s=o(289),a=o(366);function l(e,t,o){var n=this._refs[o];if("string"==typeof n){if(!this._refs[n])return l.call(this,e,t,n);n=this._refs[n]}if((n=n||this._schemas[o])instanceof s)return p(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var i,r,a,c=u.call(this,t,o);return c&&(i=c.schema,t=c.root,a=c.baseId),i instanceof s?r=i.validate||e.call(this,i.schema,t,void 0,a):void 0!==i&&(r=p(i,this._opts.inlineRefs)?i:e.call(this,i,t,void 0,a)),r}function u(e,t){var o=n.parse(t),i=m(o),r=f(this._getId(e.schema));if(0===Object.keys(e.schema).length||i!==r){var a=y(i),l=this._refs[a];if("string"==typeof l)return c.call(this,e,l,o);if(l instanceof s)l.validate||this._compile(l),e=l;else{if(!((l=this._schemas[a])instanceof s))return;if(l.validate||this._compile(l),a==y(t))return{schema:l,root:e,baseId:r};e=l}if(!e.schema)return;r=f(this._getId(e.schema))}return d.call(this,o,r,e.schema,e)}function c(e,t,o){var n=u.call(this,e,t);if(n){var i=n.schema,r=n.baseId;e=n.root;var s=this._getId(i);return s&&(r=v(r,s)),d.call(this,o,r,i,e)}}e.exports=l,l.normalizeId=y,l.fullPath=f,l.url=v,l.ids=function(e){var t=y(this._getId(e)),o={"":t},s={"":f(t,!1)},l={},u=this;return a(e,{allKeys:!0},(function(e,t,a,c,h,d,g){if(""!==t){var p=u._getId(e),f=o[c],m=s[c]+"/"+h;if(void 0!==g&&(m+="/"+("number"==typeof g?g:r.escapeFragment(g))),"string"==typeof p){p=f=y(f?n.resolve(f,p):p);var _=u._refs[p];if("string"==typeof _&&(_=u._refs[_]),_&&_.schema){if(!i(e,_.schema))throw new Error('id "'+p+'" resolves to more than one schema')}else if(p!=y(m))if("#"==p[0]){if(l[p]&&!i(e,l[p]))throw new Error('id "'+p+'" resolves to more than one schema');l[p]=e}else u._refs[p]=m}o[t]=f,s[t]=m}})),l},l.inlineRef=p,l.schema=u;var h=r.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function d(e,t,o,n){if(e.fragment=e.fragment||"","/"==e.fragment.slice(0,1)){for(var i=e.fragment.split("/"),s=1;s<i.length;s++){var a=i[s];if(a){if(void 0===(o=o[a=r.unescapeFragment(a)]))break;var l;if(!h[a]&&((l=this._getId(o))&&(t=v(t,l)),o.$ref)){var c=v(t,o.$ref),d=u.call(this,n,c);d&&(o=d.schema,n=d.root,t=d.baseId)}}}return void 0!==o&&o!==n.schema?{schema:o,root:n,baseId:t}:void 0}}var g=r.toHash(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum"]);function p(e,t){return!1!==t&&(void 0===t||!0===t?function e(t){var o;if(Array.isArray(t)){for(var n=0;n<t.length;n++)if("object"==typeof(o=t[n])&&!e(o))return!1}else for(var i in t){if("$ref"==i)return!1;if("object"==typeof(o=t[i])&&!e(o))return!1}return!0}(e):t?function e(t){var o,n=0;if(Array.isArray(t)){for(var i=0;i<t.length;i++)if("object"==typeof(o=t[i])&&(n+=e(o)),n==1/0)return 1/0}else for(var r in t){if("$ref"==r)return 1/0;if(g[r])n++;else if("object"==typeof(o=t[r])&&(n+=e(o)+1),n==1/0)return 1/0}return n}(e)<=t:void 0)}function f(e,t){return!1!==t&&(e=y(e)),m(n.parse(e))}function m(e){return n.serialize(e).split("#")[0]+"#"}var _=/#\/?$/;function y(e){return e?e.replace(_,""):""}function v(e,t){return t=y(t),n.resolve(e,t)}},function(e,t,o){"use strict";var n=Array.isArray,i=Object.keys,r=Object.prototype.hasOwnProperty;e.exports=function e(t,o){if(t===o)return!0;if(t&&o&&"object"==typeof t&&"object"==typeof o){var s,a,l,u=n(t),c=n(o);if(u&&c){if((a=t.length)!=o.length)return!1;for(s=a;0!=s--;)if(!e(t[s],o[s]))return!1;return!0}if(u!=c)return!1;var h=t instanceof Date,d=o instanceof Date;if(h!=d)return!1;if(h&&d)return t.getTime()==o.getTime();var g=t instanceof RegExp,p=o instanceof RegExp;if(g!=p)return!1;if(g&&p)return t.toString()==o.toString();var f=i(t);if((a=f.length)!==i(o).length)return!1;for(s=a;0!=s--;)if(!r.call(o,f[s]))return!1;for(s=a;0!=s--;)if(!e(t[l=f[s]],o[l]))return!1;return!0}return t!=t&&o!=o}},function(e,t,o){"use strict";var n=o(218);function i(e,t,o){this.message=o||i.message(e,t),this.missingRef=n.url(e,t),this.missingSchema=n.normalizeId(n.fullPath(this.missingRef))}function r(e){return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}e.exports={Validation:r((function(e){this.message="validation failed",this.errors=e,this.ajv=this.validation=!0})),MissingRef:r(i)},i.message=function(e,t){return"can't resolve reference "+t+" from id "+e}},function(e,t,o){var n=o(401);e.exports=function(e){return null==e?"":n(e)}},function(e,t,o){var n=o(402).Symbol;e.exports=n},function(e,t,o){"use strict";o.r(t);o(428);var n,i=o(0),r=o(6),s=o(8),a=o(1),l=o(144),u=o(28),c=o(59),h=o(22),d=o(61),g=o(12),p=o(5),f=o(3),m=o(153),_=o(19),y=o(7),v=o(15),b=o(58),E=o(82),C=o(33),S=o(24),T=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=new g.f("accessibilityHelpWidgetVisible",!1),R=function(e){function t(t,o){var n=e.call(this)||this;return n._editor=t,n._widget=n._register(o.createInstance(P,n._editor)),n}return T(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.show=function(){this._widget.show()},t.prototype.hide=function(){this._widget.hide()},t.ID="editor.contrib.accessibilityHelpController",t=w([k(1,h.a)],t)}(r.a),N=i.a("noSelection","No selection"),L=i.a("singleSelectionRange","Line {0}, Column {1} ({2} selected)"),I=i.a("singleSelection","Line {0}, Column {1}"),D=i.a("multiSelectionRange","{0} selections ({1} characters selected)"),A=i.a("multiSelection","{0} selections");var P=function(e){function t(t,o,n,r){var s=e.call(this)||this;return s._contextKeyService=o,s._keybindingService=n,s._openerService=r,s._editor=t,s._isVisibleKey=O.bindTo(s._contextKeyService),s._domNode=Object(u.b)(document.createElement("div")),s._domNode.setClassName("accessibilityHelpWidget"),s._domNode.setDisplay("none"),s._domNode.setAttribute("role","dialog"),s._domNode.setAttribute("aria-hidden","true"),s._contentDomNode=Object(u.b)(document.createElement("div")),s._contentDomNode.setAttribute("role","document"),s._domNode.appendChild(s._contentDomNode),s._isVisible=!1,s._register(s._editor.onDidLayoutChange((function(){s._isVisible&&s._layout()}))),s._register(a.j(s._contentDomNode.domNode,"keydown",(function(e){if(s._isVisible&&(e.equals(2083)&&(Object(b.a)(i.a("emergencyConfOn","Now changing the setting `accessibilitySupport` to 'on'.")),s._editor.updateOptions({accessibilitySupport:"on"}),a.l(s._contentDomNode.domNode),s._buildContent(),s._contentDomNode.domNode.focus(),e.preventDefault(),e.stopPropagation()),e.equals(2086))){Object(b.a)(i.a("openingDocs","Now opening the Editor Accessibility documentation page."));var t=s._editor.getRawConfiguration().accessibilityHelpUrl;void 0===t&&(t="https://go.microsoft.com/fwlink/?linkid=852450"),s._openerService.open(C.a.parse(t)),e.preventDefault(),e.stopPropagation()}}))),s.onblur(s._contentDomNode.domNode,(function(){s.hide()})),s._editor.addOverlayWidget(s),s}return T(t,e),t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype.getDomNode=function(){return this._domNode.domNode},t.prototype.getPosition=function(){return{preference:null}},t.prototype.show=function(){this._isVisible||(this._isVisible=!0,this._isVisibleKey.set(!0),this._layout(),this._domNode.setDisplay("block"),this._domNode.setAttribute("aria-hidden","false"),this._contentDomNode.domNode.tabIndex=0,this._buildContent(),this._contentDomNode.domNode.focus())},t.prototype._descriptionForCommand=function(e,t,o){var n=this._keybindingService.lookupKeybinding(e);return n?s.format(t,n.getAriaLabel()):s.format(o,e)},t.prototype._buildContent=function(){var e=this._editor.getConfiguration(),t=this._editor.getSelections(),o=0;if(t){var n=this._editor.getModel();n&&t.forEach((function(e){o+=n.getValueLengthInRange(e)}))}var r=function(e,t){return e&&0!==e.length?1===e.length?t?s.format(L,e[0].positionLineNumber,e[0].positionColumn,t):s.format(I,e[0].positionLineNumber,e[0].positionColumn):t?s.format(D,e.length,t):e.length>0?s.format(A,e.length):null:N}(t,o);switch(e.wrappingInfo.inDiffEditor?e.readOnly?r+=i.a("readonlyDiffEditor"," in a read-only pane of a diff editor."):r+=i.a("editableDiffEditor"," in a pane of a diff editor."):e.readOnly?r+=i.a("readonlyEditor"," in a read-only code editor"):r+=i.a("editableEditor"," in a code editor"),e.accessibilitySupport){case 0:var a=v.d?i.a("changeConfigToOnMac","To configure the editor to be optimized for usage with a Screen Reader press Command+E now."):i.a("changeConfigToOnWinLinux","To configure the editor to be optimized for usage with a Screen Reader press Control+E now.");r+="\n\n - "+a;break;case 2:r+="\n\n - "+i.a("auto_on","The editor is configured to be optimized for usage with a Screen Reader.");break;case 1:r+="\n\n - "+i.a("auto_off","The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time."),r+=" "+a}var u=i.a("tabFocusModeOnMsg","Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}."),c=i.a("tabFocusModeOnMsgNoKb","Pressing Tab in the current editor will move focus to the next focusable element. The command {0} is currently not triggerable by a keybinding."),h=i.a("tabFocusModeOffMsg","Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}."),d=i.a("tabFocusModeOffMsgNoKb","Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.");e.tabFocusMode?r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,u,c):r+="\n\n - "+this._descriptionForCommand(m.ToggleTabFocusModeAction.ID,h,d),r+="\n\n - "+(v.d?i.a("openDocMac","Press Command+H now to open a browser window with more information related to editor accessibility."):i.a("openDocWinLinux","Press Control+H now to open a browser window with more information related to editor accessibility.")),r+="\n\n"+i.a("outroMsg","You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape."),this._contentDomNode.domNode.appendChild(Object(l.a)(r)),this._contentDomNode.domNode.setAttribute("aria-label",r)},t.prototype.hide=function(){this._isVisible&&(this._isVisible=!1,this._isVisibleKey.reset(),this._domNode.setDisplay("none"),this._domNode.setAttribute("aria-hidden","true"),this._contentDomNode.domNode.tabIndex=-1,a.l(this._contentDomNode.domNode),this._editor.focus())},t.prototype._layout=function(){var e=this._editor.getLayoutInfo(),o=Math.max(5,Math.min(t.WIDTH,e.width-40)),n=Math.max(5,Math.min(t.HEIGHT,e.height-40));this._domNode.setWidth(o),this._domNode.setHeight(n);var i=Math.round((e.height-n)/2);this._domNode.setTop(i);var r=Math.round((e.width-o)/2);this._domNode.setLeft(r)},t.ID="editor.contrib.accessibilityHelpWidget",t.WIDTH=500,t.HEIGHT=300,t=w([k(1,g.e),k(2,d.a),k(3,E.a)],t)}(c.a),M=function(e){function t(){return e.call(this,{id:"editor.action.showAccessibilityHelp",label:i.a("ShowAccessibilityHelpAction","Show Accessibility Help"),alias:"Show Accessibility Help",precondition:null,kbOpts:{kbExpr:p.a.focus,primary:S.k?2107:571,weight:100}})||this}return T(t,e),t.prototype.run=function(e,t){var o=R.get(t);o&&o.show()},t}(f.b);Object(f.h)(R),Object(f.f)(M);var x=f.c.bindToContribution(R.get);Object(f.g)(new x({id:"closeAccessibilityHelp",precondition:O,handler:function(e){return e.hide()},kbOpts:{weight:200,kbExpr:p.a.focus,primary:9,secondary:[1033]}})),Object(_.e)((function(e,t){var o=e.getColor(y.D);o&&t.addRule(".monaco-editor .accessibilityHelpWidget { background-color: "+o+"; }");var n=e.getColor(y.rb);n&&t.addRule(".monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px "+n+"; }");var i=e.getColor(y.e);i&&t.addRule(".monaco-editor .accessibilityHelpWidget { border: 2px solid "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"BracketMatchingController",(function(){return E}));o(430);var n,i=o(0),r=o(6),s=o(9),a=o(23),l=o(17),u=o(3),c=o(5),h=o(19),d=o(29),g=o(26),p=o(7),f=o(18),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=Object(p.kb)("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hc:"#A0A0A0"},i.a("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets.")),y=function(e){function t(){return e.call(this,{id:"editor.action.jumpToBracket",label:i.a("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:null,kbOpts:{kbExpr:c.a.editorTextFocus,primary:3160,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.jumpToBracket()},t}(u.b),v=function(e){function t(){return e.call(this,{id:"editor.action.selectToBracket",label:i.a("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=E.get(t);o&&o.selectToBracket()},t}(u.b),b=function(e,t){this.position=e,this.brackets=t},E=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._lastBracketsData=[],o._lastVersionId=0,o._decorations=[],o._updateBracketsSoon=o._register(new l.c((function(){return o._updateBrackets()}),50)),o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,o._updateBracketsSoon.schedule(),o._register(t.onDidChangeCursorPosition((function(e){o._matchBrackets&&o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelContent((function(e){o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModel((function(e){o._decorations=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeModelLanguageConfiguration((function(e){o._lastBracketsData=[],o._updateBracketsSoon.schedule()}))),o._register(t.onDidChangeConfiguration((function(e){o._matchBrackets=o._editor.getConfiguration().contribInfo.matchBrackets,!o._matchBrackets&&o._decorations.length>0&&(o._decorations=o._editor.deltaDecorations(o._decorations,[])),o._updateBracketsSoon.schedule()}))),o}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.jumpToBracket=function(){var e=this._editor.getModel();if(e){var t=this._editor.getSelections().map((function(t){var o=t.getStartPosition(),n=e.matchBracket(o),i=null;if(n)n[0].containsPosition(o)?i=n[1].getStartPosition():n[1].containsPosition(o)&&(i=n[0].getStartPosition());else{var r=e.findNextBracket(o);r&&r.range&&(i=r.range.getStartPosition())}return i?new a.a(i.lineNumber,i.column,i.lineNumber,i.column):new a.a(o.lineNumber,o.column,o.lineNumber,o.column)}));this._editor.setSelections(t),this._editor.revealRange(t[0])}},t.prototype.selectToBracket=function(){var e=this._editor.getModel();if(e){var t=[];this._editor.getSelections().forEach((function(o){var n=o.getStartPosition(),i=e.matchBracket(n),r=null,s=null;if(!i){var l=e.findNextBracket(n);l&&l.range&&(i=e.matchBracket(l.range.getStartPosition()))}i&&(i[0].startLineNumber===i[1].startLineNumber?(r=i[1].startColumn<i[0].startColumn?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startColumn<i[0].startColumn?i[0].getEndPosition():i[1].getEndPosition()):(r=i[1].startLineNumber<i[0].startLineNumber?i[1].getStartPosition():i[0].getStartPosition(),s=i[1].startLineNumber<i[0].startLineNumber?i[0].getEndPosition():i[1].getEndPosition())),r&&s&&t.push(new a.a(r.lineNumber,r.column,s.lineNumber,s.column))})),t.length>0&&(this._editor.setSelections(t),this._editor.revealRange(t[0]))}},t.prototype._updateBrackets=function(){if(this._matchBrackets){this._recomputeBrackets();for(var e=[],o=0,n=0,i=this._lastBracketsData.length;n<i;n++){var r=this._lastBracketsData[n].brackets;r&&(e[o++]={range:r[0],options:t._DECORATION_OPTIONS},e[o++]={range:r[1],options:t._DECORATION_OPTIONS})}this._decorations=this._editor.deltaDecorations(this._decorations,e)}},t.prototype._recomputeBrackets=function(){var e=this._editor.getModel();if(!e)return this._lastBracketsData=[],void(this._lastVersionId=0);var t=e.getVersionId(),o=[];this._lastVersionId===t&&(o=this._lastBracketsData);for(var n=this._editor.getSelections(),i=[],r=0,a=0,l=n.length;a<l;a++){var u=n[a];u.isEmpty()&&(i[r++]=u.getStartPosition())}i.length>1&&i.sort(s.a.compare);var c=[],h=0,d=0,g=o.length;for(a=0,l=i.length;a<l;a++){for(var p=i[a];d<g&&o[d].position.isBefore(p);)d++;if(d<g&&o[d].position.equals(p))c[h++]=o[d];else{var f=e.matchBracket(p);c[h++]=new b(p,f)}}this._lastBracketsData=c,this._lastVersionId=t},t.ID="editor.contrib.bracketMatchingController",t._DECORATION_OPTIONS=g.a.register({stickiness:f.h.NeverGrowsWhenTypingAtEdges,className:"bracket-match",overviewRuler:{color:Object(h.f)(_),darkColor:Object(h.f)(_),position:f.f.Center}}),t}(r.a);Object(u.h)(E),Object(u.f)(v),Object(u.f)(y),Object(h.e)((function(e,t){var o=e.getColor(d.c);o&&t.addRule(".monaco-editor .bracket-match { background-color: "+o+"; }");var n=e.getColor(d.d);n&&t.addRule(".monaco-editor .bracket-match { border: 1px solid "+n+"; }")}))},function(e,t,o){"use strict";o.r(t);o(431);var n,i=o(0),r=o(24),s=o(15),a=o(36),l=o(3),u=o(174),c=o(5),h=o(38),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g="9_cutcopypaste",p=s.e||document.queryCommandSupported("cut"),f=s.e||document.queryCommandSupported("copy"),m=f&&!r.h,_=s.e||!r.f&&document.queryCommandSupported("paste"),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n.browserCommand=t,n}return d(t,e),t.prototype.runCommand=function(e,t){var o=e.get(a.a).getFocusedCodeEditor();o&&o.hasTextFocus()?o.trigger("keyboard",this.id,t):document.execCommand(this.browserCommand)},t.prototype.run=function(e,t){t.focus(),document.execCommand(this.browserCommand)},t}(l.b),v=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2102,win:{primary:2102,secondary:[1044]},weight:100};return s.e||(t=null),e.call(this,"cut",{id:"editor.action.clipboardCutAction",label:i.a("actions.clipboard.cutLabel","Cut"),alias:"Cut",precondition:c.a.writable,kbOpts:t,menuOpts:{group:g,order:1},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||e.prototype.run.call(this,t,o)},t}(y),b=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2081,win:{primary:2081,secondary:[2067]},weight:100};return s.e||(t=null),e.call(this,"copy",{id:"editor.action.clipboardCopyAction",label:i.a("actions.clipboard.copyLabel","Copy"),alias:"Copy",precondition:null,kbOpts:t,menuOpts:{group:g,order:2},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||e.prototype.run.call(this,t,o)},t}(y),E=function(e){function t(){var t={kbExpr:c.a.textInputFocus,primary:2100,win:{primary:2100,secondary:[1043]},weight:100};return s.e||(t=null),e.call(this,"paste",{id:"editor.action.clipboardPasteAction",label:i.a("actions.clipboard.pasteLabel","Paste"),alias:"Paste",precondition:c.a.writable,kbOpts:t,menuOpts:{group:g,order:3},menubarOpts:{menuId:h.b.MenubarEditMenu,group:"2_ccp",title:i.a({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:3}})||this}return d(t,e),t}(y),C=function(e){function t(){return e.call(this,"copy",{id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:i.a("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:null,kbOpts:{kbExpr:c.a.textInputFocus,primary:null,weight:100}})||this}return d(t,e),t.prototype.run=function(t,o){!o.getConfiguration().emptySelectionClipboard&&o.getSelection().isEmpty()||(u.a.forceCopyWithSyntaxHighlighting=!0,e.prototype.run.call(this,t,o),u.a.forceCopyWithSyntaxHighlighting=!1)},t}(y);p&&Object(l.f)(v),f&&Object(l.f)(b),_&&Object(l.f)(E),m&&Object(l.f)(C)},function(e,t,o){"use strict";o.r(t),o.d(t,"ContextMenuController",(function(){return v}));var n,i=o(0),r=o(6),s=o(10),a=o(1),l=o(74),u=o(83),c=o(61),h=o(12),d=o(38),g=o(5),p=o(3),f=o(16),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(){function e(e,t,o,n,i,r){var s=this;this._contextMenuService=t,this._contextViewService=o,this._contextKeyService=n,this._keybindingService=i,this._menuService=r,this._toDispose=[],this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.push(this._editor.onContextMenu((function(e){return s._onContextMenu(e)}))),this._toDispose.push(this._editor.onDidScrollChange((function(e){s._contextMenuIsBeingShownCount>0&&s._contextViewService.hideContextView()}))),this._toDispose.push(this._editor.onKeyDown((function(e){58===e.keyCode&&(e.preventDefault(),e.stopPropagation(),s.showContextMenu())})))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._onContextMenu=function(e){if(!this._editor.getConfiguration().contribInfo.contextmenu)return this._editor.focus(),void(e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position));var t;e.target.type!==f.b.OVERLAY_WIDGET&&(e.event.preventDefault(),(e.target.type===f.b.CONTENT_TEXT||e.target.type===f.b.CONTENT_EMPTY||e.target.type===f.b.TEXTAREA)&&(this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position),e.target.type!==f.b.TEXTAREA&&(t={x:e.event.posx,y:e.event.posy+1}),this.showContextMenu(t)))},e.prototype.showContextMenu=function(e){if(this._editor.getConfiguration().contribInfo.contextmenu)if(this._contextMenuService){var t=this._getMenuActions();t.length>0&&this._doShowContextMenu(t,e)}else this._editor.focus()},e.prototype._getMenuActions=function(){var e=[],t=this._menuService.createMenu(d.b.EditorContext,this._contextKeyService),o=t.getActions({arg:this._editor.getModel().uri});t.dispose();for(var n=0,i=o;n<i.length;n++){var r=i[n][1];e.push.apply(e,r),e.push(new l.e)}return e.pop(),e},e.prototype._doShowContextMenu=function(e,t){var o=this;void 0===t&&(t=null);var n=this._editor.getConfiguration().contribInfo.hover;this._editor.updateOptions({hover:{enabled:!1}});var i=t;if(!i){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();var r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),u=a.u(this._editor.getDomNode()),c=u.left+r.left,h=u.top+r.top+r.height;i={x:c,y:h}}this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({getAnchor:function(){return i},getActions:function(){return s.b.as(e)},getActionItem:function(e){var t=o._keybindingFor(e);if(t)return new l.b(e,e,{label:!0,keybinding:t.getLabel(),isMenu:!0});var n=e;return"function"==typeof n.getActionItem?n.getActionItem():new l.b(e,e,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:function(e){return o._keybindingFor(e)},onHide:function(e){o._contextMenuIsBeingShownCount--,o._editor.focus(),o._editor.updateOptions({hover:n})}})},e.prototype._keybindingFor=function(e){return this._keybindingService.lookupKeybinding(e.id)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose=Object(r.d)(this._toDispose)},e.ID="editor.contrib.contextmenu",e=_([y(1,u.a),y(2,u.b),y(3,h.e),y(4,c.a),y(5,d.a)],e)}(),b=function(e){function t(){return e.call(this,{id:"editor.action.showContextMenu",label:i.a("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:null,kbOpts:{kbExpr:g.a.textInputFocus,primary:1092,weight:100}})||this}return m(t,e),t.prototype.run=function(e,t){v.get(t).showContextMenu()},t}(p.b);Object(p.h)(v),Object(p.f)(b)},function(e,t,o){"use strict";o.r(t),o.d(t,"CursorUndoController",(function(){return c})),o.d(t,"CursorUndo",(function(){return h}));var n,i=o(0),r=o(3),s=o(6),a=o(5),l=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),u=function(){function e(e){this.selections=e}return e.prototype.equals=function(e){var t=this.selections.length;if(t!==e.selections.length)return!1;for(var o=0;o<t;o++)if(!this.selections[o].equalsSelection(e.selections[o]))return!1;return!0},e}(),c=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._isCursorUndo=!1,o._undoStack=[],o._prevState=o._readState(),o._register(t.onDidChangeModel((function(e){o._undoStack=[],o._prevState=null}))),o._register(t.onDidChangeModelContent((function(e){o._undoStack=[],o._prevState=null}))),o._register(t.onDidChangeCursorSelection((function(e){!o._isCursorUndo&&o._prevState&&(o._undoStack.push(o._prevState),o._undoStack.length>50&&o._undoStack.shift()),o._prevState=o._readState()}))),o}return l(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype._readState=function(){return this._editor.getModel()?new u(this._editor.getSelections()):null},t.prototype.getId=function(){return t.ID},t.prototype.cursorUndo=function(){for(var e=new u(this._editor.getSelections());this._undoStack.length>0;){var t=this._undoStack.pop();if(!t.equals(e))return this._isCursorUndo=!0,this._editor.setSelections(t.selections),this._editor.revealRangeInCenterIfOutsideViewport(t.selections[0],0),void(this._isCursorUndo=!1)}},t.ID="editor.contrib.cursorUndoController",t}(s.a),h=function(e){function t(){return e.call(this,{id:"cursorUndo",label:i.a("cursor.undo","Soft Undo"),alias:"Soft Undo",precondition:null,kbOpts:{kbExpr:a.a.textInputFocus,primary:2099,weight:100}})||this}return l(t,e),t.prototype.run=function(e,t,o){c.get(t).cursorUndo()},t}(r.b);Object(r.h)(c),Object(r.f)(h)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(96),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomIn",label:i.a("EditorFontZoomIn.label","Editor Font Zoom In"),alias:"Editor Font Zoom In",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()+1)},t}(r.b),u=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomOut",label:i.a("EditorFontZoomOut.label","Editor Font Zoom Out"),alias:"Editor Font Zoom Out",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(s.a.getZoomLevel()-1)},t}(r.b),c=function(e){function t(){return e.call(this,{id:"editor.action.fontZoomReset",label:i.a("EditorFontZoomReset.label","Editor Font Zoom Reset"),alias:"Editor Font Zoom Reset",precondition:null})||this}return a(t,e),t.prototype.run=function(e,t){s.a.setZoomLevel(0)},t}(r.b);Object(r.f)(l),Object(r.f)(u),Object(r.f)(c)},function(e,t,o){"use strict";o.r(t);o(299);var n=o(0),i=o(17),r=o(13),s=o(71),a=o(10),l=o(89),u=o(2),c=o(11),h=o(16),d=o(3),g=o(164),p=o(6),f=o(133),m=o(19),_=o(7),y=o(90),v=o(154),b=o(209),E=o(9),C=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},S=function(e,t){return function(o,n){t(o,n,e)}},T=function(){function e(e,t,o){var n=this;this.textModelResolverService=t,this.modeService=o,this.toUnhook=[],this.decorations=[],this.editor=e,this.throttler=new i.e;var s=new b.a(e);this.toUnhook.push(s),this.toUnhook.push(s.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n.startFindDefinition(t,o)}))),this.toUnhook.push(s.onExecute((function(e){n.isEnabled(e)&&n.gotoDefinition(e.target,e.hasSideBySideModifier).done((function(){n.removeDecorations()}),(function(e){n.removeDecorations(),Object(r.e)(e)}))}))),this.toUnhook.push(s.onCancel((function(){n.removeDecorations(),n.currentWordUnderMouse=null})))}return e.prototype.startFindDefinition=function(e,t){var o=this;if(!this.isEnabled(e,t))return this.currentWordUnderMouse=null,void this.removeDecorations();var i=e.target.position,l=i?this.editor.getModel().getWordAtPosition(i):null;if(!l)return this.currentWordUnderMouse=null,void this.removeDecorations();if(!this.currentWordUnderMouse||this.currentWordUnderMouse.startColumn!==l.startColumn||this.currentWordUnderMouse.endColumn!==l.endColumn||this.currentWordUnderMouse.word!==l.word){this.currentWordUnderMouse=l;var c=new y.a(this.editor,15);this.throttler.queue((function(){return c.validate(o.editor)?o.findDefinition(e.target):a.b.wrap(null)})).then((function(e){if(e&&e.length&&c.validate(o.editor))if(e.length>1)o.addDecoration(new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),(new s.a).appendText(n.a("multipleResults","Click to show {0} definitions.",e.length)));else{var t=e[0];if(!t.uri)return;o.textModelResolverService.createModelReference(t.uri).then((function(e){if(e.object&&e.object.textEditorModel){var n=e.object.textEditorModel,r=t.range.startLineNumber;if(0!==n.getLineMaxColumn(r)){var a,c=o.getPreviewValue(n,r);a=t.origin?u.a.lift(t.origin):new u.a(i.lineNumber,l.startColumn,i.lineNumber,l.endColumn),o.addDecoration(a,(new s.a).appendCodeblock(o.modeService.getModeIdByFilenameOrFirstLine(n.uri.fsPath),c)),e.dispose()}else e.dispose()}else e.dispose()}))}else o.removeDecorations()})).done(void 0,r.e)}},e.prototype.getPreviewValue=function(t,o){var n=this.getPreviewRangeBasedOnBrackets(t,o);return n.endLineNumber-n.startLineNumber>=e.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(t,o)),this.stripIndentationFromPreviewRange(t,o,n)},e.prototype.stripIndentationFromPreviewRange=function(e,t,o){for(var n=e.getLineFirstNonWhitespaceColumn(t),i=t+1;i<o.endLineNumber;i++){var r=e.getLineFirstNonWhitespaceColumn(i);n=Math.min(n,r)}return e.getValueInRange(o).replace(new RegExp("^\\s{"+(n-1)+"}","gm"),"").trim()},e.prototype.getPreviewRangeBasedOnIndentation=function(t,o){for(var n=t.getLineFirstNonWhitespaceColumn(o),i=Math.min(t.getLineCount(),o+e.MAX_SOURCE_PREVIEW_LINES),r=o+1;r<i;r++){if(n===t.getLineFirstNonWhitespaceColumn(r))break}return new u.a(o,1,r+1,1)},e.prototype.getPreviewRangeBasedOnBrackets=function(t,o){for(var n=Math.min(t.getLineCount(),o+e.MAX_SOURCE_PREVIEW_LINES),i=[],r=!0,s=t.findNextBracket(new E.a(o,1));null!==s;){if(0===i.length)i.push(s);else{var a=i[i.length-1];if(a.open===s.open&&a.isOpen&&!s.isOpen?i.pop():i.push(s),0===i.length){if(!r)return new u.a(o,1,s.range.endLineNumber+1,1);r=!1}}var l=t.getLineMaxColumn(o),c=s.range.endLineNumber,h=s.range.endColumn;if(l===s.range.endColumn&&(c++,h=1),c>n)return new u.a(o,1,n+1,1);s=t.findNextBracket(new E.a(c,h))}return new u.a(o,1,n+1,1)},e.prototype.addDecoration=function(e,t){var o={range:e,options:{inlineClassName:"goto-definition-link",hoverMessage:t}};this.decorations=this.editor.deltaDecorations(this.decorations,[o])},e.prototype.removeDecorations=function(){this.decorations.length>0&&(this.decorations=this.editor.deltaDecorations(this.decorations,[]))},e.prototype.isEnabled=function(e,t){return this.editor.getModel()&&e.isNoneOrSingleMouseDown&&e.target.type===h.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)&&c.e.has(this.editor.getModel())},e.prototype.findDefinition=function(e){var t=this.editor.getModel();return t?Object(g.a)(t,e.position):a.b.as(null)},e.prototype.gotoDefinition=function(e,t){var o=this;this.editor.setPosition(e.position);var n=new v.DefinitionAction(new v.DefinitionActionConfig(t,!1,!0,!1),{alias:void 0,label:void 0,id:void 0,precondition:void 0});return this.editor.invokeWithinContext((function(e){return n.run(e,o.editor)}))},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toUnhook=Object(p.d)(this.toUnhook)},e.ID="editor.contrib.gotodefinitionwithmouse",e.MAX_SOURCE_PREVIEW_LINES=8,e=C([S(1,f.a),S(2,l.a)],e)}();Object(d.h)(T),Object(m.e)((function(e,t){var o=e.getColor(_.m);o&&t.addRule(".monaco-editor .goto-definition-link { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"GotoLineEntry",(function(){return p})),o.d(t,"GotoLineAction",(function(){return f}));o(472);var n,i=o(0),r=o(124),s=o(97),a=o(5),l=o(16),u=o(161),c=o(3),h=o(9),d=o(2),g=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),p=function(e){function t(t,o,n){var i=e.call(this)||this;return i.editor=o,i.decorator=n,i._parseResult=i._parseInput(t),i}return g(t,e),t.prototype._parseInput=function(e){var t,o,n=e.split(",").map((function(e){return parseInt(e,10)})).filter((function(e){return!isNaN(e)}));t=0===n.length?new h.a(-1,-1):1===n.length?new h.a(n[0],1):new h.a(n[0],n[1]);var r=(o=Object(l.d)(this.editor)?this.editor.getModel():this.editor.getModel().modified).validatePosition(t).equals(t);return{position:t,isValid:r,label:r?t.column&&t.column>1?i.a("gotoLineLabelValidLineAndColumn","Go to line {0} and character {1}",t.lineNumber,t.column):i.a("gotoLineLabelValidLine","Go to line {0}",t.lineNumber,t.column):t.lineNumber<1||t.lineNumber>o.getLineCount()?i.a("gotoLineLabelEmptyWithLineLimit","Type a line number between 1 and {0} to navigate to",o.getLineCount()):i.a("gotoLineLabelEmptyWithLineAndColumnLimit","Type a character between 1 and {0} to navigate to",o.getLineMaxColumn(t.lineNumber))}},t.prototype.getLabel=function(){return this._parseResult.label},t.prototype.getAriaLabel=function(){return i.a("gotoLineAriaLabel","Go to line {0}",this._parseResult.label)},t.prototype.run=function(e,t){return e===s.a.OPEN?this.runOpen():this.runPreview()},t.prototype.runOpen=function(){if(!this._parseResult.isValid)return!1;var e=this.toSelection();return this.editor.setSelection(e),this.editor.revealRangeInCenter(e,0),this.editor.focus(),!0},t.prototype.runPreview=function(){if(!this._parseResult.isValid)return this.decorator.clearDecorations(),!1;var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(e,this.editor),!1},t.prototype.toSelection=function(){return new d.a(this._parseResult.position.lineNumber,this._parseResult.position.column,this._parseResult.position.lineNumber,this._parseResult.position.column)},t}(r.a),f=function(e){function t(){return e.call(this,i.a("gotoLineActionInput","Type a line number, followed by an optional colon and a character number to navigate to"),{id:"editor.action.gotoLine",label:i.a("GotoLineAction.label","Go to Line..."),alias:"Go to Line...",precondition:null,kbOpts:{kbExpr:a.a.focus,primary:2085,mac:{primary:293},weight:100}})||this}return g(t,e),t.prototype.run=function(e,t){var o=this;this._show(this.getController(t),{getModel:function(e){return new r.c([new p(e,t,o.getController(t))])},getAutoFocus:function(e){return{autoFocusFirstEntry:e.length>0}}})},t}(u.a);Object(c.f)(f)},function(e,t,o){"use strict";o.r(t);o(478);var n,i=o(0),r=o(6),s=o(8),a=o(3),l=o(16),u=o(89),c=o(11),h=o(103),d=o(69),g=o(14),p=o(19),f=o(7),m=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),_=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},y=function(e,t){return function(o,n){t(o,n,e)}},v=function(e){function t(t,o,n){var i=e.call(this)||this;return i._editor=t,i._standaloneThemeService=o,i._modeService=n,i._widget=null,i._register(i._editor.onDidChangeModel((function(e){return i.stop()}))),i._register(i._editor.onDidChangeModelLanguage((function(e){return i.stop()}))),i._register(c.y.onDidChange((function(e){return i.stop()}))),i}return m(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.getId=function(){return t.ID},t.prototype.dispose=function(){this.stop(),e.prototype.dispose.call(this)},t.prototype.launch=function(){this._widget||this._editor.getModel()&&(this._widget=new E(this._editor,this._standaloneThemeService,this._modeService))},t.prototype.stop=function(){this._widget&&(this._widget.dispose(),this._widget=null)},t.ID="editor.contrib.inspectTokens",t=_([y(1,h.a),y(2,u.a)],t)}(r.a),b=function(e){function t(){return e.call(this,{id:"editor.action.inspectTokens",label:i.a("inspectTokens","Developer: Inspect Tokens"),alias:"Developer: Inspect Tokens",precondition:null})||this}return m(t,e),t.prototype.run=function(e,t){var o=v.get(t);o&&o.launch()},t}(a.b);var E=function(e){function t(t,o,n){var i,r=e.call(this)||this;return r.allowEditorOverflow=!0,r._editor=t,r._modeService=n,r._model=r._editor.getModel(),r._domNode=document.createElement("div"),r._domNode.className="tokens-inspect-widget",r._tokenizationSupport=(i=r._model.getLanguageIdentifier(),c.y.get(i.language)||{getInitialState:function(){return d.c},tokenize:function(e,t,o){return Object(d.d)(i.language,e,t,o)},tokenize2:function(e,t,o){return Object(d.e)(i.id,e,t,o)}}),r._compute(r._editor.getPosition()),r._register(r._editor.onDidChangeCursorPosition((function(e){return r._compute(r._editor.getPosition())}))),r._editor.addContentWidget(r),r}return m(t,e),t.prototype.dispose=function(){this._editor.removeContentWidget(this),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t._ID},t.prototype._compute=function(e){for(var t=this._getTokensAtLine(e.lineNumber),o=0,n=t.tokens1.length-1;n>=0;n--){var i=t.tokens1[n];if(e.column-1>=i.offset){o=n;break}}var r=0;for(n=t.tokens2.length>>>1;n>=0;n--)if(e.column-1>=t.tokens2[n<<1]){r=n;break}var a="",l=this._model.getLineContent(e.lineNumber),u="";if(o<t.tokens1.length){var c=t.tokens1[o].offset,h=o+1<t.tokens1.length?t.tokens1[o+1].offset:l.length;u=l.substring(c,h)}a+='<h2 class="tm-token">'+function(e){for(var t="",o=0,n=e.length;o<n;o++){var i=e.charCodeAt(o);switch(i){case 9:t+="&rarr;";break;case 32:t+="&middot;";break;case 60:t+="&lt;";break;case 62:t+="&gt;";break;case 38:t+="&amp;";break;default:t+=String.fromCharCode(i)}}return t}(u)+'<span class="tm-token-length">('+u.length+" "+(1===u.length?"char":"chars")+")</span></h2>",a+='<hr class="tokens-inspect-separator" style="clear:both"/>';var d=this._decodeMetadata(t.tokens2[1+(r<<1)]);a+='<table class="tm-metadata-table"><tbody>',a+='<tr><td class="tm-metadata-key">language</td><td class="tm-metadata-value">'+Object(s.escape)(d.languageIdentifier.language)+"</td>",a+='<tr><td class="tm-metadata-key">token type</td><td class="tm-metadata-value">'+this._tokenTypeToString(d.tokenType)+"</td>",a+='<tr><td class="tm-metadata-key">font style</td><td class="tm-metadata-value">'+this._fontStyleToString(d.fontStyle)+"</td>",a+='<tr><td class="tm-metadata-key">foreground</td><td class="tm-metadata-value">'+g.a.Format.CSS.formatHex(d.foreground)+"</td>",a+='<tr><td class="tm-metadata-key">background</td><td class="tm-metadata-value">'+g.a.Format.CSS.formatHex(d.background)+"</td>",a+="</tbody></table>",a+='<hr class="tokens-inspect-separator"/>',o<t.tokens1.length&&(a+='<span class="tm-token-type">'+Object(s.escape)(t.tokens1[o].type)+"</span>"),this._domNode.innerHTML=a,this._editor.layoutContentWidget(this)},t.prototype._decodeMetadata=function(e){var t=c.y.getColorMap(),o=c.x.getLanguageId(e),n=c.x.getTokenType(e),i=c.x.getFontStyle(e),r=c.x.getForeground(e),s=c.x.getBackground(e);return{languageIdentifier:this._modeService.getLanguageIdentifier(o),tokenType:n,fontStyle:i,foreground:t[r],background:t[s]}},t.prototype._tokenTypeToString=function(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 4:return"RegEx"}return"??"},t.prototype._fontStyleToString=function(e){var t="";return 1&e&&(t+="italic "),2&e&&(t+="bold "),4&e&&(t+="underline "),0===t.length&&(t="---"),t},t.prototype._getTokensAtLine=function(e){var t=this._getStateBeforeLine(e),o=this._tokenizationSupport.tokenize(this._model.getLineContent(e),t,0),n=this._tokenizationSupport.tokenize2(this._model.getLineContent(e),t,0);return{startState:t,tokens1:o.tokens,tokens2:n.tokens,endState:o.endState}},t.prototype._getStateBeforeLine=function(e){for(var t=this._tokenizationSupport.getInitialState(),o=1;o<e;o++){t=this._tokenizationSupport.tokenize(this._model.getLineContent(o),t,0).endState}return t},t.prototype.getDomNode=function(){return this._domNode},t.prototype.getPosition=function(){return{position:this._editor.getPosition(),preference:[l.a.BELOW,l.a.ABOVE]}},t._ID="editor.contrib.inspectTokensWidget",t}(r.a);Object(a.h)(v),Object(a.f)(b),Object(p.e)((function(e,t){var o=e.getColor(f.w);if(o){var n=e.type===p.b?2:1;t.addRule(".monaco-editor .tokens-inspect-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: "+o+"; }")}var i=e.getColor(f.v);i&&t.addRule(".monaco-editor .tokens-inspect-widget { background-color: "+i+"; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"IPadShowKeyboard",(function(){return l}));o(479);var n=o(6),i=o(24),r=o(1),s=o(16),a=o(3),l=function(){function e(e){var t=this;this.editor=e,this.toDispose=[],i.l&&(this.toDispose.push(e.onDidChangeConfiguration((function(){return t.update()}))),this.update())}return e.prototype.update=function(){var e=!!this.widget,t=!this.editor.getConfiguration().readOnly;!e&&t?this.widget=new u(this.editor):e&&!t&&(this.widget.dispose(),this.widget=null)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.toDispose=Object(n.d)(this.toDispose),this.widget&&(this.widget.dispose(),this.widget=null)},e.ID="editor.contrib.iPadShowKeyboard",e}(),u=function(){function e(e){var t=this;this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._toDispose=[],this._toDispose.push(r.g(this._domNode,"touchstart",(function(e){t.editor.focus()}))),this._toDispose.push(r.g(this._domNode,"focus",(function(e){t.editor.focus()}))),this.editor.addOverlayWidget(this)}return e.prototype.dispose=function(){this.editor.removeOverlayWidget(this),this._toDispose=Object(n.d)(this._toDispose)},e.prototype.getId=function(){return e.ID},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return{preference:s.c.BOTTOM_RIGHT_CORNER}},e.ID="editor.contrib.ShowKeyboardWidget",e}();Object(a.h)(l)},function(e,t,o){"use strict";o.r(t),o.d(t,"InsertCursorAbove",(function(){return C})),o.d(t,"InsertCursorBelow",(function(){return S})),o.d(t,"MultiCursorSessionResult",(function(){return w})),o.d(t,"MultiCursorSession",(function(){return k})),o.d(t,"MultiCursorSelectionController",(function(){return O})),o.d(t,"MultiCursorSelectionControllerAction",(function(){return R})),o.d(t,"AddSelectionToNextFindMatchAction",(function(){return N})),o.d(t,"AddSelectionToPreviousFindMatchAction",(function(){return L})),o.d(t,"MoveSelectionToNextFindMatchAction",(function(){return I})),o.d(t,"MoveSelectionToPreviousFindMatchAction",(function(){return D})),o.d(t,"SelectHighlightsAction",(function(){return A})),o.d(t,"CompatChangeAll",(function(){return P})),o.d(t,"SelectionHighlighter",(function(){return x}));var n,i=o(0),r=o(6),s=o(39),a=o(17),l=o(18),u=o(5),c=o(3),h=o(2),d=o(23),g=o(35),p=o(67),f=o(11),m=o(141),_=o(26),y=o(7),v=o(19),b=o(38),E=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAbove",label:i.a("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})||this}return E(t,e),t.prototype.run=function(e,t,o){var n=o&&!0===o.logicalLine,i=t._getCursors(),r=i.context;r.config.readOnly||(r.model.pushStackElement(),i.setStates(o.source,g.a.Explicit,p.b.addCursorUp(r,i.getAll(),n)),i.reveal(!0,1,0))},t}(c.b),S=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorBelow",label:i.a("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})||this}return E(t,e),t.prototype.run=function(e,t,o){var n=o&&!0===o.logicalLine,i=t._getCursors(),r=i.context;r.config.readOnly||(r.model.pushStackElement(),i.setStates(o.source,g.a.Explicit,p.b.addCursorDown(r,i.getAll(),n)),i.reveal(!0,2,0))},t}(c.b),T=function(e){function t(){return e.call(this,{id:"editor.action.insertCursorAtEndOfEachLineSelected",label:i.a("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1575,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})||this}return E(t,e),t.prototype.getCursorsForSelection=function(e,t,o){if(!e.isEmpty()){for(var n=e.startLineNumber;n<e.endLineNumber;n++){var i=t.getLineMaxColumn(n);o.push(new d.a(n,i,n,i))}e.endColumn>1&&o.push(new d.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}},t.prototype.run=function(e,t){var o=this,n=t.getModel(),i=t.getSelections(),r=[];i.forEach((function(e){return o.getCursorsForSelection(e,n,r)})),r.length>0&&t.setSelections(r)},t}(c.b),w=function(e,t,o){this.selections=e,this.revealRange=t,this.revealScrollType=o},k=function(){function e(e,t,o,n,i,r,s){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=o,this.searchText=n,this.wholeWord=i,this.matchCase=r,this.currentMatch=s}return e.create=function(t,o){var n=o.getState();if(!t.hasTextFocus()&&n.isRevealed&&n.searchString.length>0)return new e(t,o,!1,n.searchString,n.wholeWord,n.matchCase,null);var i,r,s=!1,a=t.getSelections();1===a.length&&a[0].isEmpty()?(s=!0,i=!0,r=!0):(i=n.wholeWord,r=n.matchCase);var l,u=t.getSelection(),c=null;if(u.isEmpty()){var h=t.getModel().getWordAtPosition(u.getStartPosition());if(!h)return null;l=h.word,c=new d.a(u.startLineNumber,h.startColumn,u.startLineNumber,h.endColumn)}else l=t.getModel().getValueInRange(u).replace(/\r\n/g,"\n");return new e(t,o,s,l,i,r,c)},e.prototype.addSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToNextFindMatch=function(){var e=this._getNextMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getNextMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findNextMatch(this.searchText,o.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.addSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.concat(e),e,0)},e.prototype.moveSelectionToPreviousFindMatch=function(){var e=this._getPreviousMatch();if(!e)return null;var t=this._editor.getSelections();return new w(t.slice(0,t.length-1).concat(e),e,0)},e.prototype._getPreviousMatch=function(){if(this.currentMatch){var e=this.currentMatch;return this.currentMatch=null,e}this.findController.highlightFindOptions();var t=this._editor.getSelections(),o=t[t.length-1],n=this._editor.getModel().findPreviousMatch(this.searchText,o.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1);return n?new d.a(n.range.startLineNumber,n.range.startColumn,n.range.endLineNumber,n.range.endColumn):null},e.prototype.selectAll=function(){return this.findController.highlightFindOptions(),this._editor.getModel().findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824)},e}(),O=function(e){function t(t){var o=e.call(this)||this;return o._editor=t,o._ignoreSelectionChange=!1,o._session=null,o._sessionDispose=[],o}return E(t,e),t.get=function(e){return e.getContribution(t.ID)},t.prototype.dispose=function(){this._endSession(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return t.ID},t.prototype._beginSessionIfNeeded=function(e){var t=this;if(!this._session){var o=k.create(this._editor,e);if(!o)return;this._session=o;var n={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(n.wholeWordOverride=1,n.matchCaseOverride=1,n.isRegexOverride=2),e.getState().change(n,!1),this._sessionDispose=[this._editor.onDidChangeCursorSelection((function(e){t._ignoreSelectionChange||t._endSession()})),this._editor.onDidBlurEditorText((function(){t._endSession()})),e.getState().onFindReplaceStateChange((function(e){(e.matchCase||e.wholeWord)&&t._endSession()}))]}},t.prototype._endSession=function(){if(this._sessionDispose=Object(r.d)(this._sessionDispose),this._session&&this._session.isDisconnectedFromFindController){this._session.findController.getState().change({wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0},!1)}this._session=null},t.prototype._setSelections=function(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1},t.prototype._expandEmptyToWord=function(e,t){if(!t.isEmpty())return t;var o=e.getWordAtPosition(t.getStartPosition());return o?new d.a(t.startLineNumber,o.startColumn,t.startLineNumber,o.endColumn):t},t.prototype._applySessionResult=function(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))},t.prototype.getSession=function(e){return this._session},t.prototype.addSelectionToNextFindMatch=function(e){if(!this._session){var t=this._editor.getSelections();if(t.length>1){var o=e.getState().matchCase;if(!B(this._editor.getModel(),t,o)){for(var n=this._editor.getModel(),i=[],r=0,s=t.length;r<s;r++)i[r]=this._expandEmptyToWord(n,t[r]);return void this._editor.setSelections(i)}}}this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToNextFindMatch())},t.prototype.addSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.addSelectionToPreviousFindMatch())},t.prototype.moveSelectionToNextFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToNextFindMatch())},t.prototype.moveSelectionToPreviousFindMatch=function(e){this._beginSessionIfNeeded(e),this._session&&this._applySessionResult(this._session.moveSelectionToPreviousFindMatch())},t.prototype.selectAll=function(e){var t=null,o=e.getState();if(o.isRevealed&&o.searchString.length>0&&o.isRegex)t=this._editor.getModel().findMatches(o.searchString,!0,o.isRegex,o.matchCase,o.wholeWord?this._editor.getConfiguration().wordSeparators:null,!1,1073741824);else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll()}if(t.length>0){for(var n=this._editor.getSelection(),i=0,r=t.length;i<r;i++){var s=t[i];if(s.range.intersectRanges(n)){t[i]=t[0],t[0]=s;break}}this._setSelections(t.map((function(e){return new d.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn)})))}},t.ID="editor.contrib.multiCursorController",t}(r.a),R=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return E(t,e),t.prototype.run=function(e,t){var o=O.get(t);if(o){var n=m.CommonFindController.get(t);if(!n)return null;this._run(o,n)}},t}(c.b),N=function(e){function t(){return e.call(this,{id:"editor.action.addSelectionToNextFindMatch",label:i.a("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:2082,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})||this}return E(t,e),t.prototype._run=function(e,t){e.addSelectionToNextFindMatch(t)},t}(R),L=function(e){function t(){return e.call(this,{id:"editor.action.addSelectionToPreviousFindMatch",label:i.a("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:null,menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})||this}return E(t,e),t.prototype._run=function(e,t){e.addSelectionToPreviousFindMatch(t)},t}(R),I=function(e){function t(){return e.call(this,{id:"editor.action.moveSelectionToNextFindMatch",label:i.a("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:Object(s.a)(2089,2082),weight:100}})||this}return E(t,e),t.prototype._run=function(e,t){e.moveSelectionToNextFindMatch(t)},t}(R),D=function(e){function t(){return e.call(this,{id:"editor.action.moveSelectionToPreviousFindMatch",label:i.a("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:null})||this}return E(t,e),t.prototype._run=function(e,t){e.moveSelectionToPreviousFindMatch(t)},t}(R),A=function(e){function t(){return e.call(this,{id:"editor.action.selectHighlights",label:i.a("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:null,kbOpts:{kbExpr:u.a.focus,primary:3114,weight:100},menubarOpts:{menuId:b.b.MenubarSelectionMenu,group:"3_multi",title:i.a({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})||this}return E(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(R),P=function(e){function t(){return e.call(this,{id:"editor.action.changeAll",label:i.a("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:u.a.writable,kbOpts:{kbExpr:u.a.editorTextFocus,primary:2108,weight:100},menuOpts:{group:"1_modification",order:1.2}})||this}return E(t,e),t.prototype._run=function(e,t){e.selectAll(t)},t}(R),M=function(){function e(e,t,o,n){this.lastWordUnderCursor=e,this.searchText=t,this.matchCase=o,this.wordSeparators=n}return e.softEquals=function(e,t){return!e&&!t||!(!e||!t)&&(e.searchText===t.searchText&&e.matchCase===t.matchCase&&e.wordSeparators===t.wordSeparators)},e}(),x=function(e){function t(t){var o=e.call(this)||this;return o.editor=t,o._isEnabled=t.getConfiguration().contribInfo.selectionHighlight,o.decorations=[],o.updateSoon=o._register(new a.c((function(){return o._update()}),300)),o.state=null,o._register(t.onDidChangeConfiguration((function(e){o._isEnabled=t.getConfiguration().contribInfo.selectionHighlight}))),o._register(t.onDidChangeCursorSelection((function(e){o._isEnabled&&(e.selection.isEmpty()?e.reason===g.a.Explicit?(!o.state||o.state.lastWordUnderCursor&&o.state.lastWordUnderCursor.containsPosition(e.selection.getStartPosition())||o._setState(null),o.updateSoon.schedule()):o._setState(null):o._update())}))),o._register(t.onDidChangeModel((function(e){o._setState(null)}))),o._register(m.CommonFindController.get(t).getState().onFindReplaceStateChange((function(e){o._update()}))),o}return E(t,e),t.prototype.getId=function(){return t.ID},t.prototype._update=function(){this._setState(t._createState(this._isEnabled,this.editor))},t._createState=function(e,t){if(!e)return null;var o=t.getModel();if(!o)return null;var n=t.getSelection();if(n.startLineNumber!==n.endLineNumber)return null;var i=O.get(t);if(!i)return null;var r=m.CommonFindController.get(t);if(!r)return null;var s=i.getSession(r);if(!s){var a=t.getSelections();if(a.length>1){var l=r.getState().matchCase;if(!B(t.getModel(),a,l))return null}s=k.create(t,r)}if(!s)return null;var u=null,c=f.h.has(o);if(s.currentMatch){if(c)return null;if(!t.getConfiguration().contribInfo.occurrencesHighlight)return null;u=s.currentMatch}if(/^[ \t]+$/.test(s.searchText))return null;if(s.searchText.length>200)return null;var h=r.getState(),d=h.matchCase;if(h.isRevealed){var g=h.searchString;d||(g=g.toLowerCase());var p=s.searchText;if(d||(p=p.toLowerCase()),g===p&&s.matchCase===h.matchCase&&s.wholeWord===h.wholeWord&&!h.isRegex)return null}return new M(u,s.searchText,s.matchCase,s.wholeWord?t.getConfiguration().wordSeparators:null)},t.prototype._setState=function(e){if(M.softEquals(this.state,e))this.state=e;else if(this.state=e,this.state){var o=this.editor.getModel();if(!o.isTooLargeForTokenization()){var n=f.h.has(o),i=o.findMatches(this.state.searchText,!0,!1,this.state.matchCase,this.state.wordSeparators,!1).map((function(e){return e.range}));i.sort(h.a.compareRangesUsingStarts);var r=this.editor.getSelections();r.sort(h.a.compareRangesUsingStarts);for(var s=[],a=0,l=0,u=i.length,c=r.length;a<u;){var d=i[a];if(l>=c)s.push(d),a++;else{var g=h.a.compareRangesUsingStarts(d,r[l]);g<0?(!r[l].isEmpty()&&h.a.areIntersecting(d,r[l])||s.push(d),a++):g>0?l++:(a++,l++)}}var p=s.map((function(e){return{range:e,options:n?t._SELECTION_HIGHLIGHT:t._SELECTION_HIGHLIGHT_OVERVIEW}}));this.decorations=this.editor.deltaDecorations(this.decorations,p)}}else this.decorations=this.editor.deltaDecorations(this.decorations,[])},t.prototype.dispose=function(){this._setState(null),e.prototype.dispose.call(this)},t.ID="editor.contrib.selectionHighlighter",t._SELECTION_HIGHLIGHT_OVERVIEW=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(v.f)(y.gb),darkColor:Object(v.f)(y.gb),position:l.f.Center}}),t._SELECTION_HIGHLIGHT=_.a.register({stickiness:l.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight"}),t}(r.a);function B(e,t,o){for(var n=F(e,t[0],!o),i=1,r=t.length;i<r;i++){var s=t[i];if(s.isEmpty())return!1;if(n!==F(e,s,!o))return!1}return!0}function F(e,t,o){var n=e.getValueInRange(t);return o?n.toLowerCase():n}Object(c.h)(O),Object(c.h)(x),Object(c.f)(C),Object(c.f)(S),Object(c.f)(T),Object(c.f)(N),Object(c.f)(L),Object(c.f)(I),Object(c.f)(D),Object(c.f)(A),Object(c.f)(P)},function(e,t,o){"use strict";o.r(t),o.d(t,"EditorActionCommandEntry",(function(){return m})),o.d(t,"QuickCommandAction",(function(){return _}));var n,i=o(0),r=o(13),s=o(111),a=o(10),l=o(124),u=o(97),c=o(61),h=o(5),d=o(161),g=o(3),p=o(24),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(e){function t(t,o,n,i){var r=e.call(this)||this;return r.key=t,r.setHighlights(o),r.action=n,r.editor=i,r}return f(t,e),t.prototype.getLabel=function(){return this.action.label},t.prototype.getAriaLabel=function(){return i.a("ariaLabelEntry","{0}, commands",this.getLabel())},t.prototype.getGroupLabel=function(){return this.key},t.prototype.run=function(e,t){var o=this;return e===u.a.OPEN&&(a.b.timeout(50).done((function(){o.editor.focus();try{(o.action.run()||a.b.as(null)).done(null,r.e)}catch(e){Object(r.e)(e)}}),r.e),!0)},t}(l.b),_=function(e){function t(){return e.call(this,i.a("quickCommandActionInput","Type the name of an action you want to execute"),{id:"editor.action.quickCommand",label:i.a("QuickCommandAction.label","Command Palette"),alias:"Command Palette",precondition:null,kbOpts:{kbExpr:h.a.focus,primary:p.k?571:59,weight:100},menuOpts:{group:"z_commands",order:1}})||this}return f(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(c.a);this._show(this.getController(t),{getModel:function(e){return new l.c(o._editorActionsToEntries(n,t,e))},getAutoFocus:function(e){return{autoFocusFirstEntry:!0,autoFocusPrefixMatch:e}}})},t.prototype._sort=function(e,t){var o=e.getLabel().toLowerCase(),n=t.getLabel().toLowerCase();return o.localeCompare(n)},t.prototype._editorActionsToEntries=function(e,t,o){for(var n=t.getSupportedActions(),i=[],r=0;r<n.length;r++){var a=n[r],l=e.lookupKeybinding(a.id);if(a.label){var u=Object(s.e)(o,a.label);u&&i.push(new m(l?l.getLabel():"",u,a,t))}}return i=i.sort(this._sort)},t}(d.a);Object(g.f)(_)},function(e,t,o){"use strict";o.r(t),o.d(t,"defaultReferenceSearchOptions",(function(){return N})),o.d(t,"ReferenceController",(function(){return L})),o.d(t,"ReferenceAction",(function(){return I})),o.d(t,"provideReferences",(function(){return P}));var n,i=o(0),r=o(10),s=o(12),a=o(84),l=o(9),u=o(3),c=o(11),h=o(2),d=o(113),g=o(99),p=o(56),f=o(17),m=o(13),_=o(5),y=o(157),v=o(16),b=o(134),E=o(211),C=o(37),S=o(33),T=o(36),w=o(48),k=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),O=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},R=function(e,t){return function(o,n){t(o,n,e)}},N={getMetaTitle:function(e){return e.references.length>1&&i.a("meta.titleReference"," – {0} references",e.references.length)}},L=function(){function e(e,t){e instanceof y.a&&d.a.inPeekEditor.bindTo(t)}return e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.ID="editor.contrib.referenceController",e=O([R(1,s.e)],e)}(),I=function(e){function t(){return e.call(this,{id:"editor.action.referenceSearch.trigger",label:i.a("references.action.label","Find All References"),alias:"Find All References",precondition:s.d.and(_.a.hasReferenceProvider,d.a.notInPeekEditor,_.a.isInEmbeddedEditor.toNegated()),kbOpts:{kbExpr:_.a.editorTextFocus,primary:1094,weight:100},menuOpts:{group:"navigation",order:1.5}})||this}return k(t,e),t.prototype.run=function(e,t){var o=g.a.get(t);if(o){var n=t.getSelection(),i=t.getModel(),r=Object(f.i)((function(e){return P(i,n.getStartPosition(),e).then((function(e){return new p.c(e)}))}));o.toggleWidget(n,r,N)}},t}(u.b);Object(u.h)(L),Object(u.f)(I);function D(e,t){A(e,(function(e){return e.closeWidget()}))}function A(e,t){var o=Object(d.c)(e);if(o){var n=g.a.get(o);n&&t(n)}}function P(e,t,o){var n=c.r.ordered(e).map((function(o){return Object(f.h)((function(n){return o.provideReferences(e,t,{includeDeclaration:!0},n)})).then((function(e){if(Array.isArray(e))return e}),(function(e){Object(m.f)(e)}))}));return Promise.all(n).then((function(e){for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o];i&&t.push.apply(t,i)}return t}))}C.a.registerCommand({id:"editor.action.findReferences",handler:function(e,t,o){if(!(t instanceof S.a))throw new Error("illegal argument, uri");if(!o)throw new Error("illegal argument, position");var n=e.get(T.a);return n.openCodeEditor({resource:t},n.getFocusedCodeEditor()).then((function(e){if(Object(v.d)(e)){var t=g.a.get(e);if(t){var n=Object(f.i)((function(t){return P(e.getModel(),l.a.lift(o),t).then((function(e){return new p.c(e)}))})),i=new h.a(o.lineNumber,o.column,o.lineNumber,o.column);return r.b.as(t.toggleWidget(i,n,N))}}}))}}),C.a.registerCommand({id:"editor.action.showReferences",handler:function(e,t,o,n){if(!(t instanceof S.a))throw new Error("illegal argument, uri expected");var i=e.get(T.a);return i.openCodeEditor({resource:t},i.getFocusedCodeEditor()).then((function(e){if(Object(v.d)(e)){var t=g.a.get(e);if(t)return r.b.as(t.toggleWidget(new h.a(o.lineNumber,o.column,o.lineNumber,o.column),Object(f.i)((function(e){return Promise.resolve(new p.c(n))})),N)).then((function(){return!0}))}}))},description:{description:"Show references at a position in a file",args:[{name:"uri",description:"The text document in which to show references",constraint:S.a},{name:"position",description:"The position at which to show",constraint:l.a.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array}]}}),a.a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:250,primary:62,when:g.b,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToNextReferenceFromEmbeddedEditor",weight:150,primary:62,when:d.a.inPeekEditor,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!0)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:250,primary:1086,when:g.b,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),a.a.registerCommandAndKeybindingRule({id:"goToPreviousReferenceFromEmbeddedEditor",weight:150,primary:1086,when:d.a.inPeekEditor,handler:function(e){A(e,(function(e){e.goToNextOrPreviousReference(!1)}))}}),a.a.registerCommandAndKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:s.d.and(g.b,s.d.not("config.editor.stablePeek")),handler:D}),a.a.registerCommandAndKeybindingRule({id:"closeReferenceSearchEditor",weight:-1,primary:9,secondary:[1033],when:s.d.and(d.a.inPeekEditor,s.d.not("config.editor.stablePeek")),handler:D}),a.a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:s.d.and(g.b,E.b),handler:function(e,t){var o=e.get(b.a),n=o.lastFocusedList&&o.lastFocusedList.getFocus();n instanceof p.b&&A(e,(function(e){return e.openReference(n,!0)}))}}),Object(u.e)("_executeReferenceProvider",(function(e,t){return P(e,t,w.a.None)}))},function(e,t,o){"use strict";o.r(t),o.d(t,"StandaloneReferencesController",(function(){return f}));var n,i=o(36),r=o(22),s=o(12),a=o(49),l=o(55),u=o(3),c=o(45),h=o(99),d=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),g=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},p=function(e,t){return function(o,n){t(o,n,e)}},f=function(e){function t(t,o,n,i,r,s,a){return e.call(this,!0,t,o,n,i,r,s,a)||this}return d(t,e),t=g([p(1,s.e),p(2,i.a),p(3,c.a),p(4,r.a),p(5,l.a),p(6,a.b)],t)}(h.a);Object(u.h)(f)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(3),s=o(103),a=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),l=function(e){function t(){var t=e.call(this,{id:"editor.action.toggleHighContrast",label:i.a("toggleHighContrast","Toggle High Contrast Theme"),alias:"Toggle High Contrast Theme",precondition:null})||this;return t._originalThemeName=null,t}return a(t,e),t.prototype.run=function(e,t){var o=e.get(s.a);this._originalThemeName?(o.setTheme(this._originalThemeName),this._originalThemeName=null):(this._originalThemeName=o.getTheme().themeName,o.setTheme("hc-black"))},t}(r.b);Object(r.f)(l)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(8),s=o(2),a=o(9),l=o(5),u=o(3),c=o(43),h=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),d=function(e){function t(){return e.call(this,{id:"editor.action.transposeLetters",label:i.a("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:l.a.writable,kbOpts:{kbExpr:l.a.textInputFocus,primary:0,mac:{primary:306},weight:100}})||this}return h(t,e),t.prototype.positionLeftOf=function(e,t){var o=e.column,n=e.lineNumber;return o>t.getLineMinColumn(n)?Object(r.isLowSurrogate)(t.getLineContent(n).charCodeAt(o-2))?o-=2:o-=1:n>1&&(n-=1,o=t.getLineMaxColumn(n)),new a.a(n,o)},t.prototype.positionRightOf=function(e,t){var o=e.column,n=e.lineNumber;return o<t.getLineMaxColumn(n)?Object(r.isHighSurrogate)(t.getLineContent(n).charCodeAt(o-1))?o+=2:o+=1:n<t.getLineCount()&&(n+=1,o=0),new a.a(n,o)},t.prototype.run=function(e,t){for(var o=t.getModel(),n=[],i=0,r=t.getSelections();i<r.length;i++){var a=r[i];if(a.isEmpty()){var l=a.startLineNumber,u=a.startColumn,h=o.getLineMaxColumn(l);if(1!==l||1!==u&&(2!==u||2!==h)){var d=u===h?a.getPosition():this.positionRightOf(a.getPosition(),o),g=this.positionLeftOf(d,o),p=this.positionLeftOf(g,o),f=o.getValueInRange(s.a.fromPositions(p,g)),m=o.getValueInRange(s.a.fromPositions(g,d)),_=s.a.fromPositions(p,d);n.push(new c.a(_,m+f))}}}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())},t}(u.b);Object(u.f)(d)},function(e,t,o){"use strict";o.r(t),o.d(t,"editorWordHighlight",(function(){return S})),o.d(t,"editorWordHighlightStrong",(function(){return T})),o.d(t,"editorWordHighlightBorder",(function(){return w})),o.d(t,"editorWordHighlightStrongBorder",(function(){return k})),o.d(t,"overviewRulerWordHighlightForeground",(function(){return O})),o.d(t,"overviewRulerWordHighlightStrongForeground",(function(){return R})),o.d(t,"ctxHasWordHighlights",(function(){return N})),o.d(t,"getOccurrencesAtPosition",(function(){return L}));var n,i=o(0),r=o(17),s=o(13),a=o(2),l=o(3),u=o(11),c=o(6),h=o(7),d=o(19),g=o(35),p=o(26),f=o(12),m=o(5),_=o(25),y=o(18),v=o(48),b=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),E=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},C=function(e,t){return function(o,n){t(o,n,e)}},S=Object(h.kb)("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hc:null},i.a("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque to not hide underlying decorations."),!0),T=Object(h.kb)("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hc:null},i.a("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque to not hide underlying decorations."),!0),w=Object(h.kb)("editor.wordHighlightBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable.")),k=Object(h.kb)("editor.wordHighlightStrongBorder",{light:null,dark:null,hc:h.b},i.a("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable.")),O=Object(h.kb)("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hc:"#A0A0A0CC"},i.a("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),R=Object(h.kb)("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hc:"#C0A0C0CC"},i.a("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations."),!0),N=new f.f("hasWordHighlights",!1);function L(e,t,o){var n=u.h.ordered(e);return Object(r.k)(n.map((function(n){return function(){return Promise.resolve(n.provideDocumentHighlights(e,t,o)).then(void 0,s.f)}})),(function(e){return!Object(_.k)(e)}))}Object(l.e)("_executeDocumentHighlights",(function(e,t){return L(e,t,v.a.None)}));var I=function(){function e(e,t){var o=this;this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.workerRequestValue=[],this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this._hasWordHighlights=N.bindTo(t),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getConfiguration().contribInfo.occurrencesHighlight,this.model=this.editor.getModel(),this.toUnhook=[],this.toUnhook.push(e.onDidChangeCursorPosition((function(e){o._ignorePositionChangeEvent||o.occurrencesHighlight&&o._onPositionChanged(e)}))),this.toUnhook.push(e.onDidChangeModel((function(e){o._stopAll(),o.model=o.editor.getModel()}))),this.toUnhook.push(e.onDidChangeModelContent((function(e){o._stopAll()}))),this.toUnhook.push(e.onDidChangeConfiguration((function(e){var t=o.editor.getConfiguration().contribInfo.occurrencesHighlight;o.occurrencesHighlight!==t&&(o.occurrencesHighlight=t,o._stopAll())}))),this._lastWordRange=null,this._decorationIds=[],this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1}return e.prototype.hasDecorations=function(){return this._decorationIds.length>0},e.prototype.restore=function(){this.occurrencesHighlight&&this._run()},e.prototype._getSortedHighlights=function(){var e=this;return this._decorationIds.map((function(t){return e.model.getDecorationRange(t)})).sort(a.a.compareRangesUsingStarts)},e.prototype.moveNext=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))+1)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype.moveBack=function(){var e=this,t=this._getSortedHighlights(),o=t[(Object(_.h)(t,(function(t){return t.containsPosition(e.editor.getPosition())}))-1+t.length)%t.length];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(o.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(o)}finally{this._ignorePositionChangeEvent=!1}},e.prototype._removeDecorations=function(){this._decorationIds.length>0&&(this._decorationIds=this.editor.deltaDecorations(this._decorationIds,[]),this._hasWordHighlights.set(!1))},e.prototype._stopAll=function(){this._lastWordRange=null,this._removeDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)},e.prototype._onPositionChanged=function(e){this.occurrencesHighlight&&e.reason===g.a.Explicit?this._run():this._stopAll()},e.prototype._run=function(){var e=this;if(u.h.has(this.model)){var t=this.editor.getSelection();if(t.startLineNumber===t.endLineNumber){var o=t.startLineNumber,n=t.startColumn,i=t.endColumn,l=this.model.getWordAtPosition({lineNumber:o,column:n});if(!l||l.startColumn>n||l.endColumn<i)this._stopAll();else{for(var c=new a.a(o,l.startColumn,o,l.endColumn),h=this._lastWordRange&&this._lastWordRange.equalsRange(c),d=0,g=this._decorationIds.length;!h&&d<g;d++){var p=this.model.getDecorationRange(this._decorationIds[d]);p&&p.startLineNumber===o&&p.startColumn<=n&&p.endColumn>=i&&(h=!0)}if(this.lastCursorPositionChangeTime=(new Date).getTime(),h)this.workerRequestCompleted&&-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1,this._beginRenderDecorations());else{this._stopAll();var f=++this.workerRequestTokenId;this.workerRequestCompleted=!1,this.workerRequest=Object(r.i)((function(t){return L(e.model,e.editor.getPosition(),t)})),this.workerRequest.then((function(t){f===e.workerRequestTokenId&&(e.workerRequestCompleted=!0,e.workerRequestValue=t||[],e._beginRenderDecorations())}),s.e)}this._lastWordRange=c}}else this._stopAll()}else this._stopAll()},e.prototype._beginRenderDecorations=function(){var e=this,t=(new Date).getTime(),o=this.lastCursorPositionChangeTime+250;t>=o?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((function(){e.renderDecorations()}),o-t)},e.prototype.renderDecorations=function(){this.renderDecorationsTimer=-1;for(var t=[],o=0,n=this.workerRequestValue.length;o<n;o++){var i=this.workerRequestValue[o];t.push({range:i.range,options:e._getDecorationOptions(i.kind)})}this._decorationIds=this.editor.deltaDecorations(this._decorationIds,t),this._hasWordHighlights.set(this.hasDecorations())},e._getDecorationOptions=function(e){return e===u.g.Write?this._WRITE_OPTIONS:e===u.g.Text?this._TEXT_OPTIONS:this._REGULAR_OPTIONS},e.prototype.dispose=function(){this._stopAll(),this.toUnhook=Object(c.d)(this.toUnhook)},e._WRITE_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"wordHighlightStrong",overviewRuler:{color:Object(d.f)(R),darkColor:Object(d.f)(R),position:y.f.Center}}),e._TEXT_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"selectionHighlight",overviewRuler:{color:Object(d.f)(h.gb),darkColor:Object(d.f)(h.gb),position:y.f.Center}}),e._REGULAR_OPTIONS=p.a.register({stickiness:y.h.NeverGrowsWhenTypingAtEdges,className:"wordHighlight",overviewRuler:{color:Object(d.f)(O),darkColor:Object(d.f)(O),position:y.f.Center}}),e}(),D=function(){function e(e,t){this.wordHighligher=new I(e,t)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.saveViewState=function(){return!!this.wordHighligher.hasDecorations()},e.prototype.moveNext=function(){this.wordHighligher.moveNext()},e.prototype.moveBack=function(){this.wordHighligher.moveBack()},e.prototype.restoreViewState=function(e){e&&this.wordHighligher.restore()},e.prototype.dispose=function(){this.wordHighligher.dispose()},e.ID="editor.contrib.wordHighlighter",e=E([C(1,f.e)],e)}(),A=function(e){function t(t,o){var n=e.call(this,o)||this;return n._isNext=t,n}return b(t,e),t.prototype.run=function(e,t){var o=D.get(t);o&&(this._isNext?o.moveNext():o.moveBack())},t}(l.b),P=function(e){function t(){return e.call(this,!0,{id:"editor.action.wordHighlight.next",label:i.a("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:N,kbOpts:{kbExpr:m.a.editorTextFocus,primary:65,weight:100}})||this}return b(t,e),t}(A),M=function(e){function t(){return e.call(this,!1,{id:"editor.action.wordHighlight.prev",label:i.a("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:N,kbOpts:{kbExpr:m.a.editorTextFocus,primary:1089,weight:100}})||this}return b(t,e),t}(A);Object(l.h)(D),Object(l.f)(P),Object(l.f)(M),Object(d.e)((function(e,t){var o=e.getColor(h.B);o&&(t.addRule(".monaco-editor .focused .selectionHighlight { background-color: "+o+"; }"),t.addRule(".monaco-editor .selectionHighlight { background-color: "+o.transparent(.5)+"; }"));var n=e.getColor(S);n&&t.addRule(".monaco-editor .wordHighlight { background-color: "+n+"; }");var i=e.getColor(T);i&&t.addRule(".monaco-editor .wordHighlightStrong { background-color: "+i+"; }");var r=e.getColor(h.C);r&&t.addRule(".monaco-editor .selectionHighlight { border: 1px "+("hc"===e.type?"dotted":"solid")+" "+r+"; box-sizing: border-box; }");var s=e.getColor(w);s&&t.addRule(".monaco-editor .wordHighlight { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+s+"; box-sizing: border-box; }");var a=e.getColor(k);a&&t.addRule(".monaco-editor .wordHighlightStrong { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+a+"; box-sizing: border-box; }")}))},function(e,t,o){"use strict";o.r(t),o.d(t,"DeleteWordPartLeft",(function(){return h})),o.d(t,"DeleteWordPartRight",(function(){return d})),o.d(t,"WordPartLeftCommand",(function(){return g})),o.d(t,"CursorWordPartLeft",(function(){return p})),o.d(t,"CursorWordPartLeftSelect",(function(){return f})),o.d(t,"WordPartRightCommand",(function(){return m})),o.d(t,"CursorWordPartRight",(function(){return _})),o.d(t,"CursorWordPartRightSelect",(function(){return y}));var n,i=o(5),r=o(3),s=o(2),a=o(107),l=o(130),u=o(37),c=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),h=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:769},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,o,n,i){var r=a.b.deleteWordPartLeft(e,t,o,n,i);return r||new s.a(1,1,1,1)},t}(l.DeleteWordCommand),d=function(e){function t(){return e.call(this,{whitespaceHeuristics:!0,wordNavigationType:1,id:"deleteWordPartRight",precondition:i.a.writable,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:788},weight:100}})||this}return c(t,e),t.prototype._delete=function(e,t,o,n,i){var r=a.b.deleteWordPartRight(e,t,o,n,i);if(r)return r;var l=t.getLineCount(),u=t.getLineMaxColumn(l);return new s.a(l,u,l,u)},t}(l.DeleteWordCommand),g=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,o,n){return a.b.moveWordPartLeft(e,t,o,n)},t}(l.MoveWordCommand),p=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:783},weight:100}})||this}return c(t,e),t}(g);u.a.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");var f=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:1807},weight:100}})||this}return c(t,e),t}(g);u.a.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");var m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return c(t,e),t.prototype._move=function(e,t,o,n){return a.b.moveWordPartRight(e,t,o,n)},t}(l.MoveWordCommand),_=function(e){function t(){return e.call(this,{inSelectionMode:!1,wordNavigationType:1,id:"cursorWordPartRight",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:785},weight:100}})||this}return c(t,e),t}(m),y=function(e){function t(){return e.call(this,{inSelectionMode:!0,wordNavigationType:1,id:"cursorWordPartRightSelect",precondition:null,kbOpts:{kbExpr:i.a.textInputFocus,primary:0,mac:{primary:1809},weight:100}})||this}return c(t,e),t}(m);Object(r.g)(new h),Object(r.g)(new d),Object(r.g)(new p),Object(r.g)(new f),Object(r.g)(new _),Object(r.g)(new y)},function(e,t,o){"use strict";o.r(t),o.d(t,"LanguageServiceDefaultsImpl",(function(){return i}));o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"diagnosticsOptions",{get:function(){return this._diagnosticsOptions},enumerable:!0,configurable:!0}),e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e}(),r=new i("json",{validate:!0,allowComments:!0,schemas:[]});monaco.languages.json={jsonDefaults:r},monaco.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc"],aliases:["JSON","json"],mimetypes:["application/json"]}),monaco.languages.onLanguage("json",(function(){monaco.Promise.wrap(o.e(52).then(o.bind(null,553))).then((function(e){return e.setupMode(r)}))}))},function(e,t,o){"use strict";(function(e){var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});function r(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0});var s=o(169),a=o(301);t.RequestType=a.RequestType,t.RequestType0=a.RequestType0,t.RequestType1=a.RequestType1,t.RequestType2=a.RequestType2,t.RequestType3=a.RequestType3,t.RequestType4=a.RequestType4,t.RequestType5=a.RequestType5,t.RequestType6=a.RequestType6,t.RequestType7=a.RequestType7,t.RequestType8=a.RequestType8,t.RequestType9=a.RequestType9,t.ResponseError=a.ResponseError,t.ErrorCodes=a.ErrorCodes,t.NotificationType=a.NotificationType,t.NotificationType0=a.NotificationType0,t.NotificationType1=a.NotificationType1,t.NotificationType2=a.NotificationType2,t.NotificationType3=a.NotificationType3,t.NotificationType4=a.NotificationType4,t.NotificationType5=a.NotificationType5,t.NotificationType6=a.NotificationType6,t.NotificationType7=a.NotificationType7,t.NotificationType8=a.NotificationType8,t.NotificationType9=a.NotificationType9;var l=o(183);t.MessageReader=l.MessageReader,t.StreamMessageReader=l.StreamMessageReader,t.IPCMessageReader=l.IPCMessageReader,t.SocketMessageReader=l.SocketMessageReader;var u=o(184);t.MessageWriter=u.MessageWriter,t.StreamMessageWriter=u.StreamMessageWriter,t.IPCMessageWriter=u.IPCMessageWriter,t.SocketMessageWriter=u.SocketMessageWriter;var c=o(170);t.Disposable=c.Disposable,t.Event=c.Event,t.Emitter=c.Emitter;var h=o(497);t.CancellationTokenSource=h.CancellationTokenSource,t.CancellationToken=h.CancellationToken;var d,g,p,f,m,_=o(498);r(o(499)),r(o(500)),function(e){e.type=new a.NotificationType("$/cancelRequest")}(d||(d={})),t.NullLogger=Object.freeze({error:function(){},warn:function(){},info:function(){},log:function(){}}),function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"}(g=t.Trace||(t.Trace={})),function(e){e.fromString=function(t){switch(t=t.toLowerCase()){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}},e.toString=function(t){switch(t){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}}(g=t.Trace||(t.Trace={})),function(e){e.type=new a.NotificationType("$/setTraceNotification")}(p=t.SetTraceNotification||(t.SetTraceNotification={})),function(e){e.type=new a.NotificationType("$/logTraceNotification")}(f=t.LogTraceNotification||(t.LogTraceNotification={})),function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"}(m=t.ConnectionErrors||(t.ConnectionErrors={}));var y,v=function(e){function t(o,n){var i=e.call(this,n)||this;return i.code=o,Object.setPrototypeOf(i,t.prototype),i}return i(t,e),t}(Error);function b(t,o,n,i){var r,l,u=0,b=0,E=0,C="2.0",S=void 0,T=Object.create(null),w=void 0,k=Object.create(null),O=new _.LinkedMap,R=Object.create(null),N=Object.create(null),L=g.Off,I=y.New,D=new c.Emitter,A=new c.Emitter,P=new c.Emitter,M=new c.Emitter;function x(e){return"req-"+e.toString()}function B(e,t){var o;a.isRequestMessage(t)?e.set(x(t.id),t):a.isResponseMessage(t)?e.set(null===(o=t.id)?"res-unknown-"+(++E).toString():"res-"+o.toString(),t):e.set("not-"+(++b).toString(),t)}function F(e){}function H(){return I===y.Listening}function U(){return I===y.Closed}function V(){return I===y.Disposed}function W(){I!==y.New&&I!==y.Listening||(I=y.Closed,A.fire(void 0))}function j(){r||0===O.size||(r=e((function(){r=void 0,function(){if(0===O.size)return;var e=O.shift();try{a.isRequestMessage(e)?function(e){if(V())return;function t(t,n,i){var r={jsonrpc:C,id:e.id};t instanceof a.ResponseError?r.error=t.toJson():r.result=void 0===t?null:t,Y(r,n,i),o.write(r)}function n(t,n,i){var r={jsonrpc:C,id:e.id,error:t.toJson()};Y(r,n,i),o.write(r)}!function(e){if(L===g.Off||!l)return;var t=void 0;L===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n");l.log("Received request '"+e.method+" - ("+e.id+")'.",t)}(e);var i,r,u=T[e.method];u&&(i=u.type,r=u.handler);var c=Date.now();if(r||S){var d=new h.CancellationTokenSource,p=String(e.id);N[p]=d;try{var f=void 0,m=f=void 0===e.params||void 0!==i&&0===i.numberOfParams?r?r(d.token):S(e.method,d.token):s.array(e.params)&&(void 0===i||i.numberOfParams>1)?r?r.apply(void 0,e.params.concat([d.token])):S.apply(void 0,[e.method].concat(e.params,[d.token])):r?r(e.params,d.token):S(e.method,e.params,d.token);f?m.then?m.then((function(o){delete N[p],t(o,e.method,c)}),(function(t){delete N[p],t instanceof a.ResponseError?n(t,e.method,c):t&&s.string(t.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+t.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)})):(delete N[p],t(f,e.method,c)):(delete N[p],function(t,n,i){void 0===t&&(t=null);var r={jsonrpc:C,id:e.id,result:t};Y(r,n,i),o.write(r)}(f,e.method,c))}catch(o){delete N[p],o instanceof a.ResponseError?t(o,e.method,c):o&&s.string(o.message)?n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed with message: "+o.message),e.method,c):n(new a.ResponseError(a.ErrorCodes.InternalError,"Request "+e.method+" failed unexpectedly without providing any details."),e.method,c)}}else n(new a.ResponseError(a.ErrorCodes.MethodNotFound,"Unhandled method "+e.method),e.method,c)}(e):a.isNotificationMessage(e)?function(e){if(V())return;var t,o=void 0;if(e.method===d.type.method)t=function(e){var t=e.id,o=N[String(t)];o&&o.cancel()};else{var i=k[e.method];i&&(t=i.handler,o=i.type)}if(t||w)try{!function(e){if(L===g.Off||!l||e.method===f.type.method)return;var t=void 0;L===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n");l.log("Received notification '"+e.method+"'.",t)}(e),void 0===e.params||void 0!==o&&0===o.numberOfParams?t?t():w(e.method):s.array(e.params)&&(void 0===o||o.numberOfParams>1)?t?t.apply(void 0,e.params):w.apply(void 0,[e.method].concat(e.params)):t?t(e.params):w(e.method,e.params)}catch(t){t.message?n.error("Notification handler '"+e.method+"' failed with message: "+t.message):n.error("Notification handler '"+e.method+"' failed unexpectedly.")}else P.fire(e)}(e):a.isResponseMessage(e)?function(e){if(V())return;if(null===e.id)e.error?n.error("Received response message without id: Error is: \n"+JSON.stringify(e.error,void 0,4)):n.error("Received response message without id. No further error information provided.");else{var t=String(e.id),o=R[t];if(function(e,t){if(L===g.Off||!l)return;var o=void 0;L===g.Verbose&&(e.error&&e.error.data?o="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?o="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(o="No result returned.\n\n"));if(t){var n=e.error?" Request failed: "+e.error.message+" ("+e.error.code+").":"";l.log("Received response '"+t.method+" - ("+e.id+")' in "+(Date.now()-t.timerStart)+"ms."+n,o)}else l.log("Received response "+e.id+" without active response promise.",o)}(e,o),o){delete R[t];try{if(e.error){var i=e.error;o.reject(new a.ResponseError(i.code,i.message,i.data))}else{if(void 0===e.result)throw new Error("Should never happen.");o.resolve(e.result)}}catch(i){i.message?n.error("Response handler '"+o.method+"' failed with message: "+i.message):n.error("Response handler '"+o.method+"' failed unexpectedly.")}}}}(e):function(e){if(!e)return void n.error("Received empty message.");n.error("Received message which is neither a response nor a notification message:\n"+JSON.stringify(e,null,4));var t=e;if(s.string(t.id)||s.number(t.id)){var o=String(t.id),i=R[o];i&&i.reject(new Error("The received response has neither a result nor an error property."))}}(e)}finally{j()}}()})))}t.onClose(W),t.onError((function(e){D.fire([e,void 0,void 0])})),o.onClose(W),o.onError((function(e){D.fire(e)}));var G=function(e){try{if(a.isNotificationMessage(e)&&e.method===d.type.method){var t=x(e.params.id),n=O.get(t);if(a.isRequestMessage(n)){var r=i&&i.cancelUndispatched?i.cancelUndispatched(n,F):void 0;if(r&&(void 0!==r.error||void 0!==r.result))return O.delete(t),r.id=n.id,Y(r,e.method,Date.now()),void o.write(r)}}B(O,e)}finally{j()}};function z(e){if(L!==g.Off&&l){var t=void 0;L===g.Verbose&&e.params&&(t="Params: "+JSON.stringify(e.params,null,4)+"\n\n"),l.log("Sending request '"+e.method+" - ("+e.id+")'.",t)}}function K(e){if(L!==g.Off&&l){var t=void 0;L===g.Verbose&&(t=e.params?"Params: "+JSON.stringify(e.params,null,4)+"\n\n":"No parameters provided.\n\n"),l.log("Sending notification '"+e.method+"'.",t)}}function Y(e,t,o){if(L!==g.Off&&l){var n=void 0;L===g.Verbose&&(e.error&&e.error.data?n="Error data: "+JSON.stringify(e.error.data,null,4)+"\n\n":e.result?n="Result: "+JSON.stringify(e.result,null,4)+"\n\n":void 0===e.error&&(n="No result returned.\n\n")),l.log("Sending response '"+t+" - ("+e.id+")'. Processing request took "+(Date.now()-o)+"ms",n)}}function X(){if(U())throw new v(m.Closed,"Connection is closed.");if(V())throw new v(m.Disposed,"Connection is disposed.")}function q(){if(!H())throw new Error("Call listen() first.")}function $(e){return void 0===e?null:e}function J(e,t){var o,n=e.numberOfParams;switch(n){case 0:o=null;break;case 1:o=$(t[0]);break;default:o=[];for(var i=0;i<t.length&&i<n;i++)o.push($(t[i]));if(t.length<n)for(i=t.length;i<n;i++)o.push(null)}return o}var Z={sendNotification:function(e){for(var t,n,i=[],r=1;r<arguments.length;r++)i[r-1]=arguments[r];if(X(),s.string(e))switch(t=e,i.length){case 0:n=null;break;case 1:n=i[0];break;default:n=i}else t=e.method,n=J(e,i);var a={jsonrpc:C,method:t,params:n};K(a),o.write(a)},onNotification:function(e,t){X(),s.func(e)?w=e:t&&(s.string(e)?k[e]={type:void 0,handler:t}:k[e.method]={type:e,handler:t})},sendRequest:function(e){for(var t,n,i=[],r=1;r<arguments.length;r++)i[r-1]=arguments[r];X(),q();var l=void 0;if(s.string(e))switch(t=e,i.length){case 0:n=null;break;case 1:h.CancellationToken.is(i[0])?(n=null,l=i[0]):n=$(i[0]);break;default:var c=i.length-1;h.CancellationToken.is(i[c])?(l=i[c],n=2===i.length?$(i[0]):i.slice(0,c).map((function(e){return $(e)}))):n=i.map((function(e){return $(e)}))}else{t=e.method,n=J(e,i);var g=e.numberOfParams;l=h.CancellationToken.is(i[g])?i[g]:void 0}var p=u++,f=new Promise((function(e,i){var r={jsonrpc:C,id:p,method:t,params:n},s={method:t,timerStart:Date.now(),resolve:e,reject:i};z(r);try{o.write(r)}catch(e){s.reject(new a.ResponseError(a.ErrorCodes.MessageWriteError,e.message?e.message:"Unknown reason")),s=null}s&&(R[String(p)]=s)}));return l&&l.onCancellationRequested((function(){Z.sendNotification(d.type,{id:p})})),f},onRequest:function(e,t){X(),s.func(e)?S=e:t&&(s.string(e)?T[e]={type:void 0,handler:t}:T[e.method]={type:e,handler:t})},trace:function(e,t,o){void 0===o&&(o=!1),l=(L=e)===g.Off?void 0:t,!o||U()||V()||Z.sendNotification(p.type,{value:g.toString(e)})},onError:D.event,onClose:A.event,onUnhandledNotification:P.event,onDispose:M.event,dispose:function(){if(!V()){I=y.Disposed,M.fire(void 0);var e=new Error("Connection got disposed.");Object.keys(R).forEach((function(t){R[t].reject(e)})),R=Object.create(null),N=Object.create(null),O=new _.LinkedMap,s.func(o.dispose)&&o.dispose(),s.func(t.dispose)&&t.dispose()}},listen:function(){X(),function(){if(H())throw new v(m.AlreadyListening,"Connection is already listening")}(),I=y.Listening,t.listen(G)},inspect:function(){console.log("inspect")}};return Z.onNotification(f.type,(function(e){L!==g.Off&&l&&l.log(e.message,L===g.Verbose?e.verbose:void 0)})),Z}t.ConnectionError=v,function(e){e.is=function(e){var t=e;return t&&s.func(t.cancelUndispatched)}}(t.ConnectionStrategy||(t.ConnectionStrategy={})),function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"}(y||(y={})),t.createMessageConnection=function(e,o,n,i){var r;return n||(n=t.NullLogger),b(void 0!==(r=e).listen&&void 0===r.read?e:new l.StreamMessageReader(e),function(e){return void 0!==e.write&&void 0===e.end}(o)?o:new u.StreamMessageWriter(o),n,i)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r=8192,s=e.from("\r","ascii")[0],a=e.from("\n","ascii")[0],l="\r\n";class u{constructor(t="utf8"){this.encoding=t,this.index=0,this.buffer=e.allocUnsafe(r)}append(t){var o=t;if("string"==typeof t){var n=t,i=e.byteLength(n,this.encoding);(o=e.allocUnsafe(i)).write(n,0,i,this.encoding)}if(this.buffer.length-this.index>=o.length)o.copy(this.buffer,this.index,0,o.length);else{var s=(Math.ceil((this.index+o.length)/r)+1)*r;0===this.index?(this.buffer=e.allocUnsafe(s),o.copy(this.buffer,0,0,o.length)):this.buffer=e.concat([this.buffer.slice(0,this.index),o],s)}this.index+=o.length}tryReadHeaders(){let e=void 0,t=0;for(;t+3<this.index&&(this.buffer[t]!==s||this.buffer[t+1]!==a||this.buffer[t+2]!==s||this.buffer[t+3]!==a);)t++;if(t+3>=this.index)return e;e=Object.create(null),this.buffer.toString("ascii",0,t).split(l).forEach(t=>{let o=t.indexOf(":");if(-1===o)throw new Error("Message header must separate key and value using :");let n=t.substr(0,o),i=t.substr(o+1).trim();e[n]=i});let o=t+4;return this.buffer=this.buffer.slice(o),this.index=this.index-o,e}tryReadContent(e){if(this.index<e)return null;let t=this.buffer.toString(this.encoding,0,e),o=e;return this.buffer.copy(this.buffer,0,o),this.index=this.index-o,t}get numberOfBytes(){return this.index}}!function(e){e.is=function(e){let t=e;return t&&i.func(t.listen)&&i.func(t.dispose)&&i.func(t.onError)&&i.func(t.onClose)&&i.func(t.onPartialMessage)}}(t.MessageReader||(t.MessageReader={}));class c{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e){this.errorEmitter.fire(this.asError(e))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(e){this.partialMessageEmitter.fire(e)}asError(e){return e instanceof Error?e:new Error(`Reader recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageReader=c;class h extends c{constructor(e,t="utf8"){super(),this.readable=e,this.buffer=new u(t),this._partialMessageTimeout=1e4}set partialMessageTimeout(e){this._partialMessageTimeout=e}get partialMessageTimeout(){return this._partialMessageTimeout}listen(e){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=e,this.readable.on("data",e=>{this.onData(e)}),this.readable.on("error",e=>this.fireError(e)),this.readable.on("close",()=>this.fireClose())}onData(e){for(this.buffer.append(e);;){if(-1===this.nextMessageLength){let e=this.buffer.tryReadHeaders();if(!e)return;let t=e["Content-Length"];if(!t)throw new Error("Header must provide a Content-Length property.");let o=parseInt(t);if(isNaN(o))throw new Error("Content-Length value must be a number.");this.nextMessageLength=o}var t=this.buffer.tryReadContent(this.nextMessageLength);if(null===t)return void this.setPartialMessageTimer();this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.messageToken++;var o=JSON.parse(t);this.callback(o)}}clearPartialMessageTimer(){this.partialMessageTimer&&(clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),this._partialMessageTimeout<=0||(this.partialMessageTimer=setTimeout((e,t)=>{this.partialMessageTimer=void 0,e===this.messageToken&&(this.firePartialMessage({messageToken:e,waitingTime:t}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}}t.StreamMessageReader=h;t.IPCMessageReader=class extends c{constructor(e){super(),this.process=e;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose())}listen(e){this.process.on("message",e)}};t.SocketMessageReader=class extends h{constructor(e,t="utf-8"){super(e,t)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);let r="Content-Length: ",s="\r\n";!function(e){e.is=function(e){let t=e;return t&&i.func(t.dispose)&&i.func(t.onClose)&&i.func(t.onError)&&i.func(t.write)}}(t.MessageWriter||(t.MessageWriter={}));class a{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(e,t,o){this.errorEmitter.fire([this.asError(e),t,o])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(e){return e instanceof Error?e:new Error(`Writer recevied error. Reason: ${i.string(e.message)?e.message:"unknown"}`)}}t.AbstractMessageWriter=a;t.StreamMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.writable=e,this.encoding=t,this.errorCount=0,this.writable.on("error",e=>this.fireError(e)),this.writable.on("close",()=>this.fireClose())}write(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.writable.write(i.join(""),"ascii"),this.writable.write(o,this.encoding),this.errorCount=0}catch(e){this.errorCount++,this.fireError(e,t,this.errorCount)}}};t.IPCMessageWriter=class extends a{constructor(e){super(),this.process=e,this.errorCount=0,this.queue=[],this.sending=!1;let t=this.process;t.on("error",e=>this.fireError(e)),t.on("close",()=>this.fireClose)}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(e){try{this.process.send&&(this.sending=!0,this.process.send(e,void 0,void 0,t=>{this.sending=!1,t?(this.errorCount++,this.fireError(t,e,this.errorCount)):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())}))}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}}};t.SocketMessageWriter=class extends a{constructor(e,t="utf8"){super(),this.socket=e,this.queue=[],this.sending=!1,this.encoding=t,this.errorCount=0,this.socket.on("error",e=>this.fireError(e)),this.socket.on("close",()=>this.fireClose())}write(e){this.sending||0!==this.queue.length?this.queue.push(e):this.doWriteMessage(e)}doWriteMessage(t){let o=JSON.stringify(t),n=e.byteLength(o,this.encoding),i=[r,n.toString(),s,s];try{this.sending=!0,this.socket.write(i.join(""),"ascii",e=>{e&&this.handleError(e,t);try{this.socket.write(o,this.encoding,e=>{this.sending=!1,e?this.handleError(e,t):this.errorCount=0,this.queue.length>0&&this.doWriteMessage(this.queue.shift())})}catch(e){this.handleError(e,t)}})}catch(e){this.handleError(e,t)}}handleError(e,t){this.errorCount++,this.fireError(e,t,this.errorCount)}}}).call(this,o(120).Buffer)},function(e,t,o){"use strict";function n(e){return"string"==typeof e||e instanceof String}function i(e){return"function"==typeof e}function r(e){return Array.isArray(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.boolean=function(e){return!0===e||!1===e},t.string=n,t.number=function(e){return"number"==typeof e||e instanceof Number},t.error=function(e){return e instanceof Error},t.func=i,t.array=r,t.stringArray=function(e){return r(e)&&e.every(e=>n(e))},t.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)},t.thenable=function(e){return e&&i(e.then)}},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(25),s=o(6),a=o(22),l=o(12),u=o(37),c=o(5),h=o(3),d=o(58),g=o(53),p=o(2),f=o(114),m=o(139),_=o(47),y=o(17),v=o(4),b=o(79),E=o(35),C=o(23),S=o(11),T=o(111),w=o(27),k=function(){function e(t,o,n,i){void 0===i&&(i=w.a.contribInfo.suggest),this._snippetCompareFn=e._compareCompletionItems,this._items=t,this._column=o,this._options=i,this._refilterKind=1,this._lineContext=n,"top"===i.snippets?this._snippetCompareFn=e._compareCompletionItemsSnippetsUp:"bottom"===i.snippets&&(this._snippetCompareFn=e._compareCompletionItemsSnippetsDown)}return e.prototype.dispose=function(){for(var e=new Set,t=0,o=this._items;t<o.length;t++){var n=o[t].container;e.has(n)||(e.add(n),Object(s.e)(n)&&n.dispose())}},Object.defineProperty(e.prototype,"lineContext",{get:function(){return this._lineContext},set:function(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta<e.characterCountDelta&&this._filteredItems?2:1,this._lineContext=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"items",{get:function(){return this._ensureCachedState(),this._filteredItems},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"incomplete",{get:function(){return this._ensureCachedState(),this._isIncomplete},enumerable:!0,configurable:!0}),e.prototype.adopt=function(e){for(var t=new Array,o=0;o<this._items.length;)e.has(this._items[o].support)?o++:(t.push(this._items[o]),this._items[o]=this._items[this._items.length-1],this._items.pop());return this._refilterKind=1,t},Object.defineProperty(e.prototype,"stats",{get:function(){return this._ensureCachedState(),this._stats},enumerable:!0,configurable:!0}),e.prototype._ensureCachedState=function(){0!==this._refilterKind&&this._createCachedState()},e.prototype._createCachedState=function(){this._isIncomplete=new Set,this._stats={suggestionCount:0,snippetCount:0,textCount:0};for(var e=this._lineContext,t=e.leadingLineContent,o=e.characterCountDelta,n="",i=1===this._refilterKind?this._items:this._filteredItems,r=[],s=!this._options.filterGraceful||i.length>2e3?T.c:T.d,a=0;a<i.length;a++){var l=i[a],u=l.suggestion;l.container.incomplete&&this._isIncomplete.add(l.support);var c=u.overwriteBefore+o-(l.position.column-this._column);if(n.length!==c&&(n=0===c?"":t.slice(-c)),l.word=n,0===c)l.score=-100,l.matches=void 0;else if("string"==typeof u.filterText){if(!(h=s(n,u.filterText,u.overwriteBefore)))continue;l.score=h[0],l.matches=(Object(T.c)(n,u.label)||Object(T.a)(n,u.label))[1]}else{var h;if(!(h=s(n,u.label,u.overwriteBefore)))continue;l.score=h[0],l.matches=h[1]}switch(l.idx=a,r.push(l),this._stats.suggestionCount++,u.type){case"snippet":this._stats.snippetCount++;break;case"text":this._stats.textCount++}}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0},e._compareCompletionItems=function(e,t){return e.score>t.score?-1:e.score<t.score?1:e.idx<t.idx?-1:e.idx>t.idx?1:0},e._compareCompletionItemsSnippetsDown=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return 1;if("snippet"===o.suggestion.type)return-1}return e._compareCompletionItems(t,o)},e._compareCompletionItemsSnippetsUp=function(t,o){if(t.suggestion.type!==o.suggestion.type){if("snippet"===t.suggestion.type)return-1;if("snippet"===o.suggestion.type)return 1}return e._compareCompletionItems(t,o)},e}(),O=function(){function e(e,t,o){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=o}return e.shouldAutoTrigger=function(e){var t=e.getModel();if(!t)return!1;var o=e.getPosition();t.tokenizeIfCheap(o.lineNumber);var n=t.getWordAtPosition(o);return!!n&&(n.endColumn===o.column&&!!isNaN(Number(n.word)))},e}(),R=function(){function e(e){var t=this;this._toDispose=[],this._triggerQuickSuggest=new y.f,this._triggerRefilter=new y.f,this._onDidCancel=new v.a,this._onDidTrigger=new v.a,this._onDidSuggest=new v.a,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._editor=e,this._state=0,this._requestPromise=null,this._completionModel=null,this._context=null,this._currentSelection=this._editor.getSelection()||new C.a(1,1,1,1),this._toDispose.push(this._editor.onDidChangeModel((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeModelLanguage((function(){t._updateTriggerCharacters(),t.cancel()}))),this._toDispose.push(this._editor.onDidChangeConfiguration((function(){t._updateTriggerCharacters(),t._updateQuickSuggest()}))),this._toDispose.push(S.u.onDidChange((function(){t._updateTriggerCharacters(),t._updateActiveSuggestSession()}))),this._toDispose.push(this._editor.onDidChangeCursorSelection((function(e){t._onCursorChange(e)}))),this._toDispose.push(this._editor.onDidChangeModelContent((function(e){t._refilterCompletionItems()}))),this._updateTriggerCharacters(),this._updateQuickSuggest()}return e.prototype.dispose=function(){Object(s.d)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerCharacterListener,this._triggerQuickSuggest,this._triggerRefilter]),this._toDispose=Object(s.d)(this._toDispose),Object(s.d)(this._completionModel),this.cancel()},e.prototype._updateQuickSuggest=function(){this._quickSuggestDelay=this._editor.getConfiguration().contribInfo.quickSuggestionsDelay,(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)},e.prototype._updateTriggerCharacters=function(){var e=this;if(Object(s.d)(this._triggerCharacterListener),!this._editor.getConfiguration().readOnly&&this._editor.getModel()&&this._editor.getConfiguration().contribInfo.suggestOnTriggerCharacters){for(var t=Object.create(null),o=0,n=S.u.all(this._editor.getModel());o<n.length;o++){var i=n[o];if(!Object(r.k)(i.triggerCharacters))for(var a=0,l=i.triggerCharacters;a<l.length;a++){var u=l[a],c=t[u];c||(c=t[u]=new Set).add(Object(_.b)()),c.add(i)}}this._triggerCharacterListener=this._editor.onDidType((function(o){var n=o.charAt(o.length-1),i=t[n];if(i){var r=e._completionModel?e._completionModel.adopt(i):void 0;e.trigger({auto:!0,triggerCharacter:n},Boolean(e._completionModel),Object(b.d)(i),r)}}))}},Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancel=function(e){void 0===e&&(e=!1),this._triggerRefilter.cancel(),this._triggerQuickSuggest&&this._triggerQuickSuggest.cancel(),this._requestPromise&&(this._requestPromise.cancel(),this._requestPromise=null),this._state=0,Object(s.d)(this._completionModel),this._completionModel=null,this._context=null,this._onDidCancel.fire({retrigger:e})},e.prototype._updateActiveSuggestSession=function(){0!==this._state&&(S.u.has(this._editor.getModel())?this.trigger({auto:2===this._state},!0):this.cancel())},e.prototype._onCursorChange=function(e){var t=this,o=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==E.a.NotSet||"keyboard"!==e.source&&"deleteLeft"!==e.source)0!==this._state&&this.cancel();else if(S.u.has(this._editor.getModel())&&this._editor.getModel()&&0===this._state){if(!1===this._editor.getConfiguration().contribInfo.quickSuggestions)return;if(!o.containsRange(this._currentSelection)&&!o.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))return;if(this._editor.getConfiguration().contribInfo.suggest.snippetsPreventQuickSuggestions&&m.SnippetController2.get(this._editor).isInSnippet())return;this.cancel(),this._triggerQuickSuggest.cancelAndSet((function(){if(O.shouldAutoTrigger(t._editor)){var e=t._editor.getModel(),o=t._editor.getPosition();if(e){var n=t._editor.getConfiguration().contribInfo.quickSuggestions;if(!1!==n){if(!0===n);else{e.tokenizeIfCheap(o.lineNumber);var i=e.getLineTokens(o.lineNumber),r=i.getStandardTokenType(i.findTokenIndexAtOffset(Math.max(o.column-1-1,0)));if(!(n.other&&0===r||n.comments&&1===r||n.strings&&2===r))return}t.trigger({auto:!0})}}}}),this._quickSuggestDelay)}},e.prototype._refilterCompletionItems=function(){var e=this;if(0!==this._state){var t=this._editor.getModel();t&&this._triggerRefilter.cancelAndSet((function(){var o=e._editor.getPosition(),n=new O(t,o,2===e._state);e._onNewContext(n)}),25)}},e.prototype.trigger=function(e,t,o,n){var a=this;void 0===t&&(t=!1);var l=this._editor.getModel();if(l){var u,c=e.auto,h=new O(l,this._editor.getPosition(),c);this.cancel(t),this._state=c?2:1,this._onDidTrigger.fire({auto:c}),this._context=h,u=e.triggerCharacter?{triggerKind:S.v.TriggerCharacter,triggerCharacter:e.triggerCharacter}:o&&o.length?{triggerKind:S.v.TriggerForIncompleteCompletions}:{triggerKind:S.v.Invoke},this._requestPromise=Object(y.i)((function(e){return Object(_.d)(l,a._editor.getPosition(),a._editor.getConfiguration().contribInfo.suggest.snippets,o,u,e)})),this._requestPromise.then((function(e){if(a._requestPromise=null,0!==a._state){var t=a._editor.getModel();if(t){if(!Object(r.k)(n)){var o=Object(_.c)(a._editor.getConfiguration().contribInfo.suggest.snippets);e=e.concat(n).sort(o)}var i=new O(t,a._editor.getPosition(),c);Object(s.d)(a._completionModel),a._completionModel=new k(e,a._context.column,{leadingLineContent:i.leadingLineContent,characterCountDelta:a._context?i.column-a._context.column:0},a._editor.getConfiguration().contribInfo.suggest),a._onNewContext(i)}}})).catch(i.e)}},e.prototype._onNewContext=function(e){if(this._context)if(e.lineNumber===this._context.lineNumber){if(e.leadingWord.startColumn<this._context.leadingWord.startColumn)this.cancel();else if(e.column<this._context.column)e.leadingWord.word?this.trigger({auto:this._context.auto},!0):this.cancel();else if(this._completionModel)if(e.column>this._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){var t=this._completionModel.incomplete,o=this._completionModel.adopt(t);this.trigger({auto:2===this._state},!0,Object(b.d)(t),o)}else{var n=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(O.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn<e.leadingWord.startColumn)return void this.trigger({auto:this._context.auto},!0);if(this._context.auto)return void this.cancel();if(this._completionModel.lineContext=n,(i=this._completionModel.items.length>0)&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,isFrozen:i})}}else this.cancel()},e}(),N=(o(485),o(8)),L=o(1),I=o(125),D=(o(486),o(21)),A=o(94),P=o(15),M=o(66),x=o(51),B=o(50),F=o(30),H=o(81),U=o(42);function V(e,t){if(e.start>=t.end||t.start>=e.end)return{start:0,end:0};var o=Math.max(e.start,t.start),n=Math.min(e.end,t.end);return n-o<=0?{start:0,end:0}:{start:o,end:n}}function W(e){return e.end-e.start<=0}function j(e,t){var o=[],n={start:e.start,end:Math.min(t.start,e.end)},i={start:Math.max(t.end,e.start),end:e.end};return W(n)||o.push(n),W(i)||o.push(i),o}function G(e,t){for(var o=[],n=0,i=t;n<i.length;n++){var r=i[n];if(!(e.start>=r.range.end)){if(e.end<r.range.start)break;var s=V(e,r.range);W(s)||o.push({range:s,size:r.size})}}return o}function z(e,t){return{start:e.start+t,end:e.end+t}}function K(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(e){for(var t=[],o=null,n=0,i=e;n<i.length;n++){var r=i[n],s=r.range.start,a=r.range.end,l=r.size;o&&l===o.size?o.range.end=a:(o={range:{start:s,end:a},size:l},t.push(o))}return t}(e.reduce((function(e,t){return e.concat(t)}),[]))}var Y=function(){function e(){this.groups=[],this._size=0}return e.prototype.splice=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i=o.length-t,r=G({start:0,end:e},this.groups),s=G({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map((function(e){return{range:z(e.range,i),size:e.size}})),a=o.map((function(t,o){return{range:{start:e+o,end:e+o+1},size:t.size}}));this.groups=K(r,a,s),this._size=this.groups.reduce((function(e,t){return e+t.size*(t.range.end-t.range.start)}),0)},Object.defineProperty(e.prototype,"count",{get:function(){var e=this.groups.length;return e?this.groups[e-1].range.end:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.indexAt=function(e){if(e<0)return-1;for(var t=0,o=0,n=0,i=this.groups;n<i.length;n++){var r=i[n],s=r.range.end-r.range.start,a=o+s*r.size;if(e<a)return t+Math.floor((e-o)/r.size);t+=s,o=a}return t},e.prototype.indexAfter=function(e){return Math.min(this.indexAt(e)+1,this.count)},e.prototype.positionAt=function(e){if(e<0)return-1;for(var t=0,o=0,n=0,i=this.groups;n<i.length;n++){var r=i[n],s=r.range.end-r.range.start,a=o+s;if(e<a)return t+(e-o)*r.size;t+=s*r.size,o=a}return-1},e.prototype.dispose=function(){this.groups=null},e}();var X=function(){function e(e){this.renderers=e,this.cache=new Map}return e.prototype.alloc=function(e){var t=this.getTemplateCache(e).pop();if(!t){var o=Object(L.a)(".monaco-list-row");t={domNode:o,templateId:e,templateData:this.renderers.get(e).renderTemplate(o)}}return t},e.prototype.release=function(e){e&&this.releaseRow(e)},e.prototype.releaseRow=function(e){var t=e.domNode,o=e.templateId;Object(L.G)(t,"scrolling"),function(e){try{e.parentElement.removeChild(e)}catch(e){}}(t),this.getTemplateCache(o).push(e)},e.prototype.getTemplateCache=function(e){var t=this.cache.get(e);return t||(t=[],this.cache.set(e,t)),t},e.prototype.garbageCollect=function(){var e=this;this.renderers&&(this.cache.forEach((function(t,o){for(var n=0,i=t;n<i.length;n++){var r=i[n];e.renderers.get(o).disposeTemplate(r.templateData),r.domNode=null,r.templateData=null}})),this.cache.clear())},e.prototype.dispose=function(){this.garbageCollect(),this.cache.clear(),this.renderers=null},e}(),q=o(24),$=o(41),J=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s};var Z={useShadows:!0,verticalScrollMode:U.b.Auto},Q=function(){function e(e,t,o,n){void 0===n&&(n=Z),this.virtualDelegate=t,this.renderers=new Map,this.splicing=!1,this.items=[],this.itemId=0,this.rangeMap=new Y;for(var i=0,r=o;i<r.length;i++){var s=r[i];this.renderers.set(s.templateId,s)}this.cache=new X(this.renderers),this.lastRenderTop=0,this.lastRenderHeight=0,this._domNode=document.createElement("div"),this._domNode.className="monaco-list",this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",M.b.addTarget(this.rowsContainer),this.scrollableElement=new H.b(this.rowsContainer,{alwaysConsumeMouseWheel:!0,horizontal:U.b.Hidden,vertical:Object(F.f)(n,(function(e){return e.verticalScrollMode}),Z.verticalScrollMode),useShadows:Object(F.f)(n,(function(e){return e.useShadows}),Z.useShadows)}),this._domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this._domNode),this.disposables=[this.rangeMap,this.gesture,this.scrollableElement,this.cache],this.scrollableElement.onScroll(this.onScroll,this,this.disposables),Object(B.a)(this.rowsContainer,M.a.Change)(this.onTouchChange,this,this.disposables),Object(B.a)(this.scrollableElement.getDomNode(),"scroll")((function(e){return e.target.scrollTop=0}),null,this.disposables),Object(v.j)(Object(B.a)(this.rowsContainer,"dragover"),(function(e){return new $.a(e)}))(this.onDragOver,this,this.disposables),this.layout()}return Object.defineProperty(e.prototype,"domNode",{get:function(){return this._domNode},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){if(void 0===o&&(o=[]),this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,o)}finally{this.splicing=!1}},e.prototype._splice=function(e,t,o){var n,i,r=this;void 0===o&&(o=[]);for(var s=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),a=V(s,{start:e,end:e+t}),l=a.start;l<a.end;l++)this.removeItemFromDOM(l);var u={start:e+t,end:this.items.length},c=V(u,s),h=j(u,s),d=o.map((function(e){return{id:String(r.itemId++),element:e,size:r.virtualDelegate.getHeight(e),templateId:r.virtualDelegate.getTemplateId(e),row:null}}));(n=this.rangeMap).splice.apply(n,[e,t].concat(d));var g=(i=this.items).splice.apply(i,[e,t].concat(d)),p=o.length-t,f=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),m=z(c,p),_=V(f,m);for(l=_.start;l<_.end;l++)this.updateItemInDOM(this.items[l],l);for(var y=j(m,f),v=0;v<y.length;v++){var b=y[v];for(l=b.start;l<b.end;l++)this.removeItemFromDOM(l)}var E=h.map((function(e){return z(e,p)})),C=[{start:e,end:e+o.length}].concat(E).map((function(e){return V(f,e)})),S=this.getNextToLastElement(C);for(v=0;v<C.length;v++){var T=C[v];for(l=T.start;l<T.end;l++)this.insertItemInDOM(l,S)}var w=this.getContentHeight();return this.rowsContainer.style.height=w+"px",this.scrollableElement.setScrollDimensions({scrollHeight:w}),g.map((function(e){return e.element}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.items.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderHeight",{get:function(){return this.scrollableElement.getScrollDimensions().height},enumerable:!0,configurable:!0}),e.prototype.element=function(e){return this.items[e].element},e.prototype.domElement=function(e){var t=this.items[e].row;return t&&t.domNode},e.prototype.elementHeight=function(e){return this.items[e].size},e.prototype.elementTop=function(e){return this.rangeMap.positionAt(e)},e.prototype.indexAt=function(e){return this.rangeMap.indexAt(e)},e.prototype.indexAfter=function(e){return this.rangeMap.indexAfter(e)},e.prototype.layout=function(e){this.scrollableElement.setScrollDimensions({height:e||L.s(this._domNode)})},e.prototype.render=function(e,t){for(var o=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=this.getRenderRange(e,t),i=j(n,o),r=j(o,n),s=this.getNextToLastElement(i),a=0,l=i;a<l.length;a++)for(var u=(d=l[a]).start;u<d.end;u++)this.insertItemInDOM(u,s);for(var c=0,h=r;c<h.length;c++){var d;for(u=(d=h[c]).start;u<d.end;u++)this.removeItemFromDOM(u)}if(q.j||0!==q.d()||P.g)this.rowsContainer.style.top="-"+e+"px";else{var g="translate3d(0px, -"+e+"px, 0px)";this.rowsContainer.style.transform=g,this.rowsContainer.style.webkitTransform=g}this.lastRenderTop=e,this.lastRenderHeight=t},e.prototype.insertItemInDOM=function(e,t){var o=this.items[e];o.row||(o.row=this.cache.alloc(o.templateId)),o.row.domNode.parentElement||(t?this.rowsContainer.insertBefore(o.row.domNode,t):this.rowsContainer.appendChild(o.row.domNode)),o.row.domNode.style.height=o.size+"px",this.updateItemInDOM(o,e),this.renderers.get(o.templateId).renderElement(o.element,e,o.row.templateData)},e.prototype.updateItemInDOM=function(e,t){e.row.domNode.style.top=this.elementTop(t)+"px",e.row.domNode.setAttribute("data-index",""+t),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("aria-setsize",""+this.length),e.row.domNode.setAttribute("aria-posinset",""+(t+1))},e.prototype.removeItemFromDOM=function(e){var t=this.items[e],o=this.renderers.get(t.templateId);o.disposeElement&&o.disposeElement(t.element,e,t.row.templateData),this.cache.release(t.row),t.row=null},e.prototype.getContentHeight=function(){return this.rangeMap.size},e.prototype.getScrollTop=function(){return this.scrollableElement.getScrollPosition().scrollTop},e.prototype.setScrollTop=function(e){this.scrollableElement.setScrollPosition({scrollTop:e})},Object.defineProperty(e.prototype,"scrollTop",{get:function(){return this.getScrollTop()},set:function(e){this.setScrollTop(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"click"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDblClick",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"dblclick"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMouseDown",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"mousedown"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"contextmenu"),(function(t){return e.toMouseEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTouchStart",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.domNode,"touchstart"),(function(t){return e.toTouchEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onTap",{get:function(){var e=this;return Object(v.i)(Object(v.j)(Object(B.a)(this.rowsContainer,M.a.Tap),(function(t){return e.toGestureEvent(t)})),(function(e){return e.index>=0}))},enumerable:!0,configurable:!0}),e.prototype.toMouseEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toTouchEvent=function(e){var t=this.getItemIndexFromEventTarget(e.target),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.toGestureEvent=function(e){var t=this.getItemIndexFromEventTarget(e.initialTarget),o=t<0?void 0:this.items[t];return{browserEvent:e,index:t,element:o&&o.element}},e.prototype.onScroll=function(e){try{this.render(e.scrollTop,e.height)}catch(t){throw console.log("Got bad scroll event:",e),t}},e.prototype.onTouchChange=function(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY},e.prototype.onDragOver=function(e){this.setupDragAndDropScrollInterval(),this.dragAndDropMouseY=e.posy},e.prototype.setupDragAndDropScrollInterval=function(){var e=this,t=L.w(this._domNode).top;this.dragAndDropScrollInterval||(this.dragAndDropScrollInterval=window.setInterval((function(){if(void 0!==e.dragAndDropMouseY){var o=e.dragAndDropMouseY-t,n=0,i=e.renderHeight-35;o<35?n=Math.max(-14,.2*(o-35)):o>i&&(n=Math.min(14,.2*(o-i))),e.scrollTop+=n}}),10),this.cancelDragAndDropScrollTimeout(),this.dragAndDropScrollTimeout=window.setTimeout((function(){e.cancelDragAndDropScrollInterval(),e.dragAndDropScrollTimeout=null}),1e3))},e.prototype.cancelDragAndDropScrollInterval=function(){this.dragAndDropScrollInterval&&(window.clearInterval(this.dragAndDropScrollInterval),this.dragAndDropScrollInterval=null),this.cancelDragAndDropScrollTimeout()},e.prototype.cancelDragAndDropScrollTimeout=function(){this.dragAndDropScrollTimeout&&(window.clearTimeout(this.dragAndDropScrollTimeout),this.dragAndDropScrollTimeout=null)},e.prototype.getItemIndexFromEventTarget=function(e){for(;e instanceof HTMLElement&&e!==this.rowsContainer;){var t=e,o=t.getAttribute("data-index");if(o){var n=Number(o);if(!isNaN(n))return n}e=t.parentElement}return-1},e.prototype.getRenderRange=function(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}},e.prototype.getNextToLastElement=function(e){var t=e[e.length-1];if(!t)return null;var o=this.items[t.end];return o&&o.row?o.row.domNode:null},e.prototype.dispose=function(){if(this.items){for(var e=0,t=this.items;e<t.length;e++){var o=t[e];if(o.row)this.renderers.get(o.row.templateId).disposeTemplate(o.row.templateData),o.row=null}this.items=null}this._domNode&&this._domNode.parentElement&&(this._domNode.parentNode.removeChild(this._domNode),this._domNode=null),this.disposables=Object(s.d)(this.disposables)},J([A.a],e.prototype,"onMouseClick",null),J([A.a],e.prototype,"onMouseDblClick",null),J([A.a],e.prototype,"onMouseDown",null),J([A.a],e.prototype,"onContextMenu",null),J([A.a],e.prototype,"onTouchStart",null),J([A.a],e.prototype,"onTap",null),e}(),ee=o(14),te=function(){function e(e){this.spliceables=e}return e.prototype.splice=function(e,t,o){this.spliceables.forEach((function(n){return n.splice(e,t,o)}))},e}();var oe,ne=(oe=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}oe(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(){function e(e){this.trait=e,this.renderedElements=[]}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"template:"+this.trait.trait},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return e},e.prototype.renderElement=function(e,t,o){var n=Object(r.h)(this.renderedElements,(function(e){return e.templateData===o}));if(n>=0){var i=this.renderedElements[n];this.trait.unrender(o),i.index=t}else{i={index:t,templateData:o};this.renderedElements.push(i)}this.trait.renderIndex(t,o)},e.prototype.disposeElement=function(){},e.prototype.splice=function(e,t,o){for(var n=[],i=0;i<this.renderedElements.length;i++){var r=this.renderedElements[i];r.index<e?n.push(r):r.index>=e+t&&n.push({index:r.index+o-t,templateData:r.templateData})}this.renderedElements=n},e.prototype.renderIndexes=function(e){for(var t=0,o=this.renderedElements;t<o.length;t++){var n=o[t],i=n.index,r=n.templateData;e.indexOf(i)>-1&&this.trait.renderIndex(i,r)}},e.prototype.disposeTemplate=function(e){var t=Object(r.h)(this.renderedElements,(function(t){return t.templateData===e}));t<0||this.renderedElements.splice(t,1)},e}(),se=function(){function e(e){this._trait=e,this._onChange=new v.a,this.indexes=[]}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"trait",{get:function(){return this._trait},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"renderer",{get:function(){return new re(this)},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=o.length-t,i=e+t,r=this.indexes.filter((function(t){return t<e})).concat(o.map((function(t,o){return t?o+e:-1})).filter((function(e){return-1!==e})),this.indexes.filter((function(e){return e>=i})).map((function(e){return e+n})));this.renderer.splice(e,t,o.length),this.set(r)},e.prototype.renderIndex=function(e,t){L.N(t,this._trait,this.contains(e))},e.prototype.unrender=function(e){L.G(e,this._trait)},e.prototype.set=function(e){var t=this.indexes;this.indexes=e;var o=ve(t,e);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:e}),t},e.prototype.get=function(){return this.indexes},e.prototype.contains=function(e){return this.indexes.some((function(t){return t===e}))},e.prototype.dispose=function(){this.indexes=null,this._onChange=Object(s.d)(this._onChange)},ie([A.a],e.prototype,"renderer",null),e}(),ae=function(e){function t(t){var o=e.call(this,"focused")||this;return o.getDomId=t,o}return ne(t,e),t.prototype.renderIndex=function(t,o){e.prototype.renderIndex.call(this,t,o),o.setAttribute("role","treeitem"),o.setAttribute("id",this.getDomId(t))},t}(se),le=function(){function e(e,t,o){this.trait=e,this.view=t,this.getId=o}return e.prototype.splice=function(e,t,o){var n=this;if(!this.getId)return this.trait.splice(e,t,o.map((function(e){return!1})));var i=this.trait.get().map((function(e){return n.getId(n.view.element(e))})),r=o.map((function(e){return i.indexOf(n.getId(e))>-1}));this.trait.splice(e,t,r)},e}();function ue(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName}var ce=function(){function e(e,t,o){this.list=e,this.view=t;var n=!(!1===o.multipleSelectionSupport);this.disposables=[],this.openController=o.openController||pe;var i=Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new x.a(e)}));i.filter((function(e){return 3===e.keyCode})).on(this.onEnter,this,this.disposables),i.filter((function(e){return 16===e.keyCode})).on(this.onUpArrow,this,this.disposables),i.filter((function(e){return 18===e.keyCode})).on(this.onDownArrow,this,this.disposables),i.filter((function(e){return 11===e.keyCode})).on(this.onPageUpArrow,this,this.disposables),i.filter((function(e){return 12===e.keyCode})).on(this.onPageDownArrow,this,this.disposables),i.filter((function(e){return 9===e.keyCode})).on(this.onEscape,this,this.disposables),n&&i.filter((function(e){return(P.d?e.metaKey:e.ctrlKey)&&31===e.keyCode})).on(this.onCtrlA,this,this.disposables)}return e.prototype.onEnter=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus()),this.openController.shouldOpen(e.browserEvent)&&this.list.open(this.list.getFocus(),e.browserEvent)},e.prototype.onUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageUpArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onPageDownArrow=function(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(),this.list.reveal(this.list.getFocus()[0]),this.view.domNode.focus()},e.prototype.onCtrlA=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(Object(r.m)(this.list.length)),this.view.domNode.focus()},e.prototype.onEscape=function(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection([]),this.view.domNode.focus()},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}(),he=function(){function e(e,t){this.list=e,this.view=t,this.disposables=[],this.disposables=[],Object(v.g)(Object(B.a)(t.domNode,"keydown")).filter((function(e){return!ue(e.target)})).map((function(e){return new x.a(e)})).filter((function(e){return!(2!==e.keyCode||e.ctrlKey||e.metaKey||e.shiftKey||e.altKey)})).on(this.onTab,this,this.disposables)}return e.prototype.onTab=function(e){if(e.target===this.view.domNode){var t=this.list.getFocus();if(0!==t.length){var o=this.view.domElement(t[0]).querySelector("[tabIndex]");if(o&&o instanceof HTMLElement){var n=window.getComputedStyle(o);"hidden"!==n.visibility&&"none"!==n.display&&(e.preventDefault(),e.stopPropagation(),o.focus())}}}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},e}();function de(e){return e instanceof MouseEvent&&2===e.button}var ge={isSelectionSingleChangeEvent:function(e){return P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},isSelectionRangeChangeEvent:function(e){return e.browserEvent.shiftKey}},pe={shouldOpen:function(e){return!(e instanceof MouseEvent)||!de(e)}},fe=function(){function e(e,t,o){void 0===o&&(o={}),this.list=e,this.view=t,this.options=o,this.didJustPressContextMenuKey=!1,this.disposables=[],this.multipleSelectionSupport=!(!1===o.multipleSelectionSupport),this.multipleSelectionSupport&&(this.multipleSelectionController=o.multipleSelectionController||ge),this.openController=o.openController||pe,t.onMouseDown(this.onMouseDown,this,this.disposables),t.onMouseClick(this.onPointer,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),t.onTap(this.onPointer,this,this.disposables),M.b.addTarget(t.domNode)}return Object.defineProperty(e.prototype,"onContextMenu",{get:function(){var e=this,t=Object(v.g)(Object(B.a)(this.view.domNode,"keydown")).map((function(e){return new x.a(e)})).filter((function(t){return e.didJustPressContextMenuKey=58===t.keyCode||t.shiftKey&&68===t.keyCode})).filter((function(e){return e.preventDefault(),e.stopPropagation(),!1})).event,o=Object(v.g)(Object(B.a)(this.view.domNode,"keyup")).filter((function(){var t=e.didJustPressContextMenuKey;return e.didJustPressContextMenuKey=!1,t})).filter((function(){return e.list.getFocus().length>0})).map((function(){var t=e.list.getFocus()[0];return{index:t,element:e.view.element(t),anchor:e.view.domElement(t)}})).filter((function(e){return!!e.anchor})).event,n=Object(v.g)(this.view.onContextMenu).filter((function(){return!e.didJustPressContextMenuKey})).map((function(e){var t=e.element,o=e.index,n=e.browserEvent;return{element:t,index:o,anchor:{x:n.clientX+1,y:n.clientY}}})).event;return Object(v.f)(t,o,n)},enumerable:!0,configurable:!0}),e.prototype.isSelectionSingleChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):P.d?e.browserEvent.metaKey:e.browserEvent.ctrlKey},e.prototype.isSelectionRangeChangeEvent=function(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):e.browserEvent.shiftKey},e.prototype.isSelectionChangeEvent=function(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)},e.prototype.onMouseDown=function(e){!1===this.options.focusOnMouseDown?(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation()):document.activeElement!==e.browserEvent.target&&this.view.domNode.focus();var t=this.list.getFocus()[0],o=this.list.getSelection();if(t=void 0===t?o[0]:t,this.multipleSelectionSupport&&this.isSelectionRangeChangeEvent(e))return this.changeSelection(e,t);var n=e.index;if(o.every((function(e){return e!==n}))&&this.list.setFocus([n]),this.multipleSelectionSupport&&this.isSelectionChangeEvent(e))return this.changeSelection(e,t);this.options.selectOnMouseDown&&!de(e.browserEvent)&&(this.list.setSelection([n]),this.openController.shouldOpen(e.browserEvent)&&this.list.open([n],e.browserEvent))},e.prototype.onPointer=function(e){if(!(this.multipleSelectionSupport&&this.isSelectionChangeEvent(e)||this.options.selectOnMouseDown)){var t=this.list.getFocus();this.list.setSelection(t),this.openController.shouldOpen(e.browserEvent)&&this.list.open(t,e.browserEvent)}},e.prototype.onDoubleClick=function(e){if(!this.multipleSelectionSupport||!this.isSelectionChangeEvent(e)){var t=this.list.getFocus();this.list.setSelection(t),this.list.pin(t)}},e.prototype.changeSelection=function(e,t){var o=e.index;if(this.isSelectionRangeChangeEvent(e)&&void 0!==t){var n=Math.min(t,o),i=Math.max(t,o),s=Object(r.m)(n,i+1),a=function(e,t){var o=e.indexOf(t);if(-1===o)return[];var n=[],i=o-1;for(;i>=0&&e[i]===t-(o-i);)n.push(e[i--]);n.reverse(),i=o;for(;i<e.length&&e[i]===t+(i-o);)n.push(e[i++]);return n}(ve(u=this.list.getSelection(),[t]),t);if(0===a.length)return;var l=ve(s,function(e,t){var o=[],n=0,i=0;for(;n<e.length||i<t.length;)if(n>=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){n++,i++;continue}e[n]<t[i]?o.push(e[n++]):i++}return o}(u,a));this.list.setSelection(l)}else if(this.isSelectionSingleChangeEvent(e)){var u;l=(u=this.list.getSelection()).filter((function(e){return e!==o}));u.length===l.length?this.list.setSelection(l.concat([o])):this.list.setSelection(l)}},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables)},ie([A.a],e.prototype,"onContextMenu",null),e}(),me=function(){function e(e,t){this.styleElement=e,this.selectorSuffix=t}return e.prototype.style=function(e){var t=this.selectorSuffix?"."+this.selectorSuffix:"",o=[];e.listFocusBackground&&(o.push(".monaco-list"+t+":focus .monaco-list-row.focused { background-color: "+e.listFocusBackground+"; }"),o.push(".monaco-list"+t+":focus .monaco-list-row.focused:hover { background-color: "+e.listFocusBackground+"; }")),e.listFocusForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.focused { color: "+e.listFocusForeground+"; }"),e.listActiveSelectionBackground&&(o.push(".monaco-list"+t+":focus .monaco-list-row.selected { background-color: "+e.listActiveSelectionBackground+"; }"),o.push(".monaco-list"+t+":focus .monaco-list-row.selected:hover { background-color: "+e.listActiveSelectionBackground+"; }")),e.listActiveSelectionForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected { color: "+e.listActiveSelectionForeground+"; }"),e.listFocusAndSelectionBackground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected.focused { background-color: "+e.listFocusAndSelectionBackground+"; }"),e.listFocusAndSelectionForeground&&o.push(".monaco-list"+t+":focus .monaco-list-row.selected.focused { color: "+e.listFocusAndSelectionForeground+"; }"),e.listInactiveFocusBackground&&(o.push(".monaco-list"+t+" .monaco-list-row.focused { background-color:  "+e.listInactiveFocusBackground+"; }"),o.push(".monaco-list"+t+" .monaco-list-row.focused:hover { background-color:  "+e.listInactiveFocusBackground+"; }")),e.listInactiveSelectionBackground&&(o.push(".monaco-list"+t+" .monaco-list-row.selected { background-color:  "+e.listInactiveSelectionBackground+"; }"),o.push(".monaco-list"+t+" .monaco-list-row.selected:hover { background-color:  "+e.listInactiveSelectionBackground+"; }")),e.listInactiveSelectionForeground&&o.push(".monaco-list"+t+" .monaco-list-row.selected { color: "+e.listInactiveSelectionForeground+"; }"),e.listHoverBackground&&o.push(".monaco-list"+t+" .monaco-list-row:hover { background-color:  "+e.listHoverBackground+"; }"),e.listHoverForeground&&o.push(".monaco-list"+t+" .monaco-list-row:hover { color:  "+e.listHoverForeground+"; }"),e.listSelectionOutline&&o.push(".monaco-list"+t+" .monaco-list-row.selected { outline: 1px dotted "+e.listSelectionOutline+"; outline-offset: -1px; }"),e.listFocusOutline&&o.push(".monaco-list"+t+":focus .monaco-list-row.focused { outline: 1px solid "+e.listFocusOutline+"; outline-offset: -1px; }"),e.listInactiveFocusOutline&&o.push(".monaco-list"+t+" .monaco-list-row.focused { outline: 1px dotted "+e.listInactiveFocusOutline+"; outline-offset: -1px; }"),e.listHoverOutline&&o.push(".monaco-list"+t+" .monaco-list-row:hover { outline: 1px dashed "+e.listHoverOutline+"; outline-offset: -1px; }");var n=o.join("\n");n!==this.styleElement.innerHTML&&(this.styleElement.innerHTML=n)},e}(),_e={listFocusBackground:ee.a.fromHex("#073655"),listActiveSelectionBackground:ee.a.fromHex("#0E639C"),listActiveSelectionForeground:ee.a.fromHex("#FFFFFF"),listFocusAndSelectionBackground:ee.a.fromHex("#094771"),listFocusAndSelectionForeground:ee.a.fromHex("#FFFFFF"),listInactiveSelectionBackground:ee.a.fromHex("#3F3F46"),listHoverBackground:ee.a.fromHex("#2A2D2E"),listDropBackground:ee.a.fromHex("#383B3D")},ye={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0};function ve(e,t){for(var o=[],n=0,i=0;n<e.length||i<t.length;)if(n>=e.length)o.push(t[i++]);else if(i>=t.length)o.push(e[n++]);else{if(e[n]===t[i]){o.push(e[n]),n++,i++;continue}e[n]<t[i]?o.push(e[n++]):o.push(t[i++])}return o}var be=function(e,t){return e-t},Ee=function(){function e(e,t){this._templateId=e,this.renderers=t}return Object.defineProperty(e.prototype,"templateId",{get:function(){return this._templateId},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){return this.renderers.map((function(t){return t.renderTemplate(e)}))},e.prototype.renderElement=function(e,t,o){for(var n=0,i=0,r=this.renderers;i<r.length;i++){r[i].renderElement(e,t,o[n++])}},e.prototype.disposeElement=function(e,t,o){for(var n=0,i=0,r=this.renderers;i<r.length;i++){r[i].disposeElement(e,t,o[n++])}},e.prototype.disposeTemplate=function(e){for(var t=0,o=0,n=this.renderers;o<n.length;o++){n[o].disposeTemplate(e[t++])}},e}(),Ce=function(){function e(t,o,i,r){void 0===r&&(r=ye);var s=this;if(this.idPrefix="list_id_"+ ++e.InstanceCount,this.eventBufferer=new v.c,this.onContextMenu=v.b.None,this._onOpen=new v.a,this._onPin=new v.a,this._onDidDispose=new v.a,this.focus=new ae((function(e){return s.getElementDomId(e)})),this.selection=new se("selected"),Object(F.g)(r,_e,!1),i=i.map((function(e){return new Ee(e.templateId,[s.focus.renderer,s.selection.renderer,e])})),this.view=new Q(t,o,i,r),this.view.domNode.setAttribute("role","tree"),L.f(this.view.domNode,this.idPrefix),this.view.domNode.tabIndex=0,this.styleElement=L.o(this.view.domNode),this.styleController=r.styleController,this.styleController||(this.styleController=new me(this.styleElement,this.idPrefix)),this.spliceable=new te([new le(this.focus,this.view,r.identityProvider),new le(this.selection,this.view,r.identityProvider),this.view]),this.disposables=[this.focus,this.selection,this.view,this._onDidDispose],this.onDidFocus=Object(v.j)(Object(B.a)(this.view.domNode,"focus",!0),(function(){return null})),this.onDidBlur=Object(v.j)(Object(B.a)(this.view.domNode,"blur",!0),(function(){return null})),this.disposables.push(new he(this,this.view)),"boolean"!=typeof r.keyboardSupport||r.keyboardSupport){var a=new ce(this,this.view,r);this.disposables.push(a)}("boolean"!=typeof r.mouseSupport||r.mouseSupport)&&(this.mouseController=new fe(this,this.view,r),this.disposables.push(this.mouseController),this.onContextMenu=this.mouseController.onContextMenu),this.onFocusChange(this._onFocusChange,this,this.disposables),this.onSelectionChange(this._onSelectionChange,this,this.disposables),r.ariaLabel&&this.view.domNode.setAttribute("aria-label",Object(n.a)("aria list","{0}. Use the navigation keys to navigate.",r.ariaLabel)),this.style(r)}return Object.defineProperty(e.prototype,"onFocusChange",{get:function(){var e=this;return Object(v.j)(this.eventBufferer.wrapEvent(this.focus.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){var e=this;return Object(v.j)(this.eventBufferer.wrapEvent(this.selection.onChange),(function(t){return e.toListEvent(t)}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidDispose",{get:function(){return this._onDidDispose.event},enumerable:!0,configurable:!0}),e.prototype.splice=function(e,t,o){var n=this;if(void 0===o&&(o=[]),e<0||e>this.view.length)throw new Error("Invalid start index: "+e);if(t<0)throw new Error("Invalid delete count: "+t);0===t&&0===o.length||this.eventBufferer.bufferEvents((function(){return n.spliceable.splice(e,t,o)}))},Object.defineProperty(e.prototype,"length",{get:function(){return this.view.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"contentHeight",{get:function(){return this.view.getContentHeight()},enumerable:!0,configurable:!0}),e.prototype.layout=function(e){this.view.layout(e)},e.prototype.setSelection=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.selection.set(e)},e.prototype.getSelection=function(){return this.selection.get()},e.prototype.setFocus=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}e=e.sort(be),this.focus.set(e)},e.prototype.focusNext=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]+e:0;this.setFocus(t?[n%this.length]:[Math.min(n,this.length-1)])}},e.prototype.focusPrevious=function(e,t){if(void 0===e&&(e=1),void 0===t&&(t=!1),0!==this.length){var o=this.focus.get(),n=o.length>0?o[0]-e:0;t&&n<0&&(n=(this.length+n%this.length)%this.length),this.setFocus([Math.max(n,0)])}},e.prototype.focusNextPage=function(){var e=this,t=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);t=0===t?0:t-1;var o=this.view.element(t);if(this.getFocusedElements()[0]!==o)this.setFocus([t]);else{var n=this.view.getScrollTop();this.view.setScrollTop(n+this.view.renderHeight-this.view.elementHeight(t)),this.view.getScrollTop()!==n&&setTimeout((function(){return e.focusNextPage()}),0)}},e.prototype.focusPreviousPage=function(){var e,t=this,o=this.view.getScrollTop();e=0===o?this.view.indexAt(o):this.view.indexAfter(o-1);var n=this.view.element(e);if(this.getFocusedElements()[0]!==n)this.setFocus([e]);else{var i=o;this.view.setScrollTop(o-this.view.renderHeight),this.view.getScrollTop()!==i&&setTimeout((function(){return t.focusPreviousPage()}),0)}},e.prototype.focusLast=function(){0!==this.length&&this.setFocus([this.length-1])},e.prototype.focusFirst=function(){0!==this.length&&this.setFocus([0])},e.prototype.getFocus=function(){return this.focus.get()},e.prototype.getFocusedElements=function(){var e=this;return this.getFocus().map((function(t){return e.view.element(t)}))},e.prototype.reveal=function(e,t){if(e<0||e>=this.length)throw new Error("Invalid index "+e);var o,n,i,r=this.view.getScrollTop(),s=this.view.elementTop(e),a=this.view.elementHeight(e);if(Object(D.f)(t)){var l=a-this.view.renderHeight;this.view.setScrollTop(l*(o=t,n=0,i=1,Math.min(Math.max(o,n),i))+s)}else{var u=s+a,c=r+this.view.renderHeight;s<r?this.view.setScrollTop(s):u>=c&&this.view.setScrollTop(u-this.view.renderHeight)}},e.prototype.getElementDomId=function(e){return this.idPrefix+"_"+e},e.prototype.isDOMFocused=function(){return this.view.domNode===document.activeElement},e.prototype.getHTMLElement=function(){return this.view.domNode},e.prototype.open=function(e,t){for(var o=this,n=0,i=e;n<i.length;n++){var r=i[n];if(r<0||r>=this.length)throw new Error("Invalid index "+r)}this._onOpen.fire({indexes:e,elements:e.map((function(e){return o.view.element(e)})),browserEvent:t})},e.prototype.pin=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t];if(n<0||n>=this.length)throw new Error("Invalid index "+n)}this._onPin.fire(e)},e.prototype.style=function(e){this.styleController.style(e)},e.prototype.toListEvent=function(e){var t=this,o=e.indexes;return{indexes:o,elements:o.map((function(e){return t.view.element(e)}))}},e.prototype._onFocusChange=function(){var e=this.focus.get();e.length>0?this.view.domNode.setAttribute("aria-activedescendant",this.getElementDomId(e[0])):this.view.domNode.removeAttribute("aria-activedescendant"),this.view.domNode.setAttribute("role","tree"),L.N(this.view.domNode,"element-focused",e.length>0)},e.prototype._onSelectionChange=function(){var e=this.selection.get();L.N(this.view.domNode,"selection-none",0===e.length),L.N(this.view.domNode,"selection-single",1===e.length),L.N(this.view.domNode,"selection-multiple",e.length>1)},e.prototype.dispose=function(){this._onDidDispose.fire(),this.disposables=Object(s.d)(this.disposables)},e.InstanceCount=0,ie([A.a],e.prototype,"onFocusChange",null),ie([A.a],e.prototype,"onSelectionChange",null),e}(),Se=o(61),Te=o(16),we=o(110),ke=o(118),Oe=o(19),Re=o(7),Ne=o(55),Le=o(160),Ie=o(89),De=o(82),Ae=o(48),Pe=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Me=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},xe=function(e,t){return function(o,n){t(o,n,e)}},Be=!1,Fe=Object(Re.kb)("editorSuggestWidget.background",{dark:Re.D,light:Re.D,hc:Re.D},n.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),He=Object(Re.kb)("editorSuggestWidget.border",{dark:Re.E,light:Re.E,hc:Re.E},n.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),Ue=Object(Re.kb)("editorSuggestWidget.foreground",{dark:Re.u,light:Re.u,hc:Re.u},n.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),Ve=Object(Re.kb)("editorSuggestWidget.selectedBackground",{dark:Re.W,light:Re.W,hc:Re.W},n.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),We=Object(Re.kb)("editorSuggestWidget.highlightForeground",{dark:Re.Y,light:Re.Y,hc:Re.Y},n.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget.")),je=/^(#([\da-f]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))$/i;function Ge(e){return e&&e.match(je)?e:null}function ze(e){if(!e)return!1;var t=e.suggestion;return!!t.documentation||t.detail&&t.detail!==t.label}var Ke=function(){function e(e,t,o){this.widget=e,this.editor=t,this.triggerKeybindingLabel=o}return Object.defineProperty(e.prototype,"templateId",{get:function(){return"suggestion"},enumerable:!0,configurable:!0}),e.prototype.renderTemplate=function(e){var t=this,o=Object.create(null);o.disposables=[],o.root=e,o.icon=Object(L.k)(e,Object(L.a)(".icon")),o.colorspan=Object(L.k)(o.icon,Object(L.a)("span.colorspan"));var i=Object(L.k)(e,Object(L.a)(".contents")),r=Object(L.k)(i,Object(L.a)(".main"));o.highlightedLabel=new I.a(r),o.disposables.push(o.highlightedLabel),o.typeLabel=Object(L.k)(r,Object(L.a)("span.type-label")),o.readMore=Object(L.k)(r,Object(L.a)("span.readMore")),o.readMore.title=n.a("readMore","Read More...{0}",this.triggerKeybindingLabel);var s=function(){var e=t.editor.getConfiguration(),n=e.fontInfo.fontFamily,i=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",s=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";o.root.style.fontSize=i,r.style.fontFamily=n,r.style.lineHeight=s,o.icon.style.height=s,o.icon.style.width=s,o.readMore.style.height=s,o.readMore.style.width=s};return s(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo||e.contribInfo})).on(s,null,o.disposables),o},e.prototype.renderElement=function(e,t,o){var i=this,r=o,s=e.suggestion;if(ze(e)?r.root.setAttribute("aria-label",n.a("suggestionWithDetailsAriaLabel","{0}, suggestion, has details",s.label)):r.root.setAttribute("aria-label",n.a("suggestionAriaLabel","{0}, suggestion",s.label)),r.icon.className="icon "+s.type,r.colorspan.style.backgroundColor="","color"===s.type){var a=Ge(s.label)||"string"==typeof s.documentation&&Ge(s.documentation);a&&(r.icon.className="icon customcolor",r.colorspan.style.backgroundColor=a)}r.highlightedLabel.set(s.label,Object(T.b)(e.matches),"",!0),r.typeLabel.textContent=(s.detail||"").replace(/\n.*$/m,""),ze(e)?(Object(L.M)(r.readMore),r.readMore.onmousedown=function(e){e.stopPropagation(),e.preventDefault()},r.readMore.onclick=function(e){e.stopPropagation(),e.preventDefault(),i.widget.toggleDetails()}):(Object(L.A)(r.readMore),r.readMore.onmousedown=null,r.readMore.onclick=null)},e.prototype.disposeElement=function(){},e.prototype.disposeTemplate=function(e){e.disposables=Object(s.d)(e.disposables)},e}(),Ye=function(){function e(e,t,o,i,r){var a=this;this.widget=t,this.editor=o,this.markdownRenderer=i,this.triggerKeybindingLabel=r,this.borderWidth=1,this.disposables=[],this.el=Object(L.k)(e,Object(L.a)(".details")),this.disposables.push(Object(s.f)((function(){return e.removeChild(a.el)}))),this.body=Object(L.a)(".body"),this.scrollbar=new H.a(this.body,{}),Object(L.k)(this.el,this.scrollbar.getDomNode()),this.disposables.push(this.scrollbar),this.header=Object(L.k)(this.body,Object(L.a)(".header")),this.close=Object(L.k)(this.header,Object(L.a)("span.close")),this.close.title=n.a("readLess","Read less...{0}",this.triggerKeybindingLabel),this.type=Object(L.k)(this.header,Object(L.a)("p.type")),this.docs=Object(L.k)(this.body,Object(L.a)("p.docs")),this.ariaLabel=null,this.configureFont(),Object(v.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(this.configureFont,this,this.disposables),i.onDidRenderCodeBlock((function(){return a.scrollbar.scanDomNode()}),this,this.disposables)}return Object.defineProperty(e.prototype,"element",{get:function(){return this.el},enumerable:!0,configurable:!0}),e.prototype.render=function(e){var t=this;if(this.renderDisposeable=Object(s.d)(this.renderDisposeable),!e||!ze(e))return this.type.textContent="",this.docs.textContent="",Object(L.f)(this.el,"no-docs"),void(this.ariaLabel=null);if(Object(L.G)(this.el,"no-docs"),"string"==typeof e.suggestion.documentation)Object(L.G)(this.docs,"markdown-docs"),this.docs.textContent=e.suggestion.documentation;else{Object(L.f)(this.docs,"markdown-docs"),this.docs.innerHTML="";var o=this.markdownRenderer.render(e.suggestion.documentation);this.renderDisposeable=o,this.docs.appendChild(o.element)}e.suggestion.detail?(this.type.innerText=e.suggestion.detail,Object(L.M)(this.type)):(this.type.innerText="",Object(L.A)(this.type)),this.el.style.height=this.header.offsetHeight+this.docs.offsetHeight+2*this.borderWidth+"px",this.close.onmousedown=function(e){e.preventDefault(),e.stopPropagation()},this.close.onclick=function(e){e.preventDefault(),e.stopPropagation(),t.widget.toggleDetails()},this.body.scrollTop=0,this.scrollbar.scanDomNode(),this.ariaLabel=N.format("{0}\n{1}\n{2}",e.suggestion.label||"",e.suggestion.detail||"",e.suggestion.documentation||"")},e.prototype.getAriaLabel=function(){return this.ariaLabel},e.prototype.scrollDown=function(e){void 0===e&&(e=8),this.body.scrollTop+=e},e.prototype.scrollUp=function(e){void 0===e&&(e=8),this.body.scrollTop-=e},e.prototype.scrollTop=function(){this.body.scrollTop=0},e.prototype.scrollBottom=function(){this.body.scrollTop=this.body.scrollHeight},e.prototype.pageDown=function(){this.scrollDown(80)},e.prototype.pageUp=function(){this.scrollUp(80)},e.prototype.setBorderWidth=function(e){this.borderWidth=e},e.prototype.configureFont=function(){var e=this.editor.getConfiguration(),t=e.fontInfo.fontFamily,o=(e.contribInfo.suggestFontSize||e.fontInfo.fontSize)+"px",n=(e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight)+"px";this.el.style.fontSize=o,this.type.style.fontFamily=t,this.close.style.height=n,this.close.style.width=n},e.prototype.dispose=function(){this.disposables=Object(s.d)(this.disposables),this.renderDisposeable=Object(s.d)(this.renderDisposeable)},e}(),Xe=function(){function e(e,t,o,n,i,r,s,a){var l=this;this.editor=e,this.telemetryService=t,this.allowEditorOverflow=!0,this.ignoreFocusEvents=!1,this.editorBlurTimeout=new y.f,this.showTimeout=new y.f,this.onDidSelectEmitter=new v.a,this.onDidFocusEmitter=new v.a,this.onDidHideEmitter=new v.a,this.onDidShowEmitter=new v.a,this.onDidSelect=this.onDidSelectEmitter.event,this.onDidFocus=this.onDidFocusEmitter.event,this.onDidHide=this.onDidHideEmitter.event,this.onDidShow=this.onDidShowEmitter.event,this.maxWidgetWidth=660,this.listWidth=330,this.storageServiceAvailable=!0,this.expandSuggestionDocs=!1,this.firstFocusInCurrentList=!1;var u=r.lookupKeybinding("editor.action.triggerSuggest"),c=u?" ("+u.getLabel()+")":"",h=new Le.a(e,s,a);this.isAuto=!1,this.focusedItem=null,this.storageService=i,void 0===this.expandDocsSettingFromStorage()&&(this.storageService.store("expandSuggestionDocs",Be,Ne.c.GLOBAL),void 0===this.expandDocsSettingFromStorage()&&(this.storageServiceAvailable=!1)),this.element=Object(L.a)(".editor-widget.suggest-widget"),this.editor.getConfiguration().contribInfo.iconsInSuggestions||Object(L.f)(this.element,"no-icons"),this.messageElement=Object(L.k)(this.element,Object(L.a)(".message")),this.listElement=Object(L.k)(this.element,Object(L.a)(".tree")),this.details=new Ye(this.element,this,this.editor,h,c);var d=new Ke(this,this.editor,c);this.list=new Ce(this.listElement,this,[d],{useShadows:!1,selectOnMouseDown:!0,focusOnMouseDown:!1,openController:{shouldOpen:function(){return!1}}}),this.toDispose=[Object(ke.b)(this.list,n,{listInactiveFocusBackground:Ve,listInactiveFocusOutline:Re.b}),n.onThemeChange((function(e){return l.onThemeChange(e)})),e.onDidBlurEditorText((function(){return l.onEditorBlur()})),e.onDidLayoutChange((function(){return l.onEditorLayoutChange()})),this.list.onSelectionChange((function(e){return l.onListSelection(e)})),this.list.onFocusChange((function(e){return l.onListFocus(e)})),this.editor.onDidChangeCursorSelection((function(){return l.onCursorSelectionChanged()}))],this.suggestWidgetVisible=_.a.Visible.bindTo(o),this.suggestWidgetMultipleSuggestions=_.a.MultipleSuggestions.bindTo(o),this.suggestionSupportsAutoAccept=_.a.AcceptOnKey.bindTo(o),this.editor.addContentWidget(this),this.setState(0),this.onThemeChange(n.getTheme())}return e.prototype.onCursorSelectionChanged=function(){0!==this.state&&this.editor.layoutContentWidget(this)},e.prototype.onEditorBlur=function(){var e=this;this.editorBlurTimeout.cancelAndSet((function(){e.editor.hasTextFocus()||e.setState(0)}),150)},e.prototype.onEditorLayoutChange=function(){3!==this.state&&5!==this.state||!this.expandDocsSettingFromStorage()||this.expandSideOrBelow()},e.prototype.onListSelection=function(e){var t=this;if(e.elements.length){var o=e.elements[0],i=e.indexes[0];o.resolve(Ae.a.None).then((function(){t.onDidSelectEmitter.fire({item:o,index:i,model:t.completionModel}),Object(d.a)(n.a("suggestionAriaAccepted","{0}, accepted",o.suggestion.label)),t.editor.focus()}))}},e.prototype._getSuggestionAriaAlertLabel=function(e){return ze(e)?n.a("ariaCurrentSuggestionWithDetails","{0}, suggestion, has details",e.suggestion.label):n.a("ariaCurrentSuggestion","{0}, suggestion",e.suggestion.label)},e.prototype._ariaAlert=function(e){this._lastAriaAlertLabel!==e&&(this._lastAriaAlertLabel=e,this._lastAriaAlertLabel&&Object(d.a)(this._lastAriaAlertLabel))},e.prototype.onThemeChange=function(e){var t=e.getColor(Fe);t&&(this.listElement.style.backgroundColor=t.toString(),this.details.element.style.backgroundColor=t.toString(),this.messageElement.style.backgroundColor=t.toString());var o=e.getColor(He);o&&(this.listElement.style.borderColor=o.toString(),this.details.element.style.borderColor=o.toString(),this.messageElement.style.borderColor=o.toString(),this.detailsBorderColor=o.toString());var n=e.getColor(Re.H);n&&(this.detailsFocusBorderColor=n.toString()),this.details.setBorderWidth("hc"===e.type?2:1)},e.prototype.onListFocus=function(e){var t=this;if(!this.ignoreFocusEvents){if(!e.elements.length)return this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null,this.focusedItem=null),void this._ariaAlert(null);var o=e.elements[0];if(this._ariaAlert(this._getSuggestionAriaAlertLabel(o)),this.firstFocusInCurrentList=!this.focusedItem,o!==this.focusedItem){this.currentSuggestionDetails&&(this.currentSuggestionDetails.cancel(),this.currentSuggestionDetails=null);var n=e.indexes[0];this.suggestionSupportsAutoAccept.set(!o.suggestion.noAutoAccept),this.focusedItem=o,this.list.reveal(n),this.currentSuggestionDetails=Object(y.i)((function(e){return o.resolve(e)})),this.currentSuggestionDetails.then((function(){t.ignoreFocusEvents=!0,t.list.splice(n,1,[o]),t.list.setFocus([n]),t.ignoreFocusEvents=!1,t.expandDocsSettingFromStorage()?t.showDetails():Object(L.G)(t.element,"docs-side")})).catch(i.e).then((function(){t.focusedItem===o&&(t.currentSuggestionDetails=null)})),this.onDidFocusEmitter.fire({item:o,index:n,model:this.completionModel})}}},e.prototype.setState=function(t){if(this.element){var o=this.state!==t;switch(this.state=t,Object(L.N)(this.element,"frozen",4===t),t){case 0:Object(L.A)(this.messageElement,this.details.element,this.listElement),this.hide(),this.listHeight=0,o&&this.list.splice(0,this.list.length),this.focusedItem=null;break;case 1:this.messageElement.textContent=e.LOADING_MESSAGE,Object(L.A)(this.listElement,this.details.element),Object(L.M)(this.messageElement),Object(L.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 2:this.messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,Object(L.A)(this.listElement,this.details.element),Object(L.M)(this.messageElement),Object(L.G)(this.element,"docs-side"),this.show(),this.focusedItem=null;break;case 3:case 4:Object(L.A)(this.messageElement),Object(L.M)(this.listElement),this.show();break;case 5:Object(L.A)(this.messageElement),Object(L.M)(this.details.element,this.listElement),this.show(),this._ariaAlert(this.details.getAriaLabel())}}},e.prototype.showTriggered=function(e){var t=this;0===this.state&&(this.isAuto=!!e,this.isAuto||(this.loadingTimeout=setTimeout((function(){t.loadingTimeout=null,t.setState(1)}),50)))},e.prototype.showSuggestions=function(e,t,o,n){if(this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.completionModel!==e&&(this.completionModel=e),o&&2!==this.state&&0!==this.state)this.setState(4);else{var i=this.completionModel.items.length,r=0===i;if(this.suggestWidgetMultipleSuggestions.set(i>1),r)n?this.setState(0):this.setState(2),this.completionModel=null;else{var s=this.completionModel.stats;s.wasAutomaticallyTriggered=!!n,this.telemetryService.publicLog("suggestWidget",Pe({},s,this.editor.getTelemetryData())),this.list.splice(0,this.list.length,this.completionModel.items),o?this.setState(4):this.setState(3),this.list.reveal(t,t),this.list.setFocus([t]),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)}}},e.prototype.selectNextPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageDown(),!0;case 1:return!this.isAuto;default:return this.list.focusNextPage(),!0}},e.prototype.selectNext=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusNext(1,!0),!0}},e.prototype.selectLast=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollBottom(),!0;case 1:return!this.isAuto;default:return this.list.focusLast(),!0}},e.prototype.selectPreviousPage=function(){switch(this.state){case 0:return!1;case 5:return this.details.pageUp(),!0;case 1:return!this.isAuto;default:return this.list.focusPreviousPage(),!0}},e.prototype.selectPrevious=function(){switch(this.state){case 0:return!1;case 1:return!this.isAuto;default:return this.list.focusPrevious(1,!0),!1}},e.prototype.selectFirst=function(){switch(this.state){case 0:return!1;case 5:return this.details.scrollTop(),!0;case 1:return!this.isAuto;default:return this.list.focusFirst(),!0}},e.prototype.getFocusedItem=function(){if(0!==this.state&&2!==this.state&&1!==this.state)return{item:this.list.getFocusedElements()[0],index:this.list.getFocus()[0],model:this.completionModel}},e.prototype.toggleDetailsFocus=function(){5===this.state?(this.setState(3),this.detailsBorderColor&&(this.details.element.style.borderColor=this.detailsBorderColor)):3===this.state&&this.expandDocsSettingFromStorage()&&(this.setState(5),this.detailsFocusBorderColor&&(this.details.element.style.borderColor=this.detailsFocusBorderColor)),this.telemetryService.publicLog("suggestWidget:toggleDetailsFocus",this.editor.getTelemetryData())},e.prototype.toggleDetails=function(){if(ze(this.list.getFocusedElements()[0]))if(this.expandDocsSettingFromStorage())this.updateExpandDocsSetting(!1),Object(L.A)(this.details.element),Object(L.G)(this.element,"docs-side"),Object(L.G)(this.element,"docs-below"),this.editor.layoutContentWidget(this),this.telemetryService.publicLog("suggestWidget:collapseDetails",this.editor.getTelemetryData());else{if(3!==this.state&&5!==this.state&&4!==this.state)return;this.updateExpandDocsSetting(!0),this.showDetails(),this.telemetryService.publicLog("suggestWidget:expandDetails",this.editor.getTelemetryData())}},e.prototype.showDetails=function(){this.expandSideOrBelow(),Object(L.M)(this.details.element),this.details.render(this.list.getFocusedElements()[0]),this.details.element.style.maxHeight=this.maxWidgetHeight+"px",this.listElement.style.marginTop="0px",this.editor.layoutContentWidget(this),this.adjustDocsPosition(),this.editor.focus(),this._ariaAlert(this.details.getAriaLabel())},e.prototype.show=function(){var e=this,t=this.updateListHeight();t!==this.listHeight&&(this.editor.layoutContentWidget(this),this.listHeight=t),this.suggestWidgetVisible.set(!0),this.showTimeout.cancelAndSet((function(){Object(L.f)(e.element,"visible"),e.onDidShowEmitter.fire(e)}),100)},e.prototype.hide=function(){this.suggestWidgetVisible.reset(),this.suggestWidgetMultipleSuggestions.reset(),Object(L.G)(this.element,"visible")},e.prototype.hideWidget=function(){clearTimeout(this.loadingTimeout),this.setState(0),this.onDidHideEmitter.fire(this)},e.prototype.getPosition=function(){return 0===this.state?null:{position:this.editor.getPosition(),preference:[Te.a.BELOW,Te.a.ABOVE]}},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.updateListHeight=function(){var e=0;if(2===this.state||1===this.state)e=this.unfocusedHeight;else{var t=this.list.contentHeight/this.unfocusedHeight;e=Math.min(t,12)*this.unfocusedHeight}return this.element.style.lineHeight=this.unfocusedHeight+"px",this.listElement.style.height=e+"px",this.list.layout(e),e},e.prototype.adjustDocsPosition=function(){var e=this.editor.getConfiguration().fontInfo.lineHeight,t=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),o=Object(L.u)(this.editor.getDomNode()),n=o.left+t.left,i=o.top+t.top+t.height,r=Object(L.u)(this.element),s=r.left,a=r.top;s<n-this.listWidth?Object(L.f)(this.element,"list-right"):Object(L.G)(this.element,"list-right"),Object(L.z)(this.element,"docs-side")&&i-e>a&&this.details.element.offsetHeight>this.listElement.offsetHeight&&(this.listElement.style.marginTop=this.details.element.offsetHeight-this.listElement.offsetHeight+"px")},e.prototype.expandSideOrBelow=function(){if(!ze(this.focusedItem)&&this.firstFocusInCurrentList)return Object(L.G)(this.element,"docs-side"),void Object(L.G)(this.element,"docs-below");var e=this.element.style.maxWidth.match(/(\d+)px/);!e||Number(e[1])<this.maxWidgetWidth?(Object(L.f)(this.element,"docs-below"),Object(L.G)(this.element,"docs-side")):ze(this.focusedItem)&&(Object(L.f)(this.element,"docs-side"),Object(L.G)(this.element,"docs-below"))},Object.defineProperty(e.prototype,"maxWidgetHeight",{get:function(){return 12*this.unfocusedHeight},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"unfocusedHeight",{get:function(){var e=this.editor.getConfiguration();return e.contribInfo.suggestLineHeight||e.fontInfo.lineHeight},enumerable:!0,configurable:!0}),e.prototype.getHeight=function(e){return this.unfocusedHeight},e.prototype.getTemplateId=function(e){return"suggestion"},e.prototype.expandDocsSettingFromStorage=function(){return this.storageServiceAvailable?this.storageService.getBoolean("expandSuggestionDocs",Ne.c.GLOBAL):this.expandSuggestionDocs},e.prototype.updateExpandDocsSetting=function(e){this.storageServiceAvailable?this.storageService.store("expandSuggestionDocs",e,Ne.c.GLOBAL):this.expandSuggestionDocs=e},e.prototype.dispose=function(){this.state=null,this.suggestionSupportsAutoAccept=null,this.currentSuggestionDetails=null,this.focusedItem=null,this.element=null,this.messageElement=null,this.listElement=null,this.details.dispose(),this.details=null,this.list.dispose(),this.list=null,this.toDispose=Object(s.d)(this.toDispose),this.loadingTimeout&&(clearTimeout(this.loadingTimeout),this.loadingTimeout=null),this.editorBlurTimeout.dispose(),this.showTimeout.dispose()},e.ID="editor.widget.suggestWidget",e.LOADING_MESSAGE=n.a("suggestWidget.loading","Loading..."),e.NO_SUGGESTIONS_MESSAGE=n.a("suggestWidget.noSuggestions","No suggestions."),e=Me([xe(1,we.a),xe(2,l.e),xe(3,Oe.c),xe(4,Ne.a),xe(5,Se.a),xe(6,Ie.a),xe(7,De.a)],e)}();Object(Oe.e)((function(e,t){var o=e.getColor(We);o&&t.addRule(".monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: "+o+"; }");var n=e.getColor(Ue);n&&t.addRule(".monaco-editor .suggest-widget { color: "+n+"; }");var i=e.getColor(Re.qb);i&&t.addRule(".monaco-editor .suggest-widget a { color: "+i+"; }");var r=e.getColor(Re.pb);r&&t.addRule(".monaco-editor .suggest-widget code { background-color: "+r+"; }")}));var qe=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),$e=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Je=function(e,t){return function(o,n){t(o,n,e)}},Ze=function(){function e(){}return e.prototype.select=function(e,t,o){if(0===o.length)return 0;for(var n=o[0].score,i=1;i<o.length;i++){var r=o[i],s=r.score,a=r.suggestion;if(s!==n)break;if(a.preselect)return i}return 0},e}(),Qe=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return qe(t,e),t.prototype.memorize=function(e,t,o){},t.prototype.toJSON=function(){},t.prototype.fromJSON=function(){},t}(Ze),et=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._cache=new b.a(300,.66),t._seq=0,t}return qe(t,e),t.prototype.memorize=function(e,t,o){var n=o.suggestion.label,i=e.getLanguageIdentifier().language+"/"+n;this._cache.set(i,{touch:this._seq++,type:o.suggestion.type,insertText:o.suggestion.insertText})},t.prototype.select=function(t,o,n){if(0!==t.getWordUntilPosition(o).word.length)return e.prototype.select.call(this,t,o,n);var i=t.getLineContent(o.lineNumber).substr(o.column-10,o.column-1);if(/\s$/.test(i))return e.prototype.select.call(this,t,o,n);for(var r=-1,s=-1,a=0;a<n.length;a++){var l=n[a].suggestion,u=t.getLanguageIdentifier().language+"/"+l.label,c=this._cache.get(u);c&&c.touch>s&&c.type===l.type&&c.insertText===l.insertText&&(s=c.touch,r=a)}return-1===r?e.prototype.select.call(this,t,o,n):r},t.prototype.toJSON=function(){var e=[];return this._cache.forEach((function(t,o){e.push([o,t])})),e},t.prototype.fromJSON=function(e){this._cache.clear();for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n[0],r=n[1];r.touch=0,this._cache.set(i,r)}this._seq=this._cache.size},t}(Ze),tt=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._trie=b.c.forStrings(),t._seq=0,t}return qe(t,e),t.prototype.memorize=function(e,t,o){var n=e.getWordUntilPosition(t).word,i=e.getLanguageIdentifier().language+"/"+n;this._trie.set(i,{type:o.suggestion.type,insertText:o.suggestion.insertText,touch:this._seq++})},t.prototype.select=function(t,o,n){var i=t.getWordUntilPosition(o).word;if(!i)return e.prototype.select.call(this,t,o,n);var r=t.getLanguageIdentifier().language+"/"+i,s=this._trie.get(r);if(s||(s=this._trie.findSubstr(r)),s)for(var a=0;a<n.length;a++){var l=n[a].suggestion,u=l.type,c=l.insertText;if(u===s.type&&c===s.insertText)return a}return e.prototype.select.call(this,t,o,n)},t.prototype.toJSON=function(){var e=[];return this._trie.forEach((function(t,o){return e.push([o,t])})),e.sort((function(e,t){return-(e[1].touch-t[1].touch)})).forEach((function(e,t){return e[1].touch=t})),e.slice(0,200)},t.prototype.fromJSON=function(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n[0],r=n[1];this._trie.set(i,r)}}},t}(Ze),ot=function(){function e(e,t){var o=this;this._storageService=t,this._storagePrefix="suggest/memories",this._persistSoon=new y.c((function(){return o._flush()}),3e3),this.setMode(e)}return e.prototype.setMode=function(e){if(this._mode!==e){this._mode=e,this._strategy="recentlyUsedByPrefix"===e?new tt:"recentlyUsed"===e?new et:new Qe;try{var t=this._storageService.get(this._storagePrefix+"/"+this._mode,Ne.c.WORKSPACE);t&&this._strategy.fromJSON(JSON.parse(t))}catch(e){}}},e.prototype.memorize=function(e,t,o){this._strategy.memorize(e,t,o),this._persistSoon.schedule()},e.prototype.select=function(e,t,o){return this._strategy.select(e,t,o)},e.prototype._flush=function(){var e=JSON.stringify(this._strategy);this._storageService.store(this._storagePrefix+"/"+this._mode,e,Ne.c.WORKSPACE)},e=$e([Je(1,Ne.a)],e)}();o.d(t,"SuggestController",(function(){return at})),o.d(t,"TriggerSuggestAction",(function(){return lt}));var nt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),it=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},rt=function(e,t){return function(o,n){t(o,n,e)}},st=function(){function e(e,t,o){var n=this;this._disposables=[],this._activeAcceptCharacters=new Set,this._disposables.push(t.onDidShow((function(){return n._onItem(t.getFocusedItem())}))),this._disposables.push(t.onDidFocus(this._onItem,this)),this._disposables.push(t.onDidHide(this.reset,this)),this._disposables.push(e.onWillType((function(t){if(n._activeItem){var i=t[t.length-1];n._activeAcceptCharacters.has(i)&&e.getConfiguration().contribInfo.acceptSuggestionOnCommitCharacter&&o(n._activeItem)}})))}return e.prototype._onItem=function(e){if(e&&!Object(r.k)(e.item.suggestion.commitCharacters)){this._activeItem=e,this._activeAcceptCharacters.clear();for(var t=0,o=e.item.suggestion.commitCharacters;t<o.length;t++){var n=o[t];n.length>0&&this._activeAcceptCharacters.add(n[0])}}else this.reset()},e.prototype.reset=function(){this._activeItem=void 0},e.prototype.dispose=function(){Object(s.d)(this._disposables)},e}(),at=function(){function e(e,t,o,n){var i=this;this._editor=e,this._commandService=t,this._contextKeyService=o,this._instantiationService=n,this._toDispose=[],this._model=new R(this._editor),this._memory=n.createInstance(ot,this._editor.getConfiguration().contribInfo.suggestSelection),this._toDispose.push(this._model.onDidTrigger((function(e){i._widget||i._createSuggestWidget(),i._widget.showTriggered(e.auto)}))),this._toDispose.push(this._model.onDidSuggest((function(e){var t=i._memory.select(i._editor.getModel(),i._editor.getPosition(),e.completionModel.items);i._widget.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}))),this._toDispose.push(this._model.onDidCancel((function(e){i._widget&&!e.retrigger&&i._widget.hideWidget()})));var r=_.a.AcceptSuggestionsOnEnter.bindTo(o),s=function(){var e=i._editor.getConfiguration().contribInfo,t=e.acceptSuggestionOnEnter,o=e.suggestSelection;r.set("on"===t||"smart"===t),i._memory.setMode(o)};this._toDispose.push(this._editor.onDidChangeConfiguration((function(e){return s()}))),s()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype._createSuggestWidget=function(){var e=this;this._widget=this._instantiationService.createInstance(Xe,this._editor),this._toDispose.push(this._widget.onDidSelect(this._onDidSelectItem,this));var t=new st(this._editor,this._widget,(function(t){return e._onDidSelectItem(t)}));this._toDispose.push(t,this._model.onDidSuggest((function(e){0===e.completionModel.items.length&&t.reset()})));var o=_.a.MakesTextEdit.bindTo(this._contextKeyService);this._toDispose.push(this._widget.onDidFocus((function(t){var n=t.item,i=e._editor.getPosition(),r=n.position.column-n.suggestion.overwriteBefore,s=i.column,a=!0;"smart"!==e._editor.getConfiguration().contribInfo.acceptSuggestionOnEnter||2!==e._model.state||n.suggestion.command||n.suggestion.additionalTextEdits||"textmate"===n.suggestion.snippetType||s-r!==n.suggestion.insertText.length||(a=e._editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:r,endLineNumber:i.lineNumber,endColumn:s})!==n.suggestion.insertText);o.set(a)}))),this._toDispose.push({dispose:function(){o.reset()}})},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._toDispose=Object(s.d)(this._toDispose),this._widget&&(this._widget.dispose(),this._widget=null),this._model&&(this._model.dispose(),this._model=null)},e.prototype._onDidSelectItem=function(e){var t;if(e&&e.item){var o=e.item,n=o.suggestion,r=o.position,s=this._editor.getPosition().column-r.column;this._editor.pushUndoStop(),Array.isArray(n.additionalTextEdits)&&this._editor.executeEdits("suggestController.additionalTextEdits",n.additionalTextEdits.map((function(e){return g.a.replace(p.a.lift(e.range),e.text)}))),this._memory.memorize(this._editor.getModel(),this._editor.getPosition(),e.item);var a=n.insertText;"textmate"!==n.snippetType&&(a=f.c.escape(a)),m.SnippetController2.get(this._editor).insert(a,n.overwriteBefore+s,n.overwriteAfter,!1,!1),this._editor.pushUndoStop(),n.command?n.command.id===lt.id?this._model.trigger({auto:!0},!0):((t=this._commandService).executeCommand.apply(t,[n.command.id].concat(n.command.arguments)).done(void 0,i.e),this._model.cancel()):this._model.cancel(),this._alertCompletionItem(e.item)}else this._model.cancel()},e.prototype._alertCompletionItem=function(e){var t=e.suggestion,o=n.a("arai.alert.snippet","Accepting '{0}' did insert the following text: {1}",t.label,t.insertText);Object(d.a)(o)},e.prototype.triggerSuggest=function(e){this._model.trigger({auto:!1},!1,e),this._editor.revealLine(this._editor.getPosition().lineNumber,0),this._editor.focus()},e.prototype.acceptSelectedSuggestion=function(){if(this._widget){var e=this._widget.getFocusedItem();this._onDidSelectItem(e)}},e.prototype.cancelSuggestWidget=function(){this._widget&&(this._model.cancel(),this._widget.hideWidget())},e.prototype.selectNextSuggestion=function(){this._widget&&this._widget.selectNext()},e.prototype.selectNextPageSuggestion=function(){this._widget&&this._widget.selectNextPage()},e.prototype.selectLastSuggestion=function(){this._widget&&this._widget.selectLast()},e.prototype.selectPrevSuggestion=function(){this._widget&&this._widget.selectPrevious()},e.prototype.selectPrevPageSuggestion=function(){this._widget&&this._widget.selectPreviousPage()},e.prototype.selectFirstSuggestion=function(){this._widget&&this._widget.selectFirst()},e.prototype.toggleSuggestionDetails=function(){this._widget&&this._widget.toggleDetails()},e.prototype.toggleSuggestionFocus=function(){this._widget&&this._widget.toggleDetailsFocus()},e.ID="editor.contrib.suggestController",e=it([rt(1,u.b),rt(2,l.e),rt(3,a.a)],e)}(),lt=function(e){function t(){return e.call(this,{id:t.id,label:n.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:l.d.and(c.a.writable,c.a.hasCompletionItemProvider),kbOpts:{kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266},weight:100}})||this}return nt(t,e),t.prototype.run=function(e,t){var o=at.get(t);o&&o.triggerSuggest()},t.id="editor.action.triggerSuggest",t}(h.b);Object(h.h)(at),Object(h.f)(lt);var ut=h.c.bindToContribution(at.get);Object(h.g)(new ut({id:"acceptSelectedSuggestion",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2}})),Object(h.g)(new ut({id:"acceptSelectedSuggestionOnEnter",precondition:_.a.Visible,handler:function(e){return e.acceptSelectedSuggestion()},kbOpts:{weight:190,kbExpr:l.d.and(c.a.textInputFocus,_.a.AcceptSuggestionsOnEnter,_.a.MakesTextEdit),primary:3}})),Object(h.g)(new ut({id:"hideSuggestWidget",precondition:_.a.Visible,handler:function(e){return e.cancelSuggestWidget()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:9,secondary:[1033]}})),Object(h.g)(new ut({id:"selectNextSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(h.g)(new ut({id:"selectNextPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectNextPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:12,secondary:[2060]}})),Object(h.g)(new ut({id:"selectLastSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectLastSuggestion()}})),Object(h.g)(new ut({id:"selectPrevSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(h.g)(new ut({id:"selectPrevPageSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectPrevPageSuggestion()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:11,secondary:[2059]}})),Object(h.g)(new ut({id:"selectFirstSuggestion",precondition:l.d.and(_.a.Visible,_.a.MultipleSuggestions),handler:function(e){return e.selectFirstSuggestion()}})),Object(h.g)(new ut({id:"toggleSuggestionDetails",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionDetails()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2058,mac:{primary:266}}})),Object(h.g)(new ut({id:"toggleSuggestionFocus",precondition:_.a.Visible,handler:function(e){return e.toggleSuggestionFocus()},kbOpts:{weight:190,kbExpr:c.a.textInputFocus,primary:2570,mac:{primary:778}}}))},function(e,t,o){"use strict";o.r(t);o(476);var n=o(0),i=o(39),r=o(15),s=o(82),a=o(89),l=o(2),u=o(3),c=o(16),h=o(1),d=o(9),g=o(11),p=o(25),f=o(13),m=o(48);function _(e,t,o){var n=g.m.ordered(e).map((function(n){return Promise.resolve(n.provideHover(e,t,o)).then((function(e){return e&&(o=void 0!==(t=e).range,n=void 0!==t.contents&&t.contents&&t.contents.length>0,o&&n)?e:void 0;var t,o,n}),(function(e){Object(f.f)(e)}))}));return Promise.all(n).then((function(e){return Object(p.c)(e)}))}Object(u.e)("_executeHoverProvider",(function(e,t){return _(e,t,m.a.None)}));var y,v=o(17),b=function(){function e(t,o,n,i){var r=this;this._computer=t,this._state=0,this._hoverTime=e.HOVER_TIME,this._firstWaitScheduler=new v.c((function(){return r._triggerAsyncComputation()}),0),this._secondWaitScheduler=new v.c((function(){return r._triggerSyncComputation()}),0),this._loadingMessageScheduler=new v.c((function(){return r._showLoadingMessage()}),0),this._asyncComputationPromise=null,this._asyncComputationPromiseDone=!1,this._completeCallback=o,this._errorCallback=n,this._progressCallback=i}return e.prototype.setHoverTime=function(e){this._hoverTime=e},e.prototype._firstWaitTime=function(){return this._hoverTime/2},e.prototype._secondWaitTime=function(){return this._hoverTime/2},e.prototype._loadingMessageTime=function(){return 3*this._hoverTime},e.prototype._triggerAsyncComputation=function(){var e=this;this._state=2,this._secondWaitScheduler.schedule(this._secondWaitTime()),this._computer.computeAsync?(this._asyncComputationPromiseDone=!1,this._asyncComputationPromise=Object(v.i)((function(t){return e._computer.computeAsync(t)})),this._asyncComputationPromise.then((function(t){e._asyncComputationPromiseDone=!0,e._withAsyncResult(t)}),(function(t){return e._onError(t)}))):this._asyncComputationPromiseDone=!0},e.prototype._triggerSyncComputation=function(){this._computer.computeSync&&this._computer.onResult(this._computer.computeSync(),!0),this._asyncComputationPromiseDone?(this._state=0,this._onComplete(this._computer.getResult())):(this._state=3,this._onProgress(this._computer.getResult()))},e.prototype._showLoadingMessage=function(){3===this._state&&this._onProgress(this._computer.getResultWithLoadingMessage())},e.prototype._withAsyncResult=function(e){e&&this._computer.onResult(e,!1),3===this._state&&(this._state=0,this._onComplete(this._computer.getResult()))},e.prototype._onComplete=function(e){this._completeCallback&&this._completeCallback(e)},e.prototype._onError=function(e){this._errorCallback?this._errorCallback(e):Object(f.e)(e)},e.prototype._onProgress=function(e){this._progressCallback&&this._progressCallback(e)},e.prototype.start=function(e){if(0===e)0===this._state&&(this._state=1,this._firstWaitScheduler.schedule(this._firstWaitTime()),this._loadingMessageScheduler.schedule(this._loadingMessageTime()));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}},e.prototype.cancel=function(){this._loadingMessageScheduler.cancel(),1===this._state&&this._firstWaitScheduler.cancel(),2===this._state&&(this._secondWaitScheduler.cancel(),this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null)),3===this._state&&this._asyncComputationPromise&&(this._asyncComputationPromise.cancel(),this._asyncComputationPromise=null),this._state=0},e.HOVER_TIME=300,e}(),E=o(59),C=o(81),S=o(6),T=(y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}y(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),w=function(e){function t(t,o){var n=e.call(this)||this;return n.disposables=[],n.allowEditorOverflow=!0,n._id=t,n._editor=o,n._isVisible=!1,n._containerDomNode=document.createElement("div"),n._containerDomNode.className="monaco-editor-hover hidden",n._containerDomNode.tabIndex=0,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover-content",n.scrollbar=new C.a(n._domNode,{}),n.disposables.push(n.scrollbar),n._containerDomNode.appendChild(n.scrollbar.getDomNode()),n.onkeydown(n._containerDomNode,(function(e){e.equals(9)&&n.hide()})),n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.onDidLayoutChange((function(e){return n.updateMaxHeight()})),n.updateMaxHeight(),n._editor.addContentWidget(n),n._showAtPosition=null,n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._containerDomNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._containerDomNode},t.prototype.showAt=function(e,t){this._showAtPosition=new d.a(e.lineNumber,e.column),this.isVisible=!0,this._editor.layoutContentWidget(this),this._editor.render(),this._stoleFocus=t,t&&this._containerDomNode.focus()},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1,this._editor.layoutContentWidget(this),this._stoleFocus&&this._editor.focus())},t.prototype.getPosition=function(){return this.isVisible?{position:this._showAtPosition,preference:[c.a.ABOVE,c.a.BELOW]}:null},t.prototype.dispose=function(){this._editor.removeContentWidget(this),this.disposables=Object(S.d)(this.disposables),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this;Array.prototype.slice.call(this._domNode.getElementsByClassName("code")).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont(),this._editor.layoutContentWidget(this),this.onContentsChange()},t.prototype.onContentsChange=function(){this.scrollbar.scanDomNode()},t.prototype.updateMaxHeight=function(){var e=Math.max(this._editor.getLayoutInfo().height/4,250),t=this._editor.getConfiguration().fontInfo,o=t.fontSize,n=t.lineHeight;this._domNode.style.fontSize=o+"px",this._domNode.style.lineHeight=n+"px",this._domNode.style.maxHeight=e+"px"},t}(E.a),k=function(e){function t(t,o){var n=e.call(this)||this;return n._id=t,n._editor=o,n._isVisible=!1,n._domNode=document.createElement("div"),n._domNode.className="monaco-editor-hover hidden",n._domNode.setAttribute("aria-hidden","true"),n._domNode.setAttribute("role","presentation"),n._showAtLineNumber=-1,n._register(n._editor.onDidChangeConfiguration((function(e){e.fontInfo&&n.updateFont()}))),n._editor.addOverlayWidget(n),n}return T(t,e),Object.defineProperty(t.prototype,"isVisible",{get:function(){return this._isVisible},set:function(e){this._isVisible=e,Object(h.N)(this._domNode,"hidden",!this._isVisible)},enumerable:!0,configurable:!0}),t.prototype.getId=function(){return this._id},t.prototype.getDomNode=function(){return this._domNode},t.prototype.showAt=function(e){this._showAtLineNumber=e,this.isVisible||(this.isVisible=!0);var t=this._editor.getLayoutInfo(),o=this._editor.getTopForLineNumber(this._showAtLineNumber),n=this._editor.getScrollTop(),i=this._editor.getConfiguration().lineHeight,r=o-n-(this._domNode.clientHeight-i)/2;this._domNode.style.left=t.glyphMarginLeft+t.glyphMarginWidth+"px",this._domNode.style.top=Math.max(Math.round(r),0)+"px"},t.prototype.hide=function(){this.isVisible&&(this.isVisible=!1)},t.prototype.getPosition=function(){return null},t.prototype.dispose=function(){this._editor.removeOverlayWidget(this),e.prototype.dispose.call(this)},t.prototype.updateFont=function(){var e=this,t=Array.prototype.slice.call(this._domNode.getElementsByTagName("code")),o=Array.prototype.slice.call(this._domNode.getElementsByClassName("code"));t.concat(o).forEach((function(t){return e._editor.applyFontInfo(t)}))},t.prototype.updateContents=function(e){this._domNode.textContent="",this._domNode.appendChild(e),this.updateFont()},t}(E.a),O=o(71),R=o(26),N=o(4),L=function(){function e(e,t,o){this.presentationIndex=o,this._onColorFlushed=new N.a,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new N.a,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new N.a,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}return Object.defineProperty(e.prototype,"color",{get:function(){return this._color},set:function(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"presentation",{get:function(){return this.colorPresentations[this.presentationIndex]},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"colorPresentations",{get:function(){return this._colorPresentations},set:function(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)},enumerable:!0,configurable:!0}),e.prototype.selectNextColorPresentation=function(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)},e.prototype.guessColorPresentation=function(e,t){for(var o=0;o<this.colorPresentations.length;o++)if(t===this.colorPresentations[o].label){this.presentationIndex=o,this._onDidChangePresentation.fire(this.presentation);break}},e.prototype.flushColor=function(){this._onColorFlushed.fire(this._color)},e}(),I=(o(477),o(24)),D=o(73),A=o(14),P=o(7),M=o(19),x=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),B=h.a,F=function(e){function t(t,o,n){var i=e.call(this)||this;i.model=o,i.domNode=B(".colorpicker-header"),h.k(t,i.domNode),i.pickedColorNode=h.k(i.domNode,B(".picked-color"));var r=h.k(i.domNode,B(".original-color"));return r.style.backgroundColor=A.a.Format.CSS.format(i.model.originalColor),i.backgroundColor=n.getTheme().getColor(P.v)||A.a.white,i._register(Object(M.e)((function(e,t){i.backgroundColor=e.getColor(P.v)||A.a.white}))),i._register(h.g(i.pickedColorNode,h.d.CLICK,(function(){return i.model.selectNextColorPresentation()}))),i._register(h.g(r,h.d.CLICK,(function(){i.model.color=i.model.originalColor,i.model.flushColor()}))),i._register(o.onDidChangeColor(i.onDidChangeColor,i)),i._register(o.onDidChangePresentation(i.onDidChangePresentation,i)),i.pickedColorNode.style.backgroundColor=A.a.Format.CSS.format(o.color),h.N(i.pickedColorNode,"light",o.color.rgba.a<.5?i.backgroundColor.isLighter():o.color.isLighter()),i}return x(t,e),t.prototype.onDidChangeColor=function(e){this.pickedColorNode.style.backgroundColor=A.a.Format.CSS.format(e),h.N(this.pickedColorNode,"light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()},t.prototype.onDidChangePresentation=function(){this.pickedColorNode.textContent=this.model.presentation?this.model.presentation.label:""},t}(S.a),H=function(e){function t(t,o,n){var i=e.call(this)||this;return i.model=o,i.pixelRatio=n,i.domNode=B(".colorpicker-body"),h.k(t,i.domNode),i.saturationBox=new U(i.domNode,i.model,i.pixelRatio),i._register(i.saturationBox),i._register(i.saturationBox.onDidChange(i.onDidSaturationValueChange,i)),i._register(i.saturationBox.onColorFlushed(i.flushColor,i)),i.opacityStrip=new W(i.domNode,i.model),i._register(i.opacityStrip),i._register(i.opacityStrip.onDidChange(i.onDidOpacityChange,i)),i._register(i.opacityStrip.onColorFlushed(i.flushColor,i)),i.hueStrip=new j(i.domNode,i.model),i._register(i.hueStrip),i._register(i.hueStrip.onDidChange(i.onDidHueChange,i)),i._register(i.hueStrip.onColorFlushed(i.flushColor,i)),i}return x(t,e),t.prototype.flushColor=function(){this.model.flushColor()},t.prototype.onDidSaturationValueChange=function(e){var t=e.s,o=e.v,n=this.model.color.hsva;this.model.color=new A.a(new A.b(n.h,t,o,n.a))},t.prototype.onDidOpacityChange=function(e){var t=this.model.color.hsva;this.model.color=new A.a(new A.b(t.h,t.s,t.v,e))},t.prototype.onDidHueChange=function(e){var t=this.model.color.hsva,o=360*(1-e);this.model.color=new A.a(new A.b(360===o?0:o,t.s,t.v,t.a))},t.prototype.layout=function(){this.saturationBox.layout(),this.opacityStrip.layout(),this.hueStrip.layout()},t}(S.a),U=function(e){function t(t,o,n){var i=e.call(this)||this;return i.model=o,i.pixelRatio=n,i._onDidChange=new N.a,i.onDidChange=i._onDidChange.event,i._onColorFlushed=new N.a,i.onColorFlushed=i._onColorFlushed.event,i.domNode=B(".saturation-wrap"),h.k(t,i.domNode),i.canvas=document.createElement("canvas"),i.canvas.className="saturation-box",h.k(i.domNode,i.canvas),i.selection=B(".saturation-selection"),h.k(i.domNode,i.selection),i.layout(),i._register(h.g(i.domNode,h.d.MOUSE_DOWN,(function(e){return i.onMouseDown(e)}))),i._register(i.model.onDidChangeColor(i.onDidChangeColor,i)),i.monitor=null,i}return x(t,e),t.prototype.onMouseDown=function(e){var t=this;this.monitor=this._register(new D.a);var o=h.u(this.domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(D.b,(function(e){return t.onDidChangePosition(e.posx-o.left,e.posy-o.top)}),(function(){return null}));var n=h.g(document,h.d.MOUSE_UP,(function(){t._onColorFlushed.fire(),n.dispose(),t.monitor.stopMonitoring(!0),t.monitor=null}),!0)},t.prototype.onDidChangePosition=function(e,t){var o=Math.max(0,Math.min(1,e/this.width)),n=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(o,n),this._onDidChange.fire({s:o,v:n})},t.prototype.layout=function(){this.width=this.domNode.offsetWidth,this.height=this.domNode.offsetHeight,this.canvas.width=this.width*this.pixelRatio,this.canvas.height=this.height*this.pixelRatio,this.paint();var e=this.model.color.hsva;this.paintSelection(e.s,e.v)},t.prototype.paint=function(){var e=this.model.color.hsva,t=new A.a(new A.b(e.h,1,1,1)),o=this.canvas.getContext("2d"),n=o.createLinearGradient(0,0,this.canvas.width,0);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),n.addColorStop(1,"rgba(255, 255, 255, 0)");var i=o.createLinearGradient(0,0,0,this.canvas.height);i.addColorStop(0,"rgba(0, 0, 0, 0)"),i.addColorStop(1,"rgba(0, 0, 0, 1)"),o.rect(0,0,this.canvas.width,this.canvas.height),o.fillStyle=A.a.Format.CSS.format(t),o.fill(),o.fillStyle=n,o.fill(),o.fillStyle=i,o.fill()},t.prototype.paintSelection=function(e,t){this.selection.style.left=e*this.width+"px",this.selection.style.top=this.height-t*this.height+"px"},t.prototype.onDidChangeColor=function(){this.monitor&&this.monitor.isMonitoring()||this.paint()},t}(S.a),V=function(e){function t(t,o){var n=e.call(this)||this;return n.model=o,n._onDidChange=new N.a,n.onDidChange=n._onDidChange.event,n._onColorFlushed=new N.a,n.onColorFlushed=n._onColorFlushed.event,n.domNode=h.k(t,B(".strip")),n.overlay=h.k(n.domNode,B(".overlay")),n.slider=h.k(n.domNode,B(".slider")),n.slider.style.top="0px",n._register(h.g(n.domNode,h.d.MOUSE_DOWN,(function(e){return n.onMouseDown(e)}))),n.layout(),n}return x(t,e),t.prototype.layout=function(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;var e=this.getValue(this.model.color);this.updateSliderPosition(e)},t.prototype.onMouseDown=function(e){var t=this,o=this._register(new D.a),n=h.u(this.domNode);h.f(this.domNode,"grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),o.startMonitoring(D.b,(function(e){return t.onDidChangeTop(e.posy-n.top)}),(function(){return null}));var i=h.g(document,h.d.MOUSE_UP,(function(){t._onColorFlushed.fire(),i.dispose(),o.stopMonitoring(!0),h.G(t.domNode,"grabbing")}),!0)},t.prototype.onDidChangeTop=function(e){var t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)},t.prototype.updateSliderPosition=function(e){this.slider.style.top=(1-e)*this.height+"px"},t}(S.a),W=function(e){function t(t,o){var n=e.call(this,t,o)||this;return h.f(n.domNode,"opacity-strip"),n._register(o.onDidChangeColor(n.onDidChangeColor,n)),n.onDidChangeColor(n.model.color),n}return x(t,e),t.prototype.onDidChangeColor=function(e){var t=e.rgba,o=t.r,n=t.g,i=t.b,r=new A.a(new A.c(o,n,i,1)),s=new A.a(new A.c(o,n,i,0));this.overlay.style.background="linear-gradient(to bottom, "+r+" 0%, "+s+" 100%)"},t.prototype.getValue=function(e){return e.hsva.a},t}(V),j=function(e){function t(t,o){var n=e.call(this,t,o)||this;return h.f(n.domNode,"hue-strip"),n}return x(t,e),t.prototype.getValue=function(e){return 1-e.hsva.h/360},t}(V),G=function(e){function t(t,o,n,i){var r=e.call(this)||this;r.model=o,r.pixelRatio=n,r._register(Object(I.p)((function(){return r.layout()})));var s=B(".colorpicker-widget");t.appendChild(s);var a=new F(s,r.model,i);return r.body=new H(s,r.model,r.pixelRatio),r._register(a),r._register(r.body),r}return x(t,e),t.prototype.layout=function(){this.body.layout()},t}(E.a),z=o(172),K=o(175),Y=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),X=h.a,q=function(e,t,o){this.range=e,this.color=t,this.provider=o},$=function(){function e(e){this._editor=e,this._range=null}return e.prototype.setRange=function(e){this._range=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeAsync=function(e){var t=this._editor.getModel();return g.m.has(t)?_(t,new d.a(this._range.startLineNumber,this._range.startColumn),e):Promise.resolve(null)},e.prototype.computeSync=function(){var e=this,t=this._range.startLineNumber;if(t>this._editor.getModel().getLineCount())return[];var o=z.ColorDetector.get(this._editor),n=this._editor.getModel().getLineMaxColumn(t),i=this._editor.getLineDecorations(t),r=!1;return i.map((function(i){var s=i.range.startLineNumber===t?i.range.startColumn:1,a=i.range.endLineNumber===t?i.range.endColumn:n;if(s>e._range.startColumn||e._range.endColumn>a)return null;var u=new l.a(e._range.startLineNumber,s,e._range.startLineNumber,a),c=o.getColorData(i.range.getStartPosition());if(!r&&c){r=!0;var h=c.colorInfo,d=h.color,g=h.range;return new q(g,d,c.provider)}if(Object(O.b)(i.options.hoverMessage))return null;var p=void 0;return i.options.hoverMessage&&(p=Array.isArray(i.options.hoverMessage)?i.options.hoverMessage.slice():[i.options.hoverMessage]),{contents:p,range:u}})).filter((function(e){return!!e}))},e.prototype.onResult=function(e,t){this._result=t?e.concat(this._result.sort((function(e,t){return e instanceof q?-1:t instanceof q?1:0}))):this._result.concat(e)},e.prototype.getResult=function(){return this._result.slice(0)},e.prototype.getResultWithLoadingMessage=function(){return this._result.slice(0).concat([this._getLoadingMessage()])},e.prototype._getLoadingMessage=function(){return{range:this._range,contents:[(new O.a).appendText(n.a("modesContentHover.loading","Loading..."))]}},e}(),J=function(e){function t(o,n,i){var r=e.call(this,t.ID,o)||this;return r._themeService=i,r.renderDisposable=S.a.None,r._computer=new $(r._editor),r._highlightDecorations=[],r._isChangingDecorations=!1,r._markdownRenderer=n,r._register(n.onDidRenderCodeBlock(r.onContentsChange,r)),r._hoverOperation=new b(r._computer,(function(e){return r._withResult(e,!0)}),null,(function(e){return r._withResult(e,!1)})),r._register(h.j(r.getDomNode(),h.d.FOCUS,(function(){r._colorPicker&&h.f(r.getDomNode(),"colorpicker-hover")}))),r._register(h.j(r.getDomNode(),h.d.BLUR,(function(){h.G(r.getDomNode(),"colorpicker-hover")}))),r._register(o.onDidChangeConfiguration((function(e){r._hoverOperation.setHoverTime(r._editor.getConfiguration().contribInfo.hover.delay)}))),r}return Y(t,e),t.prototype.dispose=function(){this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this._isChangingDecorations||this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._colorPicker||this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e,t,o){if(!this._lastRange||!this._lastRange.equalsRange(e)){if(this._hoverOperation.cancel(),this.isVisible)if(this._showAtPosition.lineNumber!==e.startLineNumber)this.hide();else{for(var n=[],i=0,r=this._messages.length;i<r;i++){var s=this._messages[i],a=s.range;a.startColumn<=e.startColumn&&a.endColumn>=e.endColumn&&n.push(s)}if(n.length>0){if(function(e,t){if(!e&&t||e&&!t||e.length!==t.length)return!1;for(var o=0;o<e.length;o++){var n=e[o],i=t[o];if(n instanceof q)return!1;if(i instanceof q)return!1;if(!Object(O.c)(n.contents,i.contents))return!1}return!0}(n,this._messages))return;this._renderMessages(e,n)}else this.hide()}this._lastRange=e,this._computer.setRange(e),this._shouldFocus=o,this._hoverOperation.start(t)}},t.prototype.hide=function(){this._lastRange=null,this._hoverOperation.cancel(),e.prototype.hide.call(this),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[]),this._isChangingDecorations=!1,this.renderDisposable.dispose(),this.renderDisposable=S.a.None,this._colorPicker=null},t.prototype.isColorPickerVisible=function(){return!!this._colorPicker},t.prototype._withResult=function(e,t){this._messages=e,this._lastRange&&this._messages.length>0?this._renderMessages(this._lastRange,this._messages):t&&this.hide()},t.prototype._renderMessages=function(e,o){var n=this;this.renderDisposable.dispose(),this._colorPicker=null;var i,r=Number.MAX_VALUE,s=o[0].range,a=document.createDocumentFragment(),u=!0,c=!1;o.forEach((function(t){if(t.range)if(r=Math.min(r,t.range.startColumn),s=l.a.plusRange(s,t.range),t instanceof q){c=!0;var o=t.color,h=o.red,g=o.green,p=o.blue,f=o.alpha,_=new A.c(255*h,255*g,255*p,f),y=new A.a(_),v=n._editor.getModel(),b=new l.a(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn),E={range:t.range,color:t.color},C=new L(y,[],0),T=new G(a,C,n._editor.getConfiguration().pixelRatio,n._themeService);Object(K.a)(v,E,t.provider,m.a.None).then((function(o){C.colorPresentations=o;var s=n._editor.getModel().getValueInRange(t.range);C.guessColorPresentation(y,s);var u=function(){var e,t;C.presentation.textEdit?(e=[C.presentation.textEdit],t=(t=new l.a(C.presentation.textEdit.range.startLineNumber,C.presentation.textEdit.range.startColumn,C.presentation.textEdit.range.endLineNumber,C.presentation.textEdit.range.endColumn)).setEndPosition(t.endLineNumber,t.startColumn+C.presentation.textEdit.text.length)):(e=[{identifier:null,range:b,text:C.presentation.label,forceMoveMarkers:!1}],t=b.setEndPosition(b.endLineNumber,b.startColumn+C.presentation.label.length)),n._editor.executeEdits("colorpicker",e),C.presentation.additionalTextEdits&&(e=C.presentation.additionalTextEdits.slice(),n._editor.executeEdits("colorpicker",e),n.hide()),n._editor.pushUndoStop(),b=t},c=function(e){return Object(K.a)(v,{range:b,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},t.provider,m.a.None).then((function(e){C.colorPresentations=e}))},h=C.onColorFlushed((function(e){c(e).then(u)})),g=C.onDidChangeColor(c);n._colorPicker=T,n.showAt(new d.a(e.startLineNumber,r),n._shouldFocus),n.updateContents(a),n._colorPicker.layout(),n.renderDisposable=Object(S.c)([h,g,T,i])}))}else t.contents.filter((function(e){return!Object(O.b)(e)})).forEach((function(e){var t=n._markdownRenderer.render(e);i=t,a.appendChild(X("div.hover-row",null,t.element)),u=!1}))})),c||u||(this.showAt(new d.a(e.startLineNumber,r),this._shouldFocus),this.updateContents(a)),this._isChangingDecorations=!0,this._highlightDecorations=this._editor.deltaDecorations(this._highlightDecorations,[{range:s,options:t._DECORATION_OPTIONS}]),this._isChangingDecorations=!1},t.ID="editor.contrib.modesContentHoverWidget",t._DECORATION_OPTIONS=R.a.register({className:"hoverHighlight"}),t}(w);var Z=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Q=function(){function e(e){this._editor=e,this._lineNumber=-1}return e.prototype.setLineNumber=function(e){this._lineNumber=e,this._result=[]},e.prototype.clearResult=function(){this._result=[]},e.prototype.computeSync=function(){for(var e=function(e){return{value:e}},t=this._editor.getLineDecorations(this._lineNumber),o=[],n=0,i=t.length;n<i;n++){var r=t[n];if(r.options.glyphMarginClassName){var s=r.options.glyphMarginHoverMessage;Object(O.b)(s)||(Array.isArray(s)?o=o.concat(s.map(e)):o.push(e(s)))}}return o},e.prototype.onResult=function(e,t){this._result=this._result.concat(e)},e.prototype.getResult=function(){return this._result},e.prototype.getResultWithLoadingMessage=function(){return this.getResult()},e}(),ee=function(e){function t(o,n){var i=e.call(this,t.ID,o)||this;return i._lastLineNumber=-1,i._markdownRenderer=n,i._computer=new Q(i._editor),i._hoverOperation=new b(i._computer,(function(e){return i._withResult(e)}),null,(function(e){return i._withResult(e)})),i}return Z(t,e),t.prototype.dispose=function(){this._renderDisposeables=Object(S.d)(this._renderDisposeables),this._hoverOperation.cancel(),e.prototype.dispose.call(this)},t.prototype.onModelDecorationsChanged=function(){this.isVisible&&(this._hoverOperation.cancel(),this._computer.clearResult(),this._hoverOperation.start(0))},t.prototype.startShowingAt=function(e){this._lastLineNumber!==e&&(this._hoverOperation.cancel(),this.hide(),this._lastLineNumber=e,this._computer.setLineNumber(e),this._hoverOperation.start(0))},t.prototype.hide=function(){this._lastLineNumber=-1,this._hoverOperation.cancel(),e.prototype.hide.call(this)},t.prototype._withResult=function(e){this._messages=e,this._messages.length>0?this._renderMessages(this._lastLineNumber,this._messages):this.hide()},t.prototype._renderMessages=function(e,t){var o=this;Object(S.d)(this._renderDisposeables),this._renderDisposeables=[];var n=document.createDocumentFragment();t.forEach((function(e){var t=o._markdownRenderer.render(e.value);o._renderDisposeables.push(t),n.appendChild(Object(h.a)("div.hover-row",null,t.element))})),this.updateContents(n),this.showAt(e)},t.ID="editor.contrib.modesGlyphHoverWidget",t}(k),te=o(5),oe=o(160);o.d(t,"ModesHoverController",(function(){return se}));var ne=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ie=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},re=function(e,t){return function(o,n){t(o,n,e)}},se=function(){function e(e,t,o,n){var i=this;this._editor=e,this._openerService=t,this._modeService=o,this._themeService=n,this._toUnhook=[],this._isMouseDown=!1,this._hoverClicked=!1,this._hookEvents(),this._didChangeConfigurationHandler=this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&(i._hideWidgets(),i._unhookEvents(),i._hookEvents())}))}return Object.defineProperty(e.prototype,"contentWidget",{get:function(){return this._contentWidget||this._createHoverWidget(),this._contentWidget},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"glyphWidget",{get:function(){return this._glyphWidget||this._createHoverWidget(),this._glyphWidget},enumerable:!0,configurable:!0}),e.get=function(t){return t.getContribution(e.ID)},e.prototype._hookEvents=function(){var e=this,t=function(){return e._hideWidgets()},o=this._editor.getConfiguration().contribInfo.hover;this._isHoverEnabled=o.enabled,this._isHoverSticky=o.sticky,this._isHoverEnabled?(this._toUnhook.push(this._editor.onMouseDown((function(t){return e._onEditorMouseDown(t)}))),this._toUnhook.push(this._editor.onMouseUp((function(t){return e._onEditorMouseUp(t)}))),this._toUnhook.push(this._editor.onMouseMove((function(t){return e._onEditorMouseMove(t)}))),this._toUnhook.push(this._editor.onKeyDown((function(t){return e._onKeyDown(t)}))),this._toUnhook.push(this._editor.onDidChangeModelDecorations((function(){return e._onModelDecorationsChanged()})))):this._toUnhook.push(this._editor.onMouseMove(t)),this._toUnhook.push(this._editor.onMouseLeave(t)),this._toUnhook.push(this._editor.onDidChangeModel(t)),this._toUnhook.push(this._editor.onDidScrollChange((function(t){return e._onEditorScrollChanged(t)})))},e.prototype._unhookEvents=function(){this._toUnhook=Object(S.d)(this._toUnhook)},e.prototype._onModelDecorationsChanged=function(){this.contentWidget.onModelDecorationsChanged(),this.glyphWidget.onModelDecorationsChanged()},e.prototype._onEditorScrollChanged=function(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()},e.prototype._onEditorMouseDown=function(e){this._isMouseDown=!0;var t=e.target.type;t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID?t===c.b.OVERLAY_WIDGET&&e.target.detail===ee.ID||(t!==c.b.OVERLAY_WIDGET&&e.target.detail!==ee.ID&&(this._hoverClicked=!1),this._hideWidgets()):this._hoverClicked=!0},e.prototype._onEditorMouseUp=function(e){this._isMouseDown=!1},e.prototype._onEditorMouseMove=function(e){var t=e.target.type,o=r.d?e.event.metaKey:e.event.ctrlKey;if(!(this._isMouseDown&&this._hoverClicked&&this.contentWidget.isColorPickerVisible())&&(!this._isHoverSticky||t!==c.b.CONTENT_WIDGET||e.target.detail!==J.ID||o)&&(!this._isHoverSticky||t!==c.b.OVERLAY_WIDGET||e.target.detail!==ee.ID||o)){if(t===c.b.CONTENT_EMPTY){var n=this._editor.getConfiguration().fontInfo.typicalHalfwidthCharacterWidth/2,i=e.target.detail;i&&!i.isAfterLines&&"number"==typeof i.horizontalDistanceToText&&i.horizontalDistanceToText<n&&(t=c.b.CONTENT_TEXT)}t===c.b.CONTENT_TEXT?(this.glyphWidget.hide(),this._isHoverEnabled&&this.contentWidget.startShowingAt(e.target.range,0,!1)):t===c.b.GUTTER_GLYPH_MARGIN?(this.contentWidget.hide(),this._isHoverEnabled&&this.glyphWidget.startShowingAt(e.target.position.lineNumber)):this._hideWidgets()}},e.prototype._onKeyDown=function(e){5!==e.keyCode&&6!==e.keyCode&&57!==e.keyCode&&this._hideWidgets()},e.prototype._hideWidgets=function(){!this._contentWidget||this._isMouseDown&&this._hoverClicked&&this._contentWidget.isColorPickerVisible()||(this._glyphWidget.hide(),this._contentWidget.hide())},e.prototype._createHoverWidget=function(){var e=new oe.a(this._editor,this._modeService,this._openerService);this._contentWidget=new J(this._editor,e,this._themeService),this._glyphWidget=new ee(this._editor,e)},e.prototype.showContentHover=function(e,t,o){this.contentWidget.startShowingAt(e,t,o)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._unhookEvents(),this._didChangeConfigurationHandler.dispose(),this._glyphWidget&&(this._glyphWidget.dispose(),this._glyphWidget=null),this._contentWidget&&(this._contentWidget.dispose(),this._contentWidget=null)},e.ID="editor.contrib.hover",e=ie([re(1,s.a),re(2,a.a),re(3,M.c)],e)}(),ae=function(e){function t(){return e.call(this,{id:"editor.action.showHover",label:n.a({key:"showHover",comment:["Label for action that will trigger the showing of a hover in the editor.","This allows for users to show the hover without using the mouse."]},"Show Hover"),alias:"Show Hover",precondition:null,kbOpts:{kbExpr:te.a.editorTextFocus,primary:Object(i.a)(2089,2087),weight:100}})||this}return ne(t,e),t.prototype.run=function(e,t){var o=se.get(t);if(o){var n=t.getPosition(),i=new l.a(n.lineNumber,n.column,n.lineNumber,n.column);o.showContentHover(i,1,!0)}},t}(u.b);Object(u.h)(se),Object(u.f)(ae),Object(M.e)((function(e,t){var o=e.getColor(P.x);o&&t.addRule(".monaco-editor .hoverHighlight { background-color: "+o+"; }");var n=e.getColor(P.v);n&&t.addRule(".monaco-editor .monaco-editor-hover { background-color: "+n+"; }");var i=e.getColor(P.w);i&&(t.addRule(".monaco-editor .monaco-editor-hover { border: 1px solid "+i+"; }"),t.addRule(".monaco-editor .monaco-editor-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid "+i.transparent(.5)+"; }"));var r=e.getColor(P.qb);r&&t.addRule(".monaco-editor .monaco-editor-hover a { color: "+r+"; }");var s=e.getColor(P.pb);s&&t.addRule(".monaco-editor .monaco-editor-hover code { background-color: "+s+"; }")}))},function(e,t,o){"use strict";o.r(t);o(445);var n=o(0),i=o(21),r=o(8),s=o(17),a=o(39),l=o(6),u=o(10),c=o(3),h=o(16),d=o(4),g=65535,p=function(){function e(e,t,o){if(e.length!==t.length||e.length>g)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=o}return e.prototype.ensureParentIndices=function(){var e=this;if(!this._parentsComputed){this._parentsComputed=!0;for(var t=[],o=function(o,n){var i=t[t.length-1];return e.getStartLineNumber(i)<=o&&e.getEndLineNumber(i)>=n},n=0,i=this._startIndexes.length;n<i;n++){var r=this._startIndexes[n],s=this._endIndexes[n];if(r>16777215||s>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;t.length>0&&!o(r,s);)t.pop();var a=t.length>0?t[t.length-1]:-1;t.push(n),this._startIndexes[n]=r+((255&a)<<24),this._endIndexes[n]=s+((65280&a)<<16)}}},Object.defineProperty(e.prototype,"length",{get:function(){return this._startIndexes.length},enumerable:!0,configurable:!0}),e.prototype.getStartLineNumber=function(e){return 16777215&this._startIndexes[e]},e.prototype.getEndLineNumber=function(e){return 16777215&this._endIndexes[e]},e.prototype.getType=function(e){return this._types?this._types[e]:void 0},e.prototype.hasTypes=function(){return!!this._types},e.prototype.isCollapsed=function(e){var t=e/32|0,o=e%32;return 0!=(this._collapseStates[t]&1<<o)},e.prototype.setCollapsed=function(e,t){var o=e/32|0,n=e%32,i=this._collapseStates[o];this._collapseStates[o]=t?i|1<<n:i&~(1<<n)},e.prototype.toRegion=function(e){return new f(this,e)},e.prototype.getParentIndex=function(e){this.ensureParentIndices();var t=((4278190080&this._startIndexes[e])>>>24)+((4278190080&this._endIndexes[e])>>>16);return t===g?-1:t},e.prototype.contains=function(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t},e.prototype.findIndex=function(e){var t=0,o=this._startIndexes.length;if(0===o)return-1;for(;t<o;){var n=Math.floor((t+o)/2);e<this.getStartLineNumber(n)?o=n:t=n+1}return t-1},e.prototype.findRange=function(e){var t=this.findIndex(e);if(t>=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1},e.prototype.toString=function(){for(var e=[],t=0;t<this.length;t++)e[t]="["+(this.isCollapsed(t)?"+":"-")+"] "+this.getStartLineNumber(t)+"/"+this.getEndLineNumber(t);return e.join(", ")},e}(),f=function(){function e(e,t){this.ranges=e,this.index=t}return Object.defineProperty(e.prototype,"startLineNumber",{get:function(){return this.ranges.getStartLineNumber(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"endLineNumber",{get:function(){return this.ranges.getEndLineNumber(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"regionIndex",{get:function(){return this.index},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"parentIndex",{get:function(){return this.ranges.getParentIndex(this.index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isCollapsed",{get:function(){return this.ranges.isCollapsed(this.index)},enumerable:!0,configurable:!0}),e.prototype.containedBy=function(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber},e.prototype.containsLine=function(e){return this.startLineNumber<=e&&e<=this.endLineNumber},e}(),m=function(){function e(e,t){this._updateEventEmitter=new d.a,this._textModel=e,this._decorationProvider=t,this._regions=new p(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}return Object.defineProperty(e.prototype,"regions",{get:function(){return this._regions},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"textModel",{get:function(){return this._textModel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isInitialized",{get:function(){return this._isInitialized},enumerable:!0,configurable:!0}),e.prototype.toggleCollapseState=function(e){var t=this;if(e.length){var o={};this._decorationProvider.changeDecorations((function(n){for(var i=0,r=e;i<r.length;i++){var s=r[i].regionIndex,a=t._editorDecorationIds[s];if(a&&!o[a]){o[a]=!0;var l=!t._regions.isCollapsed(s);t._regions.setCollapsed(s,l),n.changeDecorationOptions(a,t._decorationProvider.getDecorationOption(l))}}})),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}},e.prototype.update=function(e,t){var o=this;void 0===t&&(t=[]);for(var n=[],i=function(i,r){var s=e.getStartLineNumber(i);r&&function(e,o){for(var n=0,i=t;n<i.length;n++){var r=i[n];if(e<r&&r<=o)return!0}return!1}(s,e.getEndLineNumber(i))&&(r=!1),e.setCollapsed(i,r);var a=o._textModel.getLineMaxColumn(s),l={startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:a};n.push({range:l,options:o._decorationProvider.getDecorationOption(r)})},r=0,s=function(){for(;r<o._regions.length;){var e=o._regions.isCollapsed(r);if(r++,e)return r-1}return-1},a=0,l=s();-1!==l&&a<e.length;){var u=this._textModel.getDecorationRange(this._editorDecorationIds[l]);if(u){var c=u.startLineNumber;if(this._textModel.getLineMaxColumn(c)===u.startColumn)for(;a<e.length;){var h=e.getStartLineNumber(a);if(!(c>=h))break;i(a,c===h),a++}}l=s()}for(;a<e.length;)i(a,!1),a++;this._editorDecorationIds=this._decorationProvider.deltaDecorations(this._editorDecorationIds,n),this._regions=e,this._isInitialized=!0,this._updateEventEmitter.fire({model:this})},e.prototype.getMemento=function(){for(var e=[],t=0;t<this._regions.length;t++)if(this._regions.isCollapsed(t)){var o=this._textModel.getDecorationRange(this._editorDecorationIds[t]);if(o){var n=o.startLineNumber,i=o.endLineNumber+this._regions.getEndLineNumber(t)-this._regions.getStartLineNumber(t);e.push({startLineNumber:n,endLineNumber:i})}}return e.length>0?e:null},e.prototype.applyMemento=function(e){if(Array.isArray(e)){for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o],r=this.getRegionAtLine(i.startLineNumber);r&&!r.isCollapsed&&t.push(r)}this.toggleCollapseState(t)}},e.prototype.dispose=function(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])},e.prototype.getAllRegionsAtLine=function(e,t){var o=[];if(this._regions)for(var n=this._regions.findRange(e),i=1;n>=0;){var r=this._regions.toRegion(n);t&&!t(r,i)||o.push(r),i++,n=r.parentIndex}return o},e.prototype.getRegionAtLine=function(e){if(this._regions){var t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null},e.prototype.getRegionsInside=function(e,t){for(var o=[],n=t&&2===t.length,i=n?[]:null,r=e?e.regionIndex+1:0,s=e?e.endLineNumber:Number.MAX_VALUE,a=r,l=this._regions.length;a<l;a++){var u=this._regions.toRegion(a);if(!(this._regions.getStartLineNumber(a)<s))break;if(n){for(;i.length>0&&!u.containedBy(i[i.length-1]);)i.pop();i.push(u),t(u,i.length)&&o.push(u)}else t&&!t(u)||o.push(u)}return o},e}();function _(e,t,o,n){void 0===o&&(o=Number.MAX_VALUE);var i=[];if(n&&n.length>0)for(var r=0,s=n;r<s.length;r++){var a=s[r],l=e.getRegionAtLine(a);if(l&&(l.isCollapsed!==t&&i.push(l),o>1)){var u=e.getRegionsInside(l,(function(e,n){return e.isCollapsed!==t&&n<o}));i.push.apply(i,u)}}else{u=e.getRegionsInside(null,(function(e,n){return e.isCollapsed!==t&&n<o}));i.push.apply(i,u)}e.toggleCollapseState(i)}function y(e,t,o,n){for(var i=[],r=0,s=n;r<s.length;r++){var a=s[r],l=e.getAllRegionsAtLine(a,(function(e,n){return e.isCollapsed!==t&&n<=o}));i.push.apply(i,l)}e.toggleCollapseState(i)}function v(e,t,o){for(var n=e.textModel,i=e.regions,r=[],s=i.length-1;s>=0;s--)if(o!==i.isCollapsed(s)){var a=i.getStartLineNumber(s);t.test(n.getLineContent(a))&&r.push(i.toRegion(s))}e.toggleCollapseState(r)}function b(e,t,o){for(var n=e.regions,i=[],r=n.length-1;r>=0;r--)o!==n.isCollapsed(r)&&t===n.getType(r)&&i.push(n.toRegion(r));e.toggleCollapseState(i)}var E=o(18),C=o(26),S=function(){function e(e){this.editor=e,this.autoHideFoldingControls=!0}return e.prototype.getDecorationOption=function(t){return t?e.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e.EXPANDED_VISUAL_DECORATION},e.prototype.deltaDecorations=function(e,t){return this.editor.deltaDecorations(e,t)},e.prototype.changeDecorations=function(e){return this.editor.changeDecorations(e)},e.COLLAPSED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,afterContentClassName:"inline-folded",linesDecorationsClassName:"folding collapsed"}),e.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding"}),e.EXPANDED_VISUAL_DECORATION=C.a.register({stickiness:E.h.NeverGrowsWhenTypingAtEdges,linesDecorationsClassName:"folding alwaysShowFoldIcons"}),e}(),T=o(5),w=o(2),k=o(25),O=function(){function e(e){var t=this;this._updateEventEmitter=new d.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange((function(e){return t.updateHiddenRanges()})),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._updateEventEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hiddenRanges",{get:function(){return this._hiddenRanges},enumerable:!0,configurable:!0}),e.prototype.updateHiddenRanges=function(){for(var e=!1,t=[],o=0,n=0,i=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;o<s.length;o++)if(s.isCollapsed(o)){var a=s.getStartLineNumber(o)+1,l=s.getEndLineNumber(o);i<=a&&l<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===a&&this._hiddenRanges[n].endLineNumber===l?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new w.a(a,1,l,1))),i=a,r=l)}(e||n<this._hiddenRanges.length)&&this.applyHiddenRanges(t)},e.prototype.applyMemento=function(e){if(!Array.isArray(e)||0===e.length)return!1;for(var t=[],o=0,n=e;o<n.length;o++){var i=n[o];if(!i.startLineNumber||!i.endLineNumber)return!1;t.push(new w.a(i.startLineNumber+1,1,i.endLineNumber,1))}return this.applyHiddenRanges(t),!0},e.prototype.getMemento=function(){return this._hiddenRanges.map((function(e){return{startLineNumber:e.startLineNumber-1,endLineNumber:e.endLineNumber}}))},e.prototype.applyHiddenRanges=function(e){this._hiddenRanges=e,this._updateEventEmitter.fire(e)},e.prototype.hasRanges=function(){return this._hiddenRanges.length>0},e.prototype.isHidden=function(e){return null!==R(this._hiddenRanges,e)},e.prototype.adjustSelections=function(e){for(var t=this,o=!1,n=this._foldingModel.textModel,i=null,r=function(e){return i&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,i)||(i=R(t._hiddenRanges,e)),i?i.startLineNumber-1:null},s=0,a=e.length;s<a;s++){var l=e[s],u=r(l.startLineNumber);u&&(l=l.setStartPosition(u,n.getLineMaxColumn(u)),o=!0);var c=r(l.endLineNumber);c&&(l=l.setEndPosition(c,n.getLineMaxColumn(c)),o=!0),e[s]=l}return o},e.prototype.dispose=function(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)},e}();function R(e,t){var o=Object(k.f)(e,(function(e){return t<e.startLineNumber}))-1;return o>=0&&e[o].endLineNumber>=t?e[o]:null}var N=o(32),L=5e3,I="indent",D=function(){function e(e){this.editorModel=e,this.id=I}return e.prototype.dispose=function(){},e.prototype.compute=function(e){var t=N.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),o=t&&t.offSide,n=t&&t.markers;return u.b.as(function(e,t,o,n){void 0===n&&(n=L);var i=e.getOptions().tabSize,r=new A(n),s=void 0;o&&(s=new RegExp("("+o.start.source+")|(?:"+o.end.source+")"));var a=[];a.push({indent:-1,line:e.getLineCount()+1,marker:!1});for(var l=e.getLineCount();l>0;l--){var u=e.getLineContent(l),c=C.b.computeIndentLevel(u,i),h=a[a.length-1];if(-1!==c){var d=void 0;if(s&&(d=u.match(s))){if(!d[1]){a.push({indent:-2,line:l,marker:!0});continue}for(var g=a.length-1;g>0&&!a[g].marker;)g--;if(g>0){a.length=g+1,h=a[g],r.insertFirst(l,h.line,c),h.marker=!1,h.indent=c,h.line=l;continue}}if(h.indent>c){do{a.pop(),h=a[a.length-1]}while(h.indent>c);var p=h.line-1;p-l>=1&&r.insertFirst(l,p,c)}h.indent===c?h.line=l:a.push({indent:c,line:l,marker:!1})}else t&&!h.marker&&(h.line=l)}return r.toIndentRanges(e)}(this.editorModel,o,n))},e}(),A=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.insertFirst=function(e,t,o){if(!(e>16777215||t>16777215)){var n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,o<1e3&&(this._indentOccurrences[o]=(this._indentOccurrences[o]||0)+1)}},e.prototype.toIndentRanges=function(e){if(this._length<=this._foldingRangesLimit){for(var t=new Uint32Array(this._length),o=new Uint32Array(this._length),n=this._length-1,i=0;n>=0;n--,i++)t[i]=this._startIndexes[n],o[i]=this._endIndexes[n];return new p(t,o)}var r=0,s=this._indentOccurrences.length;for(n=0;n<this._indentOccurrences.length;n++){var a=this._indentOccurrences[n];if(a){if(a+r>this._foldingRangesLimit){s=n;break}r+=a}}var l=e.getOptions().tabSize;for(t=new Uint32Array(this._foldingRangesLimit),o=new Uint32Array(this._foldingRangesLimit),n=this._length-1,i=0;n>=0;n--){var u=this._startIndexes[n],c=e.getLineContent(u),h=C.b.computeIndentLevel(c,l);(h<s||h===s&&r++<this._foldingRangesLimit)&&(t[i]=u,o[i]=this._endIndexes[n],i++)}return new p(t,o)},e}();var P=o(11),M=o(13),x=5e3,B={},F="syntax",H=function(){function e(e,t,o){void 0===o&&(o=x),this.editorModel=e,this.providers=t,this.limit=o,this.id=F}return e.prototype.compute=function(e){var t=this;return function(e,t,o){var n=null,i=e.map((function(e,i){return Object(s.n)(e.provideFoldingRanges(t,B,o)).then((function(e){if(!o.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);for(var r=t.getLineCount(),s=0,a=e;s<a.length;s++){var l=a[s];l.start>0&&l.end>l.start&&l.end<=r&&n.push({start:l.start,end:l.end,rank:i,kind:l.kind})}}}),M.f)}));return u.b.join(i).then((function(e){return n}))}(this.providers,this.editorModel,e).then((function(e){return e?V(e,t.limit):null}))},e.prototype.dispose=function(){},e}();var U=function(){function e(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}return e.prototype.add=function(e,t,o,n){if(!(e>16777215||t>16777215)){var i=this._length;this._startIndexes[i]=e,this._endIndexes[i]=t,this._nestingLevels[i]=n,this._types[i]=o,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}},e.prototype.toIndentRanges=function(){if(this._length<=this._foldingRangesLimit){for(var e=new Uint32Array(this._length),t=new Uint32Array(this._length),o=0;o<this._length;o++)e[o]=this._startIndexes[o],t[o]=this._endIndexes[o];return new p(e,t,this._types)}var n=0,i=this._nestingLevelCounts.length;for(o=0;o<this._nestingLevelCounts.length;o++){var r=this._nestingLevelCounts[o];if(r){if(r+n>this._foldingRangesLimit){i=o;break}n+=r}}e=new Uint32Array(this._foldingRangesLimit),t=new Uint32Array(this._foldingRangesLimit);for(var s=[],a=(o=0,0);o<this._length;o++){var l=this._nestingLevels[o];(l<i||l===i&&n++<this._foldingRangesLimit)&&(e[a]=this._startIndexes[o],t[a]=this._endIndexes[o],s[a]=this._types[o],a++)}return new p(e,t,s)},e}();function V(e,t){for(var o=e.sort((function(e,t){var o=e.start-t.start;return 0===o&&(o=e.rank-t.rank),o})),n=new U(t),i=null,r=[],s=0,a=o;s<a.length;s++){var l=a[s];if(i){if(l.start>i.start)if(l.end<=i.end)r.push(i),i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length);else{if(l.start>i.end){do{i=r.pop()}while(i&&l.start>i.end);i&&r.push(i),i=l}n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}}else i=l,n.add(l.start,l.end,l.kind&&l.kind.value,r.length)}return n.toIndentRanges()}var W="init",j=function(){function e(e,t,o,n){if(this.editorModel=e,this.id=W,t.length){this.decorationIds=e.deltaDecorations([],t.map((function(t){return{range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:E.h.NeverGrowsWhenTypingAtEdges}}}))),this.timeout=setTimeout(o,n)}}return e.prototype.dispose=function(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e.prototype.compute=function(e){var t=[];if(this.decorationIds)for(var o=0,n=this.decorationIds;o<n.length;o++){var i=n[o],r=this.editorModel.getDecorationRange(i);r&&t.push({start:r.startLineNumber,end:r.endLineNumber,rank:1})}return u.b.as(V(t,Number.MAX_VALUE))},e}();o.d(t,"ID",(function(){return K})),o.d(t,"FoldingController",(function(){return Y}));var G,z=(G=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}G(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),K="editor.contrib.folding",Y=function(){function e(e){var t=this;this.editor=e,this._isEnabled=this.editor.getConfiguration().contribInfo.folding,this._autoHideFoldingControls="mouseover"===this.editor.getConfiguration().contribInfo.showFoldingControls,this._useFoldingProviders="indentation"!==this.editor.getConfiguration().contribInfo.foldingStrategy,this.globalToDispose=[],this.localToDispose=[],this.foldingDecorationProvider=new S(e),this.foldingDecorationProvider.autoHideFoldingControls=this._autoHideFoldingControls,this.globalToDispose.push(this.editor.onDidChangeModel((function(){return t.onModelChanged()}))),this.globalToDispose.push(P.l.onDidChange((function(){return t.onFoldingStrategyChanged()}))),this.globalToDispose.push(this.editor.onDidChangeConfiguration((function(e){if(e.contribInfo){var o=t._isEnabled;t._isEnabled=t.editor.getConfiguration().contribInfo.folding,o!==t._isEnabled&&t.onModelChanged();var n=t._autoHideFoldingControls;t._autoHideFoldingControls="mouseover"===t.editor.getConfiguration().contribInfo.showFoldingControls,n!==t._autoHideFoldingControls&&(t.foldingDecorationProvider.autoHideFoldingControls=t._autoHideFoldingControls,t.onModelContentChanged());var i=t._useFoldingProviders;t._useFoldingProviders="indentation"!==t.editor.getConfiguration().contribInfo.foldingStrategy,i!==t._useFoldingProviders&&t.onFoldingStrategyChanged()}}))),this.globalToDispose.push({dispose:function(){return Object(l.d)(t.localToDispose)}}),this.onModelChanged()}return e.get=function(e){return e.getContribution(K)},e.prototype.getId=function(){return K},e.prototype.dispose=function(){this.globalToDispose=Object(l.d)(this.globalToDispose)},e.prototype.saveViewState=function(){var e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){var t=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),o=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:o}}},e.prototype.restoreViewState=function(e){var t=this.editor.getModel();t&&this._isEnabled&&!t.isTooLargeForTokenization()&&e&&e.collapsedRegions&&e.lineCount===t.getLineCount()&&(e.provider!==F&&e.provider!==W||(this.foldingStateMemento=e),this.hiddenRangeModel.applyMemento(e.collapsedRegions)&&this.getFoldingModel().then((function(t){t&&t.applyMemento(e.collapsedRegions)})).done(void 0,M.e))},e.prototype.onModelChanged=function(){var e=this;this.localToDispose=Object(l.d)(this.localToDispose);var t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this.foldingModel=new m(t,this.foldingDecorationProvider),this.localToDispose.push(this.foldingModel),this.hiddenRangeModel=new O(this.foldingModel),this.localToDispose.push(this.hiddenRangeModel),this.localToDispose.push(this.hiddenRangeModel.onDidChange((function(t){return e.onHiddenRangesChanges(t)}))),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.c((function(){return e.revealCursor()}),200),this.localToDispose.push(this.cursorChangedScheduler),this.localToDispose.push(this.editor.onDidChangeModelLanguageConfiguration((function(t){return e.onModelContentChanged()}))),this.localToDispose.push(this.editor.onDidChangeModelContent((function(t){return e.onModelContentChanged()}))),this.localToDispose.push(this.editor.onDidChangeCursorPosition((function(t){return e.onCursorPositionChanged()}))),this.localToDispose.push(this.editor.onMouseDown((function(t){return e.onEditorMouseDown(t)}))),this.localToDispose.push(this.editor.onMouseUp((function(t){return e.onEditorMouseUp(t)}))),this.localToDispose.push({dispose:function(){e.foldingRegionPromise&&(e.foldingRegionPromise.cancel(),e.foldingRegionPromise=null),e.updateScheduler.cancel(),e.updateScheduler=null,e.foldingModel=null,e.foldingModelPromise=null,e.hiddenRangeModel=null,e.cursorChangedScheduler=null,e.foldingStateMemento=null,e.rangeProvider&&e.rangeProvider.dispose(),e.rangeProvider=null}}),this.onModelContentChanged())},e.prototype.onFoldingStrategyChanged=function(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()},e.prototype.getRangeProvider=function(e){var t=this;if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new D(e),this._useFoldingProviders){var o=P.l.ordered(this.foldingModel.textModel);if(0===o.length&&this.foldingStateMemento)return this.rangeProvider=new j(e,this.foldingStateMemento.collapsedRegions,(function(){t.foldingStateMemento=null,t.onFoldingStrategyChanged()}),3e4),this.rangeProvider;o.length>0&&(this.rangeProvider=new H(e,o))}return this.foldingStateMemento=null,this.rangeProvider},e.prototype.getFoldingModel=function(){return this.foldingModelPromise},e.prototype.onModelContentChanged=function(){var e=this;this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((function(){if(!e.foldingModel)return null;var t=e.foldingRegionPromise=Object(s.i)((function(t){return e.getRangeProvider(e.foldingModel.textModel).compute(t)}));return u.b.wrap(t.then((function(o){if(o&&t===e.foldingRegionPromise){var n=e.editor.getSelections(),i=n?n.map((function(e){return e.startLineNumber})):[];e.foldingModel.update(o,i)}return e.foldingModel})))})))},e.prototype.onHiddenRangesChanges=function(e){if(e.length){var t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e)},e.prototype.onCursorPositionChanged=function(){this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()},e.prototype.revealCursor=function(){var e=this;this.getFoldingModel().then((function(t){if(t){var o=e.editor.getSelections();if(o&&o.length>0){for(var n=[],i=function(o){var i=o.selectionStartLineNumber;e.hiddenRangeModel.isHidden(i)&&n.push.apply(n,t.getAllRegionsAtLine(i,(function(e){return e.isCollapsed&&i>e.startLineNumber})))},r=0,s=o;r<s.length;r++){i(s[r])}n.length&&(t.toggleCollapseState(n),e.reveal(o[0].getPosition()))}}})).done(void 0,M.e)},e.prototype.onEditorMouseDown=function(e){this.mouseDownInfo=null;var t=e.target.range;if(this.hiddenRangeModel&&t&&(e.event.leftButton||e.event.middleButton)){var o=!1;switch(e.target.type){case h.b.GUTTER_LINE_DECORATIONS:var n=e.target.detail;if(n.offsetX-n.glyphMarginWidth-n.lineNumbersWidth-n.glyphMarginLeft<=10)return;o=!0;break;case h.b.CONTENT_EMPTY:if(this.hiddenRangeModel.hasRanges())if(!e.target.detail.isAfterLines)break;return;case h.b.CONTENT_TEXT:if(this.hiddenRangeModel.hasRanges()){var i=this.editor.getModel();if(i&&t.startColumn===i.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:o}}},e.prototype.onEditorMouseUp=function(e){var t=this;if(this.mouseDownInfo){var o=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,i=e.target.range;if(i&&i.startLineNumber===o){if(n){if(e.target.type!==h.b.GUTTER_LINE_DECORATIONS)return}else{var r=this.editor.getModel();if(i.startColumn!==r.getLineMaxColumn(o))return}this.getFoldingModel().then((function(i){if(i){var r=i.getRegionAtLine(o);if(r&&r.startLineNumber===o){var s=r.isCollapsed;if(n||s){var a=[r];(e.event.middleButton||e.event.shiftKey)&&a.push.apply(a,i.getRegionsInside(r,(function(e){return e.isCollapsed===s}))),i.toggleCollapseState(a),t.reveal({lineNumber:o,column:1})}}}})).done(void 0,M.e)}}},e.prototype.reveal=function(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)},e}(),X=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return z(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=this,i=Y.get(t);if(i){var r=i.getFoldingModel();return r?(this.reportTelemetry(e,t),r.then((function(e){e&&(n.invoke(i,e,t,o),i.reveal(t.getSelection().getStartPosition()))}))):void 0}},t.prototype.getSelectedLines=function(e){var t=e.getSelections();return t?t.map((function(e){return e.startLineNumber})):[]},t.prototype.getLineNumbers=function(e,t){return e&&e.selectionLines?e.selectionLines.map((function(e){return e+1})):this.getSelectedLines(t)},t.prototype.run=function(e,t){},t}(c.b);function q(e){if(!i.i(e)){if(!i.g(e))return!1;var t=e;if(!i.i(t.levels)&&!i.f(t.levels))return!1;if(!i.i(t.direction)&&!i.h(t.direction))return!1;if(!(i.i(t.selectionLines)||i.b(t.selectionLines)&&t.selectionLines.every(i.f)))return!1}return!0}var $=function(e){function t(){return e.call(this,{id:"editor.unfold",label:n.a("unfoldAction.label","Unfold"),alias:"Unfold",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:q}]}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){var i=n&&n.levels||1,r=this.getLineNumbers(n,o);n&&"up"===n.direction?y(t,!1,i,r):_(t,!1,i,r)},t}(X),J=function(e){function t(){return e.call(this,{id:"editor.unfoldRecursively",label:n.a("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2137),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){_(t,!1,Number.MAX_VALUE,this.getSelectedLines(o))},t}(X),Z=function(e){function t(){return e.call(this,{id:"editor.fold",label:n.a("foldAction.label","Fold"),alias:"Fold",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold. Defaults to 1.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:q}]}})||this}return z(t,e),t.prototype.invoke=function(e,t,o,n){var i=n&&n.levels||1,r=this.getLineNumbers(n,o);n&&"up"===n.direction?y(t,!0,i,r):_(t,!0,i,r)},t}(X),Q=function(e){function t(){return e.call(this,{id:"editor.foldRecursively",label:n.a("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2135),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){var n=this.getSelectedLines(o);_(t,!0,Number.MAX_VALUE,n)},t}(X),ee=function(e){function t(){return e.call(this,{id:"editor.foldAllBlockComments",label:n.a("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2133),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Comment.value,!0);else{var n=N.a.getComments(o.getModel().getLanguageIdentifier().id);if(n&&n.blockCommentStartToken)v(t,new RegExp("^\\s*"+Object(r.escapeRegExpCharacters)(n.blockCommentStartToken)),!0)}},t}(X),te=function(e){function t(){return e.call(this,{id:"editor.foldAllMarkerRegions",label:n.a("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2077),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Region.value,!0);else{var n=N.a.getFoldingRules(o.getModel().getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start)v(t,new RegExp(n.markers.start),!0)}},t}(X),oe=function(e){function t(){return e.call(this,{id:"editor.unfoldAllMarkerRegions",label:n.a("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2078),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){if(t.regions.hasTypes())b(t,P.k.Region.value,!1);else{var n=N.a.getFoldingRules(o.getModel().getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start)v(t,new RegExp(n.markers.start),!1)}},t}(X),ne=function(e){function t(){return e.call(this,{id:"editor.foldAll",label:n.a("foldAllAction.label","Fold All"),alias:"Fold All",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2069),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){_(t,!0)},t}(X),ie=function(e){function t(){return e.call(this,{id:"editor.unfoldAll",label:n.a("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2088),weight:100}})||this}return z(t,e),t.prototype.invoke=function(e,t,o){_(t,!1)},t}(X),re=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return z(t,e),t.prototype.getFoldingLevel=function(){return parseInt(this.id.substr(t.ID_PREFIX.length))},t.prototype.invoke=function(e,t,o){!function(e,t,o,n){var i=e.getRegionsInside(null,(function(e,i){return i===t&&e.isCollapsed!==o&&!n.some((function(t){return e.containsLine(t)}))}));e.toggleCollapseState(i)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(o))},t.ID_PREFIX="editor.foldLevel",t.ID=function(e){return t.ID_PREFIX+e},t}(X);Object(c.h)(Y),Object(c.f)($),Object(c.f)(J),Object(c.f)(Z),Object(c.f)(Q),Object(c.f)(ne),Object(c.f)(ie),Object(c.f)(ee),Object(c.f)(te),Object(c.f)(oe);for(var se=1;se<=7;se++)Object(c.i)(new re({id:re.ID(se),label:n.a("foldLevelAction.label","Fold Level {0}",se),alias:"Fold Level "+se,precondition:null,kbOpts:{kbExpr:T.a.editorTextFocus,primary:Object(a.a)(2089,2048|21+se),weight:100}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(3),r=o(6),s=o(8),a=o(10),l=o(156),u=o(5),c=o(142),h=o(0),d=o(37),g=o(12),p=o(83),f=o(61),m=o(46),_=o(129),y=o(17),v=o(4),b=o(2),E=o(11),C=o(25),S=o(48),T=o(13),w=o(33),k=o(60),O=function(){function e(e){this.value=e}return e.prototype.contains=function(t){return this.value===t||Object(s.startsWith)(t,this.value+e.sep)},e.sep=".",e.Empty=new e(""),e.Refactor=new e("refactor"),e.Source=new e("source"),e.SourceOrganizeImports=new e("source.organizeImports"),e}();function R(e,t,o,n){void 0===n&&(n=S.a.None);var i={only:o&&o.filter&&o.filter.kind?o.filter.kind.value:void 0,trigger:o&&"manual"===o.type?E.b.Manual:E.b.Automatic},r=E.a.all(e).map((function(n){return Object(y.h)((function(o){return n.provideCodeActions(e,t,i,o)})).then((function(e){return Array.isArray(e)?e.filter((function(e){return function(e,t){if(!t)return!1;if(e&&e.kind&&(!t.kind||!e.kind.contains(t.kind)))return!1;if(t.kind&&O.Source.contains(t.kind)&&(!e||!e.includeSourceActions))return!1;return!0}(o&&o.filter,e)})):[]}),(function(e){if(Object(T.d)(e))throw e;return Object(T.f)(e),[]}))}));return Promise.all(r).then(C.i).then((function(e){return Object(C.l)(e,N)}))}function N(e,t){var o=!Object(C.k)(e.diagnostics),n=!Object(C.k)(t.diagnostics);return o?n?e.diagnostics[0].message.localeCompare(t.diagnostics[0].message):-1:n?1:0}!function(e){e[e.IfSingle=1]="IfSingle",e[e.First=2]="First",e[e.Never=3]="Never"}(n||(n={})),Object(i.j)("_executeCodeActionProvider",(function(e,t){var o=t.resource,n=t.range;if(!(o instanceof w.a&&b.a.isIRange(n)))throw Object(T.b)();var i=e.get(k.a).getModel(o);if(!i)throw Object(T.b)();return R(i,i.validateRange(n),{type:"manual",filter:{includeSourceActions:!0}})}));var L,I=new g.f("supportedCodeAction",""),D=function(){function e(e,t,o,n,i){void 0===n&&(n=250);var r=this;this._editor=e,this._markerService=t,this._signalChange=o,this._progressService=i,this._disposables=[],this._disposables.push(Object(v.h)(this._markerService.onMarkerChanged,(function(e,t){return e?e.concat(t):t}),n/2)((function(e){return r._onMarkerChanges(e)})),Object(v.h)(this._editor.onDidChangeCursorPosition,(function(e,t){return t}),n)((function(e){return r._onCursorChange()})))}return e.prototype.dispose=function(){this._disposables=Object(r.d)(this._disposables)},e.prototype.trigger=function(e){var t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);return this._createEventAndSignalChange(e,t)},e.prototype._onMarkerChanges=function(e){for(var t=this._editor.getModel().uri,o=0,n=e;o<n.length;o++){if(n[o].toString()===t.toString())return void this.trigger({type:"auto"})}},e.prototype._onCursorChange=function(){this.trigger({type:"auto"})},e.prototype._getRangeOfMarker=function(e){for(var t=this._editor.getModel(),o=0,n=this._markerService.read({resource:t.uri});o<n.length;o++){var i=n[o];if(b.a.intersectRanges(i,e))return b.a.lift(i)}},e.prototype._getRangeOfSelectionUnlessWhitespaceEnclosed=function(e){var t=this._editor.getModel(),o=this._editor.getSelection();if(o.isEmpty()&&(!e.filter||!e.filter.includeSourceActions)){var n=o.getPosition(),i=n.lineNumber,r=n.column,s=t.getLineContent(i);if(0===s.length)return;if(1===r){if(/\s/.test(s[0]))return}else if(r===t.getLineMaxColumn(i)){if(/\s/.test(s[s.length-1]))return}else if(/\s/.test(s[r-2])&&/\s/.test(s[r-1]))return}return o},e.prototype._createEventAndSignalChange=function(e,t){if(t){var o=this._editor.getModel(),n=this._getRangeOfMarker(t),i=n?n.getStartPosition():t.getStartPosition(),r=Object(y.i)((function(n){return R(o,t,e,n)}));return this._progressService&&"manual"===e.type&&this._progressService.showWhile(a.b.wrap(r),250),this._signalChange({trigger:e,rangeOrSelection:t,position:i,actions:r}),r}return this._signalChange({trigger:e,rangeOrSelection:void 0,position:void 0,actions:void 0}),a.b.as(void 0)},e}(),A=function(){function e(e,t,o,n){var i=this;this._progressService=n,this._onDidChangeFixes=new v.a,this._disposables=[],this._editor=e,this._markerService=t,this._supportedCodeActions=I.bindTo(o),this._disposables.push(this._editor.onDidChangeModel((function(){return i._update()}))),this._disposables.push(this._editor.onDidChangeModelLanguage((function(){return i._update()}))),this._disposables.push(E.a.onDidChange(this._update,this)),this._update()}return e.prototype.dispose=function(){this._disposables=Object(r.d)(this._disposables),Object(r.d)(this._codeActionOracle)},Object.defineProperty(e.prototype,"onDidChangeFixes",{get:function(){return this._onDidChangeFixes.event},enumerable:!0,configurable:!0}),e.prototype._update=function(){var e=this;if(this._codeActionOracle&&(this._codeActionOracle.dispose(),this._codeActionOracle=void 0,this._onDidChangeFixes.fire(void 0)),this._editor.getModel()&&E.a.has(this._editor.getModel())&&!this._editor.getConfiguration().readOnly){for(var t=[],o=0,n=E.a.all(this._editor.getModel());o<n.length;o++){var i=n[o];Array.isArray(i.providedCodeActionKinds)&&t.push.apply(t,i.providedCodeActionKinds)}this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle=new D(this._editor,this._markerService,(function(t){return e._onDidChangeFixes.fire(t)}),void 0,this._progressService),this._codeActionOracle.trigger({type:"auto"})}else this._supportedCodeActions.reset()},e.prototype.trigger=function(e){return this._codeActionOracle?this._codeActionOracle.trigger(e):a.b.as(void 0)},e}(),P=o(1),M=o(78),x=o(9),B=function(){function e(e,t,o){this._editor=e,this._contextMenuService=t,this._onApplyCodeAction=o,this._onDidExecuteCodeAction=new v.a,this.onDidExecuteCodeAction=this._onDidExecuteCodeAction.event}return e.prototype.show=function(e,t){var o=this,n=e.then((function(e){return e.map((function(e){return new M.a(e.command?e.command.id:e.title,e.title,void 0,!0,(function(){return Object(y.g)(o._onApplyCodeAction(e),(function(){return o._onDidExecuteCodeAction.fire(void 0)}))}))}))})).then((function(e){return o._editor.getDomNode()?e:a.b.wrapError(Object(T.a)())}));this._contextMenuService.showContextMenu({getAnchor:function(){return x.a.isIPosition(t)&&(t=o._toCoords(t)),t},getActions:function(){return a.b.wrap(n)},onHide:function(){o._visible=!1,o._editor.focus()},autoSelectFirstItem:!0})},Object.defineProperty(e.prototype,"isVisible",{get:function(){return this._visible},enumerable:!0,configurable:!0}),e.prototype._toCoords=function(e){this._editor.revealPosition(e,1),this._editor.render();var t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),o=Object(P.u)(this._editor.getDomNode());return{x:o.left+t.left,y:o.top+t.top+t.height}},e}(),F=o(73),H=(o(433),o(16)),U=o(26),V=function(){function e(e){var t=this;this._disposables=[],this._onClick=new v.a,this.onClick=this._onClick.event,this._futureFixes=new S.b,this._domNode=document.createElement("div"),this._domNode.className="lightbulb-glyph",this._editor=e,this._editor.addContentWidget(this),this._disposables.push(this._editor.onDidChangeModel((function(e){return t._futureFixes.cancel()}))),this._disposables.push(this._editor.onDidChangeModelLanguage((function(e){return t._futureFixes.cancel()}))),this._disposables.push(this._editor.onDidChangeModelContent((function(e){t._model&&t.model.position.lineNumber>=t._editor.getModel().getLineCount()&&t._futureFixes.cancel()}))),this._disposables.push(P.j(this._domNode,"click",(function(e){t._editor.focus();var o=P.u(t._domNode),n=o.top,i=o.height,r=t._editor.getConfiguration().lineHeight,s=Math.floor(r/3);t._position&&t._position.position.lineNumber<t._model.position.lineNumber&&(s+=r),t._onClick.fire({x:e.posx,y:n+i+s})}))),this._disposables.push(P.g(this._domNode,"mouseenter",(function(e){if(1==(1&e.buttons)){t.hide();var o=new F.a;o.startMonitoring(F.b,(function(){}),(function(){o.dispose()}))}}))),this._disposables.push(this._editor.onDidChangeConfiguration((function(e){e.contribInfo&&!t._editor.getConfiguration().contribInfo.lightbulbEnabled&&t.hide()})))}return e.prototype.dispose=function(){Object(r.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"LightBulbWidget"},e.prototype.getDomNode=function(){return this._domNode},e.prototype.getPosition=function(){return this._position},Object.defineProperty(e.prototype,"model",{get:function(){return this._model},set:function(e){var t=this;!this._position||e.position&&this._position.position.lineNumber===e.position.lineNumber?this._futureFixes&&this._futureFixes.cancel():this.hide(),this._futureFixes=new S.b;var o=this._futureFixes.token;this._model=e;var n=this._model.rangeOrSelection;this._model.actions.then((function(e){!o.isCancellationRequested&&e&&e.length>0?n.isEmpty()&&e.every((function(e){return e.kind&&O.Refactor.contains(e.kind)}))?t.hide():t._show():t.hide()})).catch((function(e){t.hide()}))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"title",{get:function(){return this._domNode.title},set:function(e){this._domNode.title=e},enumerable:!0,configurable:!0}),e.prototype._show=function(){var t=this._editor.getConfiguration();if(t.contribInfo.lightbulbEnabled){var o=this._model.position.lineNumber,n=this._editor.getModel();if(n){var i=n.getOptions().tabSize,r=n.getLineContent(o),s=U.b.computeIndentLevel(r,i),a=o;t.fontInfo.spaceWidth*s>22||(o>1?a-=1:a+=1),this._position={position:{lineNumber:a,column:1},preference:e._posPref},this._editor.layoutContentWidget(this)}}},e.prototype.hide=function(){this._position=null,this._model=null,this._futureFixes.cancel(),this._editor.layoutContentWidget(this)},e._posPref=[H.a.EXACT],e}(),W=(L=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}L(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),j=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},G=function(e,t){return function(o,n){t(o,n,e)}},z=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},K=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}};function Y(e){return g.d.regex(I.keys()[0],new RegExp("(\\s|^)"+Object(s.escapeRegExpCharacters)(e.value)+"\\b"))}var X=function(){function e(e,t,o,n,i,r,s,a){var l=this;this._commandService=r,this._keybindingService=s,this._bulkEditService=a,this._disposables=[],this._editor=e,this._model=new A(this._editor,t,o,n),this._codeActionContextMenu=new B(e,i,(function(e){return l._onApplyCodeAction(e)})),this._lightBulbWidget=new V(e),this._updateLightBulbTitle(),this._disposables.push(this._codeActionContextMenu.onDidExecuteCodeAction((function(e){return l._model.trigger({type:"auto",filter:{}})})),this._lightBulbWidget.onClick(this._handleLightBulbSelect,this),this._model.onDidChangeFixes((function(e){return l._onCodeActionsEvent(e)})),this._keybindingService.onDidUpdateKeybindings(this._updateLightBulbTitle,this))}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._model.dispose(),Object(r.d)(this._disposables)},e.prototype._onCodeActionsEvent=function(e){var t=this;this._activeRequest&&(this._activeRequest.cancel(),this._activeRequest=void 0),e&&e.actions&&(this._activeRequest=e.actions),e&&e.actions&&e.trigger.filter&&e.trigger.filter.kind?e.actions.then((function(o){e.trigger.autoApply===n.First||e.trigger.autoApply===n.IfSingle&&1===o.length?t._onApplyCodeAction(o[0]):t._codeActionContextMenu.show(e.actions,e.position)})).catch(T.e):e&&"manual"===e.trigger.type?this._codeActionContextMenu.show(e.actions,e.position):e&&e.actions?this._codeActionContextMenu.isVisible?this._codeActionContextMenu.show(e.actions,e.position):this._lightBulbWidget.model=e:this._lightBulbWidget.hide()},e.prototype.getId=function(){return e.ID},e.prototype._handleLightBulbSelect=function(e){this._lightBulbWidget.model.actions&&this._codeActionContextMenu.show(this._lightBulbWidget.model.actions,e)},e.prototype.triggerFromEditorSelection=function(e,t){return this._model.trigger({type:"manual",filter:e,autoApply:t})},e.prototype._updateLightBulbTitle=function(){var e,t=this._keybindingService.lookupKeybinding($.Id);e=t?h.a("quickFixWithKb","Show Fixes ({0})",t.getLabel()):h.a("quickFix","Show Fixes"),this._lightBulbWidget.title=e},e.prototype._onApplyCodeAction=function(e){return a.b.wrap(function(e,t,o,n){return z(this,void 0,void 0,(function(){return K(this,(function(i){switch(i.label){case 0:return e.edit?[4,t.apply(e.edit,{editor:n})]:[3,2];case 1:i.sent(),i.label=2;case 2:return e.command?[4,o.executeCommand.apply(o,[e.command.id].concat(e.command.arguments))]:[3,4];case 3:i.sent(),i.label=4;case 4:return[2]}}))}))}(e,this._bulkEditService,this._commandService,this._editor))},e.ID="editor.contrib.quickFixController",e=j([G(1,m.a),G(2,g.e),G(3,_.a),G(4,p.a),G(5,d.b),G(6,f.a),G(7,l.a)],e)}();function q(e,t,o,n){var i=X.get(e);if(i){var r=e.getPosition();i.triggerFromEditorSelection(o,n).then((function(o){o&&o.length||c.a.get(e).showMessage(t,r)}))}}var $=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:2132,weight:100}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.quickFix.noneMessage","No code actions available"))},t.Id="editor.action.quickFix",t}(i.b),J=function(){function e(e,t){this.kind=e,this.apply=t}return e.fromUser=function(t){return t&&"object"==typeof t?new e(e.getKindFromUser(t),e.getApplyFromUser(t)):new e(O.Empty,n.IfSingle)},e.getApplyFromUser=function(e){switch("string"==typeof e.apply?e.apply.toLowerCase():""){case"first":return n.First;case"never":return n.Never;case"ifsingle":default:return n.IfSingle}},e.getKindFromUser=function(e){return"string"==typeof e.kind?new O(e.kind):O.Empty},e}(),Z=function(e){function t(){return e.call(this,{id:t.Id,precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider)})||this}return W(t,e),t.prototype.runEditorCommand=function(e,t,o){var n=J.fromUser(o);return q(t,h.a("editor.action.quickFix.noneMessage","No code actions available"),{kind:n.kind,includeSourceActions:!0},n.apply)},t.Id="editor.action.codeAction",t}(i.c),Q=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("refactor.label","Refactor..."),alias:"Refactor",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:3120,mac:{primary:1328},weight:100},menuOpts:{group:"1_modification",order:2,when:g.d.and(u.a.writable,Y(O.Refactor))}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.refactor.noneMessage","No refactorings available"),{kind:O.Refactor},n.Never)},t.Id="editor.action.refactor",t}(i.b),ee=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("source.label","Source Action..."),alias:"Source Action",precondition:g.d.and(u.a.writable,u.a.hasCodeActionsProvider),menuOpts:{group:"1_modification",order:2.1,when:g.d.and(u.a.writable,Y(O.Source))}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.source.noneMessage","No source actions available"),{kind:O.Source,includeSourceActions:!0},n.Never)},t.Id="editor.action.sourceAction",t}(i.b),te=function(e){function t(){return e.call(this,{id:t.Id,label:h.a("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:g.d.and(u.a.writable,Y(O.SourceOrganizeImports)),kbOpts:{kbExpr:u.a.editorTextFocus,primary:1581,weight:100}})||this}return W(t,e),t.prototype.run=function(e,t){return q(t,h.a("editor.action.organize.noneMessage","No organize imports action available"),{kind:O.SourceOrganizeImports,includeSourceActions:!0},n.IfSingle)},t.Id="editor.action.organizeImports",t}(i.b);Object(i.h)(X),Object(i.f)($),Object(i.f)(Q),Object(i.f)(ee),Object(i.f)(te),Object(i.g)(new Z)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(39),r=o(53),s=o(2),a=function(){function e(e,t){this.selection=e,this.descending=t}return e.prototype.getEditOperations=function(e,t){var o=function(e,t,o){var n=l(e,t,o);if(!n)return null;return r.a.replace(new s.a(n.startLineNumber,1,n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),n.after.join("\n"))}(e,this.selection,this.descending);o&&t.addEditOperation(o.range,o.text),this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e.canRun=function(e,t,o){var n=l(e,t,o);if(!n)return!1;for(var i=0,r=n.before.length;i<r;i++)if(n.before[i]!==n.after[i])return!0;return!1},e}();function l(e,t,o){var n=t.startLineNumber,i=t.endLineNumber;if(1===t.endColumn&&i--,n>=i)return null;for(var r=[],s=n;s<=i;s++)r.push(e.getLineContent(s));var a=r.slice(0);return a.sort((function(e,t){return e.toLowerCase().localeCompare(t.toLowerCase())})),!0===o&&(a=a.reverse()),{startLineNumber:n,endLineNumber:i,before:r,after:a}}var u=o(8),c=function(){function e(e,t){this.selection=e,this.cursors=t}return e.prototype.getEditOperations=function(e,t){for(var o=function(e,t){t.sort((function(e,t){return e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber}));for(var o=t.length-2;o>=0;o--)t[o].lineNumber===t[o+1].lineNumber&&t.splice(o,1);for(var n=[],i=0,a=0,l=t.length,c=1,h=e.getLineCount();c<=h;c++){var d=e.getLineContent(c),g=d.length+1,p=0;if(!(a<l&&t[a].lineNumber===c&&(p=t[a].column,a++,p===g))&&0!==d.length){var f=u.lastNonWhitespaceIndex(d),m=0;if(-1===f)m=1;else{if(f===d.length-1)continue;m=f+2}m=Math.max(p,m),n[i++]=r.a.delete(new s.a(c,m,c,g))}}return n}(e,this.cursors),n=0,i=o.length;n<i;n++){var a=o[n];t.addEditOperation(a.range,a.text)}this.selectionId=t.trackSelection(this.selection)},e.prototype.computeCursorState=function(e,t){return t.getTrackedSelection(this.selectionId)},e}();var h=o(5),d=o(43),g=o(23),p=o(9),f=o(3),m=function(){function e(e,t){this._selection=e,this._isCopyingDown=t}return e.prototype.getEditOperations=function(e,t){var o=this._selection;this._startLineNumberDelta=0,this._endLineNumberDelta=0,o.startLineNumber<o.endLineNumber&&1===o.endColumn&&(this._endLineNumberDelta=1,o=o.setEndPosition(o.endLineNumber-1,e.getLineMaxColumn(o.endLineNumber-1)));for(var n=[],i=o.startLineNumber;i<=o.endLineNumber;i++)n.push(e.getLineContent(i));var r=n.join("\n");""===r&&this._isCopyingDown&&(this._startLineNumberDelta++,this._endLineNumberDelta++),this._isCopyingDown?t.addEditOperation(new s.a(o.startLineNumber,1,o.startLineNumber,1),r+"\n"):t.addEditOperation(new s.a(o.endLineNumber,e.getLineMaxColumn(o.endLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),"\n"+r),this._selectionId=t.trackSelection(o),this._selectionDirection=this._selection.getDirection()},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);if(0!==this._startLineNumberDelta||0!==this._endLineNumberDelta){var n=o.startLineNumber,i=o.startColumn,r=o.endLineNumber,s=o.endColumn;0!==this._startLineNumberDelta&&(n+=this._startLineNumberDelta,i=1),0!==this._endLineNumberDelta&&(r+=this._endLineNumberDelta,s=1),o=g.a.createWithDirection(n,i,r,s,this._selectionDirection)}return o},e}(),_=function(){function e(e,t,o){this.startLineNumber=e,this.endLineNumber=t,this.restoreCursorToColumn=o}return e.prototype.getEditOperations=function(e,t){if(1!==e.getLineCount()||1!==e.getLineMaxColumn(1)){var o=this.startLineNumber,n=this.endLineNumber,i=1,r=e.getLineMaxColumn(n);n<e.getLineCount()?(n+=1,r=1):o>1&&(o-=1,i=e.getLineMaxColumn(o)),t.addTrackedEditOperation(new s.a(o,i,n,r),null)}},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return new g.a(o.endLineNumber,this.restoreCursorToColumn,o.endLineNumber,this.restoreCursorToColumn)},e}(),y=o(32),v=o(126);function b(e,t){for(var o=0,n=0;n<e.length;n++)"\t"===e.charAt(n)?o+=t:o++;return o}function E(e,t,o){e=e<0?0:e;var n="";if(!o){var i=Math.floor(e/t);e%=t;for(var r=0;r<i;r++)n+="\t"}for(r=0;r<e;r++)n+=" ";return n}var C=o(44),S=function(){function e(e,t,o){this._selection=e,this._isMovingDown=t,this._autoIndent=o,this._moveEndLineSelectionShrink=!1}return e.prototype.getEditOperations=function(e,t){var o=e.getLineCount();if((!this._isMovingDown||this._selection.endLineNumber!==o)&&(this._isMovingDown||1!==this._selection.startLineNumber)){this._moveEndPositionDown=!1;var n=this._selection;n.startLineNumber<n.endLineNumber&&1===n.endColumn&&(this._moveEndPositionDown=!0,n=n.setEndPosition(n.endLineNumber-1,e.getLineMaxColumn(n.endLineNumber-1)));var i=e.getOptions().tabSize,r=e.getOptions().insertSpaces,a=this.buildIndentConverter(i),l={getLineTokens:function(t){return e.getLineTokens(t)},getLanguageIdentifier:function(){return e.getLanguageIdentifier()},getLanguageIdAtPosition:function(t,o){return e.getLanguageIdAtPosition(t,o)},getLineContent:null};if(n.startLineNumber===n.endLineNumber&&1===e.getLineMaxColumn(n.startLineNumber)){var c=n.startLineNumber,h=this._isMovingDown?c+1:c-1;1===e.getLineMaxColumn(h)?t.addEditOperation(new s.a(1,1,1,1),null):(t.addEditOperation(new s.a(c,1,c,1),e.getLineContent(h)),t.addEditOperation(new s.a(h,1,h,e.getLineMaxColumn(h)),null)),n=new g.a(h,1,h,1)}else{var d,p=void 0;if(this._isMovingDown){d=n.endLineNumber+1,p=e.getLineContent(d),t.addEditOperation(new s.a(d-1,e.getLineMaxColumn(d-1),d,e.getLineMaxColumn(d)),null);var f=p;if(this.shouldAutoIndent(e,n)){var m=this.matchEnterRule(e,a,i,d,n.startLineNumber-1);if(null!==m){var _=E(O=m+b(C=u.getLeadingWhitespace(e.getLineContent(d)),i),i,r);f=_+this.trimLeft(p)}else{l.getLineContent=function(t){return t===n.startLineNumber?e.getLineContent(d):e.getLineContent(t)};var v=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber,a);if(null!==v){var C=u.getLeadingWhitespace(e.getLineContent(d));if((O=b(v,i))!==(R=b(C,i))){_=E(O,i,r);f=_+this.trimLeft(p)}}}if(t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n"),null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber,f)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{l.getLineContent=function(t){return t===n.startLineNumber?f:t>=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t)};var S=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(d,1),n.startLineNumber+1,a);if(null!==S){C=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(S,i))!==(R=b(C,i))){var T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}else t.addEditOperation(new s.a(n.startLineNumber,1,n.startLineNumber,1),f+"\n")}else{var w;if(d=n.startLineNumber-1,p=e.getLineContent(d),t.addEditOperation(new s.a(d,1,d+1,1),null),t.addEditOperation(new s.a(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+p),this.shouldAutoIndent(e,n))if(l.getLineContent=function(t){return t===d?e.getLineContent(n.startLineNumber):e.getLineContent(t)},null!==(w=this.matchEnterRule(e,a,i,n.startLineNumber,n.startLineNumber-2)))0!==w&&this.getIndentEditsOfMovingBlock(e,t,n,i,r,w);else{var k=y.a.getGoodIndentForLine(l,e.getLanguageIdAtPosition(n.startLineNumber,1),d,a);if(null!==k){var O,R,N=u.getLeadingWhitespace(e.getLineContent(n.startLineNumber));if((O=b(k,i))!==(R=b(N,i))){T=O-R;this.getIndentEditsOfMovingBlock(e,t,n,i,r,T)}}}}}this._selectionId=t.trackSelection(n)}},e.prototype.buildIndentConverter=function(e){return{shiftIndent:function(t){for(var o=v.a.shiftIndentCount(t,t.length+1,e),n="",i=0;i<o;i++)n+="\t";return n},unshiftIndent:function(t){for(var o=v.a.unshiftIndentCount(t,t.length+1,e),n="",i=0;i<o;i++)n+="\t";return n}}},e.prototype.matchEnterRule=function(e,t,o,n,i,r){for(var a=i;a>=1;){var l=void 0;if(l=a===i&&void 0!==r?r:e.getLineContent(a),u.lastNonWhitespaceIndex(l)>=0)break;a--}if(a<1||n>e.getLineCount())return null;var c=e.getLineMaxColumn(a),h=y.a.getEnterAction(e,new s.a(a,c,a,c));if(h){var d=h.indentation,g=h.enterAction;g.indentAction===C.a.None?d=h.indentation+g.appendText:g.indentAction===C.a.Indent?d=h.indentation+g.appendText:g.indentAction===C.a.IndentOutdent?d=h.indentation:g.indentAction===C.a.Outdent&&(d=t.unshiftIndent(h.indentation)+g.appendText);var p=e.getLineContent(n);if(this.trimLeft(p).indexOf(this.trimLeft(d))>=0){var f=u.getLeadingWhitespace(e.getLineContent(n)),m=u.getLeadingWhitespace(d);return 2&y.a.getIndentMetadata(e,n)&&(m=t.unshiftIndent(m)),b(m,o)-b(f,o)}}return null},e.prototype.trimLeft=function(e){return e.replace(/^\s+/,"")},e.prototype.shouldAutoIndent=function(e,t){if(!this._autoIndent)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;var o=e.getLanguageIdAtPosition(t.startLineNumber,1);return o===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==y.a.getIndentRulesSupport(o)},e.prototype.getIndentEditsOfMovingBlock=function(e,t,o,n,i,r){for(var a=o.startLineNumber;a<=o.endLineNumber;a++){var l=e.getLineContent(a),c=u.getLeadingWhitespace(l),h=E(b(c,n)+r,n,i);h!==c&&(t.addEditOperation(new s.a(a,1,a,c.length+1),h),a===o.endLineNumber&&o.endColumn<=c.length+1&&""===h&&(this._moveEndLineSelectionShrink=!0))}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&o.startLineNumber<o.endLineNumber&&(o=o.setEndPosition(o.endLineNumber,2)),o},e}(),T=o(95),w=o(72),k=o(38);o.d(t,"AbstractSortLinesAction",(function(){return M})),o.d(t,"SortLinesAscendingAction",(function(){return x})),o.d(t,"SortLinesDescendingAction",(function(){return B})),o.d(t,"TrimTrailingWhitespaceAction",(function(){return F})),o.d(t,"IndentLinesAction",(function(){return U})),o.d(t,"InsertLineBeforeAction",(function(){return W})),o.d(t,"InsertLineAfterAction",(function(){return j})),o.d(t,"AbstractDeleteAllToBoundaryAction",(function(){return G})),o.d(t,"DeleteAllLeftAction",(function(){return z})),o.d(t,"DeleteAllRightAction",(function(){return K})),o.d(t,"JoinLinesAction",(function(){return Y})),o.d(t,"TransposeAction",(function(){return X})),o.d(t,"AbstractCaseAction",(function(){return q})),o.d(t,"UpperCaseAction",(function(){return $})),o.d(t,"LowerCaseAction",(function(){return J}));var O,R=(O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}O(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),N=function(e){function t(t,o){var n=e.call(this,o)||this;return n.down=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new m(n[i],this.down));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(f.b),L=function(e){function t(){return e.call(this,!1,{id:"editor.action.copyLinesUpAction",label:n.a("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})||this}return R(t,e),t}(N),I=function(e){function t(){return e.call(this,!0,{id:"editor.action.copyLinesDownAction",label:n.a("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})||this}return R(t,e),t}(N),D=function(e){function t(t,o){var n=e.call(this,o)||this;return n.down=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=t.getConfiguration().autoIndent,r=0;r<n.length;r++)o.push(new S(n[r],this.down,i));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(f.b),A=function(e){function t(){return e.call(this,!1,{id:"editor.action.moveLinesUpAction",label:n.a("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:528,linux:{primary:528},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})||this}return R(t,e),t}(D),P=function(e){function t(){return e.call(this,!0,{id:"editor.action.moveLinesDownAction",label:n.a("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:530,linux:{primary:530},weight:100},menubarOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})||this}return R(t,e),t}(D),M=function(e){function t(t,o){var n=e.call(this,o)||this;return n.descending=t,n}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=0,i=o.length;n<i;n++){var r=o[n];if(!a.canRun(t.getModel(),r,this.descending))return}var s=[];for(n=0,i=o.length;n<i;n++)s[n]=new a(o[n],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()},t}(f.b),x=function(e){function t(){return e.call(this,!1,{id:"editor.action.sortLinesAscending",label:n.a("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:h.a.writable})||this}return R(t,e),t}(M),B=function(e){function t(){return e.call(this,!0,{id:"editor.action.sortLinesDescending",label:n.a("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:h.a.writable})||this}return R(t,e),t}(M),F=function(e){function t(){return e.call(this,{id:t.ID,label:n.a("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:Object(i.a)(2089,2102),weight:100}})||this}return R(t,e),t.prototype.run=function(e,t,o){var n=[];"auto-save"===o.reason&&(n=t.getSelections().map((function(e){return new p.a(e.positionLineNumber,e.positionColumn)})));var i=new c(t.getSelection(),n);t.pushUndoStop(),t.executeCommands(this.id,[i]),t.pushUndoStop()},t.ID="editor.action.trimTrailingWhitespace",t}(f.b),H=function(e){function t(){return e.call(this,{id:"editor.action.deleteLines",label:n.a("lines.delete","Delete Line"),alias:"Delete Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:3113,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){var o=this._getLinesToRemove(t).map((function(e){return new _(e.startLineNumber,e.endLineNumber,e.positionColumn)}));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t.prototype._getLinesToRemove=function(e){var t=e.getSelections().map((function(e){var t=e.endLineNumber;return e.startLineNumber<e.endLineNumber&&1===e.endColumn&&(t-=1),{startLineNumber:e.startLineNumber,endLineNumber:t,positionColumn:e.positionColumn}}));t.sort((function(e,t){return e.startLineNumber-t.startLineNumber}));for(var o=[],n=t[0],i=1;i<t.length;i++)n.endLineNumber+1===t[i].startLineNumber?n.endLineNumber=t[i].endLineNumber:(o.push(n),n=t[i]);return o.push(n),o},t}(f.b),U=function(e){function t(){return e.call(this,{id:"editor.action.indentLines",label:n.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2137,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.indent(t._getCursorConfiguration(),t.getModel(),t.getSelections())),t.pushUndoStop()},t}(f.b),V=function(e){function t(){return e.call(this,{id:"editor.action.outdentLines",label:n.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2135,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){w.CoreEditingCommands.Outdent.runEditorCommand(null,t,null)},t}(f.b),W=function(e){function t(){return e.call(this,{id:"editor.action.insertLineBefore",label:n.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:3075,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.lineInsertBefore(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(f.b),j=function(e){function t(){return e.call(this,{id:"editor.action.insertLineAfter",label:n.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:2051,weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){t.pushUndoStop(),t.executeCommands(this.id,T.a.lineInsertAfter(t._getCursorConfiguration(),t.getModel(),t.getSelections()))},t}(f.b),G=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelection(),n=this._getRangesToDelete(t),i=[],a=0,l=n.length-1;a<l;a++){var u=n[a],c=n[a+1];null===s.a.intersectRanges(u,c)?i.push(u):n[a+1]=s.a.plusRange(u,c)}i.push(n[n.length-1]);var h=this._getEndCursorState(o,i),d=i.map((function(e){return r.a.replace(e,"")}));t.pushUndoStop(),t.executeEdits(this.id,d,h),t.pushUndoStop()},t}(f.b),z=function(e){function t(){return e.call(this,{id:"deleteAllLeft",label:n.a("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:2049},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){var o,n=[],i=0;return t.forEach((function(t){var r;if(1===t.endColumn&&i>0){var s=t.startLineNumber-i;r=new g.a(s,t.startColumn,s,t.startColumn)}else r=new g.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);i+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?o=r:n.push(r)})),o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getSelections(),o=e.getModel();return t.sort(s.a.compareRangesUsingStarts),t=t.map((function(e){if(e.isEmpty()){if(1===e.startColumn){var t=Math.max(1,e.startLineNumber-1),n=1===e.startLineNumber?1:o.getLineContent(t).length+1;return new s.a(t,n,e.startLineNumber,1)}return new s.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return e}))},t}(G),K=function(e){function t(){return e.call(this,{id:"deleteAllRight",label:n.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:h.a.writable,kbOpts:{kbExpr:h.a.textInputFocus,primary:null,mac:{primary:297,secondary:[2068]},weight:100}})||this}return R(t,e),t.prototype._getEndCursorState=function(e,t){for(var o,n=[],i=0,r=t.length;i<r;i++){var s=t[i],a=new g.a(s.startLineNumber-0,s.startColumn,s.startLineNumber-0,s.startColumn);s.intersectRanges(e)?o=a:n.push(a)}return o&&n.unshift(o),n},t.prototype._getRangesToDelete=function(e){var t=e.getModel(),o=e.getSelections().map((function(e){if(e.isEmpty()){var o=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===o?new s.a(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new s.a(e.startLineNumber,e.startColumn,e.startLineNumber,o)}return e}));return o.sort(s.a.compareRangesUsingStarts),o},t}(G),Y=function(e){function t(){return e.call(this,{id:"editor.action.joinLines",label:n.a("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:h.a.writable,kbOpts:{kbExpr:h.a.editorTextFocus,primary:0,mac:{primary:296},weight:100}})||this}return R(t,e),t.prototype.run=function(e,t){var o=t.getSelections(),n=t.getSelection();o.sort(s.a.compareRangesUsingStarts);var i=[],a=o.reduce((function(e,t){return e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(i.push(e),t):new g.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn)}));i.push(a);for(var l=t.getModel(),u=[],c=[],h=n,d=0,p=0,f=i.length;p<f;p++){var m=i[p],_=m.startLineNumber,y=0,v=void 0,b=void 0,E=l.getLineContent(m.endLineNumber).length-m.endColumn;if(m.isEmpty()||m.startLineNumber===m.endLineNumber){var C=m.getStartPosition();C.lineNumber<l.getLineCount()?(v=_+1,b=l.getLineMaxColumn(v)):(v=C.lineNumber,b=l.getLineMaxColumn(C.lineNumber))}else v=m.endLineNumber,b=l.getLineMaxColumn(v);for(var S=l.getLineContent(_),T=_+1;T<=v;T++){var w=l.getLineContent(T),k=l.getLineFirstNonWhitespaceColumn(T);if(k>=1){var O=!0;""===S&&(O=!1),!O||" "!==S.charAt(S.length-1)&&"\t"!==S.charAt(S.length-1)||(O=!1,S=S.replace(/[\s\uFEFF\xA0]+$/g," "));var R=w.substr(k-1);S+=(O?" ":"")+R,y=O?R.length+1:R.length}else y=0}var N=new s.a(_,1,v,b);if(!N.isEmpty()){var L=void 0;m.isEmpty()?(u.push(r.a.replace(N,S)),L=new g.a(N.startLineNumber-d,S.length-y+1,_-d,S.length-y+1)):m.startLineNumber===m.endLineNumber?(u.push(r.a.replace(N,S)),L=new g.a(m.startLineNumber-d,m.startColumn,m.endLineNumber-d,m.endColumn)):(u.push(r.a.replace(N,S)),L=new g.a(m.startLineNumber-d,m.startColumn,m.startLineNumber-d,S.length-E)),null!==s.a.intersectRanges(N,n)?h=L:c.push(L)}d+=N.endLineNumber-N.startLineNumber}c.unshift(h),t.pushUndoStop(),t.executeEdits(this.id,u,c),t.pushUndoStop()},t}(f.b),X=function(e){function t(){return e.call(this,{id:"editor.action.transpose",label:n.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:h.a.writable})||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r<a;r++){var l=o[r];if(l.isEmpty()){var u=l.getStartPosition(),c=n.getLineMaxColumn(u.lineNumber);if(u.column>=c){if(u.lineNumber===n.getLineCount())continue;var h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.a(new g.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber+1,1),p))}else{h=new s.a(u.lineNumber,Math.max(1,u.column-1),u.lineNumber,u.column+1),p=n.getValueInRange(h).split("").reverse().join("");i.push(new d.b(h,p,new g.a(u.lineNumber,u.column+1,u.lineNumber,u.column+1)))}}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),q=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return R(t,e),t.prototype.run=function(e,t){for(var o=t.getSelections(),n=t.getModel(),i=[],r=0,a=o.length;r<a;r++){var l=o[r];if(l.isEmpty()){var u=l.getStartPosition(),c=n.getWordAtPosition(u);if(!c)continue;var h=new s.a(u.lineNumber,c.startColumn,u.lineNumber,c.endColumn),p=n.getValueInRange(h);i.push(new d.b(h,this._modifyText(p),new g.a(u.lineNumber,u.column,u.lineNumber,u.column)))}else{p=n.getValueInRange(l);i.push(new d.b(l,this._modifyText(p),l))}}t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()},t}(f.b),$=function(e){function t(){return e.call(this,{id:"editor.action.transformToUppercase",label:n.a("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:h.a.writable})||this}return R(t,e),t.prototype._modifyText=function(e){return e.toLocaleUpperCase()},t}(q),J=function(e){function t(){return e.call(this,{id:"editor.action.transformToLowercase",label:n.a("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:h.a.writable})||this}return R(t,e),t.prototype._modifyText=function(e){return e.toLocaleLowerCase()},t}(q);Object(f.f)(L),Object(f.f)(I),Object(f.f)(A),Object(f.f)(P),Object(f.f)(x),Object(f.f)(B),Object(f.f)(F),Object(f.f)(H),Object(f.f)(U),Object(f.f)(V),Object(f.f)(W),Object(f.f)(j),Object(f.f)(z),Object(f.f)(K),Object(f.f)(Y),Object(f.f)(X),Object(f.f)($),Object(f.f)(J)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(6),r=o(22),s=o(5),a=o(12),l=o(3),u=(o(481),o(10)),c=o(1),h=o(58),d=o(11),g=o(16),p=o(17),f=o(13),m=o(4),_=o(50),y=o(48),v={Visible:new a.f("parameterHintsVisible",!1),MultipleSignatures:new a.f("parameterHintsMultipleSignatures",!1)};function b(e,t,o){var n=d.t.ordered(e);return Object(p.k)(n.map((function(n){return function(){return Promise.resolve(n.provideSignatureHelp(e,t,o)).catch(f.f)}})))}Object(l.e)("_executeSignatureHelpProvider",(function(e,t){return b(e,t,y.a.None)}));var E,C=o(81),S=o(116),T=o(19),w=o(7),k=o(82),O=o(89),R=o(160),N=(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),L=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=c.a,A=function(e){function t(o){var n=e.call(this)||this;return n._onHint=n._register(new m.a),n.onHint=n._onHint.event,n._onCancel=n._register(new m.a),n.onCancel=n._onCancel.event,n.editor=o,n.enabled=!1,n.triggerCharactersListeners=[],n.throttledDelayer=new p.c((function(){return n.doTrigger()}),t.DELAY),n.active=!1,n._register(n.editor.onDidChangeConfiguration((function(){return n.onEditorConfigurationChange()}))),n._register(n.editor.onDidChangeModel((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeModelLanguage((function(e){return n.onModelChanged()}))),n._register(n.editor.onDidChangeCursorSelection((function(e){return n.onCursorChange(e)}))),n._register(n.editor.onDidChangeModelContent((function(e){return n.onModelContentChange()}))),n._register(d.t.onDidChange(n.onModelChanged,n)),n.onEditorConfigurationChange(),n.onModelChanged(),n}return N(t,e),t.prototype.cancel=function(e){void 0===e&&(e=!1),this.active=!1,this.throttledDelayer.cancel(),e||this._onCancel.fire(void 0),this.provideSignatureHelpRequest&&(this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=void 0)},t.prototype.trigger=function(e){if(void 0===e&&(e=t.DELAY),d.t.has(this.editor.getModel()))return this.cancel(!0),this.throttledDelayer.schedule(e)},t.prototype.doTrigger=function(){var e=this;this.provideSignatureHelpRequest&&this.provideSignatureHelpRequest.cancel(),this.provideSignatureHelpRequest=Object(p.i)((function(t){return b(e.editor.getModel(),e.editor.getPosition(),t)})),this.provideSignatureHelpRequest.then((function(t){if(!t||!t.signatures||0===t.signatures.length)return e.cancel(),e._onCancel.fire(void 0),!1;e.active=!0;var o={hints:t};return e._onHint.fire(o),!0})).catch(f.e)},t.prototype.isTriggered=function(){return this.active||this.throttledDelayer.isScheduled()},t.prototype.onModelChanged=function(){var e=this;this.cancel(),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners);var t=this.editor.getModel();if(t){for(var o=new S.b,n=0,r=d.t.ordered(t);n<r.length;n++){var s=r[n];if(Array.isArray(s.signatureHelpTriggerCharacters))for(var a=0,l=s.signatureHelpTriggerCharacters;a<l.length;a++){var u=l[a];o.add(u.charCodeAt(0))}}this.triggerCharactersListeners.push(this.editor.onDidType((function(t){e.enabled&&o.has(t.charCodeAt(t.length-1))&&e.trigger()})))}},t.prototype.onCursorChange=function(e){"mouse"===e.source?this.cancel():this.isTriggered()&&this.trigger()},t.prototype.onModelContentChange=function(){this.isTriggered()&&this.trigger()},t.prototype.onEditorConfigurationChange=function(){this.enabled=this.editor.getConfiguration().contribInfo.parameterHints,this.enabled||this.cancel()},t.prototype.dispose=function(){this.cancel(!0),this.triggerCharactersListeners=Object(i.d)(this.triggerCharactersListeners),e.prototype.dispose.call(this)},t.DELAY=120,t}(i.a),P=function(){function e(e,t,o,n){var i=this;this.editor=e,this.allowEditorOverflow=!0,this.markdownRenderer=new R.a(e,n,o),this.model=new A(e),this.keyVisible=v.Visible.bindTo(t),this.keyMultipleSignatures=v.MultipleSignatures.bindTo(t),this.visible=!1,this.disposables=[],this.disposables.push(this.model.onHint((function(e){i.show(),i.hints=e.hints,i.currentSignature=e.hints.activeSignature,i.render()}))),this.disposables.push(this.model.onCancel((function(){i.hide()})))}return e.prototype.createParamaterHintDOMNodes=function(){var e=this;this.element=D(".editor-widget.parameter-hints-widget");var t=c.k(this.element,D(".wrapper")),o=c.k(t,D(".buttons")),n=c.k(o,D(".button.previous")),i=c.k(o,D(".button.next"));Object(_.b)(Object(_.a)(n,"click"))(this.previous,this,this.disposables),Object(_.b)(Object(_.a)(i,"click"))(this.next,this,this.disposables),this.overloads=c.k(t,D(".overloads"));var r=D(".body");this.scrollbar=new C.a(r,{}),this.disposables.push(this.scrollbar),t.appendChild(this.scrollbar.getDomNode()),this.signature=c.k(r,D(".signature")),this.docs=c.k(r,D(".docs")),this.currentSignature=0,this.editor.addContentWidget(this),this.hide(),this.disposables.push(this.editor.onDidChangeCursorSelection((function(t){e.visible&&e.editor.layoutContentWidget(e)})));var s=function(){var t=e.editor.getConfiguration().fontInfo;e.element.style.fontSize=t.fontSize+"px"};s(),Object(m.g)(this.editor.onDidChangeConfiguration.bind(this.editor)).filter((function(e){return e.fontInfo})).on(s,null,this.disposables),this.disposables.push(this.editor.onDidLayoutChange((function(t){return e.updateMaxHeight()}))),this.updateMaxHeight()},e.prototype.show=function(){var e=this;this.model&&!this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,u.b.timeout(100).done((function(){return c.f(e.element,"visible")})),this.editor.layoutContentWidget(this))},e.prototype.hide=function(){this.model&&this.visible&&(this.element||this.createParamaterHintDOMNodes(),this.keyVisible.reset(),this.visible=!1,this.hints=null,this.announcedLabel=null,c.G(this.element,"visible"),this.editor.layoutContentWidget(this))},e.prototype.getPosition=function(){return this.visible?{position:this.editor.getPosition(),preference:[g.a.ABOVE,g.a.BELOW]}:null},e.prototype.render=function(){var e=this.hints.signatures.length>1;c.N(this.element,"multiple",e),this.keyMultipleSignatures.set(e),this.signature.innerHTML="",this.docs.innerHTML="";var t=this.hints.signatures[this.currentSignature];if(t){var o=c.k(this.signature,D(".code")),r=t.parameters.length>0,s=this.editor.getConfiguration().fontInfo;if(o.style.fontSize=s.fontSize+"px",o.style.fontFamily=s.fontFamily,r)this.renderParameters(o,t,this.hints.activeParameter);else c.k(o,D("span")).textContent=t.label;Object(i.d)(this.renderDisposeables),this.renderDisposeables=[];var a=t.parameters[this.hints.activeParameter];if(a&&a.documentation){var l=D("span.documentation");if("string"==typeof a.documentation)l.textContent=a.documentation;else{var u=this.markdownRenderer.render(a.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),l.appendChild(u.element)}c.k(this.docs,D("p",null,l))}if(c.N(this.signature,"has-docs",!!t.documentation),"string"==typeof t.documentation)c.k(this.docs,D("p",null,t.documentation));else{u=this.markdownRenderer.render(t.documentation);c.f(u.element,"markdown-docs"),this.renderDisposeables.push(u),c.k(this.docs,u.element)}var d=String(this.currentSignature+1);if(this.hints.signatures.length<10&&(d+="/"+this.hints.signatures.length),this.overloads.textContent=d,a){var g=a.label;this.announcedLabel!==g&&(h.a(n.a("hint","{0}, hint",g)),this.announcedLabel=g)}this.editor.layoutContentWidget(this),this.scrollbar.scanDomNode()}},e.prototype.renderParameters=function(e,t,o){for(var n,i=t.label.length,r=0,s=t.parameters.length-1;s>=0;s--){var a=t.parameters[s],l=0,u=0;(r=t.label.lastIndexOf(a.label,i-1))>=0&&(l=r,u=r+a.label.length),(n=document.createElement("span")).textContent=t.label.substring(u,i),c.E(e,n),(n=document.createElement("span")).className="parameter "+(s===o?"active":""),n.textContent=t.label.substring(l,u),c.E(e,n),i=l}(n=document.createElement("span")).textContent=t.label.substring(0,i),c.E(e,n)},e.prototype.next=function(){var e=this.hints.signatures.length,t=this.currentSignature%e==e-1;return e<2||t?(this.cancel(),!1):(this.currentSignature++,this.render(),!0)},e.prototype.previous=function(){var e=this.hints.signatures.length,t=0===this.currentSignature;return e<2||t?(this.cancel(),!1):(this.currentSignature--,this.render(),!0)},e.prototype.cancel=function(){this.model.cancel()},e.prototype.getDomNode=function(){return this.element},e.prototype.getId=function(){return e.ID},e.prototype.trigger=function(){this.model.trigger(0)},e.prototype.updateMaxHeight=function(){var e=Math.max(this.editor.getLayoutInfo().height/4,250);this.element.style.maxHeight=e+"px"},e.prototype.dispose=function(){this.disposables=Object(i.d)(this.disposables),this.renderDisposeables=Object(i.d)(this.renderDisposeables),this.model&&(this.model.dispose(),this.model=null)},e.ID="editor.widget.parameterHintsWidget",e=L([I(1,a.e),I(2,k.a),I(3,O.a)],e)}();Object(T.e)((function(e,t){var o=e.getColor(w.w);if(o){var n=e.type===T.b?2:1;t.addRule(".monaco-editor .parameter-hints-widget { border: "+n+"px solid "+o+"; }"),t.addRule(".monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid "+o.transparent(.5)+"; }"),t.addRule(".monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid "+o.transparent(.5)+"; }")}var i=e.getColor(w.v);i&&t.addRule(".monaco-editor .parameter-hints-widget { background-color: "+i+"; }");var r=e.getColor(w.qb);r&&t.addRule(".monaco-editor .parameter-hints-widget a { color: "+r+"; }");var s=e.getColor(w.pb);s&&t.addRule(".monaco-editor .parameter-hints-widget code { background-color: "+s+"; }")})),o.d(t,"TriggerParameterHintsAction",(function(){return H}));var M=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),x=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){this.editor=e,this.widget=t.createInstance(P,this.editor)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.cancel=function(){this.widget.cancel()},e.prototype.previous=function(){this.widget.previous()},e.prototype.next=function(){this.widget.next()},e.prototype.trigger=function(){this.widget.trigger()},e.prototype.dispose=function(){this.widget=Object(i.d)(this.widget)},e.ID="editor.controller.parameterHints",e=x([B(1,r.a)],e)}(),H=function(e){function t(){return e.call(this,{id:"editor.action.triggerParameterHints",label:n.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})||this}return M(t,e),t.prototype.run=function(e,t){var o=F.get(t);o&&o.trigger()},t}(l.b);Object(l.h)(F),Object(l.f)(H);var U=l.c.bindToContribution(F.get);Object(l.g)(new U({id:"closeParameterHints",precondition:v.Visible,handler:function(e){return e.cancel()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:9,secondary:[1033]}})),Object(l.g)(new U({id:"showPrevParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.previous()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(l.g)(new U({id:"showNextParameterHint",precondition:a.d.and(v.Visible,v.MultipleSignatures),handler:function(e){return e.next()},kbOpts:{weight:175,kbExpr:s.a.editorTextFocus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(39),s=o(5),a=o(3),l=o(53),u=o(9),c=o(2),h=o(23),d=o(32),g=function(){function e(e){this._selection=e,this._usedEndToken=null}return e._haystackHasNeedleAtOffset=function(e,t,o){if(o<0)return!1;var n=t.length;if(o+n>e.length)return!1;for(var i=0;i<n;i++){var r=e.charCodeAt(o+i),s=t.charCodeAt(i);if(r!==s&&!(r>=65&&r<=90&&r+32===s||s>=65&&s<=90&&s+32===r))return!1}return!0},e.prototype._createOperationsForBlockComment=function(t,o,n,i){var r,s=t.startLineNumber,a=t.startColumn,l=t.endLineNumber,u=t.endColumn,h=n.getLineContent(s),d=n.getLineContent(l),g=o.blockCommentStartToken,p=o.blockCommentEndToken,f=h.lastIndexOf(g,a-1+g.length),m=d.indexOf(p,u-1-p.length);if(-1!==f&&-1!==m)if(s===l){h.substring(f+g.length,m).indexOf(p)>=0&&(f=-1,m=-1)}else{var _=h.substring(f+g.length),y=d.substring(0,m);(_.indexOf(p)>=0||y.indexOf(p)>=0)&&(f=-1,m=-1)}-1!==f&&-1!==m?(f+g.length<h.length&&32===h.charCodeAt(f+g.length)&&(g+=" "),m>0&&32===d.charCodeAt(m-1)&&(p=" "+p,m-=1),r=e._createRemoveBlockCommentOperations(new c.a(s,f+g.length+1,l,m+1),g,p)):(r=e._createAddBlockCommentOperations(t,g,p),this._usedEndToken=1===r.length?p:null);for(var v=0;v<r.length;v++)i.addTrackedEditOperation(r[v].range,r[v].text)},e._createRemoveBlockCommentOperations=function(e,t,o){var n=[];return c.a.isEmpty(e)?n.push(l.a.delete(new c.a(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+o.length))):(n.push(l.a.delete(new c.a(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(l.a.delete(new c.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+o.length)))),n},e._createAddBlockCommentOperations=function(e,t,o){var n=[];return c.a.isEmpty(e)?n.push(l.a.replace(new c.a(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+"  "+o)):(n.push(l.a.insert(new u.a(e.startLineNumber,e.startColumn),t+" ")),n.push(l.a.insert(new u.a(e.endLineNumber,e.endColumn)," "+o))),n},e.prototype.getEditOperations=function(e,t){var o=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenizeIfCheap(o);var i=e.getLanguageIdAtPosition(o,n),r=d.a.getComments(i);r&&r.blockCommentStartToken&&r.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,r,e,t)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations();if(2===o.length){var n=o[0],i=o[1];return new h.a(n.range.endLineNumber,n.range.endColumn,i.range.startLineNumber,i.range.startColumn)}var r=o[0].range,s=this._usedEndToken?-this._usedEndToken.length-1:0;return new h.a(r.endLineNumber,r.endColumn+s,r.endLineNumber,r.endColumn+s)},e}(),p=o(8),f=function(){function e(e,t,o){this._selection=e,this._tabSize=t,this._type=o,this._deltaColumn=0}return e._gatherPreflightCommentStrings=function(e,t,o){e.tokenizeIfCheap(t);var n=e.getLanguageIdAtPosition(t,1),i=d.a.getComments(n),r=i?i.lineCommentToken:null;if(!r)return null;for(var s=[],a=0,l=o-t+1;a<l;a++)s[a]={ignore:!1,commentStr:r,commentStrOffset:0,commentStrLength:r.length};return s},e._analyzeLines=function(e,t,o,n){var i,r=!0;i=0===e||1!==e;for(var s=0,a=o.length;s<a;s++){var l=o[s],u=n+s,c=t.getLineContent(u),h=p.firstNonWhitespaceIndex(c);if(-1!==h){if(r=!1,l.ignore=!1,l.commentStrOffset=h,i&&!g._haystackHasNeedleAtOffset(c,l.commentStr,h)&&(0===e?i=!1:1===e||(l.ignore=!0)),i){var d=h+l.commentStrLength;d<c.length&&32===c.charCodeAt(d)&&(l.commentStrLength+=1)}}else l.ignore=!0,l.commentStrOffset=c.length}if(0===e&&r){i=!1;for(s=0,a=o.length;s<a;s++)o[s].ignore=!1}return{supported:!0,shouldRemoveComments:i,lines:o}},e._gatherPreflightData=function(t,o,n,i){var r=e._gatherPreflightCommentStrings(o,n,i);return null===r?{supported:!1,shouldRemoveComments:!1,lines:null}:e._analyzeLines(t,o,r,n)},e.prototype._executeLineComments=function(t,o,n,i){var r;n.shouldRemoveComments?r=e._createRemoveLineCommentsOperations(n.lines,i.startLineNumber):(e._normalizeInsertionPoint(t,n.lines,i.startLineNumber,this._tabSize),r=e._createAddLineCommentsOperations(n.lines,i.startLineNumber));for(var s=new u.a(i.positionLineNumber,i.positionColumn),a=0,l=r.length;a<l;a++){if(o.addEditOperation(r[a].range,r[a].text),r[a].range.isEmpty()&&r[a].range.getStartPosition().equals(s))t.getLineContent(s.lineNumber).length+1===s.column&&(this._deltaColumn=r[a].text.length)}this._selectionId=o.trackSelection(i)},e.prototype._attemptRemoveBlockComment=function(e,t,o,n){var i=t.startLineNumber,r=t.endLineNumber,s=n.length+Math.max(e.getLineFirstNonWhitespaceColumn(t.startLineNumber),t.startColumn),a=e.getLineContent(i).lastIndexOf(o,s-1),l=e.getLineContent(r).indexOf(n,t.endColumn-1-o.length);return-1!==a&&-1===l&&(l=e.getLineContent(i).indexOf(n,a+o.length),r=i),-1===a&&-1!==l&&(a=e.getLineContent(r).lastIndexOf(o,l),i=r),!t.isEmpty()||-1!==a&&-1!==l||-1!==(a=e.getLineContent(i).indexOf(o))&&(l=e.getLineContent(i).indexOf(n,a+o.length)),-1!==a&&32===e.getLineContent(i).charCodeAt(a+o.length)&&(o+=" "),-1!==l&&32===e.getLineContent(r).charCodeAt(l-1)&&(n=" "+n,l-=1),-1!==a&&-1!==l?g._createRemoveBlockCommentOperations(new c.a(i,a+o.length+1,r,l+1),o,n):null},e.prototype._executeBlockComment=function(e,t,o){e.tokenizeIfCheap(o.startLineNumber);var n=e.getLanguageIdAtPosition(o.startLineNumber,1),i=d.a.getComments(n);if(i&&i.blockCommentStartToken&&i.blockCommentEndToken){var r=i.blockCommentStartToken,s=i.blockCommentEndToken,a=this._attemptRemoveBlockComment(e,o,r,s);if(!a){if(o.isEmpty()){var l=e.getLineContent(o.startLineNumber),u=p.firstNonWhitespaceIndex(l);-1===u&&(u=l.length),a=g._createAddBlockCommentOperations(new c.a(o.startLineNumber,u+1,o.startLineNumber,l.length+1),r,s)}else a=g._createAddBlockCommentOperations(new c.a(o.startLineNumber,e.getLineFirstNonWhitespaceColumn(o.startLineNumber),o.endLineNumber,e.getLineMaxColumn(o.endLineNumber)),r,s);1===a.length&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(o);for(var h=0;h<a.length;h++)t.addEditOperation(a[h].range,a[h].text)}},e.prototype.getEditOperations=function(t,o){var n=this._selection;this._moveEndPositionDown=!1,n.startLineNumber<n.endLineNumber&&1===n.endColumn&&(this._moveEndPositionDown=!0,n=n.setEndPosition(n.endLineNumber-1,t.getLineMaxColumn(n.endLineNumber-1)));var i=e._gatherPreflightData(this._type,t,n.startLineNumber,n.endLineNumber);return i.supported?this._executeLineComments(t,o,i,n):this._executeBlockComment(t,o,n)},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(o=o.setEndPosition(o.endLineNumber+1,1)),new h.a(o.selectionStartLineNumber,o.selectionStartColumn+this._deltaColumn,o.positionLineNumber,o.positionColumn+this._deltaColumn)},e._createRemoveLineCommentsOperations=function(e,t){for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];r.ignore||o.push(l.a.delete(new c.a(t+n,r.commentStrOffset+1,t+n,r.commentStrOffset+r.commentStrLength+1)))}return o},e._createAddLineCommentsOperations=function(e,t){for(var o=[],n=0,i=e.length;n<i;n++){var r=e[n];r.ignore||o.push(l.a.insert(new u.a(t+n,r.commentStrOffset+1),r.commentStr+" "))}return o},e.nextVisibleColumn=function(e,t,o,n){return o?e+(t-e%t):e+n},e._normalizeInsertionPoint=function(t,o,n,i){for(var r,s,a=Number.MAX_VALUE,l=0,u=o.length;l<u;l++)if(!o[l].ignore){for(var c=t.getLineContent(n+l),h=0,d=0,g=o[l].commentStrOffset;h<a&&d<g;d++)h=e.nextVisibleColumn(h,i,9===c.charCodeAt(d),1);h<a&&(a=h)}a=Math.floor(a/i)*i;for(l=0,u=o.length;l<u;l++)if(!o[l].ignore){c=t.getLineContent(n+l),h=0;for(r=0,s=o[l].commentStrOffset;h<a&&r<s;r++)h=e.nextVisibleColumn(h,i,9===c.charCodeAt(r),1);o[l].commentStrOffset=h>a?r-1:r}},e}(),m=o(38),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(t,o){var n=e.call(this,o)||this;return n._type=t,n}return _(t,e),t.prototype.run=function(e,t){var o=t.getModel();if(o){for(var n=[],i=t.getSelections(),r=o.getOptions(),s=0;s<i.length;s++)n.push(new f(i[s],r.tabSize,this._type));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}},t}(a.b),v=function(e){function t(){return e.call(this,0,{id:"editor.action.commentLine",label:i.a("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:2133,weight:100},menubarOpts:{menuId:m.b.MenubarEditMenu,group:"5_insert",title:i.a({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})||this}return _(t,e),t}(y),b=function(e){function t(){return e.call(this,1,{id:"editor.action.addCommentLine",label:i.a("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:Object(r.a)(2089,2081),weight:100}})||this}return _(t,e),t}(y),E=function(e){function t(){return e.call(this,2,{id:"editor.action.removeCommentLine",label:i.a("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:Object(r.a)(2089,2099),weight:100}})||this}return _(t,e),t}(y),C=function(e){function t(){return e.call(this,{id:"editor.action.blockComment",label:i.a("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:s.a.writable,kbOpts:{kbExpr:s.a.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menubarOpts:{menuId:m.b.MenubarEditMenu,group:"5_insert",title:i.a({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})||this}return _(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new g(n[i]));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(a.b);Object(a.f)(v),Object(a.f)(b),Object(a.f)(E),Object(a.f)(C)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(39),a=o(6),l=o(10),u=o(12),c=o(3),h=o(11),d=o(13),g=o(33),p=o(2),f=o(60),m=o(17),_=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),y=function(e){function t(o){var n=e.call(this)||this;return n.name=t.Name,n.message=o,n}return _(t,e),t.Name="NOPRO",t}(Error);function v(e,t,o){var n=h.i.ordered(e);return 0===n.length?l.b.wrapError(new y):Object(m.j)(n.map((function(n){return function(){return Object(m.h)((function(i){return n.provideDocumentRangeFormattingEdits(e,t,o,i)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function b(e,t){var o=h.f.ordered(e);return 0===o.length?v(e,e.getFullModelRange(),t):Object(m.j)(o.map((function(o){return function(){return Object(m.h)((function(n){return o.provideDocumentFormattingEdits(e,t,n)})).then(void 0,d.f)}})),(function(e){return!Object(r.k)(e)}))}function E(e,t,o,n){var i=h.q.ordered(e)[0];return i?i.autoFormatTriggerCharacters.indexOf(o)<0?l.b.as(void 0):Object(m.h)((function(r){return i.provideOnTypeFormattingEdits(e,t,o,n,r)})).then((function(e){return e}),d.f):l.b.as(void 0)}Object(c.j)("_executeFormatRangeProvider",(function(e,t){var o=t.resource,n=t.range,i=t.options;if(!(o instanceof g.a&&p.a.isIRange(n)))throw Object(d.b)();var r=e.get(f.a).getModel(o);if(!r)throw Object(d.b)("resource");return v(r,p.a.lift(n),i)})),Object(c.j)("_executeFormatDocumentProvider",(function(e,t){var o=t.resource,n=t.options;if(!(o instanceof g.a))throw Object(d.b)("resource");var i=e.get(f.a).getModel(o);if(!i)throw Object(d.b)("resource");return b(i,n)})),Object(c.e)("_executeFormatOnTypeProvider",(function(e,t,o){var n=o.ch,i=o.options;if("string"!=typeof n)throw Object(d.b)("ch");return E(e,t,n,i)}));var C=o(53),S=function(){function e(){}return e._handleEolEdits=function(e,t){for(var o=void 0,n=[],i=0,r=t;i<r.length;i++){var s=r[i];"number"==typeof s.eol&&(o=s.eol),s.range&&"string"==typeof s.text&&n.push(s)}return"number"==typeof o&&e.getModel().pushEOL(o),n},e._isFullModelReplaceEdit=function(e,t){var o=e.getModel(),n=o.validateRange(t.range);return o.getFullModelRange().equalsRange(n)},e.execute=function(t,o){t.pushUndoStop();var n=e._handleEolEdits(t,o);1===n.length&&e._isFullModelReplaceEdit(t,n[0])?t.executeEdits("formatEditsCommand",n.map((function(e){return C.a.replace(p.a.lift(e.range),e.text)}))):t.executeEdits("formatEditsCommand",n.map((function(e){return C.a.replaceMove(p.a.lift(e.range),e.text)}))),t.pushUndoStop()},e}(),T=o(37),w=o(36),k=o(91),O=o(116),R=o(58),N=o(90),L=o(5),I=o(45);o.d(t,"AbstractFormatAction",(function(){return F})),o.d(t,"FormatDocumentAction",(function(){return H})),o.d(t,"FormatSelectionAction",(function(){return U}));var D=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),A=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},P=function(e,t){return function(o,n){t(o,n,e)}};function M(e){if((e=e.filter((function(e){return e.range}))).length){for(var t=e[0].range,o=1;o<e.length;o++)t=p.a.plusRange(t,e[o].range);var n=t.startLineNumber,r=t.endLineNumber;n===r?1===e.length?Object(R.a)(i.a("hint11","Made 1 formatting edit on line {0}",n)):Object(R.a)(i.a("hintn1","Made {0} formatting edits on line {1}",e.length,n)):1===e.length?Object(R.a)(i.a("hint1n","Made 1 formatting edit between lines {0} and {1}",n,r)):Object(R.a)(i.a("hintnn","Made {0} formatting edits between lines {1} and {2}",e.length,n,r))}}var x=function(){function e(e,t){var o=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModel((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModelLanguage((function(){return o.update()}))),this.callOnDispose.push(h.q.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=Object(a.d)(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnType&&this.editor.getModel()){var t=this.editor.getModel(),o=h.q.ordered(t)[0];if(o&&o.autoFormatTriggerCharacters){for(var n=new O.b,i=0,r=o.autoFormatTriggerCharacters;i<r.length;i++){var s=r[i];n.add(s.charCodeAt(0))}this.callOnModel.push(this.editor.onDidType((function(t){var o=t.charCodeAt(t.length-1);n.has(o)&&e.trigger(String.fromCharCode(o))})))}}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var o=this.editor.getModel(),n=this.editor.getPosition(),i=!1,s=this.editor.onDidChangeModelContent((function(e){if(e.isFlush)return i=!0,void s.dispose();for(var t=0,o=e.changes.length;t<o;t++){if(e.changes[t].range.endLineNumber<=n.lineNumber)return i=!0,void s.dispose()}})),a=o.getOptions();E(o,n,e,{tabSize:a.tabSize,insertSpaces:a.insertSpaces}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){s.dispose(),i||Object(r.k)(e)||(S.execute(t.editor,e),M(e))}),(function(e){throw s.dispose(),e}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.autoFormat",e=A([P(1,k.a)],e)}(),B=function(){function e(e,t){var o=this;this.editor=e,this.workerService=t,this.callOnDispose=[],this.callOnModel=[],this.callOnDispose.push(e.onDidChangeConfiguration((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModel((function(){return o.update()}))),this.callOnDispose.push(e.onDidChangeModelLanguage((function(){return o.update()}))),this.callOnDispose.push(h.i.onDidChange(this.update,this))}return e.prototype.update=function(){var e=this;if(this.callOnModel=Object(a.d)(this.callOnModel),this.editor.getConfiguration().contribInfo.formatOnPaste&&this.editor.getModel()){var t=this.editor.getModel(),o=h.i.ordered(t)[0];o&&o.provideDocumentRangeFormattingEdits&&this.callOnModel.push(this.editor.onDidPaste((function(t){e.trigger(t)})))}},e.prototype.trigger=function(e){var t=this;if(!(this.editor.getSelections().length>1)){var o=this.editor.getModel(),n=o.getOptions(),i=n.tabSize,s=n.insertSpaces,a=new N.a(this.editor,5);v(o,e,{tabSize:i,insertSpaces:s}).then((function(e){return t.workerService.computeMoreMinimalEdits(o.uri,e)})).then((function(e){a.validate(t.editor)&&!Object(r.k)(e)&&(S.execute(t.editor,e),M(e))}))}},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this.callOnDispose=Object(a.d)(this.callOnDispose),this.callOnModel=Object(a.d)(this.callOnModel)},e.ID="editor.contrib.formatOnPaste",e=A([P(1,k.a)],e)}(),F=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return D(t,e),t.prototype.run=function(e,t){var o=this,n=e.get(k.a),i=e.get(I.a),s=this._getFormattingEdits(t);if(!s)return l.b.as(void 0);var a=new N.a(t,5);return s.then((function(e){return n.computeMoreMinimalEdits(t.getModel().uri,e)})).then((function(e){a.validate(t)&&!Object(r.k)(e)&&(S.execute(t,e),M(e),t.focus())}),(function(e){if(!(e instanceof Error&&e.name===y.Name))throw e;o._notifyNoProviderError(i,t.getModel().getLanguageIdentifier().language)}))},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.provider","There is no formatter for '{0}'-files installed.",t))},t}(c.b),H=function(e){function t(){return e.call(this,{id:"editor.action.formatDocument",label:i.a("formatDocument.label","Format Document"),alias:"Format Document",precondition:L.a.writable,kbOpts:{kbExpr:L.a.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},menuOpts:{when:L.a.hasDocumentFormattingProvider,group:"1_modification",order:1.3}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions();return b(t,{tabSize:o.tabSize,insertSpaces:o.insertSpaces})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.documentprovider","There is no document formatter for '{0}'-files installed.",t))},t}(F),U=function(e){function t(){return e.call(this,{id:"editor.action.formatSelection",label:i.a("formatSelection.label","Format Selection"),alias:"Format Code",precondition:u.d.and(L.a.writable,L.a.hasNonEmptySelection),kbOpts:{kbExpr:L.a.editorTextFocus,primary:Object(s.a)(2089,2084),weight:100},menuOpts:{when:u.d.and(L.a.hasDocumentSelectionFormattingProvider,L.a.hasNonEmptySelection),group:"1_modification",order:1.31}})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=t.getOptions(),n=o.tabSize,i=o.insertSpaces;return v(t,e.getSelection(),{tabSize:n,insertSpaces:i})},t.prototype._notifyNoProviderError=function(e,t){e.info(i.a("no.selectionprovider","There is no selection formatter for '{0}'-files installed.",t))},t}(F);Object(c.h)(x),Object(c.h)(B),Object(c.f)(H),Object(c.f)(U),T.a.registerCommand("editor.action.format",(function(e){var t=e.get(w.a).getFocusedCodeEditor();if(t)return(new(function(e){function t(){return e.call(this,{})||this}return D(t,e),t.prototype._getFormattingEdits=function(e){var t=e.getModel(),o=e.getSelection(),n=t.getOptions(),i=n.tabSize,r=n.insertSpaces;return o.isEmpty()?b(t,{tabSize:i,insertSpaces:r}):v(t,o,{tabSize:i,insertSpaces:r})},t}(F))).run(e,t)}))},function(e,t,o){"use strict";o.r(t);var n=o(17),i=o(13),r=o(6),s=o(90),a=o(3),l=o(11),u=(o(434),o(8)),c=o(1),h=o(2),d=o(16),g=o(26),p=o(29),f=o(19),m=o(7),_=function(){function e(e,t){this.afterLineNumber=e,this._onHeight=t,this.heightInLines=1,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}return e.prototype.onComputedHeight=function(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())},e}(),y=function(){function e(t,o,n,i){var r=this;this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._disposables=[],this._commands=Object.create(null),this._id="codeLensWidget"+ ++e._idPool,this._editor=t,this.setSymbolRange(o),this._domNode=document.createElement("span"),this._domNode.innerHTML="&nbsp;",c.f(this._domNode,"codelens-decoration"),c.f(this._domNode,"invisible-cl"),this._updateHeight(),this._disposables.push(this._editor.onDidChangeConfiguration((function(e){return e.fontInfo&&r._updateHeight()}))),this._disposables.push(c.g(this._domNode,"click",(function(e){var o=e.target;if("A"===o.tagName&&o.id){var s=r._commands[o.id];s&&(t.focus(),n.executeCommand.apply(n,[s.id].concat(s.arguments)).done(void 0,(function(e){i.error(e)})))}}))),this.updateVisibility()}return e.prototype.dispose=function(){Object(r.d)(this._disposables)},e.prototype._updateHeight=function(){var e=this._editor.getConfiguration(),t=e.fontInfo,o=e.lineHeight;this._domNode.style.height=Math.round(1.1*o)+"px",this._domNode.style.lineHeight=o+"px",this._domNode.style.fontSize=Math.round(.9*t.fontSize)+"px",this._domNode.innerHTML="&nbsp;"},e.prototype.updateVisibility=function(){this.isVisible()&&(c.G(this._domNode,"invisible-cl"),c.f(this._domNode,"fadein"))},e.prototype.withCommands=function(e){if(this._commands=Object.create(null),e&&e.length){for(var t=[],o=0;o<e.length;o++){var n=e[o].command,i=Object(u.escape)(n.title),r=void 0;n.id?(r=Object(u.format)("<a id={0}>{1}</a>",o,i),this._commands[o]=n):r=Object(u.format)("<span>{0}</span>",i),t.push(r)}this._domNode.innerHTML=t.join("<span>&nbsp;|&nbsp;</span>"),this._editor.layoutContentWidget(this)}else this._domNode.innerHTML="no commands"},e.prototype.getId=function(){return this._id},e.prototype.getDomNode=function(){return this._domNode},e.prototype.setSymbolRange=function(e){var t=e.startLineNumber,o=this._editor.getModel().getLineFirstNonWhitespaceColumn(t);this._widgetPosition={position:{lineNumber:t,column:o},preference:[d.a.ABOVE]}},e.prototype.getPosition=function(){return this._widgetPosition},e.prototype.isVisible=function(){return this._domNode.hasAttribute("monaco-visible-content-widget")},e._idPool=0,e}(),v=function(){function e(){this._removeDecorations=[],this._addDecorations=[],this._addDecorationsCallbacks=[]}return e.prototype.addDecoration=function(e,t){this._addDecorations.push(e),this._addDecorationsCallbacks.push(t)},e.prototype.removeDecoration=function(e){this._removeDecorations.push(e)},e.prototype.commit=function(e){for(var t=e.deltaDecorations(this._removeDecorations,this._addDecorations),o=0,n=t.length;o<n;o++)this._addDecorationsCallbacks[o](t[o])},e}(),b=function(){function e(e,t,o,n,i,r,s){var a,l=this;this._editor=t,this._data=e,this._decorationIds=new Array(this._data.length),this._data.forEach((function(e,t){o.addDecoration({range:e.symbol.range,options:g.a.EMPTY},(function(e){return l._decorationIds[t]=e})),a=a?h.a.plusRange(a,e.symbol.range):h.a.lift(e.symbol.range)})),this._contentWidget=new y(t,a,i,r),this._viewZone=new _(a.startLineNumber-1,s),this._viewZoneId=n.addZone(this._viewZone),this._editor.addContentWidget(this._contentWidget)}return e.prototype.dispose=function(e,t){for(;this._decorationIds.length;)e.removeDecoration(this._decorationIds.pop());t&&t.removeZone(this._viewZoneId),this._editor.removeContentWidget(this._contentWidget),this._contentWidget.dispose()},e.prototype.isValid=function(){var e=this;return this._decorationIds.some((function(t,o){var n=e._editor.getModel().getDecorationRange(t),i=e._data[o].symbol;return n&&h.a.isEmpty(i.range)===n.isEmpty()}))},e.prototype.updateCodeLensSymbols=function(e,t){for(var o=this;this._decorationIds.length;)t.removeDecoration(this._decorationIds.pop());this._data=e,this._decorationIds=new Array(this._data.length),this._data.forEach((function(e,n){t.addDecoration({range:e.symbol.range,options:g.a.EMPTY},(function(e){return o._decorationIds[n]=e}))}))},e.prototype.computeIfNecessary=function(e){if(this._contentWidget.updateVisibility(),!this._contentWidget.isVisible())return null;for(var t=0;t<this._decorationIds.length;t++)this._data[t].symbol.range=e.getDecorationRange(this._decorationIds[t]);return this._data},e.prototype.updateCommands=function(e){this._contentWidget.withCommands(e)},e.prototype.getLineNumber=function(){var e=this._editor.getModel().getDecorationRange(this._decorationIds[0]);return e?e.startLineNumber:-1},e.prototype.update=function(e){if(this.isValid()){var t=this._editor.getModel().getDecorationRange(this._decorationIds[0]);this._viewZone.afterLineNumber=t.startLineNumber-1,e.layoutZone(this._viewZoneId),this._contentWidget.setSymbolRange(t),this._editor.layoutContentWidget(this._contentWidget)}},e}();Object(f.e)((function(e,t){var o=e.getColor(p.e);o&&t.addRule(".monaco-editor .codelens-decoration { color: "+o+"; }");var n=e.getColor(m.m);n&&t.addRule(".monaco-editor .codelens-decoration > a:hover { color: "+n+" !important; }")}));var E=o(37),C=o(45),S=o(25),T=o(33),w=o(60),k=o(48);function O(e,t){var o=[],n=l.c.ordered(e),r=n.map((function(n){return Promise.resolve(n.provideCodeLenses(e,t)).then((function(e){if(Array.isArray(e))for(var t=0,i=e;t<i.length;t++){var r=i[t];o.push({symbol:r,provider:n})}})).catch(i.f)}));return Promise.all(r).then((function(){return Object(S.l)(o,(function(e,t){return e.symbol.range.startLineNumber<t.symbol.range.startLineNumber?-1:e.symbol.range.startLineNumber>t.symbol.range.startLineNumber?1:n.indexOf(e.provider)<n.indexOf(t.provider)?-1:n.indexOf(e.provider)>n.indexOf(t.provider)?1:e.symbol.range.startColumn<t.symbol.range.startColumn?-1:e.symbol.range.startColumn>t.symbol.range.startColumn?1:0}))}))}Object(a.j)("_executeCodeLensProvider",(function(e,t){var o=t.resource,n=t.itemResolveCount;if(!(o instanceof T.a))throw Object(i.b)();var r=e.get(w.a).getModel(o);if(!r)throw Object(i.b)();var s=[];return O(r,k.a.None).then((function(e){for(var t=[],o=0,i=e;o<i.length;o++){var a=i[o];void 0===n||Boolean(a.symbol.command)?s.push(a.symbol):n-- >0&&t.push(Promise.resolve(a.provider.resolveCodeLens(r,a.symbol,k.a.None)).then((function(e){return s.push(e)})))}return Promise.all(t)})).then((function(){return s}))})),o.d(t,"CodeLensContribution",(function(){return L}));var R=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},N=function(e,t){return function(o,n){t(o,n,e)}},L=function(){function e(e,t,o){var n=this;this._editor=e,this._commandService=t,this._notificationService=o,this._isEnabled=this._editor.getConfiguration().contribInfo.codeLens,this._globalToDispose=[],this._localToDispose=[],this._lenses=[],this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter=0,this._globalToDispose.push(this._editor.onDidChangeModel((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeModelLanguage((function(){return n._onModelChange()}))),this._globalToDispose.push(this._editor.onDidChangeConfiguration((function(e){var t=n._isEnabled;n._isEnabled=n._editor.getConfiguration().contribInfo.codeLens,t!==n._isEnabled&&n._onModelChange()}))),this._globalToDispose.push(l.c.onDidChange(this._onModelChange,this)),this._onModelChange()}return e.prototype.dispose=function(){this._localDispose(),this._globalToDispose=Object(r.d)(this._globalToDispose)},e.prototype._localDispose=function(){this._currentFindCodeLensSymbolsPromise&&(this._currentFindCodeLensSymbolsPromise.cancel(),this._currentFindCodeLensSymbolsPromise=null,this._modelChangeCounter++),this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null),this._localToDispose=Object(r.d)(this._localToDispose)},e.prototype.getId=function(){return e.ID},e.prototype._onModelChange=function(){var e=this;this._localDispose();var t=this._editor.getModel();if(t&&this._isEnabled&&l.c.has(t)){for(var o=0,a=l.c.all(t);o<a.length;o++){var u=a[o];if("function"==typeof u.onDidChange){var c=u.onDidChange((function(){return h.schedule()}));this._localToDispose.push(c)}}this._detectVisibleLenses=new n.c((function(){e._onViewportChanged()}),500);var h=new n.c((function(){var o=++e._modelChangeCounter;e._currentFindCodeLensSymbolsPromise&&e._currentFindCodeLensSymbolsPromise.cancel(),e._currentFindCodeLensSymbolsPromise=Object(n.i)((function(e){return O(t,e)})),e._currentFindCodeLensSymbolsPromise.then((function(t){o===e._modelChangeCounter&&(e._renderCodeLensSymbols(t),e._detectVisibleLenses.schedule())}),i.e)}),250);this._localToDispose.push(h),this._localToDispose.push(this._detectVisibleLenses),this._localToDispose.push(this._editor.onDidChangeModelContent((function(t){e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){var n=[],i=-1;e._lenses.forEach((function(e){e.isValid()&&i!==e.getLineNumber()?(e.update(o),i=e.getLineNumber()):n.push(e)}));var r=new v;n.forEach((function(t){t.dispose(r,o),e._lenses.splice(e._lenses.indexOf(t),1)})),r.commit(t)}))})),e._detectVisibleLenses.schedule(),h.schedule()}))),this._localToDispose.push(this._editor.onDidScrollChange((function(t){t.scrollTopChanged&&e._lenses.length>0&&e._detectVisibleLenses.schedule()}))),this._localToDispose.push(this._editor.onDidLayoutChange((function(t){e._detectVisibleLenses.schedule()}))),this._localToDispose.push(Object(r.f)((function(){if(e._editor.getModel()){var t=s.b.capture(e._editor);e._editor.changeDecorations((function(t){e._editor.changeViewZones((function(o){e._disposeAllLenses(t,o)}))})),t.restore(e._editor)}else e._disposeAllLenses(null,null)}))),h.schedule()}},e.prototype._disposeAllLenses=function(e,t){var o=new v;this._lenses.forEach((function(e){return e.dispose(o,t)})),e&&o.commit(e),this._lenses=[]},e.prototype._renderCodeLensSymbols=function(e){var t=this;if(this._editor.getModel()){for(var o,n=this._editor.getModel().getLineCount(),i=[],r=0,a=e;r<a.length;r++){var l=a[r],u=l.symbol.range.startLineNumber;u<1||u>n||(o&&o[o.length-1].symbol.range.startLineNumber===u?o.push(l):(o=[l],i.push(o)))}var c=s.b.capture(this._editor);this._editor.changeDecorations((function(e){t._editor.changeViewZones((function(o){for(var n=0,r=0,s=new v;r<i.length&&n<t._lenses.length;){var a=i[r][0].symbol.range.startLineNumber,l=t._lenses[n].getLineNumber();l<a?(t._lenses[n].dispose(s,o),t._lenses.splice(n,1)):l===a?(t._lenses[n].updateCodeLensSymbols(i[r],s),r++,n++):(t._lenses.splice(n,0,new b(i[r],t._editor,s,o,t._commandService,t._notificationService,(function(){return t._detectVisibleLenses.schedule()}))),n++,r++)}for(;n<t._lenses.length;)t._lenses[n].dispose(s,o),t._lenses.splice(n,1);for(;r<i.length;)t._lenses.push(new b(i[r],t._editor,s,o,t._commandService,t._notificationService,(function(){return t._detectVisibleLenses.schedule()}))),r++;s.commit(e)}))})),c.restore(this._editor)}},e.prototype._onViewportChanged=function(){var e=this;this._currentResolveCodeLensSymbolsPromise&&(this._currentResolveCodeLensSymbolsPromise.cancel(),this._currentResolveCodeLensSymbolsPromise=null);var t=this._editor.getModel();if(t){var o=[],r=[];this._lenses.forEach((function(e){var n=e.computeIfNecessary(t);n&&(o.push(n),r.push(e))})),0!==o.length&&(this._currentResolveCodeLensSymbolsPromise=Object(n.i)((function(e){var n=o.map((function(o,n){var i=new Array(o.length),s=o.map((function(o,n){return"function"==typeof o.provider.resolveCodeLens?Promise.resolve(o.provider.resolveCodeLens(t,o.symbol,e)).then((function(e){i[n]=e})):(i[n]=o.symbol,Promise.resolve(void 0))}));return Promise.all(s).then((function(){r[n].updateCommands(i)}))}));return Promise.all(n)})),this._currentResolveCodeLensSymbolsPromise.then((function(){e._currentResolveCodeLensSymbolsPromise=null})).catch((function(t){e._currentResolveCodeLensSymbolsPromise=null,Object(i.e)(t)})))}},e.ID="css.editor.codeLens",e=R([N(1,E.b),N(2,C.a)],e)}();Object(a.h)(L)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(25),s=o(10),a=o(22),l=o(2),u=o(5),c=o(3),h=o(60),d=o(86),g=o(106),p=o(32),f=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),m=function(){function e(){}return Object.defineProperty(e.prototype,"range",{get:function(){return new l.a(this.start.lineNumber,this.start.column,this.end.lineNumber,this.end.column)},enumerable:!0,configurable:!0}),e}(),_=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),Object.defineProperty(t.prototype,"hasChildren",{get:function(){return this.children&&this.children.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isEmpty",{get:function(){return!this.hasChildren&&!this.parent},enumerable:!0,configurable:!0}),t.prototype.append=function(e){return!!e&&(e.parent=this,this.children||(this.children=[]),e instanceof t?e.children&&this.children.push.apply(this.children,e.children):this.children.push(e),!0)},t}(m),y=function(e){function t(){var t=e.call(this)||this;return t.elements=new _,t.elements.parent=t,t}return f(t,e),t}(m),v=function(e,t,o){this.range=e,this.bracket=t,this.bracketType=o};function b(e){var t=new m;return t.start=e.range.getStartPosition(),t.end=e.range.getEndPosition(),t}var E=function(e,t,o){this.lineNumber=o,this.lineText=e.getLineContent(),this.startOffset=e.getStartOffset(t),this.endOffset=e.getEndOffset(t),this.type=e.getStandardTokenType(t),this.languageId=e.getLanguageId(t)},C=function(){function e(e){this._model=e,this._lineCount=this._model.getLineCount(),this._versionId=this._model.getVersionId(),this._lineNumber=0,this._tokenIndex=0,this._lineTokens=null,this._advance()}return e.prototype._advance=function(){for(this._lineTokens&&(this._tokenIndex++,this._tokenIndex>=this._lineTokens.getCount()&&(this._lineTokens=null));this._lineNumber<this._lineCount&&!this._lineTokens;)this._lineNumber++,this._model.forceTokenization(this._lineNumber),this._lineTokens=this._model.getLineTokens(this._lineNumber),this._tokenIndex=0,0===this._lineTokens.getCount()&&(this._lineTokens=null)},e.prototype.next=function(){if(!this._lineTokens)return null;if(this._model.getVersionId()!==this._versionId)return null;var e=new E(this._lineTokens,this._tokenIndex,this._lineNumber);return this._advance(),e},e}(),S=function(){function e(e){this._rawTokenScanner=new C(e),this._nextBuff=[],this._cachedLanguageBrackets=null,this._cachedLanguageId=-1}return e.prototype.next=function(){if(this._nextBuff.length>0)return this._nextBuff.shift();var e=this._rawTokenScanner.next();if(!e)return null;var t=e.lineNumber,o=e.lineText,n=e.type,i=e.startOffset,r=e.endOffset;this._cachedLanguageId!==e.languageId&&(this._cachedLanguageId=e.languageId,this._cachedLanguageBrackets=p.a.getBracketsSupport(this._cachedLanguageId));var s,a=this._cachedLanguageBrackets;if(!a||Object(d.b)(n))return new v(new l.a(t,i+1,t,r+1),0,null);do{if(s=g.a.findNextBracketInToken(a.forwardRegex,t,o,i,r)){var u=s.startColumn-1,c=s.endColumn-1;i<u&&this._nextBuff.push(new v(new l.a(t,i+1,t,u+1),0,null));var h=o.substring(u,c);h=h.toLowerCase();var f=a.textIsBracket[h],m=a.textIsOpenBracket[h];this._nextBuff.push(new v(new l.a(t,u+1,t,c+1),m?1:-1,f.languageIdentifier.language+";"+f.open+";"+f.close)),i=c}}while(s);return i<r&&this._nextBuff.push(new v(new l.a(t,i+1,t,r+1),0,null)),this._nextBuff.shift()},e}(),T=function(){function e(e){this._stack=[],this._scanner=new S(e)}return e.prototype.build=function(){for(var e=new _;e.append(this._line()||this._any()););return e},e.prototype._accept=function(e){var t=this._stack.pop()||this._scanner.next();if(!t)return!1;var o=e(t);return o?this._currentToken=t:(this._stack.push(t),this._currentToken=null),o},e.prototype._peek=function(e){var t=!1;return this._accept((function(o){return t=e(o),!1})),t},e.prototype._line=function(){var e,t=new _;for(this._peek((function(t){return e=t.range.startLineNumber,!1}));this._peek((function(t){return t.range.startLineNumber===e}))&&t.append(this._token()||this._block()););return t.children&&0!==t.children.length?1===t.children.length?t.children[0]:t:null},e.prototype._token=function(){return this._accept((function(e){return 0===e.bracket}))?b(this._currentToken):null},e.prototype._block=function(){var e;if(!this._accept((function(t){return e=t.bracketType,1===t.bracket})))return null;var t=new y;for(t.open=b(this._currentToken);t.elements.append(this._line()););if(!this._accept((function(t){return-1===t.bracket&&t.bracketType===e}))){var o=new _;return o.append(t.open),o.append(t.elements),o}return t.close=b(this._currentToken),t},e.prototype._any=function(){return this._accept((function(e){return!0}))?b(this._currentToken):null},e}();var w=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},k=function(e,t){return function(o,n){t(o,n,e)}},O=function(){function e(e){this._modelService=e}return e.prototype.getRangesToPosition=function(e,t){return s.b.as(this.getRangesToPositionSync(e,t))},e.prototype.getRangesToPositionSync=function(e,t){var o=this._modelService.getModel(e),n=[];return o&&this._doGetRangesToPosition(o,t).forEach((function(e){n.push({type:void 0,range:e})})),n},e.prototype._doGetRangesToPosition=function(e,t){var o,n;o=function e(t,o){if(t instanceof _&&t.isEmpty)return null;if(!l.a.containsPosition(t.range,o))return null;var n;if(t instanceof _){if(t.hasChildren)for(var i=0,r=t.children.length;i<r&&!n;i++)n=e(t.children[i],o)}else t instanceof y&&(n=e(t.open,o)||e(t.elements,o)||e(t.close,o));return n||t}(function(e){return new T(e).build()}(e),t);for(var i=[];o;)n&&l.a.equalsRange(n,o.range)||i.push(o.range),n=o.range,o=o.parent;return i=i.reverse()},e=w([k(0,h.a)],e)}(),R=o(38),N=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),L=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=function(e){this.editor=e,this.next=null,this.previous=null,this.selection=e.getSelection()},A=function(){function e(e,t){this.editor=e,this._tokenSelectionSupport=t.createInstance(O),this._state=null,this._ignoreSelection=!1}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(e){var t=this,o=this.editor.getSelection(),n=this.editor.getModel();this._state&&this._state.editor!==this.editor&&(this._state=null);var i=s.b.as(null);return this._state||(i=this._tokenSelectionSupport.getRangesToPosition(n.uri,o.getStartPosition()).then((function(e){if(!r.k(e)){var o;e.filter((function(e){var o=t.editor.getSelection(),n=new l.a(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);return n.containsPosition(o.getStartPosition())&&n.containsPosition(o.getEndPosition())})).forEach((function(e){var n=e.range,i=new D(t.editor);i.selection=new l.a(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn),o&&(i.next=o,o.previous=i),o=i}));var n=new D(t.editor);n.next=o,o&&(o.previous=n),t._state=n;var i=t.editor.onDidChangeCursorPosition((function(e){t._ignoreSelection||(t._state=null,i.dispose())}))}}))),i.then((function(){if(t._state&&(t._state=e?t._state.next:t._state.previous,t._state)){t._ignoreSelection=!0;try{t.editor.setSelection(t._state.selection)}finally{t._ignoreSelection=!1}}}))},e.ID="editor.contrib.smartSelectController",e=L([I(1,a.a)],e)}(),P=function(e){function t(t,o){var n=e.call(this,o)||this;return n._forward=t,n}return N(t,e),t.prototype.run=function(e,t){var o=A.get(t);if(o)return o.run(this._forward)},t}(c.b),M=function(e){function t(){return e.call(this,!0,{id:"editor.action.smartSelect.grow",label:i.a("smartSelect.grow","Expand Select"),alias:"Expand Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1553,mac:{primary:3345},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})||this}return N(t,e),t}(P),x=function(e){function t(){return e.call(this,!1,{id:"editor.action.smartSelect.shrink",label:i.a("smartSelect.shrink","Shrink Select"),alias:"Shrink Select",precondition:null,kbOpts:{kbExpr:u.a.editorTextFocus,primary:1551,mac:{primary:3343},weight:100},menubarOpts:{menuId:R.b.MenubarSelectionMenu,group:"1_basic",title:i.a({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})||this}return N(t,e),t}(P);Object(c.h)(A),Object(c.f)(M),Object(c.f)(x)},function(e,t,o){"use strict";o.r(t);o(482);var n=o(0),i=o(111),r=o(8),s=o(124),a=o(97),l=o(5),u=o(11),c=o(161),h=o(13),d=o(33),g=o(10),p=o(2),f=o(3),m=o(60),_=o(17);function y(e){var t=[],o=u.j.all(e).map((function(o){return Object(_.h)((function(t){return o.provideDocumentSymbols(e,t)})).then((function(e){Array.isArray(e)&&t.push.apply(t,e)}),(function(e){Object(h.f)(e)}))}));return g.b.join(o).then((function(){var e=[];return function e(t,o,n){for(var i=0,r=o;i<r.length;i++){var s=r[i];t.push({kind:s.kind,name:s.name,detail:s.detail,containerName:s.containerName||n,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&e(t,s.children,s.name)}}(e,t,""),e.sort(v),e}))}function v(e,t){return p.a.compareRangesUsingStarts(e.range,t.range)}Object(f.j)("_executeDocumentSymbolProvider",(function(e,t){var o=t.resource;if(!(o instanceof d.a))throw Object(h.b)("resource");var n=e.get(m.a).getModel(o);if(!n)throw Object(h.b)("resource");return y(n)})),o.d(t,"SymbolEntry",(function(){return C})),o.d(t,"QuickOutlineAction",(function(){return S}));var b,E=(b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}b(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),C=function(e){function t(t,o,n,i,r,s,a){var l=e.call(this)||this;return l.name=t,l.type=o,l.description=n,l.range=i,l.setHighlights(r),l.editor=s,l.decorator=a,l}return E(t,e),t.prototype.getLabel=function(){return this.name},t.prototype.getAriaLabel=function(){return n.a("entryAriaLabel","{0}, symbols",this.name)},t.prototype.getIcon=function(){return this.type},t.prototype.getDescription=function(){return this.description},t.prototype.getType=function(){return this.type},t.prototype.getRange=function(){return this.range},t.prototype.run=function(e,t){return e===a.a.OPEN?this.runOpen(t):this.runPreview()},t.prototype.runOpen=function(e){var t=this.toSelection();return this.editor.setSelection(t),this.editor.revealRangeInCenter(t,0),this.editor.focus(),!0},t.prototype.runPreview=function(){var e=this.toSelection();return this.editor.revealRangeInCenter(e,0),this.decorator.decorateLine(this.range,this.editor),!1},t.prototype.toSelection=function(){return new p.a(this.range.startLineNumber,this.range.startColumn||1,this.range.startLineNumber,this.range.startColumn||1)},t}(s.b),S=function(e){function t(){return e.call(this,n.a("quickOutlineActionInput","Type the name of an identifier you wish to navigate to"),{id:"editor.action.quickOutline",label:n.a("QuickOutlineAction.label","Go to Symbol..."),alias:"Go to Symbol...",precondition:l.a.hasDocumentSymbolProvider,kbOpts:{kbExpr:l.a.focus,primary:3117,weight:100},menuOpts:{group:"navigation",order:3}})||this}return E(t,e),t.prototype.run=function(e,t){var o=this,n=t.getModel();return u.j.has(n)?y(n).then((function(e){0!==e.length&&o._run(t,e)})):null},t.prototype._run=function(e,t){var o=this;this._show(this.getController(e),{getModel:function(n){return new s.c(o.toQuickOpenEntries(e,t,n))},getAutoFocus:function(e){return 0===e.indexOf(":")&&(e=e.substr(":".length)),{autoFocusPrefixMatch:e,autoFocusFirstEntry:!!e}}})},t.prototype.symbolEntry=function(e,t,o,n,i,r,s){return new C(e,t,o,p.a.lift(n),i,r,s)},t.prototype.toQuickOpenEntries=function(e,t,o){var s=this.getController(e),a=[],l=o;0===o.indexOf(":")&&(l=l.substr(":".length));for(var c=0;c<t.length;c++){var h=t[c],d=r.trim(h.name),g=Object(i.e)(l,d);if(g){var p=null;h.containerName&&(p=h.containerName),a.push(this.symbolEntry(d,Object(u.B)(h.kind),p,h.range,g,e,s))}}if(o&&(a=0===o.indexOf(":")?a.sort(this.sortScoped.bind(this,o.toLowerCase())):a.sort(this.sortNormal.bind(this,o.toLowerCase()))),a.length>0&&0===o.indexOf(":")){var f=null,m=null,_=0;for(c=0;c<a.length;c++){var y=a[c];f!==y.getType()?(m&&m.setGroupLabel(this.typeToLabel(f,_)),f=y.getType(),m=y,_=1,y.setShowBorder(c>0)):_++}m&&m.setGroupLabel(this.typeToLabel(f,_))}else a.length>0&&a[0].setGroupLabel(n.a("symbols","symbols ({0})",a.length));return a},t.prototype.typeToLabel=function(e,t){switch(e){case"module":return n.a("modules","modules ({0})",t);case"class":return n.a("class","classes ({0})",t);case"interface":return n.a("interface","interfaces ({0})",t);case"method":return n.a("method","methods ({0})",t);case"function":return n.a("function","functions ({0})",t);case"property":return n.a("property","properties ({0})",t);case"variable":return n.a("variable","variables ({0})",t);case"var":return n.a("variable2","variables ({0})",t);case"constructor":return n.a("_constructor","constructors ({0})",t);case"call":return n.a("call","calls ({0})",t)}return e},t.prototype.sortNormal=function(e,t,o){var n=t.getLabel().toLowerCase(),i=o.getLabel().toLowerCase(),r=n.localeCompare(i);if(0!==r)return r;var s=t.getRange(),a=o.getRange();return s.startLineNumber-a.startLineNumber},t.prototype.sortScoped=function(e,t,o){e=e.substr(":".length);var n=t.getType(),i=o.getType(),r=n.localeCompare(i);if(0!==r)return r;if(e){var s=t.getLabel().toLowerCase(),a=o.getLabel().toLowerCase(),l=s.localeCompare(a);if(0!==l)return l}var u=t.getRange(),c=o.getRange();return u.startLineNumber-c.startLineNumber},t}(c.a);Object(f.f)(S)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(4),s=o(6),a=o(12),l=o(46),u=o(2),c=o(3),h=o(19),d=o(5),g=(o(471),o(1)),p=o(207),f=o(7),m=o(14),_=o(29),y=o(81),v=o(42),b=o(165),E=o(25),C=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),S=function(){function e(e,t,o){var n=this;this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=[],this._editor=t;var i=document.createElement("div");i.className="descriptioncontainer",i.setAttribute("aria-live","assertive"),i.setAttribute("role","alert"),this._messageBlock=document.createElement("div"),i.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),i.appendChild(this._relatedBlock),this._disposables.push(g.j(this._relatedBlock,"click",(function(e){e.preventDefault();var t=n._relatedDiagnostics.get(e.target);t&&o(t)}))),this._scrollable=new y.b(i,{horizontal:v.b.Auto,vertical:v.b.Auto,useShadows:!1,horizontalScrollbarSize:3,verticalScrollbarSize:3}),g.f(this._scrollable.getDomNode(),"block"),e.appendChild(this._scrollable.getDomNode()),this._disposables.push(this._scrollable.onScroll((function(e){i.style.left="-"+e.scrollLeft+"px",i.style.top="-"+e.scrollTop+"px"}))),this._disposables.push(this._scrollable)}return e.prototype.dispose=function(){Object(s.d)(this._disposables)},e.prototype.update=function(e){var t=e.source,o=e.message,n=e.relatedInformation;if(t){this._lines=0,this._longestLineLength=0;for(var i=new Array(t.length+3+1).join(" "),r=o.split(/\r\n|\r|\n/g),s=0;s<r.length;s++){var a=r[s];this._lines+=1,this._longestLineLength=Math.max(a.length,this._longestLineLength),0===s?o="["+t+"] "+a:o+="\n"+i+a}}else this._lines=1,this._longestLineLength=o.length;if(g.l(this._relatedBlock),!Object(E.k)(n)){this._relatedBlock.style.paddingTop=Math.floor(.66*this._editor.getConfiguration().lineHeight)+"px",this._lines+=1;for(var l=0,u=n;l<u.length;l++){var c=u[l],h=document.createElement("div"),d=document.createElement("span");g.f(d,"filename"),d.innerHTML=Object(b.a)(c.resource)+"("+c.startLineNumber+", "+c.startColumn+"): ",d.title=Object(b.b)(c.resource,void 0),this._relatedDiagnostics.set(d,c);var p=document.createElement("span");p.innerText=c.message,this._editor.applyFontInfo(p),h.appendChild(d),h.appendChild(p),this._lines+=1,this._relatedBlock.appendChild(h)}}this._messageBlock.innerText=o,this._editor.applyFontInfo(this._messageBlock);var f=this._editor.getConfiguration().fontInfo,m=Math.ceil(f.typicalFullwidthCharacterWidth*this._longestLineLength*.75),_=f.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:m,scrollHeight:_})},e.prototype.layout=function(e,t){this._scrollable.getDomNode().style.height=e+"px",this._scrollable.setScrollDimensions({width:t,height:e})},e.prototype.getHeightInLines=function(){return Math.min(17,this._lines)},e}(),T=function(e){function t(t,o){var n=e.call(this,t,{showArrow:!0,showFrame:!0,isAccessible:!0})||this;return n._themeService=o,n._callOnDispose=[],n._onDidSelectRelatedInformation=new r.a,n.onDidSelectRelatedInformation=n._onDidSelectRelatedInformation.event,n._severity=l.b.Warning,n._backgroundColor=m.a.white,n._applyTheme(o.getTheme()),n._callOnDispose.push(o.onThemeChange(n._applyTheme.bind(n))),n.create(),n}return C(t,e),t.prototype._applyTheme=function(e){this._backgroundColor=e.getColor(I);var t=R;this._severity===l.b.Warning?t=N:this._severity===l.b.Info&&(t=L);var o=e.getColor(t);this.style({arrowColor:o,frameColor:o})},t.prototype._applyStyles=function(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor.toString()),e.prototype._applyStyles.call(this)},t.prototype.dispose=function(){this._callOnDispose=Object(s.d)(this._callOnDispose),e.prototype.dispose.call(this)},t.prototype.focus=function(){this._parentContainer.focus()},t.prototype._fillContainer=function(e){var t=this;this._parentContainer=e,g.f(e,"marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._title=document.createElement("div"),this._title.className="block title",this._container.appendChild(this._title),this._message=new S(this._container,this.editor,(function(e){return t._onDidSelectRelatedInformation.fire(e)})),this._disposables.push(this._message)},t.prototype.show=function(e,t){throw new Error("call showAtMarker")},t.prototype.showAtMarker=function(t,o,n){this._container.classList.remove("stale"),this._title.innerHTML=i.a("title.wo_source","({0}/{1})",o,n),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getTheme());var r=u.a.lift(t),s=r.containsPosition(this.editor.getPosition())?this.editor.getPosition():r.getStartPosition();e.prototype.show.call(this,s,this.computeRequiredHeight()),this.editor.revealPositionInCenter(s,0),1!==this.editor.getConfiguration().accessibilitySupport&&this.focus()},t.prototype.updateMarker=function(e){this._container.classList.remove("stale"),this._message.update(e)},t.prototype.showStale=function(){this._container.classList.add("stale"),this._relayout()},t.prototype._doLayout=function(e,t){this._message.layout(e,t),this._container.style.height=e+"px"},t.prototype._relayout=function(){e.prototype._relayout.call(this,this.computeRequiredHeight())},t.prototype.computeRequiredHeight=function(){return 1+this._message.getHeightInLines()},t}(p.a),w=Object(f.eb)(_.i,_.h),k=Object(f.eb)(_.w,_.v),O=Object(f.eb)(_.n,_.m),R=Object(f.kb)("editorMarkerNavigationError.background",{dark:w,light:w,hc:w},i.a("editorMarkerNavigationError","Editor marker navigation widget error color.")),N=Object(f.kb)("editorMarkerNavigationWarning.background",{dark:k,light:k,hc:k},i.a("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),L=Object(f.kb)("editorMarkerNavigationInfo.background",{dark:O,light:O,hc:O},i.a("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),I=Object(f.kb)("editorMarkerNavigation.background",{dark:"#2D2D30",light:m.a.white,hc:"#0C141F"},i.a("editorMarkerNavigationBackground","Editor marker navigation widget background.")),D=o(8),A=o(36),P=o(13),M=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),x=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},B=function(e,t){return function(o,n){t(o,n,e)}},F=function(){function e(e,t){var o=this;this._editor=e,this._markers=null,this._nextIdx=-1,this._toUnbind=[],this._ignoreSelectionChange=!1,this._onCurrentMarkerChanged=new r.a,this._onMarkerSetChanged=new r.a,this.setMarkers(t),this._toUnbind.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._toUnbind.push(this._editor.onDidChangeCursorPosition((function(){o._ignoreSelectionChange||o.currentMarker&&u.a.containsPosition(o.currentMarker,o._editor.getPosition())||(o._nextIdx=-1)})))}return Object.defineProperty(e.prototype,"onCurrentMarkerChanged",{get:function(){return this._onCurrentMarkerChanged.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onMarkerSetChanged",{get:function(){return this._onMarkerSetChanged.event},enumerable:!0,configurable:!0}),e.prototype.setMarkers=function(e){var t=this._nextIdx>=0?this._markers[this._nextIdx]:void 0;this._markers=e||[],this._markers.sort(U.compareMarker),this._nextIdx=t?Math.max(-1,Object(E.b)(this._markers,t,U.compareMarker)):-1,this._onMarkerSetChanged.fire(this)},e.prototype.withoutWatchingEditorPosition=function(e){this._ignoreSelectionChange=!0;try{e()}finally{this._ignoreSelectionChange=!1}},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0;n<this._markers.length;n++){var i=u.a.lift(this._markers[n]);if(i.isEmpty()){var r=this._editor.getModel().getWordAtPosition(i.getStartPosition());r&&(i=new u.a(i.startLineNumber,r.startColumn,i.startLineNumber,r.endColumn))}if(i.containsPosition(o)||o.isBeforeOrEqual(i.getStartPosition())){this._nextIdx=n,t=!0;break}}t||(this._nextIdx=e?0:this._markers.length-1),this._nextIdx<0&&(this._nextIdx=this._markers.length-1)},Object.defineProperty(e.prototype,"currentMarker",{get:function(){return this.canNavigate()?this._markers[this._nextIdx]:void 0},enumerable:!0,configurable:!0}),e.prototype.move=function(e,t){if(!this.canNavigate())return this._onCurrentMarkerChanged.fire(void 0),!t;var o=this._nextIdx,n=!1;if(-1===this._nextIdx?this._initIdx(e):e?t||this._nextIdx+1<this._markers.length?this._nextIdx=(this._nextIdx+1)%this._markers.length:n=!0:e||(t||this._nextIdx>0?this._nextIdx=(this._nextIdx-1+this._markers.length)%this._markers.length:n=!0),o!==this._nextIdx){var i=this._markers[this._nextIdx];this._onCurrentMarkerChanged.fire(i)}return n},e.prototype.canNavigate=function(){return this._markers.length>0},e.prototype.findMarkerAtPosition=function(e){for(var t=0,o=this._markers;t<o.length;t++){var n=o[t];if(u.a.containsPosition(n,e))return n}},Object.defineProperty(e.prototype,"total",{get:function(){return this._markers.length},enumerable:!0,configurable:!0}),e.prototype.indexOf=function(e){return 1+this._markers.indexOf(e)},e.prototype.dispose=function(){this._toUnbind=Object(s.d)(this._toUnbind)},e}(),H=function(){function e(e,t,o,n,i){this._markerService=t,this._contextKeyService=o,this._themeService=n,this._editorService=i,this._disposeOnClose=[],this._editor=e,this._widgetVisible=z.bindTo(this._contextKeyService)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._cleanUp()},e.prototype._cleanUp=function(){this._widgetVisible.reset(),this._disposeOnClose=Object(s.d)(this._disposeOnClose),this._widget=null,this._model=null},e.prototype.getOrCreateModel=function(){var e=this;if(this._model)return this._model;var t=this._getMarkers();return this._model=new F(this._editor,t),this._markerService.onMarkerChanged(this._onMarkerChanged,this,this._disposeOnClose),this._widget=new T(this._editor,this._themeService),this._widgetVisible.set(!0),this._disposeOnClose.push(this._model),this._disposeOnClose.push(this._widget),this._disposeOnClose.push(this._widget.onDidSelectRelatedInformation((function(t){e._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:u.a.lift(t).collapseToStart()}},e._editor).then(void 0,P.e),e.closeMarkersNavigation(!1)}))),this._disposeOnClose.push(this._editor.onDidChangeModel((function(){return e._cleanUp()}))),this._disposeOnClose.push(this._model.onCurrentMarkerChanged((function(t){t?e._model.withoutWatchingEditorPosition((function(){e._widget.showAtMarker(t,e._model.indexOf(t),e._model.total)})):e._cleanUp()}))),this._disposeOnClose.push(this._model.onMarkerSetChanged((function(){var t=e._model.findMarkerAtPosition(e._widget.position);t?e._widget.updateMarker(t):e._widget.showStale()}))),this._model},e.prototype.closeMarkersNavigation=function(e){void 0===e&&(e=!0),this._cleanUp(),e&&this._editor.focus()},e.prototype._onMarkerChanged=function(e){var t=this;e.some((function(e){return t._editor.getModel().uri.toString()===e.toString()}))&&this._model.setMarkers(this._getMarkers())},e.prototype._getMarkers=function(){return this._markerService.read({resource:this._editor.getModel().uri,severities:l.b.Error|l.b.Warning|l.b.Info})},e.ID="editor.contrib.markerController",e=x([B(1,l.a),B(2,a.e),B(3,h.c),B(4,A.a)],e)}(),U=function(e){function t(t,o,n){var i=e.call(this,n)||this;return i._isNext=t,i._multiFile=o,i}return M(t,e),t.prototype.run=function(e,o){var n=this,i=e.get(l.a),r=e.get(A.a),s=H.get(o);if(s){var a=s.getOrCreateModel();if(a.move(this._isNext,!this._multiFile)&&this._multiFile){var u=i.read({severities:l.b.Error|l.b.Warning|l.b.Info}).sort(t.compareMarker);if(0!==u.length){var c=a.currentMarker||{resource:o.getModel().uri,severity:l.b.Error,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1},h=Object(E.b)(u,c,t.compareMarker);h<0?(h=~h,h%=u.length):h=this._isNext?(h+1)%u.length:(h+u.length-1)%u.length;var d=u[h];if(d.resource.toString()!==o.getModel().uri.toString())return s.closeMarkersNavigation(),r.openCodeEditor({resource:d.resource,options:{pinned:!1,revealIfOpened:!0,revealInCenterIfOutsideViewport:!0,selection:d}},o).then((function(e){if(e)return e.getAction(n.id).run()}));a.move(this._isNext,!0)}}}},t.compareMarker=function(e,t){var o=Object(D.compare)(e.resource.toString(),t.resource.toString());return 0===o&&(o=l.b.compare(e.severity,t.severity)),0===o&&(o=u.a.compareRangesUsingStarts(e,t)),o},t}(c.b),V=function(e){function t(){return e.call(this,!0,!1,{id:"editor.action.marker.next",label:i.a("markerAction.next.label","Go to Next Problem (Error, Warning, Info)"),alias:"Go to Next Error or Warning",precondition:d.a.writable})||this}return M(t,e),t}(U),W=function(e){function t(){return e.call(this,!1,!1,{id:"editor.action.marker.prev",label:i.a("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)"),alias:"Go to Previous Error or Warning",precondition:d.a.writable})||this}return M(t,e),t}(U),j=function(e){function t(){return e.call(this,!0,!0,{id:"editor.action.marker.nextInFiles",label:i.a("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Error or Warning in Files",precondition:d.a.writable,kbOpts:{kbExpr:d.a.focus,primary:66,weight:100}})||this}return M(t,e),t}(U),G=function(e){function t(){return e.call(this,!1,!0,{id:"editor.action.marker.prevInFiles",label:i.a("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Error or Warning in Files",precondition:d.a.writable,kbOpts:{kbExpr:d.a.focus,primary:1090,weight:100}})||this}return M(t,e),t}(U);Object(c.h)(H),Object(c.f)(V),Object(c.f)(W),Object(c.f)(j),Object(c.f)(G);var z=new a.f("markersNavigationVisible",!1),K=c.c.bindToContribution(H.get);Object(c.g)(new K({id:"closeMarkersNavigation",precondition:z,handler:function(e){return e.closeMarkersNavigation()},kbOpts:{weight:150,kbExpr:d.a.focus,primary:9,secondary:[1033]}}))},function(e,t,o){"use strict";o.r(t);o(437);var n=o(6),i=o(15),r=o(16),s=o(3),a=o(9),l=o(2),u=o(23),c=function(){function e(e,t,o){this.selection=e,this.targetPosition=t,this.copy=o}return e.prototype.getEditOperations=function(e,t){var o=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new l.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),o),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new u.a(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber<this.selection.endLineNumber?this.targetSelection=new u.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber+this.selection.endLineNumber-this.selection.startLineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.selection.endColumn<=this.targetPosition.column?this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,(this.selection.startLineNumber,this.selection.endLineNumber,this.targetPosition.column-this.selection.endColumn+this.selection.startColumn),this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column:this.selection.endColumn):this.targetSelection=new u.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column+this.selection.endColumn-this.selection.startColumn):this.targetSelection=this.selection},e.prototype.computeCursorState=function(e,t){return this.targetSelection},e}(),h=o(26);function d(e){return i.d?e.altKey:e.ctrlKey}o.d(t,"DragAndDropController",(function(){return g}));var g=function(){function e(e){var t=this;this._editor=e,this._toUnhook=[],this._toUnhook.push(this._editor.onMouseDown((function(e){return t._onEditorMouseDown(e)}))),this._toUnhook.push(this._editor.onMouseUp((function(e){return t._onEditorMouseUp(e)}))),this._toUnhook.push(this._editor.onMouseDrag((function(e){return t._onEditorMouseDrag(e)}))),this._toUnhook.push(this._editor.onMouseDrop((function(e){return t._onEditorMouseDrop(e)}))),this._toUnhook.push(this._editor.onKeyDown((function(e){return t.onEditorKeyDown(e)}))),this._toUnhook.push(this._editor.onKeyUp((function(e){return t.onEditorKeyUp(e)}))),this._dndDecorationIds=[],this._mouseDown=!1,this._modiferPressed=!1,this._dragSelection=null}return e.prototype.onEditorKeyDown=function(e){this._editor.getConfiguration().dragAndDrop&&(d(e)&&(this._modiferPressed=!0),this._mouseDown&&d(e)&&this._editor.updateOptions({mouseStyle:"copy"}))},e.prototype.onEditorKeyUp=function(t){this._editor.getConfiguration().dragAndDrop&&(d(t)&&(this._modiferPressed=!1),this._mouseDown&&t.keyCode===e.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))},e.prototype._onEditorMouseDown=function(e){this._mouseDown=!0},e.prototype._onEditorMouseUp=function(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})},e.prototype._onEditorMouseDrag=function(e){var t=e.target;if(null===this._dragSelection){var o=this._editor.getSelections().filter((function(e){return e.containsPosition(t.position)}));if(1!==o.length)return;this._dragSelection=o[0]}d(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position)},e.prototype._onEditorMouseDrop=function(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){var o=new a.a(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection)if(t.event.shiftKey){var n=this._editor.getSelection(),i=n.startLineNumber,r=n.startColumn;this._editor.setSelections([new u.a(i,r,o.lineNumber,o.column)])}else{var s=this._editor.getSelections().map((function(e){return e.containsPosition(o)?new u.a(o.lineNumber,o.column,o.lineNumber,o.column):e}));this._editor.setSelections(s)}else(!this._dragSelection.containsPosition(o)||(d(t.event)||this._modiferPressed)&&(this._dragSelection.getEndPosition().equals(o)||this._dragSelection.getStartPosition().equals(o)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(e.ID,new c(this._dragSelection,o,d(t.event)||this._modiferPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1},e.prototype.showAt=function(t){var o=[{range:new l.a(t.lineNumber,t.column,t.lineNumber,t.column),options:e._DECORATION_OPTIONS}];this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,o),this._editor.revealPosition(t,1)},e.prototype._removeDecoration=function(){this._dndDecorationIds=this._editor.deltaDecorations(this._dndDecorationIds,[])},e.prototype._hitContent=function(e){return e.type===r.b.CONTENT_TEXT||e.type===r.b.CONTENT_EMPTY},e.prototype._hitMargin=function(e){return e.type===r.b.GUTTER_GLYPH_MARGIN||e.type===r.b.GUTTER_LINE_NUMBERS||e.type===r.b.GUTTER_LINE_DECORATIONS},e.prototype.getId=function(){return e.ID},e.prototype.dispose=function(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modiferPressed=!1,this._toUnhook=Object(n.d)(this._toUnhook)},e.ID="editor.contrib.dragAndDrop",e.TRIGGER_KEY_VALUE=i.d?6:5,e._DECORATION_OPTIONS=h.a.register({className:"dnd-target"}),e}();Object(s.h)(g)},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(5),s=o(3),a=o(2),l=function(){function e(e,t){this._selection=e,this._isMovingLeft=t}return e.prototype.getEditOperations=function(e,t){var o=this._selection;if(this._selectionId=t.trackSelection(o),o.startLineNumber===o.endLineNumber&&(!this._isMovingLeft||0!==o.startColumn)&&(this._isMovingLeft||o.endColumn!==e.getLineMaxColumn(o.startLineNumber))){var n,i,r,s=o.selectionStartLineNumber,l=e.getLineContent(s);this._isMovingLeft?(n=l.substring(0,o.startColumn-2),i=l.substring(o.startColumn-1,o.endColumn-1),r=l.substring(o.startColumn-2,o.startColumn-1)+l.substring(o.endColumn-1)):(n=l.substring(0,o.startColumn-1)+l.substring(o.endColumn-1,o.endColumn),i=l.substring(o.startColumn-1,o.endColumn-1),r=l.substring(o.endColumn));var u=n+i+r;t.addEditOperation(new a.a(s,1,s,e.getLineMaxColumn(s)),null),t.addEditOperation(new a.a(s,1,s,1),u),this._cutStartIndex=o.startColumn+(this._isMovingLeft?-1:1),this._cutEndIndex=this._cutStartIndex+o.endColumn-o.startColumn,this._moved=!0}},e.prototype.computeCursorState=function(e,t){var o=t.getTrackedSelection(this._selectionId);return this._moved&&(o=(o=o.setStartPosition(o.startLineNumber,this._cutStartIndex)).setEndPosition(o.startLineNumber,this._cutEndIndex)),o},e}(),u=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),c=function(e){function t(t,o){var n=e.call(this,o)||this;return n.left=t,n}return u(t,e),t.prototype.run=function(e,t){for(var o=[],n=t.getSelections(),i=0;i<n.length;i++)o.push(new l(n[i],this.left));t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()},t}(s.b),h=function(e){function t(){return e.call(this,!0,{id:"editor.action.moveCarretLeftAction",label:i.a("caret.moveLeft","Move Caret Left"),alias:"Move Caret Left",precondition:r.a.writable})||this}return u(t,e),t}(c),d=function(e){function t(){return e.call(this,!1,{id:"editor.action.moveCarretRightAction",label:i.a("caret.moveRight","Move Caret Right"),alias:"Move Caret Right",precondition:r.a.writable})||this}return u(t,e),t}(c);Object(s.f)(h),Object(s.f)(d)},function(e,t,o){"use strict";o.r(t);var n=o(0),i=o(13),r=o(10),s=o(12),a=o(129),l=o(3),u=o(5),c=(o(483),o(6)),h=o(2),d=o(16),g=o(19),p=o(7),f=o(9),m=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},_=function(e,t){return function(o,n){t(o,n,e)}},y=function(){function e(e,t){var o=this;this.themeService=t,this._disposables=[],this.allowEditorOverflow=!0,this._currentAcceptInput=null,this._currentCancelInput=null,this._editor=e,this._editor.addContentWidget(this),this._disposables.push(e.onDidChangeConfiguration((function(e){e.fontInfo&&o.updateFont()}))),this._disposables.push(t.onThemeChange((function(e){return o.onThemeChange(e)})))}return e.prototype.onThemeChange=function(e){this.updateStyles(e)},e.prototype.dispose=function(){this._disposables=Object(c.d)(this._disposables),this._editor.removeContentWidget(this)},e.prototype.getId=function(){return"__renameInputWidget"},e.prototype.getDomNode=function(){return this._domNode||(this._inputField=document.createElement("input"),this._inputField.className="rename-input",this._inputField.type="text",this._inputField.setAttribute("aria-label",Object(n.a)("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode=document.createElement("div"),this._domNode.style.height=this._editor.getConfiguration().lineHeight+"px",this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputField),this.updateFont(),this.updateStyles(this.themeService.getTheme())),this._domNode},e.prototype.updateStyles=function(e){if(this._inputField){var t=e.getColor(p.K),o=e.getColor(p.M),n=e.getColor(p.rb),i=e.getColor(p.L);this._inputField.style.backgroundColor=t?t.toString():null,this._inputField.style.color=o?o.toString():null,this._inputField.style.borderWidth=i?"1px":"0px",this._inputField.style.borderStyle=i?"solid":"none",this._inputField.style.borderColor=i?i.toString():"none",this._domNode.style.boxShadow=n?" 0 2px 8px "+n:null}},e.prototype.updateFont=function(){if(this._inputField){var e=this._editor.getConfiguration().fontInfo;this._inputField.style.fontFamily=e.fontFamily,this._inputField.style.fontWeight=e.fontWeight,this._inputField.style.fontSize=e.fontSize+"px"}},e.prototype.getPosition=function(){return this._visible?{position:this._position,preference:[d.a.BELOW,d.a.ABOVE]}:null},e.prototype.acceptInput=function(){this._currentAcceptInput&&this._currentAcceptInput()},e.prototype.cancelInput=function(e){this._currentCancelInput&&this._currentCancelInput(e)},e.prototype.getInput=function(e,t,o,n){var i=this;this._position=new f.a(e.startLineNumber,e.startColumn),this._inputField.value=t,this._inputField.setAttribute("selectionStart",o.toString()),this._inputField.setAttribute("selectionEnd",n.toString()),this._inputField.size=Math.max(1.1*(e.endColumn-e.startColumn),20);var s,a=[];return s=function(){Object(c.d)(a),i._hide()},new r.b((function(o){i._currentCancelInput=function(e){return i._currentAcceptInput=null,i._currentCancelInput=null,o(e),!0},i._currentAcceptInput=function(){0!==i._inputField.value.trim().length&&i._inputField.value!==t?(i._currentAcceptInput=null,i._currentCancelInput=null,o(i._inputField.value)):i.cancelInput(!0)};a.push(i._editor.onDidChangeCursorSelection((function(){h.a.containsPosition(e,i._editor.getPosition())||i.cancelInput(!0)}))),a.push(i._editor.onDidBlurEditorWidget((function(){return i.cancelInput(!1)}))),i._show()}),(function(){i._currentCancelInput(!0)})).then((function(e){return s(),e}),(function(e){return s(),r.b.wrapError(e)}))},e.prototype._show=function(){var e=this;this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._editor.layoutContentWidget(this),setTimeout((function(){e._inputField.focus(),e._inputField.setSelectionRange(parseInt(e._inputField.getAttribute("selectionStart")),parseInt(e._inputField.getAttribute("selectionEnd")))}),100)},e.prototype._hide=function(){this._visible=!1,this._editor.layoutContentWidget(this)},e=m([_(1,g.c)],e)}(),v=o(17),b=o(11),E=o(58),C=o(142),S=o(90),T=o(45),w=o(156),k=o(33),O=o(36);o.d(t,"rename",(function(){return M})),o.d(t,"RenameAction",(function(){return F}));var R,N=(R=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}R(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),L=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},I=function(e,t){return function(o,n){t(o,n,e)}},D=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},A=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},P=function(){function e(e,t){this.model=e,this.position=t,this._provider=b.s.ordered(e)}return e.prototype.hasProvider=function(){return this._provider.length>0},e.prototype.resolveRenameLocation=function(){return D(this,void 0,void 0,(function(){var e,t,o,n=this;return A(this,(function(i){switch(i.label){case 0:return(e=this._provider[0]).resolveRenameLocation?[4,Object(v.h)((function(t){return e.resolveRenameLocation(n.model,n.position,t)}))]:[3,2];case 1:t=i.sent(),i.label=2;case 2:return t||(o=this.model.getWordAtPosition(this.position))&&(t={range:new h.a(this.position.lineNumber,o.startColumn,this.position.lineNumber,o.endColumn),text:o.word}),[2,t]}}))}))},e.prototype.provideRenameEdits=function(e,t,o,i){return void 0===t&&(t=0),void 0===o&&(o=[]),void 0===i&&(i=this.position),D(this,void 0,void 0,(function(){var i,r,s=this;return A(this,(function(a){switch(a.label){case 0:return t>=this._provider.length?[2,{edits:void 0,rejectReason:o.join("\n")}]:(i=this._provider[t],[4,Object(v.h)((function(t){return i.provideRenameEdits(s.model,s.position,e,t)}))]);case 1:return(r=a.sent())?r.rejectReason?[2,this.provideRenameEdits(e,t+1,o.concat(r.rejectReason))]:[2,r]:[2,this.provideRenameEdits(e,t+1,o.concat(n.a("no result","No result.")))]}}))}))},e}();function M(e,t,o){return D(this,void 0,void 0,(function(){return A(this,(function(n){return[2,new P(e,t).provideRenameEdits(o)]}))}))}var x=new s.f("renameInputVisible",!1),B=function(){function e(e,t,o,n,i,r){this.editor=e,this._notificationService=t,this._bulkEditService=o,this._progressService=n,this._renameInputField=new y(e,r),this._renameInputVisible=x.bindTo(i)}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){this._renameInputField.dispose()},e.prototype.getId=function(){return e.ID},e.prototype.run=function(){return D(this,void 0,void 0,(function(){var e,t,o,i,s,a,l,u=this;return A(this,(function(c){switch(c.label){case 0:if(e=this.editor.getPosition(),!(t=new P(this.editor.getModel(),e)).hasProvider())return[2,void 0];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,t.resolveRenameLocation()];case 2:return o=c.sent(),[3,4];case 3:return i=c.sent(),C.a.get(this.editor).showMessage(i,e),[2,void 0];case 4:return o?(s=this.editor.getSelection(),a=0,l=o.text.length,h.a.isEmpty(s)||h.a.spansMultipleLines(s)||!h.a.containsRange(o.range,s)||(a=Math.max(0,s.startColumn-o.range.startColumn),l=Math.min(o.range.endColumn,s.endColumn)-o.range.startColumn),this._renameInputVisible.set(!0),[2,this._renameInputField.getInput(o.range,o.text,a,l).then((function(e){if(u._renameInputVisible.reset(),"boolean"!=typeof e){u.editor.focus();var i=new S.a(u.editor,15),s=r.b.wrap(t.provideRenameEdits(e,0,[],h.a.lift(o.range).getStartPosition()).then((function(t){if(!t.rejectReason)return u._bulkEditService.apply(t,{editor:u.editor}).then((function(t){t.ariaSummary&&Object(E.a)(n.a("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,e,t.ariaSummary))}));i.validate(u.editor)?C.a.get(u.editor).showMessage(t.rejectReason,u.editor.getPosition()):u._notificationService.info(t.rejectReason)}),(function(e){return u._notificationService.error(n.a("rename.failed","Rename failed to execute.")),r.b.wrapError(e)})));return u._progressService.showWhile(s,250),s}e&&u.editor.focus()}),(function(e){return u._renameInputVisible.reset(),r.b.wrapError(e)}))]):[2,void 0]}}))}))},e.prototype.acceptRenameInput=function(){this._renameInputField.acceptInput()},e.prototype.cancelRenameInput=function(){this._renameInputField.cancelInput(!0)},e.ID="editor.contrib.renameController",e=L([I(1,T.a),I(2,w.a),I(3,a.a),I(4,s.e),I(5,g.c)],e)}(),F=function(e){function t(){return e.call(this,{id:"editor.action.rename",label:n.a("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:s.d.and(u.a.writable,u.a.hasRenameProvider),kbOpts:{kbExpr:u.a.editorTextFocus,primary:60,weight:100},menuOpts:{group:"1_modification",order:1.1}})||this}return N(t,e),t.prototype.runCommand=function(t,o){var n=this,r=t.get(O.a),s=o||[void 0,void 0],a=s[0],l=s[1];return k.a.isUri(a)&&f.a.isIPosition(l)?r.openCodeEditor({resource:a},r.getActiveCodeEditor()).then((function(e){e.setPosition(l),e.invokeWithinContext((function(t){return n.reportTelemetry(t,e),n.run(t,e)}))}),i.e):e.prototype.runCommand.call(this,t,o)},t.prototype.run=function(e,t){var o=B.get(t);if(o)return r.b.wrap(o.run())},t}(l.b);Object(l.h)(B),Object(l.f)(F);var H=l.c.bindToContribution(B.get);Object(l.g)(new H({id:"acceptRenameInput",precondition:x,handler:function(e){return e.acceptRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:3}})),Object(l.g)(new H({id:"cancelRenameInput",precondition:x,handler:function(e){return e.cancelRenameInput()},kbOpts:{weight:199,kbExpr:u.a.focus,primary:9,secondary:[1033]}})),Object(l.e)("_executeDocumentRenameProvider",(function(e,t,o){var n=o.newName;if("string"!=typeof n)throw Object(i.b)("newName");return M(e,t,n)}))},function(e,t,o){"use strict";o.r(t);o(480);var n=o(0),i=o(13),r=o(15),s=o(82),a=o(3),l=o(11),u=o(16),c=o(33),h=o(10),d=o(2),g=o(17),p=o(37),f=o(60),m=o(48),_=function(){function e(e,t){this._link=e,this._provider=t}return e.prototype.toJSON=function(){return{range:this.range,url:this.url}},Object.defineProperty(e.prototype,"range",{get:function(){return this._link.range},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._link.url},enumerable:!0,configurable:!0}),e.prototype.resolve=function(){var e=this;if(this._link.url)try{return h.b.as(c.a.parse(this._link.url))}catch(e){return h.b.wrapError(new Error("invalid"))}return"function"==typeof this._provider.resolveLink?Object(g.h)((function(t){return e._provider.resolveLink(e._link,t)})).then((function(t){return e._link=t||e._link,e._link.url?e.resolve():h.b.wrapError(new Error("missing"))})):h.b.wrapError(new Error("missing"))},e}();function y(e,t){var o=[],n=l.p.ordered(e).reverse().map((function(n){return Promise.resolve(n.provideLinks(e,t)).then((function(e){if(Array.isArray(e)){var t=e.map((function(e){return new _(e,n)}));o=function(e,t){var o,n,i,r,s=[];for(o=0,i=0,n=e.length,r=t.length;o<n&&i<r;){var a=e[o],l=t[i];if(d.a.areIntersectingOrTouching(a.range,l.range))o++;else d.a.compareRangesUsingStarts(a.range,l.range)<0?(s.push(a),o++):(s.push(l),i++)}for(;o<n;o++)s.push(e[o]);for(;i<r;i++)s.push(t[i]);return s}(o,t)}}),i.f)}));return Promise.all(n).then((function(){return o}))}p.a.registerCommand("_executeLinkProvider",(function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=t[0];if(n instanceof c.a){var i=e.get(f.a).getModel(n);if(i)return y(i,m.a.None)}}));var v,b=o(6),E=o(19),C=o(7),S=o(26),T=o(209),w=o(71),k=o(18),O=o(45),R=(v=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}v(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),N=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},L=function(e,t){return function(o,n){t(o,n,e)}},I=function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},D=function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},A=(new w.a).appendText(r.d?n.a("links.navigate.mac","Cmd + click to follow link"):n.a("links.navigate","Ctrl + click to follow link")),P=(new w.a).appendText(r.d?n.a("links.command.mac","Cmd + click to execute command"):n.a("links.command","Ctrl + click to execute command")),M=(new w.a).appendText(r.d?n.a("links.navigate.al.mac","Option + click to follow link"):n.a("links.navigate.al","Alt + click to follow link")),x=(new w.a).appendText(r.d?n.a("links.command.al.mac","Option + click to execute command"):n.a("links.command.al","Alt + click to execute command")),B={meta:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:A}),metaActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:A}),alt:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:M}),altActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:M}),altCommand:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:x}),altCommandActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:x}),metaCommand:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link",hoverMessage:P}),metaCommandActive:S.a.register({stickiness:k.h.NeverGrowsWhenTypingAtEdges,inlineClassName:"detected-link-active",hoverMessage:P})},F=function(){function e(e,t){this.link=e,this.decorationId=t}return e.decoration=function(t,o){return{range:t.range,options:e._getOptions(t,o,!1)}},e._getOptions=function(e,t,o){return/^command:/i.test(e.url)?t?o?B.metaCommandActive:B.metaCommand:o?B.altCommandActive:B.altCommand:t?o?B.metaActive:B.meta:o?B.altActive:B.alt},e.prototype.activate=function(t,o){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,o,!0))},e.prototype.deactivate=function(t,o){t.changeDecorationOptions(this.decorationId,e._getOptions(this.link,o,!1))},e}(),H=function(){function e(e,t,o){var n=this;this.editor=e,this.openerService=t,this.notificationService=o,this.listenersToRemove=[];var i=new T.a(e);this.listenersToRemove.push(i),this.listenersToRemove.push(i.onMouseMoveOrRelevantKeyDown((function(e){var t=e[0],o=e[1];n._onEditorMouseMove(t,o)}))),this.listenersToRemove.push(i.onExecute((function(e){n.onEditorMouseUp(e)}))),this.listenersToRemove.push(i.onCancel((function(e){n.cleanUpActiveLinkDecoration()}))),this.enabled=e.getConfiguration().contribInfo.links,this.listenersToRemove.push(e.onDidChangeConfiguration((function(t){var o=e.getConfiguration().contribInfo.links;n.enabled!==o&&(n.enabled=o,n.updateDecorations([]),n.stop(),n.beginCompute())}))),this.listenersToRemove.push(e.onDidChangeModelContent((function(e){return n.onChange()}))),this.listenersToRemove.push(e.onDidChangeModel((function(e){return n.onModelChanged()}))),this.listenersToRemove.push(e.onDidChangeModelLanguage((function(e){return n.onModelModeChanged()}))),this.listenersToRemove.push(l.p.onDidChange((function(e){return n.onModelModeChanged()}))),this.timeout=new g.f,this.computePromise=null,this.currentOccurrences={},this.activeLinkDecorationId=null,this.beginCompute()}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.getId=function(){return e.ID},e.prototype.onModelChanged=function(){this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.beginCompute()},e.prototype.onModelModeChanged=function(){this.stop(),this.beginCompute()},e.prototype.onChange=function(){var t=this;this.timeout.setIfNotSet((function(){return t.beginCompute()}),e.RECOMPUTE_TIME)},e.prototype.beginCompute=function(){return I(this,void 0,void 0,(function(){var e,t,o=this;return D(this,(function(n){switch(n.label){case 0:if(!this.editor.getModel()||!this.enabled)return[2];if(!l.p.has(this.editor.getModel()))return[2];this.computePromise=g.i((function(e){return y(o.editor.getModel(),e)})),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,this.computePromise];case 2:return e=n.sent(),this.updateDecorations(e),[3,5];case 3:return t=n.sent(),Object(i.e)(t),[3,5];case 4:return this.computePromise=null,[7];case 5:return[2]}}))}))},e.prototype.updateDecorations=function(e){for(var t="altKey"===this.editor.getConfiguration().multiCursorModifier,o=[],n=Object.keys(this.currentOccurrences),i=0,r=n.length;i<r;i++){var s=n[i],a=this.currentOccurrences[s];o.push(a.decorationId)}var l=[];if(e)for(i=0;i<e.length;i++)l.push(F.decoration(e[i],t));var u=this.editor.deltaDecorations(o,l);this.currentOccurrences={},this.activeLinkDecorationId=null;for(i=0,r=u.length;i<r;i++){a=new F(e[i],u[i]);this.currentOccurrences[a.decorationId]=a}},e.prototype._onEditorMouseMove=function(e,t){var o=this,n="altKey"===this.editor.getConfiguration().multiCursorModifier;if(this.isEnabled(e,t)){this.cleanUpActiveLinkDecoration();var i=this.getLinkOccurrence(e.target.position);i&&this.editor.changeDecorations((function(e){i.activate(e,n),o.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()},e.prototype.cleanUpActiveLinkDecoration=function(){var e="altKey"===this.editor.getConfiguration().multiCursorModifier;if(this.activeLinkDecorationId){var t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations((function(o){t.deactivate(o,e)})),this.activeLinkDecorationId=null}},e.prototype.onEditorMouseUp=function(e){if(this.isEnabled(e)){var t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier)}},e.prototype.openLinkOccurrence=function(e,t){var o=this;if(this.openerService){var r=e.link;r.resolve().then((function(e){return o.openerService.open(e,{openToSide:t})}),(function(e){"invalid"===e?o.notificationService.warn(n.a("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url)):"missing"===e?o.notificationService.warn(n.a("missing.url","Failed to open this link because its target is missing.")):Object(i.e)(e)})).done(null,i.e)}},e.prototype.getLinkOccurrence=function(e){for(var t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0),o=0;o<t.length;o++){var n=t[o],i=this.currentOccurrences[n.id];if(i)return i}return null},e.prototype.isEnabled=function(e,t){return e.target.type===u.b.CONTENT_TEXT&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey)},e.prototype.stop=function(){this.timeout.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)},e.prototype.dispose=function(){this.listenersToRemove=Object(b.d)(this.listenersToRemove),this.stop(),this.timeout.dispose()},e.ID="editor.linkDetector",e.RECOMPUTE_TIME=1e3,e=N([L(1,s.a),L(2,O.a)],e)}(),U=function(e){function t(){return e.call(this,{id:"editor.action.openLink",label:n.a("label","Open Link"),alias:"Open Link",precondition:null})||this}return R(t,e),t.prototype.run=function(e,t){var o=H.get(t);if(o)for(var n=0,i=t.getSelections();n<i.length;n++){var r=i[n],s=o.getLinkOccurrence(r.getEndPosition());s&&o.openLinkOccurrence(s,!1)}},t}(a.b);Object(a.h)(H),Object(a.f)(U),Object(E.e)((function(e,t){var o=e.getColor(C.m);o&&t.addRule(".monaco-editor .detected-link-active { color: "+o+" !important; }")}))},function(e,t,o){"use strict";o.r(t);var n,i=o(0),r=o(10),s=o(2),a=o(23),l=o(5),u=o(3),c=o(91),h=function(){function e(e,t,o){this._editRange=e,this._originalSelection=t,this._text=o}return e.prototype.getEditOperations=function(e,t){t.addTrackedEditOperation(this._editRange,this._text)},e.prototype.computeCursorState=function(e,t){var o=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new a.a(o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn),o.endLineNumber,Math.min(this._originalSelection.positionColumn,o.endColumn)):new a.a(o.endLineNumber,o.endColumn-this._text.length,o.endLineNumber,o.endColumn)},e}(),d=o(90),g=o(19),p=o(29),f=o(26),m=o(17),_=o(13),y=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),v=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},b=function(e,t){return function(o,n){t(o,n,e)}},E=function(){function e(e,t){this.decorationIds=[],this.editor=e,this.editorWorkerService=t}return e.get=function(t){return t.getContribution(e.ID)},e.prototype.dispose=function(){},e.prototype.getId=function(){return e.ID},e.prototype.run=function(t,o){var n=this;this.currentRequest&&this.currentRequest.cancel();var i=this.editor.getSelection(),r=this.editor.getModel().uri;if(i.startLineNumber!==i.endLineNumber)return null;var l=new d.a(this.editor,5);return this.editorWorkerService.canNavigateValueSet(r)?(this.currentRequest=Object(m.i)((function(e){return n.editorWorkerService.navigateValueSet(r,i,o)})),this.currentRequest.then((function(o){if(o&&o.range&&o.value&&l.validate(n.editor)){var r=s.a.lift(o.range),u=o.range,c=o.value.length-(i.endColumn-i.startColumn);u={startLineNumber:u.startLineNumber,startColumn:u.startColumn,endLineNumber:u.endLineNumber,endColumn:u.startColumn+o.value.length},c>1&&(i=new a.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+c-1));var d=new h(r,i,o.value);n.editor.pushUndoStop(),n.editor.executeCommand(t,d),n.editor.pushUndoStop(),n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[{range:u,options:e.DECORATION}]),n.decorationRemover&&n.decorationRemover.cancel(),n.decorationRemover=Object(m.m)(350),n.decorationRemover.then((function(){return n.decorationIds=n.editor.deltaDecorations(n.decorationIds,[])})).catch(_.e)}})).catch(_.e)):void 0},e.ID="editor.contrib.inPlaceReplaceController",e.DECORATION=f.a.register({className:"valueSetReplacement"}),e=v([b(1,c.a)],e)}(),C=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.up",label:i.a("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3154,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!0))},t}(u.b),S=function(e){function t(){return e.call(this,{id:"editor.action.inPlaceReplace.down",label:i.a("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:l.a.writable,kbOpts:{kbExpr:l.a.editorTextFocus,primary:3156,weight:100}})||this}return y(t,e),t.prototype.run=function(e,t){var o=E.get(t);if(o)return r.b.wrap(o.run(this.id,!1))},t}(u.b);Object(u.h)(E),Object(u.f)(C),Object(u.f)(S),Object(g.e)((function(e,t){var o=e.getColor(p.d);o&&t.addRule(".monaco-editor.vs .valueSetReplacement { outline: solid 2px "+o+"; }")}))},function(e,t,o){"use strict";o.d(t,"a",(function(){return u}));var n=o(76),i=o(30),r=o(2),s=o(6),a=o(4),l={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},u=function(){function e(e,t){void 0===t&&(t={});var o=this;this._onDidUpdate=new a.a,this._editor=e,this._options=i.g(t,l,!1),this.disposed=!1,this._disposables=[],this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=this._options.alwaysRevealFirst,this._disposables.push(this._editor.onDidDispose((function(){return o.dispose()}))),this._disposables.push(this._editor.onDidUpdateDiff((function(){return o._onDiffUpdated()}))),this._options.followsCaret&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeCursorPosition((function(e){o.ignoreSelectionChange||(o.nextIdx=-1)}))),this._options.alwaysRevealFirst&&this._disposables.push(this._editor.getModifiedEditor().onDidChangeModel((function(e){o.revealFirst=!0}))),this._init()}return e.prototype._init=function(){this._editor.getLineChanges()},e.prototype._onDiffUpdated=function(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&null!==this._editor.getLineChanges()&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))},e.prototype._compute=function(e){var t=this;this.ranges=[],e&&e.forEach((function(e){!t._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach((function(e){t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})})):t.ranges.push({rhs:!0,range:new r.a(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber,1)})})),this.ranges.sort((function(e,t){return e.range.getStartPosition().isBeforeOrEqual(t.range.getStartPosition())?-1:t.range.getStartPosition().isBeforeOrEqual(e.range.getStartPosition())?1:0})),this._onDidUpdate.fire(this)},e.prototype._initIdx=function(e){for(var t=!1,o=this._editor.getPosition(),n=0,i=this.ranges.length;n<i&&!t;n++){var r=this.ranges[n].range;o.isBeforeOrEqual(r.getStartPosition())&&(this.nextIdx=n+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)},e.prototype._move=function(e,t){if(n.a(!this.disposed,"Illegal State - diff navigator has been disposed"),this.canNavigate()){-1===this.nextIdx?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(this.nextIdx-=1,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));var o=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{var i=o.range.getStartPosition();this._editor.setPosition(i),this._editor.revealPositionInCenter(i,t)}finally{this.ignoreSelectionChange=!1}}},e.prototype.canNavigate=function(){return this.ranges&&this.ranges.length>0},e.prototype.next=function(e){void 0===e&&(e=0),this._move(!0,e)},e.prototype.previous=function(e){void 0===e&&(e=0),this._move(!1,e)},e.prototype.dispose=function(){Object(s.d)(this._disposables),this._disposables.length=0,this._onDidUpdate.dispose(),this.ranges=null,this.disposed=!0},e}()},function(e,t,o){"use strict";o(490);var n,i=o(0),r=o(17),s=o(6),a=o(30),l=o(1),u=o(28),c=o(93),h=o(22),d=o(12),g=o(36),p=o(2),f=o(52),m=o(91),_=o(123),y=o(68),v=o(140),b=o(70),E=o(54),C=o(117),S=o(4),T=o(27),w=o(19),k=o(7),O=o(145),R=o(26),N=(o(491),o(87)),L=o(9),I=o(81),D=o(29),A=o(74),P=o(78),M=o(3),x=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),B=function(){function e(e,t,o,n){this.originalLineStart=e,this.originalLineEnd=t,this.modifiedLineStart=o,this.modifiedLineEnd=n}return e.prototype.getType=function(){return 0===this.originalLineStart?1:0===this.modifiedLineStart?2:0},e}(),F=function(e){this.entries=e},H=function(e){function t(t){var o=e.call(this)||this;return o._width=0,o._diffEditor=t,o._isVisible=!1,o.shadow=Object(u.b)(document.createElement("div")),o.shadow.setClassName("diff-review-shadow"),o.actionBarContainer=Object(u.b)(document.createElement("div")),o.actionBarContainer.setClassName("diff-review-actions"),o._actionBar=o._register(new A.a(o.actionBarContainer.domNode)),o._actionBar.push(new P.a("diffreview.close",i.a("label.close","Close"),"close-diff-review",!0,(function(){return o.hide(),null})),{label:!1,icon:!0}),o.domNode=Object(u.b)(document.createElement("div")),o.domNode.setClassName("diff-review monaco-editor-background"),o._content=Object(u.b)(document.createElement("div")),o._content.setClassName("diff-review-content"),o.scrollbar=o._register(new I.a(o._content.domNode,{})),o.domNode.domNode.appendChild(o.scrollbar.getDomNode()),o._register(t.onDidUpdateDiff((function(){o._isVisible&&(o._diffs=o._compute(),o._render())}))),o._register(t.getModifiedEditor().onDidChangeCursorPosition((function(){o._isVisible&&o._render()}))),o._register(t.getOriginalEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(t.getModifiedEditor().onDidFocusEditorWidget((function(){o._isVisible&&o.hide()}))),o._register(l.j(o.domNode.domNode,"click",(function(e){e.preventDefault();var t=l.p(e.target,"diff-review-row");t&&o._goToRow(t)}))),o._register(l.j(o.domNode.domNode,"keydown",(function(e){(e.equals(18)||e.equals(2066)||e.equals(530))&&(e.preventDefault(),o._goToRow(o._getNextRow())),(e.equals(16)||e.equals(2064)||e.equals(528))&&(e.preventDefault(),o._goToRow(o._getPrevRow())),(e.equals(9)||e.equals(2057)||e.equals(521)||e.equals(1033))&&(e.preventDefault(),o.hide()),(e.equals(10)||e.equals(3))&&(e.preventDefault(),o.accept())}))),o._diffs=[],o._currentDiff=null,o}return x(t,e),t.prototype.prev=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o<n;o++)if(this._diffs[o]===this._currentDiff){t=o;break}e=this._diffs.length+t-1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new L.a(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.next=function(){var e=0;if(this._isVisible||(this._diffs=this._compute()),this._isVisible){for(var t=-1,o=0,n=this._diffs.length;o<n;o++)if(this._diffs[o]===this._currentDiff){t=o;break}e=t+1}else e=this._findDiffIndex(this._diffEditor.getPosition());0!==this._diffs.length&&(e%=this._diffs.length,this._diffEditor.setPosition(new L.a(this._diffs[e].entries[0].modifiedLineStart,1)),this._isVisible=!0,this._diffEditor.doLayout(),this._render(),this._goToRow(this._getNextRow()))},t.prototype.accept=function(){var e=-1,t=this._getCurrentFocusedRow();if(t){var o=parseInt(t.getAttribute("data-line"),10);isNaN(o)||(e=o)}this.hide(),-1!==e&&(this._diffEditor.setPosition(new L.a(e,1)),this._diffEditor.revealPosition(new L.a(e,1),1))},t.prototype.hide=function(){this._isVisible=!1,this._diffEditor.focus(),this._diffEditor.doLayout(),this._render()},t.prototype._getPrevRow=function(){var e=this._getCurrentFocusedRow();return e?e.previousElementSibling?e.previousElementSibling:e:this._getFirstRow()},t.prototype._getNextRow=function(){var e=this._getCurrentFocusedRow();return e?e.nextElementSibling?e.nextElementSibling:e:this._getFirstRow()},t.prototype._getFirstRow=function(){return this.domNode.domNode.querySelector(".diff-review-row")},t.prototype._getCurrentFocusedRow=function(){var e=document.activeElement;return e&&/diff-review-row/.test(e.className)?e:null},t.prototype._goToRow=function(e){var t=this._getCurrentFocusedRow();e.tabIndex=0,e.focus(),t&&t!==e&&(t.tabIndex=-1),this.scrollbar.scanDomNode()},t.prototype.isVisible=function(){return this._isVisible},t.prototype.layout=function(e,t,o){this._width=t,this.shadow.setTop(e-6),this.shadow.setWidth(t),this.shadow.setHeight(this._isVisible?6:0),this.domNode.setTop(e),this.domNode.setWidth(t),this.domNode.setHeight(o),this._content.setHeight(o),this._content.setWidth(t),this._isVisible?(this.actionBarContainer.setAttribute("aria-hidden","false"),this.actionBarContainer.setDisplay("block")):(this.actionBarContainer.setAttribute("aria-hidden","true"),this.actionBarContainer.setDisplay("none"))},t.prototype._compute=function(){var e=this._diffEditor.getLineChanges();if(!e||0===e.length)return[];var o=this._diffEditor.getOriginalEditor().getModel(),n=this._diffEditor.getModifiedEditor().getModel();return o&&n?t._mergeAdjacent(e,o.getLineCount(),n.getLineCount()):[]},t._mergeAdjacent=function(e,t,o){if(!e||0===e.length)return[];for(var n=[],i=0,r=0,s=e.length;r<s;r++){var a=e[r],l=a.originalStartLineNumber,u=a.originalEndLineNumber,c=a.modifiedStartLineNumber,h=a.modifiedEndLineNumber,d=[],g=0,p=0===u?l:l-1,f=0===h?c:c-1,m=1,_=1;if(r>0){var y=e[r-1];m=0===y.originalEndLineNumber?y.originalStartLineNumber+1:y.originalEndLineNumber+1,_=0===y.modifiedEndLineNumber?y.modifiedStartLineNumber+1:y.modifiedEndLineNumber+1}var v=p-3+1,b=f-3+1;if(v<m)v+=k=m-v,b+=k;if(b<_)v+=k=_-b,b+=k;d[g++]=new B(v,p,b,f),0!==u&&(d[g++]=new B(l,u,0,0)),0!==h&&(d[g++]=new B(0,0,c,h));var E=0===u?l+1:u+1,C=0===h?c+1:h+1,S=t,T=o;if(r+1<s){var w=e[r+1];S=0===w.originalEndLineNumber?w.originalStartLineNumber:w.originalStartLineNumber-1,T=0===w.modifiedEndLineNumber?w.modifiedStartLineNumber:w.modifiedStartLineNumber-1}var k,O=E+3-1,R=C+3-1;if(O>S)O+=k=S-O,R+=k;if(R>T)O+=k=T-R,R+=k;d[g++]=new B(E,O,C,R),n[i++]=new F(d)}var N=n[0].entries,L=[],I=0;for(r=1,s=n.length;r<s;r++){var D=n[r].entries,A=N[N.length-1],P=D[0];0===A.getType()&&0===P.getType()&&P.originalLineStart<=A.originalLineEnd?(N[N.length-1]=new B(A.originalLineStart,P.originalLineEnd,A.modifiedLineStart,P.modifiedLineEnd),N=N.concat(D.slice(1))):(L[I++]=new F(N),N=D)}return L[I++]=new F(N),L},t.prototype._findDiffIndex=function(e){for(var t=e.lineNumber,o=0,n=this._diffs.length;o<n;o++){var i=this._diffs[o].entries;if(t<=i[i.length-1].modifiedLineEnd)return o}return 0},t.prototype._render=function(){var e=this._diffEditor.getOriginalEditor().getConfiguration(),o=this._diffEditor.getModifiedEditor().getConfiguration(),n=this._diffEditor.getOriginalEditor().getModel(),r=this._diffEditor.getModifiedEditor().getModel(),s=n.getOptions(),a=r.getOptions();if(!this._isVisible||!n||!r)return l.l(this._content.domNode),this._currentDiff=null,void this.scrollbar.scanDomNode();var u=this._diffEditor.getPosition(),c=this._findDiffIndex(u);if(this._diffs[c]!==this._currentDiff){this._currentDiff=this._diffs[c];var h=this._diffs[c].entries,d=document.createElement("div");d.className="diff-review-table",d.setAttribute("role","list"),b.a.applyFontInfoSlow(d,o.fontInfo);for(var g=0,p=0,f=0,m=0,_=0,y=h.length;_<y;_++){var v=(D=h[_]).originalLineStart,E=D.originalLineEnd,C=D.modifiedLineStart,S=D.modifiedLineEnd;0!==v&&(0===g||v<g)&&(g=v),0!==E&&(0===p||E>p)&&(p=E),0!==C&&(0===f||C<f)&&(f=C),0!==S&&(0===m||S>m)&&(m=S)}var T=document.createElement("div");T.className="diff-review-row";var w=document.createElement("div");w.className="diff-review-cell diff-review-summary";var k=p-g+1,O=m-f+1;w.appendChild(document.createTextNode(c+1+"/"+this._diffs.length+": @@ -"+g+","+k+" +"+f+","+O+" @@")),T.setAttribute("data-line",String(f));var R=function(e){return 0===e?i.a("no_lines","no lines"):1===e?i.a("one_line","1 line"):i.a("more_lines","{0} lines",e)},N=R(k),L=R(O);T.setAttribute("aria-label",i.a({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines", "1 line" or "X lines", localized separately.']},"Difference {0} of {1}: original {2}, {3}, modified {4}, {5}",c+1,this._diffs.length,g,N,f,L)),T.appendChild(w),T.setAttribute("role","listitem"),d.appendChild(T);var I=f;for(_=0,y=h.length;_<y;_++){var D=h[_];t._renderSection(d,D,I,this._width,e,n,s,o,r,a),0!==D.modifiedLineStart&&(I=D.modifiedLineEnd)}l.l(this._content.domNode),this._content.domNode.appendChild(d),this.scrollbar.scanDomNode()}},t._renderSection=function(e,t,o,n,r,s,a,l,u,c){var h=t.getType(),d="diff-review-row",g="",p="diff-review-spacer";switch(h){case 1:d="diff-review-row line-insert",g=" char-insert",p="diff-review-spacer insert-sign";break;case 2:d="diff-review-row line-delete",g=" char-delete",p="diff-review-spacer delete-sign"}for(var f=t.originalLineStart,m=t.originalLineEnd,_=t.modifiedLineStart,y=t.modifiedLineEnd,v=Math.max(y-_,m-f),b=r.layoutInfo.glyphMarginWidth+r.layoutInfo.lineNumbersWidth,E=10+l.layoutInfo.glyphMarginWidth+l.layoutInfo.lineNumbersWidth,C=0;C<=v;C++){var S=0===f?0:f+C,T=0===_?0:_+C,w=document.createElement("div");w.style.minWidth=n+"px",w.className=d,w.setAttribute("role","listitem"),0!==T&&(o=T),w.setAttribute("data-line",String(o));var k=document.createElement("div");k.className="diff-review-cell",w.appendChild(k);var O=document.createElement("span");O.style.width=b+"px",O.style.minWidth=b+"px",O.className="diff-review-line-number"+g,0!==S?O.appendChild(document.createTextNode(String(S))):O.innerHTML="&nbsp;",k.appendChild(O);var R=document.createElement("span");R.style.width=E+"px",R.style.minWidth=E+"px",R.style.paddingRight="10px",R.className="diff-review-line-number"+g,0!==T?R.appendChild(document.createTextNode(String(T))):R.innerHTML="&nbsp;",k.appendChild(R);var N=document.createElement("span");N.className=p,N.innerHTML="&nbsp;&nbsp;",k.appendChild(N);var L=void 0;0!==T?(k.insertAdjacentHTML("beforeend",this._renderLine(u,l,c.tabSize,T)),L=u.getLineContent(T)):(k.insertAdjacentHTML("beforeend",this._renderLine(s,r,a.tabSize,S)),L=s.getLineContent(S)),0===L.length&&(L=i.a("blankLine","blank"));var I=void 0;switch(h){case 0:I=i.a("equalLine","original {0}, modified {1}: {2}",S,T,L);break;case 1:I=i.a("insertLine","+ modified {0}: {1}",T,L);break;case 2:I=i.a("deleteLine","- original {0}: {1}",S,L)}w.setAttribute("aria-label",I),e.appendChild(w)}},t._renderLine=function(e,t,o,n){var i=e.getLineContent(n),r=new Uint32Array(2);r[0]=i.length,r[1]=16793600;var s=new N.a(r,i),a=E.d.isBasicASCII(i,e.mightContainNonBasicASCII()),l=E.d.containsRTL(i,a,e.mightContainRTL());return Object(y.d)(new y.b(t.fontInfo.isMonospace&&!t.viewInfo.disableMonospaceOptimizations,i,!1,a,l,0,s,[],o,t.fontInfo.spaceWidth,t.viewInfo.stopRenderingLineAfter,t.viewInfo.renderWhitespace,t.viewInfo.renderControlCharacters,t.viewInfo.fontLigatures)).html},t}(s.a);Object(w.e)((function(e,t){var o=e.getColor(D.q);o&&t.addRule(".monaco-diff-editor .diff-review-line-number { color: "+o+"; }");var n=e.getColor(k.lb);n&&t.addRule(".monaco-diff-editor .diff-review-shadow { box-shadow: "+n+" 0 -6px 6px -6px inset; }")}));var U=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.next",label:i.a("editor.action.diffReview.next","Go to Next Difference"),alias:"Go to Next Difference",precondition:d.d.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:65,weight:100}})||this}return x(t,e),t.prototype.run=function(e,t){var o=W(e);o&&o.diffReviewNext()},t}(M.b),V=function(e){function t(){return e.call(this,{id:"editor.action.diffReview.prev",label:i.a("editor.action.diffReview.prev","Go to Previous Difference"),alias:"Go to Previous Difference",precondition:d.d.has("isInDiffEditor"),kbOpts:{kbExpr:null,primary:1089,weight:100}})||this}return x(t,e),t.prototype.run=function(e,t){var o=W(e);o&&o.diffReviewPrev()},t}(M.b);function W(e){for(var t=e.get(g.a).listDiffEditors(),o=0,n=t.length;o<n;o++){var i=t[o];if(i.hasWidgetFocus())return i}return null}Object(M.f)(U),Object(M.f)(V);var j=o(159),G=o(45),z=o(90);o.d(t,"a",(function(){return J}));var K=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),Y=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},X=function(e,t){return function(o,n){t(o,n,e)}},q=function(){function e(){this._zones=[],this._zonesMap={},this._decorations=[]}return e.prototype.getForeignViewZones=function(e){var t=this;return e.filter((function(e){return!t._zonesMap[String(e.id)]}))},e.prototype.clean=function(e){var t=this;this._zones.length>0&&e.changeViewZones((function(e){for(var o=0,n=t._zones.length;o<n;o++)e.removeZone(t._zones[o])})),this._zones=[],this._zonesMap={},this._decorations=e.deltaDecorations(this._decorations,[])},e.prototype.apply=function(e,t,o,n){var i=this,r=n?z.b.capture(e):null;e.changeViewZones((function(e){for(var t=0,n=i._zones.length;t<n;t++)e.removeZone(i._zones[t]);i._zones=[],i._zonesMap={};t=0;for(var r=o.zones.length;t<r;t++){o.zones[t].suppressMouseDown=!0;var s=e.addZone(o.zones[t]);i._zones.push(s),i._zonesMap[String(s)]=!0}})),r&&r.restore(e),this._decorations=e.deltaDecorations(this._decorations,o.decorations),t&&t.setZones(o.overviewZones)},e}(),$=0,J=function(e){function t(o,n,i,s,a,c,h,g){var p=e.call(this)||this;p._onDidDispose=p._register(new S.a),p.onDidDispose=p._onDidDispose.event,p._onDidUpdateDiff=p._register(new S.a),p.onDidUpdateDiff=p._onDidUpdateDiff.event,p._lastOriginalWarning=null,p._lastModifiedWarning=null,p._editorWorkerService=i,p._codeEditorService=c,p._contextKeyService=p._register(s.createScoped(o)),p._contextKeyService.createKey("isInDiffEditor",!0),p._themeService=h,p._notificationService=g,p.id=++$,p._domElement=o,n=n||{},p._renderSideBySide=!0,void 0!==n.renderSideBySide&&(p._renderSideBySide=n.renderSideBySide),p._ignoreTrimWhitespace=!0,void 0!==n.ignoreTrimWhitespace&&(p._ignoreTrimWhitespace=n.ignoreTrimWhitespace),p._renderIndicators=!0,void 0!==n.renderIndicators&&(p._renderIndicators=n.renderIndicators),p._originalIsEditable=!1,void 0!==n.originalEditable&&(p._originalIsEditable=Boolean(n.originalEditable)),p._updateDecorationsRunner=p._register(new r.c((function(){return p._updateDecorations()}),0)),p._containerDomElement=document.createElement("div"),p._containerDomElement.className=t._getClassName(p._themeService.getTheme(),p._renderSideBySide),p._containerDomElement.style.position="relative",p._containerDomElement.style.height="100%",p._domElement.appendChild(p._containerDomElement),p._overviewViewportDomElement=Object(u.b)(document.createElement("div")),p._overviewViewportDomElement.setClassName("diffViewport"),p._overviewViewportDomElement.setPosition("absolute"),p._overviewDomElement=document.createElement("div"),p._overviewDomElement.className="diffOverview",p._overviewDomElement.style.position="absolute",p._overviewDomElement.appendChild(p._overviewViewportDomElement.domNode),p._register(l.j(p._overviewDomElement,"mousedown",(function(e){p.modifiedEditor.delegateVerticalScrollbarMouseDown(e)}))),p._containerDomElement.appendChild(p._overviewDomElement),p._createLeftHandSide(),p._createRightHandSide(),p._beginUpdateDecorationsTimeout=-1,p._currentlyChangingViewZones=!1,p._diffComputationToken=0,p._originalEditorState=new q,p._modifiedEditorState=new q,p._isVisible=!0,p._isHandlingScrollEvent=!1,p._width=0,p._height=0,p._reviewHeight=0,p._lineChanges=null;var f=p._contextKeyService.createScoped();f.createKey("isInDiffLeftEditor",!0);var m=new C.a;m.set(d.e,f);var _=a.createChild(m),y=p._contextKeyService.createScoped();y.createKey("isInDiffRightEditor",!0);var v=new C.a;v.set(d.e,y);var b=a.createChild(v);return p._createLeftHandSideEditor(n,_),p._createRightHandSideEditor(n,b),p._reviewPane=new H(p),p._containerDomElement.appendChild(p._reviewPane.domNode.domNode),p._containerDomElement.appendChild(p._reviewPane.shadow.domNode),p._containerDomElement.appendChild(p._reviewPane.actionBarContainer.domNode),n.automaticLayout&&(p._measureDomElementToken=window.setInterval((function(){return p._measureDomElement(!1)}),100)),p._enableSplitViewResizing=!0,void 0!==n.enableSplitViewResizing&&(p._enableSplitViewResizing=n.enableSplitViewResizing),p._renderSideBySide?p._setStrategy(new ne(p._createDataSource(),p._enableSplitViewResizing)):p._setStrategy(new re(p._createDataSource(),p._enableSplitViewResizing)),p._register(h.onThemeChange((function(e){p._strategy&&p._strategy.applyColors(e)&&p._updateDecorationsRunner.schedule(),p._containerDomElement.className=t._getClassName(p._themeService.getTheme(),p._renderSideBySide)}))),p._codeEditorService.addDiffEditor(p),p}return K(t,e),t.prototype.hasWidgetFocus=function(){return l.B(document.activeElement,this._domElement)},t.prototype.diffReviewNext=function(){this._reviewPane.next()},t.prototype.diffReviewPrev=function(){this._reviewPane.prev()},t._getClassName=function(e,t){var o="monaco-diff-editor monaco-editor-background ";return t&&(o+="side-by-side "),o+=Object(w.d)(e.type)},t.prototype._recreateOverviewRulers=function(){this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._originalOverviewRuler=this.originalEditor.createOverviewRuler("original diffOverviewRuler"),this._overviewDomElement.appendChild(this._originalOverviewRuler.getDomNode()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._modifiedOverviewRuler=this.modifiedEditor.createOverviewRuler("modified diffOverviewRuler"),this._overviewDomElement.appendChild(this._modifiedOverviewRuler.getDomNode()),this._layoutOverviewRulers()},t.prototype._createLeftHandSide=function(){this._originalDomNode=document.createElement("div"),this._originalDomNode.className="editor original",this._originalDomNode.style.position="absolute",this._originalDomNode.style.height="100%",this._containerDomElement.appendChild(this._originalDomNode)},t.prototype._createRightHandSide=function(){this._modifiedDomNode=document.createElement("div"),this._modifiedDomNode.className="editor modified",this._modifiedDomNode.style.position="absolute",this._modifiedDomNode.style.height="100%",this._containerDomElement.appendChild(this._modifiedDomNode)},t.prototype._createLeftHandSideEditor=function(e,t){var o=this;this.originalEditor=this._createInnerEditor(t,this._originalDomNode,this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),this._register(this.originalEditor.onDidScrollChange((function(e){o._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(o._isHandlingScrollEvent=!0,o.modifiedEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),o._isHandlingScrollEvent=!1,o._layoutOverviewViewport())}))),this._register(this.originalEditor.onDidChangeViewZones((function(){o._onViewZonesChanged()}))),this._register(this.originalEditor.onDidChangeModelContent((function(){o._isVisible&&o._beginUpdateDecorationsSoon()})))},t.prototype._createRightHandSideEditor=function(e,t){var o=this;this.modifiedEditor=this._createInnerEditor(t,this._modifiedDomNode,this._adjustOptionsForRightHandSide(e)),this._register(this.modifiedEditor.onDidScrollChange((function(e){o._isHandlingScrollEvent||(e.scrollTopChanged||e.scrollLeftChanged||e.scrollHeightChanged)&&(o._isHandlingScrollEvent=!0,o.originalEditor.setScrollPosition({scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}),o._isHandlingScrollEvent=!1,o._layoutOverviewViewport())}))),this._register(this.modifiedEditor.onDidChangeViewZones((function(){o._onViewZonesChanged()}))),this._register(this.modifiedEditor.onDidChangeConfiguration((function(e){e.fontInfo&&o.modifiedEditor.getModel()&&o._onViewZonesChanged()}))),this._register(this.modifiedEditor.onDidChangeModelContent((function(){o._isVisible&&o._beginUpdateDecorationsSoon()})))},t.prototype._createInnerEditor=function(e,t,o){return e.createInstance(v.a,t,o,{})},t.prototype.dispose=function(){this._codeEditorService.removeDiffEditor(this),-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),window.clearInterval(this._measureDomElementToken),this._cleanViewZonesAndDecorations(),this._originalOverviewRuler&&(this._overviewDomElement.removeChild(this._originalOverviewRuler.getDomNode()),this._originalOverviewRuler.dispose()),this._modifiedOverviewRuler&&(this._overviewDomElement.removeChild(this._modifiedOverviewRuler.getDomNode()),this._modifiedOverviewRuler.dispose()),this._overviewDomElement.removeChild(this._overviewViewportDomElement.domNode),this._containerDomElement.removeChild(this._overviewDomElement),this._containerDomElement.removeChild(this._originalDomNode),this.originalEditor.dispose(),this._containerDomElement.removeChild(this._modifiedDomNode),this.modifiedEditor.dispose(),this._strategy.dispose(),this._containerDomElement.removeChild(this._reviewPane.domNode.domNode),this._containerDomElement.removeChild(this._reviewPane.shadow.domNode),this._containerDomElement.removeChild(this._reviewPane.actionBarContainer.domNode),this._reviewPane.dispose(),this._domElement.removeChild(this._containerDomElement),this._onDidDispose.fire(),e.prototype.dispose.call(this)},t.prototype.getId=function(){return this.getEditorType()+":"+this.id},t.prototype.getEditorType=function(){return f.a.IDiffEditor},t.prototype.getLineChanges=function(){return this._lineChanges},t.prototype.getOriginalEditor=function(){return this.originalEditor},t.prototype.getModifiedEditor=function(){return this.modifiedEditor},t.prototype.updateOptions=function(e){var o=!1;void 0!==e.renderSideBySide&&this._renderSideBySide!==e.renderSideBySide&&(this._renderSideBySide=e.renderSideBySide,o=!0);var n=!1;void 0!==e.ignoreTrimWhitespace&&this._ignoreTrimWhitespace!==e.ignoreTrimWhitespace&&(this._ignoreTrimWhitespace=e.ignoreTrimWhitespace,n=!0),void 0!==e.renderIndicators&&this._renderIndicators!==e.renderIndicators&&(this._renderIndicators=e.renderIndicators,n=!0),n&&this._beginUpdateDecorations(),void 0!==e.originalEditable&&(this._originalIsEditable=Boolean(e.originalEditable)),this.modifiedEditor.updateOptions(this._adjustOptionsForRightHandSide(e)),this.originalEditor.updateOptions(this._adjustOptionsForLeftHandSide(e,this._originalIsEditable)),void 0!==e.enableSplitViewResizing&&(this._enableSplitViewResizing=e.enableSplitViewResizing),this._strategy.setEnableSplitViewResizing(this._enableSplitViewResizing),o&&(this._renderSideBySide?this._setStrategy(new ne(this._createDataSource(),this._enableSplitViewResizing)):this._setStrategy(new re(this._createDataSource(),this._enableSplitViewResizing)),this._containerDomElement.className=t._getClassName(this._themeService.getTheme(),this._renderSideBySide))},t.prototype.getModel=function(){return{original:this.originalEditor.getModel(),modified:this.modifiedEditor.getModel()}},t.prototype.setModel=function(e){if(e&&(!e.original||!e.modified))throw new Error(e.original?"DiffEditorWidget.setModel: Modified model is null":"DiffEditorWidget.setModel: Original model is null");this._cleanViewZonesAndDecorations(),this.originalEditor.setModel(e?e.original:null),this.modifiedEditor.setModel(e?e.modified:null),this._updateDecorationsRunner.cancel(),e&&(this.originalEditor.setScrollTop(0),this.modifiedEditor.setScrollTop(0)),this._lineChanges=null,this._diffComputationToken++,e?(this._recreateOverviewRulers(),this._beginUpdateDecorations()):this._lineChanges=null,this._layoutOverviewViewport()},t.prototype.getDomNode=function(){return this._domElement},t.prototype.getVisibleColumnFromPosition=function(e){return this.modifiedEditor.getVisibleColumnFromPosition(e)},t.prototype.getPosition=function(){return this.modifiedEditor.getPosition()},t.prototype.setPosition=function(e){this.modifiedEditor.setPosition(e)},t.prototype.revealLine=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLine(e,t)},t.prototype.revealLineInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenter(e,t)},t.prototype.revealLineInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealLineInCenterIfOutsideViewport(e,t)},t.prototype.revealPosition=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPosition(e,t)},t.prototype.revealPositionInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenter(e,t)},t.prototype.revealPositionInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e,t)},t.prototype.getSelection=function(){return this.modifiedEditor.getSelection()},t.prototype.getSelections=function(){return this.modifiedEditor.getSelections()},t.prototype.setSelection=function(e){this.modifiedEditor.setSelection(e)},t.prototype.setSelections=function(e){this.modifiedEditor.setSelections(e)},t.prototype.revealLines=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLines(e,t,o)},t.prototype.revealLinesInCenter=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLinesInCenter(e,t,o)},t.prototype.revealLinesInCenterIfOutsideViewport=function(e,t,o){void 0===o&&(o=0),this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e,t,o)},t.prototype.revealRange=function(e,t,o,n){void 0===t&&(t=0),void 0===o&&(o=!1),void 0===n&&(n=!0),this.modifiedEditor.revealRange(e,t,o,n)},t.prototype.revealRangeInCenter=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenter(e,t)},t.prototype.revealRangeInCenterIfOutsideViewport=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e,t)},t.prototype.revealRangeAtTop=function(e,t){void 0===t&&(t=0),this.modifiedEditor.revealRangeAtTop(e,t)},t.prototype.getSupportedActions=function(){return this.modifiedEditor.getSupportedActions()},t.prototype.saveViewState=function(){return{original:this.originalEditor.saveViewState(),modified:this.modifiedEditor.saveViewState()}},t.prototype.restoreViewState=function(e){if(e.original&&e.original){var t=e;this.originalEditor.restoreViewState(t.original),this.modifiedEditor.restoreViewState(t.modified)}},t.prototype.layout=function(e){this._measureDomElement(!1,e)},t.prototype.focus=function(){this.modifiedEditor.focus()},t.prototype.hasTextFocus=function(){return this.originalEditor.hasTextFocus()||this.modifiedEditor.hasTextFocus()},t.prototype.trigger=function(e,t,o){this.modifiedEditor.trigger(e,t,o)},t.prototype.changeDecorations=function(e){return this.modifiedEditor.changeDecorations(e)},t.prototype._measureDomElement=function(e,t){if((t=t||{width:this._containerDomElement.clientWidth,height:this._containerDomElement.clientHeight}).width<=0)return this._width=0,this._height=0,void(this._reviewHeight=0);(e||t.width!==this._width||t.height!==this._height)&&(this._width=t.width,this._height=t.height,this._reviewHeight=this._reviewPane.isVisible()?this._height:0,this._doLayout())},t.prototype._layoutOverviewRulers=function(){var e=t.ENTIRE_DIFF_OVERVIEW_WIDTH-2*t.ONE_OVERVIEW_WIDTH;this.modifiedEditor.getLayoutInfo()&&(this._originalOverviewRuler.setLayout({top:0,width:t.ONE_OVERVIEW_WIDTH,right:e+t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),this._modifiedOverviewRuler.setLayout({top:0,right:0,width:t.ONE_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}))},t.prototype._onViewZonesChanged=function(){this._currentlyChangingViewZones||this._updateDecorationsRunner.schedule()},t.prototype._beginUpdateDecorationsSoon=function(){var e=this;-1!==this._beginUpdateDecorationsTimeout&&(window.clearTimeout(this._beginUpdateDecorationsTimeout),this._beginUpdateDecorationsTimeout=-1),this._beginUpdateDecorationsTimeout=window.setTimeout((function(){return e._beginUpdateDecorations()}),t.UPDATE_DIFF_DECORATIONS_DELAY)},t._equals=function(e,t){return!e&&!t||!(!e||!t)&&e.toString()===t.toString()},t.prototype._beginUpdateDecorations=function(){var e=this;this._beginUpdateDecorationsTimeout=-1;var o=this.originalEditor.getModel(),n=this.modifiedEditor.getModel();if(o&&n){this._diffComputationToken++;var r=this._diffComputationToken;this._editorWorkerService.canComputeDiff(o.uri,n.uri)?this._editorWorkerService.computeDiff(o.uri,n.uri,this._ignoreTrimWhitespace).then((function(t){r===e._diffComputationToken&&o===e.originalEditor.getModel()&&n===e.modifiedEditor.getModel()&&(e._lineChanges=t,e._updateDecorationsRunner.schedule(),e._onDidUpdateDiff.fire())}),(function(t){r===e._diffComputationToken&&o===e.originalEditor.getModel()&&n===e.modifiedEditor.getModel()&&(e._lineChanges=null,e._updateDecorationsRunner.schedule())})):t._equals(o.uri,this._lastOriginalWarning)&&t._equals(n.uri,this._lastModifiedWarning)||(this._lastOriginalWarning=o.uri,this._lastModifiedWarning=n.uri,this._notificationService.warn(i.a("diff.tooLarge","Cannot compare files because one file is too large.")))}},t.prototype._cleanViewZonesAndDecorations=function(){this._originalEditorState.clean(this.originalEditor),this._modifiedEditorState.clean(this.modifiedEditor)},t.prototype._updateDecorations=function(){if(this.originalEditor.getModel()&&this.modifiedEditor.getModel()){var e=this._lineChanges||[],t=this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces()),o=this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces()),n=this._strategy.getEditorsDiffDecorations(e,this._ignoreTrimWhitespace,this._renderIndicators,t,o,this.originalEditor,this.modifiedEditor);try{this._currentlyChangingViewZones=!0,this._originalEditorState.apply(this.originalEditor,this._originalOverviewRuler,n.original,!1),this._modifiedEditorState.apply(this.modifiedEditor,this._modifiedOverviewRuler,n.modified,!0)}finally{this._currentlyChangingViewZones=!1}}},t.prototype._adjustOptionsForSubEditor=function(e){var t=a.c(e||{});return t.inDiffEditor=!0,t.wordWrap="off",t.wordWrapMinified=!1,t.automaticLayout=!1,t.scrollbar=t.scrollbar||{},t.scrollbar.vertical="visible",t.folding=!1,t.codeLens=!1,t.fixedOverflowWidgets=!0,t.lineDecorationsWidth="2ch",t.minimap||(t.minimap={}),t.minimap.enabled=!1,t},t.prototype._adjustOptionsForLeftHandSide=function(e,t){var o=this._adjustOptionsForSubEditor(e);return o.readOnly=!t,o.overviewRulerLanes=1,o.extraEditorClassName="original-in-monaco-diff-editor",o},t.prototype._adjustOptionsForRightHandSide=function(e){var o=this._adjustOptionsForSubEditor(e);return o.revealHorizontalRightPadding=T.a.viewInfo.revealHorizontalRightPadding+t.ENTIRE_DIFF_OVERVIEW_WIDTH,o.scrollbar.verticalHasArrows=!1,o.extraEditorClassName="modified-in-monaco-diff-editor",o},t.prototype.doLayout=function(){this._measureDomElement(!0)},t.prototype._doLayout=function(){var e=this._strategy.layout();this._originalDomNode.style.width=e+"px",this._originalDomNode.style.left="0px",this._modifiedDomNode.style.width=this._width-e+"px",this._modifiedDomNode.style.left=e+"px",this._overviewDomElement.style.top="0px",this._overviewDomElement.style.height=this._height-this._reviewHeight+"px",this._overviewDomElement.style.width=t.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewDomElement.style.left=this._width-t.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",this._overviewViewportDomElement.setWidth(t.ENTIRE_DIFF_OVERVIEW_WIDTH),this._overviewViewportDomElement.setHeight(30),this.originalEditor.layout({width:e,height:this._height-this._reviewHeight}),this.modifiedEditor.layout({width:this._width-e-t.ENTIRE_DIFF_OVERVIEW_WIDTH,height:this._height-this._reviewHeight}),(this._originalOverviewRuler||this._modifiedOverviewRuler)&&this._layoutOverviewRulers(),this._reviewPane.layout(this._height-this._reviewHeight,this._width,this._reviewHeight),this._layoutOverviewViewport()},t.prototype._layoutOverviewViewport=function(){var e=this._computeOverviewViewport();e?(this._overviewViewportDomElement.setTop(e.top),this._overviewViewportDomElement.setHeight(e.height)):(this._overviewViewportDomElement.setTop(0),this._overviewViewportDomElement.setHeight(0))},t.prototype._computeOverviewViewport=function(){var e=this.modifiedEditor.getLayoutInfo();if(!e)return null;var t=this.modifiedEditor.getScrollTop(),o=this.modifiedEditor.getScrollHeight(),n=Math.max(0,e.contentHeight),i=Math.max(0,n-0),r=o>0?i/o:0;return{height:Math.max(0,Math.floor(e.contentHeight*r)),top:Math.floor(t*r)}},t.prototype._createDataSource=function(){var e=this;return{getWidth:function(){return e._width},getHeight:function(){return e._height-e._reviewHeight},getContainerDomNode:function(){return e._containerDomElement},relayoutEditors:function(){e._doLayout()},getOriginalEditor:function(){return e.originalEditor},getModifiedEditor:function(){return e.modifiedEditor}}},t.prototype._setStrategy=function(e){this._strategy&&this._strategy.dispose(),this._strategy=e,e.applyColors(this._themeService.getTheme()),this._lineChanges&&this._updateDecorations(),this._measureDomElement(!0)},t.prototype._getLineChangeAtOrBeforeLineNumber=function(e,t){if(0===this._lineChanges.length||e<t(this._lineChanges[0]))return null;for(var o=0,n=this._lineChanges.length-1;o<n;){var i=Math.floor((o+n)/2),r=t(this._lineChanges[i]),s=i+1<=n?t(this._lineChanges[i+1]):Number.MAX_VALUE;e<r?n=i-1:e>=s?o=i+1:(o=i,n=i)}return this._lineChanges[o]},t.prototype._getEquivalentLineForOriginalLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.originalStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-o;return s<=i?n+Math.min(s,r):n+r-i+s},t.prototype._getEquivalentLineForModifiedLineNumber=function(e){var t=this._getLineChangeAtOrBeforeLineNumber(e,(function(e){return e.modifiedStartLineNumber}));if(!t)return e;var o=t.originalStartLineNumber+(t.originalEndLineNumber>0?-1:0),n=t.modifiedStartLineNumber+(t.modifiedEndLineNumber>0?-1:0),i=t.originalEndLineNumber>0?t.originalEndLineNumber-t.originalStartLineNumber+1:0,r=t.modifiedEndLineNumber>0?t.modifiedEndLineNumber-t.modifiedStartLineNumber+1:0,s=e-n;return s<=r?o+Math.min(s,i):o+i-r+s},t.prototype.getDiffLineInformationForOriginal=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForOriginalLineNumber(e)}:null},t.prototype.getDiffLineInformationForModified=function(e){return this._lineChanges?{equivalentLineNumber:this._getEquivalentLineForModifiedLineNumber(e)}:null},t.ONE_OVERVIEW_WIDTH=15,t.ENTIRE_DIFF_OVERVIEW_WIDTH=30,t.UPDATE_DIFF_DECORATIONS_DELAY=200,t=Y([X(2,m.a),X(3,d.e),X(4,h.a),X(5,g.a),X(6,w.c),X(7,G.a)],t)}(s.a),Z=function(e){function t(t){var o=e.call(this)||this;return o._dataSource=t,o}return K(t,e),t.prototype.applyColors=function(e){var t=(e.getColor(k.i)||k.f).transparent(2),o=(e.getColor(k.k)||k.g).transparent(2),n=!t.equals(this._insertColor)||!o.equals(this._removeColor);return this._insertColor=t,this._removeColor=o,n},t.prototype.getEditorsDiffDecorations=function(e,t,o,n,i,r,s){i=i.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber})),n=n.sort((function(e,t){return e.afterLineNumber-t.afterLineNumber}));var a=this._getViewZones(e,n,i,r,s,o),l=this._getOriginalEditorDecorations(e,t,o,r,s),u=this._getModifiedEditorDecorations(e,t,o,r,s);return{original:{decorations:l.decorations,overviewZones:l.overviewZones,zones:a.original},modified:{decorations:u.decorations,overviewZones:u.overviewZones,zones:a.modified}}},t}(s.a),Q=function(){function e(e){this._source=e,this._index=-1,this.advance()}return e.prototype.advance=function(){this._index++,this._index<this._source.length?this.current=this._source[this._index]:this.current=null},e}(),ee=function(){function e(e,t,o){this.lineChanges=e,this.originalForeignVZ=t,this.modifiedForeignVZ=o}return e.prototype.getViewZones=function(){for(var e={original:[],modified:[]},t=0,o=0,n=0,i=0,r=0,s=0,a=function(e,t){return e.afterLineNumber-t.afterLineNumber},l=function(e,t){if(null===t.domNode&&e.length>0){var o=e[e.length-1];if(o.afterLineNumber===t.afterLineNumber&&null===o.domNode)return void(o.heightInLines+=t.heightInLines)}e.push(t)},u=new Q(this.modifiedForeignVZ),c=new Q(this.originalForeignVZ),h=0,d=this.lineChanges.length;h<=d;h++){var g=h<d?this.lineChanges[h]:null;null!==g?(n=g.originalStartLineNumber+(g.originalEndLineNumber>0?-1:0),i=g.modifiedStartLineNumber+(g.modifiedEndLineNumber>0?-1:0),o=g.originalEndLineNumber>0?g.originalEndLineNumber-g.originalStartLineNumber+1:0,t=g.modifiedEndLineNumber>0?g.modifiedEndLineNumber-g.modifiedStartLineNumber+1:0,r=Math.max(g.originalStartLineNumber,g.originalEndLineNumber),s=Math.max(g.modifiedStartLineNumber,g.modifiedEndLineNumber)):(r=n+=1e7+o,s=i+=1e7+t);for(var p,f=[],m=[];u.current&&u.current.afterLineNumber<=s;){var _=void 0;_=u.current.afterLineNumber<=i?n-i+u.current.afterLineNumber:r,f.push({afterLineNumber:_,heightInLines:u.current.heightInLines,domNode:null}),u.advance()}for(;c.current&&c.current.afterLineNumber<=r;){_=void 0;_=c.current.afterLineNumber<=n?i-n+c.current.afterLineNumber:s,m.push({afterLineNumber:_,heightInLines:c.current.heightInLines,domNode:null}),c.advance()}if(null!==g&&ae(g))(p=this._produceOriginalFromDiff(g,o,t))&&f.push(p);if(null!==g&&le(g))(p=this._produceModifiedFromDiff(g,o,t))&&m.push(p);var y=0,v=0;for(f=f.sort(a),m=m.sort(a);y<f.length&&v<m.length;){var b=f[y],E=m[v],C=b.afterLineNumber-n,S=E.afterLineNumber-i;C<S?(l(e.original,b),y++):S<C?(l(e.modified,E),v++):b.shouldNotShrink?(l(e.original,b),y++):E.shouldNotShrink?(l(e.modified,E),v++):b.heightInLines>=E.heightInLines?(b.heightInLines-=E.heightInLines,v++):(E.heightInLines-=b.heightInLines,y++)}for(;y<f.length;)l(e.original,f[y]),y++;for(;v<m.length;)l(e.modified,m[v]),v++}var T=function(e){e.domNode||(e.domNode=function(){var e=document.createElement("div");return e.className="diagonal-fill",e}())};return e.original.forEach(T),e.modified.forEach(T),e},e}();function te(e,t,o,n,i){return{range:new p.a(e,t,o,n),options:i}}var oe={charDelete:R.a.register({className:"char-delete"}),charDeleteWholeLine:R.a.register({className:"char-delete",isWholeLine:!0}),charInsert:R.a.register({className:"char-insert"}),charInsertWholeLine:R.a.register({className:"char-insert",isWholeLine:!0}),lineInsert:R.a.register({className:"line-insert",marginClassName:"line-insert",isWholeLine:!0}),lineInsertWithSign:R.a.register({className:"line-insert",linesDecorationsClassName:"insert-sign",marginClassName:"line-insert",isWholeLine:!0}),lineDelete:R.a.register({className:"line-delete",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteWithSign:R.a.register({className:"line-delete",linesDecorationsClassName:"delete-sign",marginClassName:"line-delete",isWholeLine:!0}),lineDeleteMargin:R.a.register({marginClassName:"line-delete"})},ne=function(e){function t(t,o){var n=e.call(this,t)||this;return n._disableSash=!1===o,n._sashRatio=null,n._sashPosition=null,n._sash=n._register(new c.b(n._dataSource.getContainerDomNode(),n)),n._disableSash&&(n._sash.state=c.c.Disabled),n._sash.onDidStart((function(){return n.onSashDragStart()})),n._sash.onDidChange((function(e){return n.onSashDrag(e)})),n._sash.onDidEnd((function(){return n.onSashDragEnd()})),n._sash.onDidReset((function(){return n.onSashReset()})),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){var t=!1===e;this._disableSash!==t&&(this._disableSash=t,this._sash.state=this._disableSash?c.c.Disabled:c.c.Enabled)},t.prototype.layout=function(e){void 0===e&&(e=this._sashRatio);var o=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,n=Math.floor((e||.5)*o),i=Math.floor(.5*o);return n=this._disableSash?i:n||i,o>2*t.MINIMUM_EDITOR_WIDTH?(n<t.MINIMUM_EDITOR_WIDTH&&(n=t.MINIMUM_EDITOR_WIDTH),n>o-t.MINIMUM_EDITOR_WIDTH&&(n=o-t.MINIMUM_EDITOR_WIDTH)):n=i,this._sashPosition!==n&&(this._sashPosition=n,this._sash.layout()),this._sashPosition},t.prototype.onSashDragStart=function(){this._startSashPosition=this._sashPosition},t.prototype.onSashDrag=function(e){var t=this._dataSource.getWidth()-J.ENTIRE_DIFF_OVERVIEW_WIDTH,o=this.layout((this._startSashPosition+(e.currentX-e.startX))/t);this._sashRatio=o/t,this._dataSource.relayoutEditors()},t.prototype.onSashDragEnd=function(){this._sash.layout()},t.prototype.onSashReset=function(){this._sashRatio=.5,this._dataSource.relayoutEditors(),this._sash.layout()},t.prototype.getVerticalSashTop=function(e){return 0},t.prototype.getVerticalSashLeft=function(e){return this._sashPosition},t.prototype.getVerticalSashHeight=function(e){return this._dataSource.getHeight()},t.prototype._getViewZones=function(e,t,o,n,i){return new ie(e,t,o).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=n.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(le(c)&&(s.decorations.push({range:new p.a(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE),options:o?oe.lineDeleteWithSign:oe.lineDelete}),ae(c)&&c.charChanges||s.decorations.push(te(c.originalStartLineNumber,1,c.originalEndLineNumber,Number.MAX_VALUE,oe.charDeleteWholeLine)),s.overviewZones.push(new O.a(c.originalStartLineNumber,c.originalEndLineNumber,r)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(le(g))if(t)for(var f=g.originalStartLineNumber;f<=g.originalEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.originalStartLineNumber?g.originalStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.originalEndLineNumber?g.originalEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charDelete))}else s.decorations.push(te(g.originalStartLineNumber,g.originalStartColumn,g.originalEndLineNumber,g.originalEndColumn,oe.charDelete))}}return s},t.prototype._getModifiedEditorDecorations=function(e,t,o,n,i){for(var r=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(ae(c)&&(s.decorations.push({range:new p.a(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:o?oe.lineInsertWithSign:oe.lineInsert}),le(c)&&c.charChanges||s.decorations.push(te(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,oe.charInsertWholeLine)),s.overviewZones.push(new O.a(c.modifiedStartLineNumber,c.modifiedEndLineNumber,r)),c.charChanges))for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(ae(g))if(t)for(var f=g.modifiedStartLineNumber;f<=g.modifiedEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.modifiedStartLineNumber?g.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.modifiedEndLineNumber?g.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charInsert))}else s.decorations.push(te(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn,oe.charInsert))}}return s},t.MINIMUM_EDITOR_WIDTH=100,t}(Z),ie=function(e){function t(t,o,n){return e.call(this,t,o,n)||this}return K(t,e),t.prototype._produceOriginalFromDiff=function(e,t,o){return o>t?{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o-t,domNode:null}:null},t.prototype._produceModifiedFromDiff=function(e,t,o){return t>o?{afterLineNumber:Math.max(e.modifiedStartLineNumber,e.modifiedEndLineNumber),heightInLines:t-o,domNode:null}:null},t}(ee),re=function(e){function t(t,o){var n=e.call(this,t)||this;return n.decorationsLeft=t.getOriginalEditor().getLayoutInfo().decorationsLeft,n._register(t.getOriginalEditor().onDidLayoutChange((function(e){n.decorationsLeft!==e.decorationsLeft&&(n.decorationsLeft=e.decorationsLeft,t.relayoutEditors())}))),n}return K(t,e),t.prototype.setEnableSplitViewResizing=function(e){},t.prototype._getViewZones=function(e,t,o,n,i,r){return new se(e,t,o,n,i,r).getViewZones()},t.prototype._getOriginalEditorDecorations=function(e,t,o,n,i){for(var r=this._removeColor.toString(),s={decorations:[],overviewZones:[]},a=0,l=e.length;a<l;a++){var u=e[a];le(u)&&(s.decorations.push({range:new p.a(u.originalStartLineNumber,1,u.originalEndLineNumber,Number.MAX_VALUE),options:oe.lineDeleteMargin}),s.overviewZones.push(new O.a(u.originalStartLineNumber,u.originalEndLineNumber,r)))}return s},t.prototype._getModifiedEditorDecorations=function(e,t,o,n,i){for(var r=this._insertColor.toString(),s={decorations:[],overviewZones:[]},a=i.getModel(),l=0,u=e.length;l<u;l++){var c=e[l];if(ae(c))if(s.decorations.push({range:new p.a(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE),options:o?oe.lineInsertWithSign:oe.lineInsert}),s.overviewZones.push(new O.a(c.modifiedStartLineNumber,c.modifiedEndLineNumber,r)),c.charChanges)for(var h=0,d=c.charChanges.length;h<d;h++){var g=c.charChanges[h];if(ae(g))if(t)for(var f=g.modifiedStartLineNumber;f<=g.modifiedEndLineNumber;f++){var m=void 0,_=void 0;m=f===g.modifiedStartLineNumber?g.modifiedStartColumn:a.getLineFirstNonWhitespaceColumn(f),_=f===g.modifiedEndLineNumber?g.modifiedEndColumn:a.getLineLastNonWhitespaceColumn(f),s.decorations.push(te(f,m,f,_,oe.charInsert))}else s.decorations.push(te(g.modifiedStartLineNumber,g.modifiedStartColumn,g.modifiedEndLineNumber,g.modifiedEndColumn,oe.charInsert))}else s.decorations.push(te(c.modifiedStartLineNumber,1,c.modifiedEndLineNumber,Number.MAX_VALUE,oe.charInsertWholeLine))}return s},t.prototype.layout=function(){return Math.max(5,this.decorationsLeft)},t}(Z),se=function(e){function t(t,o,n,i,r,s){var a=e.call(this,t,o,n)||this;return a.originalModel=i.getModel(),a.modifiedEditorConfiguration=r.getConfiguration(),a.modifiedEditorTabSize=r.getModel().getOptions().tabSize,a.renderIndicators=s,a}return K(t,e),t.prototype._produceOriginalFromDiff=function(e,t,o){var n=document.createElement("div");return n.className="inline-added-margin-view-zone",b.a.applyFontInfoSlow(n,this.modifiedEditorConfiguration.fontInfo),{afterLineNumber:Math.max(e.originalStartLineNumber,e.originalEndLineNumber),heightInLines:o,domNode:document.createElement("div"),marginDomNode:n}},t.prototype._produceModifiedFromDiff=function(e,t,o){var n=[];if(e.charChanges)for(var i=0,r=e.charChanges.length;i<r;i++){var s=e.charChanges[i];le(s)&&n.push(new E.a(new p.a(s.originalStartLineNumber,s.originalStartColumn,s.originalEndLineNumber,s.originalEndColumn),"char-delete",0))}for(var a=Object(j.a)(1e4),l=[],u=this.modifiedEditorConfiguration.layoutInfo.decorationsWidth,c=this.modifiedEditorConfiguration.lineHeight,h=this.modifiedEditorConfiguration.fontInfo.typicalHalfwidthCharacterWidth,d=0,g=e.originalStartLineNumber;g<=e.originalEndLineNumber;g++)if(d=Math.max(d,this._renderOriginalLine(g-e.originalStartLineNumber,this.originalModel,this.modifiedEditorConfiguration,this.modifiedEditorTabSize,g,n,a)),this.renderIndicators){var f=g-e.originalStartLineNumber;l=l.concat(['<div class="delete-sign" style="position:absolute;top:'+f*c+"px;width:"+u+"px;height:"+c+'px;right:0;"></div>'])}d+=this.modifiedEditorConfiguration.viewInfo.scrollBeyondLastColumn;var m=document.createElement("div");m.className="view-lines line-delete",m.innerHTML=a.build(),b.a.applyFontInfoSlow(m,this.modifiedEditorConfiguration.fontInfo);var _=document.createElement("div");return _.className="inline-deleted-margin-view-zone",_.innerHTML=l.join(""),b.a.applyFontInfoSlow(_,this.modifiedEditorConfiguration.fontInfo),{shouldNotShrink:!0,afterLineNumber:0===e.modifiedEndLineNumber?e.modifiedStartLineNumber:e.modifiedStartLineNumber-1,heightInLines:t,minWidthInPx:d*h,domNode:m,marginDomNode:_}},t.prototype._renderOriginalLine=function(e,t,o,n,i,r,s){var a=t.getLineTokens(i),l=a.getLineContent(),u=_.a.filter(r,i,1,l.length+1);s.appendASCIIString('<div class="view-line'),0===r.length&&s.appendASCIIString(" char-delete"),s.appendASCIIString('" style="top:'),s.appendASCIIString(String(e*o.lineHeight)),s.appendASCIIString('px;width:1000000px;">');var c=E.d.isBasicASCII(l,t.mightContainNonBasicASCII()),h=E.d.containsRTL(l,c,t.mightContainRTL()),d=Object(y.c)(new y.b(o.fontInfo.isMonospace&&!o.viewInfo.disableMonospaceOptimizations,l,!1,c,h,0,a,u,n,o.fontInfo.spaceWidth,o.viewInfo.stopRenderingLineAfter,o.viewInfo.renderWhitespace,o.viewInfo.renderControlCharacters,o.viewInfo.fontLigatures),s);s.appendASCIIString("</div>");var g=d.characterMapping.getAbsoluteOffsets();return g.length>0?g[g.length-1]:0},t}(ee);function ae(e){return e.modifiedEndLineNumber>0}function le(e){return e.originalEndLineNumber>0}Object(w.e)((function(e,t){var o=e.getColor(k.i);o&&(t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: "+o+"; }"),t.addRule(".monaco-editor .inline-added-margin-view-zone { background-color: "+o+"; }"));var n=e.getColor(k.k);n&&(t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: "+n+"; }"),t.addRule(".monaco-editor .inline-deleted-margin-view-zone { background-color: "+n+"; }"));var i=e.getColor(k.j);i&&t.addRule(".monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+i+"; }");var r=e.getColor(k.l);r&&t.addRule(".monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px "+("hc"===e.type?"dashed":"solid")+" "+r+"; }");var s=e.getColor(k.lb);s&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px "+s+"; }");var a=e.getColor(k.h);a&&t.addRule(".monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid "+a+"; }")}))},function(e,t){var o={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==o.call(e)}},function(e,t,o){e.exports=o(328)},function(e,t,o){"use strict";(function(t,n){var i=o(180);e.exports=v;var r,s=o(265);v.ReadableState=y;o(212).EventEmitter;var a=function(e,t){return e.listeners(t).length},l=o(268),u=o(181).Buffer,c=t.Uint8Array||function(){};var h=o(167);h.inherits=o(147);var d=o(329),g=void 0;g=d&&d.debuglog?d.debuglog("stream"):function(){};var p,f=o(330),m=o(269);h.inherits(v,l);var _=["error","close","destroy","pause","resume"];function y(e,t){e=e||{};var n=t instanceof(r=r||o(136));this.objectMode=!!e.objectMode,n&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,s=e.readableHighWaterMark,a=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:n&&(s||0===s)?s:a,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=o(270).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function v(e){if(r=r||o(136),!(this instanceof v))return new v(e);this._readableState=new y(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),l.call(this)}function b(e,t,o,n,i){var r,s=e._readableState;null===t?(s.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var o=t.decoder.end();o&&o.length&&(t.buffer.push(o),t.length+=t.objectMode?1:o.length)}t.ended=!0,T(e)}(e,s)):(i||(r=function(e,t){var o;n=t,u.isBuffer(n)||n instanceof c||"string"==typeof t||void 0===t||e.objectMode||(o=new TypeError("Invalid non-string/buffer chunk"));var n;return o}(s,t)),r?e.emit("error",r):s.objectMode||t&&t.length>0?("string"==typeof t||s.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),n?s.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):E(e,s,t,!0):s.ended?e.emit("error",new Error("stream.push() after EOF")):(s.reading=!1,s.decoder&&!o?(t=s.decoder.write(t),s.objectMode||0!==t.length?E(e,s,t,!1):k(e,s)):E(e,s,t,!1))):n||(s.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(s)}function E(e,t,o,n){t.flowing&&0===t.length&&!t.sync?(e.emit("data",o),e.read(0)):(t.length+=t.objectMode?1:o.length,n?t.buffer.unshift(o):t.buffer.push(o),t.needReadable&&T(e)),k(e,t)}Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),v.prototype.destroy=m.destroy,v.prototype._undestroy=m.undestroy,v.prototype._destroy=function(e,t){this.push(null),t(e)},v.prototype.push=function(e,t){var o,n=this._readableState;return n.objectMode?o=!0:"string"==typeof e&&((t=t||n.defaultEncoding)!==n.encoding&&(e=u.from(e,t),t=""),o=!0),b(this,e,t,!1,o)},v.prototype.unshift=function(e){return b(this,e,null,!0,!1)},v.prototype.isPaused=function(){return!1===this._readableState.flowing},v.prototype.setEncoding=function(e){return p||(p=o(270).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};var C=8388608;function S(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=C?e=C:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function T(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(g("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(w,e):w(e))}function w(e){g("emit readable"),e.emit("readable"),L(e)}function k(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(O,e,t))}function O(e,t){for(var o=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(g("maybeReadMore read 0"),e.read(0),o!==t.length);)o=t.length;t.readingMore=!1}function R(e){g("readable nexttick read 0"),e.read(0)}function N(e,t){t.reading||(g("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),L(e),t.flowing&&!t.reading&&e.read(0)}function L(e){var t=e._readableState;for(g("flow",t.flowing);t.flowing&&null!==e.read(););}function I(e,t){return 0===t.length?null:(t.objectMode?o=t.buffer.shift():!e||e>=t.length?(o=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):o=function(e,t,o){var n;e<t.head.data.length?(n=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):n=e===t.head.data.length?t.shift():o?function(e,t){var o=t.head,n=1,i=o.data;e-=i.length;for(;o=o.next;){var r=o.data,s=e>r.length?r.length:e;if(s===r.length?i+=r:i+=r.slice(0,e),0===(e-=s)){s===r.length?(++n,o.next?t.head=o.next:t.head=t.tail=null):(t.head=o,o.data=r.slice(s));break}++n}return t.length-=n,i}(e,t):function(e,t){var o=u.allocUnsafe(e),n=t.head,i=1;n.data.copy(o),e-=n.data.length;for(;n=n.next;){var r=n.data,s=e>r.length?r.length:e;if(r.copy(o,o.length-e,0,s),0===(e-=s)){s===r.length?(++i,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=r.slice(s));break}++i}return t.length-=i,o}(e,t);return n}(e,t.buffer,t.decoder),o);var o}function D(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(A,t,e))}function A(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function P(e,t){for(var o=0,n=e.length;o<n;o++)if(e[o]===t)return o;return-1}v.prototype.read=function(e){g("read",e),e=parseInt(e,10);var t=this._readableState,o=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return g("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?D(this):T(this),null;if(0===(e=S(e,t))&&t.ended)return 0===t.length&&D(this),null;var n,i=t.needReadable;return g("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&g("length less than watermark",i=!0),t.ended||t.reading?g("reading or ended",i=!1):i&&(g("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=S(o,t))),null===(n=e>0?I(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),o!==e&&t.ended&&D(this)),null!==n&&this.emit("data",n),n},v.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},v.prototype.pipe=function(e,t){var o=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,g("pipe count=%d opts=%j",r.pipesCount,t);var l=(!t||!1!==t.end)&&e!==n.stdout&&e!==n.stderr?c:v;function u(t,n){g("onunpipe"),t===o&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,g("cleanup"),e.removeListener("close",_),e.removeListener("finish",y),e.removeListener("drain",h),e.removeListener("error",m),e.removeListener("unpipe",u),o.removeListener("end",c),o.removeListener("end",v),o.removeListener("data",f),d=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||h())}function c(){g("onend"),e.end()}r.endEmitted?i.nextTick(l):o.once("end",l),e.on("unpipe",u);var h=function(e){return function(){var t=e._readableState;g("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&a(e,"data")&&(t.flowing=!0,L(e))}}(o);e.on("drain",h);var d=!1;var p=!1;function f(t){g("ondata"),p=!1,!1!==e.write(t)||p||((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==P(r.pipes,e))&&!d&&(g("false write response, pause",o._readableState.awaitDrain),o._readableState.awaitDrain++,p=!0),o.pause())}function m(t){g("onerror",t),v(),e.removeListener("error",m),0===a(e,"error")&&e.emit("error",t)}function _(){e.removeListener("finish",y),v()}function y(){g("onfinish"),e.removeListener("close",_),v()}function v(){g("unpipe"),o.unpipe(e)}return o.on("data",f),function(e,t,o){if("function"==typeof e.prependListener)return e.prependListener(t,o);e._events&&e._events[t]?s(e._events[t])?e._events[t].unshift(o):e._events[t]=[o,e._events[t]]:e.on(t,o)}(e,"error",m),e.once("close",_),e.once("finish",y),e.emit("pipe",o),r.flowing||(g("pipe resume"),o.resume()),e},v.prototype.unpipe=function(e){var t=this._readableState,o={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,o),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var r=0;r<i;r++)n[r].emit("unpipe",this,o);return this}var s=P(t.pipes,e);return-1===s?this:(t.pipes.splice(s,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,o),this)},v.prototype.on=function(e,t){var o=l.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var n=this._readableState;n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.emittedReadable=!1,n.reading?n.length&&T(this):i.nextTick(R,this))}return o},v.prototype.addListener=v.prototype.on,v.prototype.resume=function(){var e=this._readableState;return e.flowing||(g("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(N,e,t))}(this,e)),this},v.prototype.pause=function(){return g("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(g("pause"),this._readableState.flowing=!1,this.emit("pause")),this},v.prototype.wrap=function(e){var t=this,o=this._readableState,n=!1;for(var i in e.on("end",(function(){if(g("wrapped end"),o.decoder&&!o.ended){var e=o.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(i){(g("wrapped data"),o.decoder&&(i=o.decoder.write(i)),o.objectMode&&null==i)||(o.objectMode||i&&i.length)&&(t.push(i)||(n=!0,e.pause()))})),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var r=0;r<_.length;r++)e.on(_[r],this.emit.bind(this,_[r]));return this._read=function(t){g("wrapped _read",t),n&&(n=!1,e.resume())},this},Object.defineProperty(v.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),v._fromList=I}).call(this,o(80),o(108))},function(e,t,o){e.exports=o(212).EventEmitter},function(e,t,o){"use strict";var n=o(180);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var o=this,r=this._readableState&&this._readableState.destroyed,s=this._writableState&&this._writableState.destroyed;return r||s?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||n.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,(function(e){!t&&e?(n.nextTick(i,o,e),o._writableState&&(o._writableState.errorEmitted=!0)):t&&t(e)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,o){"use strict";var n=o(181).Buffer,i=n.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(n.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=l,this.end=u,t=4;break;case"utf8":this.fillLast=a,t=4;break;case"base64":this.text=c,this.end=h,t=3;break;default:return this.write=d,void(this.end=g)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(t)}function s(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function a(e){var t=this.lastTotal-this.lastNeed,o=function(e,t,o){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==o?o:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function l(e,t){if((e.length-t)%2==0){var o=e.toString("utf16le",t);if(o){var n=o.charCodeAt(o.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],o.slice(0,-1)}return o}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var o=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,o)}return t}function c(e,t){var o=(e.length-t)%3;return 0===o?e.toString("base64",t):(this.lastNeed=3-o,this.lastTotal=3,1===o?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-o))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function g(e){return e&&e.length?this.write(e):""}t.StringDecoder=r,r.prototype.write=function(e){if(0===e.length)return"";var t,o;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o<e.length?t?t+this.text(e,o):this.text(e,o):t||""},r.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},r.prototype.text=function(e,t){var o=function(e,t,o){var n=t.length-1;if(n<o)return 0;var i=s(t[n]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--n<o||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--n<o||-2===i)return 0;if((i=s(t[n]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=o;var n=e.length-(o-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},r.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,o){"use strict";e.exports=s;var n=o(136),i=o(167);function r(e,t){var o=this._transformState;o.transforming=!1;var n=o.writecb;if(!n)return this.emit("error",new Error("write callback called multiple times"));o.writechunk=null,o.writecb=null,null!=t&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}function s(e){if(!(this instanceof s))return new s(e);n.call(this,e),this._transformState={afterTransform:r.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",a)}function a(){var e=this;"function"==typeof this._flush?this._flush((function(t,o){l(e,t,o)})):l(this,null,null)}function l(e,t,o){if(t)return e.emit("error",t);if(null!=o&&e.push(o),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=o(147),i.inherits(s,n),s.prototype.push=function(e,t){return this._transformState.needTransform=!1,n.prototype.push.call(this,e,t)},s.prototype._transform=function(e,t,o){throw new Error("_transform() is not implemented")},s.prototype._write=function(e,t,o){var n=this._transformState;if(n.writecb=o,n.writechunk=e,n.writeencoding=t,!n.transforming){var i=this._readableState;(n.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},s.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},s.prototype._destroy=function(e,t){var o=this;n.prototype._destroy.call(this,e,(function(e){t(e),o.emit("close")}))}},function(e,t,o){"use strict";var n=o(64),i=o(127),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encode=function(e){for(var t,o,i,s,a,l,u,c=[],h=0,d=e.length,g=d,p="string"!==n.getTypeOf(e);h<e.length;)g=d-h,p?(t=e[h++],o=h<d?e[h++]:0,i=h<d?e[h++]:0):(t=e.charCodeAt(h++),o=h<d?e.charCodeAt(h++):0,i=h<d?e.charCodeAt(h++):0),s=t>>2,a=(3&t)<<4|o>>4,l=g>1?(15&o)<<2|i>>6:64,u=g>2?63&i:64,c.push(r.charAt(s)+r.charAt(a)+r.charAt(l)+r.charAt(u));return c.join("")},t.decode=function(e){var t,o,n,s,a,l,u=0,c=0;if("data:"===e.substr(0,"data:".length))throw new Error("Invalid base64 input, it looks like a data url.");var h,d=3*(e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"")).length/4;if(e.charAt(e.length-1)===r.charAt(64)&&d--,e.charAt(e.length-2)===r.charAt(64)&&d--,d%1!=0)throw new Error("Invalid base64 input, bad content length.");for(h=i.uint8array?new Uint8Array(0|d):new Array(0|d);u<e.length;)t=r.indexOf(e.charAt(u++))<<2|(s=r.indexOf(e.charAt(u++)))>>4,o=(15&s)<<4|(a=r.indexOf(e.charAt(u++)))>>2,n=(3&a)<<6|(l=r.indexOf(e.charAt(u++))),h[c++]=t,64!==a&&(h[c++]=o),64!==l&&(h[c++]=n);return h}},function(e,t,o){"use strict";(function(t){var n=o(64),i=o(342),r=o(100),s=o(272),a=o(127),l=o(168),u=null;if(a.nodestream)try{u=o(343)}catch(e){}function c(e,o){return new l.Promise((function(i,r){var a=[],l=e._internalType,u=e._outputType,c=e._mimeType;e.on("data",(function(e,t){a.push(e),o&&o(t)})).on("error",(function(e){a=[],r(e)})).on("end",(function(){try{var e=function(e,t,o){switch(e){case"blob":return n.newBlob(n.transformTo("arraybuffer",t),o);case"base64":return s.encode(t);default:return n.transformTo(e,t)}}(u,function(e,o){var n,i=0,r=null,s=0;for(n=0;n<o.length;n++)s+=o[n].length;switch(e){case"string":return o.join("");case"array":return Array.prototype.concat.apply([],o);case"uint8array":for(r=new Uint8Array(s),n=0;n<o.length;n++)r.set(o[n],i),i+=o[n].length;return r;case"nodebuffer":return t.concat(o);default:throw new Error("concat : unsupported type '"+e+"'")}}(l,a),c);i(e)}catch(e){r(e)}a=[]})).resume()}))}function h(e,t,o){var s=t;switch(t){case"blob":case"arraybuffer":s="uint8array";break;case"base64":s="string"}try{this._internalType=s,this._outputType=t,this._mimeType=o,n.checkSupport(s),this._worker=e.pipe(new i(s)),e.lock()}catch(e){this._worker=new r("error"),this._worker.error(e)}}h.prototype={accumulate:function(e){return c(this,e)},on:function(e,t){var o=this;return"data"===e?this._worker.on(e,(function(e){t.call(o,e.data,e.meta)})):this._worker.on(e,(function(){n.delay(t,arguments,o)})),this},resume:function(){return n.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(n.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new u(this,{objectMode:"nodebuffer"!==this._outputType},e)}},e.exports=h}).call(this,o(120).Buffer)},function(e,t,o){"use strict";t.base64=!1,t.binary=!1,t.dir=!1,t.createFolders=!0,t.date=null,t.compression=null,t.compressionOptions=null,t.comment=null,t.unixPermissions=null,t.dosPermissions=null},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then((function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()}),(function(e){t.error(e)}))}n.inherits(r,i),r.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},r.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},r.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},e.exports=r},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(r,i),r.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},e.exports=r},function(e,t,o){"use strict";var n=o(100),i=o(216);function r(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}o(64).inherits(r,n),r.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},e.exports=r},function(e,t,o){"use strict";var n=o(100);t.STORE={magic:"\0\0",compressWorker:function(e){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},t.DEFLATE=o(346)},function(e,t,o){"use strict";e.exports=function(e,t,o,n){for(var i=65535&e|0,r=e>>>16&65535|0,s=0;0!==o;){o-=s=o>2e3?2e3:o;do{r=r+(i=i+t[n++]|0)|0}while(--s);i%=65521,r%=65521}return i|r<<16|0}},function(e,t,o){"use strict";var n=function(){for(var e,t=[],o=0;o<256;o++){e=o;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[o]=e}return t}();e.exports=function(e,t,o,i){var r=n,s=i+o;e^=-1;for(var a=i;a<s;a++)e=e>>>8^r[255&(e^t[a])];return-1^e}},function(e,t,o){"use strict";var n=o(128),i=!0,r=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){r=!1}for(var s=new n.Buf8(256),a=0;a<256;a++)s[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function l(e,t){if(t<65534&&(e.subarray&&r||!e.subarray&&i))return String.fromCharCode.apply(null,n.shrinkBuf(e,t));for(var o="",s=0;s<t;s++)o+=String.fromCharCode(e[s]);return o}s[254]=s[254]=1,t.string2buf=function(e){var t,o,i,r,s,a=e.length,l=0;for(r=0;r<a;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(i-56320),r++),l+=o<128?1:o<2048?2:o<65536?3:4;for(t=new n.Buf8(l),s=0,r=0;s<l;r++)55296==(64512&(o=e.charCodeAt(r)))&&r+1<a&&56320==(64512&(i=e.charCodeAt(r+1)))&&(o=65536+(o-55296<<10)+(i-56320),r++),o<128?t[s++]=o:o<2048?(t[s++]=192|o>>>6,t[s++]=128|63&o):o<65536?(t[s++]=224|o>>>12,t[s++]=128|o>>>6&63,t[s++]=128|63&o):(t[s++]=240|o>>>18,t[s++]=128|o>>>12&63,t[s++]=128|o>>>6&63,t[s++]=128|63&o);return t},t.buf2binstring=function(e){return l(e,e.length)},t.binstring2buf=function(e){for(var t=new n.Buf8(e.length),o=0,i=t.length;o<i;o++)t[o]=e.charCodeAt(o);return t},t.buf2string=function(e,t){var o,n,i,r,a=t||e.length,u=new Array(2*a);for(n=0,o=0;o<a;)if((i=e[o++])<128)u[n++]=i;else if((r=s[i])>4)u[n++]=65533,o+=r-1;else{for(i&=2===r?31:3===r?15:7;r>1&&o<a;)i=i<<6|63&e[o++],r--;r>1?u[n++]=65533:i<65536?u[n++]=i:(i-=65536,u[n++]=55296|i>>10&1023,u[n++]=56320|1023&i)}return l(u,n)},t.utf8border=function(e,t){var o;for((t=t||e.length)>e.length&&(t=e.length),o=t-1;o>=0&&128==(192&e[o]);)o--;return o<0?t:0===o?t:o+s[e[o]]>t?o:t}},function(e,t,o){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(e,t,o){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(e,t,o){"use strict";t.LOCAL_FILE_HEADER="PK",t.CENTRAL_FILE_HEADER="PK",t.CENTRAL_DIRECTORY_END="PK",t.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",t.ZIP64_CENTRAL_DIRECTORY_END="PK",t.DATA_DESCRIPTOR="PK\b"},function(e,t,o){"use strict";var n=o(64),i=o(127),r=o(286),s=o(360),a=o(361),l=o(288);e.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new a(e):i.uint8array?new l(n.transformTo("uint8array",e)):new r(n.transformTo("array",e)):new s(e)}},function(e,t,o){"use strict";var n=o(287);function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}o(64).inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.length-4;r>=0;--r)if(this.data[r]===t&&this.data[r+1]===o&&this.data[r+2]===n&&this.data[r+3]===i)return r-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),o=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),r=this.readData(4);return t===r[0]&&o===r[1]&&n===r[2]&&i===r[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(64);function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(e){},readInt:function(e){var t,o=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)o=(o<<8)+this.byteAt(t);return this.index+=e,o},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(e){},lastIndexOfSignature:function(e){},readAndCheckSignature:function(e){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},e.exports=i},function(e,t,o){"use strict";var n=o(286);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(149);e.exports=function(e){n.copy(e,this)}},function(e,t,o){"use strict";e.exports=function(e,t){t||(t={}),"function"==typeof t&&(t={cmp:t});var o,n="boolean"==typeof t.cycles&&t.cycles,i=t.cmp&&(o=t.cmp,function(e){return function(t,n){var i={key:t,value:e[t]},r={key:n,value:e[n]};return o(i,r)}}),r=[];return function e(t){if(t&&t.toJSON&&"function"==typeof t.toJSON&&(t=t.toJSON()),void 0!==t){if("number"==typeof t)return isFinite(t)?""+t:"null";if("object"!=typeof t)return JSON.stringify(t);var o,s;if(Array.isArray(t)){for(s="[",o=0;o<t.length;o++)o&&(s+=","),s+=e(t[o])||"null";return s+"]"}if(null===t)return"null";if(-1!==r.indexOf(t)){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var a=r.push(t)-1,l=Object.keys(t).sort(i&&i(t));for(s="",o=0;o<l.length;o++){var u=l[o],c=e(t[u]);c&&(s&&(s+=","),s+=JSON.stringify(u)+":"+c)}return r.splice(a,1),"{"+s+"}"}}(e)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n="",i=!0===e.schema.$async,r=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),s=e.self._getId(e.schema);if(e.opts.strictKeywords){var a=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(a){var l="unknown keyword: "+a;if("log"!==e.opts.strictKeywords)throw new Error(l);e.logger.warn(l)}}if(e.isTop&&(n+=" var validate = ",i&&(e.async=!0,n+="async "),n+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",s&&(e.opts.sourceCode||e.opts.processCode)&&(n+=" /*# sourceURL="+s+" */ ")),"boolean"==typeof e.schema||!r&&!e.schema.$ref){var u=e.level,c=e.dataLevel,h=e.schema["false schema"],d=e.schemaPath+e.util.getProperty("false schema"),g=e.errSchemaPath+"/false schema",p=!e.opts.allErrors,f="data"+(c||""),m="valid"+u;if(!1===e.schema){e.isTop?p=!0:n+=" var "+m+" = false; ",(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'false schema' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'boolean schema is false' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";var _=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n+=i?" return data; ":" validate.errors = null; return true; ":n+=" var "+m+" = true; ";return e.isTop&&(n+=" }; return validate; "),n}if(e.isTop){var y=e.isTop;u=e.level=0,c=e.dataLevel=0,f="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[void 0],void 0!==e.schema.default&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}n+=" var vErrors = null; ",n+=" var errors = 0;     ",n+=" if (rootData === undefined) rootData = data; "}else{u=e.level,f="data"+((c=e.dataLevel)||"");if(s&&(e.baseId=e.resolve.url(e.baseId,s)),i&&!e.async)throw new Error("async schema in sync schema");n+=" var errs_"+u+" = errors;"}m="valid"+u,p=!e.opts.allErrors;var b="",E="",C=e.schema.type,S=Array.isArray(C);if(C&&e.opts.nullable&&!0===e.schema.nullable&&(S?-1==C.indexOf("null")&&(C=C.concat("null")):"null"!=C&&(C=[C,"null"],S=!0)),S&&1==C.length&&(C=C[0],S=!1),e.schema.$ref&&r){if("fail"==e.opts.extendRefs)throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');!0!==e.opts.extendRefs&&(r=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(n+=" "+e.RULES.all.$comment.code(e,"$comment")),C){if(e.opts.coerceTypes)var T=e.util.coerceToTypes(e.opts.coerceTypes,C);var w=e.RULES.types[C];if(T||S||!0===w||w&&!Z(w)){d=e.schemaPath+".type",g=e.errSchemaPath+"/type",d=e.schemaPath+".type",g=e.errSchemaPath+"/type";var k=S?"checkDataTypes":"checkDataType";if(n+=" if ("+e.util[k](C,f,!0)+") { ",T){var O="dataType"+u,R="coerced"+u;n+=" var "+O+" = typeof "+f+"; ","array"==e.opts.coerceTypes&&(n+=" if ("+O+" == 'object' && Array.isArray("+f+")) "+O+" = 'array'; "),n+=" var "+R+" = undefined; ";var N="",L=T;if(L)for(var I,D=-1,A=L.length-1;D<A;)I=L[D+=1],D&&(n+=" if ("+R+" === undefined) { ",N+="}"),"array"==e.opts.coerceTypes&&"array"!=I&&(n+=" if ("+O+" == 'array' && "+f+".length == 1) { "+R+" = "+f+" = "+f+"[0]; "+O+" = typeof "+f+";  } "),"string"==I?n+=" if ("+O+" == 'number' || "+O+" == 'boolean') "+R+" = '' + "+f+"; else if ("+f+" === null) "+R+" = ''; ":"number"==I||"integer"==I?(n+=" if ("+O+" == 'boolean' || "+f+" === null || ("+O+" == 'string' && "+f+" && "+f+" == +"+f+" ","integer"==I&&(n+=" && !("+f+" % 1)"),n+=")) "+R+" = +"+f+"; "):"boolean"==I?n+=" if ("+f+" === 'false' || "+f+" === 0 || "+f+" === null) "+R+" = false; else if ("+f+" === 'true' || "+f+" === 1) "+R+" = true; ":"null"==I?n+=" if ("+f+" === '' || "+f+" === 0 || "+f+" === false) "+R+" = null; ":"array"==e.opts.coerceTypes&&"array"==I&&(n+=" if ("+O+" == 'string' || "+O+" == 'number' || "+O+" == 'boolean' || "+f+" == null) "+R+" = ["+f+"]; ");n+=" "+N+" if ("+R+" === undefined) {   ",(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else {  ";var P=c?"data"+(c-1||""):"parentData";n+=" "+f+" = "+R+"; ",c||(n+="if ("+P+" !== undefined)"),n+=" "+P+"["+(c?e.dataPathArr[c]:"parentDataProperty")+"] = "+R+"; } "}else{(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}n+=" } "}}if(e.schema.$ref&&!r)n+=" "+e.RULES.all.$ref.code(e,"$ref")+" ",p&&(n+=" } if (errors === ",n+=y?"0":"errs_"+u,n+=") { ",E+="}");else{var M=e.RULES;if(M)for(var x=-1,B=M.length-1;x<B;)if(Z(w=M[x+=1])){if(w.type&&(n+=" if ("+e.util.checkDataType(w.type,f)+") { "),e.opts.useDefaults)if("object"==w.type&&e.schema.properties){h=e.schema.properties;var F=Object.keys(h);if(F)for(var H,U=-1,V=F.length-1;U<V;){if(void 0!==(G=h[H=F[U+=1]]).default){var W=f+e.util.getProperty(H);if(e.compositeRule){if(e.opts.strictDefaults){v="default is ignored for: "+W;if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}}else n+=" if ("+W+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+W+" === null || "+W+" === '' "),n+=" ) "+W+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(G.default)+" ":n+=" "+JSON.stringify(G.default)+" ",n+="; "}}}else if("array"==w.type&&Array.isArray(e.schema.items)){var j=e.schema.items;if(j){D=-1;for(var G,z=j.length-1;D<z;)if(void 0!==(G=j[D+=1]).default){W=f+"["+D+"]";if(e.compositeRule){if(e.opts.strictDefaults){v="default is ignored for: "+W;if("log"!==e.opts.strictDefaults)throw new Error(v);e.logger.warn(v)}}else n+=" if ("+W+" === undefined ","empty"==e.opts.useDefaults&&(n+=" || "+W+" === null || "+W+" === '' "),n+=" ) "+W+" = ","shared"==e.opts.useDefaults?n+=" "+e.useDefault(G.default)+" ":n+=" "+JSON.stringify(G.default)+" ",n+="; "}}}var K=w.rules;if(K)for(var Y,X=-1,q=K.length-1;X<q;)if(Q(Y=K[X+=1])){var $=Y.code(e,Y.keyword,w.type);$&&(n+=" "+$+" ",p&&(b+="}"))}if(p&&(n+=" "+b+" ",b=""),w.type&&(n+=" } ",C&&C===w.type&&!T)){n+=" else { ";var J;d=e.schemaPath+".type",g=e.errSchemaPath+"/type";(J=J||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'type' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: { type: '",n+=S?""+C.join(","):""+C,n+="' } ",!1!==e.opts.messages&&(n+=" , message: 'should be ",n+=S?""+C.join(","):""+C,n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+d+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+f+" "),n+=" } "):n+=" {} ";_=n;n=J.pop(),!e.compositeRule&&p?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } "}p&&(n+=" if (errors === ",n+=y?"0":"errs_"+u,n+=") { ",E+="}")}}function Z(e){for(var t=e.rules,o=0;o<t.length;o++)if(Q(t[o]))return!0}function Q(t){return void 0!==e.schema[t.keyword]||t.implements&&function(t){for(var o=t.implements,n=0;n<o.length;n++)if(void 0!==e.schema[o[n]])return!0}(t)}return p&&(n+=" "+E+" "),y?(i?(n+=" if (errors === 0) return data;           ",n+=" else throw new ValidationError(vErrors); "):(n+=" validate.errors = vErrors; ",n+=" return errors === 0;       "),n+=" }; return validate;"):n+=" var "+m+" = errors === errs_"+u+";",n=e.util.cleanUpCode(n),y&&(n=e.util.finalCleanUpCode(n,i)),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maximum"==t,p=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[p],m=e.opts.$data&&f&&f.$data,_=g?"<":">",y=g?">":"<",v=void 0;if(m){var b=e.util.getData(f.$data,s,e.dataPathArr),E="exclusive"+r,C="exclType"+r,S="exclIsNumber"+r,T="' + "+(O="op"+r)+" + '";i+=" var schemaExcl"+r+" = "+b+"; ",i+=" var "+E+"; var "+C+" = typeof "+(b="schemaExcl"+r)+"; if ("+C+" != 'boolean' && "+C+" != 'undefined' && "+C+" != 'number') { ";var w;v=p;(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",!1!==e.opts.messages&&(i+=" , message: '"+p+" should be boolean' "),e.opts.verbose&&(i+=" , schema: validate.schema"+l+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var k=i;i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } else if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+C+" == 'number' ? ( ("+E+" = "+n+" === undefined || "+b+" "+_+"= "+n+") ? "+h+" "+y+"= "+b+" : "+h+" "+y+" "+n+" ) : ( ("+E+" = "+b+" === true) ? "+h+" "+y+"= "+n+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { var op"+r+" = "+E+" ? '"+_+"' : '"+_+"='; ",void 0===a&&(v=p,u=e.errSchemaPath+"/"+p,n=b,d=m)}else{T=_;if((S="number"==typeof f)&&d){var O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" ( "+n+" === undefined || "+f+" "+_+"= "+n+" ? "+h+" "+y+"= "+f+" : "+h+" "+y+" "+n+" ) || "+h+" !== "+h+") { "}else{S&&void 0===a?(E=!0,v=p,u=e.errSchemaPath+"/"+p,n=f,y+="="):(S&&(n=Math[g?"min":"max"](f,a)),f===(!S||n)?(E=!0,v=p,u=e.errSchemaPath+"/"+p,y+="="):(E=!1,T+="="));O="'"+T+"'";i+=" if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+" "+y+" "+n+" || "+h+" !== "+h+") { "}}v=v||t,(w=w||[]).push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(v||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+O+", limit: "+n+", exclusive: "+E+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be "+T+" ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";k=i;return i=w.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+k+"]); ":i+=" validate.errors = ["+k+"]; return false; ":i+=" var err = "+k+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" "+h+".length "+("maxItems"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxItems"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" items' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a;var g="maxLength"==t?">":"<";i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),!1===e.opts.unicode?i+=" "+h+".length ":i+=" ucs2length("+h+") ",i+=" "+g+" "+n+") { ";var p=t,f=f||[];f.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(p||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT be ",i+="maxLength"==t?"longer":"shorter",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" characters' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var m=i;return i=f.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+m+"]); ":i+=" validate.errors = ["+m+"]; return false; ":i+=" var err = "+m+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'number') || "),i+=" Object.keys("+h+").length "+("maxProperties"==t?">":"<")+" "+n+") { ";var g=t,p=p||[];p.push(i),i="",!1!==e.createErrors?(i+=" { keyword: '"+(g||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have ",i+="maxProperties"==t?"more":"fewer",i+=" than ",i+=d?"' + "+n+" + '":""+a,i+=" properties' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var f=i;return i=p.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+f+"]); ":i+=" validate.errors = ["+f+"]; return false; ":i+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},function(e,t,o){var n=o(397),i=o(398),r=o(411),s=RegExp("['’]","g");e.exports=function(e){return function(t){return n(r(i(t).replace(s,"")),e,"")}}},function(e,t){var o=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");e.exports=function(e){return o.test(e)}},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(496),o(223),o(231),o(232),o(256),o(230),o(234),o(237),o(236);var n=o(137);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(169);!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(r=t.ErrorCodes||(t.ErrorCodes={}));var a=function(e){function t(o,n,i){var a=e.call(this,n)||this;return a.code=s.number(o)?o:r.UnknownErrorCode,a.data=i,Object.setPrototypeOf(a,t.prototype),a}return i(t,e),t.prototype.toJson=function(){return{code:this.code,message:this.message,data:this.data}},t}(Error);t.ResponseError=a;var l=function(){function e(e,t){this._method=e,this._numberOfParams=t}return Object.defineProperty(e.prototype,"method",{get:function(){return this._method},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"numberOfParams",{get:function(){return this._numberOfParams},enumerable:!0,configurable:!0}),e}();t.AbstractMessageType=l;var u=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType0=u;var c=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType=c;var h=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType1=h;var d=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType2=d;var g=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType3=g;var p=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType4=p;var f=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType5=f;var m=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType6=m;var _=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType7=_;var y=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType8=y;var v=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.RequestType9=v;var b=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType=b;var E=function(e){function t(t){var o=e.call(this,t,0)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType0=E;var C=function(e){function t(t){var o=e.call(this,t,1)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType1=C;var S=function(e){function t(t){var o=e.call(this,t,2)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType2=S;var T=function(e){function t(t){var o=e.call(this,t,3)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType3=T;var w=function(e){function t(t){var o=e.call(this,t,4)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType4=w;var k=function(e){function t(t){var o=e.call(this,t,5)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType5=k;var O=function(e){function t(t){var o=e.call(this,t,6)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType6=O;var R=function(e){function t(t){var o=e.call(this,t,7)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType7=R;var N=function(e){function t(t){var o=e.call(this,t,8)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType8=N;var L=function(e){function t(t){var o=e.call(this,t,9)||this;return o._=void 0,o}return i(t,e),t}(l);t.NotificationType9=L,t.isRequestMessage=function(e){var t=e;return t&&s.string(t.method)&&(s.string(t.id)||s.number(t.id))},t.isNotificationMessage=function(e){var t=e;return t&&s.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){var t=e;return t&&(void 0!==t.result||!!t.error)&&(s.string(t.id)||s.number(t.id)||null===t.id)}},function(e,t,o){(function(e){function o(e,t){for(var o=0,n=e.length-1;n>=0;n--){var i=e[n];"."===i?e.splice(n,1):".."===i?(e.splice(n,1),o++):o&&(e.splice(n,1),o--)}if(t)for(;o--;o)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var o=[],n=0;n<e.length;n++)t(e[n],n,e)&&o.push(e[n]);return o}t.resolve=function(){for(var t="",i=!1,r=arguments.length-1;r>=-1&&!i;r--){var s=r>=0?arguments[r]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,i="/"===s.charAt(0))}return(i?"/":"")+(t=o(n(t.split("/"),(function(e){return!!e})),!i).join("/"))||"."},t.normalize=function(e){var r=t.isAbsolute(e),s="/"===i(e,-1);return(e=o(n(e.split("/"),(function(e){return!!e})),!r).join("/"))||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,(function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},t.relative=function(e,o){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var o=e.length-1;o>=0&&""===e[o];o--);return t>o?[]:e.slice(t,o-t+1)}e=t.resolve(e).substr(1),o=t.resolve(o).substr(1);for(var i=n(e.split("/")),r=n(o.split("/")),s=Math.min(i.length,r.length),a=s,l=0;l<s;l++)if(i[l]!==r[l]){a=l;break}var u=[];for(l=a;l<i.length;l++)u.push("..");return(u=u.concat(r.slice(a))).join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),o=47===t,n=-1,i=!0,r=e.length-1;r>=1;--r)if(47===(t=e.charCodeAt(r))){if(!i){n=r;break}}else i=!1;return-1===n?o?"/":".":o&&1===n?"/":e.slice(0,n)},t.basename=function(e,t){var o=function(e){"string"!=typeof e&&(e+="");var t,o=0,n=-1,i=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!i){o=t+1;break}}else-1===n&&(i=!1,n=t+1);return-1===n?"":e.slice(o,n)}(e);return t&&o.substr(-1*t.length)===t&&(o=o.substr(0,o.length-t.length)),o},t.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,o=0,n=-1,i=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===n&&(i=!1,n=s+1),46===a?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!i){o=s+1;break}}return-1===t||-1===n||0===r||1===r&&t===n-1&&t===o+1?"":e.slice(t,n)};var i="b"==="ab".substr(-1)?function(e,t,o){return e.substr(t,o)}:function(e,t,o){return t<0&&(t=e.length+t),e.substr(t,o)}}).call(this,o(108))},function(e,t){t.endianness=function(){return"LE"},t.hostname=function(){return"undefined"!=typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"undefined"!=typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(305)),n(o(306)),n(o(502))},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.state="initial",o.events=[],o.socket.onMessage((function(e){return o.readMessage(e)})),o.socket.onError((function(e){return o.fireError(e)})),o.socket.onClose((function(e,t){if(1e3!==e){var n={name:""+e,message:"Error during socket reconnect: code = "+e+", reason = "+t};o.fireError(n)}o.fireClose()})),o}return i(t,e),t.prototype.listen=function(e){if("initial"===this.state)for(this.state="listening",this.callback=e;0!==this.events.length;){var t=this.events.pop();t.message?this.readMessage(t.message):t.error?this.fireError(t.error):this.fireClose()}},t.prototype.readMessage=function(e){if("initial"===this.state)this.events.splice(0,0,{message:e});else if("listening"===this.state){var t=JSON.parse(e);this.callback(t)}},t.prototype.fireError=function(t){"initial"===this.state?this.events.splice(0,0,{error:t}):"listening"===this.state&&e.prototype.fireError.call(this,t)},t.prototype.fireClose=function(){"initial"===this.state?this.events.splice(0,0,{}):"listening"===this.state&&e.prototype.fireClose.call(this),this.state="closed"},t}(o(183).AbstractMessageReader);t.WebSocketMessageReader=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){var o=e.call(this)||this;return o.socket=t,o.errorCount=0,o}return i(t,e),t.prototype.write=function(e){try{var t=JSON.stringify(e);this.socket.send(t)}catch(t){this.errorCount++,this.fireError(t,e,this.errorCount)}},t}(o(184).AbstractMessageWriter);t.WebSocketMessageWriter=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){}return e.prototype.error=function(e){console.error(e)},e.prototype.warn=function(e){console.warn(e)},e.prototype.info=function(e){console.info(e)},e.prototype.log=function(e){console.log(e)},e.prototype.debug=function(e){console.debug(e)},e}();t.ConsoleLogger=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CompletionItem);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t){return e.call(this,t)||this}return i(t,e),t}(o(109).CodeLens);t.default=r},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=function(e){function t(t,o){return e.call(this,t,o)||this}return i(t,e),t}(o(109).DocumentLink);t.default=r},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.editor=e}return e.prototype.registerCommand=function(e,t,o){return this.editor._commandService.addCommand({id:e,handler:function(e){for(var o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];return t.apply(void 0,i(o))}})},e}();t.MonacoCommands=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(121),i=function(){function e(){this.channels=new Map}return e.prototype.showMessage=function(e,t){for(var o=[],i=2;i<arguments.length;i++)o[i-2]=arguments[i];return e===n.MessageType.Error&&console.error(t),e===n.MessageType.Warning&&console.warn(t),e===n.MessageType.Info&&console.info(t),e===n.MessageType.Log&&console.log(t),Promise.resolve(void 0)},e.prototype.createOutputChannel=function(e){var t=this.channels.get(e);if(t)return t;var o={append:function(t){console.log(e+": "+t)},appendLine:function(t){console.log(e+": "+t)},show:function(){},dispose:function(){}};return this.channels.set(e,o),o},e}();t.ConsoleWindow=i},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e},r=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var s,a=o(530),l=o(121),u=o(531),c=o(185);function h(e,t){return a(e,{extended:!0,globstar:!0}).test(t)}!function(e){e.fromDocument=function(e){return{uri:monaco.Uri.parse(e.uri),languageId:e.languageId}},e.fromModel=function(e){return{uri:e.uri,languageId:e.getModeId()}}}(s=t.MonacoModelIdentifier||(t.MonacoModelIdentifier={})),t.testGlob=h;var d=function(){function e(e,t){this.p2m=e,this.m2p=t}return e.prototype.match=function(e,t){return this.matchModel(e,s.fromDocument(t))},e.prototype.createDiagnosticCollection=function(e){return new u.MonacoDiagnosticCollection(e||"default",this.p2m)},e.prototype.registerCompletionItemProvider=function(e,t){for(var o,n,s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];var l=this.createCompletionProvider.apply(this,i([e,t],s)),u=new c.DisposableCollection;try{for(var h=r(this.matchLanguage(e)),d=h.next();!d.done;d=h.next()){var g=d.value;u.push(monaco.languages.registerCompletionItemProvider(g,l))}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=h.return)&&n.call(h)}finally{if(o)throw o.error}}return u},e.prototype.createCompletionProvider=function(e,t){for(var o=this,n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return{triggerCharacters:n,provideCompletionItems:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asCompletionParams(n,i,a);return t.provideCompletionItems(l,r).then((function(e){return o.p2m.asCompletionResult(e)}))},resolveCompletionItem:t.resolveCompletionItem?function(e,n){var i=o.m2p.asCompletionItem(e);return t.resolveCompletionItem(i,n).then((function(t){var n=o.p2m.asCompletionItem(t);return Object.assign(e,n),e}))}:void 0}},e.prototype.registerHoverProvider=function(e,t){var o,n,i=this.createHoverProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerHoverProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createHoverProvider=function(e,t){var o=this;return{provideHover:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideHover(a,r).then((function(e){return o.p2m.asHover(e)}))}}}},e.prototype.registerSignatureHelpProvider=function(e,t){for(var o,n,s=[],a=2;a<arguments.length;a++)s[a-2]=arguments[a];var l=this.createSignatureHelpProvider.apply(this,i([e,t],s)),u=new c.DisposableCollection;try{for(var h=r(this.matchLanguage(e)),d=h.next();!d.done;d=h.next()){var g=d.value;u.push(monaco.languages.registerSignatureHelpProvider(g,l))}}catch(e){o={error:e}}finally{try{d&&!d.done&&(n=h.return)&&n.call(h)}finally{if(o)throw o.error}}return u},e.prototype.createSignatureHelpProvider=function(e,t){for(var o=this,n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];return{signatureHelpTriggerCharacters:n,provideSignatureHelp:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideSignatureHelp(a,r).then((function(e){return o.p2m.asSignatureHelp(e)}))}}}},e.prototype.registerDefinitionProvider=function(e,t){var o,n,i=this.createDefinitionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDefinitionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDefinitionProvider=function(e,t){var o=this;return{provideDefinition:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideDefinition(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerReferenceProvider=function(e,t){var o,n,i=this.createReferenceProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerReferenceProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createReferenceProvider=function(e,t){var o=this;return{provideReferences:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asReferenceParams(n,i,r);return t.provideReferences(l,a).then((function(e){return o.p2m.asReferences(e)}))}}},e.prototype.registerDocumentHighlightProvider=function(e,t){var o,n,i=this.createDocumentHighlightProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentHighlightProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentHighlightProvider=function(e,t){var o=this;return{provideDocumentHighlights:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideDocumentHighlights(a,r).then((function(e){return o.p2m.asDocumentHighlights(e)}))}}},e.prototype.registerDocumentSymbolProvider=function(e,t){var o,n,i=this.createDocumentSymbolProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentSymbolProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentSymbolProvider=function(e,t){var o=this;return{provideDocumentSymbols:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asDocumentSymbolParams(n);return t.provideDocumentSymbols(r,i).then((function(e){return o.p2m.asDocumentSymbols(e)}))}}},e.prototype.registerCodeActionsProvider=function(e,t){var o,n,i=this.createCodeActionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerCodeActionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createCodeActionProvider=function(e,t){var o=this;return{provideCodeActions:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asCodeActionParams(n,i,r);return t.provideCodeActions(l,a).then((function(e){return o.p2m.asCodeActions(e)}))}}},e.prototype.registerCodeLensProvider=function(e,t){var o,n,i=this.createCodeLensProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerCodeLensProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createCodeLensProvider=function(e,t){var o=this;return{provideCodeLenses:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asCodeLensParams(n);return t.provideCodeLenses(r,i).then((function(e){return o.p2m.asCodeLenses(e)}))},resolveCodeLens:t.resolveCodeLens?function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return i;var a=o.m2p.asCodeLens(i);return t.resolveCodeLens(a,r).then((function(e){var t=o.p2m.asCodeLens(e);return Object.assign(i,t),i}))}:function(e,t,o){return t}}},e.prototype.registerDocumentFormattingEditProvider=function(e,t){var o,n,i=this.createDocumentFormattingEditProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentFormattingEditProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentFormattingEditProvider=function(e,t){var o=this;return{provideDocumentFormattingEdits:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asDocumentFormattingParams(n,i);return t.provideDocumentFormattingEdits(a,r).then((function(e){return o.p2m.asTextEdits(e)}))}}},e.prototype.registerDocumentRangeFormattingEditProvider=function(e,t){var o,n,i=this.createDocumentRangeFormattingEditProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerDocumentRangeFormattingEditProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentRangeFormattingEditProvider=function(e,t){var o=this;return{provideDocumentRangeFormattingEdits:function(n,i,r,a){if(!o.matchModel(e,s.fromModel(n)))return[];var l=o.m2p.asDocumentRangeFormattingParams(n,i,r);return t.provideDocumentRangeFormattingEdits(l,a).then((function(e){return o.p2m.asTextEdits(e)}))}}},e.prototype.registerOnTypeFormattingEditProvider=function(e,t,o){for(var n,s,a=[],l=3;l<arguments.length;l++)a[l-3]=arguments[l];var u=this.createOnTypeFormattingEditProvider.apply(this,i([e,t,o],a)),h=new c.DisposableCollection;try{for(var d=r(this.matchLanguage(e)),g=d.next();!g.done;g=d.next()){var p=g.value;h.push(monaco.languages.registerOnTypeFormattingEditProvider(p,u))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(s=d.return)&&s.call(d)}finally{if(n)throw n.error}}return h},e.prototype.createOnTypeFormattingEditProvider=function(e,t,o){for(var n=this,i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];var a=[o].concat(i);return{autoFormatTriggerCharacters:a,provideOnTypeFormattingEdits:function(o,i,r,a,l){if(!n.matchModel(e,s.fromModel(o)))return[];var u=n.m2p.asDocumentOnTypeFormattingParams(o,i,r,a);return t.provideOnTypeFormattingEdits(u,l).then((function(e){return n.p2m.asTextEdits(e)}))}}},e.prototype.registerRenameProvider=function(e,t){var o,n,i=this.createRenameProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerRenameProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createRenameProvider=function(e,t){var o=this;return{provideRenameEdits:function(n,i,r,a){if(o.matchModel(e,s.fromModel(n))){var l=o.m2p.asRenameParams(n,i,r);return t.provideRenameEdits(l,a).then((function(e){return o.p2m.asWorkspaceEdit(e)}))}}}},e.prototype.registerDocumentLinkProvider=function(e,t){var o,n,i=this.createDocumentLinkProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerLinkProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentLinkProvider=function(e,t){var o=this;return{provideLinks:function(n,i){if(o.matchModel(e,s.fromModel(n))){var r=o.m2p.asDocumentLinkParams(n);return t.provideDocumentLinks(r,i).then((function(e){return o.p2m.asDocumentLinks(e)}))}},resolveLink:function(e,n){if(t.resolveDocumentLink&&(null===e.url||void 0===e.url)){var i=o.m2p.asDocumentLink(e);return t.resolveDocumentLink(i,n).then((function(t){var n=o.p2m.asDocumentLink(t);return Object.assign(e,n),e}))}return e}}},e.prototype.registerImplementationProvider=function(e,t){var o,n,i=this.createImplementationProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerImplementationProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createImplementationProvider=function(e,t){var o=this;return{provideImplementation:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideImplementation(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerTypeDefinitionProvider=function(e,t){var o,n,i=this.createTypeDefinitionProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerTypeDefinitionProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createTypeDefinitionProvider=function(e,t){var o=this;return{provideTypeDefinition:function(n,i,r){if(o.matchModel(e,s.fromModel(n))){var a=o.m2p.asTextDocumentPositionParams(n,i);return t.provideTypeDefinition(a,r).then((function(e){return o.p2m.asDefinitionResult(e)}))}}}},e.prototype.registerColorProvider=function(e,t){var o,n,i=this.createDocumentColorProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerColorProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createDocumentColorProvider=function(e,t){var o=this;return{provideDocumentColors:function(n,i){if(!o.matchModel(e,s.fromModel(n)))return[];var r=o.m2p.asTextDocumentIdentifier(n);return t.provideDocumentColors({textDocument:r},i).then((function(e){return o.p2m.asColorInformations(e)}))},provideColorPresentations:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentIdentifier(n),l=o.m2p.asRange(i.range);return t.provideColorPresentations({textDocument:a,color:i.color,range:l},r).then((function(e){return o.p2m.asColorPresentations(e)}))}}},e.prototype.registerFoldingRangeProvider=function(e,t){var o,n,i=this.createFoldingRangeProvider(e,t),s=new c.DisposableCollection;try{for(var a=r(this.matchLanguage(e)),l=a.next();!l.done;l=a.next()){var u=l.value;s.push(monaco.languages.registerFoldingRangeProvider(u,i))}}catch(e){o={error:e}}finally{try{l&&!l.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return s},e.prototype.createFoldingRangeProvider=function(e,t){var o=this;return{provideFoldingRanges:function(n,i,r){if(!o.matchModel(e,s.fromModel(n)))return[];var a=o.m2p.asTextDocumentIdentifier(n);return t.provideFoldingRanges({textDocument:a},r).then((function(e){return o.p2m.asFoldingRanges(e)}))}}},e.prototype.matchModel=function(e,t){var o=this;return Array.isArray(e)?e.some((function(e){return o.matchModel(e,t)})):l.DocumentFilter.is(e)?(!e.language||e.language===t.languageId)&&((!e.scheme||e.scheme===t.uri.scheme)&&!(e.pattern&&!h(e.pattern,t.uri.path))):e===t.languageId},e.prototype.matchLanguage=function(e){var t,o,n=new Set;if(Array.isArray(e))try{for(var i=r(e),s=i.next();!s.done;s=i.next()){var a=s.value;n.add(this.matchLanguageByFilter(a))}}catch(e){t={error:e}}finally{try{s&&!s.done&&(o=i.return)&&o.call(i)}finally{if(t)throw t.error}}else n.add(this.matchLanguageByFilter(e));return n},e.prototype.matchLanguageByFilter=function(e){return l.DocumentFilter.is(e)?e.language?e.language:"*":e},e}();t.MonacoLanguages=d},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var s=o(121),a=function(){function e(e,t,o){var i,r;void 0===o&&(o=null);var a=this;this.p2m=e,this.m2p=t,this._rootUri=o,this.documents=new Map,this.onDidOpenTextDocumentEmitter=new s.Emitter,this.onDidCloseTextDocumentEmitter=new s.Emitter,this.onDidChangeTextDocumentEmitter=new s.Emitter;try{for(var l=n(monaco.editor.getModels()),u=l.next();!u.done;u=l.next()){var c=u.value;this.addModel(c)}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}monaco.editor.onDidCreateModel((function(e){return a.addModel(e)})),monaco.editor.onWillDisposeModel((function(e){return a.removeModel(e)}))}return Object.defineProperty(e.prototype,"rootUri",{get:function(){return this._rootUri},enumerable:!0,configurable:!0}),e.prototype.removeModel=function(e){var t=e.uri.toString(),o=this.documents.get(t);o&&(this.documents.delete(t),this.onDidCloseTextDocumentEmitter.fire(o))},e.prototype.addModel=function(e){var t=this,o=e.uri.toString(),n=this.setModel(o,e);this.onDidOpenTextDocumentEmitter.fire(n),e.onDidChangeContent((function(n){return t.onDidChangeContent(o,e,n)}))},e.prototype.onDidChangeContent=function(e,t,o){var i,r,s=this.setModel(e,t),a=[];try{for(var l=n(o.changes),u=l.next();!u.done;u=l.next()){var c=u.value,h=this.m2p.asRange(c.range),d=c.rangeLength,g=c.text;a.push({range:h,rangeLength:d,text:g})}}catch(e){i={error:e}}finally{try{u&&!u.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}this.onDidChangeTextDocumentEmitter.fire({textDocument:s,contentChanges:a})},e.prototype.setModel=function(e,t){var o=s.TextDocument.create(e,t.getModeId(),t.getVersionId(),t.getValue());return this.documents.set(e,o),o},Object.defineProperty(e.prototype,"textDocuments",{get:function(){return Array.from(this.documents.values())},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidOpenTextDocument",{get:function(){return this.onDidOpenTextDocumentEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidCloseTextDocument",{get:function(){return this.onDidCloseTextDocumentEmitter.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidChangeTextDocument",{get:function(){return this.onDidChangeTextDocumentEmitter.event},enumerable:!0,configurable:!0}),e.prototype.applyEdit=function(e){var t=this.p2m.asWorkspaceEdit(e),o=t.edits.reduce((function(e,t){var o=t;return e[o.resource.toString()]=monaco.editor.getModel(o.resource),e}),{});if(!Object.keys(o).map((function(e){return o[e]})).every((function(e){return!!e})))return Promise.resolve(!1);var n=t.edits.reduce((function(e,t){var o,n=t,i=n.resource.toString();i in e||(e[i]=[]);var s=n.edits.map((function(e){return{range:monaco.Range.lift(e.range),text:e.text}}));return(o=e[i]).push.apply(o,r(s)),e}),{});return Object.keys(n).forEach((function(e){o[e].pushEditOperations([],n[e].map((function(e){return{identifier:{major:1,minor:0},range:e.range,text:e.text,forceMoveMarkers:!0}})),(function(){return[]}))})),Promise.resolve(!0)},e}();t.MonacoWorkspace=a},function(e,t,o){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},r=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(i(arguments[t]));return e},s=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var a,l,u,c=o(245),h=o(121);!function(e){e.is=function(e){return!!e&&"data"in e}}(a=t.ProtocolDocumentLink||(t.ProtocolDocumentLink={})),function(e){e.is=function(e){return!!e&&"data"in e}}(l=t.ProtocolCodeLens||(t.ProtocolCodeLens={})),function(e){e.is=function(e){return!!e&&"data"in e}}(u=t.ProtocolCompletionItem||(t.ProtocolCompletionItem={}));var d=function(){function e(){}return e.prototype.asPosition=function(e,t){return{line:null==e?void 0:e-1,character:null==t?void 0:t-1}},e.prototype.asRange=function(e){if(void 0!==e)return null===e?null:{start:this.asPosition(e.startLineNumber,e.startColumn),end:this.asPosition(e.endLineNumber,e.endColumn)}},e.prototype.asTextDocumentIdentifier=function(e){return{uri:e.uri.toString()}},e.prototype.asTextDocumentPositionParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column)}},e.prototype.asCompletionParams=function(e,t,o){return Object.assign(this.asTextDocumentPositionParams(e,t),{context:this.asCompletionContext(o)})},e.prototype.asCompletionContext=function(e){return{triggerKind:this.asTriggerKind(e.triggerKind),triggerCharacter:e.triggerCharacter}},e.prototype.asTriggerKind=function(e){switch(e){case monaco.languages.SuggestTriggerKind.TriggerCharacter:return h.CompletionTriggerKind.TriggerCharacter;case monaco.languages.SuggestTriggerKind.TriggerForIncompleteCompletions:return h.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return h.CompletionTriggerKind.Invoked}},e.prototype.asCompletionItem=function(e){var t={label:e.label},o=u.is(e)?e:void 0;return e.detail&&(t.detail=e.detail),e.documentation&&(o&&o.documentationFormat?t.documentation=this.asDocumentation(o.documentationFormat,e.documentation):t.documentation=e.documentation),e.filterText&&(t.filterText=e.filterText),this.fillPrimaryInsertText(t,e),c.number(e.kind)&&(t.kind=this.asCompletionItemKind(e.kind,o&&o.originalItemKind)),e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),e.command&&(t.command=this.asCommand(e.command)),e.commitCharacters&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),o&&(void 0!==o.data&&(t.data=o.data),!0!==o.deprecated&&!1!==o.deprecated||(t.deprecated=o.deprecated)),t},e.prototype.asCompletionItemKind=function(e,t){return void 0!==t?t:e+1},e.prototype.asDocumentation=function(e,t){switch(e){case h.MarkupKind.PlainText:return{kind:e,value:t};case h.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}},e.prototype.fillPrimaryInsertText=function(e,t){var o,n,i=h.InsertTextFormat.PlainText;t.textEdit?(o=t.textEdit.text,n=this.asRange(t.textEdit.range)):"string"==typeof t.insertText?o=t.insertText:t.insertText&&(i=h.InsertTextFormat.Snippet,o=t.insertText.value),t.range&&(n=this.asRange(t.range)),e.insertTextFormat=i,t.fromEdit&&o&&n?e.textEdit={newText:o,range:n}:e.insertText=o},e.prototype.asTextEdit=function(e){return{range:this.asRange(e.range),newText:e.text}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asReferenceParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),context:{includeDeclaration:o.includeDeclaration}}},e.prototype.asDocumentSymbolParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asCodeLensParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDiagnosticSeverity=function(e){switch(e){case monaco.MarkerSeverity.Error:return h.DiagnosticSeverity.Error;case monaco.MarkerSeverity.Warning:return h.DiagnosticSeverity.Warning;case monaco.MarkerSeverity.Info:return h.DiagnosticSeverity.Information;case monaco.MarkerSeverity.Hint:return h.DiagnosticSeverity.Hint}},e.prototype.asDiagnostic=function(e){var t=this.asRange(new monaco.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)),o=this.asDiagnosticSeverity(e.severity);return h.Diagnostic.create(t,e.message,o,e.code,e.source)},e.prototype.asDiagnostics=function(e){var t=this;return null==e?e:e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asCodeActionContext=function(e){if(null==e)return e;var t=this.asDiagnostics(e.markers);return h.CodeActionContext.create(t,c.string(e.only)?[e.only]:void 0)},e.prototype.asCodeActionParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),context:this.asCodeActionContext(o)}},e.prototype.asCommand=function(e){if(e){var t=e.arguments||[];return h.Command.create.apply(h.Command,r([e.title,e.id],t))}},e.prototype.asCodeLens=function(e){var t=h.CodeLens.create(this.asRange(e.range));return e.command&&(t.command=this.asCommand(e.command)),l.is(e)&&e.data&&(t.data=e.data),t},e.prototype.asFormattingOptions=function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},e.prototype.asDocumentFormattingParams=function(e,t){return{textDocument:this.asTextDocumentIdentifier(e),options:this.asFormattingOptions(t)}},e.prototype.asDocumentRangeFormattingParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),range:this.asRange(t),options:this.asFormattingOptions(o)}},e.prototype.asDocumentOnTypeFormattingParams=function(e,t,o,n){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),ch:o,options:this.asFormattingOptions(n)}},e.prototype.asRenameParams=function(e,t,o){return{textDocument:this.asTextDocumentIdentifier(e),position:this.asPosition(t.lineNumber,t.column),newName:o}},e.prototype.asDocumentLinkParams=function(e){return{textDocument:this.asTextDocumentIdentifier(e)}},e.prototype.asDocumentLink=function(e){var t=h.DocumentLink.create(this.asRange(e.range));return e.url&&(t.target=e.url),a.is(e)&&e.data&&(t.data=e.data),t},e}();t.MonacoToProtocolConverter=d;var g=function(){function e(){}return e.prototype.asResourceEdits=function(e,t,o){return{resource:e,edits:this.asTextEdits(t),modelVersionId:o}},e.prototype.asWorkspaceEdit=function(e){var t,o,n,i;if(e){var r=[];if(e.documentChanges)try{for(var a=s(e.documentChanges),l=a.next();!l.done;l=a.next()){var u=l.value,c=monaco.Uri.parse(u.textDocument.uri),h="number"==typeof u.textDocument.version?u.textDocument.version:void 0;r.push(this.asResourceEdits(c,u.edits,h))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}else if(e.changes)try{for(var d=s(Object.keys(e.changes)),g=d.next();!g.done;g=d.next()){var p=g.value;c=monaco.Uri.parse(p);r.push(this.asResourceEdits(c,e.changes[p]))}}catch(e){n={error:e}}finally{try{g&&!g.done&&(i=d.return)&&i.call(d)}finally{if(n)throw n.error}}return{edits:r}}},e.prototype.asTextEdit=function(e){if(e)return{range:this.asRange(e.range),text:e.newText}},e.prototype.asTextEdits=function(e){var t=this;if(e)return e.map((function(e){return t.asTextEdit(e)}))},e.prototype.asCodeLens=function(e){if(e){var t={range:this.asRange(e.range)};return e.command&&(t.command=this.asCommand(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}},e.prototype.asCodeLenses=function(e){var t=this;if(e)return e.map((function(e){return t.asCodeLens(e)}))},e.prototype.asCodeActions=function(e){var t=this;return e.map((function(e){return t.asCodeAction(e)}))},e.prototype.asCodeAction=function(e){return h.CodeAction.is(e)?{title:e.title,command:this.asCommand(e.command),edit:this.asWorkspaceEdit(e.edit),diagnostics:this.asDiagnostics(e.diagnostics),kind:e.kind}:{command:{id:e.command,title:e.title,arguments:e.arguments},title:e.title}},e.prototype.asCommand=function(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}},e.prototype.asDocumentSymbol=function(e){var t=this,o=e.children&&e.children.map((function(e){return t.asDocumentSymbol(e)}));return{name:e.name,detail:e.detail||"",kind:this.asSymbolKind(e.kind),range:this.asRange(e.range),selectionRange:this.asRange(e.selectionRange),children:o}},e.prototype.asDocumentSymbols=function(e){var t=this;return h.DocumentSymbol.is(e[0])?e.map((function(e){return t.asDocumentSymbol(e)})):this.asSymbolInformations(e)},e.prototype.asSymbolInformations=function(e,t){var o=this;if(e)return e.map((function(e){return o.asSymbolInformation(e,t)}))},e.prototype.asSymbolInformation=function(e,t){var o=this.asLocation(t?n({},e.location,{uri:t.toString()}):e.location);return{name:e.name,detail:"",containerName:e.containerName,kind:this.asSymbolKind(e.kind),range:o.range,selectionRange:o.range}},e.prototype.asSymbolKind=function(e){return e<=h.SymbolKind.TypeParameter?e-1:monaco.languages.SymbolKind.Property},e.prototype.asDocumentHighlights=function(e){var t=this;if(e)return e.map((function(e){return t.asDocumentHighlight(e)}))},e.prototype.asDocumentHighlight=function(e){return{range:this.asRange(e.range),kind:c.number(e.kind)?this.asDocumentHighlightKind(e.kind):void 0}},e.prototype.asDocumentHighlightKind=function(e){switch(e){case h.DocumentHighlightKind.Text:return monaco.languages.DocumentHighlightKind.Text;case h.DocumentHighlightKind.Read:return monaco.languages.DocumentHighlightKind.Read;case h.DocumentHighlightKind.Write:return monaco.languages.DocumentHighlightKind.Write}return monaco.languages.DocumentHighlightKind.Text},e.prototype.asReferences=function(e){var t=this;if(e)return e.map((function(e){return t.asLocation(e)}))},e.prototype.asDefinitionResult=function(e){var t=this;if(e)return c.array(e)?e.map((function(e){return t.asLocation(e)})):this.asLocation(e)},e.prototype.asLocation=function(e){if(e)return{uri:monaco.Uri.parse(e.uri),range:this.asRange(e.range)}},e.prototype.asSignatureHelp=function(e){if(e){var t={};return c.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,c.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures?t.signatures=this.asSignatureInformations(e.signatures):t.signatures=[],t}},e.prototype.asSignatureInformations=function(e){var t=this;return e.map((function(e){return t.asSignatureInformation(e)}))},e.prototype.asSignatureInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),e.parameters?t.parameters=this.asParameterInformations(e.parameters):t.parameters=[],t},e.prototype.asParameterInformations=function(e){var t=this;return e.map((function(e){return t.asParameterInformation(e)}))},e.prototype.asParameterInformation=function(e){var t={label:e.label};return e.documentation&&(t.documentation=this.asDocumentation(e.documentation)),t},e.prototype.asHover=function(e){if(e)return{contents:this.asHoverContent(e.contents),range:this.asRange(e.range)}},e.prototype.asHoverContent=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return t.asMarkdownString(e)})):[this.asMarkdownString(e)]},e.prototype.asDocumentation=function(e){return c.string(e)?e:e.kind===h.MarkupKind.PlainText?e.value:this.asMarkdownString(e)},e.prototype.asMarkdownString=function(e){return h.MarkupContent.is(e)?{value:e.value}:c.string(e)?{value:e}:{value:"```"+e.language+"\n"+e.value+"\n```"}},e.prototype.asSeverity=function(e){return 1===e?monaco.MarkerSeverity.Error:2===e?monaco.MarkerSeverity.Warning:3===e?monaco.MarkerSeverity.Info:monaco.MarkerSeverity.Hint},e.prototype.asDiagnostics=function(e){var t=this;if(e)return e.map((function(e){return t.asDiagnostic(e)}))},e.prototype.asDiagnostic=function(e){return{code:"number"==typeof e.code?e.code.toString():e.code,severity:this.asSeverity(e.severity),message:e.message,source:e.source,startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,relatedInformation:this.asRelatedInformations(e.relatedInformation)}},e.prototype.asRelatedInformations=function(e){var t=this;if(e)return e.map((function(e){return t.asRelatedInformation(e)}))},e.prototype.asRelatedInformation=function(e){return{resource:monaco.Uri.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}},e.prototype.asCompletionResult=function(e){var t=this;return e?Array.isArray(e)?{isIncomplete:!1,items:e.map((function(e){return t.asCompletionItem(e)}))}:{isIncomplete:e.isIncomplete,items:e.items.map(this.asCompletionItem.bind(this))}:{isIncomplete:!1,items:[]}},e.prototype.asCompletionItem=function(e){var t={label:e.label};e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=this.asDocumentation(e.documentation),t.documentationFormat=c.string(e.documentation)?void 0:e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o=this.asCompletionInsertText(e);if(o&&(t.insertText=o.text,t.range=o.range,t.fromEdit=o.fromEdit),c.number(e.kind)){var n=i(this.asCompletionItemKind(e.kind),2),r=n[0],s=n[1];t.kind=r,s&&(t.originalItemKind=s)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=this.asTextEdits(e.additionalTextEdits)),c.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=this.asCommand(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),void 0!==e.data&&(t.data=e.data),t},e.prototype.asCompletionItemKind=function(e){return h.CompletionItemKind.Text<=e&&e<=h.CompletionItemKind.TypeParameter?[e-1,void 0]:[h.CompletionItemKind.Text,e]},e.prototype.asCompletionInsertText=function(e){if(e.textEdit){var t=this.asRange(e.textEdit.range),o=e.textEdit.newText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,range:t,fromEdit:!0}}if(e.insertText){o=e.insertText;return{text:e.insertTextFormat===h.InsertTextFormat.Snippet?{value:o}:o,fromEdit:!1}}},e.prototype.asDocumentLinks=function(e){var t=this;return e.map((function(e){return t.asDocumentLink(e)}))},e.prototype.asDocumentLink=function(e){return{range:this.asRange(e.range),url:e.target,data:e.data}},e.prototype.asRange=function(e){if(void 0!==e){if(null===e)return null;var t=this.asPosition(e.start),o=this.asPosition(e.end);return t instanceof monaco.Position&&o instanceof monaco.Position?new monaco.Range(t.lineNumber,t.column,o.lineNumber,o.column):{startLineNumber:t&&void 0!==t.lineNumber?t.lineNumber:void 0,startColumn:t&&void 0!==t.column?t.column:void 0,endLineNumber:o&&void 0!==o.lineNumber?o.lineNumber:void 0,endColumn:o&&void 0!==o.column?o.column:void 0}}},e.prototype.asPosition=function(e){if(void 0!==e){if(null===e)return null;var t=e.line,o=e.character,n=void 0===t?void 0:t+1,i=void 0===o?void 0:o+1;return void 0!==n&&void 0!==i?new monaco.Position(n,i):{lineNumber:n,column:i}}},e.prototype.asColorInformations=function(e){var t=this;return e.map((function(e){return t.asColorInformation(e)}))},e.prototype.asColorInformation=function(e){return{range:this.asRange(e.range),color:e.color}},e.prototype.asColorPresentations=function(e){var t=this;return e.map((function(e){return t.asColorPresentation(e)}))},e.prototype.asColorPresentation=function(e){return{label:e.label,textEdit:this.asTextEdit(e.textEdit),additionalTextEdits:this.asTextEdits(e.additionalTextEdits)}},e.prototype.asFoldingRanges=function(e){var t=this;return e?e.map((function(e){return t.asFoldingRange(e)})):e},e.prototype.asFoldingRange=function(e){return{start:e.startLine+1,end:e.endLine+1,kind:this.asFoldingRangeKind(e.kind)}},e.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case h.FoldingRangeKind.Comment:return monaco.languages.FoldingRangeKind.Comment;case h.FoldingRangeKind.Imports:return monaco.languages.FoldingRangeKind.Imports;case h.FoldingRangeKind.Region:return monaco.languages.FoldingRangeKind.Region}},e}();t.ProtocolToMonacoConverter=g},function(e,t,o){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files={},this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}n.prototype=o(325),n.prototype.loadAsync=o(358),n.support=o(127),n.defaults=o(274),n.version="3.2.0",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=o(168),e.exports=n},function(e,t,o){(function(o){var n,i,r;i=[],void 0===(r="function"==typeof(n=function(){"use strict";function t(e,t,o){var n=new XMLHttpRequest;n.open("GET",e),n.responseType="blob",n.onload=function(){s(n.response,t,o)},n.onerror=function(){console.error("could not download file")},n.send()}function n(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function i(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(o){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var r="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof o&&o.global===o?o:void 0,s=r.saveAs||("object"!=typeof window||window!==r?function(){}:"download"in HTMLAnchorElement.prototype?function(e,o,s){var a=r.URL||r.webkitURL,l=document.createElement("a");o=o||e.name||"download",l.download=o,l.rel="noopener","string"==typeof e?(l.href=e,l.origin===location.origin?i(l):n(l.href)?t(e,o,s):i(l,l.target="_blank")):(l.href=a.createObjectURL(e),setTimeout((function(){a.revokeObjectURL(l.href)}),4e4),setTimeout((function(){i(l)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,o,r){if(o=o||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,r),o);else if(n(e))t(e,o,r);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){i(s)}))}}:function(e,o,n,i){if((i=i||open("","_blank"))&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof e)return t(e,o,n);var s="application/octet-stream"===e.type,a=/constructor/i.test(r.HTMLElement)||r.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||s&&a)&&"object"==typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=e:location=e,i=null},u.readAsDataURL(e)}else{var c=r.URL||r.webkitURL,h=c.createObjectURL(e);i?i.location=h:location.href=h,i=null,setTimeout((function(){c.revokeObjectURL(h)}),4e4)}});r.saveAs=s.saveAs=s,e.exports=s})?n.apply(t,i):n)||(e.exports=r)}).call(this,o(80))},function(e,t,o){"use strict";var n=o(363),i=o(218),r=o(367),s=o(289),a=o(290),l=o(368),u=o(369),c=o(390),h=o(149);e.exports=_,_.prototype.validate=function(e,t){var o;if("string"==typeof e){if(!(o=this.getSchema(e)))throw new Error('no schema with key or ref "'+e+'"')}else{var n=this._addSchema(e);o=n.validate||this._compile(n)}var i=o(t);!0!==o.$async&&(this.errors=o.errors);return i},_.prototype.compile=function(e,t){var o=this._addSchema(e,void 0,t);return o.validate||this._compile(o)},_.prototype.addSchema=function(e,t,o,n){if(Array.isArray(e)){for(var r=0;r<e.length;r++)this.addSchema(e[r],void 0,o,n);return this}var s=this._getId(e);if(void 0!==s&&"string"!=typeof s)throw new Error("schema id must be string");return S(this,t=i.normalizeId(t||s)),this._schemas[t]=this._addSchema(e,o,n,!0),this},_.prototype.addMetaSchema=function(e,t,o){return this.addSchema(e,t,o,!0),this},_.prototype.validateSchema=function(e,t){var o=e.$schema;if(void 0!==o&&"string"!=typeof o)throw new Error("$schema must be a string");if(!(o=o||this._opts.defaultMeta||function(e){var t=e._opts.meta;return e._opts.defaultMeta="object"==typeof t?e._getId(t)||t:e.getSchema(p)?p:void 0,e._opts.defaultMeta}(this)))return this.logger.warn("meta-schema not available"),this.errors=null,!0;var n=this.validate(o,e);if(!n&&t){var i="schema is invalid: "+this.errorsText();if("log"!=this._opts.validateSchema)throw new Error(i);this.logger.error(i)}return n},_.prototype.getSchema=function(e){var t=y(this,e);switch(typeof t){case"object":return t.validate||this._compile(t);case"string":return this.getSchema(t);case"undefined":return function(e,t){var o=i.schema.call(e,{schema:{}},t);if(o){var r=o.schema,a=o.root,l=o.baseId,u=n.call(e,r,a,void 0,l);return e._fragments[t]=new s({ref:t,fragment:!0,schema:r,root:a,baseId:l,validate:u}),u}}(this,e)}},_.prototype.removeSchema=function(e){if(e instanceof RegExp)return v(this,this._schemas,e),v(this,this._refs,e),this;switch(typeof e){case"undefined":return v(this,this._schemas),v(this,this._refs),this._cache.clear(),this;case"string":var t=y(this,e);return t&&this._cache.del(t.cacheKey),delete this._schemas[e],delete this._refs[e],this;case"object":var o=this._opts.serialize,n=o?o(e):e;this._cache.del(n);var r=this._getId(e);r&&(r=i.normalizeId(r),delete this._schemas[r],delete this._refs[r])}return this},_.prototype.addFormat=function(e,t){"string"==typeof t&&(t=new RegExp(t));return this._formats[e]=t,this},_.prototype.errorsText=function(e,t){if(!(e=e||this.errors))return"No errors";for(var o=void 0===(t=t||{}).separator?", ":t.separator,n=void 0===t.dataVar?"data":t.dataVar,i="",r=0;r<e.length;r++){var s=e[r];s&&(i+=n+s.dataPath+" "+s.message+o)}return i.slice(0,-o.length)},_.prototype._addSchema=function(e,t,o,n){if("object"!=typeof e&&"boolean"!=typeof e)throw new Error("schema should be object or boolean");var r=this._opts.serialize,a=r?r(e):e,l=this._cache.get(a);if(l)return l;n=n||!1!==this._opts.addUsedSchema;var u=i.normalizeId(this._getId(e));u&&n&&S(this,u);var c,h=!1!==this._opts.validateSchema&&!t;h&&!(c=u&&u==i.normalizeId(e.$schema))&&this.validateSchema(e,!0);var d=i.ids.call(this,e),g=new s({id:u,schema:e,localRefs:d,cacheKey:a,meta:o});"#"!=u[0]&&n&&(this._refs[u]=g);this._cache.put(a,g),h&&c&&this.validateSchema(e,!0);return g},_.prototype._compile=function(e,t){if(e.compiling)return e.validate=r,r.schema=e.schema,r.errors=null,r.root=t||r,!0===e.schema.$async&&(r.$async=!0),r;var o,i;e.compiling=!0,e.meta&&(o=this._opts,this._opts=this._metaOpts);try{i=n.call(this,e.schema,t,e.localRefs)}catch(t){throw delete e.validate,t}finally{e.compiling=!1,e.meta&&(this._opts=o)}return e.validate=i,e.refs=i.refs,e.refVal=i.refVal,e.root=i.root,i;function r(){var t=e.validate,o=t.apply(this,arguments);return r.errors=t.errors,o}},_.prototype.compileAsync=o(391);var d=o(392);_.prototype.addKeyword=d.add,_.prototype.getKeyword=d.get,_.prototype.removeKeyword=d.remove,_.prototype.validateKeyword=d.validate;var g=o(220);_.ValidationError=g.Validation,_.MissingRefError=g.MissingRef,_.$dataMetaSchema=c;var p="http://json-schema.org/draft-07/schema",f=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],m=["/properties"];function _(e){if(!(this instanceof _))return new _(e);e=this._opts=h.copy(e)||{},function(e){var t=e._opts.logger;if(!1===t)e.logger={log:T,warn:T,error:T};else{if(void 0===t&&(t=console),!("object"==typeof t&&t.log&&t.warn&&t.error))throw new Error("logger must implement log, warn and error methods");e.logger=t}}(this),this._schemas={},this._refs={},this._fragments={},this._formats=l(e.format),this._cache=e.cache||new r,this._loadingSchemas={},this._compilations=[],this.RULES=u(),this._getId=function(e){switch(e.schemaId){case"auto":return C;case"id":return b;default:return E}}(e),e.loopRequired=e.loopRequired||1/0,"property"==e.errorDataPath&&(e._errorDataPathProperty=!0),void 0===e.serialize&&(e.serialize=a),this._metaOpts=function(e){for(var t=h.copy(e._opts),o=0;o<f.length;o++)delete t[f[o]];return t}(this),e.formats&&function(e){for(var t in e._opts.formats){var o=e._opts.formats[t];e.addFormat(t,o)}}(this),function(e){var t;e._opts.$data&&(t=o(395),e.addMetaSchema(t,t.$id,!0));if(!1===e._opts.meta)return;var n=o(296);e._opts.$data&&(n=c(n,m));e.addMetaSchema(n,p,!0),e._refs["http://json-schema.org/schema"]=p}(this),"object"==typeof e.meta&&this.addMetaSchema(e.meta),e.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),function(e){var t=e._opts.schemas;if(!t)return;if(Array.isArray(t))e.addSchema(t);else for(var o in t)e.addSchema(t[o],o)}(this)}function y(e,t){return t=i.normalizeId(t),e._schemas[t]||e._refs[t]||e._fragments[t]}function v(e,t,o){for(var n in t){var i=t[n];i.meta||o&&!o.test(n)||(e._cache.del(i.cacheKey),delete t[n])}}function b(e){return e.$id&&this.logger.warn("schema $id ignored",e.$id),e.id}function E(e){return e.id&&this.logger.warn("schema id ignored",e.id),e.$id}function C(e){if(e.$id&&e.id&&e.$id!=e.id)throw new Error("schema $id is different from id");return e.$id||e.id}function S(e,t){if(e._schemas[t]||e._refs[t])throw new Error('schema with key or id "'+t+'" already exists')}function T(){}},function(e,t,o){"use strict";function n(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}Object.defineProperty(t,"__esModule",{value:!0}),n(o(242)),n(o(301)),n(o(501)),n(o(304)),n(o(307)),n(o(503))},function(e,t){e.exports='<xml xmlns="http://www.w3.org/1999/xhtml" id="toolbox" style="display: none;">\n  <category name="Logic" colour="#5C81A6">\n    <block type="controls_if"></block>\n    <block type="logic_compare">\n      <field name="OP">EQ</field>\n    </block>\n    <block type="logic_operation">\n      <field name="OP">AND</field>\n    </block>\n    <block type="logic_negate"></block>\n    <block type="logic_boolean">\n      <field name="BOOL">TRUE</field>\n    </block>\n    <block type="logic_null"></block>\n    <block type="logic_ternary"></block>\n    <block type="wait">\n      <field name="TIME">1</field>\n    </block>\n  </category>\n  <category name="Loops" colour="#5CA65C">\n    <block type="controls_repeat_ext">\n      <value name="TIMES">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="controls_whileUntil">\n      <field name="MODE">WHILE</field>\n    </block>\n    <block type="controls_for">\n      <field name="VAR" id="lJ.d3Xzwq4EO9pbcM-,j" variabletype="">i</field>\n      <value name="FROM">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="TO">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n      <value name="BY">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="controls_forEach">\n      <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">j</field>\n    </block>\n    <block type="controls_flow_statements">\n      <field name="FLOW">BREAK</field>\n    </block>\n  </category>\n  <category name="Math" colour="#5C68A6">\n    <block type="math_number">\n      <field name="NUM">0</field>\n    </block>\n    <block type="math_arithmetic">\n      <field name="OP">ADD</field>\n      <value name="A">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="B">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_single">\n      <field name="OP">ROOT</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">9</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_trig">\n      <field name="OP">SIN</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">45</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_constant">\n      <field name="CONSTANT">PI</field>\n    </block>\n    <block type="math_number_property">\n      <mutation divisor_input="false"></mutation>\n      <field name="PROPERTY">EVEN</field>\n      <value name="NUMBER_TO_CHECK">\n        <shadow type="math_number">\n          <field name="NUM">0</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_round">\n      <field name="OP">ROUND</field>\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">3.1</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_on_list">\n      <mutation op="SUM"></mutation>\n      <field name="OP">SUM</field>\n    </block>\n    <block type="math_modulo">\n      <value name="DIVIDEND">\n        <shadow type="math_number">\n          <field name="NUM">64</field>\n        </shadow>\n      </value>\n      <value name="DIVISOR">\n        <shadow type="math_number">\n          <field name="NUM">10</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_constrain">\n      <value name="VALUE">\n        <shadow type="math_number">\n          <field name="NUM">50</field>\n        </shadow>\n      </value>\n      <value name="LOW">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="HIGH">\n        <shadow type="math_number">\n          <field name="NUM">100</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_random_int">\n      <value name="FROM">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="TO">\n        <shadow type="math_number">\n          <field name="NUM">100</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="math_random_float"></block>\n  </category>\n  <category name="Text" colour="#5CA68D">\n    <block type="text">\n      <field name="TEXT"></field>\n    </block>\n    <block type="text_join">\n      <mutation items="2"></mutation>\n    </block>\n    <block type="text_append">\n      <field name="VAR" id="0N6qYF4t-cN;8U9`-VE)" variabletype="">item</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT"></field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_length">\n      <value name="VALUE">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_isEmpty">\n      <value name="VALUE">\n        <shadow type="text">\n          <field name="TEXT"></field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_indexOf">\n      <field name="END">FIRST</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n      <value name="FIND">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_charAt">\n      <mutation at="true"></mutation>\n      <field name="WHERE">FROM_START</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n    </block>\n    <block type="text_getSubstring">\n      <mutation at1="true" at2="true"></mutation>\n      <field name="WHERE1">FROM_START</field>\n      <field name="WHERE2">FROM_START</field>\n      <value name="STRING">\n        <block type="variables_get">\n          <field name="VAR" id="A@a2:|bXSwAIw%{|P|/K" variabletype="">text</field>\n        </block>\n      </value>\n    </block>\n    <block type="text_changeCase">\n      <field name="CASE">UPPERCASE</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_trim">\n      <field name="MODE">BOTH</field>\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="text_print">\n      <value name="TEXT">\n        <shadow type="text">\n          <field name="TEXT">abc</field>\n        </shadow>\n      </value>\n    </block>\n  </category>\n  <category name="Lists" colour="#745CA6">\n    <block type="lists_create_with">\n      <mutation items="0"></mutation>\n    </block>\n    <block type="lists_create_with">\n      <mutation items="3"></mutation>\n    </block>\n    <block type="lists_repeat">\n      <value name="NUM">\n        <shadow type="math_number">\n          <field name="NUM">5</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="lists_length"></block>\n    <block type="lists_isEmpty"></block>\n    <block type="lists_indexOf">\n      <field name="END">FIRST</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_getIndex">\n      <mutation statement="false" at="true"></mutation>\n      <field name="MODE">GET</field>\n      <field name="WHERE">FROM_START</field>\n      <value name="VALUE">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_setIndex">\n      <mutation at="true"></mutation>\n      <field name="MODE">SET</field>\n      <field name="WHERE">FROM_START</field>\n      <value name="LIST">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_getSublist">\n      <mutation at1="true" at2="true"></mutation>\n      <field name="WHERE1">FROM_START</field>\n      <field name="WHERE2">FROM_START</field>\n      <value name="LIST">\n        <block type="variables_get">\n          <field name="VAR" id="yb(8Wo,^y}H[Nmfnjr2O" variabletype="">list</field>\n        </block>\n      </value>\n    </block>\n    <block type="lists_split">\n      <mutation mode="SPLIT"></mutation>\n      <field name="MODE">SPLIT</field>\n      <value name="DELIM">\n        <shadow type="text">\n          <field name="TEXT">,</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="lists_sort">\n      <field name="TYPE">NUMERIC</field>\n      <field name="DIRECTION">1</field>\n    </block>\n  </category>\n  <sep></sep>\n  <category name="Variables" colour="#A65C81" custom="VARIABLE"></category>\n  <category name="Functions" colour="#9A5CA6" custom="PROCEDURE"></category>\n  <sep></sep>\n  <category name="Movement" colour="#a55b5b">\n    <block type="motors_set_power">\n      <field name="MOTOR_INDEX">1</field>\n      <value name="MOTOR_PERCENT">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_move_for_time">\n      <field name="MOTORS_DIRECTION">FORWARDS</field>\n      <value name="MOTORS_TIME">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="MOTORS_POWER_PERCENT">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_turn_for_time">\n      <field name="MOTORS_DIRECTION">CLOCKWISE</field>\n      <value name="MOTORS_TIME">\n        <shadow type="math_number">\n          <field name="NUM">1</field>\n        </shadow>\n      </value>\n      <value name="MOTORS_POWER">\n        <shadow type="math_number">\n          <field name="NUM">20</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="motors_reset"></block>\n    <block type="servo_set_position">\n      <field name="SERVO_INDEX">1</field>\n      <value name="SERVO_POSITION">\n        <shadow type="math_number">\n          <field name="NUM">50</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="zone"></block>\n  </category>\n  <category name="GPIO" colour="#5b80a5">\n    <block type="gpio_set_mode">\n      <field name="GPIO_INDEX">1</field>\n      <field name="GPIO_MODE">OUTPUT</field>\n    </block>\n    <block type="gpio_write_digital">\n      <field name="GPIO_INDEX">1</field>\n      <value name="GPIO_STATE">\n        <shadow type="logic_boolean">\n          <field name="BOOL">TRUE</field>\n        </shadow>\n      </value>\n    </block>\n    <block type="gpio_read_digital">\n      <field name="GPIO_INDEX">1</field>\n    </block>\n    <block type="gpio_read_analog">\n      <field name="GPIO_INDEX">1</field>\n    </block>\n  </category>\n  <category name="Vision" colour="#80a55b">\n    <block type="vision_see"></block>\n    <block type="vision_camera_res"></block>\n    <block type="vision_distance_to">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n    <block type="vision_angle_to">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n    <block type="vision_marker_type">\n      <value name="MARKER">\n        <block type="variables_get">\n          <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">marker</field>\n        </block>\n      </value>\n    </block>\n    <block type="vision_marker_type_arena"></block>\n    <block type="vision_marker_type_winkie"></block>\n    <block type="vision_marker_type_gillikin"></block>\n    <block type="vision_marker_type_quadling"></block>\n    <block type="vision_marker_type_munchkin"></block>\n\n    <block type="controls_forEach">\n      <field name="VAR" id=";)moF_=/[]v+i@k*^`Aq" variabletype="">i</field>\n      <value name="LIST">\n        <block type="vision_see"></block>\n      </value>\n    </block>\n  </category>\n</xml>'},function(e,t,o){"use strict";function n(e){for(var t=arguments,o=1;o<arguments.length;o++)for(var n in arguments[o])e[n]=t[o][n];return e}var i={functional:!0,props:{code:{type:String},inline:{type:Boolean,default:!1},language:{type:String,default:"markup"}},render:function(e,t){var o=t.props.code||(t.children&&t.children.length>0?t.children[0].text:""),i=t.props.inline,r=t.props.language,s=Prism.languages[r],a="language-"+r;return i?e("code",n({},t.data,{class:[t.data.class,a],domProps:n({},t.data.domProps,{innerHTML:Prism.highlight(o,s)})})):e("pre",n({},t.data,{class:[t.data.class,a]}),[e("code",{class:a,domProps:{innerHTML:Prism.highlight(o,s)}})])}};e.exports=i},function(e,t,o){"use strict";(function(e){o.d(t,"a",(function(){return f}));var n=o(115),i="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{};var r=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){!function(t){var o=function(e,t,n){if(!l(t)||c(t)||h(t)||d(t)||a(t))return t;var i,r=0,s=0;if(u(t))for(i=[],s=t.length;r<s;r++)i.push(o(e,t[r],n));else for(var g in i={},t)Object.prototype.hasOwnProperty.call(t,g)&&(i[e(g,n)]=o(e,t[g],n));return i},n=function(e){return g(e)?e:(e=e.replace(/[\-_\s]+(.)?/g,(function(e,t){return t?t.toUpperCase():""}))).substr(0,1).toLowerCase()+e.substr(1)},i=function(e){var t=n(e);return t.substr(0,1).toUpperCase()+t.substr(1)},r=function(e,t){return function(e,t){var o=(t=t||{}).separator||"_",n=t.split||/(?=[A-Z])/;return e.split(n).join(o)}(e,t).toLowerCase()},s=Object.prototype.toString,a=function(e){return"function"==typeof e},l=function(e){return e===Object(e)},u=function(e){return"[object Array]"==s.call(e)},c=function(e){return"[object Date]"==s.call(e)},h=function(e){return"[object RegExp]"==s.call(e)},d=function(e){return"[object Boolean]"==s.call(e)},g=function(e){return(e-=0)==e},p=function(e,t){var o=t&&"process"in t?t.process:t;return"function"!=typeof o?e:function(t,n){return o(t,e,n)}},f={camelize:n,decamelize:r,pascalize:i,depascalize:r,camelizeKeys:function(e,t){return o(p(n,t),e)},decamelizeKeys:function(e,t){return o(p(r,t),e,t)},pascalizeKeys:function(e,t){return o(p(i,t),e)},depascalizeKeys:function(){return this.decamelizeKeys.apply(this,arguments)}};e.exports?e.exports=f:t.humps=f}(i)})),s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e},l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},u=function(e,t){var o={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(o[n]=e[n]);return o};function c(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];return t.reduce((function(e,t){return Array.isArray(t)?e=e.concat(t):e.push(t),e}),[])}function h(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=(t.children||[]).map(h.bind(null,e)),s=Object.keys(t.attributes||{}).reduce((function(e,o){var n=t.attributes[o];switch(o){case"class":e.class=n.split(/\s+/).reduce((function(e,t){return e[t]=!0,e}),{});break;case"style":e.style=n.split(";").map((function(e){return e.trim()})).filter((function(e){return e})).reduce((function(e,t){var o=t.indexOf(":"),n=r.camelize(t.slice(0,o)),i=t.slice(o+1).trim();return e[n]=i,e}),{});break;default:e.attrs[o]=n}return e}),{class:{},style:{},attrs:{}}),a=n.class,d=void 0===a?{}:a,g=n.style,p=void 0===g?{}:g,f=n.attrs,m=void 0===f?{}:f,_=u(n,["class","style","attrs"]);return"string"==typeof t?t:e(t.tag,l({class:c(s.class,d),style:l({},s.style,p),attrs:l({},s.attrs,m)},_,{props:o}),i)}var d=!1;try{d=!0}catch(e){}function g(e,t){return Array.isArray(t)&&t.length>0||!Array.isArray(t)&&t?a({},e,t):{}}function p(e){return e&&"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName&&e.icon?e:n.d.icon?n.d.icon(e):null===e?null:"object"===(void 0===e?"undefined":s(e))&&e.prefix&&e.iconName?e:Array.isArray(e)&&2===e.length?{prefix:e[0],iconName:e[1]}:"string"==typeof e?{prefix:"fas",iconName:e}:void 0}var f={name:"FontAwesomeIcon",functional:!0,props:{beat:{type:Boolean,default:!1},border:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},flip:{type:String,default:null,validator:function(e){return["horizontal","vertical","both"].indexOf(e)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(e){return["right","left"].indexOf(e)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(e){return[90,180,270].indexOf(parseInt(e,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(e){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(e)>-1}},spin:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},inverse:{type:Boolean,default:!1}},render:function(e,t){var o=t.props,i=o.icon,r=o.mask,s=o.symbol,u=o.title,c=p(i),f=g("classes",function(e){var t,o=(t={"fa-spin":e.spin,"fa-spin-pulse":e.spinPulse,"fa-spin-reverse":e.spinReverse,"fa-pulse":e.pulse,"fa-beat":e.beat,"fa-fade":e.fade,"fa-flash":e.flash,"fa-fw":e.fixedWidth,"fa-border":e.border,"fa-li":e.listItem,"fa-inverse":e.inverse,"fa-flip-horizontal":"horizontal"===e.flip||"both"===e.flip,"fa-flip-vertical":"vertical"===e.flip||"both"===e.flip},a(t,"fa-"+e.size,null!==e.size),a(t,"fa-rotate-"+e.rotation,null!==e.rotation),a(t,"fa-pull-"+e.pull,null!==e.pull),a(t,"fa-swap-opacity",e.swapOpacity),t);return Object.keys(o).map((function(e){return o[e]?e:null})).filter((function(e){return e}))}(o)),m=g("transform","string"==typeof o.transform?n.d.transform(o.transform):o.transform),_=g("mask",p(r)),y=Object(n.b)(c,l({},f,m,_,{symbol:s,title:u}));if(!y)return function(){var e;!d&&console&&"function"==typeof console.error&&(e=console).error.apply(e,arguments)}("Could not find one or more icon(s)",c,_);var v=y.abstract;return h.bind(null,e)(v[0],{},t.data)}};Boolean,String,Number,String,Object,Boolean,String}).call(this,o(80))},function(e,t,o){},function(e,t,o){(function(t){var o="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},n=function(){var e=/\blang(?:uage)?-([\w-]+)\b/i,t=0,n=o.Prism={manual:o.Prism&&o.Prism.manual,disableWorkerMessageHandler:o.Prism&&o.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof i?new i(e.type,n.util.encode(e.content),e.alias):"Array"===n.util.type(e)?e.map(n.util.encode):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function(e,t){var o=n.util.type(e);switch(t=t||{},o){case"Object":if(t[n.util.objId(e)])return t[n.util.objId(e)];var i={};for(var r in t[n.util.objId(e)]=i,e)e.hasOwnProperty(r)&&(i[r]=n.util.clone(e[r],t));return i;case"Array":if(t[n.util.objId(e)])return t[n.util.objId(e)];i=[];return t[n.util.objId(e)]=i,e.forEach((function(e,o){i[o]=n.util.clone(e,t)})),i}return e}},languages:{extend:function(e,t){var o=n.util.clone(n.languages[e]);for(var i in t)o[i]=t[i];return o},insertBefore:function(e,t,o,i){var r=(i=i||n.languages)[e];if(2==arguments.length){for(var s in o=arguments[1])o.hasOwnProperty(s)&&(r[s]=o[s]);return r}var a={};for(var l in r)if(r.hasOwnProperty(l)){if(l==t)for(var s in o)o.hasOwnProperty(s)&&(a[s]=o[s]);a[l]=r[l]}var u=i[e];return i[e]=a,n.languages.DFS(n.languages,(function(t,o){o===u&&t!=e&&(this[t]=a)})),a},DFS:function(e,t,o,i){for(var r in i=i||{},e)e.hasOwnProperty(r)&&(t.call(e,r,e[r],o||r),"Object"!==n.util.type(e[r])||i[n.util.objId(e[r])]?"Array"!==n.util.type(e[r])||i[n.util.objId(e[r])]||(i[n.util.objId(e[r])]=!0,n.languages.DFS(e[r],t,r,i)):(i[n.util.objId(e[r])]=!0,n.languages.DFS(e[r],t,null,i)))}},plugins:{},highlightAll:function(e,t){n.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,o){var i={callback:o,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};n.hooks.run("before-highlightall",i);for(var r,s=i.elements||e.querySelectorAll(i.selector),a=0;r=s[a++];)n.highlightElement(r,!0===t,i.callback)},highlightElement:function(t,i,r){for(var s,a,l=t;l&&!e.test(l.className);)l=l.parentNode;l&&(s=(l.className.match(e)||[,""])[1].toLowerCase(),a=n.languages[s]),t.className=t.className.replace(e,"").replace(/\s+/g," ")+" language-"+s,t.parentNode&&(l=t.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(e,"").replace(/\s+/g," ")+" language-"+s));var u={element:t,language:s,grammar:a,code:t.textContent};if(n.hooks.run("before-sanity-check",u),!u.code||!u.grammar)return u.code&&(n.hooks.run("before-highlight",u),u.element.textContent=u.code,n.hooks.run("after-highlight",u)),void n.hooks.run("complete",u);if(n.hooks.run("before-highlight",u),i&&o.Worker){var c=new Worker(n.filename);c.onmessage=function(e){u.highlightedCode=e.data,n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),r&&r.call(u.element)},c.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=n.highlight(u.code,u.grammar,u.language),n.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,n.hooks.run("after-highlight",u),n.hooks.run("complete",u),r&&r.call(t)},highlight:function(e,t,o){var r={code:e,grammar:t,language:o};return n.hooks.run("before-tokenize",r),r.tokens=n.tokenize(r.code,r.grammar),n.hooks.run("after-tokenize",r),i.stringify(n.util.encode(r.tokens),r.language)},matchGrammar:function(e,t,o,i,r,s,a){var l=n.Token;for(var u in o)if(o.hasOwnProperty(u)&&o[u]){if(u==a)return;var c=o[u];c="Array"===n.util.type(c)?c:[c];for(var h=0;h<c.length;++h){var d=c[h],g=d.inside,p=!!d.lookbehind,f=!!d.greedy,m=0,_=d.alias;if(f&&!d.pattern.global){var y=d.pattern.toString().match(/[imuy]*$/)[0];d.pattern=RegExp(d.pattern.source,y+"g")}d=d.pattern||d;for(var v=i,b=r;v<t.length;b+=t[v].length,++v){var E=t[v];if(t.length>e.length)return;if(!(E instanceof l)){if(f&&v!=t.length-1){if(d.lastIndex=b,!(O=d.exec(e)))break;for(var C=O.index+(p?O[1].length:0),S=O.index+O[0].length,T=v,w=b,k=t.length;T<k&&(w<S||!t[T].type&&!t[T-1].greedy);++T)C>=(w+=t[T].length)&&(++v,b=w);if(t[v]instanceof l)continue;R=T-v,E=e.slice(b,w),O.index-=b}else{d.lastIndex=0;var O=d.exec(E),R=1}if(O){p&&(m=O[1]?O[1].length:0);S=(C=O.index+m)+(O=O[0].slice(m)).length;var N=E.slice(0,C),L=E.slice(S),I=[v,R];N&&(++v,b+=N.length,I.push(N));var D=new l(u,g?n.tokenize(O,g):O,_,O,f);if(I.push(D),L&&I.push(L),Array.prototype.splice.apply(t,I),1!=R&&n.matchGrammar(e,t,o,v,b,!0,u),s)break}else if(s)break}}}}},tokenize:function(e,t,o){var i=[e],r=t.rest;if(r){for(var s in r)t[s]=r[s];delete t.rest}return n.matchGrammar(e,i,t,0,0,!1),i},hooks:{all:{},add:function(e,t){var o=n.hooks.all;o[e]=o[e]||[],o[e].push(t)},run:function(e,t){var o=n.hooks.all[e];if(o&&o.length)for(var i,r=0;i=o[r++];)i(t)}}},i=n.Token=function(e,t,o,n,i){this.type=e,this.content=t,this.alias=o,this.length=0|(n||"").length,this.greedy=!!i};if(i.stringify=function(e,t,o){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map((function(o){return i.stringify(o,t,e)})).join("");var r={type:e.type,content:i.stringify(e.content,t,o),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:o};if(e.alias){var s="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}n.hooks.run("wrap",r);var a=Object.keys(r.attributes).map((function(e){return e+'="'+(r.attributes[e]||"").replace(/"/g,"&quot;")+'"'})).join(" ");return"<"+r.tag+' class="'+r.classes.join(" ")+'"'+(a?" "+a:"")+">"+r.content+"</"+r.tag+">"},!o.document)return o.addEventListener?(n.disableWorkerMessageHandler||o.addEventListener("message",(function(e){var t=JSON.parse(e.data),i=t.language,r=t.code,s=t.immediateClose;o.postMessage(n.highlight(r,n.languages[i],i)),s&&o.close()}),!1),o.Prism):o.Prism;var r=document.currentScript||[].slice.call(document.getElementsByTagName("script")).pop();return r&&(n.filename=r.src,n.manual||r.hasAttribute("data-manual")||("loading"!==document.readyState?window.requestAnimationFrame?window.requestAnimationFrame(n.highlightAll):window.setTimeout(n.highlightAll,16):document.addEventListener("DOMContentLoaded",n.highlightAll))),o.Prism}();e.exports&&(e.exports=n),void 0!==t&&(t.Prism=n),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"triple-quoted-string":{pattern:/("""|''')[\s\S]+?\1/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(146),i=o(64),r=o(100),s=o(273),a=o(274),l=o(215),u=o(344),c=o(345),h=o(182),d=o(357),g=function(e,t,o){var n,s=i.getTypeOf(t),c=i.extend(o||{},a);c.date=c.date||new Date,null!==c.compression&&(c.compression=c.compression.toUpperCase()),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(e=f(e)),c.createFolders&&(n=p(e))&&m.call(this,n,!0);var g="string"===s&&!1===c.binary&&!1===c.base64;o&&void 0!==o.binary||(c.binary=!g),(t instanceof l&&0===t.uncompressedSize||c.dir||!t||0===t.length)&&(c.base64=!1,c.binary=!0,t="",c.compression="STORE",s="string");var _=null;_=t instanceof l||t instanceof r?t:h.isNode&&h.isStream(t)?new d(e,t):i.prepareContent(e,t,c.binary,c.optimizedBinaryString,c.base64);var y=new u(e,_,c);this.files[e]=y},p=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return t>0?e.substring(0,t):""},f=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},m=function(e,t){return t=void 0!==t?t:a.createFolders,e=f(e),this.files[e]||g.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function _(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var y={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,o,n;for(t in this.files)this.files.hasOwnProperty(t)&&(n=this.files[t],(o=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(o,n))},filter:function(e){var t=[];return this.forEach((function(o,n){e(o,n)&&t.push(n)})),t},file:function(e,t,o){if(1===arguments.length){if(_(e)){var n=e;return this.filter((function(e,t){return!t.dir&&n.test(e)}))}var i=this.files[this.root+e];return i&&!i.dir?i:null}return(e=this.root+e,g.call(this,e,t,o),this)},folder:function(e){if(!e)return this;if(_(e))return this.filter((function(t,o){return o.dir&&e.test(t)}));var t=this.root+e,o=m.call(this,t),n=this.clone();return n.root=o.name,n},remove:function(e){e=this.root+e;var t=this.files[e];if(t||("/"!==e.slice(-1)&&(e+="/"),t=this.files[e]),t&&!t.dir)delete this.files[e];else for(var o=this.filter((function(t,o){return o.name.slice(0,e.length)===e})),n=0;n<o.length;n++)delete this.files[o[n].name];return this},generate:function(e){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,o={};try{if((o=i.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:n.utf8encode})).type=o.type.toLowerCase(),o.compression=o.compression.toUpperCase(),"binarystring"===o.type&&(o.type="string"),!o.type)throw new Error("No output type specified.");i.checkSupport(o.type),"darwin"!==o.platform&&"freebsd"!==o.platform&&"linux"!==o.platform&&"sunos"!==o.platform||(o.platform="UNIX"),"win32"===o.platform&&(o.platform="DOS");var a=o.comment||this.comment||"";t=c.generateWorker(this,o,a)}catch(e){(t=new r("error")).error(e)}return new s(t,o.type||"string",o.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};e.exports=y},function(e,t,o){"use strict";t.byteLength=function(e){var t=u(e),o=t[0],n=t[1];return 3*(o+n)/4-n},t.toByteArray=function(e){var t,o,n=u(e),s=n[0],a=n[1],l=new r(function(e,t,o){return 3*(t+o)/4-o}(0,s,a)),c=0,h=a>0?s-4:s;for(o=0;o<h;o+=4)t=i[e.charCodeAt(o)]<<18|i[e.charCodeAt(o+1)]<<12|i[e.charCodeAt(o+2)]<<6|i[e.charCodeAt(o+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===a&&(t=i[e.charCodeAt(o)]<<2|i[e.charCodeAt(o+1)]>>4,l[c++]=255&t);1===a&&(t=i[e.charCodeAt(o)]<<10|i[e.charCodeAt(o+1)]<<4|i[e.charCodeAt(o+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,r=[],s=0,a=o-i;s<a;s+=16383)r.push(c(e,s,s+16383>a?a:s+16383));1===i?(t=e[o-1],r.push(n[t>>2]+n[t<<4&63]+"==")):2===i&&(t=(e[o-2]<<8)+e[o-1],r.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return r.join("")};for(var n=[],i=[],r="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",a=0,l=s.length;a<l;++a)n[a]=s[a],i[s.charCodeAt(a)]=a;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var o=e.indexOf("=");return-1===o&&(o=t),[o,o===t?0:4-o%4]}function c(e,t,o){for(var i,r,s=[],a=t;a<o;a+=3)i=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(255&e[a+2]),s.push(n[(r=i)>>18&63]+n[r>>12&63]+n[r>>6&63]+n[63&r]);return s.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,o,n,i){var r,s,a=8*i-n-1,l=(1<<a)-1,u=l>>1,c=-7,h=o?i-1:0,d=o?-1:1,g=e[t+h];for(h+=d,r=g&(1<<-c)-1,g>>=-c,c+=a;c>0;r=256*r+e[t+h],h+=d,c-=8);for(s=r&(1<<-c)-1,r>>=-c,c+=n;c>0;s=256*s+e[t+h],h+=d,c-=8);if(0===r)r=1-u;else{if(r===l)return s?NaN:1/0*(g?-1:1);s+=Math.pow(2,n),r-=u}return(g?-1:1)*s*Math.pow(2,r-n)},t.write=function(e,t,o,n,i,r){var s,a,l,u=8*r-i-1,c=(1<<u)-1,h=c>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,g=n?0:r-1,p=n?1:-1,f=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-s))<1&&(s--,l*=2),(t+=s+h>=1?d/l:d*Math.pow(2,1-h))*l>=2&&(s++,l/=2),s+h>=c?(a=0,s=c):s+h>=1?(a=(t*l-1)*Math.pow(2,i),s+=h):(a=t*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;e[o+g]=255&a,g+=p,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[o+g]=255&s,g+=p,s/=256,u-=8);e[o+g-p]|=128*f}},function(e,t,o){e.exports=i;var n=o(212).EventEmitter;function i(){n.call(this)}o(147)(i,n),i.Readable=o(213),i.Writable=o(335),i.Duplex=o(336),i.Transform=o(337),i.PassThrough=o(338),i.Stream=i,i.prototype.pipe=function(e,t){var o=this;function i(t){e.writable&&!1===e.write(t)&&o.pause&&o.pause()}function r(){o.readable&&o.resume&&o.resume()}o.on("data",i),e.on("drain",r),e._isStdio||t&&!1===t.end||(o.on("end",a),o.on("close",l));var s=!1;function a(){s||(s=!0,e.end())}function l(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(c(),0===n.listenerCount(this,"error"))throw e}function c(){o.removeListener("data",i),e.removeListener("drain",r),o.removeListener("end",a),o.removeListener("close",l),o.removeListener("error",u),e.removeListener("error",u),o.removeListener("end",c),o.removeListener("close",c),e.removeListener("close",c)}return o.on("error",u),e.on("error",u),o.on("end",c),o.on("close",c),e.on("close",c),e.emit("pipe",o),e}},function(e,t){},function(e,t,o){"use strict";var n=o(181).Buffer,i=o(331);e.exports=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.head=null,this.tail=null,this.length=0}return e.prototype.push=function(e){var t={data:e,next:null};this.length>0?this.tail.next=t:this.head=t,this.tail=t,++this.length},e.prototype.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},e.prototype.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},e.prototype.clear=function(){this.head=this.tail=null,this.length=0},e.prototype.join=function(e){if(0===this.length)return"";for(var t=this.head,o=""+t.data;t=t.next;)o+=e+t.data;return o},e.prototype.concat=function(e){if(0===this.length)return n.alloc(0);if(1===this.length)return this.head.data;for(var t,o,i,r=n.allocUnsafe(e>>>0),s=this.head,a=0;s;)t=s.data,o=r,i=a,t.copy(o,i),a+=s.data.length,s=s.next;return r},e}(),i&&i.inspect&&i.inspect.custom&&(e.exports.prototype[i.inspect.custom]=function(){var e=i.inspect({length:this.length});return this.constructor.name+" "+e})},function(e,t){},function(e,t,o){(function(e,t){!function(e,o){"use strict";if(!e.setImmediate){var n,i,r,s,a,l=1,u={},c=!1,h=e.document,d=Object.getPrototypeOf&&Object.getPrototypeOf(e);d=d&&d.setTimeout?d:e,"[object process]"==={}.toString.call(e.process)?n=function(e){t.nextTick((function(){p(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,o=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=o,t}}()?e.MessageChannel?((r=new MessageChannel).port1.onmessage=function(e){p(e.data)},n=function(e){r.port2.postMessage(e)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,n=function(e){var t=h.createElement("script");t.onreadystatechange=function(){p(e),t.onreadystatechange=null,i.removeChild(t),t=null},i.appendChild(t)}):n=function(e){setTimeout(p,0,e)}:(s="setImmediate$"+Math.random()+"$",a=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(s)&&p(+t.data.slice(s.length))},e.addEventListener?e.addEventListener("message",a,!1):e.attachEvent("onmessage",a),n=function(t){e.postMessage(s+t,"*")}),d.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),o=0;o<t.length;o++)t[o]=arguments[o+1];var i={callback:e,args:t};return u[l]=i,n(l),l++},d.clearImmediate=g}function g(e){delete u[e]}function p(e){if(c)setTimeout(p,0,e);else{var t=u[e];if(t){c=!0;try{!function(e){var t=e.callback,n=e.args;switch(n.length){case 0:t();break;case 1:t(n[0]);break;case 2:t(n[0],n[1]);break;case 3:t(n[0],n[1],n[2]);break;default:t.apply(o,n)}}(t)}finally{g(e),c=!1}}}}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,o(80),o(108))},function(e,t,o){(function(t){function o(e){try{if(!t.localStorage)return!1}catch(e){return!1}var o=t.localStorage[e];return null!=o&&"true"===String(o).toLowerCase()}e.exports=function(e,t){if(o("noDeprecation"))return e;var n=!1;return function(){if(!n){if(o("throwDeprecation"))throw new Error(t);o("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}}}).call(this,o(80))},function(e,t,o){"use strict";e.exports=r;var n=o(271),i=o(167);function r(e){if(!(this instanceof r))return new r(e);n.call(this,e)}i.inherits=o(147),i.inherits(r,n),r.prototype._transform=function(e,t,o){o(null,e)}},function(e,t,o){e.exports=o(214)},function(e,t,o){e.exports=o(136)},function(e,t,o){e.exports=o(213).Transform},function(e,t,o){e.exports=o(213).PassThrough},function(e,t,o){"use strict";(function(t){e.exports="function"==typeof t?t:function(){var e=[].slice.apply(arguments);e.splice(1,0,0),setTimeout.apply(null,e)}}).call(this,o(148).setImmediate)},function(e,t,o){"use strict";var n=o(341);function i(){}var r={},s=["REJECTED"],a=["FULFILLED"],l=["PENDING"];function u(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=l,this.queue=[],this.outcome=void 0,e!==i&&g(this,e)}function c(e,t,o){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof o&&(this.onRejected=o,this.callRejected=this.otherCallRejected)}function h(e,t,o){n((function(){var n;try{n=t(o)}catch(t){return r.reject(e,t)}n===e?r.reject(e,new TypeError("Cannot resolve promise with itself")):r.resolve(e,n)}))}function d(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function g(e,t){var o=!1;function n(t){o||(o=!0,r.reject(e,t))}function i(t){o||(o=!0,r.resolve(e,t))}var s=p((function(){t(i,n)}));"error"===s.status&&n(s.value)}function p(e,t){var o={};try{o.value=e(t),o.status="success"}catch(e){o.status="error",o.value=e}return o}e.exports=u,u.prototype.finally=function(e){if("function"!=typeof e)return this;var t=this.constructor;return this.then((function(o){return t.resolve(e()).then((function(){return o}))}),(function(o){return t.resolve(e()).then((function(){throw o}))}))},u.prototype.catch=function(e){return this.then(null,e)},u.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var o=new this.constructor(i);this.state!==l?h(o,this.state===a?e:t,this.outcome):this.queue.push(new c(o,e,t));return o},c.prototype.callFulfilled=function(e){r.resolve(this.promise,e)},c.prototype.otherCallFulfilled=function(e){h(this.promise,this.onFulfilled,e)},c.prototype.callRejected=function(e){r.reject(this.promise,e)},c.prototype.otherCallRejected=function(e){h(this.promise,this.onRejected,e)},r.resolve=function(e,t){var o=p(d,t);if("error"===o.status)return r.reject(e,o.value);var n=o.value;if(n)g(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},r.reject=function(e,t){e.state=s,e.outcome=t;for(var o=-1,n=e.queue.length;++o<n;)e.queue[o].callRejected(t);return e},u.resolve=function(e){if(e instanceof this)return e;return r.resolve(new this(i),e)},u.reject=function(e){var t=new this(i);return r.reject(t,e)},u.all=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var o=e.length,n=!1;if(!o)return this.resolve([]);var s=new Array(o),a=0,l=-1,u=new this(i);for(;++l<o;)c(e[l],l);return u;function c(e,i){t.resolve(e).then((function(e){s[i]=e,++a!==o||n||(n=!0,r.resolve(u,s))}),(function(e){n||(n=!0,r.reject(u,e))}))}},u.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var o=e.length,n=!1;if(!o)return this.resolve([]);var s=-1,a=new this(i);for(;++s<o;)l=e[s],t.resolve(l).then((function(e){n||(n=!0,r.resolve(a,e))}),(function(e){n||(n=!0,r.reject(a,e))}));var l;return a}},function(e,t,o){"use strict";(function(t){var o,n,i=t.MutationObserver||t.WebKitMutationObserver;if(i){var r=0,s=new i(c),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),o=function(){a.data=r=++r%2}}else if(t.setImmediate||void 0===t.MessageChannel)o="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){c(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(c,0)};else{var l=new t.MessageChannel;l.port1.onmessage=c,o=function(){l.port2.postMessage(0)}}var u=[];function c(){var e,t;n=!0;for(var o=u.length;o;){for(t=u,u=[],e=-1;++e<o;)t[e]();o=u.length}n=!1}e.exports=function(e){1!==u.push(e)||n||o()}}).call(this,o(80))},function(e,t,o){"use strict";var n=o(100),i=o(64);function r(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(r,n),r.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},e.exports=r},function(e,t,o){"use strict";var n=o(266).Readable;function i(e,t,o){n.call(this,t),this._helper=e;var i=this;e.on("data",(function(e,t){i.push(e)||i._helper.pause(),o&&o(t)})).on("error",(function(e){i.emit("error",e)})).on("end",(function(){i.push(null)}))}o(64).inherits(i,n),i.prototype._read=function(){this._helper.resume()},e.exports=i},function(e,t,o){"use strict";var n=o(273),i=o(275),r=o(146),s=o(215),a=o(100),l=function(e,t,o){this.name=e,this.dir=o.dir,this.date=o.date,this.comment=o.comment,this.unixPermissions=o.unixPermissions,this.dosPermissions=o.dosPermissions,this._data=t,this._dataBinary=o.binary,this.options={compression:o.compression,compressionOptions:o.compressionOptions}};l.prototype={internalStream:function(e){var t=null,o="string";try{if(!e)throw new Error("No output type specified.");var i="string"===(o=e.toLowerCase())||"text"===o;"binarystring"!==o&&"text"!==o||(o="string"),t=this._decompressWorker();var s=!this._dataBinary;s&&!i&&(t=t.pipe(new r.Utf8EncodeWorker)),!s&&i&&(t=t.pipe(new r.Utf8DecodeWorker))}catch(e){(t=new a("error")).error(e)}return new n(t,o,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof s&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var o=this._decompressWorker();return this._dataBinary||(o=o.pipe(new r.Utf8EncodeWorker)),s.createWorkerFrom(o,e,t)},_decompressWorker:function(){return this._data instanceof s?this._data.getContentWorker():this._data instanceof a?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],c=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},h=0;h<u.length;h++)l.prototype[u[h]]=c;e.exports=l},function(e,t,o){"use strict";var n=o(278),i=o(356);t.generateWorker=function(e,t,o){var r=new i(t.streamFiles,o,t.platform,t.encodeFileName),s=0;try{e.forEach((function(e,o){s++;var i=function(e,t){var o=e||t,i=n[o];if(!i)throw new Error(o+" is not a valid compression method !");return i}(o.options.compression,t.compression),a=o.options.compressionOptions||t.compressionOptions||{},l=o.dir,u=o.date;o._compressWorker(i,a).withStreamInfo("file",{name:e,dir:l,date:u,comment:o.comment||"",unixPermissions:o.unixPermissions,dosPermissions:o.dosPermissions}).pipe(r)})),r.entriesCount=s}catch(e){r.error(e)}return r}},function(e,t,o){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=o(347),r=o(64),s=o(100),a=n?"uint8array":"array";function l(e,t){s.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}t.magic="\b\0",r.inherits(l,s),l.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(r.transformTo(a,e.data),!1)},l.prototype.flush=function(){s.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},l.prototype.cleanUp=function(){s.prototype.cleanUp.call(this),this._pako=null},l.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var e=this;this._pako.onData=function(t){e.push({data:t,meta:e.meta})}},t.compressWorker=function(e){return new l("Deflate",e)},t.uncompressWorker=function(){return new l("Inflate",{})}},function(e,t,o){"use strict";var n={};(0,o(128).assign)(n,o(348),o(351),o(283)),e.exports=n},function(e,t,o){"use strict";var n=o(349),i=o(128),r=o(281),s=o(217),a=o(282),l=Object.prototype.toString,u=0,c=-1,h=0,d=8;function g(e){if(!(this instanceof g))return new g(e);this.options=i.assign({level:c,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:h,to:""},e||{});var t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var o=n.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(o!==u)throw new Error(s[o]);if(t.header&&n.deflateSetHeader(this.strm,t.header),t.dictionary){var p;if(p="string"==typeof t.dictionary?r.string2buf(t.dictionary):"[object ArrayBuffer]"===l.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(o=n.deflateSetDictionary(this.strm,p))!==u)throw new Error(s[o]);this._dict_set=!0}}function p(e,t){var o=new g(t);if(o.push(e,!0),o.err)throw o.msg||s[o.err];return o.result}g.prototype.push=function(e,t){var o,s,a=this.strm,c=this.options.chunkSize;if(this.ended)return!1;s=t===~~t?t:!0===t?4:0,"string"==typeof e?a.input=r.string2buf(e):"[object ArrayBuffer]"===l.call(e)?a.input=new Uint8Array(e):a.input=e,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new i.Buf8(c),a.next_out=0,a.avail_out=c),1!==(o=n.deflate(a,s))&&o!==u)return this.onEnd(o),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==s&&2!==s)||("string"===this.options.to?this.onData(r.buf2binstring(i.shrinkBuf(a.output,a.next_out))):this.onData(i.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==o);return 4===s?(o=n.deflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===u):2!==s||(this.onEnd(u),a.avail_out=0,!0)},g.prototype.onData=function(e){this.chunks.push(e)},g.prototype.onEnd=function(e){e===u&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Deflate=g,t.deflate=p,t.deflateRaw=function(e,t){return(t=t||{}).raw=!0,p(e,t)},t.gzip=function(e,t){return(t=t||{}).gzip=!0,p(e,t)}},function(e,t,o){"use strict";var n,i=o(128),r=o(350),s=o(279),a=o(280),l=o(217),u=0,c=1,h=3,d=4,g=5,p=0,f=1,m=-2,_=-3,y=-5,v=-1,b=1,E=2,C=3,S=4,T=0,w=2,k=8,O=9,R=15,N=8,L=286,I=30,D=19,A=2*L+1,P=15,M=3,x=258,B=x+M+1,F=32,H=42,U=69,V=73,W=91,j=103,G=113,z=666,K=1,Y=2,X=3,q=4,$=3;function J(e,t){return e.msg=l[t],t}function Z(e){return(e<<1)-(e>4?9:0)}function Q(e){for(var t=e.length;--t>=0;)e[t]=0}function ee(e){var t=e.state,o=t.pending;o>e.avail_out&&(o=e.avail_out),0!==o&&(i.arraySet(e.output,t.pending_buf,t.pending_out,o,e.next_out),e.next_out+=o,t.pending_out+=o,e.total_out+=o,e.avail_out-=o,t.pending-=o,0===t.pending&&(t.pending_out=0))}function te(e,t){r._tr_flush_block(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ee(e.strm)}function oe(e,t){e.pending_buf[e.pending++]=t}function ne(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function ie(e,t){var o,n,i=e.max_chain_length,r=e.strstart,s=e.prev_length,a=e.nice_match,l=e.strstart>e.w_size-B?e.strstart-(e.w_size-B):0,u=e.window,c=e.w_mask,h=e.prev,d=e.strstart+x,g=u[r+s-1],p=u[r+s];e.prev_length>=e.good_match&&(i>>=2),a>e.lookahead&&(a=e.lookahead);do{if(u[(o=t)+s]===p&&u[o+s-1]===g&&u[o]===u[r]&&u[++o]===u[r+1]){r+=2,o++;do{}while(u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&u[++r]===u[++o]&&r<d);if(n=x-(d-r),r=d-x,n>s){if(e.match_start=t,s=n,n>=a)break;g=u[r+s-1],p=u[r+s]}}}while((t=h[t&c])>l&&0!=--i);return s<=e.lookahead?s:e.lookahead}function re(e){var t,o,n,r,l,u,c,h,d,g,p=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=p+(p-B)){i.arraySet(e.window,e.window,p,p,0),e.match_start-=p,e.strstart-=p,e.block_start-=p,t=o=e.hash_size;do{n=e.head[--t],e.head[t]=n>=p?n-p:0}while(--o);t=o=p;do{n=e.prev[--t],e.prev[t]=n>=p?n-p:0}while(--o);r+=p}if(0===e.strm.avail_in)break;if(u=e.strm,c=e.window,h=e.strstart+e.lookahead,d=r,g=void 0,(g=u.avail_in)>d&&(g=d),o=0===g?0:(u.avail_in-=g,i.arraySet(c,u.input,u.next_in,g,h),1===u.state.wrap?u.adler=s(u.adler,c,g,h):2===u.state.wrap&&(u.adler=a(u.adler,c,g,h)),u.next_in+=g,u.total_in+=g,g),e.lookahead+=o,e.lookahead+e.insert>=M)for(l=e.strstart-e.insert,e.ins_h=e.window[l],e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[l+M-1])&e.hash_mask,e.prev[l&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=l,l++,e.insert--,!(e.lookahead+e.insert<M)););}while(e.lookahead<B&&0!==e.strm.avail_in)}function se(e,t){for(var o,n;;){if(e.lookahead<B){if(re(e),e.lookahead<B&&t===u)return K;if(0===e.lookahead)break}if(o=0,e.lookahead>=M&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+M-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==o&&e.strstart-o<=e.w_size-B&&(e.match_length=ie(e,o)),e.match_length>=M)if(n=r._tr_tally(e,e.strstart-e.match_start,e.match_length-M),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=M){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+M-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart}while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=e.strstart<M-1?e.strstart:M-1,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}function ae(e,t){for(var o,n,i;;){if(e.lookahead<B){if(re(e),e.lookahead<B&&t===u)return K;if(0===e.lookahead)break}if(o=0,e.lookahead>=M&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+M-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=M-1,0!==o&&e.prev_length<e.max_lazy_match&&e.strstart-o<=e.w_size-B&&(e.match_length=ie(e,o),e.match_length<=5&&(e.strategy===b||e.match_length===M&&e.strstart-e.match_start>4096)&&(e.match_length=M-1)),e.prev_length>=M&&e.match_length<=e.prev_length){i=e.strstart+e.lookahead-M,n=r._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-M),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+M-1])&e.hash_mask,o=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart)}while(0!=--e.prev_length);if(e.match_available=0,e.match_length=M-1,e.strstart++,n&&(te(e,!1),0===e.strm.avail_out))return K}else if(e.match_available){if((n=r._tr_tally(e,0,e.window[e.strstart-1]))&&te(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return K}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=r._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<M-1?e.strstart:M-1,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}function le(e,t,o,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=o,this.max_chain=n,this.func=i}function ue(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=k,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*A),this.dyn_dtree=new i.Buf16(2*(2*I+1)),this.bl_tree=new i.Buf16(2*(2*D+1)),Q(this.dyn_ltree),Q(this.dyn_dtree),Q(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(P+1),this.heap=new i.Buf16(2*L+1),Q(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*L+1),Q(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function ce(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=w,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?H:G,e.adler=2===t.wrap?0:1,t.last_flush=u,r._tr_init(t),p):J(e,m)}function he(e){var t,o=ce(e);return o===p&&((t=e.state).window_size=2*t.w_size,Q(t.head),t.max_lazy_match=n[t.level].max_lazy,t.good_match=n[t.level].good_length,t.nice_match=n[t.level].nice_length,t.max_chain_length=n[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=M-1,t.match_available=0,t.ins_h=0),o}function de(e,t,o,n,r,s){if(!e)return m;var a=1;if(t===v&&(t=6),n<0?(a=0,n=-n):n>15&&(a=2,n-=16),r<1||r>O||o!==k||n<8||n>15||t<0||t>9||s<0||s>S)return J(e,m);8===n&&(n=9);var l=new ue;return e.state=l,l.strm=e,l.wrap=a,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+M-1)/M),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=t,l.strategy=s,l.method=o,he(e)}n=[new le(0,0,0,0,(function(e,t){var o=65535;for(o>e.pending_buf_size-5&&(o=e.pending_buf_size-5);;){if(e.lookahead<=1){if(re(e),0===e.lookahead&&t===u)return K;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+o;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,te(e,!1),0===e.strm.avail_out))return K;if(e.strstart-e.block_start>=e.w_size-B&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):(e.strstart>e.block_start&&(te(e,!1),e.strm.avail_out),K)})),new le(4,4,8,4,se),new le(4,5,16,8,se),new le(4,6,32,32,se),new le(4,4,16,16,ae),new le(8,16,32,32,ae),new le(8,16,128,128,ae),new le(8,32,128,256,ae),new le(32,128,258,1024,ae),new le(32,258,258,4096,ae)],t.deflateInit=function(e,t){return de(e,t,k,R,N,T)},t.deflateInit2=de,t.deflateReset=he,t.deflateResetKeep=ce,t.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?m:(e.state.gzhead=t,p):m},t.deflate=function(e,t){var o,i,s,l;if(!e||!e.state||t>g||t<0)return e?J(e,m):m;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===z&&t!==d)return J(e,0===e.avail_out?y:m);if(i.strm=e,o=i.last_flush,i.last_flush=t,i.status===H)if(2===i.wrap)e.adler=0,oe(i,31),oe(i,139),oe(i,8),i.gzhead?(oe(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),oe(i,255&i.gzhead.time),oe(i,i.gzhead.time>>8&255),oe(i,i.gzhead.time>>16&255),oe(i,i.gzhead.time>>24&255),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(oe(i,255&i.gzhead.extra.length),oe(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=a(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,0),oe(i,9===i.level?2:i.strategy>=E||i.level<2?4:0),oe(i,$),i.status=G);else{var _=k+(i.w_bits-8<<4)<<8;_|=(i.strategy>=E||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(_|=F),_+=31-_%31,i.status=G,ne(i,_),0!==i.strstart&&(ne(i,e.adler>>>16),ne(i,65535&e.adler)),e.adler=1}if(i.status===U)if(i.gzhead.extra){for(s=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending!==i.pending_buf_size));)oe(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=V)}else i.status=V;if(i.status===V)if(i.gzhead.name){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,oe(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.comment){s=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),ee(e),s=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,oe(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>s&&(e.adler=a(e.adler,i.pending_buf,i.pending-s,s)),0===l&&(i.status=j)}else i.status=j;if(i.status===j&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ee(e),i.pending+2<=i.pending_buf_size&&(oe(i,255&e.adler),oe(i,e.adler>>8&255),e.adler=0,i.status=G)):i.status=G),0!==i.pending){if(ee(e),0===e.avail_out)return i.last_flush=-1,p}else if(0===e.avail_in&&Z(t)<=Z(o)&&t!==d)return J(e,y);if(i.status===z&&0!==e.avail_in)return J(e,y);if(0!==e.avail_in||0!==i.lookahead||t!==u&&i.status!==z){var v=i.strategy===E?function(e,t){for(var o;;){if(0===e.lookahead&&(re(e),0===e.lookahead)){if(t===u)return K;break}if(e.match_length=0,o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):i.strategy===C?function(e,t){for(var o,n,i,s,a=e.window;;){if(e.lookahead<=x){if(re(e),e.lookahead<=x&&t===u)return K;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=M&&e.strstart>0&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+x;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=x-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=M?(o=r._tr_tally(e,1,e.match_length-M),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(o=r._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),o&&(te(e,!1),0===e.strm.avail_out))return K}return e.insert=0,t===d?(te(e,!0),0===e.strm.avail_out?X:q):e.last_lit&&(te(e,!1),0===e.strm.avail_out)?K:Y}(i,t):n[i.level].func(i,t);if(v!==X&&v!==q||(i.status=z),v===K||v===X)return 0===e.avail_out&&(i.last_flush=-1),p;if(v===Y&&(t===c?r._tr_align(i):t!==g&&(r._tr_stored_block(i,0,0,!1),t===h&&(Q(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ee(e),0===e.avail_out))return i.last_flush=-1,p}return t!==d?p:i.wrap<=0?f:(2===i.wrap?(oe(i,255&e.adler),oe(i,e.adler>>8&255),oe(i,e.adler>>16&255),oe(i,e.adler>>24&255),oe(i,255&e.total_in),oe(i,e.total_in>>8&255),oe(i,e.total_in>>16&255),oe(i,e.total_in>>24&255)):(ne(i,e.adler>>>16),ne(i,65535&e.adler)),ee(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:f)},t.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==H&&t!==U&&t!==V&&t!==W&&t!==j&&t!==G&&t!==z?J(e,m):(e.state=null,t===G?J(e,_):p):m},t.deflateSetDictionary=function(e,t){var o,n,r,a,l,u,c,h,d=t.length;if(!e||!e.state)return m;if(2===(a=(o=e.state).wrap)||1===a&&o.status!==H||o.lookahead)return m;for(1===a&&(e.adler=s(e.adler,t,d,0)),o.wrap=0,d>=o.w_size&&(0===a&&(Q(o.head),o.strstart=0,o.block_start=0,o.insert=0),h=new i.Buf8(o.w_size),i.arraySet(h,t,d-o.w_size,o.w_size,0),t=h,d=o.w_size),l=e.avail_in,u=e.next_in,c=e.input,e.avail_in=d,e.next_in=0,e.input=t,re(o);o.lookahead>=M;){n=o.strstart,r=o.lookahead-(M-1);do{o.ins_h=(o.ins_h<<o.hash_shift^o.window[n+M-1])&o.hash_mask,o.prev[n&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=n,n++}while(--r);o.strstart=n,o.lookahead=M-1,re(o)}return o.strstart+=o.lookahead,o.block_start=o.strstart,o.insert=o.lookahead,o.lookahead=0,o.match_length=o.prev_length=M-1,o.match_available=0,e.next_in=u,e.input=c,e.avail_in=l,o.wrap=a,p},t.deflateInfo="pako deflate (from Nodeca project)"},function(e,t,o){"use strict";var n=o(128),i=4,r=0,s=1,a=2;function l(e){for(var t=e.length;--t>=0;)e[t]=0}var u=0,c=1,h=2,d=29,g=256,p=g+1+d,f=30,m=19,_=2*p+1,y=15,v=16,b=7,E=256,C=16,S=17,T=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],O=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=new Array(2*(p+2));l(N);var L=new Array(2*f);l(L);var I=new Array(512);l(I);var D=new Array(256);l(D);var A=new Array(d);l(A);var P,M,x,B=new Array(f);function F(e,t,o,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=o,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function H(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function U(e){return e<256?I[e]:I[256+(e>>>7)]}function V(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function W(e,t,o){e.bi_valid>v-o?(e.bi_buf|=t<<e.bi_valid&65535,V(e,e.bi_buf),e.bi_buf=t>>v-e.bi_valid,e.bi_valid+=o-v):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=o)}function j(e,t,o){W(e,o[2*t],o[2*t+1])}function G(e,t){var o=0;do{o|=1&e,e>>>=1,o<<=1}while(--t>0);return o>>>1}function z(e,t,o){var n,i,r=new Array(y+1),s=0;for(n=1;n<=y;n++)r[n]=s=s+o[n-1]<<1;for(i=0;i<=t;i++){var a=e[2*i+1];0!==a&&(e[2*i]=G(r[a]++,a))}}function K(e){var t;for(t=0;t<p;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<m;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*E]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function Y(e){e.bi_valid>8?V(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function X(e,t,o,n){var i=2*t,r=2*o;return e[i]<e[r]||e[i]===e[r]&&n[t]<=n[o]}function q(e,t,o){for(var n=e.heap[o],i=o<<1;i<=e.heap_len&&(i<e.heap_len&&X(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!X(t,n,e.heap[i],e.depth));)e.heap[o]=e.heap[i],o=i,i<<=1;e.heap[o]=n}function $(e,t,o){var n,i,r,s,a=0;if(0!==e.last_lit)do{n=e.pending_buf[e.d_buf+2*a]<<8|e.pending_buf[e.d_buf+2*a+1],i=e.pending_buf[e.l_buf+a],a++,0===n?j(e,i,t):(j(e,(r=D[i])+g+1,t),0!==(s=w[r])&&W(e,i-=A[r],s),j(e,r=U(--n),o),0!==(s=k[r])&&W(e,n-=B[r],s))}while(a<e.last_lit);j(e,E,t)}function J(e,t){var o,n,i,r=t.dyn_tree,s=t.stat_desc.static_tree,a=t.stat_desc.has_stree,l=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,o=0;o<l;o++)0!==r[2*o]?(e.heap[++e.heap_len]=u=o,e.depth[o]=0):r[2*o+1]=0;for(;e.heap_len<2;)r[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,a&&(e.static_len-=s[2*i+1]);for(t.max_code=u,o=e.heap_len>>1;o>=1;o--)q(e,r,o);i=l;do{o=e.heap[1],e.heap[1]=e.heap[e.heap_len--],q(e,r,1),n=e.heap[1],e.heap[--e.heap_max]=o,e.heap[--e.heap_max]=n,r[2*i]=r[2*o]+r[2*n],e.depth[i]=(e.depth[o]>=e.depth[n]?e.depth[o]:e.depth[n])+1,r[2*o+1]=r[2*n+1]=i,e.heap[1]=i++,q(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var o,n,i,r,s,a,l=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,h=t.stat_desc.has_stree,d=t.stat_desc.extra_bits,g=t.stat_desc.extra_base,p=t.stat_desc.max_length,f=0;for(r=0;r<=y;r++)e.bl_count[r]=0;for(l[2*e.heap[e.heap_max]+1]=0,o=e.heap_max+1;o<_;o++)(r=l[2*l[2*(n=e.heap[o])+1]+1]+1)>p&&(r=p,f++),l[2*n+1]=r,n>u||(e.bl_count[r]++,s=0,n>=g&&(s=d[n-g]),a=l[2*n],e.opt_len+=a*(r+s),h&&(e.static_len+=a*(c[2*n+1]+s)));if(0!==f){do{for(r=p-1;0===e.bl_count[r];)r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[p]--,f-=2}while(f>0);for(r=p;0!==r;r--)for(n=e.bl_count[r];0!==n;)(i=e.heap[--o])>u||(l[2*i+1]!==r&&(e.opt_len+=(r-l[2*i+1])*l[2*i],l[2*i+1]=r),n--)}}(e,t),z(r,u,e.bl_count)}function Z(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),t[2*(o+1)+1]=65535,n=0;n<=o;n++)i=s,s=t[2*(n+1)+1],++a<l&&i===s||(a<u?e.bl_tree[2*i]+=a:0!==i?(i!==r&&e.bl_tree[2*i]++,e.bl_tree[2*C]++):a<=10?e.bl_tree[2*S]++:e.bl_tree[2*T]++,a=0,r=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4))}function Q(e,t,o){var n,i,r=-1,s=t[1],a=0,l=7,u=4;for(0===s&&(l=138,u=3),n=0;n<=o;n++)if(i=s,s=t[2*(n+1)+1],!(++a<l&&i===s)){if(a<u)do{j(e,i,e.bl_tree)}while(0!=--a);else 0!==i?(i!==r&&(j(e,i,e.bl_tree),a--),j(e,C,e.bl_tree),W(e,a-3,2)):a<=10?(j(e,S,e.bl_tree),W(e,a-3,3)):(j(e,T,e.bl_tree),W(e,a-11,7));a=0,r=i,0===s?(l=138,u=3):i===s?(l=6,u=3):(l=7,u=4)}}l(B);var ee=!1;function te(e,t,o,i){W(e,(u<<1)+(i?1:0),3),function(e,t,o,i){Y(e),i&&(V(e,o),V(e,~o)),n.arraySet(e.pending_buf,e.window,t,o,e.pending),e.pending+=o}(e,t,o,!0)}t._tr_init=function(e){ee||(!function(){var e,t,o,n,i,r=new Array(y+1);for(o=0,n=0;n<d-1;n++)for(A[n]=o,e=0;e<1<<w[n];e++)D[o++]=n;for(D[o-1]=n,i=0,n=0;n<16;n++)for(B[n]=i,e=0;e<1<<k[n];e++)I[i++]=n;for(i>>=7;n<f;n++)for(B[n]=i<<7,e=0;e<1<<k[n]-7;e++)I[256+i++]=n;for(t=0;t<=y;t++)r[t]=0;for(e=0;e<=143;)N[2*e+1]=8,e++,r[8]++;for(;e<=255;)N[2*e+1]=9,e++,r[9]++;for(;e<=279;)N[2*e+1]=7,e++,r[7]++;for(;e<=287;)N[2*e+1]=8,e++,r[8]++;for(z(N,p+1,r),e=0;e<f;e++)L[2*e+1]=5,L[2*e]=G(e,5);P=new F(N,w,g+1,p,y),M=new F(L,k,0,f,y),x=new F(new Array(0),O,0,m,b)}(),ee=!0),e.l_desc=new H(e.dyn_ltree,P),e.d_desc=new H(e.dyn_dtree,M),e.bl_desc=new H(e.bl_tree,x),e.bi_buf=0,e.bi_valid=0,K(e)},t._tr_stored_block=te,t._tr_flush_block=function(e,t,o,n){var l,u,d=0;e.level>0?(e.strm.data_type===a&&(e.strm.data_type=function(e){var t,o=4093624447;for(t=0;t<=31;t++,o>>>=1)if(1&o&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return s;for(t=32;t<g;t++)if(0!==e.dyn_ltree[2*t])return s;return r}(e)),J(e,e.l_desc),J(e,e.d_desc),d=function(e){var t;for(Z(e,e.dyn_ltree,e.l_desc.max_code),Z(e,e.dyn_dtree,e.d_desc.max_code),J(e,e.bl_desc),t=m-1;t>=3&&0===e.bl_tree[2*R[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),l=e.opt_len+3+7>>>3,(u=e.static_len+3+7>>>3)<=l&&(l=u)):l=u=o+5,o+4<=l&&-1!==t?te(e,t,o,n):e.strategy===i||u===l?(W(e,(c<<1)+(n?1:0),3),$(e,N,L)):(W(e,(h<<1)+(n?1:0),3),function(e,t,o,n){var i;for(W(e,t-257,5),W(e,o-1,5),W(e,n-4,4),i=0;i<n;i++)W(e,e.bl_tree[2*R[i]+1],3);Q(e,e.dyn_ltree,t-1),Q(e,e.dyn_dtree,o-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,d+1),$(e,e.dyn_ltree,e.dyn_dtree)),K(e),n&&Y(e)},t._tr_tally=function(e,t,o){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&o,e.last_lit++,0===t?e.dyn_ltree[2*o]++:(e.matches++,t--,e.dyn_ltree[2*(D[o]+g+1)]++,e.dyn_dtree[2*U(t)]++),e.last_lit===e.lit_bufsize-1},t._tr_align=function(e){W(e,c<<1,3),j(e,E,N),function(e){16===e.bi_valid?(V(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},function(e,t,o){"use strict";var n=o(352),i=o(128),r=o(281),s=o(283),a=o(217),l=o(282),u=o(355),c=Object.prototype.toString;function h(e){if(!(this instanceof h))return new h(e);this.options=i.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new l,this.strm.avail_out=0;var o=n.inflateInit2(this.strm,t.windowBits);if(o!==s.Z_OK)throw new Error(a[o]);if(this.header=new u,n.inflateGetHeader(this.strm,this.header),t.dictionary&&("string"==typeof t.dictionary?t.dictionary=r.string2buf(t.dictionary):"[object ArrayBuffer]"===c.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(o=n.inflateSetDictionary(this.strm,t.dictionary))!==s.Z_OK))throw new Error(a[o])}function d(e,t){var o=new h(t);if(o.push(e,!0),o.err)throw o.msg||a[o.err];return o.result}h.prototype.push=function(e,t){var o,a,l,u,h,d=this.strm,g=this.options.chunkSize,p=this.options.dictionary,f=!1;if(this.ended)return!1;a=t===~~t?t:!0===t?s.Z_FINISH:s.Z_NO_FLUSH,"string"==typeof e?d.input=r.binstring2buf(e):"[object ArrayBuffer]"===c.call(e)?d.input=new Uint8Array(e):d.input=e,d.next_in=0,d.avail_in=d.input.length;do{if(0===d.avail_out&&(d.output=new i.Buf8(g),d.next_out=0,d.avail_out=g),(o=n.inflate(d,s.Z_NO_FLUSH))===s.Z_NEED_DICT&&p&&(o=n.inflateSetDictionary(this.strm,p)),o===s.Z_BUF_ERROR&&!0===f&&(o=s.Z_OK,f=!1),o!==s.Z_STREAM_END&&o!==s.Z_OK)return this.onEnd(o),this.ended=!0,!1;d.next_out&&(0!==d.avail_out&&o!==s.Z_STREAM_END&&(0!==d.avail_in||a!==s.Z_FINISH&&a!==s.Z_SYNC_FLUSH)||("string"===this.options.to?(l=r.utf8border(d.output,d.next_out),u=d.next_out-l,h=r.buf2string(d.output,l),d.next_out=u,d.avail_out=g-u,u&&i.arraySet(d.output,d.output,l,u,0),this.onData(h)):this.onData(i.shrinkBuf(d.output,d.next_out)))),0===d.avail_in&&0===d.avail_out&&(f=!0)}while((d.avail_in>0||0===d.avail_out)&&o!==s.Z_STREAM_END);return o===s.Z_STREAM_END&&(a=s.Z_FINISH),a===s.Z_FINISH?(o=n.inflateEnd(this.strm),this.onEnd(o),this.ended=!0,o===s.Z_OK):a!==s.Z_SYNC_FLUSH||(this.onEnd(s.Z_OK),d.avail_out=0,!0)},h.prototype.onData=function(e){this.chunks.push(e)},h.prototype.onEnd=function(e){e===s.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=i.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},t.Inflate=h,t.inflate=d,t.inflateRaw=function(e,t){return(t=t||{}).raw=!0,d(e,t)},t.ungzip=d},function(e,t,o){"use strict";var n=o(128),i=o(279),r=o(280),s=o(353),a=o(354),l=0,u=1,c=2,h=4,d=5,g=6,p=0,f=1,m=2,_=-2,y=-3,v=-4,b=-5,E=8,C=1,S=2,T=3,w=4,k=5,O=6,R=7,N=8,L=9,I=10,D=11,A=12,P=13,M=14,x=15,B=16,F=17,H=18,U=19,V=20,W=21,j=22,G=23,z=24,K=25,Y=26,X=27,q=28,$=29,J=30,Z=31,Q=32,ee=852,te=592,oe=15;function ne(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function ie(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new n.Buf16(320),this.work=new n.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function re(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=C,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new n.Buf32(ee),t.distcode=t.distdyn=new n.Buf32(te),t.sane=1,t.back=-1,p):_}function se(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,re(e)):_}function ae(e,t){var o,n;return e&&e.state?(n=e.state,t<0?(o=0,t=-t):(o=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?_:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=o,n.wbits=t,se(e))):_}function le(e,t){var o,n;return e?(n=new ie,e.state=n,n.window=null,(o=ae(e,t))!==p&&(e.state=null),o):_}var ue,ce,he=!0;function de(e){if(he){var t;for(ue=new n.Buf32(512),ce=new n.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(a(u,e.lens,0,288,ue,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;a(c,e.lens,0,32,ce,0,e.work,{bits:5}),he=!1}e.lencode=ue,e.lenbits=9,e.distcode=ce,e.distbits=5}function ge(e,t,o,i){var r,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new n.Buf8(s.wsize)),i>=s.wsize?(n.arraySet(s.window,t,o-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):((r=s.wsize-s.wnext)>i&&(r=i),n.arraySet(s.window,t,o-i,r,s.wnext),(i-=r)?(n.arraySet(s.window,t,o-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=r,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=r))),0}t.inflateReset=se,t.inflateReset2=ae,t.inflateResetKeep=re,t.inflateInit=function(e){return le(e,oe)},t.inflateInit2=le,t.inflate=function(e,t){var o,ee,te,oe,ie,re,se,ae,le,ue,ce,he,pe,fe,me,_e,ye,ve,be,Ee,Ce,Se,Te,we,ke=0,Oe=new n.Buf8(4),Re=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return _;(o=e.state).mode===A&&(o.mode=P),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,ue=re,ce=se,Se=p;e:for(;;)switch(o.mode){case C:if(0===o.wrap){o.mode=P;break}for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(2&o.wrap&&35615===ae){o.check=0,Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0),ae=0,le=0,o.mode=S;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&ae)<<8)+(ae>>8))%31){e.msg="incorrect header check",o.mode=J;break}if((15&ae)!==E){e.msg="unknown compression method",o.mode=J;break}if(le-=4,Ce=8+(15&(ae>>>=4)),0===o.wbits)o.wbits=Ce;else if(Ce>o.wbits){e.msg="invalid window size",o.mode=J;break}o.dmax=1<<Ce,e.adler=o.check=1,o.mode=512&ae?I:A,ae=0,le=0;break;case S:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(o.flags=ae,(255&o.flags)!==E){e.msg="unknown compression method",o.mode=J;break}if(57344&o.flags){e.msg="unknown header flags set",o.mode=J;break}o.head&&(o.head.text=ae>>8&1),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=T;case T:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.head&&(o.head.time=ae),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,Oe[2]=ae>>>16&255,Oe[3]=ae>>>24&255,o.check=r(o.check,Oe,4,0)),ae=0,le=0,o.mode=w;case w:for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.head&&(o.head.xflags=255&ae,o.head.os=ae>>8),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0,o.mode=k;case k:if(1024&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.length=ae,o.head&&(o.head.extra_len=ae),512&o.flags&&(Oe[0]=255&ae,Oe[1]=ae>>>8&255,o.check=r(o.check,Oe,2,0)),ae=0,le=0}else o.head&&(o.head.extra=null);o.mode=O;case O:if(1024&o.flags&&((he=o.length)>re&&(he=re),he&&(o.head&&(Ce=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),n.arraySet(o.head.extra,ee,oe,he,Ce)),512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,o.length-=he),o.length))break e;o.length=0,o.mode=R;case R:if(2048&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.name+=String.fromCharCode(Ce))}while(Ce&&he<re);if(512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,Ce)break e}else o.head&&(o.head.name=null);o.length=0,o.mode=N;case N:if(4096&o.flags){if(0===re)break e;he=0;do{Ce=ee[oe+he++],o.head&&Ce&&o.length<65536&&(o.head.comment+=String.fromCharCode(Ce))}while(Ce&&he<re);if(512&o.flags&&(o.check=r(o.check,ee,he,oe)),re-=he,oe+=he,Ce)break e}else o.head&&(o.head.comment=null);o.mode=L;case L:if(512&o.flags){for(;le<16;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae!==(65535&o.check)){e.msg="header crc mismatch",o.mode=J;break}ae=0,le=0}o.head&&(o.head.hcrc=o.flags>>9&1,o.head.done=!0),e.adler=o.check=0,o.mode=A;break;case I:for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}e.adler=o.check=ne(ae),ae=0,le=0,o.mode=D;case D:if(0===o.havedict)return e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,m;e.adler=o.check=1,o.mode=A;case A:if(t===d||t===g)break e;case P:if(o.last){ae>>>=7&le,le-=7&le,o.mode=X;break}for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}switch(o.last=1&ae,le-=1,3&(ae>>>=1)){case 0:o.mode=M;break;case 1:if(de(o),o.mode=V,t===g){ae>>>=2,le-=2;break e}break;case 2:o.mode=F;break;case 3:e.msg="invalid block type",o.mode=J}ae>>>=2,le-=2;break;case M:for(ae>>>=7&le,le-=7&le;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if((65535&ae)!=(ae>>>16^65535)){e.msg="invalid stored block lengths",o.mode=J;break}if(o.length=65535&ae,ae=0,le=0,o.mode=x,t===g)break e;case x:o.mode=B;case B:if(he=o.length){if(he>re&&(he=re),he>se&&(he=se),0===he)break e;n.arraySet(te,ee,oe,he,ie),re-=he,oe+=he,se-=he,ie+=he,o.length-=he;break}o.mode=A;break;case F:for(;le<14;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(o.nlen=257+(31&ae),ae>>>=5,le-=5,o.ndist=1+(31&ae),ae>>>=5,le-=5,o.ncode=4+(15&ae),ae>>>=4,le-=4,o.nlen>286||o.ndist>30){e.msg="too many length or distance symbols",o.mode=J;break}o.have=0,o.mode=H;case H:for(;o.have<o.ncode;){for(;le<3;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.lens[Re[o.have++]]=7&ae,ae>>>=3,le-=3}for(;o.have<19;)o.lens[Re[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,Te={bits:o.lenbits},Se=a(l,o.lens,0,19,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid code lengths set",o.mode=J;break}o.have=0,o.mode=U;case U:for(;o.have<o.nlen+o.ndist;){for(;_e=(ke=o.lencode[ae&(1<<o.lenbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ye<16)ae>>>=me,le-=me,o.lens[o.have++]=ye;else{if(16===ye){for(we=me+2;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae>>>=me,le-=me,0===o.have){e.msg="invalid bit length repeat",o.mode=J;break}Ce=o.lens[o.have-1],he=3+(3&ae),ae>>>=2,le-=2}else if(17===ye){for(we=me+3;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}le-=me,Ce=0,he=3+(7&(ae>>>=me)),ae>>>=3,le-=3}else{for(we=me+7;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}le-=me,Ce=0,he=11+(127&(ae>>>=me)),ae>>>=7,le-=7}if(o.have+he>o.nlen+o.ndist){e.msg="invalid bit length repeat",o.mode=J;break}for(;he--;)o.lens[o.have++]=Ce}}if(o.mode===J)break;if(0===o.lens[256]){e.msg="invalid code -- missing end-of-block",o.mode=J;break}if(o.lenbits=9,Te={bits:o.lenbits},Se=a(u,o.lens,0,o.nlen,o.lencode,0,o.work,Te),o.lenbits=Te.bits,Se){e.msg="invalid literal/lengths set",o.mode=J;break}if(o.distbits=6,o.distcode=o.distdyn,Te={bits:o.distbits},Se=a(c,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,Te),o.distbits=Te.bits,Se){e.msg="invalid distances set",o.mode=J;break}if(o.mode=V,t===g)break e;case V:o.mode=W;case W:if(re>=6&&se>=258){e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,s(e,ce),ie=e.next_out,te=e.output,se=e.avail_out,oe=e.next_in,ee=e.input,re=e.avail_in,ae=o.hold,le=o.bits,o.mode===A&&(o.back=-1);break}for(o.back=0;_e=(ke=o.lencode[ae&(1<<o.lenbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(_e&&0==(240&_e)){for(ve=me,be=_e,Ee=ye;_e=(ke=o.lencode[Ee+((ae&(1<<ve+be)-1)>>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}ae>>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,o.length=ye,0===_e){o.mode=Y;break}if(32&_e){o.back=-1,o.mode=A;break}if(64&_e){e.msg="invalid literal/length code",o.mode=J;break}o.extra=15&_e,o.mode=j;case j:if(o.extra){for(we=o.extra;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.length+=ae&(1<<o.extra)-1,ae>>>=o.extra,le-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=G;case G:for(;_e=(ke=o.distcode[ae&(1<<o.distbits)-1])>>>16&255,ye=65535&ke,!((me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(0==(240&_e)){for(ve=me,be=_e,Ee=ye;_e=(ke=o.distcode[Ee+((ae&(1<<ve+be)-1)>>ve)])>>>16&255,ye=65535&ke,!(ve+(me=ke>>>24)<=le);){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}ae>>>=ve,le-=ve,o.back+=ve}if(ae>>>=me,le-=me,o.back+=me,64&_e){e.msg="invalid distance code",o.mode=J;break}o.offset=ye,o.extra=15&_e,o.mode=z;case z:if(o.extra){for(we=o.extra;le<we;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}o.offset+=ae&(1<<o.extra)-1,ae>>>=o.extra,le-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){e.msg="invalid distance too far back",o.mode=J;break}o.mode=K;case K:if(0===se)break e;if(he=ce-se,o.offset>he){if((he=o.offset-he)>o.whave&&o.sane){e.msg="invalid distance too far back",o.mode=J;break}he>o.wnext?(he-=o.wnext,pe=o.wsize-he):pe=o.wnext-he,he>o.length&&(he=o.length),fe=o.window}else fe=te,pe=ie-o.offset,he=o.length;he>se&&(he=se),se-=he,o.length-=he;do{te[ie++]=fe[pe++]}while(--he);0===o.length&&(o.mode=W);break;case Y:if(0===se)break e;te[ie++]=o.length,se--,o.mode=W;break;case X:if(o.wrap){for(;le<32;){if(0===re)break e;re--,ae|=ee[oe++]<<le,le+=8}if(ce-=se,e.total_out+=ce,o.total+=ce,ce&&(e.adler=o.check=o.flags?r(o.check,te,ce,ie-ce):i(o.check,te,ce,ie-ce)),ce=se,(o.flags?ae:ne(ae))!==o.check){e.msg="incorrect data check",o.mode=J;break}ae=0,le=0}o.mode=q;case q:if(o.wrap&&o.flags){for(;le<32;){if(0===re)break e;re--,ae+=ee[oe++]<<le,le+=8}if(ae!==(4294967295&o.total)){e.msg="incorrect length check",o.mode=J;break}ae=0,le=0}o.mode=$;case $:Se=f;break e;case J:Se=y;break e;case Z:return v;case Q:default:return _}return e.next_out=ie,e.avail_out=se,e.next_in=oe,e.avail_in=re,o.hold=ae,o.bits=le,(o.wsize||ce!==e.avail_out&&o.mode<J&&(o.mode<X||t!==h))&&ge(e,e.output,e.next_out,ce-e.avail_out)?(o.mode=Z,v):(ue-=e.avail_in,ce-=e.avail_out,e.total_in+=ue,e.total_out+=ce,o.total+=ce,o.wrap&&ce&&(e.adler=o.check=o.flags?r(o.check,te,ce,e.next_out-ce):i(o.check,te,ce,e.next_out-ce)),e.data_type=o.bits+(o.last?64:0)+(o.mode===A?128:0)+(o.mode===V||o.mode===x?256:0),(0===ue&&0===ce||t===h)&&Se===p&&(Se=b),Se)},t.inflateEnd=function(e){if(!e||!e.state)return _;var t=e.state;return t.window&&(t.window=null),e.state=null,p},t.inflateGetHeader=function(e,t){var o;return e&&e.state?0==(2&(o=e.state).wrap)?_:(o.head=t,t.done=!1,p):_},t.inflateSetDictionary=function(e,t){var o,n=t.length;return e&&e.state?0!==(o=e.state).wrap&&o.mode!==D?_:o.mode===D&&i(1,t,n,0)!==o.check?y:ge(e,t,n,n)?(o.mode=Z,v):(o.havedict=1,p):_},t.inflateInfo="pako inflate (from Nodeca project)"},function(e,t,o){"use strict";e.exports=function(e,t){var o,n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E,C,S,T,w,k;o=e.state,n=e.next_in,w=e.input,i=n+(e.avail_in-5),r=e.next_out,k=e.output,s=r-(t-e.avail_out),a=r+(e.avail_out-257),l=o.dmax,u=o.wsize,c=o.whave,h=o.wnext,d=o.window,g=o.hold,p=o.bits,f=o.lencode,m=o.distcode,_=(1<<o.lenbits)-1,y=(1<<o.distbits)-1;e:do{p<15&&(g+=w[n++]<<p,p+=8,g+=w[n++]<<p,p+=8),v=f[g&_];t:for(;;){if(g>>>=b=v>>>24,p-=b,0===(b=v>>>16&255))k[r++]=65535&v;else{if(!(16&b)){if(0==(64&b)){v=f[(65535&v)+(g&(1<<b)-1)];continue t}if(32&b){o.mode=12;break e}e.msg="invalid literal/length code",o.mode=30;break e}E=65535&v,(b&=15)&&(p<b&&(g+=w[n++]<<p,p+=8),E+=g&(1<<b)-1,g>>>=b,p-=b),p<15&&(g+=w[n++]<<p,p+=8,g+=w[n++]<<p,p+=8),v=m[g&y];o:for(;;){if(g>>>=b=v>>>24,p-=b,!(16&(b=v>>>16&255))){if(0==(64&b)){v=m[(65535&v)+(g&(1<<b)-1)];continue o}e.msg="invalid distance code",o.mode=30;break e}if(C=65535&v,p<(b&=15)&&(g+=w[n++]<<p,(p+=8)<b&&(g+=w[n++]<<p,p+=8)),(C+=g&(1<<b)-1)>l){e.msg="invalid distance too far back",o.mode=30;break e}if(g>>>=b,p-=b,C>(b=r-s)){if((b=C-b)>c&&o.sane){e.msg="invalid distance too far back",o.mode=30;break e}if(S=0,T=d,0===h){if(S+=u-b,b<E){E-=b;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}}else if(h<b){if(S+=u+h-b,(b-=h)<E){E-=b;do{k[r++]=d[S++]}while(--b);if(S=0,h<E){E-=b=h;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}}}else if(S+=h-b,b<E){E-=b;do{k[r++]=d[S++]}while(--b);S=r-C,T=k}for(;E>2;)k[r++]=T[S++],k[r++]=T[S++],k[r++]=T[S++],E-=3;E&&(k[r++]=T[S++],E>1&&(k[r++]=T[S++]))}else{S=r-C;do{k[r++]=k[S++],k[r++]=k[S++],k[r++]=k[S++],E-=3}while(E>2);E&&(k[r++]=k[S++],E>1&&(k[r++]=k[S++]))}break}}break}}while(n<i&&r<a);n-=E=p>>3,g&=(1<<(p-=E<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=r<a?a-r+257:257-(r-a),o.hold=g,o.bits=p}},function(e,t,o){"use strict";var n=o(128),i=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],r=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],s=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],a=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(e,t,o,l,u,c,h,d){var g,p,f,m,_,y,v,b,E,C=d.bits,S=0,T=0,w=0,k=0,O=0,R=0,N=0,L=0,I=0,D=0,A=null,P=0,M=new n.Buf16(16),x=new n.Buf16(16),B=null,F=0;for(S=0;S<=15;S++)M[S]=0;for(T=0;T<l;T++)M[t[o+T]]++;for(O=C,k=15;k>=1&&0===M[k];k--);if(O>k&&(O=k),0===k)return u[c++]=20971520,u[c++]=20971520,d.bits=1,0;for(w=1;w<k&&0===M[w];w++);for(O<w&&(O=w),L=1,S=1;S<=15;S++)if(L<<=1,(L-=M[S])<0)return-1;if(L>0&&(0===e||1!==k))return-1;for(x[1]=0,S=1;S<15;S++)x[S+1]=x[S]+M[S];for(T=0;T<l;T++)0!==t[o+T]&&(h[x[t[o+T]]++]=T);if(0===e?(A=B=h,y=19):1===e?(A=i,P-=257,B=r,F-=257,y=256):(A=s,B=a,y=-1),D=0,T=0,S=w,_=c,R=O,N=0,f=-1,m=(I=1<<O)-1,1===e&&I>852||2===e&&I>592)return 1;for(;;){v=S-N,h[T]<y?(b=0,E=h[T]):h[T]>y?(b=B[F+h[T]],E=A[P+h[T]]):(b=96,E=0),g=1<<S-N,w=p=1<<R;do{u[_+(D>>N)+(p-=g)]=v<<24|b<<16|E|0}while(0!==p);for(g=1<<S-1;D&g;)g>>=1;if(0!==g?(D&=g-1,D+=g):D=0,T++,0==--M[S]){if(S===k)break;S=t[o+h[T]]}if(S>O&&(D&m)!==f){for(0===N&&(N=O),_+=w,L=1<<(R=S-N);R+N<k&&!((L-=M[R+N])<=0);)R++,L<<=1;if(I+=1<<R,1===e&&I>852||2===e&&I>592)return 1;u[f=D&m]=O<<24|R<<16|_-c|0}}return 0!==D&&(u[_+D]=S-N<<24|64<<16|0),d.bits=O,0}},function(e,t,o){"use strict";e.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},function(e,t,o){"use strict";var n=o(64),i=o(100),r=o(146),s=o(216),a=o(284),l=function(e,t){var o,n="";for(o=0;o<t;o++)n+=String.fromCharCode(255&e),e>>>=8;return n},u=function(e,t,o,i,u,c){var h,d,g=e.file,p=e.compression,f=c!==r.utf8encode,m=n.transformTo("string",c(g.name)),_=n.transformTo("string",r.utf8encode(g.name)),y=g.comment,v=n.transformTo("string",c(y)),b=n.transformTo("string",r.utf8encode(y)),E=_.length!==g.name.length,C=b.length!==y.length,S="",T="",w="",k=g.dir,O=g.date,R={crc32:0,compressedSize:0,uncompressedSize:0};t&&!o||(R.crc32=e.crc32,R.compressedSize=e.compressedSize,R.uncompressedSize=e.uncompressedSize);var N=0;t&&(N|=8),f||!E&&!C||(N|=2048);var L,I,D,A=0,P=0;k&&(A|=16),"UNIX"===u?(P=798,A|=(L=g.unixPermissions,I=k,D=L,L||(D=I?16893:33204),(65535&D)<<16)):(P=20,A|=63&(g.dosPermissions||0)),h=O.getUTCHours(),h<<=6,h|=O.getUTCMinutes(),h<<=5,h|=O.getUTCSeconds()/2,d=O.getUTCFullYear()-1980,d<<=4,d|=O.getUTCMonth()+1,d<<=5,d|=O.getUTCDate(),E&&(T=l(1,1)+l(s(m),4)+_,S+="up"+l(T.length,2)+T),C&&(w=l(1,1)+l(s(v),4)+b,S+="uc"+l(w.length,2)+w);var M="";return M+="\n\0",M+=l(N,2),M+=p.magic,M+=l(h,2),M+=l(d,2),M+=l(R.crc32,4),M+=l(R.compressedSize,4),M+=l(R.uncompressedSize,4),M+=l(m.length,2),M+=l(S.length,2),{fileRecord:a.LOCAL_FILE_HEADER+M+m+S,dirRecord:a.CENTRAL_FILE_HEADER+l(P,2)+M+l(v.length,2)+"\0\0\0\0"+l(A,4)+l(i,4)+m+S+v}},c=function(e){return a.DATA_DESCRIPTOR+l(e.crc32,4)+l(e.compressedSize,4)+l(e.uncompressedSize,4)};function h(e,t,o,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=o,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}n.inherits(h,i),h.prototype.push=function(e){var t=e.meta.percent||0,o=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:o?(t+100*(o-n-1))/o:100}}))},h.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var o=u(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:o.fileRecord,meta:{percent:0}})}else this.accumulate=!0},h.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,o=u(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(o.dirRecord),t)this.push({data:c(e),meta:{percent:100}});else for(this.push({data:o.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},h.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var o=this.bytesWritten-e,i=function(e,t,o,i,r){var s=n.transformTo("string",r(i));return a.CENTRAL_DIRECTORY_END+"\0\0\0\0"+l(e,2)+l(e,2)+l(t,4)+l(o,4)+l(s.length,2)+s}(this.dirRecords.length,o,e,this.zipComment,this.encodeFileName);this.push({data:i,meta:{percent:100}})},h.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},h.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",(function(e){t.processChunk(e)})),e.on("end",(function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()})),e.on("error",(function(e){t.error(e)})),this},h.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},h.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var o=0;o<t.length;o++)try{t[o].error(e)}catch(e){}return!0},h.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},e.exports=h},function(e,t,o){"use strict";var n=o(64),i=o(100);function r(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(r,i),r.prototype._bindStream=function(e){var t=this;this._stream=e,e.pause(),e.on("data",(function(e){t.push({data:e,meta:{percent:0}})})).on("error",(function(e){t.isPaused?this.generatedError=e:t.error(e)})).on("end",(function(){t.isPaused?t._upstreamEnded=!0:t.end()}))},r.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},e.exports=r},function(e,t,o){"use strict";var n=o(64),i=o(168),r=o(146),s=(n=o(64),o(359)),a=o(277),l=o(182);function u(e){return new i.Promise((function(t,o){var n=e.decompressed.getContentWorker().pipe(new a);n.on("error",(function(e){o(e)})).on("end",(function(){n.streamInfo.crc32!==e.decompressed.crc32?o(new Error("Corrupted zip : CRC32 mismatch")):t()})).resume()}))}e.exports=function(e,t){var o=this;return t=n.extend(t||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:r.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):n.prepareContent("the loaded zip file",e,!0,t.optimizedBinaryString,t.base64).then((function(e){var o=new s(t);return o.load(e),o})).then((function(e){var o=[i.Promise.resolve(e)],n=e.files;if(t.checkCRC32)for(var r=0;r<n.length;r++)o.push(u(n[r]));return i.Promise.all(o)})).then((function(e){for(var n=e.shift(),i=n.files,r=0;r<i.length;r++){var s=i[r];o.file(s.fileNameStr,s.decompressed,{binary:!0,optimizedBinaryString:!0,date:s.date,dir:s.dir,comment:s.fileCommentStr.length?s.fileCommentStr:null,unixPermissions:s.unixPermissions,dosPermissions:s.dosPermissions,createFolders:t.createFolders})}return n.zipComment.length&&(o.comment=n.zipComment),o}))}},function(e,t,o){"use strict";var n=o(285),i=o(64),r=o(284),s=o(362),a=(o(146),o(127));function l(e){this.files=[],this.loadOptions=e}l.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var o=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(o),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=a.uint8array?"uint8array":"array",o=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(o)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,o,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),o=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:o}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(r.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(r.CENTRAL_FILE_HEADER);)(e=new s({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(r.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,r.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(r.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,r.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(r.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var o=this.centralDirOffset+this.centralDirSize;this.zip64&&(o+=20,o+=12+this.zip64EndOfCentralSize);var n=t-o;if(n>0)this.isSignature(t,r.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},e.exports=l},function(e,t,o){"use strict";var n=o(287);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(288);function i(e){n.call(this,e)}o(64).inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},e.exports=i},function(e,t,o){"use strict";var n=o(285),i=o(64),r=o(215),s=o(216),a=o(146),l=o(278),u=o(127);function c(e,t){this.options=e,this.loadOptions=t}c.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,o;if(e.skip(22),this.fileNameLength=e.readInt(2),o=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(o),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in l)if(l.hasOwnProperty(t)&&l[t].magic===e)return l[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+i.pretty(this.compressionMethod)+" unknown (inner file : "+i.transformTo("string",this.fileName)+")");this.decompressed=new r(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0===e&&(this.dosPermissions=63&this.externalFileAttributes),3===e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(e){if(this.extraFields[1]){var t=n(this.extraFields[1].value);this.uncompressedSize===i.MAX_VALUE_32BITS&&(this.uncompressedSize=t.readInt(8)),this.compressedSize===i.MAX_VALUE_32BITS&&(this.compressedSize=t.readInt(8)),this.localHeaderOffset===i.MAX_VALUE_32BITS&&(this.localHeaderOffset=t.readInt(8)),this.diskNumberStart===i.MAX_VALUE_32BITS&&(this.diskNumberStart=t.readInt(4))}},readExtraFields:function(e){var t,o,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index<i;)t=e.readInt(2),o=e.readInt(2),n=e.readData(o),this.extraFields[t]={id:t,length:o,value:n}},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=a.utf8decode(this.fileName),this.fileCommentStr=a.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var o=i.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(o)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var r=i.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(r)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:s(this.fileName)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:s(this.fileComment)!==t.readInt(4)?null:a.utf8decode(t.readData(e.length-5))}return null}},e.exports=c},function(e,t,o){"use strict";var n=o(218),i=o(149),r=o(220),s=o(290),a=o(291),l=i.ucs2length,u=o(219),c=r.Validation;function h(e,t,o){var n=g.call(this,e,t,o);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:e,root:t,baseId:o},{index:n,compiling:!1})}function d(e,t,o){var n=g.call(this,e,t,o);n>=0&&this._compilations.splice(n,1)}function g(e,t,o){for(var n=0;n<this._compilations.length;n++){var i=this._compilations[n];if(i.schema==e&&i.root==t&&i.baseId==o)return n}return-1}function p(e,t){return"var pattern"+e+" = new RegExp("+i.toQuotedString(t[e])+");"}function f(e){return"var default"+e+" = defaults["+e+"];"}function m(e,t){return void 0===t[e]?"":"var refVal"+e+" = refVal["+e+"];"}function _(e){return"var customRule"+e+" = customRules["+e+"];"}function y(e,t){if(!e.length)return"";for(var o="",n=0;n<e.length;n++)o+=t(n,e);return o}e.exports=function e(t,o,g,v){var b=this,E=this._opts,C=[void 0],S={},T=[],w={},k=[],O={},R=[];o=o||{schema:t,refVal:C,refs:S};var N=h.call(this,t,o,v);var L=this._compilations[N.index];if(N.compiling)return L.callValidate=function e(){var t=L.validate;var o=t.apply(this,arguments);e.errors=t.errors;return o};var I=this._formats;var D=this.RULES;try{var A=M(t,o,g,v);L.validate=A;var P=L.callValidate;return P&&(P.schema=A.schema,P.errors=null,P.refs=A.refs,P.refVal=A.refVal,P.root=A.root,P.$async=A.$async,E.sourceCode&&(P.source=A.source)),A}finally{d.call(this,t,o,v)}function M(t,s,h,d){var g=!s||s&&s.schema==t;if(s.schema!=o.schema)return e.call(b,t,s,h,d);var v,w=!0===t.$async,O=a({isTop:!0,schema:t,isRoot:g,baseId:d,root:s,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:r.MissingRef,RULES:D,validate:a,util:i,resolve:n,resolveRef:x,usePattern:H,useDefault:U,useCustomRule:V,opts:E,formats:I,logger:b.logger,self:b});O=y(C,m)+y(T,p)+y(k,f)+y(R,_)+O,E.processCode&&(O=E.processCode(O));try{v=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",O)(b,D,I,o,C,k,R,u,l,c),C[0]=v}catch(e){throw b.logger.error("Error compiling schema, function code:",O),e}return v.schema=t,v.errors=null,v.refs=S,v.refVal=C,v.root=g?v:s,w&&(v.$async=!0),!0===E.sourceCode&&(v.source={code:O,patterns:T,defaults:k}),v}function x(t,i,r){i=n.url(t,i);var s,a,l=S[i];if(void 0!==l)return F(s=C[l],a="refVal["+l+"]");if(!r&&o.refs){var u=o.refs[i];if(void 0!==u)return F(s=o.refVal[u],a=B(i,s))}a=B(i);var c=n.call(b,M,o,i);if(void 0===c){var h=g&&g[i];h&&(c=n.inlineRef(h,E.inlineRefs)?h:e.call(b,h,o,g,t))}if(void 0!==c)return function(e,t){var o=S[e];C[o]=t}(i,c),F(c,a);!function(e){delete S[e]}(i)}function B(e,t){var o=C.length;return C[o]=t,S[e]=o,"refVal"+o}function F(e,t){return"object"==typeof e||"boolean"==typeof e?{code:t,schema:e,inline:!0}:{code:t,$async:e&&!!e.$async}}function H(e){var t=w[e];return void 0===t&&(t=w[e]=T.length,T[t]=e),"pattern"+t}function U(e){switch(typeof e){case"boolean":case"number":return""+e;case"string":return i.toQuotedString(e);case"object":if(null===e)return"null";var t=s(e),o=O[t];return void 0===o&&(o=O[t]=k.length,k[o]=e),"default"+o}}function V(e,t,o,n){if(!1!==b._opts.validateSchema){var i=e.definition.dependencies;if(i&&!i.every((function(e){return Object.prototype.hasOwnProperty.call(o,e)})))throw new Error("parent schema must have all required keywords: "+i.join(","));var r=e.definition.validateSchema;if(r)if(!r(t)){var s="keyword schema is invalid: "+b.errorsText(r.errors);if("log"!=b._opts.validateSchema)throw new Error(s);b.logger.error(s)}}var a,l=e.definition.compile,u=e.definition.inline,c=e.definition.macro;if(l)a=l.call(b,t,o,n);else if(c)a=c.call(b,t,o,n),!1!==E.validateSchema&&b.validateSchema(a,!0);else if(u)a=u.call(b,n,e.keyword,t,o);else if(!(a=e.definition.validate))return;if(void 0===a)throw new Error('custom keyword "'+e.keyword+'"failed to compile');var h=R.length;return R[h]=a,{code:"customRule"+h,validate:a}}}},function(e,t,o){
 /** @license URI.js v4.2.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */
-!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i<n;++i)t[i]=t[i].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function o(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function r(e){var n=t("[0-9]","[A-Fa-f]"),i=o(o("%[EFef]"+n+"%"+n+n+"%"+n+n)+"|"+o("%[89A-Fa-f]"+n+"%"+n+n)+"|"+o("%"+n+n)),r="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",r),a=e?"[\\uE000-\\uF8FF]":"[]",l=t("[A-Za-z]","[0-9]","[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),u=o("[A-Za-z]"+t("[A-Za-z]","[0-9]","[\\+\\-\\.]")+"*"),c=o(o(i+"|"+t(l,r,"[\\:]"))+"*"),h=(o(o("25[0-5]")+"|"+o("2[0-4][0-9]")+"|"+o("1[0-9][0-9]")+"|"+o("[1-9][0-9]")+"|[0-9]"),o(o("25[0-5]")+"|"+o("2[0-4][0-9]")+"|"+o("1[0-9][0-9]")+"|"+o("0?[1-9][0-9]")+"|0?0?[0-9]")),d=o(h+"\\."+h+"\\."+h+"\\."+h),g=o(n+"{1,4}"),p=o(o(g+"\\:"+g)+"|"+d),f=o(o(g+"\\:")+"{6}"+p),m=o("\\:\\:"+o(g+"\\:")+"{5}"+p),_=o(o(g)+"?\\:\\:"+o(g+"\\:")+"{4}"+p),y=o(o(o(g+"\\:")+"{0,1}"+g)+"?\\:\\:"+o(g+"\\:")+"{3}"+p),v=o(o(o(g+"\\:")+"{0,2}"+g)+"?\\:\\:"+o(g+"\\:")+"{2}"+p),b=o(o(o(g+"\\:")+"{0,3}"+g)+"?\\:\\:"+g+"\\:"+p),E=o(o(o(g+"\\:")+"{0,4}"+g)+"?\\:\\:"+p),C=o(o(o(g+"\\:")+"{0,5}"+g)+"?\\:\\:"+g),S=o(o(o(g+"\\:")+"{0,6}"+g)+"?\\:\\:"),T=o([f,m,_,y,v,b,E,C,S].join("|")),w=o(o(l+"|"+i)+"+"),k=(o(T+"\\%25"+w),o(T+o("\\%25|\\%(?!"+n+"{2})")+w)),O=o("[vV]"+n+"+\\."+t(l,r,"[\\:]")+"+"),R=o("\\["+o(k+"|"+T+"|"+O)+"\\]"),L=o(o(i+"|"+t(l,r))+"*"),N=o(R+"|"+d+"(?!"+L+")|"+L),I=o("[0-9]*"),D=o(o(c+"@")+"?"+N+o("\\:"+I)+"?"),A=o(i+"|"+t(l,r,"[\\:\\@]")),P=o(A+"*"),x=o(A+"+"),M=o(o(i+"|"+t(l,r,"[\\@]"))+"+"),B=o(o("\\/"+P)+"*"),F=o("\\/"+o(x+B)+"?"),H=o(M+B),U=o(x+B),V="(?!"+A+")",W=(o(B+"|"+F+"|"+H+"|"+U+"|"+V),o(o(A+"|"+t("[\\/\\?]",a))+"*")),j=o(o(A+"|[\\/\\?]")+"*"),G=o(o("\\/\\/"+D+B)+"|"+F+"|"+U+"|"+V),z=o(u+"\\:"+G+o("\\?"+W)+"?"+o("\\#"+j)+"?"),K=o(o("\\/\\/"+D+B)+"|"+F+"|"+H+"|"+V),Y=o(K+o("\\?"+W)+"?"+o("\\#"+j)+"?");return o(z+"|"+Y),o(u+"\\:"+G+o("\\?"+W)+"?"),o(o("\\/\\/("+o("("+c+")@")+"?("+N+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+U+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o(o("\\/\\/("+o("("+c+")@")+"?("+N+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+H+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o(o("\\/\\/("+o("("+c+")@")+"?("+N+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+U+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o("("+c+")@"),o("\\:("+I+")"),{NOT_SCHEME:new RegExp(t("[^]","[A-Za-z]","[0-9]","[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",l,r),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",l,r),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",l,r),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",l,r),"g"),NOT_QUERY:new RegExp(t("[^\\%]",l,r,"[\\:\\@\\/\\?]",a),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",l,r,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",l,r),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",l,s),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+T+")"+o(o("\\%25|\\%(?!"+n+"{2})")+"("+w+")")+"?\\]?$")}}var s=r(!1),a=r(!0),l=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!t||o.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw r}}return o}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},u=2147483647,c=/^xn--/,h=/[^\0-\x7E]/,d=/[\x2E\u3002\uFF0E\uFF61]/g,g={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,f=String.fromCharCode;function m(e){throw new RangeError(g[e])}function _(e,t){var o=e.split("@"),n="";o.length>1&&(n=o[0]+"@",e=o[1]);var i=function(e,t){for(var o=[],n=e.length;n--;)o[n]=t(e[n]);return o}((e=e.replace(d,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],o=0,n=e.length;o<n;){var i=e.charCodeAt(o++);if(i>=55296&&i<=56319&&o<n){var r=e.charCodeAt(o++);56320==(64512&r)?t.push(((1023&i)<<10)+(1023&r)+65536):(t.push(i),o--)}else t.push(i)}return t}var v=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},b=function(e,t,o){var n=0;for(e=o?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))},E=function(e){var t,o=[],n=e.length,i=0,r=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l<a;++l)e.charCodeAt(l)>=128&&m("not-basic"),o.push(e.charCodeAt(l));for(var c=a>0?a+1:0;c<n;){for(var h=i,d=1,g=36;;g+=36){c>=n&&m("invalid-input");var f=(t=e.charCodeAt(c++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(f>=36||f>p((u-i)/d))&&m("overflow"),i+=f*d;var _=g<=s?1:g>=s+26?26:g-s;if(f<_)break;var y=36-_;d>p(u/y)&&m("overflow"),d*=y}var v=o.length+1;s=b(i-h,v,0==h),p(i/v)>u-r&&m("overflow"),r+=p(i/v),i%=v,o.splice(i++,0,r)}return String.fromCodePoint.apply(String,o)},C=function(e){var t=[],o=(e=y(e)).length,n=128,i=0,r=72,s=!0,a=!1,l=void 0;try{for(var c,h=e[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var d=c.value;d<128&&t.push(f(d))}}catch(e){a=!0,l=e}finally{try{!s&&h.return&&h.return()}finally{if(a)throw l}}var g=t.length,_=g;for(g&&t.push("-");_<o;){var E=u,C=!0,S=!1,T=void 0;try{for(var w,k=e[Symbol.iterator]();!(C=(w=k.next()).done);C=!0){var O=w.value;O>=n&&O<E&&(E=O)}}catch(e){S=!0,T=e}finally{try{!C&&k.return&&k.return()}finally{if(S)throw T}}var R=_+1;E-n>p((u-i)/R)&&m("overflow"),i+=(E-n)*R,n=E;var L=!0,N=!1,I=void 0;try{for(var D,A=e[Symbol.iterator]();!(L=(D=A.next()).done);L=!0){var P=D.value;if(P<n&&++i>u&&m("overflow"),P==n){for(var x=i,M=36;;M+=36){var B=M<=r?1:M>=r+26?26:M-r;if(x<B)break;var F=x-B,H=36-B;t.push(f(v(B+F%H,0))),x=p(F/H)}t.push(f(v(x,0))),r=b(i,R,_==g),i=0,++_}}}catch(e){N=!0,I=e}finally{try{!L&&A.return&&A.return()}finally{if(N)throw I}}++i,++n}return t.join("")},S={version:"2.1.0",ucs2:{decode:y,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}return Array.from(e)}(e))}},decode:E,encode:C,toASCII:function(e){return _(e,(function(e){return h.test(e)?"xn--"+C(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?E(e.slice(4).toLowerCase()):e}))}},T={};function w(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function k(e){for(var t="",o=0,n=e.length;o<n;){var i=parseInt(e.substr(o+1,2),16);if(i<128)t+=String.fromCharCode(i),o+=3;else if(i>=194&&i<224){if(n-o>=6){var r=parseInt(e.substr(o+4,2),16);t+=String.fromCharCode((31&i)<<6|63&r)}else t+=e.substr(o,6);o+=6}else if(i>=224){if(n-o>=9){var s=parseInt(e.substr(o+4,2),16),a=parseInt(e.substr(o+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(o,9);o+=9}else t+=e.substr(o,3),o+=3}return t}function O(e,t){function o(e){var o=k(e);return o.match(t.UNRESERVED)?o:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,o).replace(t.NOT_USERINFO,w).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_HOST,w).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,o).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,w).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,o).replace(t.NOT_QUERY,w).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,o).replace(t.NOT_FRAGMENT,w).replace(t.PCT_ENCODED,i)),e}function R(e){return e.replace(/^0*(.*)/,"$1")||"0"}function L(e,t){var o=e.match(t.IPV4ADDRESS)||[],n=l(o,2)[1];return n?n.split(".").map(R).join("."):e}function N(e,t){var o=e.match(t.IPV6ADDRESS)||[],n=l(o,3),i=n[1],r=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),u=a[0],c=a[1],h=c?c.split(":").map(R):[],d=u.split(":").map(R),g=t.IPV4ADDRESS.test(d[d.length-1]),p=g?7:8,f=d.length-p,m=Array(p),_=0;_<p;++_)m[_]=h[_]||d[f+_]||"";g&&(m[p-1]=L(m[p-1],t));var y=m.reduce((function(e,t,o){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===o?n.length++:e.push({index:o,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(y&&y.length>1){var b=m.slice(0,y.index),E=m.slice(y.index+y.length);v=b.join(":")+"::"+E.join(":")}else v=m.join(":");return r&&(v+="%"+r),v}return e}var I=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,D=void 0==="".match(/(){0}/)[1];function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(I);if(i){D?(o.scheme=i[1],o.userinfo=i[3],o.host=i[4],o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=i[7],o.fragment=i[8],isNaN(o.port)&&(o.port=i[5])):(o.scheme=i[1]||void 0,o.userinfo=-1!==e.indexOf("@")?i[3]:void 0,o.host=-1!==e.indexOf("//")?i[4]:void 0,o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=-1!==e.indexOf("?")?i[7]:void 0,o.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(o.port)&&(o.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),o.host&&(o.host=N(L(o.host,n),n)),void 0!==o.scheme||void 0!==o.userinfo||void 0!==o.host||void 0!==o.port||o.path||void 0!==o.query?void 0===o.scheme?o.reference="relative":void 0===o.fragment?o.reference="absolute":o.reference="uri":o.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==o.reference&&(o.error=o.error||"URI is not a "+t.reference+" reference.");var r=T[(t.scheme||o.scheme||"").toLowerCase()];if(t.unicodeSupport||r&&r.unicodeSupport)O(o,n);else{if(o.host&&(t.domainHost||r&&r.domainHost))try{o.host=S.toASCII(o.host.replace(n.PCT_ENCODED,k).toLowerCase())}catch(e){o.error=o.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(o,s)}r&&r.parse&&r.parse(o,t)}else o.error=o.error||"URI can not be parsed.";return o}var P=/^\.\.?\//,x=/^\/\.(\/|$)/,M=/^\/\.\.(\/|$)/,B=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(P))e=e.replace(P,"");else if(e.match(x))e=e.replace(x,"/");else if(e.match(M))e=e.replace(M,"/"),t.pop();else if("."===e||".."===e)e="";else{var o=e.match(B);if(!o)throw new Error("Unexpected dot segment condition");var n=o[0];e=e.slice(n.length),t.push(n)}return t.join("")}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(o.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?S.toUnicode(e.host):S.toASCII(e.host.replace(o.PCT_ENCODED,k).toLowerCase())}catch(o){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+o}O(e,o),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var r=function(e,t){var o=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(N(L(String(e.host),o),o).replace(o.IPV6ADDRESS,(function(e,t,o){return"["+t+(o?"%25"+o:"")+"]"}))),"number"==typeof e.port&&(n.push(":"),n.push(e.port.toString(10))),n.length?n.join(""):void 0}(e,t);if(void 0!==r&&("suffix"!==t.reference&&n.push("//"),n.push(r),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=F(l)),void 0===r&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=A(H(e,o),o),t=A(H(t,o),o)),!(o=o||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,k)}var W={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},G={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",Y=o(o("%[EFef][0-9A-Fa-f]%"+K+K+"%"+K+K)+"|"+o("%[89A-Fa-f][0-9A-Fa-f]%"+K+K)+"|"+o("%"+K+K)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),q=new RegExp(z,"g"),$=new RegExp(Y,"g"),J=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),Z=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),Q=Z;function ee(e){var t=k(e);return t.match(q)?t:e}var te={scheme:"mailto",parse:function(e,t){var o=e,n=o.to=o.path?o.path.split(","):[];if(o.path=void 0,o.query){for(var i=!1,r={},s=o.query.split("&"),a=0,l=s.length;a<l;++a){var u=s[a].split("=");switch(u[0]){case"to":for(var c=u[1].split(","),h=0,d=c.length;h<d;++h)n.push(c[h]);break;case"subject":o.subject=V(u[1],t);break;case"body":o.body=V(u[1],t);break;default:i=!0,r[V(u[0],t)]=V(u[1],t)}}i&&(o.headers=r)}o.query=void 0;for(var g=0,p=n.length;g<p;++g){var f=n[g].split("@");if(f[0]=V(f[0]),t.unicodeSupport)f[1]=V(f[1],t).toLowerCase();else try{f[1]=S.toASCII(V(f[1],t).toLowerCase())}catch(e){o.error=o.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[g]=f.join("@")}return o},serialize:function(e,t){var o,n=e,r=null!=(o=e.to)?o instanceof Array?o:"number"!=typeof o.length||o.split||o.setInterval||o.call?[o]:Array.prototype.slice.call(o):[];if(r){for(var s=0,a=r.length;s<a;++s){var l=String(r[s]),u=l.lastIndexOf("@"),c=l.slice(0,u).replace($,ee).replace($,i).replace(J,w),h=l.slice(u+1);try{h=t.iri?S.toUnicode(h):S.toASCII(V(h,t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}r[s]=c+"@"+h}n.path=r.join(",")}var d=e.headers=e.headers||{};e.subject&&(d.subject=e.subject),e.body&&(d.body=e.body);var g=[];for(var p in d)d[p]!==G[p]&&g.push(p.replace($,ee).replace($,i).replace(Z,w)+"="+d[p].replace($,ee).replace($,i).replace(Q,w));return g.length&&(n.query=g.join("&")),n}},oe=/^([^\:]+)\:(.*)/,ne={scheme:"urn",parse:function(e,t){var o=e.path&&e.path.match(oe),n=e;if(o){var i=t.scheme||n.scheme||"urn",r=o[1].toLowerCase(),s=o[2],a=i+":"+(t.nid||r),l=T[a];n.nid=r,n.nss=s,n.path=void 0,l&&(n=l.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var o=t.scheme||e.scheme||"urn",n=e.nid,i=o+":"+(t.nid||n),r=T[i];r&&(e=r.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ie=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,re={scheme:"urn:uuid",parse:function(e,t){var o=e;return o.uuid=o.nss,o.nss=void 0,t.tolerant||o.uuid&&o.uuid.match(ie)||(o.error=o.error||"UUID is not valid."),o},serialize:function(e,t){var o=e;return o.nss=(e.uuid||"").toLowerCase(),o}};T[W.scheme]=W,T[j.scheme]=j,T[te.scheme]=te,T[ne.scheme]=ne,T[re.scheme]=re,e.SCHEMES=T,e.pctEncChar=w,e.pctDecChars=k,e.parse=A,e.removeDotSegments=F,e.serialize=H,e.resolveComponents=U,e.resolve=function(e,t,o){var n=function(e,t){var o=e;if(t)for(var n in t)o[n]=t[n];return o}({scheme:"null"},o);return H(U(A(e,n),A(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=H(A(e,t),t):"object"===n(e)&&(e=A(H(e,t),t)),e},e.equal=function(e,t,o){return"string"==typeof e?e=H(A(e,o),o):"object"===n(e)&&(e=H(e,o)),"string"==typeof t?t=H(A(t,o),o):"object"===n(t)&&(t=H(t,o)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,w)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,o){"use strict";e.exports=function(e){for(var t,o=0,n=e.length,i=0;i<n;)o++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return o}},function(e,t,o){"use strict";var n=e.exports=function(e,t,o){"function"==typeof t&&(o=t,t={}),function e(t,o,i,r,s,a,l,u,c,h){if(r&&"object"==typeof r&&!Array.isArray(r)){for(var d in o(r,s,a,l,u,c,h),r){var g=r[d];if(Array.isArray(g)){if(d in n.arrayKeywords)for(var p=0;p<g.length;p++)e(t,o,i,g[p],s+"/"+d+"/"+p,a,s,d,r,p)}else if(d in n.propsKeywords){if(g&&"object"==typeof g)for(var f in g)e(t,o,i,g[f],s+"/"+d+"/"+f.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,d,r,f)}else(d in n.keywords||t.allKeys&&!(d in n.skipKeywords))&&e(t,o,i,g,s+"/"+d,a,s,d,r)}i(r,s,a,l,u,c,h)}}(t,"function"==typeof(o=t.cb||o)?o:o.pre||function(){},o.post||function(){},e,"",e)};n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},n.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},n.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,o){"use strict";var n=e.exports=function(){this._cache={}};n.prototype.put=function(e,t){this._cache[e]=t},n.prototype.get=function(e){return this._cache[e]},n.prototype.del=function(e){delete this._cache[e]},n.prototype.clear=function(){this._cache={}}},function(e,t,o){"use strict";var n=o(149),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,r=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,a=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,u=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,g=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function f(e){return e="full"==e?"full":"fast",n.copy(f[e])}function m(e){var t=e.match(i);if(!t)return!1;var o=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(o)?29:r[n])}function _(e,t){var o=e.match(s);if(!o)return!1;var n=o[1],i=o[2],r=o[3],a=o[5];return(n<=23&&i<=59&&r<=59||23==n&&59==i&&60==r)&&(!t||a)}e.exports=f,f.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p},f.full={date:m,time:_,"date-time":function(e){var t=e.split(y);return 2==t.length&&m(t[0])&&_(t[1],!0)},uri:function(e){return v.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&a.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p};var y=/t|\s/i;var v=/\/|:/;var b=/[^\\]\\Z/;function E(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,o){"use strict";var n=o(370),i=o(149).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(o){o.rules=o.rules.map((function(o){var i;if("object"==typeof o){var r=Object.keys(o)[0];i=o[r],o=r,i.forEach((function(o){t.push(o),e.all[o]=!0}))}return t.push(o),e.all[o]={keyword:o,code:n[o],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},o.type&&(e.types[o.type]=o)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,o){"use strict";e.exports={$ref:o(371),allOf:o(372),anyOf:o(373),$comment:o(374),const:o(375),contains:o(376),dependencies:o(377),enum:o(378),format:o(379),if:o(380),items:o(381),maximum:o(292),minimum:o(292),maxItems:o(293),minItems:o(293),maxLength:o(294),minLength:o(294),maxProperties:o(295),minProperties:o(295),multipleOf:o(382),not:o(383),oneOf:o(384),pattern:o(385),properties:o(386),propertyNames:o(387),required:o(388),uniqueItems:o(389),validate:o(291)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(a||""),d="valid"+s;if("#"==l||"#/"==l)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var g=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===g){var p=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(p),(y=y||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ";var f=r;r=y.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,p);e.logger.warn(p),c&&(r+=" if (true) { ")}}else if(g.inline){var m=e.util.copy(e);m.level++;var _="valid"+m.level;m.schema=g.schema,m.schemaPath="",m.errSchemaPath=l,r+=" "+e.validate(m).replace(/validate\.schema/g,g.code)+" ",c&&(r+=" if ("+_+") { ")}else n=!0===g.$async||e.async&&!1!==g.$async,i=g.code}if(i){var y;(y=y||[]).push(r),r="",e.opts.passContext?r+=" "+i+".call(this, ":r+=" "+i+"( ",r+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var v=r+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData)  ";if(r=y.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(r+=" var "+d+"; "),r+=" try { await "+v+"; ",c&&(r+=" "+d+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(r+=" "+d+" = false; "),r+=" } ",c&&(r+=" if ("+d+") { ")}else r+=" if (!"+v+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(r+=" else { ")}return r}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,g=i;if(g)for(var p,f=-1,m=g.length-1;f<m;)p=g[f+=1],(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0:e.util.schemaHasRules(p,e.RULES.all))&&(d=!1,l.schema=p,l.schemaPath=r+"["+f+"]",l.errSchemaPath=s+"/"+f,n+="  "+e.validate(l)+" ",l.baseId=h,a&&(n+=" if ("+c+") { ",u+="}"));return a&&(n+=d?" if (true) { ":" "+u.slice(0,-1)+" "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var m=g.baseId;n+=" var "+d+" = errors; var "+h+" = false;  ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var y=s;if(y)for(var v,b=-1,E=y.length-1;b<E;)v=y[b+=1],g.schema=v,g.schemaPath=a+"["+b+"]",g.errSchemaPath=l+"/"+b,n+="  "+e.validate(g)+" ",g.baseId=m,n+=" "+h+" = "+h+" || "+f+"; if (!"+h+") { ",p+="}";e.compositeRule=g.compositeRule=_,n+=" "+p+" if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else {  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.errSchemaPath+"/"+t,s=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?n+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+s+", "+e.util.toQuotedString(r)+", validate.root.schema);"),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; "),d||(n+=" var schema"+i+" = validate.schema"+a+";"),n+="var "+h+" = equal("+c+", schema"+i+"); if (!"+h+") {   ";var g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var p=n;return n=g.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+p+"]); ":n+=" validate.errors = ["+p+"]; return false; ":n+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f="i"+i,m=g.dataLevel=e.dataLevel+1,_="data"+m,y=e.baseId,v=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+d+" = errors;var "+h+";",v){var b=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+p+" = false; for (var "+f+" = 0; "+f+" < "+c+".length; "+f+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var E=c+"["+f+"]";g.dataPathArr[m]=f;var C=e.validate(g);g.baseId=y,e.util.varOccurences(C,_)<2?n+=" "+e.util.varReplace(C,_,E)+" ":n+=" var "+_+" = "+E+"; "+C+" ",n+=" if ("+p+") break; }  ",e.compositeRule=g.compositeRule=b,n+="  if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var S=S||[];S.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;return n=S.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",v&&(n+="  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f={},m={},_=e.opts.ownProperties;for(E in s){var y=s[E],v=Array.isArray(y)?m:f;v[E]=y}n+="var "+h+" = errors;";var b=e.errorPath;for(var E in n+="var missing"+i+";",m)if((v=m[E]).length){if(n+=" if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),u){n+=" && ( ";var C=v;if(C)for(var S=-1,T=C.length-1;S<T;){N=C[S+=1],S&&(n+=" || "),n+=" ( ( "+(P=c+(A=e.util.getProperty(N)))+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(N)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?N:A)+") ) "}n+=")) {  ";var w="missing"+i,k="' + "+w+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,w,!0):b+" + "+w);var O=O||[];O.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+k+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==v.length?n+="property "+e.util.escapeQuotes(v[0]):n+="properties "+e.util.escapeQuotes(v.join(", ")),n+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var R=n;n=O.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+R+"]); ":n+=" validate.errors = ["+R+"]; return false; ":n+=" var err = "+R+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{n+=" ) { ";var L=v;if(L)for(var N,I=-1,D=L.length-1;I<D;){N=L[I+=1];var A=e.util.getProperty(N),P=(k=e.util.escapeQuotes(N),c+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,N,e.opts.jsonPointers)),n+=" if ( "+P+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(N)+"') "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+k+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==v.length?n+="property "+e.util.escapeQuotes(v[0]):n+="properties "+e.util.escapeQuotes(v.join(", ")),n+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}n+=" }   ",u&&(g+="}",n+=" else { ")}e.errorPath=b;var x=d.baseId;for(var E in f){y=f[E];(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0:e.util.schemaHasRules(y,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),n+=") { ",d.schema=y,d.schemaPath=a+e.util.getProperty(E),d.errSchemaPath=l+"/"+e.util.escapeFragment(E),n+="  "+e.validate(d)+" ",d.baseId=x,n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}"))}return u&&(n+="   "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="i"+i,p="schema"+i;d||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+h+";",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=h+" = false;for (var "+g+"=0; "+g+"<"+p+".length; "+g+"++) if (equal("+c+", "+p+"["+g+"])) { "+h+" = true; break; }",d&&(n+="  }  "),n+=" if (!"+h+") {   ";var f=f||[];f.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;return n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||"");if(!1===e.opts.format)return u&&(n+=" if (true) { "),n;var h,d=e.opts.$data&&s&&s.$data;d?(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ",h="schema"+i):h=s;var g=e.opts.unknownFormats,p=Array.isArray(g);if(d){n+=" var "+(f="format"+i)+" = formats["+h+"]; var "+(m="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(_="formatType"+i)+" = "+m+" && "+f+".type || 'string'; if ("+m+") { ",e.async&&(n+=" var async"+i+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if (  ",d&&(n+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),n+=" (","ignore"!=g&&(n+=" ("+h+" && !"+f+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),n+=") || "),n+=" ("+f+" && "+_+" == '"+o+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+f+"("+c+") : "+f+"("+c+")) ":n+=" "+f+"("+c+") ",n+=" : "+f+".test("+c+"))))) {"}else{var f;if(!(f=e.formats[s])){if("ignore"==g)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(n+=" if (true) { "),n;if(p&&g.indexOf(s)>=0)return u&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,_=(m="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(m){var y=!0===f.async;f=f.validate}if(_!=o)return u&&(n+=" if (true) { "),n;if(y){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(v="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var v="formats"+e.util.getProperty(s);m&&(v+=".validate"),n+="function"==typeof f?" "+v+"("+c+") ":" "+v+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format:  ",n+=d?""+h:""+e.util.toQuotedString(s),n+="  } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=d?"' + "+h+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema:  ",n+=d?"validate.schema"+a:""+e.util.toQuotedString(s),n+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=b.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f=e.schema.then,m=e.schema.else,_=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=g.baseId;if(_||y){var b;g.createErrors=!1,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+d+" = errors; var "+h+" = true;  ";var E=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+="  "+e.validate(g)+" ",g.baseId=v,g.createErrors=!0,n+="  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }  ",e.compositeRule=g.compositeRule=E,_?(n+=" if ("+p+") {  ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+="  "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",y&&(n+=" else { ")):n+=" if (!"+p+") { ",y&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+="  "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" }   ",u&&(n+=" else { "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m="i"+i,_=g.dataLevel=e.dataLevel+1,y="data"+_,v=e.baseId;if(n+="var "+d+" = errors;var "+h+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+h+" = "+c+".length <= "+s.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",n+="  if (!"+h+") {   ";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;n=C.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l=E,u&&(p+="}",n+=" else { ")}var T=s;if(T)for(var w,k=-1,O=T.length-1;k<O;)if(w=T[k+=1],e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all)){n+=" "+f+" = true; if ("+c+".length > "+k+") { ";var R=c+"["+k+"]";g.schema=w,g.schemaPath=a+"["+k+"]",g.errSchemaPath=l+"/"+k,g.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),g.dataPathArr[_]=k;var L=e.validate(g);g.baseId=v,e.util.varOccurences(L,y)<2?n+=" "+e.util.varReplace(L,y,R)+" ":n+=" var "+y+" = "+R+"; "+L+" ",n+=" }  ",u&&(n+=" if ("+f+") { ",p+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){g.schema=b,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+c+".length > "+s.length+") {  for (var "+m+" = "+s.length+"; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;L=e.validate(g);g.baseId=v,e.util.varOccurences(L,y)<2?n+=" "+e.util.varReplace(L,y,R)+" ":n+=" var "+y+" = "+R+"; "+L+" ",u&&(n+=" if (!"+f+") break; "),n+=" } }  ",u&&(n+=" if ("+f+") { ",p+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+="  for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;L=e.validate(g);g.baseId=v,e.util.varOccurences(L,y)<2?n+=" "+e.util.varReplace(L,y,R)+" ":n+=" var "+y+" = "+R+"; "+L+" ",u&&(n+=" if (!"+f+") break; "),n+=" }"}return u&&(n+=" "+p+" if ("+d+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="var division"+r+";if (",d&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+r+" = "+h+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+r+") - division"+r+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+r+" !== parseInt(division"+r+") ",i+=" ) ",d&&(i+="  )  "),i+=" ) {   ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l,n+=" var "+h+" = errors;  ";var p,f=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),n+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=f,n+=" if ("+g+") {   ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var _=n;n=m.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else {  errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+="  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m=g.baseId,_="prevValid"+i,y="passingSchemas"+i;n+="var "+d+" = errors , "+_+" = false , "+h+" = false , "+y+" = null; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=s;if(b)for(var E,C=-1,S=b.length-1;C<S;)E=b[C+=1],(e.opts.strictKeywords?"object"==typeof E&&Object.keys(E).length>0:e.util.schemaHasRules(E,e.RULES.all))?(g.schema=E,g.schemaPath=a+"["+C+"]",g.errSchemaPath=l+"/"+C,n+="  "+e.validate(g)+" ",g.baseId=m):n+=" var "+f+" = true; ",C&&(n+=" if ("+f+" && "+_+") { "+h+" = false; "+y+" = ["+y+", "+C+"]; } else { ",p+="}"),n+=" if ("+f+") { "+h+" = "+_+" = true; "+y+" = "+C+"; }";return e.compositeRule=g.compositeRule=v,n+=p+"if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else {  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(d?"(new RegExp("+n+"))":e.usePattern(a))+".test("+h+") ) {   ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern:  ",i+=d?""+n:""+e.util.toQuotedString(a),i+="  } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=d?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+e.util.toQuotedString(a),i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f="key"+i,m="idx"+i,_=d.dataLevel=e.dataLevel+1,y="data"+_,v="dataProperties"+i,b=Object.keys(s||{}),E=e.schema.patternProperties||{},C=Object.keys(E),S=e.schema.additionalProperties,T=b.length||C.length,w=!1===S,k="object"==typeof S&&Object.keys(S).length,O=e.opts.removeAdditional,R=w||k||O,L=e.opts.ownProperties,N=e.baseId,I=e.schema.required;if(I&&(!e.opts.$data||!I.$data)&&I.length<e.opts.loopRequired)var D=e.util.toHash(I);if(n+="var "+h+" = errors;var "+p+" = true;",L&&(n+=" var "+v+" = undefined;"),R){if(n+=L?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",T){if(n+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)n+=" || validate.schema"+a+".hasOwnProperty("+f+") ";else{var A=b;if(A)for(var P=-1,x=A.length-1;P<x;)X=A[P+=1],n+=" || "+f+" == "+e.util.toQuotedString(X)+" "}if(C.length){var M=C;if(M)for(var B=-1,F=M.length-1;B<F;)ie=M[B+=1],n+=" || "+e.usePattern(ie)+".test("+f+") "}n+=" ); if (isAdditional"+i+") { "}if("all"==O)n+=" delete "+c+"["+f+"]; ";else{var H=e.errorPath,U="' + "+f+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers)),w)if(O)n+=" delete "+c+"["+f+"]; ";else{n+=" "+p+" = false; ";var V=l;l=e.errSchemaPath+"/additionalProperties",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+U+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,u&&(n+=" break; ")}else if(k)if("failing"==O){n+=" var "+h+" = errors;  ";var j=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=S,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var G=c+"["+f+"]";d.dataPathArr[_]=f;var z=e.validate(d);d.baseId=N,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",n+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+f+"]; }  ",e.compositeRule=d.compositeRule=j}else{d.schema=S,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=N,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; ")}e.errorPath=H}T&&(n+=" } "),n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(b.length){var Y=b;if(Y)for(var X,q=-1,$=Y.length-1;q<$;){var J=s[X=Y[q+=1]];if(e.opts.strictKeywords?"object"==typeof J&&Object.keys(J).length>0:e.util.schemaHasRules(J,e.RULES.all)){var Z=e.util.getProperty(X),Q=(G=c+Z,K&&void 0!==J.default);d.schema=J,d.schemaPath=a+Z,d.errSchemaPath=l+"/"+e.util.escapeFragment(X),d.errorPath=e.util.getPath(e.errorPath,X,e.opts.jsonPointers),d.dataPathArr[_]=e.util.toQuotedString(X);z=e.validate(d);if(d.baseId=N,e.util.varOccurences(z,y)<2){z=e.util.varReplace(z,y,G);var ee=G}else{ee=y;n+=" var "+y+" = "+G+"; "}if(Q)n+=" "+z+" ";else{if(D&&D[X]){n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = false; ";H=e.errorPath,V=l;var te,oe=e.util.escapeQuotes(X);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,X,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+oe+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+oe+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,e.errorPath=H,n+=" } else { "}else u?(n+=" if ( "+ee+" === undefined ",L&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",L&&(n+=" &&   Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=" ) { ");n+=" "+z+" } "}}u&&(n+=" if ("+p+") { ",g+="}")}}if(C.length){var ne=C;if(ne)for(var ie,re=-1,se=ne.length-1;re<se;){J=E[ie=ne[re+=1]];if(e.opts.strictKeywords?"object"==typeof J&&Object.keys(J).length>0:e.util.schemaHasRules(J,e.RULES.all)){d.schema=J,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=L?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+f+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=N,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; "),n+=" } ",u&&(n+=" else "+p+" = true; "),n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}")}}}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(n+="var "+h+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l;var p="key"+i,f="idx"+i,m="i"+i,_="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),v="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(n+=" var "+v+" = undefined; "),n+=b?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+v+".length; "+f+"++) { var "+p+" = "+v+"["+f+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var C=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var T=e.validate(d);d.baseId=E,e.util.varOccurences(T,y)<2?n+=" "+e.util.varReplace(T,y,C)+" ":n+=" var "+y+" = "+C+"; "+T+" ",e.compositeRule=d.compositeRule=S,n+=" if (!"+g+") { for (var "+m+"=startErrs"+i+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+p+"; }   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+_+"' } ",!1!==e.opts.messages&&(n+=" , message: 'property name \\'"+_+"\\' is invalid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),u&&(n+=" break; "),n+=" } }"}return u&&(n+="  if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="schema"+i;if(!d)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],f=s;if(f)for(var m,_=-1,y=f.length-1;_<y;){m=f[_+=1];var v=e.schema.properties[m];v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))||(p[p.length]=m)}}else p=s;if(d||p.length){var b=e.errorPath,E=d||p.length>=e.opts.loopRequired,C=e.opts.ownProperties;if(u)if(n+=" var missing"+i+"; ",E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var S="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),n+=" var "+h+" = true; ",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { "+h+" = "+c+"["+g+"["+k+"]] !== undefined ",C&&(n+=" &&   Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+="; if (!"+h+") break; } ",d&&(n+="  }  "),n+="  if (!"+h+") {   ",(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var w=p;if(w)for(var k=-1,O=w.length-1;k<O;){I=w[k+=1],k&&(n+=" || "),n+=" ( ( "+(x=c+(P=e.util.getProperty(I)))+" === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?I:P)+") ) "}n+=") {  ";var R;S="' + "+(L="missing"+i)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,L,!0):b+" + "+L),(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var L;S="' + "+(L="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,L,e.opts.jsonPointers)),d&&(n+=" if ("+g+" && !Array.isArray("+g+")) {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+g+" !== undefined) { "),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { if ("+c+"["+g+"["+k+"]] === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(n+="  }  ")}else{var N=p;if(N)for(var I,D=-1,A=N.length-1;D<A;){I=N[D+=1];var P=e.util.getProperty(I),x=(S=e.util.escapeQuotes(I),c+P);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,I,e.opts.jsonPointers)),n+=" if ( "+x+" === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else u&&(n+=" if (true) {");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d="valid"+r,g=e.opts.$data&&a&&a.$data;if(g?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,(a||g)&&!1!==e.opts.uniqueItems){g&&(i+=" var "+d+"; if ("+n+" === false || "+n+" === undefined) "+d+" = true; else if (typeof "+n+" != 'boolean') "+d+" = false; else { "),i+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,f=Array.isArray(p);if(!p||"object"==p||"array"==p||f&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var m="checkDataType"+(f?"s":"");i+=" if ("+e.util[m](p,"item",!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",g&&(i+="  }  "),i+=" if (!"+d+") {   ";var _=_||[];_.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema:  ",i+=g?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;i=_.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},function(e,t,o){"use strict";var n=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var o=0;o<t.length;o++){e=JSON.parse(JSON.stringify(e));var i,r=t[o].split("/"),s=e;for(i=1;i<r.length;i++)s=s[r[i]];for(i=0;i<n.length;i++){var a=n[i],l=s[a];l&&(s[a]={anyOf:[l,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},function(e,t,o){"use strict";var n=o(220).MissingRef;e.exports=function e(t,o,i){var r=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof o&&(i=o,o=void 0);var s=a(t).then((function(){var e=r._addSchema(t,void 0,o);return e.validate||function e(t){try{return r._compile(t)}catch(i){if(i instanceof n)return function(n){var i=n.missingSchema;if(u(i))throw new Error("Schema "+i+" is loaded but "+n.missingRef+" cannot be resolved");var s=r._loadingSchemas[i];s||(s=r._loadingSchemas[i]=r._opts.loadSchema(i)).then(l,l);return s.then((function(e){if(!u(i))return a(e).then((function(){u(i)||r.addSchema(e,i,void 0,o)}))})).then((function(){return e(t)}));function l(){delete r._loadingSchemas[i]}function u(e){return r._refs[e]||r._schemas[e]}}(i);throw i}}(e)}));i&&s.then((function(e){i(null,e)}),i);return s;function a(t){var o=t.$schema;return o&&!r.getSchema(o)?e.call(r,{$ref:o},!0):Promise.resolve()}}},function(e,t,o){"use strict";var n=/^[a-z_$][a-z0-9_$-]*$/i,i=o(393),r=o(394);e.exports={add:function(e,t){var o=this.RULES;if(o.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!n.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var r=t.type;if(Array.isArray(r))for(var s=0;s<r.length;s++)l(e,r[s],t);else l(e,r,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function l(e,t,n){for(var r,s=0;s<o.length;s++){var a=o[s];if(a.type==t){r=a;break}}r||(r={type:t,rules:[]},o.push(r));var l={keyword:e,definition:n,custom:!0,code:i,implements:n.implements};r.rules.push(l),o.custom[e]=l}return o.keywords[e]=o.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var o=0;o<t.length;o++)for(var n=t[o].rules,i=0;i<n.length;i++)if(n[i].keyword==e){n.splice(i,1);break}return this},validate:function e(t,o){e.errors=null;var n=this._validateKeyword=this._validateKeyword||this.compile(r,!0);if(n(t))return!0;e.errors=n.errors;if(o)throw new Error("custom keyword definition is invalid: "+this.errorsText(n.errors));return!1}}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(a||""),g="valid"+s,p="errs__"+s,f=e.opts.$data&&l&&l.$data;f?(r+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",i="schema"+s):i=l;var m,_,y,v,b,E="definition"+s,C=this.definition,S="";if(f&&C.$data){b="keywordValidate"+s;var T=C.validateSchema;r+=" var "+E+" = RULES.custom['"+t+"'].definition; var "+b+" = "+E+".validate;"}else{if(!(v=e.useCustomRule(this,l,e.schema,e)))return;i="validate.schema"+u,b=v.code,m=C.compile,_=C.inline,y=C.macro}var w=b+".errors",k="i"+s,O="ruleErr"+s,R=C.async;if(R&&!e.async)throw new Error("async keyword in sync schema");if(_||y||(r+=w+" = null;"),r+="var "+p+" = errors;var "+g+";",f&&C.$data&&(S+="}",r+=" if ("+i+" === undefined) { "+g+" = true; } else { ",T&&(S+="}",r+=" "+g+" = "+E+".validateSchema("+i+"); if ("+g+") { ")),_)C.statements?r+=" "+v.validate+" ":r+=" "+g+" = "+v.validate+"; ";else if(y){var L=e.util.copy(e);S="";L.level++;var N="valid"+L.level;L.schema=v.validate,L.schemaPath="";var I=e.compositeRule;e.compositeRule=L.compositeRule=!0;var D=e.validate(L).replace(/validate\.schema/g,b);e.compositeRule=L.compositeRule=I,r+=" "+D}else{(M=M||[]).push(r),r="",r+="  "+b+".call( ",e.opts.passContext?r+="this":r+="self",m||!1===C.schema?r+=" , "+d+" ":r+=" , "+i+" , "+d+" , validate.schema"+e.schemaPath+" ",r+=" , (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var A=a?"data"+(a-1||""):"parentData",P=a?e.dataPathArr[a]:"parentDataProperty",x=r+=" , "+A+" , "+P+" , rootData )  ";r=M.pop(),!1===C.errors?(r+=" "+g+" = ",R&&(r+="await "),r+=x+"; "):r+=R?" var "+(w="customErrors"+s)+" = null; try { "+g+" = await "+x+"; } catch (e) { "+g+" = false; if (e instanceof ValidationError) "+w+" = e.errors; else throw e; } ":" "+w+" = null; "+g+" = "+x+"; "}if(C.modifying&&(r+=" if ("+A+") "+d+" = "+A+"["+P+"];"),r+=""+S,C.valid)h&&(r+=" if (true) { ");else{var M;r+=" if ( ",void 0===C.valid?(r+=" !",r+=y?""+N:""+g):r+=" "+!C.valid+" ",r+=") { ",n=this.keyword,(M=M||[]).push(r),r="",(M=M||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(r+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ";var B=r;r=M.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+B+"]); ":r+=" validate.errors = ["+B+"]; return false; ":r+=" var err = "+B+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var F=r;r=M.pop(),_?C.errors?"full"!=C.errors&&(r+="  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } "):!1===C.errors?r+=" "+F+" ":(r+=" if ("+p+" == errors) { "+F+" } else {  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } } "):y?(r+="   var err =   ",!1!==e.createErrors?(r+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(r+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",r+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; ")):!1===C.errors?r+=" "+F+" ":(r+=" if (Array.isArray("+w+")) { if (vErrors === null) vErrors = "+w+"; else vErrors = vErrors.concat("+w+"); errors = vErrors.length;  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+";  "+O+'.schemaPath = "'+c+'";  ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } } else { "+F+" } "),r+=" } ",h&&(r+=" else { ")}return r}},function(e,t,o){"use strict";var n=o(296);e.exports={$id:"https://github.com/epoberezkin/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:n.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:n.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},function(e,t,o){var n=o(297),i=o(415),r=n((function(e,t,o){return e+(o?" ":"")+i(t)}));e.exports=r},function(e,t){e.exports=function(e,t,o,n){var i=-1,r=null==e?0:e.length;for(n&&r&&(o=e[++i]);++i<r;)o=t(o,e[i],i,e);return o}},function(e,t,o){var n=o(399),i=o(221),r=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,s=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.exports=function(e){return(e=i(e))&&e.replace(r,n).replace(s,"")}},function(e,t,o){var n=o(400)({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});e.exports=n},function(e,t){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},function(e,t,o){var n=o(222),i=o(404),r=o(405),s=o(406),a=1/0,l=n?n.prototype:void 0,u=l?l.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(r(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var o=t+"";return"0"==o&&1/t==-a?"-0":o}},function(e,t,o){var n=o(403),i="object"==typeof self&&self&&self.Object===Object&&self,r=n||i||Function("return this")();e.exports=r},function(e,t,o){(function(t){var o="object"==typeof t&&t&&t.Object===Object&&t;e.exports=o}).call(this,o(80))},function(e,t){e.exports=function(e,t){for(var o=-1,n=null==e?0:e.length,i=Array(n);++o<n;)i[o]=t(e[o],o,e);return i}},function(e,t){var o=Array.isArray;e.exports=o},function(e,t,o){var n=o(407),i=o(410),r="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||i(e)&&n(e)==r}},function(e,t,o){var n=o(222),i=o(408),r=o(409),s="[object Null]",a="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:s:l&&l in Object(e)?i(e):r(e)}},function(e,t,o){var n=o(222),i=Object.prototype,r=i.hasOwnProperty,s=i.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=r.call(e,a),o=e[a];try{e[a]=void 0;var n=!0}catch(e){}var i=s.call(e);return n&&(t?e[a]=o:delete e[a]),i}},function(e,t){var o=Object.prototype.toString;e.exports=function(e){return o.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,o){var n=o(412),i=o(413),r=o(221),s=o(414);e.exports=function(e,t,o){return e=r(e),void 0===(t=o?void 0:t)?i(e)?s(e):n(e):e.match(t)||[]}},function(e,t){var o=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(o)||[]}},function(e,t){var o=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return o.test(e)}},function(e,t){var o="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",n="["+o+"]",i="\\d+",r="[\\u2700-\\u27bf]",s="[a-z\\xdf-\\xf6\\xf8-\\xff]",a="[^\\ud800-\\udfff"+o+i+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",c="[A-Z\\xc0-\\xd6\\xd8-\\xde]",h="(?:"+s+"|"+a+")",d="(?:"+c+"|"+a+")",g="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",p="[\\ufe0e\\ufe0f]?"+g+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",l,u].join("|")+")[\\ufe0e\\ufe0f]?"+g+")*"),f="(?:"+[r,l,u].join("|")+")"+p,m=RegExp([c+"?"+s+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[n,c,"$"].join("|")+")",d+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[n,c+h,"$"].join("|")+")",c+"?"+h+"+(?:['’](?:d|ll|m|re|s|t|ve))?",c+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",i,f].join("|"),"g");e.exports=function(e){return e.match(m)||[]}},function(e,t,o){var n=o(416)("toUpperCase");e.exports=n},function(e,t,o){var n=o(417),i=o(298),r=o(419),s=o(221);e.exports=function(e){return function(t){t=s(t);var o=i(t)?r(t):void 0,a=o?o[0]:t.charAt(0),l=o?n(o,1).join(""):t.slice(1);return a[e]()+l}}},function(e,t,o){var n=o(418);e.exports=function(e,t,o){var i=e.length;return o=void 0===o?i:o,!t&&o>=i?e:n(e,t,o)}},function(e,t){e.exports=function(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(o=o>i?i:o)<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(i);++n<i;)r[n]=e[n+t];return r}},function(e,t,o){var n=o(420),i=o(298),r=o(421);e.exports=function(e){return i(e)?r(e):n(e)}},function(e,t){e.exports=function(e){return e.split("")}},function(e,t){var o="[\\ud800-\\udfff]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",r="[^\\ud800-\\udfff]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",l="(?:"+n+"|"+i+")"+"?",u="[\\ufe0e\\ufe0f]?"+l+("(?:\\u200d(?:"+[r,s,a].join("|")+")[\\ufe0e\\ufe0f]?"+l+")*"),c="(?:"+[r+n+"?",n,s,a,o].join("|")+")",h=RegExp(i+"(?="+i+")|"+c+u,"g");e.exports=function(e){return e.match(h)||[]}},function(e,t,o){var n=o(297)((function(e,t,o){return e+(o?"_":"")+t.toLowerCase()}));e.exports=n},function(e,t,o){"use strict";var n=o(187);o.n(n).a},function(e,t,o){"use strict";var n=o(188);o.n(n).a},function(e,t,o){"use strict";var n=o(189);o.n(n).a},function(e,t,o){"use strict";var n=o(190);o.n(n).a},function(e,t,o){"use strict";var n=o(191);o.n(n).a},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(488),o(494),o(241),o(495),o(552);var n=o(300);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";o(137);var n,i,r,s,a,l=monaco.Emitter,u=function(){function e(e,t){this._onDidChange=new l,this._extraLibs=Object.create(null),this._workerMaxIdleTime=12e4,this.setCompilerOptions(e),this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.getExtraLibs=function(){var e=Object.create(null);for(var t in this._extraLibs)e[t]=this._extraLibs[t];return Object.freeze(e)},e.prototype.addExtraLib=function(e,t){var o=this;if(void 0===t&&(t="ts:extralib-"+Date.now()),this._extraLibs[t])throw new Error(t+" already a extra lib");return this._extraLibs[t]=e,this._onDidChange.fire(this),{dispose:function(){delete o._extraLibs[t]&&o._onDidChange.fire(o)}}},e.prototype.getCompilerOptions=function(){return this._compilerOptions},e.prototype.setCompilerOptions=function(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(this)},e.prototype.getDiagnosticsOptions=function(){return this._diagnosticsOptions},e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e.prototype.setMaximumWorkerIdleTime=function(e){this._workerMaxIdleTime=e},e.prototype.getWorkerMaxIdleTime=function(){return this._workerMaxIdleTime},e.prototype.setEagerModelSync=function(e){this._eagerModelSync=e},e.prototype.getEagerModelSync=function(){return this._eagerModelSync},e}();!function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=6]="ESNext"}(n||(n={})),function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative"}(i||(i={})),function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"}(r||(r={})),function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ESNext=6]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=6]="Latest"}(s||(s={})),function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"}(a||(a={}));var c=new u({allowNonTsExtensions:!0,target:s.Latest},{noSemanticValidation:!1,noSyntaxValidation:!1}),h=new u({allowNonTsExtensions:!0,allowJs:!0,target:s.Latest},{noSemanticValidation:!0,noSyntaxValidation:!1});function d(){return p().then((function(e){return e.getTypeScriptWorker()}))}function g(){return p().then((function(e){return e.getJavaScriptWorker()}))}function p(){return monaco.Promise.wrap(o.e(53).then(o.bind(null,556)))}monaco.languages.typescript={ModuleKind:n,JsxEmit:i,NewLineKind:r,ScriptTarget:s,ModuleResolutionKind:a,typescriptDefaults:c,javascriptDefaults:h,getTypeScriptWorker:d,getJavaScriptWorker:g},monaco.languages.onLanguage("typescript",(function(){return p().then((function(e){return e.setupTypeScript(c)}))})),monaco.languages.onLanguage("javascript",(function(){return p().then((function(e){return e.setupJavaScript(h)}))}))},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){"use strict";o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"diagnosticsOptions",{get:function(){return this._diagnosticsOptions},enumerable:!0,configurable:!0}),e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e}(),r={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"}},s=new i("css",r),a=new i("scss",r),l=new i("less",r);function u(){return monaco.Promise.wrap(o.e(50).then(o.bind(null,555)))}monaco.languages.css={cssDefaults:s,lessDefaults:l,scssDefaults:a},monaco.languages.onLanguage("less",(function(){u().then((function(e){return e.setupMode(l)}))})),monaco.languages.onLanguage("scss",(function(){u().then((function(e){return e.setupMode(a)}))})),monaco.languages.onLanguage("css",(function(){u().then((function(e){return e.setupMode(s)}))}))},function(e,t,o){"use strict";o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.setOptions=function(e){this._options=e||Object.create(null),this._onDidChange.fire(this)},e}(),r={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:null,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},s={format:r,suggest:{html5:!0}},a={format:r,suggest:{html5:!0,razor:!0}},l=new i("html",{format:r,suggest:{html5:!0,angular1:!0,ionic:!0}}),u=new i("handlebars",s),c=new i("razor",a);function h(){return monaco.Promise.wrap(o.e(51).then(o.bind(null,554)))}monaco.languages.html={htmlDefaults:l,razorDefaults:c,handlebarDefaults:u},monaco.languages.onLanguage("html",(function(){h().then((function(e){return e.setupMode(l)}))})),monaco.languages.onLanguage("handlebars",(function(){h().then((function(e){return e.setupMode(u)}))})),monaco.languages.onLanguage("razor",(function(){h().then((function(e){return e.setupMode(c)}))}))},function(e,t,o){"use strict";o(72),o(140),o(264),o(263),o(224),o(259),o(238),o(225),o(254),o(172),o(252),o(226),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(247),o(262),o(250),o(261),o(233),o(251),o(249),o(235),o(260),o(255),o(139),o(246),o(153),o(239),o(130),o(240)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,i=o(170),r=o(169);!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),e.is=function(t){var o=t;return o&&(o===e.None||o===e.Cancelled||r.boolean(o.isCancellationRequested)&&!!o.onCancellationRequested)}}(n=t.CancellationToken||(t.CancellationToken={}));var s=Object.freeze((function(e,t){var o=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(o)}}})),a=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?s:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),l=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new a),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=n.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=l},function(e,t,o){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.None=0,e.First=1,e.Last=2}(n=t.Touch||(t.Touch={}));var i=function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},e.prototype.isEmpty=function(){return!this._head&&!this._tail},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.get=function(e){var t=this._map.get(e);if(t)return t.value},e.prototype.set=function(e,t,o){void 0===o&&(o=n.None);var i=this._map.get(e);if(i)i.value=t,o!==n.None&&this.touch(i,o);else{switch(i={key:e,value:t,next:void 0,previous:void 0},o){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}},e.prototype.delete=function(e){var t=this._map.get(e);return!!t&&(this._map.delete(e),this.removeItem(t),this._size--,!0)},e.prototype.shift=function(){if(this._head||this._tail){if(!this._head||!this._tail)throw new Error("Invalid list");var e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}},e.prototype.forEach=function(e,t){for(var o=this._head;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next},e.prototype.forEachReverse=function(e,t){for(var o=this._tail;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.previous},e.prototype.values=function(){for(var e=[],t=this._head;t;)e.push(t.value),t=t.next;return e},e.prototype.keys=function(){for(var e=[],t=this._head;t;)e.push(t.key),t=t.next;return e},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{var t=e.next,o=e.previous;if(!t||!o)throw new Error("Invalid list");t.previous=o,o.next=t}},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;var o=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(o.previous=i,i.next=o),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===n.Last){if(e===this._tail)return;o=e.next,i=e.previous;e===this._head?(o.previous=void 0,this._head=o):(o.previous=i,i.next=o),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e}();t.LinkedMap=i},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var n=o(302),i=o(303),r=o(150),s=o(150),a=o(183),l=o(184);t.generateRandomPipeName=function(){var t=r.randomBytes(21).toString("hex");return"win32"===e.platform?"\\\\.\\pipe\\vscode-jsonrpc-"+t+"-sock":n.join(i.tmpdir(),"vscode-"+t+".sock")},t.createClientPipeTransport=function(e,t){var o;void 0===t&&(t="utf-8");var n=new Promise((function(e,t){o=e}));return new Promise((function(i,r){var u=s.createServer((function(e){u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])}));u.on("error",r),u.listen(e,(function(){u.removeListener("error",r),i({onConnected:function(){return n}})}))}))},t.createServerPipeTransport=function(e,t){void 0===t&&(t="utf-8");var o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(150),i=o(183),r=o(184);t.createClientSocketTransport=function(e,t){var o;void 0===t&&(t="utf-8");var s=new Promise((function(e,t){o=e}));return new Promise((function(a,l){var u=n.createServer((function(e){u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])}));u.on("error",l),u.listen(e,"127.0.0.1",(function(){u.removeListener("error",l),a({onConnected:function(){return s}})}))}))},t.createServerSocketTransport=function(e,t){void 0===t&&(t="utf-8");var o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(170);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(242),i=o(305),r=o(306);t.createWebSocketConnection=function(e,t){var o=new i.WebSocketMessageReader(e),s=new r.WebSocketMessageWriter(e),a=n.createMessageConnection(o,s,t);return a.onClose((function(){return a.dispose()})),a}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(304),i=o(307);function r(e){return{send:function(t){return e.send(t)},onMessage:function(t){return e.onmessage=function(e){return t(e.data)}},onError:function(t){return e.onerror=function(e){"message"in e&&t(e.message)}},onClose:function(t){return e.onclose=function(e){return t(e.code,e.reason)}},dispose:function(){return e.close()}}}t.listen=function(e){var t=e.webSocket,o=e.onConnection,s=e.logger||new i.ConsoleLogger;t.onopen=function(){var e=r(t),i=n.createWebSocketConnection(e,s);o(i)}},t.toSocket=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(171);var i;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(i=t.ErrorCodes||(t.ErrorCodes={}));class r extends Error{constructor(e,t,o){super(t),this.code=n.number(e)?e:i.UnknownErrorCode,this.data=o,Object.setPrototypeOf(this,r.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=r;class s{constructor(e,t){this._method=e,this._numberOfParams=t}get method(){return this._method}get numberOfParams(){return this._numberOfParams}}t.AbstractMessageType=s;t.RequestType0=class extends s{constructor(e){super(e,0),this._=void 0}};t.RequestType=class extends s{constructor(e){super(e,1),this._=void 0}};t.RequestType1=class extends s{constructor(e){super(e,1),this._=void 0}};t.RequestType2=class extends s{constructor(e){super(e,2),this._=void 0}};t.RequestType3=class extends s{constructor(e){super(e,3),this._=void 0}};t.RequestType4=class extends s{constructor(e){super(e,4),this._=void 0}};t.RequestType5=class extends s{constructor(e){super(e,5),this._=void 0}};t.RequestType6=class extends s{constructor(e){super(e,6),this._=void 0}};t.RequestType7=class extends s{constructor(e){super(e,7),this._=void 0}};t.RequestType8=class extends s{constructor(e){super(e,8),this._=void 0}};t.RequestType9=class extends s{constructor(e){super(e,9),this._=void 0}};t.NotificationType=class extends s{constructor(e){super(e,1),this._=void 0}};t.NotificationType0=class extends s{constructor(e){super(e,0),this._=void 0}};t.NotificationType1=class extends s{constructor(e){super(e,1),this._=void 0}};t.NotificationType2=class extends s{constructor(e){super(e,2),this._=void 0}};t.NotificationType3=class extends s{constructor(e){super(e,3),this._=void 0}};t.NotificationType4=class extends s{constructor(e){super(e,4),this._=void 0}};t.NotificationType5=class extends s{constructor(e){super(e,5),this._=void 0}};t.NotificationType6=class extends s{constructor(e){super(e,6),this._=void 0}};t.NotificationType7=class extends s{constructor(e){super(e,7),this._=void 0}};t.NotificationType8=class extends s{constructor(e){super(e,8),this._=void 0}};t.NotificationType9=class extends s{constructor(e){super(e,9),this._=void 0}},t.isRequestMessage=function(e){let t=e;return t&&n.string(t.method)&&(n.string(t.id)||n.number(t.id))},t.isNotificationMessage=function(e){let t=e;return t&&n.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){let t=e;return t&&(void 0!==t.result||!!t.error)&&(n.string(t.id)||n.number(t.id)||null===t.id)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);var r;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None}),e.is=function(t){let o=t;return o&&(o===e.None||o===e.Cancelled||i.boolean(o.isCancellationRequested)&&!!o.onCancellationRequested)}}(r=t.CancellationToken||(t.CancellationToken={}));const s=Object.freeze((function(e,t){let o=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(o)}}}));class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this.cancel()}}},function(e,t,o){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.None=0,e.First=1,e.Last=2}(n=t.Touch||(t.Touch={}));t.LinkedMap=class{constructor(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}has(e){return this._map.has(e)}get(e){const t=this._map.get(e);if(t)return t.value}set(e,t,o=n.None){let i=this._map.get(e);if(i)i.value=t,o!==n.None&&this.touch(i,o);else{switch(i={key:e,value:t,next:void 0,previous:void 0},o){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}}delete(e){const t=this._map.get(e);return!!t&&(this._map.delete(e),this.removeItem(t),this._size--,!0)}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let o=this._head;for(;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next}forEachReverse(e,t){let o=this._tail;for(;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.previous}values(){let e=[],t=this._head;for(;t;)e.push(t.value),t=t.next;return e}keys(){let e=[],t=this._head;for(;t;)e.push(t.key),t=t.next;return e}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{const t=e.next,o=e.previous;if(!t||!o)throw new Error("Invalid list");t.previous=o,o.next=t}}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,o=e.previous;e===this._tail?(o.next=void 0,this._tail=o):(t.previous=o,o.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===n.Last){if(e===this._tail)return;const t=e.next,o=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=o,o.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}}}},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(302),i=o(303),r=o(150),s=o(150),a=o(243),l=o(244);t.generateRandomPipeName=function(){const t=r.randomBytes(21).toString("hex");return"win32"===e.platform?`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`:n.join(i.tmpdir(),`vscode-${t}.sock`)},t.createClientPipeTransport=function(e,t="utf-8"){let o,n=new Promise((e,t)=>{o=e});return new Promise((i,r)=>{let u=s.createServer(e=>{u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])});u.on("error",r),u.listen(e,()=>{u.removeListener("error",r),i({onConnected:()=>n})})})},t.createServerPipeTransport=function(e,t="utf-8"){const o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(150),i=o(243),r=o(244);t.createClientSocketTransport=function(e,t="utf-8"){let o,s=new Promise((e,t)=>{o=e});return new Promise((a,l)=>{let u=n.createServer(e=>{u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])});u.on("error",l),u.listen(e,"127.0.0.1",()=>{u.removeListener("error",l),a({onConnected:()=>s})})})},t.createServerSocketTransport=function(e,t="utf-8"){const o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";var n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E;o.r(t),o.d(t,"Position",(function(){return n})),o.d(t,"Range",(function(){return i})),o.d(t,"Location",(function(){return r})),o.d(t,"LocationLink",(function(){return s})),o.d(t,"Color",(function(){return a})),o.d(t,"ColorInformation",(function(){return l})),o.d(t,"ColorPresentation",(function(){return u})),o.d(t,"FoldingRangeKind",(function(){return c})),o.d(t,"FoldingRange",(function(){return h})),o.d(t,"DiagnosticRelatedInformation",(function(){return d})),o.d(t,"DiagnosticSeverity",(function(){return g})),o.d(t,"Diagnostic",(function(){return p})),o.d(t,"Command",(function(){return f})),o.d(t,"TextEdit",(function(){return m})),o.d(t,"TextDocumentEdit",(function(){return _})),o.d(t,"CreateFile",(function(){return y})),o.d(t,"RenameFile",(function(){return v})),o.d(t,"DeleteFile",(function(){return b})),o.d(t,"WorkspaceEdit",(function(){return E})),o.d(t,"WorkspaceChange",(function(){return U})),o.d(t,"TextDocumentIdentifier",(function(){return C})),o.d(t,"VersionedTextDocumentIdentifier",(function(){return S})),o.d(t,"TextDocumentItem",(function(){return T})),o.d(t,"MarkupKind",(function(){return w})),o.d(t,"MarkupContent",(function(){return k})),o.d(t,"CompletionItemKind",(function(){return O})),o.d(t,"InsertTextFormat",(function(){return R})),o.d(t,"CompletionItem",(function(){return L})),o.d(t,"CompletionList",(function(){return N})),o.d(t,"MarkedString",(function(){return I})),o.d(t,"Hover",(function(){return D})),o.d(t,"ParameterInformation",(function(){return A})),o.d(t,"SignatureInformation",(function(){return P})),o.d(t,"DocumentHighlightKind",(function(){return x})),o.d(t,"DocumentHighlight",(function(){return M})),o.d(t,"SymbolKind",(function(){return B})),o.d(t,"SymbolInformation",(function(){return F})),o.d(t,"DocumentSymbol",(function(){return K})),o.d(t,"CodeActionKind",(function(){return V})),o.d(t,"CodeActionContext",(function(){return W})),o.d(t,"CodeAction",(function(){return j})),o.d(t,"CodeLens",(function(){return G})),o.d(t,"FormattingOptions",(function(){return z})),o.d(t,"DocumentLink",(function(){return Y})),o.d(t,"EOL",(function(){return $})),o.d(t,"TextDocument",(function(){return X})),o.d(t,"TextDocumentSaveReason",(function(){return q})),function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.number(t.line)&&J.number(t.character)}}(n||(n={})),function(e){e.create=function(e,t,o,i){if(J.number(e)&&J.number(t)&&J.number(o)&&J.number(i))return{start:n.create(e,t),end:n.create(o,i)};if(n.is(e)&&n.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+o+", "+i+"]")},e.is=function(e){var t=e;return J.objectLiteral(t)&&n.is(t.start)&&n.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.string(t.uri)||J.undefined(t.uri))}}(r||(r={})),function(e){e.create=function(e,t,o,n){return{targetUri:e,targetRange:t,targetSelectionRange:o,originSelectionRange:n}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.targetRange)&&J.string(t.targetUri)&&(i.is(t.targetSelectionRange)||J.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||J.undefined(t.originSelectionRange))}}(s||(s={})),function(e){e.create=function(e,t,o,n){return{red:e,green:t,blue:o,alpha:n}},e.is=function(e){var t=e;return J.number(t.red)&&J.number(t.green)&&J.number(t.blue)&&J.number(t.alpha)}}(a||(a={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&a.is(t.color)}}(l||(l={})),function(e){e.create=function(e,t,o){return{label:e,textEdit:t,additionalTextEdits:o}},e.is=function(e){var t=e;return J.string(t.label)&&(J.undefined(t.textEdit)||m.is(t))&&(J.undefined(t.additionalTextEdits)||J.typedArray(t.additionalTextEdits,m.is))}}(u||(u={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(c||(c={})),function(e){e.create=function(e,t,o,n,i){var r={startLine:e,endLine:t};return J.defined(o)&&(r.startCharacter=o),J.defined(n)&&(r.endCharacter=n),J.defined(i)&&(r.kind=i),r},e.is=function(e){var t=e;return J.number(t.startLine)&&J.number(t.startLine)&&(J.undefined(t.startCharacter)||J.number(t.startCharacter))&&(J.undefined(t.endCharacter)||J.number(t.endCharacter))&&(J.undefined(t.kind)||J.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return J.defined(t)&&r.is(t.location)&&J.string(t.message)}}(d||(d={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(g||(g={})),function(e){e.create=function(e,t,o,n,i,r){var s={range:e,message:t};return J.defined(o)&&(s.severity=o),J.defined(n)&&(s.code=n),J.defined(i)&&(s.source=i),J.defined(r)&&(s.relatedInformation=r),s},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&J.string(t.message)&&(J.number(t.severity)||J.undefined(t.severity))&&(J.number(t.code)||J.string(t.code)||J.undefined(t.code))&&(J.string(t.source)||J.undefined(t.source))&&(J.undefined(t.relatedInformation)||J.typedArray(t.relatedInformation,d.is))}}(p||(p={})),function(e){e.create=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i={title:e,command:t};return J.defined(o)&&o.length>0&&(i.arguments=o),i},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.title)&&J.string(t.command)}}(f||(f={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.string(t.newText)&&i.is(t.range)}}(m||(m={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return J.defined(t)&&S.is(t.textDocument)&&Array.isArray(t.edits)}}(_||(_={})),function(e){e.create=function(e,t){var o={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"create"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(y||(y={})),function(e){e.create=function(e,t,o){var n={kind:"rename",oldUri:e,newUri:t};return void 0===o||void 0===o.overwrite&&void 0===o.ignoreIfExists||(n.options=o),n},e.is=function(e){var t=e;return t&&"rename"===t.kind&&J.string(t.oldUri)&&J.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(v||(v={})),function(e){e.create=function(e,t){var o={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"delete"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||J.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||J.boolean(t.options.ignoreIfNotExists)))}}(b||(b={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return J.string(e.kind)?y.is(e)||v.is(e)||b.is(e):_.is(e)})))}}(E||(E={}));var C,S,T,w,k,O,R,L,N,I,D,A,P,x,M,B,F,H=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(m.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(m.replace(e,t))},e.prototype.delete=function(e){this.edits.push(m.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),U=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(_.is(e)){var o=new H(e.edits);t._textEditChanges[e.textDocument.uri]=o}})):e.changes&&Object.keys(e.changes).forEach((function(o){var n=new H(e.changes[o]);t._textEditChanges[o]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(S.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t=e;if(!(n=this._textEditChanges[t.uri])){var o={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(o),n=new H(i),this._textEditChanges[t.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,n=new H(i),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(y.create(e,t))},e.prototype.renameFile=function(e,t,o){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(v.create(e,t,o))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)}}(C||(C={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&(null===t.version||J.number(t.version))}}(S||(S={})),function(e){e.create=function(e,t,o,n){return{uri:e,languageId:t,version:o,text:n}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&J.string(t.languageId)&&J.number(t.version)&&J.string(t.text)}}(T||(T={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(w||(w={})),function(e){e.is=function(t){var o=t;return o===e.PlainText||o===e.Markdown}}(w||(w={})),function(e){e.is=function(e){var t=e;return J.objectLiteral(e)&&w.is(t.kind)&&J.string(t.value)}}(k||(k={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(O||(O={})),function(e){e.PlainText=1,e.Snippet=2}(R||(R={})),function(e){e.create=function(e){return{label:e}}}(L||(L={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(N||(N={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return J.string(t)||J.objectLiteral(t)&&J.string(t.language)&&J.string(t.value)}}(I||(I={})),function(e){e.is=function(e){var t=e;return!!t&&J.objectLiteral(t)&&(k.is(t.contents)||I.is(t.contents)||J.typedArray(t.contents,I.is))&&(void 0===e.range||i.is(e.range))}}(D||(D={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(A||(A={})),function(e){e.create=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i={label:e};return J.defined(t)&&(i.documentation=t),J.defined(o)?i.parameters=o:i.parameters=[],i}}(P||(P={})),function(e){e.Text=1,e.Read=2,e.Write=3}(x||(x={})),function(e){e.create=function(e,t){var o={range:e};return J.number(t)&&(o.kind=t),o}}(M||(M={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(B||(B={})),function(e){e.create=function(e,t,o,n,i){var r={name:e,kind:t,location:{uri:n,range:o}};return i&&(r.containerName=i),r}}(F||(F={}));var V,W,j,G,z,K=function(){};!function(e){e.create=function(e,t,o,n,i,r){var s={name:e,detail:t,kind:o,range:n,selectionRange:i};return void 0!==r&&(s.children=r),s},e.is=function(e){var t=e;return t&&J.string(t.name)&&J.number(t.kind)&&i.is(t.range)&&i.is(t.selectionRange)&&(void 0===t.detail||J.string(t.detail))&&(void 0===t.deprecated||J.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))}}(K||(K={})),function(e){e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports"}(V||(V={})),function(e){e.create=function(e,t){var o={diagnostics:e};return null!=t&&(o.only=t),o},e.is=function(e){var t=e;return J.defined(t)&&J.typedArray(t.diagnostics,p.is)&&(void 0===t.only||J.typedArray(t.only,J.string))}}(W||(W={})),function(e){e.create=function(e,t,o){var n={title:e};return f.is(t)?n.command=t:n.edit=t,void 0!==o&&(n.kind=o),n},e.is=function(e){var t=e;return t&&J.string(t.title)&&(void 0===t.diagnostics||J.typedArray(t.diagnostics,p.is))&&(void 0===t.kind||J.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||f.is(t.command))&&(void 0===t.edit||E.is(t.edit))}}(j||(j={})),function(e){e.create=function(e,t){var o={range:e};return J.defined(t)&&(o.data=t),o},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.undefined(t.command)||f.is(t.command))}}(G||(G={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return J.defined(t)&&J.number(t.tabSize)&&J.boolean(t.insertSpaces)}}(z||(z={}));var Y=function(){};!function(e){e.create=function(e,t,o){return{range:e,target:t,data:o}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.undefined(t.target)||J.string(t.target))}}(Y||(Y={}));var X,q,$=["\n","\r\n","\r"];!function(e){e.create=function(e,t,o,n){return new Z(e,t,o,n)},e.is=function(e){var t=e;return!!(J.defined(t)&&J.string(t.uri)&&(J.undefined(t.languageId)||J.string(t.languageId))&&J.number(t.lineCount)&&J.func(t.getText)&&J.func(t.positionAt)&&J.func(t.offsetAt))},e.applyEdits=function(e,t){for(var o=e.getText(),n=function e(t,o){if(t.length<=1)return t;var n=t.length/2|0;var i=t.slice(0,n);var r=t.slice(n);e(i,o);e(r,o);var s=0;var a=0;var l=0;for(;s<i.length&&a<r.length;){var u=o(i[s],r[a]);t[l++]=u<=0?i[s++]:r[a++]}for(;s<i.length;)t[l++]=i[s++];for(;a<r.length;)t[l++]=r[a++];return t}(t,(function(e,t){var o=e.range.start.line-t.range.start.line;return 0===o?e.range.start.character-t.range.start.character:o})),i=o.length,r=n.length-1;r>=0;r--){var s=n[r],a=e.offsetAt(s.range.start),l=e.offsetAt(s.range.end);if(!(l<=i))throw new Error("Overlapping edit");o=o.substring(0,a)+s.newText+o.substring(l,o.length),i=a}return o}}(X||(X={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(q||(q={}));var J,Z=function(){function e(e,t,o,n){this._uri=e,this._languageId=t,this._version=o,this._content=n,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),o=this.offsetAt(e.end);return this._content.substring(t,o)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,o=!0,n=0;n<t.length;n++){o&&(e.push(n),o=!1);var i=t.charAt(n);o="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}o&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),o=0,i=t.length;if(0===i)return n.create(0,e);for(;o<i;){var r=Math.floor((o+i)/2);t[r]>e?i=r:o=r+1}var s=o-1;return n.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var o=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(o+e.character,n),o)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(J||(J={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(245),i=o(122),r=o(511);t.ImplementationRequest=r.ImplementationRequest;const s=o(512);t.TypeDefinitionRequest=s.TypeDefinitionRequest;const a=o(513);t.WorkspaceFoldersRequest=a.WorkspaceFoldersRequest,t.DidChangeWorkspaceFoldersNotification=a.DidChangeWorkspaceFoldersNotification;const l=o(514);t.ConfigurationRequest=l.ConfigurationRequest;const u=o(515);t.DocumentColorRequest=u.DocumentColorRequest,t.ColorPresentationRequest=u.ColorPresentationRequest;const c=o(516);t.FoldingRangeRequest=c.FoldingRangeRequest;const h=o(517);t.DeclarationRequest=h.DeclarationRequest,function(e){e.is=function(e){let t=e;return n.string(t.language)||n.string(t.scheme)||n.string(t.pattern)}}(t.DocumentFilter||(t.DocumentFilter={})),function(e){e.type=new i.RequestType("client/registerCapability")}(t.RegistrationRequest||(t.RegistrationRequest={})),function(e){e.type=new i.RequestType("client/unregisterCapability")}(t.UnregistrationRequest||(t.UnregistrationRequest={})),function(e){e.Create="create",e.Rename="rename",e.Delete="delete"}(t.ResourceOperationKind||(t.ResourceOperationKind={})),function(e){e.Abort="abort",e.Transactional="transactional",e.TextOnlyTransactional="textOnlyTransactional",e.Undo="undo"}(t.FailureHandlingKind||(t.FailureHandlingKind={})),function(e){e.None=0,e.Full=1,e.Incremental=2}(t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})),function(e){e.type=new i.RequestType("initialize")}(t.InitializeRequest||(t.InitializeRequest={})),function(e){e.unknownProtocolVersion=1}(t.InitializeError||(t.InitializeError={})),function(e){e.type=new i.NotificationType("initialized")}(t.InitializedNotification||(t.InitializedNotification={})),function(e){e.type=new i.RequestType0("shutdown")}(t.ShutdownRequest||(t.ShutdownRequest={})),function(e){e.type=new i.NotificationType0("exit")}(t.ExitNotification||(t.ExitNotification={})),function(e){e.type=new i.NotificationType("workspace/didChangeConfiguration")}(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})),function(e){e.Error=1,e.Warning=2,e.Info=3,e.Log=4}(t.MessageType||(t.MessageType={})),function(e){e.type=new i.NotificationType("window/showMessage")}(t.ShowMessageNotification||(t.ShowMessageNotification={})),function(e){e.type=new i.RequestType("window/showMessageRequest")}(t.ShowMessageRequest||(t.ShowMessageRequest={})),function(e){e.type=new i.NotificationType("window/logMessage")}(t.LogMessageNotification||(t.LogMessageNotification={})),function(e){e.type=new i.NotificationType("telemetry/event")}(t.TelemetryEventNotification||(t.TelemetryEventNotification={})),function(e){e.type=new i.NotificationType("textDocument/didOpen")}(t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didChange")}(t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didClose")}(t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didSave")}(t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/willSave")}(t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})),function(e){e.type=new i.RequestType("textDocument/willSaveWaitUntil")}(t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})),function(e){e.type=new i.NotificationType("workspace/didChangeWatchedFiles")}(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})),function(e){e.Created=1,e.Changed=2,e.Deleted=3}(t.FileChangeType||(t.FileChangeType={})),function(e){e.Create=1,e.Change=2,e.Delete=4}(t.WatchKind||(t.WatchKind={})),function(e){e.type=new i.NotificationType("textDocument/publishDiagnostics")}(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})),function(e){e.Invoked=1,e.TriggerCharacter=2,e.TriggerForIncompleteCompletions=3}(t.CompletionTriggerKind||(t.CompletionTriggerKind={})),function(e){e.type=new i.RequestType("textDocument/completion")}(t.CompletionRequest||(t.CompletionRequest={})),function(e){e.type=new i.RequestType("completionItem/resolve")}(t.CompletionResolveRequest||(t.CompletionResolveRequest={})),function(e){e.type=new i.RequestType("textDocument/hover")}(t.HoverRequest||(t.HoverRequest={})),function(e){e.type=new i.RequestType("textDocument/signatureHelp")}(t.SignatureHelpRequest||(t.SignatureHelpRequest={})),function(e){e.type=new i.RequestType("textDocument/definition")}(t.DefinitionRequest||(t.DefinitionRequest={})),function(e){e.type=new i.RequestType("textDocument/references")}(t.ReferencesRequest||(t.ReferencesRequest={})),function(e){e.type=new i.RequestType("textDocument/documentHighlight")}(t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})),function(e){e.type=new i.RequestType("textDocument/documentSymbol")}(t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})),function(e){e.type=new i.RequestType("workspace/symbol")}(t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})),function(e){e.type=new i.RequestType("textDocument/codeAction")}(t.CodeActionRequest||(t.CodeActionRequest={})),function(e){e.type=new i.RequestType("textDocument/codeLens")}(t.CodeLensRequest||(t.CodeLensRequest={})),function(e){e.type=new i.RequestType("codeLens/resolve")}(t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})),function(e){e.type=new i.RequestType("textDocument/formatting")}(t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/rangeFormatting")}(t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/onTypeFormatting")}(t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/rename")}(t.RenameRequest||(t.RenameRequest={})),function(e){e.type=new i.RequestType("textDocument/prepareRename")}(t.PrepareRenameRequest||(t.PrepareRenameRequest={})),function(e){e.type=new i.RequestType("textDocument/documentLink")}(t.DocumentLinkRequest||(t.DocumentLinkRequest={})),function(e){e.type=new i.RequestType("documentLink/resolve")}(t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})),function(e){e.type=new i.RequestType("workspace/executeCommand")}(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})),function(e){e.type=new i.RequestType("workspace/applyEdit")}(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/implementation")}(t.ImplementationRequest||(t.ImplementationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/typeDefinition")}(t.TypeDefinitionRequest||(t.TypeDefinitionRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType0("workspace/workspaceFolders")}(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})),function(e){e.type=new n.NotificationType("workspace/didChangeWorkspaceFolders")}(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("workspace/configuration")}(t.ConfigurationRequest||(t.ConfigurationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/documentColor")}(t.DocumentColorRequest||(t.DocumentColorRequest={})),function(e){e.type=new n.RequestType("textDocument/colorPresentation")}(t.ColorPresentationRequest||(t.ColorPresentationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(t.FoldingRangeKind||(t.FoldingRangeKind={})),function(e){e.type=new n.RequestType("textDocument/foldingRange")}(t.FoldingRangeRequest||(t.FoldingRangeRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/declaration")}(t.DeclarationRequest||(t.DeclarationRequest={}))},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var r=o(101),s=o(245);t.createConnection=function(e,t,o){return e.onError((function(e){t(e[0],e[1],e[2])})),e.onClose(o),{listen:function(){return e.listen()},sendRequest:function(t){for(var o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];return e.sendRequest.apply(e,i([s.string(t)?t:t.method],o))},onRequest:function(t,o){return e.onRequest(s.string(t)?t:t.method,o)},sendNotification:function(t,o){return e.sendNotification(s.string(t)?t:t.method,o)},onNotification:function(t,o){return e.onNotification(s.string(t)?t:t.method,o)},trace:function(t,o,n){return void 0===n&&(n=!1),e.trace(t,o,n)},initialize:function(t){return e.sendRequest(r.InitializeRequest.type,t)},shutdown:function(){return e.sendRequest(r.ShutdownRequest.type,void 0)},exit:function(){return e.sendNotification(r.ExitNotification.type)},onLogMessage:function(t){return e.onNotification(r.LogMessageNotification.type,t)},onShowMessage:function(t){return e.onNotification(r.ShowMessageNotification.type,t)},onTelemetry:function(t){return e.onNotification(r.TelemetryEventNotification.type,t)},didChangeConfiguration:function(t){return e.sendNotification(r.DidChangeConfigurationNotification.type,t)},didChangeWatchedFiles:function(t){return e.sendNotification(r.DidChangeWatchedFilesNotification.type,t)},didOpenTextDocument:function(t){return e.sendNotification(r.DidOpenTextDocumentNotification.type,t)},didChangeTextDocument:function(t){return e.sendNotification(r.DidChangeTextDocumentNotification.type,t)},didCloseTextDocument:function(t){return e.sendNotification(r.DidCloseTextDocumentNotification.type,t)},didSaveTextDocument:function(t){return e.sendNotification(r.DidSaveTextDocumentNotification.type,t)},onDiagnostics:function(t){return e.onNotification(r.PublishDiagnosticsNotification.type,t)},dispose:function(){return e.dispose()}}}},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(151),s=o(525),a=o(526),l=o(527),u=o(528),c=o(529);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(151));var h=function(e){function t(o){var n=o.id,i=o.name,r=o.clientOptions,s=o.connectionProvider,a=e.call(this,n||i.toLowerCase(),i,r)||this;a.connectionProvider=s,a.createConnection=a.doCreateConnection.bind(a);var l=a;return l._p2c=new Proxy(l._p2c,{get:function(e,o){return"asUri"===o?e[o]:t.bypassConversion}}),l._c2p=new Proxy(l._c2p,{get:function(e,o){return"asUri"===o?e[o]:"asCompletionParams"===o?function(t,o,n){return{textDocument:e.asTextDocumentIdentifier(t),position:o,context:n}}:"asWillSaveTextDocumentParams"===o?function(t){return{textDocument:e.asTextDocumentIdentifier(t.document),reason:t.reason}}:o.endsWith("Params")?e[o]:t.bypassConversion}}),a}return i(t,e),t.prototype.doCreateConnection=function(){var e=this.handleConnectionError.bind(this),t=this.handleConnectionClosed.bind(this);return this.connectionProvider.get(e,t,this.outputChannel)},t.prototype.createMessageTransports=function(e){throw new Error("Unsupported")},t.prototype.registerBuiltinFeatures=function(){e.prototype.registerBuiltinFeatures.call(this),this.registerFeature(new s.TypeDefinitionFeature(this)),this.registerFeature(new a.ImplementationFeature(this)),this.registerFeature(new l.ColorProviderFeature(this)),this.registerFeature(new u.WorkspaceFoldersFeature(this));var o=new c.FoldingRangeFeature(this);o.asFoldingRanges=t.bypassConversion,this.registerFeature(o)},t.bypassConversion=function(e){return e||void 0},t}(r.BaseLanguageClient);t.MonacoLanguageClient=h},function(e,t,o){"use strict";var n=this&&this.__awaiter||function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},r=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var a=o(521),l=o(185),u=o(121);t.createVSCodeApi=function(e){var t=this,o=function(){throw new Error("unsupported")},r=a.default,c=function(e,t){this.label=e,this.kind=t},h=function(){function e(e,t){this.range=e,this.command=t}return Object.defineProperty(e.prototype,"isResolved",{get:function(){return!!this.command},enumerable:!0,configurable:!0}),e}(),d=function(e,t){this.range=e,this.target=t},g=function(){function e(e){this.value=e,this.append=o,this.contains=o}return e.Empty=new e,e.QuickFix=new e("quickfix"),e.Refactor=new e("refactor"),e.RefactorExtract=new e("refactor.extract"),e.RefactorInline=new e("refactor.inline"),e.RefactorRewrite=new e("refactor.rewrite"),e.Source=new e("source"),e.SourceOrganizeImports=new e("source.organizeImports"),e}(),p={createFileSystemWatcher:function(t,o,n,i){var r=e();if("string"!=typeof t)throw new Error("unsupported");if(r.workspace.createFileSystemWatcher){var s=r.workspace.createFileSystemWatcher(t,o,n,i);return Object.assign(s,{ignoreCreateEvents:!!o,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!i})}return{ignoreCreateEvents:!!o,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!i,onDidCreate:u.Event.None,onDidChange:u.Event.None,onDidDelete:u.Event.None,dispose:function(){}}},applyEdit:function(o){return n(t,void 0,void 0,(function(){var t;return i(this,(function(n){if(t=e(),u.WorkspaceEdit.is(o))return[2,t.workspace.applyEdit(o)];throw new Error("unsupported")}))}))},getConfiguration:function(t,n){var i=e().workspace,r=i.configurations?i.configurations.getConfiguration(t,n?n.toString():void 0):void 0,s={get:function(e,t){return r?r.get(e,t):t},has:function(e){return!!r&&r.has(e)},inspect:o,update:o};return Object.assign(s,{toJSON:function(){return r?r.toJSON():void 0}})},get onDidChangeConfiguration(){var t=e();return t.workspace.configurations?t.workspace.configurations.onDidChangeConfiguration:u.Event.None},get workspaceFolders(){var t=e().workspace.rootUri;if(t){var o=r.parse(t);return[{uri:o,index:0,name:o.toString()}]}},get textDocuments(){return e().workspace.textDocuments},get onDidOpenTextDocument(){return e().workspace.onDidOpenTextDocument},get onDidCloseTextDocument(){return e().workspace.onDidCloseTextDocument},get onDidChangeTextDocument(){var t=e();return function(e,o,n){return t.workspace.onDidChangeTextDocument((function(t){var n=t.textDocument,i=t.contentChanges;e.bind(o)({document:n,contentChanges:i})}),void 0,n)}},get onWillSaveTextDocument(){var t=e().workspace.onWillSaveTextDocument;return t?function(e,o,n){return t((function(t){var n=t.textDocument,i=t.reason,r=t.waitUntil;e.bind(o)({document:n,reason:i,waitUntil:function(e){r&&r(e)}})}),void 0,n)}:u.Event.None},get onDidSaveTextDocument(){return e().workspace.onDidSaveTextDocument||u.Event.None},onDidChangeWorkspaceFolders:u.Event.None,getWorkspaceFolder:o,asRelativePath:o,updateWorkspaceFolders:o,findFiles:o,saveAll:o,openTextDocument:o,registerTextDocumentContentProvider:o,registerTaskProvider:o,registerFileSystemProvider:o,rootPath:void 0,name:void 0},f={match:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));if(!u.DocumentIdentifier.is(o))throw new Error("unexpected document: "+JSON.stringify(o));return e().languages.match(t,o)?1:0},createDiagnosticCollection:function(t){var n=e(),i=n.languages.createDiagnosticCollection?n.languages.createDiagnosticCollection(t):void 0;return{name:t||"default",set:function(e,t){i&&(t?i.set(e.toString(),t):i.set(e.toString(),[]))},dispose:function(){i&&i.dispose()},delete:o,clear:o,forEach:o,get:o,has:o}},registerCompletionItemProvider:function(t,o){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var r=e().languages;if(!r.registerCompletionItemProvider)return l.Disposable.create((function(){}));var a=o.resolveCompletionItem;return r.registerCompletionItemProvider.apply(r,s([t,{provideCompletionItems:function(e,t){var n=e.textDocument,i=e.position,r=e.context;return o.provideCompletionItems(n,i,t,r||{triggerKind:u.CompletionTriggerKind.Invoked})},resolveCompletionItem:a?function(e,t){return a(e,t)}:void 0}],n))},registerCodeActionsProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerCodeActionsProvider?n.registerCodeActionsProvider(t,{provideCodeActions:function(e,t){var n=e.textDocument,i=e.range,r=e.context;return o.provideCodeActions(n,i,r,t)}}):l.Disposable.create((function(){}))},registerCodeLensProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;if(!n.registerCodeLensProvider)return l.Disposable.create((function(){}));var i=o.resolveCodeLens;return n.registerCodeLensProvider(t,{provideCodeLenses:function(e,t){var n=e.textDocument;return o.provideCodeLenses(n,t)},resolveCodeLens:i?function(e,t){return i(e,t)}:void 0})},registerDefinitionProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDefinitionProvider?n.registerDefinitionProvider(t,{provideDefinition:function(e,t){var n=e.textDocument,i=e.position;return o.provideDefinition(n,i,t)}}):l.Disposable.create((function(){}))},registerImplementationProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerImplementationProvider?n.registerImplementationProvider(t,{provideImplementation:function(e,t){var n=e.textDocument,i=e.position;return o.provideImplementation(n,i,t)}}):l.Disposable.create((function(){}))},registerTypeDefinitionProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerTypeDefinitionProvider?n.registerTypeDefinitionProvider(t,{provideTypeDefinition:function(e,t){var n=e.textDocument,i=e.position;return o.provideTypeDefinition(n,i,t)}}):l.Disposable.create((function(){}))},registerHoverProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerHoverProvider?n.registerHoverProvider(t,{provideHover:function(e,t){var n=e.textDocument,i=e.position;return o.provideHover(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentHighlightProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentHighlightProvider?n.registerDocumentHighlightProvider(t,{provideDocumentHighlights:function(e,t){var n=e.textDocument,i=e.position;return o.provideDocumentHighlights(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentSymbolProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentSymbolProvider?n.registerDocumentSymbolProvider(t,{provideDocumentSymbols:function(e,t){var n=e.textDocument;return o.provideDocumentSymbols(n,t)}}):l.Disposable.create((function(){}))},registerWorkspaceSymbolProvider:function(t){var o=e().languages;return o.registerWorkspaceSymbolProvider?o.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,o){var n=e.query;return t.provideWorkspaceSymbols(n,o)}}):l.Disposable.create((function(){}))},registerReferenceProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerReferenceProvider?n.registerReferenceProvider(t,{provideReferences:function(e,t){var n=e.textDocument,i=e.position,r=e.context;return o.provideReferences(n,i,r,t)}}):l.Disposable.create((function(){}))},registerRenameProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerRenameProvider?n.registerRenameProvider(t,{provideRenameEdits:function(e,t){var n=e.textDocument,i=e.position,r=e.newName;return o.provideRenameEdits(n,i,r,t)}}):l.Disposable.create((function(){}))},registerDocumentFormattingEditProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentFormattingEditProvider?n.registerDocumentFormattingEditProvider(t,{provideDocumentFormattingEdits:function(e,t){var n=e.textDocument,i=e.options;return o.provideDocumentFormattingEdits(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentRangeFormattingEditProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentRangeFormattingEditProvider?n.registerDocumentRangeFormattingEditProvider(t,{provideDocumentRangeFormattingEdits:function(e,t){var n=e.textDocument,i=e.range,r=e.options;return o.provideDocumentRangeFormattingEdits(n,i,r,t)}}):l.Disposable.create((function(){}))},registerOnTypeFormattingEditProvider:function(t,o,n){for(var i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var a=e().languages;return a.registerOnTypeFormattingEditProvider?a.registerOnTypeFormattingEditProvider.apply(a,s([t,{provideOnTypeFormattingEdits:function(e,t){var n=e.textDocument,i=e.position,r=e.ch,s=e.options;return o.provideOnTypeFormattingEdits(n,i,r,s,t)}},n],i)):l.Disposable.create((function(){}))},registerSignatureHelpProvider:function(t,o){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var r=e().languages;return r.registerSignatureHelpProvider?r.registerSignatureHelpProvider.apply(r,s([t,{provideSignatureHelp:function(e,t){var n=e.textDocument,i=e.position;return o.provideSignatureHelp(n,i,t)}}],n)):l.Disposable.create((function(){}))},registerDocumentLinkProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;if(!n.registerDocumentLinkProvider)return l.Disposable.create((function(){}));var i=o.resolveDocumentLink;return n.registerDocumentLinkProvider(t,{provideDocumentLinks:function(e,t){var n=e.textDocument;return o.provideDocumentLinks(n,t)},resolveDocumentLink:i?function(e,t){return i(e,t)}:void 0})},registerColorProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerColorProvider?n.registerColorProvider(t,{provideDocumentColors:function(e,t){var n=e.textDocument;return o.provideDocumentColors(n,t)},provideColorPresentations:function(e,t){var n=e.textDocument,i=e.color,r=e.range;return o.provideColorPresentations(i,{document:n,range:r},t)}}):l.Disposable.create((function(){}))},registerFoldingRangeProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerFoldingRangeProvider?n.registerFoldingRangeProvider(t,{provideFoldingRanges:function(e,t){var n=e.textDocument;return o.provideFoldingRanges(n,{},t)}}):l.Disposable.create((function(){}))},getLanguages:o,getDiagnostics:o,setLanguageConfiguration:o,onDidChangeDiagnostics:o};function m(t,o,n){if("string"!=typeof o)throw new Error("unexpected message: "+JSON.stringify(o));var i=o;if(void 0!==n&&!Array.isArray(n))throw new Error("unexpected actions: "+JSON.stringify(n));var r=n||[],a=e().window;return a?a.showMessage.apply(a,s([t,i],r)):Promise.resolve(void 0)}var _={showInformationMessage:m.bind(void 0,u.MessageType.Info),showWarningMessage:m.bind(void 0,u.MessageType.Warning),showErrorMessage:m.bind(void 0,u.MessageType.Error),createOutputChannel:function(t){var n=e().window,i=n?n.createOutputChannel:void 0,r=i?i.bind(n)(t):void 0;return{name:t,append:r.append.bind(r),appendLine:r.appendLine.bind(r),clear:o,show:r.show.bind(r),hide:o,dispose:r.dispose.bind(r)}},showTextDocument:o,createTextEditorDecorationType:o,showQuickPick:o,showWorkspaceFolderPick:o,showOpenDialog:o,showSaveDialog:o,showInputBox:o,createWebviewPanel:o,setStatusBarMessage:o,withScmProgress:o,withProgress:o,createStatusBarItem:o,createTerminal:o,registerTreeDataProvider:o,createTreeView:o,registerWebviewPanelSerializer:o,get activeTextEditor(){return o()},get visibleTextEditors(){return o()},onDidChangeActiveTextEditor:o,onDidChangeVisibleTextEditors:o,onDidChangeTextEditorSelection:o,onDidChangeTextEditorVisibleRanges:o,onDidChangeTextEditorOptions:o,onDidChangeTextEditorViewColumn:o,onDidCloseTerminal:o,get state(){return o()},onDidChangeWindowState:o},y={registerCommand:function(t,o,n){var i=e().commands;return i?i.registerCommand(t,o,n):l.Disposable.create((function(){}))},registerTextEditorCommand:o,executeCommand:o,getCommands:o},v=function(){function e(e){this.callOnDispose=e}return e.prototype.dispose=function(){this.callOnDispose()},e}();return{workspace:p,languages:f,window:_,commands:y,Uri:r,CompletionItem:c,CodeLens:h,DocumentLink:d,CodeActionKind:g,Disposable:v}}},function(e,t,o){"use strict";o.r(t),function(e){o.d(t,"setUriThrowOnMissingScheme",(function(){return h}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});if("object"==typeof e)i="win32"===e.platform;else if("object"==typeof navigator){var s=navigator.userAgent;i=s.indexOf("Windows")>=0}var a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//,c=!0;function h(e){var t=c;return c=e,t}var d="",g="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,o,n,i,r){void 0===r&&(r=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return t||c?e||d:(e||(e="file"),e)}(e,r),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==g&&(t=g+t):t=g}return t}(this.scheme,o||d),this.query=n||d,this.fragment=i||d,function(e,t){if(!e.scheme&&(t||c))throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,r))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return C(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===o?o=this.authority:null===o&&(o=d),void 0===n?n=this.path:null===n&&(n=d),void 0===i?i=this.query:null===i&&(i=d),void 0===r?r=this.fragment:null===r&&(r=d),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new y(t,o,n,i,r)},e.parse=function(e,t){void 0===t&&(t=!1);var o=p.exec(e);return o?new y(o[2]||d,decodeURIComponent(o[4]||d),decodeURIComponent(o[5]||d),decodeURIComponent(o[7]||d),decodeURIComponent(o[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,g)),e[0]===g&&e[1]===g){var o=e.indexOf(g,2);-1===o?(t=e.substring(2),e=g):(t=e.substring(2,o),e=e.substring(o)||g)}return new y("file",t,e,d,d)},e.from=function(e){return new y(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new y(t);return o._formatted=t.external,o._fsPath=t._sep===_?t.fsPath:null,o}return t},e}();t.default=f;var m,_=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return r(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=C(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),v=((m={})[58]="%3A",m[47]="%2F",m[63]="%3F",m[35]="%23",m[91]="%5B",m[93]="%5D",m[64]="%40",m[33]="%21",m[36]="%24",m[38]="%26",m[39]="%27",m[40]="%28",m[41]="%29",m[42]="%2A",m[43]="%2B",m[44]="%2C",m[59]="%3B",m[61]="%3D",m[32]="%20",m);function b(e,t){for(var o=void 0,n=-1,i=0;i<e.length;i++){var r=e.charCodeAt(i);if(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=v[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function E(e){for(var t=void 0,o=0;o<e.length;o++){var n=e.charCodeAt(o);35===n||63===n?(void 0===t&&(t=e.substr(0,o)),t+=v[n]):void 0!==t&&(t+=e[o])}return void 0!==t?t:e}function C(e){var t;return t=e.authority&&e.path.length>1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(t=t.replace(/\//g,"\\")),t}function S(e,t){var o=t?E:b,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=g,n+=g),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:b(l,!1)),n}}.call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(109),i=o(101),r=o(138),s=o(308),a=o(309),l=o(310);t.createConverter=function(e){var t=e||function(e){return e.toString()};function o(e){return t(e)}function u(e){return{uri:t(e.uri)}}function c(e){return{uri:t(e.uri),version:e.version}}function h(e){switch(e){case n.TextDocumentSaveReason.Manual:return i.TextDocumentSaveReason.Manual;case n.TextDocumentSaveReason.AfterDelay:return i.TextDocumentSaveReason.AfterDelay;case n.TextDocumentSaveReason.FocusOut:return i.TextDocumentSaveReason.FocusOut}return i.TextDocumentSaveReason.Manual}function d(e){switch(e){case n.CompletionTriggerKind.TriggerCharacter:return i.CompletionTriggerKind.TriggerCharacter;case n.CompletionTriggerKind.TriggerForIncompleteCompletions:return i.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return i.CompletionTriggerKind.Invoked}}function g(e){return{line:e.line,character:e.character}}function p(e){if(void 0!==e)return null===e?null:{line:e.line,character:e.character}}function f(e){return null==e?e:{start:p(e.start),end:p(e.end)}}function m(e){switch(e){case n.DiagnosticSeverity.Error:return i.DiagnosticSeverity.Error;case n.DiagnosticSeverity.Warning:return i.DiagnosticSeverity.Warning;case n.DiagnosticSeverity.Information:return i.DiagnosticSeverity.Information;case n.DiagnosticSeverity.Hint:return i.DiagnosticSeverity.Hint}}function _(e){var t=i.Diagnostic.create(f(e.range),e.message);return r.number(e.severity)&&(t.severity=m(e.severity)),(r.number(e.code)||r.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),t}function y(e){return null==e?e:e.map(_)}function v(e){return{range:f(e.range),newText:e.newText}}function b(e){var t=i.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}return{asUri:o,asTextDocumentIdentifier:u,asOpenTextDocumentParams:function(e){return{textDocument:{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}},asChangeTextDocumentParams:function(e){var o;if((o=e).uri&&o.version)return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){var t=e;return!!t.document&&!!t.contentChanges}(e)){var n=e.document;return{textDocument:{uri:t(n.uri),version:n.version},contentChanges:e.contentChanges.map((function(e){var t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:u(e)}},asSaveTextDocumentParams:function(e,t){void 0===t&&(t=!1);var o={textDocument:c(e)};return t&&(o.text=e.getText()),o},asWillSaveTextDocumentParams:function(e){return{textDocument:u(e.document),reason:h(e.reason)}},asTextDocumentPositionParams:function(e,t){return{textDocument:u(e),position:g(t)}},asCompletionParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{triggerKind:d(o.triggerKind),triggerCharacter:o.triggerCharacter}}},asWorkerPosition:g,asRange:f,asPosition:p,asDiagnosticSeverity:m,asDiagnostic:_,asDiagnostics:y,asCompletionItem:function(e){var t,o,a={label:e.label},l=e instanceof s.default?e:void 0;return e.detail&&(a.detail=e.detail),e.documentation&&(l&&"$string"!==l.documentationFormat?a.documentation=function(e,t){switch(e){case"$string":return t;case i.MarkupKind.PlainText:return{kind:e,value:t};case i.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}}(l.documentationFormat,e.documentation):a.documentation=e.documentation),e.filterText&&(a.filterText=e.filterText),function(e,t){var o,r=i.InsertTextFormat.PlainText,s=void 0;t.textEdit?(o=t.textEdit.newText,s=f(t.textEdit.range)):t.insertText instanceof n.SnippetString?(r=i.InsertTextFormat.Snippet,o=t.insertText.value):o=t.insertText;t.range&&(s=f(t.range));e.insertTextFormat=r,t.fromEdit&&o&&s?e.textEdit={newText:o,range:s}:e.insertText=o}(a,e),r.number(e.kind)&&(a.kind=(t=e.kind,void 0!==(o=l&&l.originalItemKind)?o:t+1)),e.sortText&&(a.sortText=e.sortText),e.additionalTextEdits&&(a.additionalTextEdits=function(e){if(null==e)return e;return e.map(v)}(e.additionalTextEdits)),e.commitCharacters&&(a.commitCharacters=e.commitCharacters.slice()),e.command&&(a.command=b(e.command)),!0!==e.preselect&&!1!==e.preselect||(a.preselect=e.preselect),l&&(void 0!==l.data&&(a.data=l.data),!0!==l.deprecated&&!1!==l.deprecated||(a.deprecated=l.deprecated)),a},asTextEdit:v,asReferenceParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{includeDeclaration:o.includeDeclaration}}},asCodeActionContext:function(e){return null==e?e:i.CodeActionContext.create(y(e.diagnostics),r.string(e.only)?[e.only]:void 0)},asCommand:b,asCodeLens:function(e){var t=i.CodeLens.create(f(e.range));return e.command&&(t.command=b(e.command)),e instanceof a.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},asDocumentSymbolParams:function(e){return{textDocument:u(e)}},asCodeLensParams:function(e){return{textDocument:u(e)}},asDocumentLink:function(e){var t=i.DocumentLink.create(f(e.range));e.target&&(t.target=o(e.target));var n=e instanceof l.default?e:void 0;return n&&n.data&&(t.data=n.data),t},asDocumentLinkParams:function(e){return{textDocument:u(e)}}}}},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s};Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(109),a=o(101),l=o(138),u=o(308),c=o(309),h=o(310);!function(e){e.is=function(e){var t=e;return t&&l.string(t.language)&&l.string(t.value)}}(r||(r={})),t.createConverter=function(e){var t=e||function(e){return s.Uri.parse(e)};function o(e){return t(e)}function d(e){return e.map(g)}function g(e){var t=new s.Diagnostic(m(e.range),e.message,_(e.severity));return(l.number(e.code)||l.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(p)),t}function p(e){return new s.DiagnosticRelatedInformation(k(e.location),e.message)}function f(e){if(e)return new s.Position(e.line,e.character)}function m(e){if(e)return new s.Range(f(e.start),f(e.end))}function _(e){if(null==e)return s.DiagnosticSeverity.Error;switch(e){case a.DiagnosticSeverity.Error:return s.DiagnosticSeverity.Error;case a.DiagnosticSeverity.Warning:return s.DiagnosticSeverity.Warning;case a.DiagnosticSeverity.Information:return s.DiagnosticSeverity.Information;case a.DiagnosticSeverity.Hint:return s.DiagnosticSeverity.Hint}return s.DiagnosticSeverity.Error}function y(e){if(l.string(e))return e;switch(e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return e.value;default:return"Unsupported Markup content received. Kind is: "+e.kind}}function v(e){var t=new u.default(e.label);e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=y(e.documentation),t.documentationFormat=l.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o,n=function(e){return e.textEdit?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.textEdit.newText),range:m(e.textEdit.range),fromEdit:!0}:{text:e.textEdit.newText,range:m(e.textEdit.range),fromEdit:!0}:e.insertText?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0}(e);if(n&&(t.insertText=n.text,t.range=n.range,t.fromEdit=n.fromEdit),l.number(e.kind)){var r=i((o=e.kind,a.CompletionItemKind.Text<=o&&o<=a.CompletionItemKind.TypeParameter?[o-1,void 0]:[s.CompletionItemKind.Text,o]),2),c=r[0],h=r[1];t.kind=c,h&&(t.originalItemKind=h)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=E(e.additionalTextEdits)),l.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=D(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),!0!==e.preselect&&!1!==e.preselect||(t.preselect=e.preselect),void 0!==e.data&&(t.data=e.data),t}function b(e){if(e)return new s.TextEdit(m(e.range),e.newText)}function E(e){if(e)return e.map(b)}function C(e){return e.map(S)}function S(e){var t=new s.SignatureInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),e.parameters&&(t.parameters=T(e.parameters)),t}function T(e){return e.map(w)}function w(e){var t=new s.ParameterInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),t}function k(e){if(e)return new s.Location(t(e.uri),m(e.range))}function O(e){var t=new s.DocumentHighlight(m(e.range));return l.number(e.kind)&&(t.kind=R(e.kind)),t}function R(e){switch(e){case a.DocumentHighlightKind.Text:return s.DocumentHighlightKind.Text;case a.DocumentHighlightKind.Read:return s.DocumentHighlightKind.Read;case a.DocumentHighlightKind.Write:return s.DocumentHighlightKind.Write}return s.DocumentHighlightKind.Text}function L(e){return e<=a.SymbolKind.TypeParameter?e-1:s.SymbolKind.Property}function N(e,o){var n=new s.SymbolInformation(e.name,L(e.kind),m(e.location.range),e.location.uri?t(e.location.uri):o);return e.containerName&&(n.containerName=e.containerName),n}function I(e){var t,o,i=new s.DocumentSymbol(e.name,void 0!==e.detail?e.detail:e.name,L(e.kind),m(e.range),m(e.selectionRange));if(void 0!==e.children&&e.children.length>0){var r=[];try{for(var a=n(e.children),l=a.next();!l.done;l=a.next()){var u=l.value;r.push(I(u))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}i.children=r}return i}function D(e){var t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}var A=new Map;function P(e){if(e){var t=new c.default(m(e.range));return e.command&&(t.command=D(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}}function x(e){if(e){var o=new s.WorkspaceEdit;return e.documentChanges?e.documentChanges.forEach((function(e){o.set(t(e.textDocument.uri),E(e.edits))})):e.changes&&Object.keys(e.changes).forEach((function(n){o.set(t(n),E(e.changes[n]))})),o}}function M(e){var t=m(e.range),n=e.target?o(e.target):void 0,i=new h.default(t,n);return void 0!==e.data&&null!==e.data&&(i.data=e.data),i}function B(e){return new s.Color(e.red,e.green,e.blue,e.alpha)}function F(e){return new s.ColorInformation(m(e.range),B(e.color))}function H(e){var t=new s.ColorPresentation(e.label);return t.additionalTextEdits=E(e.additionalTextEdits),e.textEdit&&(t.textEdit=b(e.textEdit)),t}function U(e){if(e)switch(e){case a.FoldingRangeKind.Comment:return s.FoldingRangeKind.Comment;case a.FoldingRangeKind.Imports:return s.FoldingRangeKind.Imports;case a.FoldingRangeKind.Region:return s.FoldingRangeKind.Region}}function V(e){return new s.FoldingRange(e.startLine,e.endLine,U(e.kind))}return A.set("",s.CodeActionKind.Empty),A.set(a.CodeActionKind.QuickFix,s.CodeActionKind.QuickFix),A.set(a.CodeActionKind.Refactor,s.CodeActionKind.Refactor),A.set(a.CodeActionKind.RefactorExtract,s.CodeActionKind.RefactorExtract),A.set(a.CodeActionKind.RefactorInline,s.CodeActionKind.RefactorInline),A.set(a.CodeActionKind.RefactorRewrite,s.CodeActionKind.RefactorRewrite),A.set(a.CodeActionKind.Source,s.CodeActionKind.Source),A.set(a.CodeActionKind.SourceOrganizeImports,s.CodeActionKind.SourceOrganizeImports),{asUri:o,asDiagnostics:d,asDiagnostic:g,asRange:m,asPosition:f,asDiagnosticSeverity:_,asHover:function(e){if(e)return new s.Hover(function(e){var t,o;if(l.string(e))return new s.MarkdownString(e);if(r.is(e))return(i=new s.MarkdownString).appendCodeblock(e.value,e.language);if(Array.isArray(e)){var i=[];try{for(var u=n(e),c=u.next();!c.done;c=u.next()){var h=c.value,d=new s.MarkdownString;r.is(h)?d.appendCodeblock(h.value,h.language):d.appendMarkdown(h),i.push(d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}return i}switch(i=void 0,e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return(i=new s.MarkdownString).appendText(e.value),i;default:return(i=new s.MarkdownString).appendText("Unsupported Markup content received. Kind is: "+e.kind),i}}(e.contents),m(e.range))},asCompletionResult:function(e){if(e){if(Array.isArray(e))return e.map(v);var t=e;return new s.CompletionList(t.items.map(v),t.isIncomplete)}},asCompletionItem:v,asTextEdit:b,asTextEdits:E,asSignatureHelp:function(e){if(e){var t=new s.SignatureHelp;return l.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,l.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures&&(t.signatures=C(e.signatures)),t}},asSignatureInformations:C,asSignatureInformation:S,asParameterInformations:T,asParameterInformation:w,asDefinitionResult:function(e){if(e)return l.array(e)?e.map((function(e){return k(e)})):k(e)},asLocation:k,asReferences:function(e){if(e)return e.map((function(e){return k(e)}))},asDocumentHighlights:function(e){if(e)return e.map(O)},asDocumentHighlight:O,asDocumentHighlightKind:R,asSymbolInformations:function(e,t){if(e)return e.map((function(e){return N(e,t)}))},asSymbolInformation:N,asDocumentSymbols:function(e){if(null!=e)return e.map(I)},asDocumentSymbol:I,asCommand:D,asCommands:function(e){if(e)return e.map(D)},asCodeAction:function(e){if(null!=e){var t=new s.CodeAction(e.title);return void 0!==e.kind&&(t.kind=function(e){var t,o;if(null!=e){var i=A.get(e);if(i)return i;var r=e.split(".");i=s.CodeActionKind.Empty;try{for(var a=n(r),l=a.next();!l.done;l=a.next()){var u=l.value;i=i.append(u)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}}(e.kind)),e.diagnostics&&(t.diagnostics=d(e.diagnostics)),e.edit&&(t.edit=x(e.edit)),e.command&&(t.command=D(e.command)),t}},asCodeLens:P,asCodeLenses:function(e){if(e)return e.map((function(e){return P(e)}))},asWorkspaceEdit:x,asDocumentLink:M,asDocumentLinks:function(e){if(e)return e.map(M)},asFoldingRangeKind:U,asFoldingRange:V,asFoldingRanges:function(e){if(Array.isArray(e))return e.map(V)},asColor:B,asColorInformation:F,asColorInformations:function(e){if(Array.isArray(e))return e.map(F)},asColorPresentation:H,asColorPresentations:function(e){if(Array.isArray(e))return e.map(H)}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((function(e){o.onSuccess=e})).then((function(){o.completionPromise=void 0,o.onSuccess=void 0;var e=o.task();return o.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=setTimeout((function(){o.timeout=void 0,o.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise},e.prototype.forceDelivery=function(){if(this.completionPromise){this.cancelTimeout();var e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}},e.prototype.isTriggered=function(){return void 0!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise=void 0},e.prototype.cancelTimeout=function(){void 0!==this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e}();t.Delayer=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.TypeDefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"typeDefinition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.typeDefinitionProvider)if(!0===e.typeDefinitionProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.typeDefinitionProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.TypeDefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.TypeDefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerTypeDefinitionProvider(e.documentSelector,{provideTypeDefinition:function(e,t,i){return n.provideTypeDefinition?n.provideTypeDefinition(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.TypeDefinitionFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.ImplementationRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"implementation").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.implementationProvider)if(!0===e.implementationProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.implementationProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.ImplementationRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.ImplementationRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerImplementationProvider(e.documentSelector,{provideImplementation:function(e,t,i){return n.provideImplementation?n.provideImplementation(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.ImplementationFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.DocumentColorRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"colorProvider").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.colorProvider){var o=e.colorProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={color:e,textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(n.document),range:o.code2ProtocolConverter.asRange(n.range)};return o.sendRequest(l.ColorPresentationRequest.type,r,i).then(t.asColorPresentations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},i=function(e,n){var i={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.DocumentColorRequest.type,i,n).then(t.asColorInformations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},r=o.clientOptions.middleware;return a.languages.registerColorProvider(e.documentSelector,{provideColorPresentations:function(e,t,o){return r.provideColorPresentations?r.provideColorPresentations(e,t,o,n):n(e,t,o)},provideDocumentColors:function(e,t){return r.provideDocumentColors?r.provideDocumentColors(e,t,i):i(e,t)}})},t.prototype.asColor=function(e){return new a.Color(e.red,e.green,e.blue,e.alpha)},t.prototype.asColorInformations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.ColorInformation(t._client.protocol2CodeConverter.asRange(e.range),t.asColor(e.color))})):[]},t.prototype.asColorPresentations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var o=new a.ColorPresentation(e.label);return o.additionalTextEdits=t._client.protocol2CodeConverter.asTextEdits(e.additionalTextEdits),o.textEdit=t._client.protocol2CodeConverter.asTextEdit(e.textEdit),o})):[]},t}(o(151).TextDocumentFeature);t.ColorProviderFeature=c},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(152),r=o(109),s=o(101);function a(e,t){if(void 0!==e)return e[t]}var l=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return s.DidChangeWorkspaceFoldersNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillInitializeParams=function(e){var t=this,o=r.workspace.workspaceFolders;e.workspaceFolders=void 0===o?null:o.map((function(e){return t.asProtocol(e)}))},e.prototype.fillClientCapabilities=function(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0},e.prototype.initialize=function(e){var t=this,o=this._client;o.onRequest(s.WorkspaceFoldersRequest.type,(function(e){var n=function(){var e=r.workspace.workspaceFolders;return void 0===e?null:e.map((function(e){return t.asProtocol(e)}))},i=o.clientOptions.middleware.workspace;return i&&i.workspaceFolders?i.workspaceFolders(e,n):n()}));var n,l=a(a(a(e,"workspace"),"workspaceFolders"),"changeNotifications");"string"==typeof l?n=l:!0===l&&(n=i.generateUuid()),n&&this.register(this.messages,{id:n,registerOptions:void 0})},e.prototype.register=function(e,t){var o=this,n=t.id,i=this._client,a=r.workspace.onDidChangeWorkspaceFolders((function(e){var t=function(e){var t={event:{added:e.added.map((function(e){return o.asProtocol(e)})),removed:e.removed.map((function(e){return o.asProtocol(e)}))}};o._client.sendNotification(s.DidChangeWorkspaceFoldersNotification.type,t)},n=i.clientOptions.middleware.workspace;n&&n.didChangeWorkspaceFolders?n.didChangeWorkspaceFolders(e,t):t(e)}));this._listeners.set(n,a)},e.prototype.unregister=function(e){var t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=n(this._listeners.values()),i=o.next();!i.done;i=o.next()){i.value.dispose()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.asProtocol=function(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}},e}();t.WorkspaceFoldersFeature=l},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.FoldingRangeRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=u(u(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0},t.prototype.initialize=function(e,t){if(e.foldingRangeProvider){var o=e.foldingRangeProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.FoldingRangeRequest.type,r,i).then(t.asFoldingRanges.bind(t),(function(e){return o.logFailedRequest(l.FoldingRangeRequest.type,e),Promise.resolve(null)}))},i=o.clientOptions.middleware;return a.languages.registerFoldingRangeProvider(e.documentSelector,{provideFoldingRanges:function(e,t,o){return i.provideFoldingRanges?i.provideFoldingRanges(e,t,o,n):n(e,0,o)}})},t.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case l.FoldingRangeKind.Comment:return a.FoldingRangeKind.Comment;case l.FoldingRangeKind.Imports:return a.FoldingRangeKind.Imports;case l.FoldingRangeKind.Region:return a.FoldingRangeKind.Region}},t.prototype.asFoldingRanges=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.FoldingRange(e.startLine,e.endLine,t.asFoldingRangeKind(e.kind))})):[]},t}(o(151).TextDocumentFeature);t.FoldingRangeFeature=c},function(e,t){e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");for(var o,n=String(e),i="",r=!!t&&!!t.extended,s=!!t&&!!t.globstar,a=!1,l=t&&"string"==typeof t.flags?t.flags:"",u=0,c=n.length;u<c;u++)switch(o=n[u]){case"\\":case"/":case"$":case"^":case"+":case".":case"(":case")":case"=":case"!":case"|":i+="\\"+o;break;case"?":if(r){i+=".";break}case"[":case"]":if(r){i+=o;break}case"{":if(r){a=!0,i+="(";break}case"}":if(r){a=!1,i+=")";break}case",":if(a){i+="|";break}i+="\\"+o;break;case"*":for(var h=n[u-1],d=1;"*"===n[u+1];)d++,u++;var g=n[u+1];if(s)d>1&&("/"===h||void 0===h)&&("/"===g||void 0===g)?(i+="(?:[^/]*(?:/|$))*",u++):i+="[^/]*";else i+=".*";break;default:i+=o}return l&&~l.indexOf("g")||(i="^"+i+"$"),new RegExp(i,l)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(185),i=function(){function e(e,t){this.name=e,this.p2m=t,this.diagnostics=new Map,this.toDispose=new n.DisposableCollection}return e.prototype.dispose=function(){this.toDispose.dispose()},e.prototype.get=function(e){var t=this.diagnostics.get(e);return t?t.diagnostics:[]},e.prototype.set=function(e,t){var o=this,i=this.diagnostics.get(e);if(i)i.diagnostics=t;else{var s=new r(e,t,this.name,this.p2m);this.diagnostics.set(e,s),this.toDispose.push(n.Disposable.create((function(){o.diagnostics.delete(e),s.dispose()})))}},e}();t.MonacoDiagnosticCollection=i;var r=function(){function e(e,t,o,n){var i=this;this.owner=o,this.p2m=n,this._markers=[],this._diagnostics=[],this.uri=monaco.Uri.parse(e),this.diagnostics=t,monaco.editor.onDidCreateModel((function(e){return i.doUpdateModelMarkers(e)}))}return Object.defineProperty(e.prototype,"diagnostics",{get:function(){return this._diagnostics},set:function(e){this._diagnostics=e,this._markers=this.p2m.asDiagnostics(e),this.updateModelMarkers()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._markers},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._markers=[],this.updateModelMarkers()},e.prototype.updateModelMarkers=function(){var e=monaco.editor.getModel(this.uri);this.doUpdateModelMarkers(e)},e.prototype.doUpdateModelMarkers=function(e){e&&this.uri.toString()===e.uri.toString()&&monaco.editor.setModelMarkers(e,this.owner,this._markers)},e}();t.MonacoModelDiagnostics=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(315),i=o(311),r=o(313),s=o(314),a=o(312),l=o(121);!function(e){function t(e,t){void 0===t&&(t={});var o=new n.MonacoToProtocolConverter,l=new n.ProtocolToMonacoConverter;return{commands:new i.MonacoCommands(e),languages:new r.MonacoLanguages(l,o),workspace:new s.MonacoWorkspace(l,o,t.rootUri),window:new a.ConsoleWindow}}e.create=t,e.install=function(e,o){void 0===o&&(o={});var n=t(e,o);return l.Services.install(n),n},e.get=function(){return l.Services.get()}}(t.MonacoServices||(t.MonacoServices={}))},function(e,t,o){const n=o(534);n.setLocale=function(e){"function"==typeof e.default?n.Msg=Object.assign(n.Msg,e.default()):n.Msg=Object.assign(e,n.Msg)()},n.setLocale(o(535)),n.Blocks=Object.assign(n.Blocks,o(536)(n)),n.JavaScript=o(537)(n),n.Lua=o(538)(n),n.Dart=o(539)(n),n.PHP=o(540)(n),n.Python=o(541)(n),e.exports=n},function(module,exports){module.exports=function(){"use strict";var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(e){return void 0!==e},goog.isString=function(e){return"string"==typeof e},goog.isBoolean=function(e){return"boolean"==typeof e},goog.isNumber=function(e){return"number"==typeof e},goog.exportPath_=function(e,t,o){e=e.split("."),o=o||goog.global,e[0]in o||void 0===o.execScript||o.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)!e.length&&goog.isDef(t)?o[n]=t:o=o[n]&&o[n]!==Object.prototype[n]?o[n]:o[n]={}},goog.define=function(e,t){var o=t;if(!COMPILED){var n=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;n&&void 0===n.nodeType&&Object.prototype.hasOwnProperty.call(n,e)?o=n[e]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,e)&&(o=i[e])}return o},goog.FEATURESET_YEAR=2012,goog.DEBUG=!1,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.getScriptNonce=function(e){return e&&e!=goog.global?goog.getScriptNonce_(e.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(e){return(e=e.querySelector&&e.querySelector("script[nonce]"))&&(e=e.nonce||e.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(e)?e:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED){if(e in goog.loadedModules_)return goog.loadedModules_[e].exports;if(!goog.implicitNamespaces_[e])return null!=(e=goog.getObjectByName(e))?e:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var e=goog.global.$jscomp;return!!e&&("function"==typeof e.getCurrentModulePath&&!!e.getCurrentModulePath())},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(e){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(e in goog.loadedModules_)throw Error('Module with namespace "'+e+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=e;else{var t=goog.global.$jscomp;if(!t||"function"!=typeof t.getCurrentModulePath)throw Error('Module with namespace "'+e+'" has been loaded incorrectly.');t=t.require(t.getCurrentModulePath()),goog.loadedModules_[e]={exports:t,type:goog.ModuleType.ES6,moduleId:e}}},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||"",Error("Importing test-only code into non-debug environment"+(e?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){for(var o=e.split("."),n=t||goog.global,i=0;i<o.length;i++)if(n=n[o[i]],!goog.isDefAndNotNull(n))return null;return n},goog.globalize=function(e,t){var o,n=t||goog.global;for(o in e)n[o]=e[o]},goog.addDependency=function(e,t,o,n){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(e,t,o,n)},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(e){goog.global.console&&goog.global.console.error(e)},goog.require=function(e){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(e),goog.isProvided_(e)){if(goog.isInModuleLoader_())return goog.module.getInternal_(e)}else if(goog.ENABLE_DEBUG_LOADER){var t=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(e)}finally{goog.moduleLoaderState_=t}}return null}},goog.requireType=function(e){return{}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(e){e.instance_=void 0,e.getInstance=function(){return e.instance_?e.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=e),e.instance_=new e)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRANSPILE_TO_LANGUAGE="",goog.TRANSPILER="transpile.js",goog.hasBadLetScoping=null,goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(e){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping},goog.workaroundSafari10EvalBug=function(e){return"(function(){"+e+"\n;})();\n"},goog.loadModule=function(e){var t=goog.moduleLoaderState_;try{if(goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG},goog.isFunction(e))var o=e.call(void 0,{});else{if(!goog.isString(e))throw Error("Invalid module definition");goog.useSafari10Workaround()&&(e=goog.workaroundSafari10EvalBug(e)),o=goog.loadModuleFromSource_.call(void 0,e)}var n=goog.moduleLoaderState_.moduleName;if(!goog.isString(n)||!n)throw Error('Invalid module name "'+n+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(n,o):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof o&&null!=o&&Object.seal(o),goog.loadedModules_[n]={exports:o,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName}}finally{goog.moduleLoaderState_=t}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.normalizePath_=function(e){e=e.split("/");for(var t=0;t<e.length;)"."==e[t]?e.splice(t,1):t&&".."==e[t]&&e[t-1]&&".."!=e[t-1]?e.splice(--t,2):t++;return e.join("/")},goog.loadFileSync_=function(e){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(e);try{var t=new goog.global.XMLHttpRequest;return t.open("get",e,!1),t.send(),0==t.status||200==t.status?t.responseText:null}catch(e){return null}},goog.transpile_=function(e,t,o){var n=goog.global.$jscomp;n||(goog.global.$jscomp=n={});var i=n.transpile;if(!i){var r=goog.basePath+goog.TRANSPILER,s=goog.loadFileSync_(r);if(s){if(function(){(0,eval)(s+"\n//# sourceURL="+r)}.call(goog.global),goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile,i=(n=goog.global.$jscomp).transpile}}return i||(i=n.transpile=function(e,t){return goog.logToConsole_(t+" requires transpilation but no transpiler was found."),e}),i(e,t,o)},goog.typeOf=function(e){var t=typeof e;if("object"==t){if(!e)return"null";if(e instanceof Array)return"array";if(e instanceof Object)return t;var o=Object.prototype.toString.call(e);if("[object Window]"==o)return"object";if("[object Array]"==o||"number"==typeof e.length&&void 0!==e.splice&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("splice"))return"array";if("[object Function]"==o||void 0!==e.call&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("call"))return"function"}else if("function"==t&&void 0===e.call)return"object";return t},goog.isNull=function(e){return null===e},goog.isDefAndNotNull=function(e){return null!=e},goog.isArray=function(e){return"array"==goog.typeOf(e)},goog.isArrayLike=function(e){var t=goog.typeOf(e);return"array"==t||"object"==t&&"number"==typeof e.length},goog.isDateLike=function(e){return goog.isObject(e)&&"function"==typeof e.getFullYear},goog.isFunction=function(e){return"function"==goog.typeOf(e)},goog.isObject=function(e){var t=typeof e;return"object"==t&&null!=e||"function"==t},goog.getUid=function(e){return e[goog.UID_PROPERTY_]||(e[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(e){return!!e[goog.UID_PROPERTY_]},goog.removeUid=function(e){null!==e&&"removeAttribute"in e&&e.removeAttribute(goog.UID_PROPERTY_);try{delete e[goog.UID_PROPERTY_]}catch(e){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if("function"==typeof e.clone)return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.cloneObject(e[o]);return t}return e},goog.bindNative_=function(e,t,o){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,o){if(!e)throw Error();if(2<arguments.length){var n=Array.prototype.slice.call(arguments,2);return function(){var o=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(o,n),e.apply(t,o)}}return function(){return e.apply(t,arguments)}},goog.bind=function(e,t,o){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(e,t){var o=Array.prototype.slice.call(arguments,1);return function(){var t=o.slice();return t.push.apply(t,arguments),e.apply(this,t)}},goog.mixin=function(e,t){for(var o in t)e[o]=t[o]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(e){if(goog.global.execScript)goog.global.execScript(e,"JavaScript");else{if(!goog.global.eval)throw Error("goog.globalEval not available");if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(e){}if(void 0!==goog.global._evalTest_){try{delete goog.global._evalTest_}catch(e){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(e);else{var t=goog.global.document,o=t.createElement("SCRIPT");o.type="text/javascript",o.defer=!1,o.appendChild(t.createTextNode(e)),t.head.appendChild(o),t.head.removeChild(o)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(e,t){if("."==String(e).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+e);var o=function(e){return goog.cssNameMapping_[e]||e},n=function(e){e=e.split("-");for(var t=[],n=0;n<e.length;n++)t.push(o(e[n]));return t.join("-")};return n=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?o:n:function(e){return e},n=t?e+"-"+n(t):n(e),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(n):n},goog.setCssNameMapping=function(e,t){goog.cssNameMapping_=e,goog.cssNameMappingStyle_=t},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(e,t){return t&&(e=e.replace(/\{\$([^}]+)}/g,(function(e,o){return null!=t&&o in t?t[o]:e}))),e},goog.getMsgWithFallback=function(e,t){return e},goog.exportSymbol=function(e,t,o){goog.exportPath_(e,t,o)},goog.exportProperty=function(e,t,o){e[t]=o},goog.inherits=function(e,t){function o(){}o.prototype=t.prototype,e.superClass_=t.prototype,e.prototype=new o,e.prototype.constructor=e,e.base=function(e,o,n){for(var i=Array(arguments.length-2),r=2;r<arguments.length;r++)i[r-2]=arguments[r];return t.prototype[o].apply(e,i)}},goog.base=function(e,t,o){var n=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!n)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(void 0!==n.superClass_){for(var i=Array(arguments.length-1),r=1;r<arguments.length;r++)i[r-1]=arguments[r];return n.superClass_.constructor.apply(e,i)}if("string"!=typeof t&&"symbol"!=typeof t)throw Error("method names provided to goog.base must be a string or a symbol");for(i=Array(arguments.length-2),r=2;r<arguments.length;r++)i[r-2]=arguments[r];r=!1;for(var s=e.constructor.prototype;s;s=Object.getPrototypeOf(s))if(s[t]===n)r=!0;else if(r)return s[t].apply(e,i);if(e[t]===n)return e.constructor.prototype[t].apply(e,i);throw Error("goog.base called from a method of one name to a method of a different name")},goog.scope=function(e){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");e.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(e,t){var o=t.constructor,n=t.statics;return o&&o!=Object.prototype.constructor||(o=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),o=goog.defineClass.createSealingConstructor_(o,e),e&&goog.inherits(o,e),delete t.constructor,delete t.statics,goog.defineClass.applyProperties_(o.prototype,t),null!=n&&(n instanceof Function?n(o):goog.defineClass.applyProperties_(o,n)),o},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(e,t){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return e;var o=!goog.defineClass.isUnsealable_(t),n=function(){var t=e.apply(this,arguments)||this;return t[goog.UID_PROPERTY_]=t[goog.UID_PROPERTY_],this.constructor===n&&o&&Object.seal instanceof Function&&Object.seal(t),t};return n},goog.defineClass.isUnsealable_=function(e){return e&&e.prototype&&e.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);for(var n=0;n<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;n++)o=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[n],Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},goog.tagUnsealableClass=function(e){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(e.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable",!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var e=goog.global.document;return null!=e&&"write"in e},goog.isDocumentLoading_=function(){var e=goog.global.document;return e.attachEvent?"complete"!=e.readyState:"loading"==e.readyState},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var e=goog.global.document,t=e.currentScript;for(t=(e=t?[t]:e.getElementsByTagName("SCRIPT")).length-1;0<=t;--t){var o=e[t].src,n=o.lastIndexOf("?");if(n=-1==n?o.length:n,"base.js"==o.substr(n-7,7)){goog.basePath=o.substr(0,n-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null,this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(t,o){e?d[t]=!0:o()?(c=t,d[t]=!1):e=d[t]=!0}function b(a){try{return!!eval(a)}catch(e){return!1}}var c="es3",d={es3:!1},e=!1,f=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";return a("es5",(function(){return b("[1,].length==1")})),a("es6",(function(){return!f.match(/Edge\/(\d+)(\.\d)*/i)&&b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(e,t){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var o=this.createRequiresTranspilation_();this.requiresTranspilation_=o.map,this.transpilationTarget_=this.transpilationTarget_||o.target}if(e in this.requiresTranspilation_)return!!this.requiresTranspilation_[e]||!(!goog.inHtmlDocument_()||"es6"!=t||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+e)},goog.Transpiler.prototype.transpile=function(e,t){return goog.transpile_(e,t,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(e){return e.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(e,t){function o(){n&&(goog.global.setTimeout(n,0),n=null)}var n=t;if(e.length){for(var i=[],r=0;r<e.length;r++){var s=this.getPathFromDeps_(e[r]);if(!s)throw Error("Unregonized namespace: "+e[r]);i.push(this.dependencies_[s])}s=goog.require;var a=0;for(r=0;r<e.length;r++)s(e[r]),i[r].onLoad((function(){++a==e.length&&o()}))}else o()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1)),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(e,t){var o=this.getPathFromDeps_(e);if(o&&(t||this.areDepsLoaded_(this.dependencies_[o].requires))){var n=this.deferredCallbacks_[o];n&&(delete this.deferredCallbacks_[o],n())}},goog.DebugLoader_.prototype.setDependencyFactory=function(e){this.factory_=e},goog.DebugLoader_.prototype.load_=function(e){if(!this.getPathFromDeps_(e))throw e="goog.require could not find: "+e,goog.logToConsole_(e),Error(e);var t=this,o=[],n=function(e){var i=t.getPathFromDeps_(e);if(!i)throw Error("Bad dependency path or symbol: "+e);if(!t.written_[i]){for(t.written_[i]=!0,e=t.dependencies_[i],i=0;i<e.requires.length;i++)goog.isProvided_(e.requires[i])||n(e.requires[i]);o.push(e)}};n(e),e=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(o),this.paused_||e||this.loadDeps_()},goog.DebugLoader_.prototype.loadDeps_=function(){for(var e=this,t=this.paused_;this.depsToLoad_.length&&!t;)!function(){var o=!1,n=e.depsToLoad_.shift(),i=!1;e.loading_(n);var r={pause:function(){if(o)throw Error("Cannot call pause after the call to load.");t=!0},resume:function(){o?e.resume_():t=!1},loaded:function(){if(i)throw Error("Double call to loaded.");i=!0,e.loaded_(n)},pending:function(){for(var t=[],o=0;o<e.loadingDeps_.length;o++)t.push(e.loadingDeps_[o]);return t},setModuleState:function(e){goog.moduleLoaderState_={type:e,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(e,t,o){o&&(goog.loadedModules_[o]={exports:t,type:goog.ModuleType.ES6,moduleId:o||""})},registerGoogModuleExports:function(e,t){goog.loadedModules_[e]={exports:t,type:goog.ModuleType.GOOG,moduleId:e}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(t){if(o)throw Error("Cannot register with defer after the call to load.");e.defer_(n,t)},areDepsLoaded:function(){return e.areDepsLoaded_(n.requires)}};try{n.load(r)}finally{o=!0}}();t&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(e){this.loadingDeps_.push(e)},goog.DebugLoader_.prototype.loaded_=function(e){for(var t=0;t<this.loadingDeps_.length;t++)if(this.loadingDeps_[t]==e){this.loadingDeps_.splice(t,1);break}for(t=0;t<this.deferredQueue_.length;t++)if(this.deferredQueue_[t]==e.path){this.deferredQueue_.splice(t,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);e.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(e){for(var t=0;t<e.length;t++){var o=this.getPathFromDeps_(e[t]);if(!o||!(o in this.deferredCallbacks_||goog.isProvided_(e[t])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(e){return e in this.idToPath_?this.idToPath_[e]:e in this.dependencies_?e:null},goog.DebugLoader_.prototype.defer_=function(e,t){this.deferredCallbacks_[e.path]=t,this.deferredQueue_.push(e.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(e,t,o){},goog.LoadController.prototype.setModuleState=function(e){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(e){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(e,t,o,n,i){this.path=e,this.relativePath=t,this.provides=o,this.requires=n,this.loadFlags=i,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var e=this.path,t=e.indexOf("://");return 0<=t&&(0<=(t=(e=e.substring(t+3)).indexOf("/"))&&(e=e.substring(t+1))),e},goog.Dependency.prototype.onLoad=function(e){this.loaded_?e():this.loadCallbacks_.push(e)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var e=this.loadCallbacks_;this.loadCallbacks_=[];for(var t=0;t<e.length;t++)e[t]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(e){var t=Math.random().toString(32);return goog.Dependency.callbackMap_[t]=e,t},goog.Dependency.unregisterCallback_=function(e){delete goog.Dependency.callbackMap_[e]},goog.Dependency.callback_=function(e,t){if(!(e in goog.Dependency.callbackMap_))throw Error("Callback key "+e+" does not exist (was base.js loaded more than once?).");for(var o=goog.Dependency.callbackMap_[e],n=[],i=1;i<arguments.length;i++)n.push(arguments[i]);o.apply(void 0,n)},goog.Dependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document;if("complete"==t.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path))return void e.loaded();throw Error('Cannot write "'+this.path+'" after document load')}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var o=goog.Dependency.registerCallback_((function(t){goog.DebugLoader_.IS_OLD_IE_&&"complete"!=t.readyState||(goog.Dependency.unregisterCallback_(o),e.loaded())})),n=!goog.DebugLoader_.IS_OLD_IE_&&goog.getScriptNonce()?' nonce="'+goog.getScriptNonce()+'"':"";n='<script src="'+this.path+'" '+(goog.DebugLoader_.IS_OLD_IE_?"onreadystatechange":"onload")+"=\"goog.Dependency.callback_('"+o+'\', this)" type="text/javascript" '+(goog.Dependency.defer_?"defer":"")+n+"><\/script>",t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}else{var i=t.createElement("script");i.defer=goog.Dependency.defer_,i.async=!1,i.type="text/javascript",(n=goog.getScriptNonce())&&i.setAttribute("nonce",n),goog.DebugLoader_.IS_OLD_IE_?(e.pause(),i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(e.loaded(),e.resume())}):i.onload=function(){i.onload=null,e.loaded()},i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,t.head.appendChild(i)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),e.loaded()):e.pause()},goog.Es6ModuleDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document,o=this;if(goog.isDocumentLoading_()){var n=function(e,o){var n=o?'<script type="module" crossorigin>'+o+"<\/script>":'<script type="module" crossorigin src="'+e+'"><\/script>';t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)};goog.Dependency.defer_=!0}else n=function(e,o){var n=t.createElement("script");n.defer=!0,n.async=!1,n.type="module",n.setAttribute("crossorigin",!0);var i=goog.getScriptNonce();i&&n.setAttribute("nonce",i),o?n.textContent=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(o):o:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(e):e,t.head.appendChild(n)};var i=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(i),e.setModuleState(goog.ModuleType.ES6)}));n(void 0,'goog.Dependency.callback_("'+i+'")'),n(this.path,void 0);var r=goog.Dependency.registerCallback_((function(t){goog.Dependency.unregisterCallback_(r),e.registerEs6ModuleExports(o.path,t,goog.moduleLoaderState_.moduleName)}));n(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+r+'", m)');var s=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(s),e.clearModuleState(),e.loaded()}));n(void 0,'goog.Dependency.callback_("'+s+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),e.pause()},goog.TransformedDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i),this.contents_=null,this.lazyFetch_=!(goog.inHtmlDocument_()&&"noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(e){function t(){n.contents_=goog.loadFileSync_(n.path),n.contents_&&(n.contents_=n.transform(n.contents_),n.contents_&&(n.contents_+="\n//# sourceURL="+n.path))}function o(){if(n.lazyFetch_&&t(),n.contents_){i&&e.setModuleState(goog.ModuleType.ES6);try{var o=n.contents_;if(n.contents_=null,goog.globalEval(o),i)var r=goog.moduleLoaderState_.moduleName}finally{i&&e.clearModuleState()}i&&goog.global.$jscomp.require.ensure([n.getPathName()],(function(){e.registerEs6ModuleExports(n.path,goog.global.$jscomp.require(n.getPathName()),r)})),e.loaded()}}var n=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)t(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,e.loaded()):e.pause();else{var i=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||t();var r=1<e.pending().length,s=r&&goog.DebugLoader_.IS_OLD_IE_;if(r=goog.Dependency.defer_&&(r||goog.isDocumentLoading_()),s||r)e.defer((function(){o()}));else{var a=goog.global.document;if(s=goog.inHtmlDocument_()&&"ActiveXObject"in goog.global,i&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!s){goog.Dependency.defer_=!0,e.pause();var l=a.onreadystatechange;a.onreadystatechange=function(){"interactive"==a.readyState&&(a.onreadystatechange=l,o(),e.resume()),goog.isFunction(l)&&l.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?function(){var e=goog.global.document,t=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(t),o()})),n='<script type="text/javascript">'+goog.protectScriptTag_('goog.Dependency.callback_("'+t+'");')+"<\/script>";e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}():o()}}},goog.TransformedDependency.prototype.transform=function(e){},goog.TranspiledDependency=function(e,t,o,n,i,r){goog.TransformedDependency.call(this,e,t,o,n,i),this.transpiler=r},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(e){return this.transpiler.transpile(e,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=function(e,t,o,n,i){goog.TransformedDependency.call(this,e,t,o,n,i)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(e){return e},goog.GoogModuleDependency=function(e,t,o,n,i,r,s){goog.TransformedDependency.call(this,e,t,o,n,i),this.needsTranspile_=r,this.transpiler_=s},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(e){return this.needsTranspile_&&(e=this.transpiler_.transpile(e,this.getPathName())),goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(e+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+e+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(e,t,o,n){t=t||[],e=e.replace(/\\/g,"/");var i=goog.normalizePath_(goog.basePath+e);for(n&&"boolean"!=typeof n||(n=n?{module:goog.ModuleType.GOOG}:{}),o=this.factory_.createDependency(i,e,t,o,n,goog.transpiler_.needsTranspile(n.lang||"es3",n.module)),this.dependencies_[i]=o,o=0;o<t.length;o++)this.idToPath_[t[o]]=i;this.idToPath_[e]=i},goog.DependencyFactory=function(e){this.transpiler=e},goog.DependencyFactory.prototype.createDependency=function(e,t,o,n,i,r){return i.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(e,t,o,n,i,r,this.transpiler):r?new goog.TranspiledDependency(e,t,o,n,i,this.transpiler):i.module==goog.ModuleType.ES6?"never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(e,t,o,n,i):new goog.Es6ModuleDependency(e,t,o,n,i):new goog.Dependency(e,t,o,n,i)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(e){goog.debugLoader_.setDependencyFactory(e)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(e,t){goog.debugLoader_.bootstrap(e,t)}),goog.TRUSTED_TYPES_POLICY_NAME="",goog.identity_=function(e){return e},goog.createTrustedTypesPolicy=function(e){var t=null;if("undefined"==typeof TrustedTypes||!TrustedTypes.createPolicy)return t;try{t=TrustedTypes.createPolicy(e,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(e){goog.logToConsole_(e.message)}return t},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.debug={},goog.debug.Error=function(e){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var t=Error().stack;t&&(this.stack=t)}e&&(this.message=String(e)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(e,t){goog.debug.Error.call(this,goog.asserts.subs_(e,t)),this.messagePattern=e},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(e){throw e},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(e,t){for(var o=e.split("%s"),n="",i=o.length-1,r=0;r<i;r++)n+=o[r]+(r<t.length?t[r]:"%s");return n+o[i]},goog.asserts.doAssertFailure_=function(e,t,o,n){var i="Assertion failed";if(o){i+=": "+o;var r=n}else e&&(i+=": "+e,r=t);e=new goog.asserts.AssertionError(""+i,r||[]),goog.asserts.errorHandler_(e)},goog.asserts.setErrorHandler=function(e){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=e)},goog.asserts.assert=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!e&&goog.asserts.doAssertFailure_("",null,t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertExists=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&null==e&&goog.asserts.doAssertFailure_("Expected to exist: %s.",[e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.fail=function(e,t){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(e?": "+e:""),Array.prototype.slice.call(arguments,1)))},goog.asserts.assertNumber=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(e)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertString=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(e)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertFunction=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(e)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertObject=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(e)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertArray=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(e)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertBoolean=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(e)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertElement=function(e,t,o){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(e)&&e.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertInstanceof=function(e,t,o,n){return!goog.asserts.ENABLE_ASSERTS||e instanceof t||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(t),goog.asserts.getType_(e)],o,Array.prototype.slice.call(arguments,3)),e},goog.asserts.assertFinite=function(e,t,o){return!goog.asserts.ENABLE_ASSERTS||"number"==typeof e&&isFinite(e)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var e in Object.prototype)goog.asserts.fail(e+" should not be enumerable in Object.prototype.")},goog.asserts.getType_=function(e){return e instanceof Function?e.displayName||e.name||"unknown type name":e instanceof Object?e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e):null===e?"null":typeof e},goog.debug.entryPointRegistry={},goog.debug.EntryPointMonitor=function(){},goog.debug.entryPointRegistry.refList_=[],goog.debug.entryPointRegistry.monitors_=[],goog.debug.entryPointRegistry.monitorsMayExist_=!1,goog.debug.entryPointRegistry.register=function(e){if(goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=e,goog.debug.entryPointRegistry.monitorsMayExist_)for(var t=goog.debug.entryPointRegistry.monitors_,o=0;o<t.length;o++)e(goog.bind(t[o].wrap,t[o]))},goog.debug.entryPointRegistry.monitorAll=function(e){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var t=goog.bind(e.wrap,e),o=0;o<goog.debug.entryPointRegistry.refList_.length;o++)goog.debug.entryPointRegistry.refList_[o](t);goog.debug.entryPointRegistry.monitors_.push(e)},goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(e){var t=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(e==t[t.length-1],"Only the most recent monitor can be unwrapped."),e=goog.bind(e.unwrap,e);for(var o=0;o<goog.debug.entryPointRegistry.refList_.length;o++)goog.debug.entryPointRegistry.refList_[o](e);t.length--},goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE,goog.array.ASSUME_NATIVE_FUNCTIONS=!1,goog.array.peek=function(e){return e[e.length-1]},goog.array.last=goog.array.peek,goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.indexOf.call(e,t,o)}:function(e,t,o){if(o=null==o?0:0>o?Math.max(0,e.length+o):o,goog.isString(e))return goog.isString(t)&&1==t.length?e.indexOf(t,o):-1;for(;o<e.length;o++)if(o in e&&e[o]===t)return o;return-1},goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.lastIndexOf.call(e,t,null==o?e.length-1:o)}:function(e,t,o){if(0>(o=null==o?e.length-1:o)&&(o=Math.max(0,e.length+o)),goog.isString(e))return goog.isString(t)&&1==t.length?e.lastIndexOf(t,o):-1;for(;0<=o;o--)if(o in e&&e[o]===t)return o;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(e,t,o){goog.asserts.assert(null!=e.length),Array.prototype.forEach.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)r in i&&t.call(o,i[r],r,e)},goog.array.forEachRight=function(e,t,o){var n=e.length,i=goog.isString(e)?e.split(""):e;for(--n;0<=n;--n)n in i&&t.call(o,i[n],n,e)},goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.filter.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=[],r=0,s=goog.isString(e)?e.split(""):e,a=0;a<n;a++)if(a in s){var l=s[a];t.call(o,l,a,e)&&(i[r++]=l)}return i},goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.map.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=Array(n),r=goog.isString(e)?e.split(""):e,s=0;s<n;s++)s in r&&(i[s]=t.call(o,r[s],s,e));return i},goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(e,t,o,n){return goog.asserts.assert(null!=e.length),n&&(t=goog.bind(t,n)),Array.prototype.reduce.call(e,t,o)}:function(e,t,o,n){var i=o;return goog.array.forEach(e,(function(o,r){i=t.call(n,i,o,r,e)})),i},goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(e,t,o,n){return goog.asserts.assert(null!=e.length),goog.asserts.assert(null!=t),n&&(t=goog.bind(t,n)),Array.prototype.reduceRight.call(e,t,o)}:function(e,t,o,n){var i=o;return goog.array.forEachRight(e,(function(o,r){i=t.call(n,i,o,r,e)})),i},goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.some.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&t.call(o,i[r],r,e))return!0;return!1},goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.every.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&!t.call(o,i[r],r,e))return!1;return!0},goog.array.count=function(e,t,o){var n=0;return goog.array.forEach(e,(function(e,i,r){t.call(o,e,i,r)&&++n}),o),n},goog.array.find=function(e,t,o){return 0>(t=goog.array.findIndex(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndex=function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&t.call(o,i[r],r,e))return r;return-1},goog.array.findRight=function(e,t,o){return 0>(t=goog.array.findIndexRight(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndexRight=function(e,t,o){var n=e.length,i=goog.isString(e)?e.split(""):e;for(--n;0<=n;n--)if(n in i&&t.call(o,i[n],n,e))return n;return-1},goog.array.contains=function(e,t){return 0<=goog.array.indexOf(e,t)},goog.array.isEmpty=function(e){return 0==e.length},goog.array.clear=function(e){if(!goog.isArray(e))for(var t=e.length-1;0<=t;t--)delete e[t];e.length=0},goog.array.insert=function(e,t){goog.array.contains(e,t)||e.push(t)},goog.array.insertAt=function(e,t,o){goog.array.splice(e,o,0,t)},goog.array.insertArrayAt=function(e,t,o){goog.partial(goog.array.splice,e,o,0).apply(null,t)},goog.array.insertBefore=function(e,t,o){var n;2==arguments.length||0>(n=goog.array.indexOf(e,o))?e.push(t):goog.array.insertAt(e,t,n)},goog.array.remove=function(e,t){var o,n=goog.array.indexOf(e,t);return(o=0<=n)&&goog.array.removeAt(e,n),o},goog.array.removeLast=function(e,t){var o=goog.array.lastIndexOf(e,t);return 0<=o&&(goog.array.removeAt(e,o),!0)},goog.array.removeAt=function(e,t){return goog.asserts.assert(null!=e.length),1==Array.prototype.splice.call(e,t,1).length},goog.array.removeIf=function(e,t,o){return 0<=(t=goog.array.findIndex(e,t,o))&&(goog.array.removeAt(e,t),!0)},goog.array.removeAllIf=function(e,t,o){var n=0;return goog.array.forEachRight(e,(function(i,r){t.call(o,i,r,e)&&goog.array.removeAt(e,r)&&n++})),n},goog.array.concat=function(e){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(e){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(e){var t=e.length;if(0<t){for(var o=Array(t),n=0;n<t;n++)o[n]=e[n];return o}return[]},goog.array.clone=goog.array.toArray,goog.array.extend=function(e,t){for(var o=1;o<arguments.length;o++){var n=arguments[o];if(goog.isArrayLike(n)){var i=e.length||0,r=n.length||0;e.length=i+r;for(var s=0;s<r;s++)e[i+s]=n[s]}else e.push(n)}},goog.array.splice=function(e,t,o,n){return goog.asserts.assert(null!=e.length),Array.prototype.splice.apply(e,goog.array.slice(arguments,1))},goog.array.slice=function(e,t,o){return goog.asserts.assert(null!=e.length),2>=arguments.length?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,o)},goog.array.removeDuplicates=function(e,t,o){t=t||e;var n=function(e){return goog.isObject(e)?"o"+goog.getUid(e):(typeof e).charAt(0)+e};o=o||n,n={};for(var i=0,r=0;r<e.length;){var s=e[r++],a=o(s);Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,t[i++]=s)}t.length=i},goog.array.binarySearch=function(e,t,o){return goog.array.binarySearch_(e,o||goog.array.defaultCompare,!1,t)},goog.array.binarySelect=function(e,t,o){return goog.array.binarySearch_(e,t,!0,void 0,o)},goog.array.binarySearch_=function(e,t,o,n,i){for(var r,s=0,a=e.length;s<a;){var l=s+a>>1,u=o?t.call(i,e[l],l,e):t(n,e[l]);0<u?s=l+1:(a=l,r=!u)}return r?s:~s},goog.array.sort=function(e,t){e.sort(t||goog.array.defaultCompare)},goog.array.stableSort=function(e,t){for(var o=Array(e.length),n=0;n<e.length;n++)o[n]={index:n,value:e[n]};var i=t||goog.array.defaultCompare;for(goog.array.sort(o,(function(e,t){return i(e.value,t.value)||e.index-t.index})),n=0;n<e.length;n++)e[n]=o[n].value},goog.array.sortByKey=function(e,t,o){var n=o||goog.array.defaultCompare;goog.array.sort(e,(function(e,o){return n(t(e),t(o))}))},goog.array.sortObjectsByKey=function(e,t,o){goog.array.sortByKey(e,(function(e){return e[t]}),o)},goog.array.isSorted=function(e,t,o){t=t||goog.array.defaultCompare;for(var n=1;n<e.length;n++){var i=t(e[n-1],e[n]);if(0<i||0==i&&o)return!1}return!0},goog.array.equals=function(e,t,o){if(!goog.isArrayLike(e)||!goog.isArrayLike(t)||e.length!=t.length)return!1;var n=e.length;o=o||goog.array.defaultCompareEquality;for(var i=0;i<n;i++)if(!o(e[i],t[i]))return!1;return!0},goog.array.compare3=function(e,t,o){o=o||goog.array.defaultCompare;for(var n=Math.min(e.length,t.length),i=0;i<n;i++){var r=o(e[i],t[i]);if(0!=r)return r}return goog.array.defaultCompare(e.length,t.length)},goog.array.defaultCompare=function(e,t){return e>t?1:e<t?-1:0},goog.array.inverseDefaultCompare=function(e,t){return-goog.array.defaultCompare(e,t)},goog.array.defaultCompareEquality=function(e,t){return e===t},goog.array.binaryInsert=function(e,t,o){return 0>(o=goog.array.binarySearch(e,t,o))&&(goog.array.insertAt(e,t,-(o+1)),!0)},goog.array.binaryRemove=function(e,t,o){return 0<=(t=goog.array.binarySearch(e,t,o))&&goog.array.removeAt(e,t)},goog.array.bucket=function(e,t,o){for(var n={},i=0;i<e.length;i++){var r=e[i],s=t.call(o,r,i,e);goog.isDef(s)&&(n[s]||(n[s]=[])).push(r)}return n},goog.array.toObject=function(e,t,o){var n={};return goog.array.forEach(e,(function(i,r){n[t.call(o,i,r,e)]=i})),n},goog.array.range=function(e,t,o){var n=[],i=0,r=e;if(void 0!==t&&(i=e,r=t),0>(o=o||1)*(r-i))return[];if(0<o)for(e=i;e<r;e+=o)n.push(e);else for(e=i;e>r;e+=o)n.push(e);return n},goog.array.repeat=function(e,t){for(var o=[],n=0;n<t;n++)o[n]=e;return o},goog.array.flatten=function(e){for(var t=[],o=0;o<arguments.length;o++){var n=arguments[o];if(goog.isArray(n))for(var i=0;i<n.length;i+=8192){var r=goog.array.slice(n,i,i+8192);r=goog.array.flatten.apply(null,r);for(var s=0;s<r.length;s++)t.push(r[s])}else t.push(n)}return t},goog.array.rotate=function(e,t){return goog.asserts.assert(null!=e.length),e.length&&(0<(t%=e.length)?Array.prototype.unshift.apply(e,e.splice(-t,t)):0>t&&Array.prototype.push.apply(e,e.splice(0,-t))),e},goog.array.moveItem=function(e,t,o){goog.asserts.assert(0<=t&&t<e.length),goog.asserts.assert(0<=o&&o<e.length),t=Array.prototype.splice.call(e,t,1),Array.prototype.splice.call(e,o,0,t[0])},goog.array.zip=function(e){if(!arguments.length)return[];for(var t=[],o=arguments[0].length,n=1;n<arguments.length;n++)arguments[n].length<o&&(o=arguments[n].length);for(n=0;n<o;n++){for(var i=[],r=0;r<arguments.length;r++)i.push(arguments[r][n]);t.push(i)}return t},goog.array.shuffle=function(e,t){for(var o=t||Math.random,n=e.length-1;0<n;n--){var i=Math.floor(o()*(n+1)),r=e[n];e[n]=e[i],e[i]=r}},goog.array.copyByIndex=function(e,t){var o=[];return goog.array.forEach(t,(function(t){o.push(e[t])})),o},goog.array.concatMap=function(e,t,o){return goog.array.concat.apply([],goog.array.map(e,t,o))},goog.debug.errorcontext={},goog.debug.errorcontext.addErrorContext=function(e,t,o){e[goog.debug.errorcontext.CONTEXT_KEY_]||(e[goog.debug.errorcontext.CONTEXT_KEY_]={}),e[goog.debug.errorcontext.CONTEXT_KEY_][t]=o},goog.debug.errorcontext.getErrorContext=function(e){return e[goog.debug.errorcontext.CONTEXT_KEY_]||{}},goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382",goog.string={},goog.string.internal={},goog.string.internal.startsWith=function(e,t){return 0==e.lastIndexOf(t,0)},goog.string.internal.endsWith=function(e,t){var o=e.length-t.length;return 0<=o&&e.indexOf(t,o)==o},goog.string.internal.caseInsensitiveStartsWith=function(e,t){return 0==goog.string.internal.caseInsensitiveCompare(t,e.substr(0,t.length))},goog.string.internal.caseInsensitiveEndsWith=function(e,t){return 0==goog.string.internal.caseInsensitiveCompare(t,e.substr(e.length-t.length,t.length))},goog.string.internal.caseInsensitiveEquals=function(e,t){return e.toLowerCase()==t.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(e){return/^[\s\xa0]*$/.test(e)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(e){return e.trim()}:function(e){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(e)[1]},goog.string.internal.caseInsensitiveCompare=function(e,t){var o=String(e).toLowerCase(),n=String(t).toLowerCase();return o<n?-1:o==n?0:1},goog.string.internal.newLineToBr=function(e,t){return e.replace(/(\r\n|\r|\n)/g,t?"<br />":"<br>")},goog.string.internal.htmlEscape=function(e,t){if(t)e=e.replace(goog.string.internal.AMP_RE_,"&amp;").replace(goog.string.internal.LT_RE_,"&lt;").replace(goog.string.internal.GT_RE_,"&gt;").replace(goog.string.internal.QUOT_RE_,"&quot;").replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.internal.NULL_RE_,"&#0;");else{if(!goog.string.internal.ALL_RE_.test(e))return e;-1!=e.indexOf("&")&&(e=e.replace(goog.string.internal.AMP_RE_,"&amp;")),-1!=e.indexOf("<")&&(e=e.replace(goog.string.internal.LT_RE_,"&lt;")),-1!=e.indexOf(">")&&(e=e.replace(goog.string.internal.GT_RE_,"&gt;")),-1!=e.indexOf('"')&&(e=e.replace(goog.string.internal.QUOT_RE_,"&quot;")),-1!=e.indexOf("'")&&(e=e.replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;")),-1!=e.indexOf("\0")&&(e=e.replace(goog.string.internal.NULL_RE_,"&#0;"))}return e},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=/</g,goog.string.internal.GT_RE_=/>/g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(e,t){return goog.string.internal.newLineToBr(e.replace(/  /g," &#160;"),t)},goog.string.internal.contains=function(e,t){return-1!=e.indexOf(t)},goog.string.internal.caseInsensitiveContains=function(e,t){return goog.string.internal.contains(e.toLowerCase(),t.toLowerCase())},goog.string.internal.compareVersions=function(e,t){for(var o=0,n=goog.string.internal.trim(String(e)).split("."),i=goog.string.internal.trim(String(t)).split("."),r=Math.max(n.length,i.length),s=0;0==o&&s<r;s++){var a=n[s]||"",l=i[s]||"";do{if(a=/(\d*)(\D*)(.*)/.exec(a)||["","","",""],l=/(\d*)(\D*)(.*)/.exec(l)||["","","",""],0==a[0].length&&0==l[0].length)break;o=0==a[1].length?0:parseInt(a[1],10);var u=0==l[1].length?0:parseInt(l[1],10);o=goog.string.internal.compareElements_(o,u)||goog.string.internal.compareElements_(0==a[2].length,0==l[2].length)||goog.string.internal.compareElements_(a[2],l[2]),a=a[3],l=l[3]}while(0==o)}return o},goog.string.internal.compareElements_=function(e,t){return e<t?-1:e>t?1:0},goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var e=goog.labs.userAgent.util.getNavigator_();return e&&(e=e.userAgent)?e:""},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(e){goog.labs.userAgent.util.userAgent_=e||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.contains(t,e)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.caseInsensitiveContains(t,e)},goog.labs.userAgent.util.extractVersionTuples=function(e){for(var t,o=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),n=[];t=o.exec(e);)n.push([t[1],t[2],t[3]||void 0]);return n},goog.object={},goog.object.is=function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},goog.object.forEach=function(e,t,o){for(var n in e)t.call(o,e[n],n,e)},goog.object.filter=function(e,t,o){var n,i={};for(n in e)t.call(o,e[n],n,e)&&(i[n]=e[n]);return i},goog.object.map=function(e,t,o){var n,i={};for(n in e)i[n]=t.call(o,e[n],n,e);return i},goog.object.some=function(e,t,o){for(var n in e)if(t.call(o,e[n],n,e))return!0;return!1},goog.object.every=function(e,t,o){for(var n in e)if(!t.call(o,e[n],n,e))return!1;return!0},goog.object.getCount=function(e){var t,o=0;for(t in e)o++;return o},goog.object.getAnyKey=function(e){for(var t in e)return t},goog.object.getAnyValue=function(e){for(var t in e)return e[t]},goog.object.contains=function(e,t){return goog.object.containsValue(e,t)},goog.object.getValues=function(e){var t,o=[],n=0;for(t in e)o[n++]=e[t];return o},goog.object.getKeys=function(e){var t,o=[],n=0;for(t in e)o[n++]=t;return o},goog.object.getValueByKeys=function(e,t){var o=goog.isArrayLike(t),n=o?t:arguments;for(o=o?0:1;o<n.length;o++){if(null==e)return;e=e[n[o]]}return e},goog.object.containsKey=function(e,t){return null!==e&&t in e},goog.object.containsValue=function(e,t){for(var o in e)if(e[o]==t)return!0;return!1},goog.object.findKey=function(e,t,o){for(var n in e)if(t.call(o,e[n],n,e))return n},goog.object.findValue=function(e,t,o){return(t=goog.object.findKey(e,t,o))&&e[t]},goog.object.isEmpty=function(e){for(var t in e)return!1;return!0},goog.object.clear=function(e){for(var t in e)delete e[t]},goog.object.remove=function(e,t){var o;return(o=t in e)&&delete e[t],o},goog.object.add=function(e,t,o){if(null!==e&&t in e)throw Error('The object already contains the key "'+t+'"');goog.object.set(e,t,o)},goog.object.get=function(e,t,o){return null!==e&&t in e?e[t]:o},goog.object.set=function(e,t,o){e[t]=o},goog.object.setIfUndefined=function(e,t,o){return t in e?e[t]:e[t]=o},goog.object.setWithReturnValueIfNotSet=function(e,t,o){return t in e?e[t]:(o=o(),e[t]=o)},goog.object.equals=function(e,t){for(var o in e)if(!(o in t)||e[o]!==t[o])return!1;for(o in t)if(!(o in e))return!1;return!0},goog.object.clone=function(e){var t,o={};for(t in e)o[t]=e[t];return o},goog.object.unsafeClone=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if(goog.isFunction(e.clone))return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.object.unsafeClone(e[o]);return t}return e},goog.object.transpose=function(e){var t,o={};for(t in e)o[e[t]]=t;return o},goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.object.extend=function(e,t){for(var o,n,i=1;i<arguments.length;i++){for(o in n=arguments[i])e[o]=n[o];for(var r=0;r<goog.object.PROTOTYPE_FIELDS_.length;r++)o=goog.object.PROTOTYPE_FIELDS_[r],Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}},goog.object.create=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(t%2)throw Error("Uneven number of arguments");for(var o={},n=0;n<t;n+=2)o[arguments[n]]=arguments[n+1];return o},goog.object.createSet=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var o={},n=0;n<t;n++)o[arguments[n]]=!0;return o},goog.object.createImmutableView=function(e){var t=e;return Object.isFrozen&&!Object.isFrozen(e)&&(t=Object.create(e),Object.freeze(t)),t},goog.object.isImmutableView=function(e){return!!Object.isFrozen&&Object.isFrozen(e)},goog.object.getAllPropertyNames=function(e,t,o){if(!e)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(e);for(var n={};e&&(e!==Object.prototype||t)&&(e!==Function.prototype||o);){for(var i=Object.getOwnPropertyNames(e),r=0;r<i.length;r++)n[i[r]]=!0;e=Object.getPrototypeOf(e)}return goog.object.getKeys(n)},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.browser.matchEdgeHtml_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.browser.matchEdgeChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("Edg/")},goog.labs.userAgent.browser.matchOperaChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("OPR")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")||goog.labs.userAgent.util.matchUserAgent("FxiOS")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdgeHtml_()||goog.labs.userAgent.browser.matchEdgeChromium_()||goog.labs.userAgent.browser.matchOperaChromium_()||goog.labs.userAgent.browser.matchFirefox_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&!goog.labs.userAgent.browser.matchFirefox_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdgeHtml_()},goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdgeHtml_,goog.labs.userAgent.browser.isEdgeChromium=goog.labs.userAgent.browser.matchEdgeChromium_,goog.labs.userAgent.browser.isOperaChromium=goog.labs.userAgent.browser.matchOperaChromium_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")},goog.labs.userAgent.browser.getVersion=function(){function e(e){return e=goog.array.find(e,n),o[e]||""}var t=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(t);t=goog.labs.userAgent.util.extractVersionTuples(t);var o={};goog.array.forEach(t,(function(e){o[e[0]]=e[1]}));var n=goog.partial(goog.object.containsKey,o);return goog.labs.userAgent.browser.isOpera()?e(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?e(["Edge"]):goog.labs.userAgent.browser.isEdgeChromium()?e(["Edg"]):goog.labs.userAgent.browser.isChrome()?e(["Chrome","CriOS"]):(t=t[2])&&t[1]||""},goog.labs.userAgent.browser.isVersionOrHigher=function(e){return 0<=goog.string.internal.compareVersions(goog.labs.userAgent.browser.getVersion(),e)},goog.labs.userAgent.browser.getIEVersion_=function(e){var t=/rv: *([\d\.]*)/.exec(e);if(t&&t[1])return t[1];t="";var o=/MSIE +([\d\.]+)/.exec(e);if(o&&o[1])if(e=/Trident\/(\d.\d)/.exec(e),"7.0"==o[1])if(e&&e[1])switch(e[1]){case"4.0":t="8.0";break;case"5.0":t="9.0";break;case"6.0":t="10.0";break;case"7.0":t="11.0"}else t="7.0";else t=o[1];return t},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(e){if(goog.asserts.ENABLE_ASSERTS){var t=goog.dom.asserts.getWindow_(e);t&&(!e||!(e instanceof t.Location)&&e instanceof t.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(e))}return e},goog.dom.asserts.assertIsElementType_=function(e,t){if(goog.asserts.ENABLE_ASSERTS){var o=goog.dom.asserts.getWindow_(e);o&&void 0!==o[t]&&(e&&(e instanceof o[t]||!(e instanceof o.Location||e instanceof o.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",t,goog.dom.asserts.debugStringForType_(e)))}return e},goog.dom.asserts.assertIsHTMLAnchorElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(e){if(!goog.isObject(e))return void 0===e?"undefined":null===e?"null":typeof e;try{return e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e)}catch(e){return"<object could not be stringified>"}},goog.dom.asserts.getWindow_=function(e){try{var t=e&&e.ownerDocument,o=t&&(t.defaultView||t.parentWindow);if((o=o||goog.global).Element&&o.Location)return o}catch(e){}return null},goog.functions={},goog.functions.constant=function(e){return function(){return e}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(e,t){return e},goog.functions.error=function(e){return function(){throw Error(e)}},goog.functions.fail=function(e){return function(){throw e}},goog.functions.lock=function(e,t){return t=t||0,function(){return e.apply(this,Array.prototype.slice.call(arguments,0,t))}},goog.functions.nth=function(e){return function(){return arguments[e]}},goog.functions.partialRight=function(e,t){var o=Array.prototype.slice.call(arguments,1);return function(){var t=Array.prototype.slice.call(arguments);return t.push.apply(t,o),e.apply(this,t)}},goog.functions.withReturnValue=function(e,t){return goog.functions.sequence(e,goog.functions.constant(t))},goog.functions.equalTo=function(e,t){return function(o){return t?e==o:e===o}},goog.functions.compose=function(e,t){var o=arguments,n=o.length;return function(){var e;n&&(e=o[n-1].apply(this,arguments));for(var t=n-2;0<=t;t--)e=o[t].call(this,e);return e}},goog.functions.sequence=function(e){var t=arguments,o=t.length;return function(){for(var e,n=0;n<o;n++)e=t[n].apply(this,arguments);return e}},goog.functions.and=function(e){var t=arguments,o=t.length;return function(){for(var e=0;e<o;e++)if(!t[e].apply(this,arguments))return!1;return!0}},goog.functions.or=function(e){var t=arguments,o=t.length;return function(){for(var e=0;e<o;e++)if(t[e].apply(this,arguments))return!0;return!1}},goog.functions.not=function(e){return function(){return!e.apply(this,arguments)}},goog.functions.create=function(e,t){var o=function(){};return o.prototype=e.prototype,o=new o,e.apply(o,Array.prototype.slice.call(arguments,1)),o},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(e){var t,o=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(o||(t=e(),o=!0),t):e()}},goog.functions.once=function(e){var t=e;return function(){if(t){var e=t;t=null,e()}}},goog.functions.debounce=function(e,t,o){var n=0;return function(i){goog.global.clearTimeout(n);var r=arguments;n=goog.global.setTimeout((function(){e.apply(o,r)}),t)}},goog.functions.throttle=function(e,t,o){var n=0,i=!1,r=[],s=function(){n=0,i&&(i=!1,a())},a=function(){n=goog.global.setTimeout(s,t),e.apply(o,r)};return function(e){r=arguments,n?i=!0:a()}},goog.functions.rateLimit=function(e,t,o){var n=0,i=function(){n=0};return function(r){n||(n=goog.global.setTimeout(i,t),e.apply(o,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(e){this.tagName_=e},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(e){return!0===goog.dom.tags.VOID_TAGS_[e]},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string.TypedString=function(){},goog.string.Const=function(e,t){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=e===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&t||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(e){return e instanceof goog.string.Const&&e.constructor===goog.string.Const&&e.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?e.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+e+"'"),"type_error:Const")},goog.string.Const.from=function(e){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,e)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeScript.fromConstantAndArgs=function(e,t){for(var o=[],n=1;n<arguments.length;n++)o.push(goog.html.SafeScript.stringify_(arguments[n]));return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(e)+")("+o.join(", ")+");")},goog.html.SafeScript.fromJson=function(e){return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(goog.html.SafeScript.stringify_(e))},goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"}),goog.html.SafeScript.unwrap=function(e){return goog.html.SafeScript.unwrapTrustedScript(e).toString()},goog.html.SafeScript.unwrapTrustedScript=function(e){return e instanceof goog.html.SafeScript&&e.constructor===goog.html.SafeScript&&e.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeScriptWrappedValue_:(goog.asserts.fail("expected object of type SafeScript, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeScript")},goog.html.SafeScript.stringify_=function(e){return JSON.stringify(e).replace(/</g,"\\x3c")},goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScript(e):e,this},goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(e){return goog.fs.url.getUrlObject_().createObjectURL(e)},goog.fs.url.revokeObjectUrl=function(e){goog.fs.url.getUrlObject_().revokeObjectURL(e)},goog.fs.url.getUrlObject_=function(){var e=goog.fs.url.findUrlObject_();if(null!=e)return e;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()},goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))||7<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))&&("adlm"==goog.LOCALE.substring(3,7).toLowerCase()||"arab"==goog.LOCALE.substring(3,7).toLowerCase()||"hebr"==goog.LOCALE.substring(3,7).toLowerCase()||"nkoo"==goog.LOCALE.substring(3,7).toLowerCase()||"rohg"==goog.LOCALE.substring(3,7).toLowerCase()||"thaa"==goog.LOCALE.substring(3,7).toLowerCase())||8<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))&&("adlm"==goog.LOCALE.substring(4,8).toLowerCase()||"arab"==goog.LOCALE.substring(4,8).toLowerCase()||"hebr"==goog.LOCALE.substring(4,8).toLowerCase()||"nkoo"==goog.LOCALE.substring(4,8).toLowerCase()||"rohg"==goog.LOCALE.substring(4,8).toLowerCase()||"thaa"==goog.LOCALE.substring(4,8).toLowerCase()),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(e,t){return"number"==typeof e?0<e?goog.i18n.bidi.Dir.LTR:0>e?goog.i18n.bidi.Dir.RTL:t?null:goog.i18n.bidi.Dir.NEUTRAL:null==e?null:e?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\ud801\ud804-\ud839\ud83c-\udbff豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\ud802-\ud803\ud83a-\ud83bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(e,t){return t?e.replace(goog.i18n.bidi.htmlSkipReg_,""):e},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(e,t){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(e,t){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(e){return goog.i18n.bidi.rtlRe_.test(e)},goog.i18n.bidi.isLtrChar=function(e){return goog.i18n.bidi.ltrRe_.test(e)},goog.i18n.bidi.isNeutralChar=function(e){return!goog.i18n.bidi.isLtrChar(e)&&!goog.i18n.bidi.isRtlChar(e)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(e,t){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(e,t){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(e,t){return e=goog.i18n.bidi.stripHtmlIfNeeded_(e,t),goog.i18n.bidi.isRequiredLtrRe_.test(e)||!goog.i18n.bidi.hasAnyLtr(e)&&!goog.i18n.bidi.hasAnyRtl(e)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(e,t){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(e,t){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(e){return goog.i18n.bidi.rtlLocalesRe_.test(e)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(e,t){var o=(void 0===t?goog.i18n.bidi.hasAnyRtl(e):t)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return e.replace(goog.i18n.bidi.bracketGuardTextRe_,o+"$&"+o)},goog.i18n.bidi.enforceRtlInHtml=function(e){return"<"==e.charAt(0)?e.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+e+"</span>"},goog.i18n.bidi.enforceRtlInText=function(e){return goog.i18n.bidi.Format.RLE+e+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(e){return"<"==e.charAt(0)?e.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+e+"</span>"},goog.i18n.bidi.enforceLtrInText=function(e){return goog.i18n.bidi.Format.LRE+e+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(e){return e.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(e){return e.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(e,t){for(var o=0,n=0,i=!1,r=goog.i18n.bidi.stripHtmlIfNeeded_(e,t).split(goog.i18n.bidi.wordSeparatorRe_),s=0;s<r.length;s++){var a=r[s];goog.i18n.bidi.startsWithRtl(a)?(o++,n++):goog.i18n.bidi.isRequiredLtrRe_.test(a)?i=!0:goog.i18n.bidi.hasAnyLtr(a)?n++:goog.i18n.bidi.hasNumeralsRe_.test(a)&&(i=!0)}return 0==n?i?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:o/n>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(e,t){return goog.i18n.bidi.estimateDirection(e,t)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(e,t){e&&(t=goog.i18n.bidi.toDir(t))&&(e.style.textAlign=t==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,e.dir=t==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(e,t){switch(goog.i18n.bidi.estimateDirection(t)){case goog.i18n.bidi.Dir.LTR:e.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:e.dir="rtl";break;default:e.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(e,t){var o=goog.html.TrustedResourceUrl.unwrap(this),n=(o=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(o))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",o[2]||"",e)+goog.html.TrustedResourceUrl.stringifyParams_("#",n,t))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(e){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(e){return e instanceof goog.html.TrustedResourceUrl&&e.constructor===goog.html.TrustedResourceUrl&&e.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+e+"' of type "+goog.typeOf(e)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(e){return e.trustedURL_?e.trustedURL_:goog.html.TrustedResourceUrl.unwrap(e)},goog.html.TrustedResourceUrl.format=function(e,t){var o=goog.string.Const.unwrap(e);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(o))throw Error("Invalid TrustedResourceUrl format: "+o);var n=o.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,(function(e,n){if(!Object.prototype.hasOwnProperty.call(t,n))throw Error('Found marker, "'+n+'", in format string, "'+o+'", but no valid label mapping found in args: '+JSON.stringify(t));var i=t[n];return i instanceof goog.string.Const?goog.string.Const.unwrap(i):encodeURIComponent(String(i))}));return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(n)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(e,t,o,n){return goog.html.TrustedResourceUrl.format(e,t).cloneWithParams(o,n)},goog.html.TrustedResourceUrl.fromConstant=function(e){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(e))},goog.html.TrustedResourceUrl.fromConstants=function(e){for(var t="",o=0;o<e.length;o++)t+=goog.string.Const.unwrap(e[o]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(e){var t=new goog.html.TrustedResourceUrl;return t.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScriptURL(e):e,goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY&&(t.trustedURL_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(e)),t},goog.html.TrustedResourceUrl.stringifyParams_=function(e,t,o){if(null==o)return t;if(goog.isString(o))return o?e+encodeURIComponent(o):"";for(var n in o){var i=o[n];i=goog.isArray(i)?i:[i];for(var r=0;r<i.length;r++){var s=i[r];null!=s&&(t||(t=e),t+=(t.length>e.length?"&":"")+encodeURIComponent(n)+"="+encodeURIComponent(String(s)))}}return t},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(e){return goog.html.SafeUrl.unwrapTrustedURL(e).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(e){return e instanceof goog.html.SafeUrl&&e.constructor===goog.html.SafeUrl&&e.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(e){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(e))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(e){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(e)},goog.html.SafeUrl.fromBlob=function(e){return e=goog.html.SAFE_MIME_TYPE_PATTERN_.test(e.type)?goog.fs.url.createObjectUrl(e):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(e){var t=(e=e.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return t=t&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(t[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t?e:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"tel:")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(e){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(e))||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"fb-messenger://share")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromWhatsAppUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"whatsapp://send")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromSmsUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(e){var t=e.indexOf("#");if(0<t&&(e=e.substring(0,t)),!(t=e.match(/[?&]body=/gi)))return!0;if(1<t.length)return!1;if(!(e=e.match(/[?&]body=([^&]*)/)[1]))return!0;try{decodeURIComponent(e)}catch(e){return!1}return/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(e)},goog.html.SafeUrl.fromSshUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"ssh://")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.sanitizeChromeExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeEdgeExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeExtensionUrl_=function(e,t,o){return(e=e.exec(t))?(e=e[1],-1==(o instanceof goog.string.Const?[goog.string.Const.unwrap(o)]:o.map((function(e){return goog.string.Const.unwrap(e)}))).indexOf(e)&&(t=goog.html.SafeUrl.INNOCUOUS_STRING)):t=goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.fromTrustedResourceUrl=function(e){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(e))},goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,goog.html.SafeUrl.SAFE_URL_PATTERN=goog.html.SAFE_URL_PATTERN_,goog.html.SafeUrl.sanitize=function(e){return e instanceof goog.html.SafeUrl?e:(e="object"==typeof e&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),goog.html.SAFE_URL_PATTERN_.test(e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeUrl.sanitizeAssertUnchanged=function(e,t){if(e instanceof goog.html.SafeUrl)return e;if(e="object"==typeof e&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),t&&/^data:/i.test(e)){var o=goog.html.SafeUrl.fromDataUrl(e);if(o.getTypedStringValue()==e)return o}return goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(e),"%s does not match the safe URL pattern",e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(e){var t=new goog.html.SafeUrl;return t.privateDoNotAccessOrElseSafeUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(e):e,t},goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank"),goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="",this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyle.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeStyle.EMPTY:(goog.asserts.assert(goog.string.internal.endsWith(e,";"),"Last character of style string is not ';': "+e),goog.asserts.assert(goog.string.internal.contains(e,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+e),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_},goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}),goog.html.SafeStyle.unwrap=function(e){return e instanceof goog.html.SafeStyle&&e.constructor===goog.html.SafeStyle&&e.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeStyle")},goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_=e,this},goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez",goog.html.SafeStyle.create=function(e){var t,o="";for(t in e){if(!/^[-_a-zA-Z0-9]+$/.test(t))throw Error("Name allows only [-_a-zA-Z0-9], got: "+t);var n=e[t];null!=n&&(o+=t+":"+(n=goog.isArray(n)?goog.array.map(n,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(n))+";")}return o?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(o):goog.html.SafeStyle.EMPTY},goog.html.SafeStyle.sanitizePropertyValue_=function(e){if(e instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(e).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';if(e=e instanceof goog.string.Const?goog.string.Const.unwrap(e):goog.html.SafeStyle.sanitizePropertyValueString_(String(e)),/[{;}]/.test(e))throw new goog.asserts.AssertionError("Value does not allow [{;}], got: %s.",[e]);return e},goog.html.SafeStyle.sanitizePropertyValueString_=function(e){var t=e.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");return goog.html.SafeStyle.VALUE_RE_.test(t)?goog.html.SafeStyle.COMMENT_RE_.test(e)?(goog.asserts.fail("String value disallows comments, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):goog.html.SafeStyle.hasBalancedQuotes_(e)?goog.html.SafeStyle.hasBalancedSquareBrackets_(e)?goog.html.SafeStyle.sanitizeUrl_(e):(goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value requires balanced quotes, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING)},goog.html.SafeStyle.hasBalancedQuotes_=function(e){for(var t=!0,o=!0,n=0;n<e.length;n++){var i=e.charAt(n);"'"==i&&o?t=!t:'"'==i&&t&&(o=!o)}return t&&o},goog.html.SafeStyle.hasBalancedSquareBrackets_=function(e){for(var t=!0,o=/^[-_a-zA-Z0-9]$/,n=0;n<e.length;n++){var i=e.charAt(n);if("]"==i){if(t)return!1;t=!0}else if("["==i){if(!t)return!1;t=!1}else if(!t&&!o.test(i))return!1}return t},goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]",goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$"),goog.html.SafeStyle.URL_RE_=RegExp("\\b(url\\([ \t\n]*)('[ -&(-\\[\\]-~]*'|\"[ !#-\\[\\]-~]*\"|[!#-&*-\\[\\]-~]*)([ \t\n]*\\))","g"),goog.html.SafeStyle.FUNCTIONS_RE_=RegExp("\\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\\([-+*/0-9a-z.%\\[\\], ]+\\)","g"),goog.html.SafeStyle.COMMENT_RE_=/\/\*/,goog.html.SafeStyle.sanitizeUrl_=function(e){return e.replace(goog.html.SafeStyle.URL_RE_,(function(e,t,o,n){var i="";return o=o.replace(/^(['"])(.*)\1$/,(function(e,t,o){return i=t,o})),e=goog.html.SafeUrl.sanitize(o).getTypedStringValue(),t+i+e+i+n}))},goog.html.SafeStyle.concat=function(e){var t="",o=function(e){goog.isArray(e)?goog.array.forEach(e,o):t+=goog.html.SafeStyle.unwrap(e)};return goog.array.forEach(arguments,o),t?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t):goog.html.SafeStyle.EMPTY},goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="",this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyleSheet.createRule=function(e,t){if(goog.string.internal.contains(e,"<"))throw Error("Selector does not allow '<', got: "+e);var o=e.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(o))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+e);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(o))throw Error("() and [] in selector must be balanced, got: "+e);return t instanceof goog.html.SafeStyle||(t=goog.html.SafeStyle.create(t)),o=e+"{"+goog.html.SafeStyle.unwrap(t).replace(/</g,"\\3C ")+"}",goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeStyleSheet.hasBalancedBrackets_=function(e){for(var t={"(":")","[":"]"},o=[],n=0;n<e.length;n++){var i=e[n];if(t[i])o.push(t[i]);else if(goog.object.contains(t,i)&&o.pop()!=i)return!1}return 0==o.length},goog.html.SafeStyleSheet.concat=function(e){var t="",o=function(e){goog.isArray(e)?goog.array.forEach(e,o):t+=goog.html.SafeStyleSheet.unwrap(e)};return goog.array.forEach(arguments,o),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeStyleSheet.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeStyleSheet.EMPTY:(goog.asserts.assert(!goog.string.internal.contains(e,"<"),"Forbidden '<' character in style sheet string: "+e),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_},goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"}),goog.html.SafeStyleSheet.unwrap=function(e){return e instanceof goog.html.SafeStyleSheet&&e.constructor===goog.html.SafeStyleSheet&&e.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:(goog.asserts.fail("expected object of type SafeStyleSheet, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeStyleSheet")},goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=e,this},goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_,this.dir_=null},goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_},goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0,goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeHtml.unwrap=function(e){return goog.html.SafeHtml.unwrapTrustedHTML(e).toString()},goog.html.SafeHtml.unwrapTrustedHTML=function(e){return e instanceof goog.html.SafeHtml&&e.constructor===goog.html.SafeHtml&&e.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeHtml")},goog.html.SafeHtml.htmlEscape=function(e){if(e instanceof goog.html.SafeHtml)return e;var t="object"==typeof e,o=null;return t&&e.implementsGoogI18nBidiDirectionalString&&(o=e.getDirection()),e=t&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.htmlEscape(e),o)},goog.html.SafeHtml.htmlEscapePreservingNewlines=function(e){return e instanceof goog.html.SafeHtml?e:(e=goog.html.SafeHtml.htmlEscape(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.newLineToBr(goog.html.SafeHtml.unwrap(e)),e.getDirection()))},goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(e){return e instanceof goog.html.SafeHtml?e:(e=goog.html.SafeHtml.htmlEscape(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.whitespaceEscape(goog.html.SafeHtml.unwrap(e)),e.getDirection()))},goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape,goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(e,t,o){return goog.html.SafeHtml.verifyTagName(String(e)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(e),t,o)},goog.html.SafeHtml.verifyTagName=function(e){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(e))throw Error("Invalid tag name <"+e+">.");if(e.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+e+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(e,t,o,n){e&&goog.html.TrustedResourceUrl.unwrap(e);var i={};return i.src=e||null,i.srcdoc=t&&goog.html.SafeHtml.unwrap(t),e=goog.html.SafeHtml.combineAttributes(i,{sandbox:""},o),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",e,n)},goog.html.SafeHtml.createSandboxIframe=function(e,t,o,n){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var i={};return i.src=e?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e)):null,i.srcdoc=t||null,i.sandbox="",e=goog.html.SafeHtml.combineAttributes(i,{},o),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",e,n)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(e,t){goog.html.TrustedResourceUrl.unwrap(e);var o=goog.html.SafeHtml.combineAttributes({src:e},{},t);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(e,t){for(var o in t){var n=o.toLowerCase();if("language"==n||"src"==n||"text"==n||"type"==n)throw Error('Cannot set "'+n+'" attribute')}for(o="",e=goog.array.concat(e),n=0;n<e.length;n++)o+=goog.html.SafeScript.unwrap(e[n]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(o,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",t,o)},goog.html.SafeHtml.createStyle=function(e,t){var o=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},t),n="";e=goog.array.concat(e);for(var i=0;i<e.length;i++)n+=goog.html.SafeStyleSheet.unwrap(e[i]);return n=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",o,n)},goog.html.SafeHtml.createMetaRefresh=function(e,t){var o=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e));return(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.internal.contains(o,";")&&(o="'"+o.replace(/'/g,"%27")+"'"),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(t||0)+"; url="+o})},goog.html.SafeHtml.getAttrNameAndValue_=function(e,t,o){if(o instanceof goog.string.Const)o=goog.string.Const.unwrap(o);else if("style"==t.toLowerCase())o=goog.html.SafeHtml.getStyleValue_(o);else{if(/^on/i.test(t))throw Error('Attribute "'+t+'" requires goog.string.Const value, "'+o+'" given.');if(t.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(o instanceof goog.html.TrustedResourceUrl)o=goog.html.TrustedResourceUrl.unwrap(o);else if(o instanceof goog.html.SafeUrl)o=goog.html.SafeUrl.unwrap(o);else{if(!goog.isString(o))throw Error('Attribute "'+t+'" on tag "'+e+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+o+'" given.');o=goog.html.SafeUrl.sanitize(o).getTypedStringValue()}}return o.implementsGoogStringTypedString&&(o=o.getTypedStringValue()),goog.asserts.assert(goog.isString(o)||goog.isNumber(o),"String or number value expected, got "+typeof o+" with value: "+o),t+'="'+goog.string.internal.htmlEscape(String(o))+'"'},goog.html.SafeHtml.getStyleValue_=function(e){if(!goog.isObject(e))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof e+" given: "+e);return e instanceof goog.html.SafeStyle||(e=goog.html.SafeStyle.create(e)),goog.html.SafeStyle.unwrap(e)},goog.html.SafeHtml.createWithDir=function(e,t,o,n){return(t=goog.html.SafeHtml.create(t,o,n)).dir_=e,t},goog.html.SafeHtml.join=function(e,t){var o=goog.html.SafeHtml.htmlEscape(e),n=o.getDirection(),i=[],r=function(e){goog.isArray(e)?goog.array.forEach(e,r):(e=goog.html.SafeHtml.htmlEscape(e),i.push(goog.html.SafeHtml.unwrap(e)),e=e.getDirection(),n==goog.i18n.bidi.Dir.NEUTRAL?n=e:e!=goog.i18n.bidi.Dir.NEUTRAL&&n!=e&&(n=null))};return goog.array.forEach(t,r),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i.join(goog.html.SafeHtml.unwrap(o)),n)},goog.html.SafeHtml.concat=function(e){return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))},goog.html.SafeHtml.concatWithDir=function(e,t){var o=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));return o.dir_=e,o},goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(e,t){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(e,t)},goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e,t){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createHTML(e):e,this.dir_=t,this},goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(e,t,o){var n=null,i="<"+e+goog.html.SafeHtml.stringifyAttributes(e,t);return goog.isDefAndNotNull(o)?goog.isArray(o)||(o=[o]):o=[],goog.dom.tags.isVoidTag(e.toLowerCase())?(goog.asserts.assert(!o.length,"Void tag <"+e+"> does not allow content."),i+=">"):(n=goog.html.SafeHtml.concat(o),i+=">"+goog.html.SafeHtml.unwrap(n)+"</"+e+">",n=n.getDirection()),(e=t&&t.dir)&&(n=/^(ltr|rtl|auto)$/i.test(e)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i,n)},goog.html.SafeHtml.stringifyAttributes=function(e,t){var o="";if(t)for(var n in t){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(n))throw Error('Invalid attribute name "'+n+'".');var i=t[n];goog.isDefAndNotNull(i)&&(o+=" "+goog.html.SafeHtml.getAttrNameAndValue_(e,n,i))}return o},goog.html.SafeHtml.combineAttributes=function(e,t,o){var n,i={};for(n in e)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=e[n];for(n in t)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=t[n];for(n in o){var r=n.toLowerCase();if(r in e)throw Error('Cannot override "'+r+'" attribute, got "'+n+'" with value "'+o[n]+'"');r in t&&delete i[r],i[n]=o[n]}return i},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(e,t,o){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(t,o||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(e,t,o){e.insertAdjacentHTML(t,goog.html.SafeHtml.unwrapTrustedHTML(o))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue((function(){if(goog.DEBUG&&"undefined"==typeof document)return!1;var e=document.createElement("div"),t=document.createElement("div");return t.appendChild(document.createElement("div")),e.appendChild(t),!(goog.DEBUG&&!e.firstChild)&&(t=e.firstChild.firstChild,e.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!t.parentElement)})),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(e,t){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;e.lastChild;)e.removeChild(e.lastChild);e.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setInnerHtml=function(e,t){if(goog.asserts.ENABLE_ASSERTS){var o=e.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[o])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+e.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(e,t)},goog.dom.safe.setOuterHtml=function(e,t){e.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setFormElementAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLFormElement(e).action=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setButtonFormAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLButtonElement(e).formAction=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setInputFormAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLInputElement(e).formAction=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setStyle=function(e,t){e.style.cssText=goog.html.SafeStyle.unwrap(t)},goog.dom.safe.documentWrite=function(e,t){e.write(goog.html.SafeHtml.unwrapTrustedHTML(t))},goog.dom.safe.setAnchorHref=function(e,t){goog.dom.asserts.assertIsHTMLAnchorElement(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.href=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setImageSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLImageElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:image\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setAudioSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLAudioElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:audio\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setVideoSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLVideoElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:video\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setEmbedSrc=function(e,t){goog.dom.asserts.assertIsHTMLEmbedElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)},goog.dom.safe.setFrameSrc=function(e,t){goog.dom.asserts.assertIsHTMLFrameElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)},goog.dom.safe.setIframeSrc=function(e,t){goog.dom.asserts.assertIsHTMLIFrameElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)},goog.dom.safe.setIframeSrcdoc=function(e,t){goog.dom.asserts.assertIsHTMLIFrameElement(e),e.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setLinkHrefAndRel=function(e,t,o){goog.dom.asserts.assertIsHTMLLinkElement(e),e.rel=o,goog.string.internal.caseInsensitiveContains(o,"stylesheet")?(goog.asserts.assert(t instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),e.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)):e.href=t instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(t):t instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(t):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(t))},goog.dom.safe.setObjectData=function(e,t){goog.dom.asserts.assertIsHTMLObjectElement(e),e.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)},goog.dom.safe.setScriptSrc=function(e,t){goog.dom.asserts.assertIsHTMLScriptElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t);var o=goog.getScriptNonce();o&&e.setAttribute("nonce",o)},goog.dom.safe.setScriptContent=function(e,t){goog.dom.asserts.assertIsHTMLScriptElement(e),e.text=goog.html.SafeScript.unwrapTrustedScript(t);var o=goog.getScriptNonce();o&&e.setAttribute("nonce",o)},goog.dom.safe.setLocationHref=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.href=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.assignLocation=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.assign(goog.html.SafeUrl.unwrapTrustedURL(o))},goog.dom.safe.replaceLocation=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.replace(goog.html.SafeUrl.unwrapTrustedURL(o))},goog.dom.safe.openInWindow=function(e,t,o,n,i){return e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),(t||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(e),o?goog.string.Const.unwrap(o):"",n,i)},goog.dom.safe.parseFromStringHtml=function(e,t){return goog.dom.safe.parseFromString(e,t,"text/html")},goog.dom.safe.parseFromString=function(e,t,o){return e.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(t),o)},goog.dom.safe.createImageFromBlob=function(e){if(!/^image\/.*/g.test(e.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var t=goog.global.URL.createObjectURL(e);return(e=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(t)},goog.dom.safe.setImageSrc(e,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),t)),e},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(e,t){for(var o=e.split("%s"),n="",i=Array.prototype.slice.call(arguments,1);i.length&&1<o.length;)n+=o.shift()+i.shift();return n+o.join("%s")},goog.string.collapseWhitespace=function(e){return e.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(e){return 0==e.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(e){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(e))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(e){return!/[^\t\n\r ]/.test(e)},goog.string.isAlpha=function(e){return!/[^a-zA-Z]/.test(e)},goog.string.isNumeric=function(e){return!/[^0-9]/.test(e)},goog.string.isAlphaNumeric=function(e){return!/[^a-zA-Z0-9]/.test(e)},goog.string.isSpace=function(e){return" "==e},goog.string.isUnicodeChar=function(e){return 1==e.length&&" "<=e&&"~">=e||"€"<=e&&"�">=e},goog.string.stripNewlines=function(e){return e.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(e){return e.replace(/(\r\n|\r|\n)/g,"\n")},goog.string.normalizeWhitespace=function(e){return e.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(e){return e.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(e){return e.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(e){return e.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(e){return e.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(e,t,o){if(e==t)return 0;if(!e)return-1;if(!t)return 1;for(var n=e.toLowerCase().match(o),i=t.toLowerCase().match(o),r=Math.min(n.length,i.length),s=0;s<r;s++){o=n[s];var a=i[s];if(o!=a)return e=parseInt(o,10),!isNaN(e)&&(t=parseInt(a,10),!isNaN(t)&&e-t)?e-t:o<a?-1:1}return n.length!=i.length?n.length-i.length:e<t?-1:1},goog.string.intAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\d+|\D+/g)},goog.string.floatAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\d+|\.\d+|\D+/g)},goog.string.numerateCompare=goog.string.floatAwareCompare,goog.string.urlEncode=function(e){return encodeURIComponent(String(e))},goog.string.urlDecode=function(e){return decodeURIComponent(e.replace(/\+/g," "))};goog.string.newLineToBr=goog.string.internal.newLineToBr,goog.string.htmlEscape=function(e,t){return e=goog.string.internal.htmlEscape(e,t),goog.string.DETECT_DOUBLE_ESCAPING&&(e=e.replace(goog.string.E_RE_,"&#101;")),e},goog.string.E_RE_=/e/g,goog.string.unescapeEntities=function(e){return goog.string.contains(e,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(e):goog.string.unescapePureXmlEntities_(e):e},goog.string.unescapeEntitiesWithDocument=function(e,t){return goog.string.contains(e,"&")?goog.string.unescapeEntitiesUsingDom_(e,t):e},goog.string.unescapeEntitiesUsingDom_=function(e,t){var o={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},n=t?t.createElement("div"):goog.global.document.createElement("div");return e.replace(goog.string.HTML_ENTITY_PATTERN_,(function(e,t){var i=o[e];if(i)return i;if("#"==t.charAt(0)){var r=Number("0"+t.substr(1));isNaN(r)||(i=String.fromCharCode(r))}return i||(goog.dom.safe.setInnerHtml(n,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),e+" ")),i=n.firstChild.nodeValue.slice(0,-1)),o[e]=i}))},goog.string.unescapePureXmlEntities_=function(e){return e.replace(/&([^;]+);/g,(function(e,t){switch(t){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:if("#"==t.charAt(0)){var o=Number("0"+t.substr(1));if(!isNaN(o))return String.fromCharCode(o)}return e}}))},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(e,t){return goog.string.newLineToBr(e.replace(/  /g," &#160;"),t)},goog.string.preserveSpaces=function(e){return e.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(e,t){for(var o=t.length,n=0;n<o;n++){var i=1==o?t:t.charAt(n);if(e.charAt(0)==i&&e.charAt(e.length-1)==i)return e.substring(1,e.length-1)}return e},goog.string.truncate=function(e,t,o){return o&&(e=goog.string.unescapeEntities(e)),e.length>t&&(e=e.substring(0,t-3)+"..."),o&&(e=goog.string.htmlEscape(e)),e},goog.string.truncateMiddle=function(e,t,o,n){if(o&&(e=goog.string.unescapeEntities(e)),n&&e.length>t){n>t&&(n=t);var i=e.length-n;e=e.substring(0,t-n)+"..."+e.substring(i)}else e.length>t&&(n=Math.floor(t/2),i=e.length-n,e=e.substring(0,n+t%2)+"..."+e.substring(i));return o&&(e=goog.string.htmlEscape(e)),e},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(e){e=String(e);for(var t=['"'],o=0;o<e.length;o++){var n=e.charAt(o),i=n.charCodeAt(0);t[o+1]=goog.string.specialEscapeChars_[n]||(31<i&&127>i?n:goog.string.escapeChar(n))}return t.push('"'),t.join("")},goog.string.escapeString=function(e){for(var t=[],o=0;o<e.length;o++)t[o]=goog.string.escapeChar(e.charAt(o));return t.join("")},goog.string.escapeChar=function(e){if(e in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[e];if(e in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[e]=goog.string.specialEscapeChars_[e];var t=e.charCodeAt(0);if(31<t&&127>t)var o=e;else 256>t?(o="\\x",(16>t||256<t)&&(o+="0")):(o="\\u",4096>t&&(o+="0")),o+=t.toString(16).toUpperCase();return goog.string.jsEscapeCache_[e]=o},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(e,t){return e&&t?e.split(t).length-1:0},goog.string.removeAt=function(e,t,o){var n=e;return 0<=t&&t<e.length&&0<o&&(n=e.substr(0,t)+e.substr(t+o,e.length-t-o)),n},goog.string.remove=function(e,t){return e.replace(t,"")},goog.string.removeAll=function(e,t){var o=new RegExp(goog.string.regExpEscape(t),"g");return e.replace(o,"")},goog.string.replaceAll=function(e,t,o){return t=new RegExp(goog.string.regExpEscape(t),"g"),e.replace(t,o.replace(/\$/g,"$$$$"))},goog.string.regExpEscape=function(e){return String(e).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},goog.string.repeat=String.prototype.repeat?function(e,t){return e.repeat(t)}:function(e,t){return Array(t+1).join(e)},goog.string.padNumber=function(e,t,o){return-1==(o=(e=goog.isDef(o)?e.toFixed(o):String(e)).indexOf("."))&&(o=e.length),goog.string.repeat("0",Math.max(0,t-o))+e},goog.string.makeSafe=function(e){return null==e?"":String(e)},goog.string.buildString=function(e){return Array.prototype.join.call(arguments,"")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=goog.string.internal.compareVersions,goog.string.hashCode=function(e){for(var t=0,o=0;o<e.length;++o)t=31*t+e.charCodeAt(o)>>>0;return t},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(e){var t=Number(e);return 0==t&&goog.string.isEmptyOrWhitespace(e)?NaN:t},goog.string.isLowerCamelCase=function(e){return/^[a-z]+([A-Z][a-z]*)*$/.test(e)},goog.string.isUpperCamelCase=function(e){return/^([A-Z][a-z]*)+$/.test(e)},goog.string.toCamelCase=function(e){return String(e).replace(/\-([a-z])/g,(function(e,t){return t.toUpperCase()}))},goog.string.toSelectorCase=function(e){return String(e).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(e,t){var o=goog.isString(t)?goog.string.regExpEscape(t):"\\s";return e.replace(new RegExp("(^"+(o?"|["+o+"]+":"")+")([a-z])","g"),(function(e,t,o){return t+o.toUpperCase()}))},goog.string.capitalize=function(e){return String(e.charAt(0)).toUpperCase()+String(e.substr(1)).toLowerCase()},goog.string.parseInt=function(e){return isFinite(e)&&(e=String(e)),goog.isString(e)?/^\s*-?0x/i.test(e)?parseInt(e,16):parseInt(e,10):NaN},goog.string.splitLimit=function(e,t,o){e=e.split(t);for(var n=[];0<o&&e.length;)n.push(e.shift()),o--;return e.length&&n.push(e.join(t)),n},goog.string.lastComponent=function(e,t){if(!t)return e;"string"==typeof t&&(t=[t]);for(var o=-1,n=0;n<t.length;n++)if(""!=t[n]){var i=e.lastIndexOf(t[n]);i>o&&(o=i)}return-1==o?e:e.slice(o+1)},goog.string.editDistance=function(e,t){var o=[],n=[];if(e==t)return 0;if(!e.length||!t.length)return Math.max(e.length,t.length);for(var i=0;i<t.length+1;i++)o[i]=i;for(i=0;i<e.length;i++){n[0]=i+1;for(var r=0;r<t.length;r++)n[r+1]=Math.min(n[r]+1,o[r+1]+1,o[r]+Number(e[i]!=t[r]));for(r=0;r<o.length;r++)o[r]=n[r]}return n[t.length]},goog.labs.userAgent.engine={},goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")},goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.getVersion=function(){var e=goog.labs.userAgent.util.getUserAgent();if(e){e=goog.labs.userAgent.util.extractVersionTuples(e);var t,o=goog.labs.userAgent.engine.getEngineTuple_(e);if(o)return"Gecko"==o[0]?goog.labs.userAgent.engine.getVersionForKey_(e,"Firefox"):o[1];if((e=e[0])&&(t=e[2])&&(t=/Trident\/([^\s;]+)/.exec(t)))return t[1]}return""},goog.labs.userAgent.engine.getEngineTuple_=function(e){if(!goog.labs.userAgent.engine.isEdge())return e[1];for(var t=0;t<e.length;t++){var o=e[t];if("Edge"==o[0])return o}},goog.labs.userAgent.engine.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),e)},goog.labs.userAgent.engine.getVersionForKey_=function(e,t){var o=goog.array.find(e,(function(e){return t==e[0]}));return o&&o[1]||""},goog.labs.userAgent.platform={},goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")},goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")},goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()},goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")},goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")},goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")},goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")},goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")},goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")},goog.labs.userAgent.platform.isGo2Phone=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("GAFP")},goog.labs.userAgent.platform.getVersion=function(){var e=goog.labs.userAgent.util.getUserAgent(),t="";return goog.labs.userAgent.platform.isWindows()?t=(e=(t=/Windows (?:NT|Phone) ([0-9.]+)/).exec(e))?e[1]:"0.0":goog.labs.userAgent.platform.isIos()?t=(e=(t=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/).exec(e))&&e[1].replace(/_/g,"."):goog.labs.userAgent.platform.isMacintosh()?t=(e=(t=/Mac OS X ([0-9_.]+)/).exec(e))?e[1].replace(/_/g,"."):"10":goog.labs.userAgent.platform.isKaiOS()?t=(e=(t=/(?:KaiOS)\/(\S+)/i).exec(e))&&e[1]:goog.labs.userAgent.platform.isAndroid()?t=(e=(t=/Android\s+([^\);]+)(\)|;)/).exec(e))&&e[1]:goog.labs.userAgent.platform.isChromeOS()&&(t=(e=(t=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/).exec(e))&&e[1]),t||""},goog.labs.userAgent.platform.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),e)},goog.reflect={},goog.reflect.object=function(e,t){return t},goog.reflect.objectProperty=function(e,t){return e},goog.reflect.sinkValue=function(e){return goog.reflect.sinkValue[" "](e),e},goog.reflect.sinkValue[" "]=goog.nullFunction,goog.reflect.canAccessProperty=function(e,t){try{return goog.reflect.sinkValue(e[t]),!0}catch(e){}return!1},goog.reflect.cache=function(e,t,o,n){return n=n?n(t):t,Object.prototype.hasOwnProperty.call(e,n)?e[n]:e[n]=o(t)},goog.userAgent={},goog.userAgent.ASSUME_IE=!1,goog.userAgent.ASSUME_EDGE=!1,goog.userAgent.ASSUME_GECKO=!1,goog.userAgent.ASSUME_WEBKIT=!1,goog.userAgent.ASSUME_MOBILE_WEBKIT=!1,goog.userAgent.ASSUME_OPERA=!1,goog.userAgent.ASSUME_ANY_VERSION=!1,goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA,goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()},goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null},goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()},goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera(),goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE(),goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge(),goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE,goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko(),goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit(),goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")},goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_(),goog.userAgent.SAFARI=goog.userAgent.WEBKIT,goog.userAgent.determinePlatform_=function(){var e=goog.userAgent.getNavigatorTyped();return e&&e.platform||""},goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_(),goog.userAgent.ASSUME_MAC=!1,goog.userAgent.ASSUME_WINDOWS=!1,goog.userAgent.ASSUME_LINUX=!1,goog.userAgent.ASSUME_X11=!1,goog.userAgent.ASSUME_ANDROID=!1,goog.userAgent.ASSUME_IPHONE=!1,goog.userAgent.ASSUME_IPAD=!1,goog.userAgent.ASSUME_IPOD=!1,goog.userAgent.ASSUME_KAIOS=!1,goog.userAgent.ASSUME_GO2PHONE=!1,goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD,goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh(),goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows(),goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()},goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_(),goog.userAgent.isX11_=function(){var e=goog.userAgent.getNavigatorTyped();return!!e&&goog.string.contains(e.appVersion||"","X11")},goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_(),goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid(),goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone(),goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod(),goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos(),goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS(),goog.userAgent.GO2PHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_GO2PHONE:goog.labs.userAgent.platform.isGo2Phone(),goog.userAgent.determineVersion_=function(){var e="",t=goog.userAgent.getVersionRegexResult_();return t&&(e=t?t[1]:""),goog.userAgent.IE&&(null!=(t=goog.userAgent.getDocumentMode_())&&t>parseFloat(e))?String(t):e},goog.userAgent.getVersionRegexResult_=function(){var e=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(e):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(e):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(e):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(e):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(e):void 0},goog.userAgent.getDocumentMode_=function(){var e=goog.global.document;return e?e.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(e,t){return goog.string.compareVersions(e,t)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(e){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,e,(function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,e)}))},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(e){return Number(goog.userAgent.DOCUMENT_MODE)>=e},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.debug.LOGGING_ENABLED=goog.DEBUG,goog.debug.FORCE_SLOPPY_STACKS=!1,goog.debug.catchErrors=function(e,t,o){var n=(o=o||goog.global).onerror,i=!!t;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(i=!i),o.onerror=function(t,o,r,s,a){return n&&n(t,o,r,s,a),e({message:t,fileName:o,line:r,lineNumber:r,col:s,error:a}),i}},goog.debug.expose=function(e,t){if(void 0===e)return"undefined";if(null==e)return"NULL";var o,n=[];for(o in e)if(t||!goog.isFunction(e[o])){var i=o+" = ";try{i+=e[o]}catch(e){i+="*** "+e+" ***"}n.push(i)}return n.join("\n")},goog.debug.deepExpose=function(e,t){var o=[],n=[],i={},r=function(e,s){var a=s+"  ";try{if(goog.isDef(e))if(goog.isNull(e))o.push("NULL");else if(goog.isString(e))o.push('"'+e.replace(/\n/g,"\n"+s)+'"');else if(goog.isFunction(e))o.push(String(e).replace(/\n/g,"\n"+s));else if(goog.isObject(e)){goog.hasUid(e)||n.push(e);var l=goog.getUid(e);if(i[l])o.push("*** reference loop detected (id="+l+") ***");else{for(var u in i[l]=!0,o.push("{"),e)!t&&goog.isFunction(e[u])||(o.push("\n"),o.push(a),o.push(u+" = "),r(e[u],a));o.push("\n"+s+"}"),delete i[l]}}else o.push(e);else o.push("undefined")}catch(e){o.push("*** "+e+" ***")}};r(e,"");for(var s=0;s<n.length;s++)goog.removeUid(n[s]);return o.join("")},goog.debug.exposeArray=function(e){for(var t=[],o=0;o<e.length;o++)goog.isArray(e[o])?t.push(goog.debug.exposeArray(e[o])):t.push(e[o]);return"[ "+t.join(", ")+" ]"},goog.debug.normalizeErrorObject=function(e){var t=goog.getObjectByName("window.location.href");if(null==e&&(e='Unknown Error of type "null/undefined"'),goog.isString(e))return{message:e,name:"Unknown error",lineNumber:"Not available",fileName:t,stack:"Not available"};var o=!1;try{var n=e.lineNumber||e.line||"Not available"}catch(e){n="Not available",o=!0}try{var i=e.fileName||e.filename||e.sourceURL||goog.global.$googDebugFname||t}catch(e){i="Not available",o=!0}return!o&&e.lineNumber&&e.fileName&&e.stack&&e.message&&e.name?e:(null==(t=e.message)&&(t=e.constructor&&e.constructor instanceof Function?'Unknown Error of type "'+(e.constructor.name?e.constructor.name:goog.debug.getFunctionName(e.constructor))+'"':"Unknown Error of unknown type"),{message:t,name:e.name||"UnknownError",lineNumber:n,fileName:i,stack:e.stack||"Not available"})},goog.debug.enhanceError=function(e,t){if(e instanceof Error)var o=e;else o=Error(e),Error.captureStackTrace&&Error.captureStackTrace(o,goog.debug.enhanceError);if(o.stack||(o.stack=goog.debug.getStacktrace(goog.debug.enhanceError)),t){for(var n=0;o["message"+n];)++n;o["message"+n]=String(t)}return o},goog.debug.enhanceErrorWithContext=function(e,t){var o=goog.debug.enhanceError(e);if(t)for(var n in t)goog.debug.errorcontext.addErrorContext(o,n,t[n]);return o},goog.debug.getStacktraceSimple=function(e){if(!goog.debug.FORCE_SLOPPY_STACKS){var t=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(t)return t}t=[];for(var o=arguments.callee.caller,n=0;o&&(!e||n<e);){t.push(goog.debug.getFunctionName(o)),t.push("()\n");try{o=o.caller}catch(e){t.push("[exception trying to get caller]\n");break}if(++n>=goog.debug.MAX_STACK_DEPTH){t.push("[...long stack...]");break}}return e&&n>=e?t.push("[...reached max depth limit...]"):t.push("[end]"),t.join("")},goog.debug.MAX_STACK_DEPTH=50,goog.debug.getNativeStackTrace_=function(e){var t=Error();if(Error.captureStackTrace)return Error.captureStackTrace(t,e),String(t.stack);try{throw t}catch(e){t=e}return(e=t.stack)?String(e):null},goog.debug.getStacktrace=function(e){var t;return goog.debug.FORCE_SLOPPY_STACKS||(t=goog.debug.getNativeStackTrace_(e||goog.debug.getStacktrace)),t||(t=goog.debug.getStacktraceHelper_(e||arguments.callee.caller,[])),t},goog.debug.getStacktraceHelper_=function(e,t){var o=[];if(goog.array.contains(t,e))o.push("[...circular reference...]");else if(e&&t.length<goog.debug.MAX_STACK_DEPTH){o.push(goog.debug.getFunctionName(e)+"(");for(var n=e.arguments,i=0;n&&i<n.length;i++){0<i&&o.push(", ");var r=n[i];switch(typeof r){case"object":r=r?"object":"null";break;case"string":break;case"number":r=String(r);break;case"boolean":r=r?"true":"false";break;case"function":r=(r=goog.debug.getFunctionName(r))?r:"[fn]";break;default:r=typeof r}40<r.length&&(r=r.substr(0,40)+"..."),o.push(r)}t.push(e),o.push(")\n");try{o.push(goog.debug.getStacktraceHelper_(e.caller,t))}catch(e){o.push("[exception trying to get caller]\n")}}else e?o.push("[...long stack...]"):o.push("[end]");return o.join("")},goog.debug.getFunctionName=function(e){if(goog.debug.fnNameCache_[e])return goog.debug.fnNameCache_[e];if(e=String(e),!goog.debug.fnNameCache_[e]){var t=/function\s+([^\(]+)/m.exec(e);goog.debug.fnNameCache_[e]=t?t[1]:"[Anonymous]"}return goog.debug.fnNameCache_[e]},goog.debug.makeWhitespaceVisible=function(e){return e.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")},goog.debug.runtimeType=function(e){return e instanceof Function?e.displayName||e.name||"unknown type name":e instanceof Object?e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e):null===e?"null":typeof e},goog.debug.fnNameCache_={},goog.debug.freezeInternal_=goog.DEBUG&&Object.freeze||function(e){return e},goog.debug.freeze=function(e){return goog.debug.freezeInternal_(e)},goog.events={},$jscomp.scope.purify=function(e){return{valueOf:e}.valueOf()},goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints&&!goog.global.navigator.msMaxTouchPoints),POINTER_EVENTS:"PointerEvent"in goog.global,MSPOINTER_EVENTS:"MSPointerEvent"in goog.global&&!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)((function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{goog.global.addEventListener("test",goog.nullFunction,t),goog.global.removeEventListener("test",goog.nullFunction,t)}catch(e){}return e}))},goog.disposable={},goog.disposable.IDisposable=function(){},goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod,goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod,goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this),this.disposed_=this.disposed_,this.onDisposeCallbacks_=this.onDisposeCallbacks_},goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2},goog.Disposable.MONITORING_MODE=0,goog.Disposable.INCLUDE_STACK_ON_CREATION=!0,goog.Disposable.instances_={},goog.Disposable.getUndisposedObjects=function(){var e,t=[];for(e in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(e)&&t.push(goog.Disposable.instances_[Number(e)]);return t},goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}},goog.Disposable.prototype.disposed_=!1,goog.Disposable.prototype.isDisposed=function(){return this.disposed_},goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed,goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var e=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(e))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");if(goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&this.onDisposeCallbacks_&&0<this.onDisposeCallbacks_.length)throw Error(this+" did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");delete goog.Disposable.instances_[e]}},goog.Disposable.prototype.registerDisposable=function(e){this.addOnDisposeCallback(goog.partial(goog.dispose,e))},goog.Disposable.prototype.addOnDisposeCallback=function(e,t){this.disposed_?goog.isDef(t)?e.call(t):e():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(t)?goog.bind(e,t):e))},goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()},goog.Disposable.isDisposed=function(e){return!(!e||"function"!=typeof e.isDisposed)&&e.isDisposed()},goog.dispose=function(e){e&&"function"==typeof e.dispose&&e.dispose()},goog.disposeAll=function(e){for(var t=0,o=arguments.length;t<o;++t){var n=arguments[t];goog.isArrayLike(n)?goog.disposeAll.apply(null,n):goog.dispose(n)}},goog.events.EventId=function(e){this.id=e},goog.events.EventId.prototype.toString=function(){return this.id},goog.events.Event=function(e,t){this.type=e instanceof goog.events.EventId?String(e):e,this.currentTarget=this.target=t,this.defaultPrevented=this.propagationStopped_=!1,this.returnValue_=!0},goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0},goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0,this.returnValue_=!1},goog.events.Event.stopPropagation=function(e){e.stopPropagation()},goog.events.Event.preventDefault=function(e){e.preventDefault()},goog.events.getVendorPrefixedName_=function(e){return goog.userAgent.WEBKIT?"webkit"+e:goog.userAgent.OPERA?"o"+e.toLowerCase():e.toLowerCase()},goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",AUXCLICK:"auxclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",MOUSECANCEL:"mousecancel",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:"focusin",FOCUSOUT:"focusout",CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICECHANGE:"devicechange",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",AFTERPRINT:"afterprint",BEFOREINSTALLPROMPT:"beforeinstallprompt",APPINSTALLED:"appinstalled"},goog.events.getPointerFallbackEventName_=function(e,t,o){return goog.events.BrowserFeature.POINTER_EVENTS?e:goog.events.BrowserFeature.MSPOINTER_EVENTS?t:o},goog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.MOUSECANCEL),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,goog.events.EventType.MSPOINTERENTER,goog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)},goog.events.PointerTouchFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.TOUCHSTART),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.TOUCHEND),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.TOUCHCANCEL),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.TOUCHMOVE)},goog.events.PointerAsMouseEventType={MOUSEDOWN:goog.events.PointerFallbackEventType.POINTERDOWN,MOUSEUP:goog.events.PointerFallbackEventType.POINTERUP,MOUSECANCEL:goog.events.PointerFallbackEventType.POINTERCANCEL,MOUSEMOVE:goog.events.PointerFallbackEventType.POINTERMOVE,MOUSEOVER:goog.events.PointerFallbackEventType.POINTEROVER,MOUSEOUT:goog.events.PointerFallbackEventType.POINTEROUT,MOUSEENTER:goog.events.PointerFallbackEventType.POINTERENTER,MOUSELEAVE:goog.events.PointerFallbackEventType.POINTERLEAVE},goog.events.MouseAsMouseEventType={MOUSEDOWN:goog.events.EventType.MOUSEDOWN,MOUSEUP:goog.events.EventType.MOUSEUP,MOUSECANCEL:goog.events.EventType.MOUSECANCEL,MOUSEMOVE:goog.events.EventType.MOUSEMOVE,MOUSEOVER:goog.events.EventType.MOUSEOVER,MOUSEOUT:goog.events.EventType.MOUSEOUT,MOUSEENTER:goog.events.EventType.MOUSEENTER,MOUSELEAVE:goog.events.EventType.MOUSELEAVE},goog.events.PointerAsTouchEventType={TOUCHCANCEL:goog.events.PointerTouchFallbackEventType.POINTERCANCEL,TOUCHEND:goog.events.PointerTouchFallbackEventType.POINTERUP,TOUCHMOVE:goog.events.PointerTouchFallbackEventType.POINTERMOVE,TOUCHSTART:goog.events.PointerTouchFallbackEventType.POINTERDOWN},goog.events.USE_LAYER_XY_AS_OFFSET_XY=!1,goog.events.BrowserEvent=function(e,t){goog.events.Event.call(this,e?e.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.key="",this.charCode=this.keyCode=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.platformModifierKey=!1,this.pointerId=0,this.pointerType="",this.event_=null,e&&this.init(e,t)},goog.inherits(goog.events.BrowserEvent,goog.events.Event),goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2},goog.events.BrowserEvent.PointerType={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]),goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap,goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE}),goog.events.BrowserEvent.prototype.init=function(e,t){var o=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.currentTarget=t;var i=e.relatedTarget;i?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(i,"nodeName")||(i=null)):o==goog.events.EventType.MOUSEOVER?i=e.fromElement:o==goog.events.EventType.MOUSEOUT&&(i=e.toElement),this.relatedTarget=i,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(goog.events.USE_LAYER_XY_AS_OFFSET_XY?(this.offsetX=void 0!==e.layerX?e.layerX:e.offsetX,this.offsetY=void 0!==e.layerY?e.layerY:e.offsetY):(this.offsetX=goog.userAgent.WEBKIT||void 0!==e.offsetX?e.offsetX:e.layerX,this.offsetY=goog.userAgent.WEBKIT||void 0!==e.offsetY?e.offsetY:e.layerY),this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.keyCode=e.keyCode||0,this.key=e.key||"",this.charCode=e.charCode||("keypress"==o?e.keyCode:0),this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.platformModifierKey=goog.userAgent.MAC?e.metaKey:e.ctrlKey,this.pointerId=e.pointerId||0,this.pointerType=goog.events.BrowserEvent.getPointerType_(e),this.state=e.state,this.event_=e,e.defaultPrevented&&this.preventDefault()},goog.events.BrowserEvent.prototype.isButton=function(e){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==e:"click"==this.type?e==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE_BUTTON_MAP[e])},goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)},goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this),this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0},goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var e=this.event_;if(e.preventDefault)e.preventDefault();else if(e.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{(e.ctrlKey||112<=e.keyCode&&123>=e.keyCode)&&(e.keyCode=-1)}catch(e){}},goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_},goog.events.BrowserEvent.getPointerType_=function(e){return goog.isString(e.pointerType)?e.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[e.pointerType]||""},goog.events.Listenable=function(){},goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1e6*Math.random()|0),goog.events.Listenable.addImplementation=function(e){e.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0},goog.events.Listenable.isImplementedBy=function(e){return!(!e||!e[goog.events.Listenable.IMPLEMENTED_BY_PROP])},goog.events.ListenableKey=function(){},goog.events.ListenableKey.counter_=0,goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_},goog.events.Listener=function(e,t,o,n,i,r){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack),this.listener=e,this.proxy=t,this.src=o,this.type=n,this.capture=!!i,this.handler=r,this.key=goog.events.ListenableKey.reserveKey(),this.removed=this.callOnce=!1},goog.events.Listener.ENABLE_MONITORING=!1,goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0,this.handler=this.src=this.proxy=this.listener=null},goog.events.ListenerMap=function(e){this.src=e,this.listeners={},this.typeCount_=0},goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_},goog.events.ListenerMap.prototype.getListenerCount=function(){var e,t=0;for(e in this.listeners)t+=this.listeners[e].length;return t},goog.events.ListenerMap.prototype.add=function(e,t,o,n,i){var r=e.toString();(e=this.listeners[r])||(e=this.listeners[r]=[],this.typeCount_++);var s=goog.events.ListenerMap.findListenerIndex_(e,t,n,i);return-1<s?(t=e[s],o||(t.callOnce=!1)):((t=new goog.events.Listener(t,null,this.src,r,!!n,i)).callOnce=o,e.push(t)),t},goog.events.ListenerMap.prototype.remove=function(e,t,o,n){if(!((e=e.toString())in this.listeners))return!1;var i=this.listeners[e];return-1<(t=goog.events.ListenerMap.findListenerIndex_(i,t,o,n))&&(i[t].markAsRemoved(),goog.array.removeAt(i,t),0==i.length&&(delete this.listeners[e],this.typeCount_--),!0)},goog.events.ListenerMap.prototype.removeByKey=function(e){var t=e.type;if(!(t in this.listeners))return!1;var o=goog.array.remove(this.listeners[t],e);return o&&(e.markAsRemoved(),0==this.listeners[t].length&&(delete this.listeners[t],this.typeCount_--)),o},goog.events.ListenerMap.prototype.removeAll=function(e){e=e&&e.toString();var t,o=0;for(t in this.listeners)if(!e||t==e){for(var n=this.listeners[t],i=0;i<n.length;i++)++o,n[i].markAsRemoved();delete this.listeners[t],this.typeCount_--}return o},goog.events.ListenerMap.prototype.getListeners=function(e,t){var o=this.listeners[e.toString()],n=[];if(o)for(var i=0;i<o.length;++i){var r=o[i];r.capture==t&&n.push(r)}return n},goog.events.ListenerMap.prototype.getListener=function(e,t,o,n){var i=-1;return(e=this.listeners[e.toString()])&&(i=goog.events.ListenerMap.findListenerIndex_(e,t,o,n)),-1<i?e[i]:null},goog.events.ListenerMap.prototype.hasListener=function(e,t){var o=goog.isDef(e),n=o?e.toString():"",i=goog.isDef(t);return goog.object.some(this.listeners,(function(e,r){for(var s=0;s<e.length;++s)if(!(o&&e[s].type!=n||i&&e[s].capture!=t))return!0;return!1}))},goog.events.ListenerMap.findListenerIndex_=function(e,t,o,n){for(var i=0;i<e.length;++i){var r=e[i];if(!r.removed&&r.listener==t&&r.capture==!!o&&r.handler==n)return i}return-1},goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1e6*Math.random()|0),goog.events.onString_="on",goog.events.onStringMap_={},goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2},goog.events.CAPTURE_SIMULATION_MODE=2,goog.events.listenerCountEstimate_=0,goog.events.listen=function(e,t,o,n,i){if(n&&n.once)return goog.events.listenOnce(e,t,o,n,i);if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.listen(e,t[r],o,n,i);return null}return o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?(n=goog.isObject(n)?!!n.capture:!!n,e.listen(t,o,n,i)):goog.events.listen_(e,t,o,!1,n,i)},goog.events.listen_=function(e,t,o,n,i,r){if(!t)throw Error("Invalid event type");var s=goog.isObject(i)?!!i.capture:!!i;if(s&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var a=goog.events.getListenerMap_(e);if(a||(e[goog.events.LISTENER_MAP_PROP_]=a=new goog.events.ListenerMap(e)),(o=a.add(t,o,n,s,r)).proxy)return o;if(n=goog.events.getProxy(),o.proxy=n,n.src=e,n.listener=o,e.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(i=s),void 0===i&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(goog.events.getOnString_(t.toString()),n);else{if(!e.addListener||!e.removeListener)throw Error("addEventListener and attachEvent are unavailable.");goog.asserts.assert("change"===t,"MediaQueryList only has a change event"),e.addListener(n)}return goog.events.listenerCountEstimate_++,o},goog.events.getProxy=function(){var e=goog.events.handleBrowserEvent_,t=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(o){return e.call(t.src,t.listener,o)}:function(o){if(!(o=e.call(t.src,t.listener,o)))return o};return t},goog.events.listenOnce=function(e,t,o,n,i){if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.listenOnce(e,t[r],o,n,i);return null}return o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?(n=goog.isObject(n)?!!n.capture:!!n,e.listenOnce(t,o,n,i)):goog.events.listen_(e,t,o,!0,n,i)},goog.events.listenWithWrapper=function(e,t,o,n,i){t.listen(e,o,n,i)},goog.events.unlisten=function(e,t,o,n,i){if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.unlisten(e,t[r],o,n,i);return null}return n=goog.isObject(n)?!!n.capture:!!n,o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?e.unlisten(t,o,n,i):!!e&&(!(!(e=goog.events.getListenerMap_(e))||!(t=e.getListener(t,o,n,i)))&&goog.events.unlistenByKey(t))},goog.events.unlistenByKey=function(e){if(goog.isNumber(e)||!e||e.removed)return!1;var t=e.src;if(goog.events.Listenable.isImplementedBy(t))return t.unlistenByKey(e);var o=e.type,n=e.proxy;return t.removeEventListener?t.removeEventListener(o,n,e.capture):t.detachEvent?t.detachEvent(goog.events.getOnString_(o),n):t.addListener&&t.removeListener&&t.removeListener(n),goog.events.listenerCountEstimate_--,(o=goog.events.getListenerMap_(t))?(o.removeByKey(e),0==o.getTypeCount()&&(o.src=null,t[goog.events.LISTENER_MAP_PROP_]=null)):e.markAsRemoved(),!0},goog.events.unlistenWithWrapper=function(e,t,o,n,i){t.unlisten(e,o,n,i)},goog.events.removeAll=function(e,t){if(!e)return 0;if(goog.events.Listenable.isImplementedBy(e))return e.removeAllListeners(t);var o=goog.events.getListenerMap_(e);if(!o)return 0;var n,i=0,r=t&&t.toString();for(n in o.listeners)if(!r||n==r)for(var s=o.listeners[n].concat(),a=0;a<s.length;++a)goog.events.unlistenByKey(s[a])&&++i;return i},goog.events.getListeners=function(e,t,o){return goog.events.Listenable.isImplementedBy(e)?e.getListeners(t,o):e&&(e=goog.events.getListenerMap_(e))?e.getListeners(t,o):[]},goog.events.getListener=function(e,t,o,n,i){return o=goog.events.wrapListener(o),n=!!n,goog.events.Listenable.isImplementedBy(e)?e.getListener(t,o,n,i):e&&(e=goog.events.getListenerMap_(e))?e.getListener(t,o,n,i):null},goog.events.hasListener=function(e,t,o){return goog.events.Listenable.isImplementedBy(e)?e.hasListener(t,o):!!(e=goog.events.getListenerMap_(e))&&e.hasListener(t,o)},goog.events.expose=function(e){var t,o=[];for(t in e)e[t]&&e[t].id?o.push(t+" = "+e[t]+" ("+e[t].id+")"):o.push(t+" = "+e[t]);return o.join("\n")},goog.events.getOnString_=function(e){return e in goog.events.onStringMap_?goog.events.onStringMap_[e]:goog.events.onStringMap_[e]=goog.events.onString_+e},goog.events.fireListeners=function(e,t,o,n){return goog.events.Listenable.isImplementedBy(e)?e.fireListeners(t,o,n):goog.events.fireListeners_(e,t,o,n)},goog.events.fireListeners_=function(e,t,o,n){var i=!0;if((e=goog.events.getListenerMap_(e))&&(t=e.listeners[t.toString()]))for(t=t.concat(),e=0;e<t.length;e++){var r=t[e];r&&r.capture==o&&!r.removed&&(r=goog.events.fireListener(r,n),i=i&&!1!==r)}return i},goog.events.fireListener=function(e,t){var o=e.listener,n=e.handler||e.src;return e.callOnce&&goog.events.unlistenByKey(e),o.call(n,t)},goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_},goog.events.dispatchEvent=function(e,t){return goog.asserts.assert(goog.events.Listenable.isImplementedBy(e),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance."),e.dispatchEvent(t)},goog.events.protectBrowserEventEntryPoint=function(e){goog.events.handleBrowserEvent_=e.protectEntryPoint(goog.events.handleBrowserEvent_)},goog.events.handleBrowserEvent_=function(e,t){if(e.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var o=t||goog.getObjectByName("window.event"),n=new goog.events.BrowserEvent(o,this),i=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(o)){goog.events.markIeEvent_(o),o=[];for(var r=n.currentTarget;r;r=r.parentNode)o.push(r);r=e.type;for(var s=o.length-1;!n.propagationStopped_&&0<=s;s--){n.currentTarget=o[s];var a=goog.events.fireListeners_(o[s],r,!0,n);i=i&&a}for(s=0;!n.propagationStopped_&&s<o.length;s++)n.currentTarget=o[s],a=goog.events.fireListeners_(o[s],r,!1,n),i=i&&a}}else i=goog.events.fireListener(e,n);return i}return goog.events.fireListener(e,new goog.events.BrowserEvent(t,this))},goog.events.markIeEvent_=function(e){var t=!1;if(0==e.keyCode)try{return void(e.keyCode=-1)}catch(e){t=!0}(t||null==e.returnValue)&&(e.returnValue=!0)},goog.events.isMarkedIeEvent_=function(e){return 0>e.keyCode||null!=e.returnValue},goog.events.uniqueIdCounter_=0,goog.events.getUniqueId=function(e){return e+"_"+goog.events.uniqueIdCounter_++},goog.events.getListenerMap_=function(e){return(e=e[goog.events.LISTENER_MAP_PROP_])instanceof goog.events.ListenerMap?e:null},goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1e9*Math.random()>>>0),goog.events.wrapListener=function(e){return goog.asserts.assert(e,"Listener can not be null."),goog.isFunction(e)?e:(goog.asserts.assert(e.handleEvent,"An object listener must have handleEvent method."),e[goog.events.LISTENER_WRAPPER_PROP_]||(e[goog.events.LISTENER_WRAPPER_PROP_]=function(t){return e.handleEvent(t)}),e[goog.events.LISTENER_WRAPPER_PROP_])},goog.debug.entryPointRegistry.register((function(e){goog.events.handleBrowserEvent_=e(goog.events.handleBrowserEvent_)})),goog.math={},goog.math.randomInt=function(e){return Math.floor(Math.random()*e)},goog.math.uniformRandom=function(e,t){return e+Math.random()*(t-e)},goog.math.clamp=function(e,t,o){return Math.min(Math.max(e,t),o)},goog.math.modulo=function(e,t){var o=e%t;return 0>o*t?o+t:o},goog.math.lerp=function(e,t,o){return e+o*(t-e)},goog.math.nearlyEquals=function(e,t,o){return Math.abs(e-t)<=(o||1e-6)},goog.math.standardAngle=function(e){return goog.math.modulo(e,360)},goog.math.standardAngleInRadians=function(e){return goog.math.modulo(e,2*Math.PI)},goog.math.toRadians=function(e){return e*Math.PI/180},goog.math.toDegrees=function(e){return 180*e/Math.PI},goog.math.angleDx=function(e,t){return t*Math.cos(goog.math.toRadians(e))},goog.math.angleDy=function(e,t){return t*Math.sin(goog.math.toRadians(e))},goog.math.angle=function(e,t,o,n){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(n-t,o-e)))},goog.math.angleDifference=function(e,t){var o=goog.math.standardAngle(t)-goog.math.standardAngle(e);return 180<o?o-=360:-180>=o&&(o=360+o),o},goog.math.sign=function(e){return 0<e?1:0>e?-1:e},goog.math.longestCommonSubsequence=function(e,t,o,n){o=o||function(e,t){return e==t},n=n||function(t,o){return e[t]};for(var i=e.length,r=t.length,s=[],a=0;a<i+1;a++)s[a]=[],s[a][0]=0;for(var l=0;l<r+1;l++)s[0][l]=0;for(a=1;a<=i;a++)for(l=1;l<=r;l++)o(e[a-1],t[l-1])?s[a][l]=s[a-1][l-1]+1:s[a][l]=Math.max(s[a-1][l],s[a][l-1]);var u=[];for(a=i,l=r;0<a&&0<l;)o(e[a-1],t[l-1])?(u.unshift(n(a-1,l-1)),a--,l--):s[a-1][l]>s[a][l-1]?a--:l--;return u},goog.math.sum=function(e){return goog.array.reduce(arguments,(function(e,t){return e+t}),0)},goog.math.average=function(e){return goog.math.sum.apply(null,arguments)/arguments.length},goog.math.sampleVariance=function(e){var t=arguments.length;if(2>t)return 0;var o=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,(function(e){return Math.pow(e-o,2)})))/(t-1)},goog.math.standardDeviation=function(e){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))},goog.math.isInt=function(e){return isFinite(e)&&0==e%1},goog.math.isFiniteNumber=function(e){return isFinite(e)},goog.math.isNegativeZero=function(e){return 0==e&&0>1/e},goog.math.log10Floor=function(e){if(0<e){var t=Math.round(Math.log(e)*Math.LOG10E);return t-(parseFloat("1e"+t)>e?1:0)}return 0==e?-1/0:NaN},goog.math.safeFloor=function(e,t){return goog.asserts.assert(!goog.isDef(t)||0<t),Math.floor(e+(t||2e-15))},goog.math.safeCeil=function(e,t){return goog.asserts.assert(!goog.isDef(t)||0<t),Math.ceil(e-(t||2e-15))},goog.math.Coordinate=function(e,t){this.x=goog.isDef(e)?e:0,this.y=goog.isDef(t)?t:0},goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)},goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"}),goog.math.Coordinate.prototype.equals=function(e){return e instanceof goog.math.Coordinate&&goog.math.Coordinate.equals(this,e)},goog.math.Coordinate.equals=function(e,t){return e==t||!(!e||!t)&&(e.x==t.x&&e.y==t.y)},goog.math.Coordinate.distance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return Math.sqrt(o*o+n*n)},goog.math.Coordinate.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},goog.math.Coordinate.azimuth=function(e){return goog.math.angle(0,0,e.x,e.y)},goog.math.Coordinate.squaredDistance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return o*o+n*n},goog.math.Coordinate.difference=function(e,t){return new goog.math.Coordinate(e.x-t.x,e.y-t.y)},goog.math.Coordinate.sum=function(e,t){return new goog.math.Coordinate(e.x+t.x,e.y+t.y)},goog.math.Coordinate.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},goog.math.Coordinate.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},goog.math.Coordinate.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},goog.math.Coordinate.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.x+=e.x,this.y+=e.y):(this.x+=Number(e),goog.isNumber(t)&&(this.y+=t)),this},goog.math.Coordinate.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.x*=e,this.y*=o,this},goog.math.Coordinate.prototype.rotateRadians=function(e,t){var o=t||new goog.math.Coordinate(0,0),n=this.x,i=this.y,r=Math.cos(e),s=Math.sin(e);this.x=(n-o.x)*r-(i-o.y)*s+o.x,this.y=(n-o.x)*s+(i-o.y)*r+o.y},goog.math.Coordinate.prototype.rotateDegrees=function(e,t){this.rotateRadians(goog.math.toRadians(e),t)},goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)},goog.math.Size=function(e,t){this.width=e,this.height=t},goog.math.Size.equals=function(e,t){return e==t||!(!e||!t)&&(e.width==t.width&&e.height==t.height)},goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)},goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"}),goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)},goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)},goog.math.Size.prototype.area=function(){return this.width*this.height},goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)},goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height},goog.math.Size.prototype.isEmpty=function(){return!this.area()},goog.math.Size.prototype.ceil=function(){return this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Size.prototype.fitsInside=function(e){return this.width<=e.width&&this.height<=e.height},goog.math.Size.prototype.floor=function(){return this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Size.prototype.round=function(){return this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Size.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.width*=e,this.height*=o,this},goog.math.Size.prototype.scaleToCover=function(e){return e=this.aspectRatio()<=e.aspectRatio()?e.width/this.width:e.height/this.height,this.scale(e)},goog.math.Size.prototype.scaleToFit=function(e){return e=this.aspectRatio()>e.aspectRatio()?e.width/this.width:e.height/this.height,this.scale(e)},goog.dom.ASSUME_QUIRKS_MODE=!1,goog.dom.ASSUME_STANDARDS_MODE=!1,goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE,goog.dom.getDomHelper=function(e){return e?new goog.dom.DomHelper(goog.dom.getOwnerDocument(e)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)},goog.dom.getDocument=function(){return document},goog.dom.getElement=function(e){return goog.dom.getElementHelper_(document,e)},goog.dom.getElementHelper_=function(e,t){return goog.isString(t)?e.getElementById(t):t},goog.dom.getRequiredElement=function(e){return goog.dom.getRequiredElementHelper_(document,e)},goog.dom.getRequiredElementHelper_=function(e,t){goog.asserts.assertString(t);var o=goog.dom.getElementHelper_(e,t);return goog.asserts.assertElement(o,"No element found with id: "+t)},goog.dom.$=goog.dom.getElement,goog.dom.getElementsByTagName=function(e,t){return(t||document).getElementsByTagName(String(e))},goog.dom.getElementsByTagNameAndClass=function(e,t,o){return goog.dom.getElementsByTagNameAndClass_(document,e,t,o)},goog.dom.getElementByTagNameAndClass=function(e,t,o){return goog.dom.getElementByTagNameAndClass_(document,e,t,o)},goog.dom.getElementsByClass=function(e,t){var o=t||document;return goog.dom.canUseQuerySelector_(o)?o.querySelectorAll("."+e):goog.dom.getElementsByTagNameAndClass_(document,"*",e,t)},goog.dom.getElementByClass=function(e,t){var o=t||document;return(o.getElementsByClassName?o.getElementsByClassName(e)[0]:goog.dom.getElementByTagNameAndClass_(document,"*",e,t))||null},goog.dom.getRequiredElementByClass=function(e,t){var o=goog.dom.getElementByClass(e,t);return goog.asserts.assert(o,"No element found with className: "+e)},goog.dom.canUseQuerySelector_=function(e){return!(!e.querySelectorAll||!e.querySelector)},goog.dom.getElementsByTagNameAndClass_=function(e,t,o,n){if(e=n||e,t=t&&"*"!=t?String(t).toUpperCase():"",goog.dom.canUseQuerySelector_(e)&&(t||o))return e.querySelectorAll(t+(o?"."+o:""));if(o&&e.getElementsByClassName){if(e=e.getElementsByClassName(o),t){n={};for(var i,r=0,s=0;i=e[s];s++)t==i.nodeName&&(n[r++]=i);return n.length=r,n}return e}if(e=e.getElementsByTagName(t||"*"),o){for(n={},s=r=0;i=e[s];s++)"function"==typeof(t=i.className).split&&goog.array.contains(t.split(/\s+/),o)&&(n[r++]=i);return n.length=r,n}return e},goog.dom.getElementByTagNameAndClass_=function(e,t,o,n){var i=n||e,r=t&&"*"!=t?String(t).toUpperCase():"";return goog.dom.canUseQuerySelector_(i)&&(r||o)?i.querySelector(r+(o?"."+o:"")):goog.dom.getElementsByTagNameAndClass_(e,t,o,n)[0]||null},goog.dom.$$=goog.dom.getElementsByTagNameAndClass,goog.dom.setProperties=function(e,t){goog.object.forEach(t,(function(t,o){t&&"object"==typeof t&&t.implementsGoogStringTypedString&&(t=t.getTypedStringValue()),"style"==o?e.style.cssText=t:"class"==o?e.className=t:"for"==o?e.htmlFor=t:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(o)?e.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[o],t):goog.string.startsWith(o,"aria-")||goog.string.startsWith(o,"data-")?e.setAttribute(o,t):e[o]=t}))},goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},goog.dom.getViewportSize=function(e){return goog.dom.getViewportSize_(e||window)},goog.dom.getViewportSize_=function(e){return e=e.document,e=goog.dom.isCss1CompatMode_(e)?e.documentElement:e.body,new goog.math.Size(e.clientWidth,e.clientHeight)},goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)},goog.dom.getDocumentHeightForWindow=function(e){return goog.dom.getDocumentHeight_(e)},goog.dom.getDocumentHeight_=function(e){var t=e.document,o=0;if(t){o=t.body;var n=t.documentElement;if(!n||!o)return 0;if(e=goog.dom.getViewportSize_(e).height,goog.dom.isCss1CompatMode_(t)&&n.scrollHeight)o=n.scrollHeight!=e?n.scrollHeight:n.offsetHeight;else{t=n.scrollHeight;var i=n.offsetHeight;n.clientHeight!=i&&(t=o.scrollHeight,i=o.offsetHeight),o=t>e?t>i?t:i:t<i?t:i}}return o},goog.dom.getPageScroll=function(e){return goog.dom.getDomHelper((e||goog.global||window).document).getDocumentScroll()},goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)},goog.dom.getDocumentScroll_=function(e){var t=goog.dom.getDocumentScrollElement_(e);return e=goog.dom.getWindow_(e),goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&e.pageYOffset!=t.scrollTop?new goog.math.Coordinate(t.scrollLeft,t.scrollTop):new goog.math.Coordinate(e.pageXOffset||t.scrollLeft,e.pageYOffset||t.scrollTop)},goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)},goog.dom.getDocumentScrollElement_=function(e){return e.scrollingElement?e.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(e)?e.documentElement:e.body||e.documentElement},goog.dom.getWindow=function(e){return e?goog.dom.getWindow_(e):window},goog.dom.getWindow_=function(e){return e.parentWindow||e.defaultView},goog.dom.createDom=function(e,t,o){return goog.dom.createDom_(document,arguments)},goog.dom.createDom_=function(e,t){var o=String(t[0]),n=t[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&n&&(n.name||n.type)){if(o=["<",o],n.name&&o.push(' name="',goog.string.htmlEscape(n.name),'"'),n.type){o.push(' type="',goog.string.htmlEscape(n.type),'"');var i={};goog.object.extend(i,n),delete i.type,n=i}o.push(">"),o=o.join("")}return o=e.createElement(o),n&&(goog.isString(n)?o.className=n:goog.isArray(n)?o.className=n.join(" "):goog.dom.setProperties(o,n)),2<t.length&&goog.dom.append_(e,o,t,2),o},goog.dom.append_=function(e,t,o,n){function i(o){o&&t.appendChild(goog.isString(o)?e.createTextNode(o):o)}for(;n<o.length;n++){var r=o[n];goog.isArrayLike(r)&&!goog.dom.isNodeLike(r)?goog.array.forEach(goog.dom.isNodeList(r)?goog.array.toArray(r):r,i):i(r)}},goog.dom.$dom=goog.dom.createDom,goog.dom.createElement=function(e){return goog.dom.createElement_(document,e)},goog.dom.createElement_=function(e,t){return e.createElement(String(t))},goog.dom.createTextNode=function(e){return document.createTextNode(String(e))},goog.dom.createTable=function(e,t,o){return goog.dom.createTable_(document,e,t,!!o)},goog.dom.createTable_=function(e,t,o,n){for(var i=goog.dom.createElement_(e,"TABLE"),r=i.appendChild(goog.dom.createElement_(e,"TBODY")),s=0;s<t;s++){for(var a=goog.dom.createElement_(e,"TR"),l=0;l<o;l++){var u=goog.dom.createElement_(e,"TD");n&&goog.dom.setTextContent(u,goog.string.Unicode.NBSP),a.appendChild(u)}r.appendChild(a)}return i},goog.dom.constHtmlToNode=function(e){var t=goog.array.map(arguments,goog.string.Const.unwrap);return t=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),t.join("")),goog.dom.safeHtmlToNode(t)},goog.dom.safeHtmlToNode=function(e){return goog.dom.safeHtmlToNode_(document,e)},goog.dom.safeHtmlToNode_=function(e,t){var o=goog.dom.createElement_(e,"DIV");return goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(o,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,t)),o.removeChild(goog.asserts.assert(o.firstChild))):goog.dom.safe.setInnerHtml(o,t),goog.dom.childrenToNode_(e,o)},goog.dom.childrenToNode_=function(e,t){if(1==t.childNodes.length)return t.removeChild(goog.asserts.assert(t.firstChild));for(var o=e.createDocumentFragment();t.firstChild;)o.appendChild(t.firstChild);return o},goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)},goog.dom.isCss1CompatMode_=function(e){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==e.compatMode},goog.dom.canHaveChildren=function(e){if(e.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(e.tagName){case"APPLET":case"AREA":case"BASE":case"BR":case"COL":case"COMMAND":case"EMBED":case"FRAME":case"HR":case"IMG":case"INPUT":case"IFRAME":case"ISINDEX":case"KEYGEN":case"LINK":case"NOFRAMES":case"NOSCRIPT":case"META":case"OBJECT":case"PARAM":case"SCRIPT":case"SOURCE":case"STYLE":case"TRACK":case"WBR":return!1}return!0},goog.dom.appendChild=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.appendChild expects non-null arguments"),e.appendChild(t)},goog.dom.append=function(e,t){goog.dom.append_(goog.dom.getOwnerDocument(e),e,arguments,1)},goog.dom.removeChildren=function(e){for(var t;t=e.firstChild;)e.removeChild(t)},goog.dom.insertSiblingBefore=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.insertSiblingBefore expects non-null arguments"),t.parentNode&&t.parentNode.insertBefore(e,t)},goog.dom.insertSiblingAfter=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.insertSiblingAfter expects non-null arguments"),t.parentNode&&t.parentNode.insertBefore(e,t.nextSibling)},goog.dom.insertChildAt=function(e,t,o){goog.asserts.assert(null!=e,"goog.dom.insertChildAt expects a non-null parent"),e.insertBefore(t,e.childNodes[o]||null)},goog.dom.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},goog.dom.replaceNode=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.replaceNode expects non-null arguments");var o=t.parentNode;o&&o.replaceChild(e,t)},goog.dom.flattenElement=function(e){var t,o=e.parentNode;if(o&&o.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(e.removeNode)return e.removeNode(!1);for(;t=e.firstChild;)o.insertBefore(t,e);return goog.dom.removeNode(e)}},goog.dom.getChildren=function(e){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&null!=e.children?e.children:goog.array.filter(e.childNodes,(function(e){return e.nodeType==goog.dom.NodeType.ELEMENT}))},goog.dom.getFirstElementChild=function(e){return goog.isDef(e.firstElementChild)?e.firstElementChild:goog.dom.getNextElementNode_(e.firstChild,!0)},goog.dom.getLastElementChild=function(e){return goog.isDef(e.lastElementChild)?e.lastElementChild:goog.dom.getNextElementNode_(e.lastChild,!1)},goog.dom.getNextElementSibling=function(e){return goog.isDef(e.nextElementSibling)?e.nextElementSibling:goog.dom.getNextElementNode_(e.nextSibling,!0)},goog.dom.getPreviousElementSibling=function(e){return goog.isDef(e.previousElementSibling)?e.previousElementSibling:goog.dom.getNextElementNode_(e.previousSibling,!1)},goog.dom.getNextElementNode_=function(e,t){for(;e&&e.nodeType!=goog.dom.NodeType.ELEMENT;)e=t?e.nextSibling:e.previousSibling;return e},goog.dom.getNextNode=function(e){if(!e)return null;if(e.firstChild)return e.firstChild;for(;e&&!e.nextSibling;)e=e.parentNode;return e?e.nextSibling:null},goog.dom.getPreviousNode=function(e){if(!e)return null;if(!e.previousSibling)return e.parentNode;for(e=e.previousSibling;e&&e.lastChild;)e=e.lastChild;return e},goog.dom.isNodeLike=function(e){return goog.isObject(e)&&0<e.nodeType},goog.dom.isElement=function(e){return goog.isObject(e)&&e.nodeType==goog.dom.NodeType.ELEMENT},goog.dom.isWindow=function(e){return goog.isObject(e)&&e.window==e},goog.dom.getParentElement=function(e){var t;return!goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&e instanceof goog.global.SVGElement||!(t=e.parentElement)?(t=e.parentNode,goog.dom.isElement(t)?t:null):t},goog.dom.contains=function(e,t){if(!e||!t)return!1;if(e.contains&&t.nodeType==goog.dom.NodeType.ELEMENT)return e==t||e.contains(t);if(void 0!==e.compareDocumentPosition)return e==t||!!(16&e.compareDocumentPosition(t));for(;t&&e!=t;)t=t.parentNode;return t==e},goog.dom.compareNodeOrder=function(e,t){if(e==t)return 0;if(e.compareDocumentPosition)return 2&e.compareDocumentPosition(t)?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(e.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(t.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in e||e.parentNode&&"sourceIndex"in e.parentNode){var o=e.nodeType==goog.dom.NodeType.ELEMENT,n=t.nodeType==goog.dom.NodeType.ELEMENT;if(o&&n)return e.sourceIndex-t.sourceIndex;var i=e.parentNode,r=t.parentNode;return i==r?goog.dom.compareSiblingOrder_(e,t):!o&&goog.dom.contains(i,t)?-1*goog.dom.compareParentsDescendantNodeIe_(e,t):!n&&goog.dom.contains(r,e)?goog.dom.compareParentsDescendantNodeIe_(t,e):(o?e.sourceIndex:i.sourceIndex)-(n?t.sourceIndex:r.sourceIndex)}return(o=(n=goog.dom.getOwnerDocument(e)).createRange()).selectNode(e),o.collapse(!0),(n=n.createRange()).selectNode(t),n.collapse(!0),o.compareBoundaryPoints(goog.global.Range.START_TO_END,n)},goog.dom.compareParentsDescendantNodeIe_=function(e,t){var o=e.parentNode;if(o==t)return-1;for(var n=t;n.parentNode!=o;)n=n.parentNode;return goog.dom.compareSiblingOrder_(n,e)},goog.dom.compareSiblingOrder_=function(e,t){for(var o=t;o=o.previousSibling;)if(o==e)return-1;return 1},goog.dom.findCommonAncestor=function(e){var t,o=arguments.length;if(!o)return null;if(1==o)return arguments[0];var n=[],i=1/0;for(t=0;t<o;t++){for(var r=[],s=arguments[t];s;)r.unshift(s),s=s.parentNode;n.push(r),i=Math.min(i,r.length)}for(r=null,t=0;t<i;t++){s=n[0][t];for(var a=1;a<o;a++)if(s!=n[a][t])return r;r=s}return r},goog.dom.isInDocument=function(e){return 16==(16&e.ownerDocument.compareDocumentPosition(e))},goog.dom.getOwnerDocument=function(e){return goog.asserts.assert(e,"Node cannot be null or undefined."),e.nodeType==goog.dom.NodeType.DOCUMENT?e:e.ownerDocument||e.document},goog.dom.getFrameContentDocument=function(e){return e.contentDocument||e.contentWindow.document},goog.dom.getFrameContentWindow=function(e){try{return e.contentWindow||(e.contentDocument?goog.dom.getWindow(e.contentDocument):null)}catch(e){}return null},goog.dom.setTextContent=function(e,t){if(goog.asserts.assert(null!=e,"goog.dom.setTextContent expects a non-null value for node"),"textContent"in e)e.textContent=t;else if(e.nodeType==goog.dom.NodeType.TEXT)e.data=String(t);else if(e.firstChild&&e.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;e.lastChild!=e.firstChild;)e.removeChild(goog.asserts.assert(e.lastChild));e.firstChild.data=String(t)}else{goog.dom.removeChildren(e);var o=goog.dom.getOwnerDocument(e);e.appendChild(o.createTextNode(String(t)))}},goog.dom.getOuterHtml=function(e){if(goog.asserts.assert(null!==e,"goog.dom.getOuterHtml expects a non-null value for element"),"outerHTML"in e)return e.outerHTML;var t=goog.dom.getOwnerDocument(e);return(t=goog.dom.createElement_(t,"DIV")).appendChild(e.cloneNode(!0)),t.innerHTML},goog.dom.findNode=function(e,t){var o=[];return goog.dom.findNodes_(e,t,o,!0)?o[0]:void 0},goog.dom.findNodes=function(e,t){var o=[];return goog.dom.findNodes_(e,t,o,!1),o},goog.dom.findNodes_=function(e,t,o,n){if(null!=e)for(e=e.firstChild;e;){if(t(e)&&(o.push(e),n)||goog.dom.findNodes_(e,t,o,n))return!0;e=e.nextSibling}return!1},goog.dom.findElement=function(e,t){for(var o=goog.dom.getChildrenReverse_(e);0<o.length;){var n=o.pop();if(t(n))return n;for(n=n.lastElementChild;n;n=n.previousElementSibling)o.push(n)}return null},goog.dom.findElements=function(e,t){for(var o=[],n=goog.dom.getChildrenReverse_(e);0<n.length;){var i=n.pop();for(t(i)&&o.push(i),i=i.lastElementChild;i;i=i.previousElementSibling)n.push(i)}return o},goog.dom.getChildrenReverse_=function(e){if(e.nodeType==goog.dom.NodeType.DOCUMENT)return[e.documentElement];var t=[];for(e=e.lastElementChild;e;e=e.previousElementSibling)t.push(e);return t},goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"},goog.dom.isFocusableTabIndex=function(e){return goog.dom.hasSpecifiedTabIndex_(e)&&goog.dom.isTabIndexFocusable_(e)},goog.dom.setFocusableTabIndex=function(e,t){t?e.tabIndex=0:(e.tabIndex=-1,e.removeAttribute("tabIndex"))},goog.dom.isFocusable=function(e){var t;return(t=goog.dom.nativelySupportsFocus_(e)?!e.disabled&&(!goog.dom.hasSpecifiedTabIndex_(e)||goog.dom.isTabIndexFocusable_(e)):goog.dom.isFocusableTabIndex(e))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(e):t},goog.dom.hasSpecifiedTabIndex_=function(e){return goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9")?(e=e.getAttributeNode("tabindex"),goog.isDefAndNotNull(e)&&e.specified):e.hasAttribute("tabindex")},goog.dom.isTabIndexFocusable_=function(e){return e=e.tabIndex,goog.isNumber(e)&&0<=e&&32768>e},goog.dom.nativelySupportsFocus_=function(e){return"A"==e.tagName&&e.hasAttribute("href")||"INPUT"==e.tagName||"TEXTAREA"==e.tagName||"SELECT"==e.tagName||"BUTTON"==e.tagName},goog.dom.hasNonZeroBoundingRect_=function(e){return e=!goog.isFunction(e.getBoundingClientRect)||goog.userAgent.IE&&null==e.parentElement?{height:e.offsetHeight,width:e.offsetWidth}:e.getBoundingClientRect(),goog.isDefAndNotNull(e)&&0<e.height&&0<e.width},goog.dom.getTextContent=function(e){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==e&&"innerText"in e)e=goog.string.canonicalizeNewlines(e.innerText);else{var t=[];goog.dom.getTextContent_(e,t,!0),e=t.join("")}return e=(e=e.replace(/ \xAD /g," ").replace(/\xAD/g,"")).replace(/\u200B/g,""),goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(e=e.replace(/ +/g," "))," "!=e&&(e=e.replace(/^\s*/,"")),e},goog.dom.getRawTextContent=function(e){var t=[];return goog.dom.getTextContent_(e,t,!1),t.join("")},goog.dom.getTextContent_=function(e,t,o){if(!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT)o?t.push(String(e.nodeValue).replace(/(\r\n|\r|\n)/g,"")):t.push(e.nodeValue);else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)t.push(goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName]);else for(e=e.firstChild;e;)goog.dom.getTextContent_(e,t,o),e=e.nextSibling},goog.dom.getNodeTextLength=function(e){return goog.dom.getTextContent(e).length},goog.dom.getNodeTextOffset=function(e,t){for(var o=t||goog.dom.getOwnerDocument(e).body,n=[];e&&e!=o;){for(var i=e;i=i.previousSibling;)n.unshift(goog.dom.getTextContent(i));e=e.parentNode}return goog.string.trimLeft(n.join("")).replace(/ +/g," ").length},goog.dom.getNodeAtOffset=function(e,t,o){e=[e];for(var n=0,i=null;0<e.length&&n<t;)if(!((i=e.pop()).nodeName in goog.dom.TAGS_TO_IGNORE_))if(i.nodeType==goog.dom.NodeType.TEXT){var r=i.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");n+=r.length}else if(i.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)n+=goog.dom.PREDEFINED_TAG_VALUES_[i.nodeName].length;else for(r=i.childNodes.length-1;0<=r;r--)e.push(i.childNodes[r]);return goog.isObject(o)&&(o.remainder=i?i.nodeValue.length+t-n-1:0,o.node=i),i},goog.dom.isNodeList=function(e){if(e&&"number"==typeof e.length){if(goog.isObject(e))return"function"==typeof e.item||"string"==typeof e.item;if(goog.isFunction(e))return"function"==typeof e.item}return!1},goog.dom.getAncestorByTagNameAndClass=function(e,t,o,n){if(!t&&!o)return null;var i=t?String(t).toUpperCase():null;return goog.dom.getAncestor(e,(function(e){return(!i||e.nodeName==i)&&(!o||goog.isString(e.className)&&goog.array.contains(e.className.split(/\s+/),o))}),!0,n)},goog.dom.getAncestorByClass=function(e,t,o){return goog.dom.getAncestorByTagNameAndClass(e,null,t,o)},goog.dom.getAncestor=function(e,t,o,n){for(e&&!o&&(e=e.parentNode),o=0;e&&(null==n||o<=n);){if(goog.asserts.assert("parentNode"!=e.name),t(e))return e;e=e.parentNode,o++}return null},goog.dom.getActiveElement=function(e){try{var t=e&&e.activeElement;return t&&t.nodeName?t:null}catch(e){return null}},goog.dom.getPixelRatio=function(){var e=goog.dom.getWindow();return goog.isDef(e.devicePixelRatio)?e.devicePixelRatio:e.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1},goog.dom.matchesPixelRatio_=function(e){return goog.dom.getWindow().matchMedia("(min-resolution: "+e+"dppx),(min--moz-device-pixel-ratio: "+e+"),(min-resolution: "+96*e+"dpi)").matches?e:0},goog.dom.getCanvasContext2D=function(e){return e.getContext("2d")},goog.dom.DomHelper=function(e){this.document_=e||goog.global.document||document},goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper,goog.dom.DomHelper.prototype.setDocument=function(e){this.document_=e},goog.dom.DomHelper.prototype.getDocument=function(){return this.document_},goog.dom.DomHelper.prototype.getElement=function(e){return goog.dom.getElementHelper_(this.document_,e)},goog.dom.DomHelper.prototype.getRequiredElement=function(e){return goog.dom.getRequiredElementHelper_(this.document_,e)},goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement,goog.dom.DomHelper.prototype.getElementsByTagName=function(e,t){return(t||this.document_).getElementsByTagName(String(e))},goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(e,t,o){return goog.dom.getElementsByTagNameAndClass_(this.document_,e,t,o)},goog.dom.DomHelper.prototype.getElementByTagNameAndClass=function(e,t,o){return goog.dom.getElementByTagNameAndClass_(this.document_,e,t,o)},goog.dom.DomHelper.prototype.getElementsByClass=function(e,t){return goog.dom.getElementsByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.getElementByClass=function(e,t){return goog.dom.getElementByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.getRequiredElementByClass=function(e,t){return goog.dom.getRequiredElementByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass,goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties,goog.dom.DomHelper.prototype.getViewportSize=function(e){return goog.dom.getViewportSize(e||this.getWindow())},goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())},goog.dom.DomHelper.prototype.createDom=function(e,t,o){return goog.dom.createDom_(this.document_,arguments)},goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom,goog.dom.DomHelper.prototype.createElement=function(e){return goog.dom.createElement_(this.document_,e)},goog.dom.DomHelper.prototype.createTextNode=function(e){return this.document_.createTextNode(String(e))},goog.dom.DomHelper.prototype.createTable=function(e,t,o){return goog.dom.createTable_(this.document_,e,t,!!o)},goog.dom.DomHelper.prototype.safeHtmlToNode=function(e){return goog.dom.safeHtmlToNode_(this.document_,e)},goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)},goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)},goog.dom.DomHelper.prototype.getActiveElement=function(e){return goog.dom.getActiveElement(e||this.document_)},goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild,goog.dom.DomHelper.prototype.append=goog.dom.append,goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren,goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren,goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore,goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter,goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt,goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode,goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode,goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement,goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren,goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild,goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild,goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling,goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling,goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode,goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode,goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike,goog.dom.DomHelper.prototype.isElement=goog.dom.isElement,goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow,goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement,goog.dom.DomHelper.prototype.contains=goog.dom.contains,goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder,goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor,goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument,goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument,goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow,goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent,goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml,goog.dom.DomHelper.prototype.findNode=goog.dom.findNode,goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes,goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex,goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex,goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable,goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent,goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength,goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset,goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset,goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList,goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass,goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass,goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor,goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D,goog.dom.vendor={},goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null},goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null},goog.dom.vendor.getPrefixedPropertyName=function(e,t){if(t&&e in t)return e;var o=goog.dom.vendor.getVendorJsPrefix();return o?(o=o.toLowerCase(),o+=goog.string.toTitleCase(e),!goog.isDef(t)||o in t?o:null):null},goog.dom.vendor.getPrefixedEventType=function(e){return((goog.dom.vendor.getVendorJsPrefix()||"")+e).toLowerCase()},goog.math.Box=function(e,t,o,n){this.top=e,this.right=t,this.bottom=o,this.left=n},goog.math.Box.boundingBox=function(e){for(var t=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),o=1;o<arguments.length;o++)t.expandToIncludeCoordinate(arguments[o]);return t},goog.math.Box.prototype.getWidth=function(){return this.right-this.left},goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top},goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)},goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"}),goog.math.Box.prototype.contains=function(e){return goog.math.Box.contains(this,e)},goog.math.Box.prototype.expand=function(e,t,o,n){return goog.isObject(e)?(this.top-=e.top,this.right+=e.right,this.bottom+=e.bottom,this.left-=e.left):(this.top-=e,this.right+=Number(t),this.bottom+=Number(o),this.left-=Number(n)),this},goog.math.Box.prototype.expandToInclude=function(e){this.left=Math.min(this.left,e.left),this.top=Math.min(this.top,e.top),this.right=Math.max(this.right,e.right),this.bottom=Math.max(this.bottom,e.bottom)},goog.math.Box.prototype.expandToIncludeCoordinate=function(e){this.top=Math.min(this.top,e.y),this.right=Math.max(this.right,e.x),this.bottom=Math.max(this.bottom,e.y),this.left=Math.min(this.left,e.x)},goog.math.Box.equals=function(e,t){return e==t||!(!e||!t)&&(e.top==t.top&&e.right==t.right&&e.bottom==t.bottom&&e.left==t.left)},goog.math.Box.contains=function(e,t){return!(!e||!t)&&(t instanceof goog.math.Box?t.left>=e.left&&t.right<=e.right&&t.top>=e.top&&t.bottom<=e.bottom:t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom)},goog.math.Box.relativePositionX=function(e,t){return t.x<e.left?t.x-e.left:t.x>e.right?t.x-e.right:0},goog.math.Box.relativePositionY=function(e,t){return t.y<e.top?t.y-e.top:t.y>e.bottom?t.y-e.bottom:0},goog.math.Box.distance=function(e,t){var o=goog.math.Box.relativePositionX(e,t),n=goog.math.Box.relativePositionY(e,t);return Math.sqrt(o*o+n*n)},goog.math.Box.intersects=function(e,t){return e.left<=t.right&&t.left<=e.right&&e.top<=t.bottom&&t.top<=e.bottom},goog.math.Box.intersectsWithPadding=function(e,t,o){return e.left<=t.right+o&&t.left<=e.right+o&&e.top<=t.bottom+o&&t.top<=e.bottom+o},goog.math.Box.prototype.ceil=function(){return this.top=Math.ceil(this.top),this.right=Math.ceil(this.right),this.bottom=Math.ceil(this.bottom),this.left=Math.ceil(this.left),this},goog.math.Box.prototype.floor=function(){return this.top=Math.floor(this.top),this.right=Math.floor(this.right),this.bottom=Math.floor(this.bottom),this.left=Math.floor(this.left),this},goog.math.Box.prototype.round=function(){return this.top=Math.round(this.top),this.right=Math.round(this.right),this.bottom=Math.round(this.bottom),this.left=Math.round(this.left),this},goog.math.Box.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.left+=e.x,this.right+=e.x,this.top+=e.y,this.bottom+=e.y):(goog.asserts.assertNumber(e),this.left+=e,this.right+=e,goog.isNumber(t)&&(this.top+=t,this.bottom+=t)),this},goog.math.Box.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.left*=e,this.right*=e,this.top*=o,this.bottom*=o,this},goog.math.IRect=function(){},goog.math.Rect=function(e,t,o,n){this.left=e,this.top=t,this.width=o,this.height=n},goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)},goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)},goog.math.Rect.createFromPositionAndSize=function(e,t){return new goog.math.Rect(e.x,e.y,t.width,t.height)},goog.math.Rect.createFromBox=function(e){return new goog.math.Rect(e.left,e.top,e.right-e.left,e.bottom-e.top)},goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"}),goog.math.Rect.equals=function(e,t){return e==t||!(!e||!t)&&(e.left==t.left&&e.width==t.width&&e.top==t.top&&e.height==t.height)},goog.math.Rect.prototype.intersection=function(e){var t=Math.max(this.left,e.left),o=Math.min(this.left+this.width,e.left+e.width);if(t<=o){var n=Math.max(this.top,e.top);if(n<=(e=Math.min(this.top+this.height,e.top+e.height)))return this.left=t,this.top=n,this.width=o-t,this.height=e-n,!0}return!1},goog.math.Rect.intersection=function(e,t){var o=Math.max(e.left,t.left),n=Math.min(e.left+e.width,t.left+t.width);if(o<=n){var i=Math.max(e.top,t.top),r=Math.min(e.top+e.height,t.top+t.height);if(i<=r)return new goog.math.Rect(o,i,n-o,r-i)}return null},goog.math.Rect.intersects=function(e,t){return e.left<=t.left+t.width&&t.left<=e.left+e.width&&e.top<=t.top+t.height&&t.top<=e.top+e.height},goog.math.Rect.prototype.intersects=function(e){return goog.math.Rect.intersects(this,e)},goog.math.Rect.difference=function(e,t){var o=goog.math.Rect.intersection(e,t);if(!o||!o.height||!o.width)return[e.clone()];o=[];var n=e.top,i=e.height,r=e.left+e.width,s=e.top+e.height,a=t.left+t.width,l=t.top+t.height;return t.top>e.top&&(o.push(new goog.math.Rect(e.left,e.top,e.width,t.top-e.top)),n=t.top,i-=t.top-e.top),l<s&&(o.push(new goog.math.Rect(e.left,l,e.width,s-l)),i=l-n),t.left>e.left&&o.push(new goog.math.Rect(e.left,n,t.left-e.left,i)),a<r&&o.push(new goog.math.Rect(a,n,r-a,i)),o},goog.math.Rect.prototype.difference=function(e){return goog.math.Rect.difference(this,e)},goog.math.Rect.prototype.boundingRect=function(e){var t=Math.max(this.left+this.width,e.left+e.width),o=Math.max(this.top+this.height,e.top+e.height);this.left=Math.min(this.left,e.left),this.top=Math.min(this.top,e.top),this.width=t-this.left,this.height=o-this.top},goog.math.Rect.boundingRect=function(e,t){if(!e||!t)return null;var o=new goog.math.Rect(e.left,e.top,e.width,e.height);return o.boundingRect(t),o},goog.math.Rect.prototype.contains=function(e){return e instanceof goog.math.Coordinate?e.x>=this.left&&e.x<=this.left+this.width&&e.y>=this.top&&e.y<=this.top+this.height:this.left<=e.left&&this.left+this.width>=e.left+e.width&&this.top<=e.top&&this.top+this.height>=e.top+e.height},goog.math.Rect.prototype.squaredDistance=function(e){var t=e.x<this.left?this.left-e.x:Math.max(e.x-(this.left+this.width),0);return t*t+(e=e.y<this.top?this.top-e.y:Math.max(e.y-(this.top+this.height),0))*e},goog.math.Rect.prototype.distance=function(e){return Math.sqrt(this.squaredDistance(e))},goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)},goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)},goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)},goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)},goog.math.Rect.prototype.ceil=function(){return this.left=Math.ceil(this.left),this.top=Math.ceil(this.top),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Rect.prototype.floor=function(){return this.left=Math.floor(this.left),this.top=Math.floor(this.top),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Rect.prototype.round=function(){return this.left=Math.round(this.left),this.top=Math.round(this.top),this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Rect.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.left+=e.x,this.top+=e.y):(this.left+=goog.asserts.assertNumber(e),goog.isNumber(t)&&(this.top+=t)),this},goog.math.Rect.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.left*=e,this.width*=e,this.top*=o,this.height*=o,this},goog.style={},goog.style.setStyle=function(e,t,o){if(goog.isString(t))goog.style.setStyle_(e,o,t);else for(var n in t)goog.style.setStyle_(e,t[n],n)},goog.style.setStyle_=function(e,t,o){(o=goog.style.getVendorJsStyleName_(e,o))&&(e.style[o]=t)},goog.style.styleNameCache_={},goog.style.getVendorJsStyleName_=function(e,t){var o=goog.style.styleNameCache_[t];if(!o){var n=goog.string.toCamelCase(t);o=n,void 0===e.style[n]&&(n=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(n),void 0!==e.style[n]&&(o=n)),goog.style.styleNameCache_[t]=o}return o},goog.style.getVendorStyleName_=function(e,t){var o=goog.string.toCamelCase(t);return void 0===e.style[o]&&(o=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(o),void 0!==e.style[o])?goog.dom.vendor.getVendorPrefix()+"-"+t:t},goog.style.getStyle=function(e,t){var o=e.style[goog.string.toCamelCase(t)];return void 0!==o?o:e.style[goog.style.getVendorJsStyleName_(e,t)]||""},goog.style.getComputedStyle=function(e,t){var o=goog.dom.getOwnerDocument(e);return o.defaultView&&o.defaultView.getComputedStyle&&(o=o.defaultView.getComputedStyle(e,null))&&(o[t]||o.getPropertyValue(t))||""},goog.style.getCascadedStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:null},goog.style.getStyle_=function(e,t){return goog.style.getComputedStyle(e,t)||goog.style.getCascadedStyle(e,t)||e.style&&e.style[t]},goog.style.getComputedBoxSizing=function(e){return goog.style.getStyle_(e,"boxSizing")||goog.style.getStyle_(e,"MozBoxSizing")||goog.style.getStyle_(e,"WebkitBoxSizing")||null},goog.style.getComputedPosition=function(e){return goog.style.getStyle_(e,"position")},goog.style.getBackgroundColor=function(e){return goog.style.getStyle_(e,"backgroundColor")},goog.style.getComputedOverflowX=function(e){return goog.style.getStyle_(e,"overflowX")},goog.style.getComputedOverflowY=function(e){return goog.style.getStyle_(e,"overflowY")},goog.style.getComputedZIndex=function(e){return goog.style.getStyle_(e,"zIndex")},goog.style.getComputedTextAlign=function(e){return goog.style.getStyle_(e,"textAlign")},goog.style.getComputedCursor=function(e){return goog.style.getStyle_(e,"cursor")},goog.style.getComputedTransform=function(e){var t=goog.style.getVendorStyleName_(e,"transform");return goog.style.getStyle_(e,t)||goog.style.getStyle_(e,"transform")},goog.style.setPosition=function(e,t,o){if(t instanceof goog.math.Coordinate){var n=t.x;t=t.y}else n=t,t=o;e.style.left=goog.style.getPixelStyleValue_(n,!1),e.style.top=goog.style.getPixelStyleValue_(t,!1)},goog.style.getPosition=function(e){return new goog.math.Coordinate(e.offsetLeft,e.offsetTop)},goog.style.getClientViewportElement=function(e){return e=e?goog.dom.getOwnerDocument(e):goog.dom.getDocument(),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(e).isCss1CompatMode()?e.documentElement:e.body},goog.style.getViewportPageOffset=function(e){var t=e.body;return e=e.documentElement,new goog.math.Coordinate(t.scrollLeft||e.scrollLeft,t.scrollTop||e.scrollTop)},goog.style.getBoundingClientRect_=function(e){try{var t=e.getBoundingClientRect()}catch(e){return{left:0,top:0,right:0,bottom:0}}return goog.userAgent.IE&&e.ownerDocument.body&&(e=e.ownerDocument,t.left-=e.documentElement.clientLeft+e.body.clientLeft,t.top-=e.documentElement.clientTop+e.body.clientTop),t},goog.style.getOffsetParent=function(e){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(e&&"offsetParent"in e),e.offsetParent;var t=goog.dom.getOwnerDocument(e),o=goog.style.getStyle_(e,"position"),n="fixed"==o||"absolute"==o;for(e=e.parentNode;e&&e!=t;e=e.parentNode)if(e.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&e.host&&(e=e.host),o=goog.style.getStyle_(e,"position"),!(n=n&&"static"==o&&e!=t.documentElement&&e!=t.body)&&(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight||"fixed"==o||"absolute"==o||"relative"==o))return e;return null},goog.style.getVisibleRectForElement=function(e){for(var t=new goog.math.Box(0,1/0,1/0,0),o=goog.dom.getDomHelper(e),n=o.getDocument().body,i=o.getDocument().documentElement,r=o.getDocumentScrollElement();e=goog.style.getOffsetParent(e);)if(!(goog.userAgent.IE&&0==e.clientWidth||goog.userAgent.WEBKIT&&0==e.clientHeight&&e==n)&&e!=n&&e!=i&&"visible"!=goog.style.getStyle_(e,"overflow")){var s=goog.style.getPageOffset(e),a=goog.style.getClientLeftTop(e);s.x+=a.x,s.y+=a.y,t.top=Math.max(t.top,s.y),t.right=Math.min(t.right,s.x+e.clientWidth),t.bottom=Math.min(t.bottom,s.y+e.clientHeight),t.left=Math.max(t.left,s.x)}return n=r.scrollLeft,r=r.scrollTop,t.left=Math.max(t.left,n),t.top=Math.max(t.top,r),o=o.getViewportSize(),t.right=Math.min(t.right,n+o.width),t.bottom=Math.min(t.bottom,r+o.height),0<=t.top&&0<=t.left&&t.bottom>t.top&&t.right>t.left?t:null},goog.style.getContainerOffsetToScrollInto=function(e,t,o){var n=t||goog.dom.getDocumentScrollElement(),i=goog.style.getPageOffset(e),r=goog.style.getPageOffset(n),s=goog.style.getBorderBox(n);return n==goog.dom.getDocumentScrollElement()?(t=i.x-n.scrollLeft,i=i.y-n.scrollTop,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(t+=s.left,i+=s.top)):(t=i.x-r.x-s.left,i=i.y-r.y-s.top),s=goog.style.getSizeWithDisplay_(e),e=n.clientWidth-s.width,s=n.clientHeight-s.height,r=n.scrollLeft,n=n.scrollTop,o?(r+=t-e/2,n+=i-s/2):(r+=Math.min(t,Math.max(t-e,0)),n+=Math.min(i,Math.max(i-s,0))),new goog.math.Coordinate(r,n)},goog.style.scrollIntoContainerView=function(e,t,o){t=t||goog.dom.getDocumentScrollElement(),e=goog.style.getContainerOffsetToScrollInto(e,t,o),t.scrollLeft=e.x,t.scrollTop=e.y},goog.style.getClientLeftTop=function(e){return new goog.math.Coordinate(e.clientLeft,e.clientTop)},goog.style.getPageOffset=function(e){var t=goog.dom.getOwnerDocument(e);goog.asserts.assertObject(e,"Parameter is required");var o=new goog.math.Coordinate(0,0);return e==goog.style.getClientViewportElement(t)?o:(e=goog.style.getBoundingClientRect_(e),t=goog.dom.getDomHelper(t).getDocumentScroll(),o.x=e.left+t.x,o.y=e.top+t.y,o)},goog.style.getPageOffsetLeft=function(e){return goog.style.getPageOffset(e).x},goog.style.getPageOffsetTop=function(e){return goog.style.getPageOffset(e).y},goog.style.getFramedPageOffset=function(e,t){var o=new goog.math.Coordinate(0,0),n=goog.dom.getWindow(goog.dom.getOwnerDocument(e));if(!goog.reflect.canAccessProperty(n,"parent"))return o;var i=e;do{var r=n==t?goog.style.getPageOffset(i):goog.style.getClientPositionForElement_(goog.asserts.assert(i));o.x+=r.x,o.y+=r.y}while(n&&n!=t&&n!=n.parent&&(i=n.frameElement)&&(n=n.parent));return o},goog.style.translateRectForAnotherFrame=function(e,t,o){if(t.getDocument()!=o.getDocument()){var n=t.getDocument().body;o=goog.style.getFramedPageOffset(n,o.getWindow()),o=goog.math.Coordinate.difference(o,goog.style.getPageOffset(n)),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||t.isCss1CompatMode()||(o=goog.math.Coordinate.difference(o,t.getDocumentScroll())),e.left+=o.x,e.top+=o.y}},goog.style.getRelativePosition=function(e,t){var o=goog.style.getClientPosition(e),n=goog.style.getClientPosition(t);return new goog.math.Coordinate(o.x-n.x,o.y-n.y)},goog.style.getClientPositionForElement_=function(e){return e=goog.style.getBoundingClientRect_(e),new goog.math.Coordinate(e.left,e.top)},goog.style.getClientPosition=function(e){return goog.asserts.assert(e),e.nodeType==goog.dom.NodeType.ELEMENT?goog.style.getClientPositionForElement_(e):(e=e.changedTouches?e.changedTouches[0]:e,new goog.math.Coordinate(e.clientX,e.clientY))},goog.style.setPageOffset=function(e,t,o){var n=goog.style.getPageOffset(e);t instanceof goog.math.Coordinate&&(o=t.y,t=t.x),t=goog.asserts.assertNumber(t)-n.x,goog.style.setPosition(e,e.offsetLeft+t,e.offsetTop+(Number(o)-n.y))},goog.style.setSize=function(e,t,o){if(t instanceof goog.math.Size)o=t.height,t=t.width;else if(null==o)throw Error("missing height argument");goog.style.setWidth(e,t),goog.style.setHeight(e,o)},goog.style.getPixelStyleValue_=function(e,t){return"number"==typeof e&&(e=(t?Math.round(e):e)+"px"),e},goog.style.setHeight=function(e,t){e.style.height=goog.style.getPixelStyleValue_(t,!0)},goog.style.setWidth=function(e,t){e.style.width=goog.style.getPixelStyleValue_(t,!0)},goog.style.getSize=function(e){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,e)},goog.style.evaluateWithTemporaryDisplay_=function(e,t){if("none"!=goog.style.getStyle_(t,"display"))return e(t);var o=t.style,n=o.display,i=o.visibility,r=o.position;o.visibility="hidden",o.position="absolute",o.display="inline";var s=e(t);return o.display=n,o.position=r,o.visibility=i,s},goog.style.getSizeWithDisplay_=function(e){var t=e.offsetWidth,o=e.offsetHeight,n=goog.userAgent.WEBKIT&&!t&&!o;return goog.isDef(t)&&!n||!e.getBoundingClientRect?new goog.math.Size(t,o):(e=goog.style.getBoundingClientRect_(e),new goog.math.Size(e.right-e.left,e.bottom-e.top))},goog.style.getTransformedSize=function(e){return e.getBoundingClientRect?(e=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,e),new goog.math.Size(e.right-e.left,e.bottom-e.top)):null},goog.style.getBounds=function(e){var t=goog.style.getPageOffset(e);return e=goog.style.getSize(e),new goog.math.Rect(t.x,t.y,e.width,e.height)},goog.style.toCamelCase=function(e){return goog.string.toCamelCase(String(e))},goog.style.toSelectorCase=function(e){return goog.string.toSelectorCase(e)},goog.style.getOpacity=function(e){goog.asserts.assert(e);var t=e.style;return e="","opacity"in t?e=t.opacity:"MozOpacity"in t?e=t.MozOpacity:"filter"in t&&(t=t.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(e=String(t[1]/100)),""==e?e:Number(e)},goog.style.setOpacity=function(e,t){goog.asserts.assert(e);var o=e.style;"opacity"in o?o.opacity=t:"MozOpacity"in o?o.MozOpacity=t:"filter"in o&&(o.filter=""===t?"":"alpha(opacity="+100*Number(t)+")")},goog.style.setTransparentBackgroundImage=function(e,t){var o=e.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?o.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+t+'", sizingMethod="crop")':(o.backgroundImage="url("+t+")",o.backgroundPosition="top left",o.backgroundRepeat="no-repeat")},goog.style.clearTransparentBackgroundImage=function(e){"filter"in(e=e.style)?e.filter="":e.backgroundImage="none"},goog.style.showElement=function(e,t){goog.style.setElementShown(e,t)},goog.style.setElementShown=function(e,t){e.style.display=t?"":"none"},goog.style.isElementShown=function(e){return"none"!=e.style.display},goog.style.installSafeStyleSheet=function(e,t){var o=goog.dom.getDomHelper(t),n=o.getDocument();if(goog.userAgent.IE&&n.createStyleSheet)return o=n.createStyleSheet(),goog.style.setSafeStyleSheet(o,e),o;if(!(n=o.getElementsByTagNameAndClass("HEAD")[0])){var i=o.getElementsByTagNameAndClass("BODY")[0];n=o.createDom("HEAD"),i.parentNode.insertBefore(n,i)}return i=o.createDom("STYLE"),goog.style.setSafeStyleSheet(i,e),o.appendChild(n,i),i},goog.style.uninstallStyles=function(e){goog.dom.removeNode(e.ownerNode||e.owningElement||e)},goog.style.setSafeStyleSheet=function(e,t){var o=goog.html.SafeStyleSheet.unwrap(t);goog.userAgent.IE&&goog.isDef(e.cssText)?e.cssText=o:e.innerHTML=o},goog.style.setPreWrap=function(e){e=e.style,goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(e.whiteSpace="pre",e.wordWrap="break-word"):e.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"},goog.style.setInlineBlock=function(e){(e=e.style).position="relative",goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(e.zoom="1",e.display="inline"):e.display="inline-block"},goog.style.isRightToLeft=function(e){return"rtl"==goog.style.getStyle_(e,"direction")},goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT||goog.userAgent.EDGE?"WebkitUserSelect":null,goog.style.isUnselectable=function(e){return goog.style.unselectableStyle_?"none"==e.style[goog.style.unselectableStyle_].toLowerCase():!(!goog.userAgent.IE&&!goog.userAgent.OPERA)&&"on"==e.getAttribute("unselectable")},goog.style.setUnselectable=function(e,t,o){o=o?null:e.getElementsByTagName("*");var n=goog.style.unselectableStyle_;if(n){if(t=t?"none":"",e.style&&(e.style[n]=t),o){e=0;for(var i;i=o[e];e++)i.style&&(i.style[n]=t)}}else if((goog.userAgent.IE||goog.userAgent.OPERA)&&(t=t?"on":"",e.setAttribute("unselectable",t),o))for(e=0;i=o[e];e++)i.setAttribute("unselectable",t)},goog.style.getBorderBoxSize=function(e){return new goog.math.Size(e.offsetWidth,e.offsetHeight)},goog.style.setBorderBoxSize=function(e,t){var o=goog.dom.getOwnerDocument(e),n=goog.dom.getDomHelper(o).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||n&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(e,t,"border-box");else if(o=e.style,n){n=goog.style.getPaddingBox(e);var i=goog.style.getBorderBox(e);o.pixelWidth=t.width-i.left-n.left-n.right-i.right,o.pixelHeight=t.height-i.top-n.top-n.bottom-i.bottom}else o.pixelWidth=t.width,o.pixelHeight=t.height},goog.style.getContentBoxSize=function(e){var t=goog.dom.getOwnerDocument(e),o=goog.userAgent.IE&&e.currentStyle;return o&&goog.dom.getDomHelper(t).isCss1CompatMode()&&"auto"!=o.width&&"auto"!=o.height&&!o.boxSizing?(t=goog.style.getIePixelValue_(e,o.width,"width","pixelWidth"),e=goog.style.getIePixelValue_(e,o.height,"height","pixelHeight"),new goog.math.Size(t,e)):(o=goog.style.getBorderBoxSize(e),t=goog.style.getPaddingBox(e),e=goog.style.getBorderBox(e),new goog.math.Size(o.width-e.left-t.left-t.right-e.right,o.height-e.top-t.top-t.bottom-e.bottom))},goog.style.setContentBoxSize=function(e,t){var o=goog.dom.getOwnerDocument(e),n=goog.dom.getDomHelper(o).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||n&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(e,t,"content-box");else if(o=e.style,n)o.pixelWidth=t.width,o.pixelHeight=t.height;else{n=goog.style.getPaddingBox(e);var i=goog.style.getBorderBox(e);o.pixelWidth=t.width+i.left+n.left+n.right+i.right,o.pixelHeight=t.height+i.top+n.top+n.bottom+i.bottom}},goog.style.setBoxSizingSize_=function(e,t,o){e=e.style,goog.userAgent.GECKO?e.MozBoxSizing=o:goog.userAgent.WEBKIT?e.WebkitBoxSizing=o:e.boxSizing=o,e.width=Math.max(t.width,0)+"px",e.height=Math.max(t.height,0)+"px"},goog.style.getIePixelValue_=function(e,t,o,n){if(/^\d+px?$/.test(t))return parseInt(t,10);var i=e.style[o],r=e.runtimeStyle[o];return e.runtimeStyle[o]=e.currentStyle[o],e.style[o]=t,t=e.style[n],e.style[o]=i,e.runtimeStyle[o]=r,+t},goog.style.getIePixelDistance_=function(e,t){var o=goog.style.getCascadedStyle(e,t);return o?goog.style.getIePixelValue_(e,o,"left","pixelLeft"):0},goog.style.getBox_=function(e,t){if(goog.userAgent.IE){var o=goog.style.getIePixelDistance_(e,t+"Left"),n=goog.style.getIePixelDistance_(e,t+"Right"),i=goog.style.getIePixelDistance_(e,t+"Top"),r=goog.style.getIePixelDistance_(e,t+"Bottom");return new goog.math.Box(i,n,r,o)}return o=goog.style.getComputedStyle(e,t+"Left"),n=goog.style.getComputedStyle(e,t+"Right"),i=goog.style.getComputedStyle(e,t+"Top"),r=goog.style.getComputedStyle(e,t+"Bottom"),new goog.math.Box(parseFloat(i),parseFloat(n),parseFloat(r),parseFloat(o))},goog.style.getPaddingBox=function(e){return goog.style.getBox_(e,"padding")},goog.style.getMarginBox=function(e){return goog.style.getBox_(e,"margin")},goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6},goog.style.getIePixelBorder_=function(e,t){if("none"==goog.style.getCascadedStyle(e,t+"Style"))return 0;var o=goog.style.getCascadedStyle(e,t+"Width");return o in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[o]:goog.style.getIePixelValue_(e,o,"left","pixelLeft")},goog.style.getBorderBox=function(e){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var t=goog.style.getIePixelBorder_(e,"borderLeft"),o=goog.style.getIePixelBorder_(e,"borderRight"),n=goog.style.getIePixelBorder_(e,"borderTop");return e=goog.style.getIePixelBorder_(e,"borderBottom"),new goog.math.Box(n,o,e,t)}return t=goog.style.getComputedStyle(e,"borderLeftWidth"),o=goog.style.getComputedStyle(e,"borderRightWidth"),n=goog.style.getComputedStyle(e,"borderTopWidth"),e=goog.style.getComputedStyle(e,"borderBottomWidth"),new goog.math.Box(parseFloat(n),parseFloat(o),parseFloat(e),parseFloat(t))},goog.style.getFontFamily=function(e){var t=goog.dom.getOwnerDocument(e),o="";if(t.body.createTextRange&&goog.dom.contains(t,e)){(t=t.body.createTextRange()).moveToElementText(e);try{o=t.queryCommandValue("FontName")}catch(e){o=""}}return o||(o=goog.style.getStyle_(e,"fontFamily")),1<(e=o.split(",")).length&&(o=e[0]),goog.string.stripQuotes(o,"\"'")},goog.style.lengthUnitRegex_=/[^\d]+$/,goog.style.getLengthUnits=function(e){return(e=e.match(goog.style.lengthUnitRegex_))&&e[0]||null},goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,in:1,mm:1,pc:1,pt:1},goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1},goog.style.getFontSize=function(e){var t=goog.style.getStyle_(e,"fontSize"),o=goog.style.getLengthUnits(t);if(t&&"px"==o)return parseInt(t,10);if(goog.userAgent.IE){if(String(o)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(e,t,"left","pixelLeft");if(e.parentNode&&e.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&String(o)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return e=e.parentNode,o=goog.style.getStyle_(e,"fontSize"),goog.style.getIePixelValue_(e,t==o?"1em":t,"left","pixelLeft")}return o=goog.dom.createDom("SPAN",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"}),goog.dom.appendChild(e,o),t=o.offsetHeight,goog.dom.removeNode(o),t},goog.style.parseStyleAttribute=function(e){var t={};return goog.array.forEach(e.split(/\s*;\s*/),(function(e){var o=e.match(/\s*([\w-]+)\s*:(.+)/);o&&(e=o[1],o=goog.string.trim(o[2]),t[goog.string.toCamelCase(e.toLowerCase())]=o)})),t},goog.style.toStyleAttribute=function(e){var t=[];return goog.object.forEach(e,(function(e,o){t.push(goog.string.toSelectorCase(o),":",e,";")})),t.join("")},goog.style.setFloat=function(e,t){e.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=t},goog.style.getFloat=function(e){return e.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""},goog.style.getScrollbarWidth=function(e){var t=goog.dom.createElement("DIV");return e&&(t.className=e),t.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px",e=goog.dom.createElement("DIV"),goog.style.setSize(e,"200px","200px"),t.appendChild(e),goog.dom.appendChild(goog.dom.getDocument().body,t),e=t.offsetWidth-t.clientWidth,goog.dom.removeNode(t),e},goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/,goog.style.getCssTranslation=function(e){return(e=goog.style.getComputedTransform(e))&&(e=e.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(e[1]),parseFloat(e[2])):new goog.math.Coordinate(0,0)},goog.events.EventHandler=function(e){goog.Disposable.call(this),this.handler_=e,this.keys_={}},goog.inherits(goog.events.EventHandler,goog.Disposable),goog.events.EventHandler.typeArray_=[],goog.events.EventHandler.prototype.listen=function(e,t,o,n){return this.listen_(e,t,o,n)},goog.events.EventHandler.prototype.listenWithScope=function(e,t,o,n,i){return this.listen_(e,t,o,n,i)},goog.events.EventHandler.prototype.listen_=function(e,t,o,n,i){goog.isArray(t)||(t&&(goog.events.EventHandler.typeArray_[0]=t.toString()),t=goog.events.EventHandler.typeArray_);for(var r=0;r<t.length;r++){var s=goog.events.listen(e,t[r],o||this.handleEvent,n||!1,i||this.handler_||this);if(!s)break;this.keys_[s.key]=s}return this},goog.events.EventHandler.prototype.listenOnce=function(e,t,o,n){return this.listenOnce_(e,t,o,n)},goog.events.EventHandler.prototype.listenOnceWithScope=function(e,t,o,n,i){return this.listenOnce_(e,t,o,n,i)},goog.events.EventHandler.prototype.listenOnce_=function(e,t,o,n,i){if(goog.isArray(t))for(var r=0;r<t.length;r++)this.listenOnce_(e,t[r],o,n,i);else{if(!(e=goog.events.listenOnce(e,t,o||this.handleEvent,n,i||this.handler_||this)))return this;this.keys_[e.key]=e}return this},goog.events.EventHandler.prototype.listenWithWrapper=function(e,t,o,n){return this.listenWithWrapper_(e,t,o,n)},goog.events.EventHandler.prototype.listenWithWrapperAndScope=function(e,t,o,n,i){return this.listenWithWrapper_(e,t,o,n,i)},goog.events.EventHandler.prototype.listenWithWrapper_=function(e,t,o,n,i){return t.listen(e,o,n,i||this.handler_||this,this),this},goog.events.EventHandler.prototype.getListenerCount=function(){var e,t=0;for(e in this.keys_)Object.prototype.hasOwnProperty.call(this.keys_,e)&&t++;return t},goog.events.EventHandler.prototype.unlisten=function(e,t,o,n,i){if(goog.isArray(t))for(var r=0;r<t.length;r++)this.unlisten(e,t[r],o,n,i);else n=goog.isObject(n)?!!n.capture:!!n,(e=goog.events.getListener(e,t,o||this.handleEvent,n,i||this.handler_||this))&&(goog.events.unlistenByKey(e),delete this.keys_[e.key]);return this},goog.events.EventHandler.prototype.unlistenWithWrapper=function(e,t,o,n,i){return t.unlisten(e,o,n,i||this.handler_||this,this),this},goog.events.EventHandler.prototype.removeAll=function(){goog.object.forEach(this.keys_,(function(e,t){this.keys_.hasOwnProperty(t)&&goog.events.unlistenByKey(e)}),this),this.keys_={}},goog.events.EventHandler.prototype.disposeInternal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this),this.removeAll()},goog.events.EventHandler.prototype.handleEvent=function(e){throw Error("EventHandler.handleEvent not implemented")},goog.events.EventTarget=function(){goog.Disposable.call(this),this.eventTargetListeners_=new goog.events.ListenerMap(this),this.actualEventTarget_=this,this.parentEventTarget_=null},goog.inherits(goog.events.EventTarget,goog.Disposable),goog.events.Listenable.addImplementation(goog.events.EventTarget),goog.events.EventTarget.MAX_ANCESTORS_=1e3,goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_},goog.events.EventTarget.prototype.setParentEventTarget=function(e){this.parentEventTarget_=e},goog.events.EventTarget.prototype.addEventListener=function(e,t,o,n){goog.events.listen(this,e,t,o,n)},goog.events.EventTarget.prototype.removeEventListener=function(e,t,o,n){goog.events.unlisten(this,e,t,o,n)},goog.events.EventTarget.prototype.dispatchEvent=function(e){this.assertInitialized_();var t=this.getParentEventTarget();if(t)for(var o=[],n=1;t;t=t.getParentEventTarget())o.push(t),goog.asserts.assert(++n<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop");return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,e,o)},goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this),this.removeAllListeners(),this.parentEventTarget_=null},goog.events.EventTarget.prototype.listen=function(e,t,o,n){return this.assertInitialized_(),this.eventTargetListeners_.add(String(e),t,!1,o,n)},goog.events.EventTarget.prototype.listenOnce=function(e,t,o,n){return this.eventTargetListeners_.add(String(e),t,!0,o,n)},goog.events.EventTarget.prototype.unlisten=function(e,t,o,n){return this.eventTargetListeners_.remove(String(e),t,o,n)},goog.events.EventTarget.prototype.unlistenByKey=function(e){return this.eventTargetListeners_.removeByKey(e)},goog.events.EventTarget.prototype.removeAllListeners=function(e){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(e):0},goog.events.EventTarget.prototype.fireListeners=function(e,t,o){if(!(e=this.eventTargetListeners_.listeners[String(e)]))return!0;e=e.concat();for(var n=!0,i=0;i<e.length;++i){var r=e[i];if(r&&!r.removed&&r.capture==t){var s=r.listener,a=r.handler||r.src;r.callOnce&&this.unlistenByKey(r),n=!1!==s.call(a,o)&&n}}return n&&0!=o.returnValue_},goog.events.EventTarget.prototype.getListeners=function(e,t){return this.eventTargetListeners_.getListeners(String(e),t)},goog.events.EventTarget.prototype.getListener=function(e,t,o,n){return this.eventTargetListeners_.getListener(String(e),t,o,n)},goog.events.EventTarget.prototype.hasListener=function(e,t){var o=goog.isDef(e)?String(e):void 0;return this.eventTargetListeners_.hasListener(o,t)},goog.events.EventTarget.prototype.setTargetForTesting=function(e){this.actualEventTarget_=e},goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")},goog.events.EventTarget.dispatchEventInternal_=function(e,t,o){var n=t.type||t;if(goog.isString(t))t=new goog.events.Event(t,e);else if(t instanceof goog.events.Event)t.target=t.target||e;else{var i=t;t=new goog.events.Event(n,e),goog.object.extend(t,i)}if(i=!0,o)for(var r=o.length-1;!t.propagationStopped_&&0<=r;r--){var s=t.currentTarget=o[r];i=s.fireListeners(n,!0,t)&&i}if(t.propagationStopped_||(i=(s=t.currentTarget=e).fireListeners(n,!0,t)&&i,t.propagationStopped_||(i=s.fireListeners(n,!1,t)&&i)),o)for(r=0;!t.propagationStopped_&&r<o.length;r++)i=(s=t.currentTarget=o[r]).fireListeners(n,!1,t)&&i;return i},goog.ui={},goog.ui.IdGenerator=function(){},goog.addSingletonGetter(goog.ui.IdGenerator),goog.ui.IdGenerator.prototype.nextId_=0,goog.ui.IdGenerator.prototype.idPrefix_="",goog.ui.IdGenerator.prototype.setIdPrefix=function(e){this.idPrefix_=e},goog.ui.IdGenerator.prototype.getNextUniqueId=function(){return this.idPrefix_+":"+(this.nextId_++).toString(36)},goog.ui.Component=function(e){goog.events.EventTarget.call(this),this.dom_=e||goog.dom.getDomHelper(),this.rightToLeft_=goog.ui.Component.defaultRightToLeft_,this.id_=null,this.inDocument_=!1,this.element_=null,this.googUiComponentHandler_=void 0,this.childIndex_=this.children_=this.parent_=this.model_=null,this.pointerEventsEnabled_=this.wasDecorated_=!1},goog.inherits(goog.ui.Component,goog.events.EventTarget),goog.ui.Component.ALLOW_DETACHED_DECORATION=!1,goog.ui.Component.prototype.idGenerator_=goog.ui.IdGenerator.getInstance(),goog.ui.Component.DEFAULT_BIDI_DIR=0,goog.ui.Component.defaultRightToLeft_=1!=goog.ui.Component.DEFAULT_BIDI_DIR&&(-1==goog.ui.Component.DEFAULT_BIDI_DIR||null),goog.ui.Component.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",HIDE:"hide",DISABLE:"disable",ENABLE:"enable",HIGHLIGHT:"highlight",UNHIGHLIGHT:"unhighlight",ACTIVATE:"activate",DEACTIVATE:"deactivate",SELECT:"select",UNSELECT:"unselect",CHECK:"check",UNCHECK:"uncheck",FOCUS:"focus",BLUR:"blur",OPEN:"open",CLOSE:"close",ENTER:"enter",LEAVE:"leave",ACTION:"action",CHANGE:"change"},goog.ui.Component.Error={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"},goog.ui.Component.State={ALL:255,DISABLED:1,HOVER:2,ACTIVE:4,SELECTED:8,CHECKED:16,FOCUSED:32,OPENED:64},goog.ui.Component.getStateTransitionEvent=function(e,t){switch(e){case goog.ui.Component.State.DISABLED:return t?goog.ui.Component.EventType.DISABLE:goog.ui.Component.EventType.ENABLE;case goog.ui.Component.State.HOVER:return t?goog.ui.Component.EventType.HIGHLIGHT:goog.ui.Component.EventType.UNHIGHLIGHT;case goog.ui.Component.State.ACTIVE:return t?goog.ui.Component.EventType.ACTIVATE:goog.ui.Component.EventType.DEACTIVATE;case goog.ui.Component.State.SELECTED:return t?goog.ui.Component.EventType.SELECT:goog.ui.Component.EventType.UNSELECT;case goog.ui.Component.State.CHECKED:return t?goog.ui.Component.EventType.CHECK:goog.ui.Component.EventType.UNCHECK;case goog.ui.Component.State.FOCUSED:return t?goog.ui.Component.EventType.FOCUS:goog.ui.Component.EventType.BLUR;case goog.ui.Component.State.OPENED:return t?goog.ui.Component.EventType.OPEN:goog.ui.Component.EventType.CLOSE}throw Error(goog.ui.Component.Error.STATE_INVALID)},goog.ui.Component.setDefaultRightToLeft=function(e){goog.ui.Component.defaultRightToLeft_=e},goog.ui.Component.prototype.getId=function(){return this.id_||(this.id_=this.idGenerator_.getNextUniqueId())},goog.ui.Component.prototype.setId=function(e){this.parent_&&this.parent_.childIndex_&&(goog.object.remove(this.parent_.childIndex_,this.id_),goog.object.add(this.parent_.childIndex_,e,this)),this.id_=e},goog.ui.Component.prototype.getElement=function(){return this.element_},goog.ui.Component.prototype.getElementStrict=function(){var e=this.element_;return goog.asserts.assert(e,"Can not call getElementStrict before rendering/decorating."),e},goog.ui.Component.prototype.setElementInternal=function(e){this.element_=e},goog.ui.Component.prototype.getElementsByClass=function(e){return this.element_?this.dom_.getElementsByClass(e,this.element_):[]},goog.ui.Component.prototype.getElementByClass=function(e){return this.element_?this.dom_.getElementByClass(e,this.element_):null},goog.ui.Component.prototype.getRequiredElementByClass=function(e){var t=this.getElementByClass(e);return goog.asserts.assert(t,"Expected element in component with class: %s",e),t},goog.ui.Component.prototype.getHandler=function(){return this.googUiComponentHandler_||(this.googUiComponentHandler_=new goog.events.EventHandler(this)),goog.asserts.assert(this.googUiComponentHandler_)},goog.ui.Component.prototype.setParent=function(e){if(this==e)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);if(e&&this.parent_&&this.id_&&this.parent_.getChild(this.id_)&&this.parent_!=e)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);this.parent_=e,goog.ui.Component.superClass_.setParentEventTarget.call(this,e)},goog.ui.Component.prototype.getParent=function(){return this.parent_},goog.ui.Component.prototype.setParentEventTarget=function(e){if(this.parent_&&this.parent_!=e)throw Error(goog.ui.Component.Error.NOT_SUPPORTED);goog.ui.Component.superClass_.setParentEventTarget.call(this,e)},goog.ui.Component.prototype.getDomHelper=function(){return this.dom_},goog.ui.Component.prototype.isInDocument=function(){return this.inDocument_},goog.ui.Component.prototype.createDom=function(){this.element_=this.dom_.createElement("DIV")},goog.ui.Component.prototype.render=function(e){this.render_(e)},goog.ui.Component.prototype.renderBefore=function(e){this.render_(e.parentNode,e)},goog.ui.Component.prototype.render_=function(e,t){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.element_||this.createDom(),e?e.insertBefore(this.element_,t||null):this.dom_.getDocument().body.appendChild(this.element_),this.parent_&&!this.parent_.isInDocument()||this.enterDocument()},goog.ui.Component.prototype.decorate=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(!e||!this.canDecorate(e))throw Error(goog.ui.Component.Error.DECORATE_INVALID);this.wasDecorated_=!0;var t=goog.dom.getOwnerDocument(e);this.dom_&&this.dom_.getDocument()==t||(this.dom_=goog.dom.getDomHelper(e)),this.decorateInternal(e),goog.ui.Component.ALLOW_DETACHED_DECORATION&&!goog.dom.contains(t,e)||this.enterDocument()},goog.ui.Component.prototype.canDecorate=function(e){return!0},goog.ui.Component.prototype.wasDecorated=function(){return this.wasDecorated_},goog.ui.Component.prototype.decorateInternal=function(e){this.element_=e},goog.ui.Component.prototype.enterDocument=function(){this.inDocument_=!0,this.forEachChild((function(e){!e.isInDocument()&&e.getElement()&&e.enterDocument()}))},goog.ui.Component.prototype.exitDocument=function(){this.forEachChild((function(e){e.isInDocument()&&e.exitDocument()})),this.googUiComponentHandler_&&this.googUiComponentHandler_.removeAll(),this.inDocument_=!1},goog.ui.Component.prototype.disposeInternal=function(){this.inDocument_&&this.exitDocument(),this.googUiComponentHandler_&&(this.googUiComponentHandler_.dispose(),delete this.googUiComponentHandler_),this.forEachChild((function(e){e.dispose()})),!this.wasDecorated_&&this.element_&&goog.dom.removeNode(this.element_),this.parent_=this.model_=this.element_=this.childIndex_=this.children_=null,goog.ui.Component.superClass_.disposeInternal.call(this)},goog.ui.Component.prototype.makeId=function(e){return this.getId()+"."+e},goog.ui.Component.prototype.makeIds=function(e){var t,o={};for(t in e)o[t]=this.makeId(e[t]);return o},goog.ui.Component.prototype.getModel=function(){return this.model_},goog.ui.Component.prototype.setModel=function(e){this.model_=e},goog.ui.Component.prototype.getFragmentFromId=function(e){return e.substring(this.getId().length+1)},goog.ui.Component.prototype.getElementByFragment=function(e){if(!this.inDocument_)throw Error(goog.ui.Component.Error.NOT_IN_DOCUMENT);return this.dom_.getElement(this.makeId(e))},goog.ui.Component.prototype.addChild=function(e,t){this.addChildAt(e,this.getChildCount(),t)},goog.ui.Component.prototype.addChildAt=function(e,t,o){if(goog.asserts.assert(!!e,"Provided element must not be null."),e.inDocument_&&(o||!this.inDocument_))throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(0>t||t>this.getChildCount())throw Error(goog.ui.Component.Error.CHILD_INDEX_OUT_OF_BOUNDS);this.childIndex_&&this.children_||(this.childIndex_={},this.children_=[]),e.getParent()==this?(goog.object.set(this.childIndex_,e.getId(),e),goog.array.remove(this.children_,e)):goog.object.add(this.childIndex_,e.getId(),e),e.setParent(this),goog.array.insertAt(this.children_,e,t),e.inDocument_&&this.inDocument_&&e.getParent()==this?(t=(o=this.getContentElement()).childNodes[t]||null)!=e.getElement()&&o.insertBefore(e.getElement(),t):o?(this.element_||this.createDom(),t=this.getChildAt(t+1),e.render_(this.getContentElement(),t?t.element_:null)):this.inDocument_&&!e.inDocument_&&e.element_&&e.element_.parentNode&&e.element_.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&e.enterDocument()},goog.ui.Component.prototype.getContentElement=function(){return this.element_},goog.ui.Component.prototype.isRightToLeft=function(){return null==this.rightToLeft_&&(this.rightToLeft_=goog.style.isRightToLeft(this.inDocument_?this.element_:this.dom_.getDocument().body)),this.rightToLeft_},goog.ui.Component.prototype.setRightToLeft=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.rightToLeft_=e},goog.ui.Component.prototype.hasChildren=function(){return!!this.children_&&0!=this.children_.length},goog.ui.Component.prototype.getChildCount=function(){return this.children_?this.children_.length:0},goog.ui.Component.prototype.getChildIds=function(){var e=[];return this.forEachChild((function(t){e.push(t.getId())})),e},goog.ui.Component.prototype.getChild=function(e){return this.childIndex_&&e&&goog.object.get(this.childIndex_,e)||null},goog.ui.Component.prototype.getChildAt=function(e){return this.children_&&this.children_[e]||null},goog.ui.Component.prototype.forEachChild=function(e,t){this.children_&&goog.array.forEach(this.children_,e,t)},goog.ui.Component.prototype.indexOfChild=function(e){return this.children_&&e?goog.array.indexOf(this.children_,e):-1},goog.ui.Component.prototype.removeChild=function(e,t){if(e){var o=goog.isString(e)?e:e.getId();e=this.getChild(o),o&&e&&(goog.object.remove(this.childIndex_,o),goog.array.remove(this.children_,e),t&&(e.exitDocument(),e.element_&&goog.dom.removeNode(e.element_)),e.setParent(null))}if(!e)throw Error(goog.ui.Component.Error.NOT_OUR_CHILD);return e},goog.ui.Component.prototype.removeChildAt=function(e,t){return this.removeChild(this.getChildAt(e),t)},goog.ui.Component.prototype.removeChildren=function(e){for(var t=[];this.hasChildren();)t.push(this.removeChildAt(0,e));return t},goog.ui.Component.prototype.pointerEventsEnabled=function(){return this.pointerEventsEnabled_},goog.ui.Component.prototype.setPointerEventsEnabled=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.pointerEventsEnabled_=e},goog.a11y={},goog.a11y.aria={},goog.a11y.aria.Role={ALERT:"alert",ALERTDIALOG:"alertdialog",APPLICATION:"application",ARTICLE:"article",BANNER:"banner",BUTTON:"button",CHECKBOX:"checkbox",COLUMNHEADER:"columnheader",COMBOBOX:"combobox",COMPLEMENTARY:"complementary",CONTENTINFO:"contentinfo",DEFINITION:"definition",DIALOG:"dialog",DIRECTORY:"directory",DOCUMENT:"document",FORM:"form",GRID:"grid",GRIDCELL:"gridcell",GROUP:"group",HEADING:"heading",IMG:"img",LINK:"link",LIST:"list",LISTBOX:"listbox",LISTITEM:"listitem",LOG:"log",MAIN:"main",MARQUEE:"marquee",MATH:"math",MENU:"menu",MENUBAR:"menubar",MENU_ITEM:"menuitem",MENU_ITEM_CHECKBOX:"menuitemcheckbox",MENU_ITEM_RADIO:"menuitemradio",NAVIGATION:"navigation",NOTE:"note",OPTION:"option",PRESENTATION:"presentation",PROGRESSBAR:"progressbar",RADIO:"radio",RADIOGROUP:"radiogroup",REGION:"region",ROW:"row",ROWGROUP:"rowgroup",ROWHEADER:"rowheader",SCROLLBAR:"scrollbar",SEARCH:"search",SEPARATOR:"separator",SLIDER:"slider",SPINBUTTON:"spinbutton",STATUS:"status",TAB:"tab",TAB_LIST:"tablist",TAB_PANEL:"tabpanel",TEXTBOX:"textbox",TEXTINFO:"textinfo",TIMER:"timer",TOOLBAR:"toolbar",TOOLTIP:"tooltip",TREE:"tree",TREEGRID:"treegrid",TREEITEM:"treeitem"},goog.a11y.aria.State={ACTIVEDESCENDANT:"activedescendant",ATOMIC:"atomic",AUTOCOMPLETE:"autocomplete",BUSY:"busy",CHECKED:"checked",COLINDEX:"colindex",CONTROLS:"controls",DESCRIBEDBY:"describedby",DISABLED:"disabled",DROPEFFECT:"dropeffect",EXPANDED:"expanded",FLOWTO:"flowto",GRABBED:"grabbed",HASPOPUP:"haspopup",HIDDEN:"hidden",INVALID:"invalid",LABEL:"label",LABELLEDBY:"labelledby",LEVEL:"level",LIVE:"live",MULTILINE:"multiline",MULTISELECTABLE:"multiselectable",ORIENTATION:"orientation",OWNS:"owns",POSINSET:"posinset",PRESSED:"pressed",READONLY:"readonly",RELEVANT:"relevant",REQUIRED:"required",ROWINDEX:"rowindex",SELECTED:"selected",SETSIZE:"setsize",SORT:"sort",VALUEMAX:"valuemax",VALUEMIN:"valuemin",VALUENOW:"valuenow",VALUETEXT:"valuetext"},goog.a11y.aria.AutoCompleteValues={INLINE:"inline",LIST:"list",BOTH:"both",NONE:"none"},goog.a11y.aria.DropEffectValues={COPY:"copy",MOVE:"move",LINK:"link",EXECUTE:"execute",POPUP:"popup",NONE:"none"},goog.a11y.aria.LivePriority={OFF:"off",POLITE:"polite",ASSERTIVE:"assertive"},goog.a11y.aria.OrientationValues={VERTICAL:"vertical",HORIZONTAL:"horizontal"},goog.a11y.aria.RelevantValues={ADDITIONS:"additions",REMOVALS:"removals",TEXT:"text",ALL:"all"},goog.a11y.aria.SortValues={ASCENDING:"ascending",DESCENDING:"descending",NONE:"none",OTHER:"other"},goog.a11y.aria.CheckedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"},goog.a11y.aria.ExpandedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.GrabbedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.InvalidValues={FALSE:"false",TRUE:"true",GRAMMAR:"grammar",SPELLING:"spelling"},goog.a11y.aria.PressedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"},goog.a11y.aria.SelectedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.datatables={},goog.a11y.aria.datatables.getDefaultValuesMap=function(){return goog.a11y.aria.DefaultStateValueMap_||(goog.a11y.aria.DefaultStateValueMap_=goog.object.create(goog.a11y.aria.State.ATOMIC,!1,goog.a11y.aria.State.AUTOCOMPLETE,"none",goog.a11y.aria.State.DROPEFFECT,"none",goog.a11y.aria.State.HASPOPUP,!1,goog.a11y.aria.State.LIVE,"off",goog.a11y.aria.State.MULTILINE,!1,goog.a11y.aria.State.MULTISELECTABLE,!1,goog.a11y.aria.State.ORIENTATION,"vertical",goog.a11y.aria.State.READONLY,!1,goog.a11y.aria.State.RELEVANT,"additions text",goog.a11y.aria.State.REQUIRED,!1,goog.a11y.aria.State.SORT,"none",goog.a11y.aria.State.BUSY,!1,goog.a11y.aria.State.DISABLED,!1,goog.a11y.aria.State.HIDDEN,!1,goog.a11y.aria.State.INVALID,"false")),goog.a11y.aria.DefaultStateValueMap_},goog.a11y.aria.ARIA_PREFIX_="aria-",goog.a11y.aria.ROLE_ATTRIBUTE_="role",goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_=goog.object.createSet("A AREA BUTTON HEAD INPUT LINK MENU META OPTGROUP OPTION PROGRESS STYLE SELECT SOURCE TEXTAREA TITLE TRACK".split(" ")),goog.a11y.aria.CONTAINER_ROLES_=[goog.a11y.aria.Role.COMBOBOX,goog.a11y.aria.Role.GRID,goog.a11y.aria.Role.GROUP,goog.a11y.aria.Role.LISTBOX,goog.a11y.aria.Role.MENU,goog.a11y.aria.Role.MENUBAR,goog.a11y.aria.Role.RADIOGROUP,goog.a11y.aria.Role.ROW,goog.a11y.aria.Role.ROWGROUP,goog.a11y.aria.Role.TAB_LIST,goog.a11y.aria.Role.TEXTBOX,goog.a11y.aria.Role.TOOLBAR,goog.a11y.aria.Role.TREE,goog.a11y.aria.Role.TREEGRID],goog.a11y.aria.setRole=function(e,t){t?(goog.asserts.ENABLE_ASSERTS&&goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.Role,t),"No such ARIA role "+t),e.setAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_,t)):goog.a11y.aria.removeRole(e)},goog.a11y.aria.getRole=function(e){return e.getAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)||null},goog.a11y.aria.removeRole=function(e){e.removeAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)},goog.a11y.aria.setState=function(e,t,o){goog.isArray(o)&&(o=o.join(" "));var n=goog.a11y.aria.getAriaAttributeName_(t);""===o||null==o?t in(o=goog.a11y.aria.datatables.getDefaultValuesMap())?e.setAttribute(n,o[t]):e.removeAttribute(n):e.setAttribute(n,o)},goog.a11y.aria.toggleState=function(e,t){var o=goog.a11y.aria.getState(e,t);goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))||"true"==o||"false"==o?goog.a11y.aria.setState(e,t,"true"==o?"false":"true"):goog.a11y.aria.removeState(e,t)},goog.a11y.aria.removeState=function(e,t){e.removeAttribute(goog.a11y.aria.getAriaAttributeName_(t))},goog.a11y.aria.getState=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return null==o||null==o?"":String(o)},goog.a11y.aria.getActiveDescendant=function(e){var t=goog.a11y.aria.getState(e,goog.a11y.aria.State.ACTIVEDESCENDANT);return goog.dom.getOwnerDocument(e).getElementById(t)},goog.a11y.aria.setActiveDescendant=function(e,t){var o="";t&&(o=t.id,goog.asserts.assert(o,"The active element should have an id.")),goog.a11y.aria.setState(e,goog.a11y.aria.State.ACTIVEDESCENDANT,o)},goog.a11y.aria.getLabel=function(e){return goog.a11y.aria.getState(e,goog.a11y.aria.State.LABEL)},goog.a11y.aria.setLabel=function(e,t){goog.a11y.aria.setState(e,goog.a11y.aria.State.LABEL,t)},goog.a11y.aria.assertRoleIsSetInternalUtil=function(e,t){if(!goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_[e.tagName]){var o=goog.a11y.aria.getRole(e);goog.asserts.assert(null!=o,"The element ARIA role cannot be null."),goog.asserts.assert(goog.array.contains(t,o),'Non existing or incorrect role set for element.The role set is "'+o+'". The role should be any of "'+t+'". Check the ARIA specification for more details http://www.w3.org/TR/wai-aria/roles.')}},goog.a11y.aria.getStateBoolean=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert(goog.isBoolean(o)||null==o||"true"==o||"false"==o),null==o?o:goog.isBoolean(o)?o:"true"==o},goog.a11y.aria.getStateNumber=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert(!(null!=o&&isNaN(Number(o))||goog.isBoolean(o))),null==o?null:Number(o)},goog.a11y.aria.getStateString=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert((null==o||goog.isString(o))&&(""==o||isNaN(Number(o)))&&"true"!=o&&"false"!=o),null==o||""==o?null:o};goog.a11y.aria.getStringArrayStateInternalUtil=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.a11y.aria.splitStringOnWhitespace_(o)},goog.a11y.aria.hasState=function(e,t){return e.hasAttribute(goog.a11y.aria.getAriaAttributeName_(t))},goog.a11y.aria.isContainerRole=function(e){return e=goog.a11y.aria.getRole(e),goog.array.contains(goog.a11y.aria.CONTAINER_ROLES_,e)},goog.a11y.aria.splitStringOnWhitespace_=function(e){return e?e.split(/\s+/):[]},goog.a11y.aria.getAriaAttributeName_=function(e){return goog.asserts.ENABLE_ASSERTS&&(goog.asserts.assert(e,"ARIA attribute cannot be empty."),goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.State,e),"No such ARIA attribute "+e)),goog.a11y.aria.ARIA_PREFIX_+e},goog.events.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,FF_HASH:163,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255},goog.events.KeyCodes.isTextModifyingKeyEvent=function(e){if(e.altKey&&!e.ctrlKey||e.metaKey||e.keyCode>=goog.events.KeyCodes.F1&&e.keyCode<=goog.events.KeyCodes.F12)return!1;if(goog.events.KeyCodes.isCharacterKey(e.keyCode))return!0;switch(e.keyCode){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goog.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog.events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.SCROLL_LOCK:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.VK_NONAME:case goog.events.KeyCodes.WIN_KEY:case goog.events.KeyCodes.WIN_KEY_RIGHT:return!1;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return!goog.userAgent.GECKO;default:return e.keyCode<goog.events.KeyCodes.FIRST_MEDIA_KEY||e.keyCode>goog.events.KeyCodes.LAST_MEDIA_KEY}},goog.events.KeyCodes.firesKeyPressEvent=function(e,t,o,n,i,r){if(goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("525"))return!0;if(goog.userAgent.MAC&&i)return goog.events.KeyCodes.isCharacterKey(e);if(i&&!n)return!1;if(!goog.userAgent.GECKO){goog.isNumber(t)&&(t=goog.events.KeyCodes.normalizeKeyCode(t));var s=t==goog.events.KeyCodes.CTRL||t==goog.events.KeyCodes.ALT||goog.userAgent.MAC&&t==goog.events.KeyCodes.META,a=t==goog.events.KeyCodes.SHIFT&&(n||r);if((!o||goog.userAgent.MAC)&&s||goog.userAgent.MAC&&a)return!1}if((goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&n&&o)switch(e){case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.TILDE:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:return!1}if(goog.userAgent.IE&&n&&t==e)return!1;switch(e){case goog.events.KeyCodes.ENTER:return!goog.userAgent.GECKO||!r&&!i&&!(o&&n);case goog.events.KeyCodes.ESC:return!(goog.userAgent.WEBKIT||goog.userAgent.EDGE||goog.userAgent.GECKO)}return(!goog.userAgent.GECKO||!(n||i||r))&&goog.events.KeyCodes.isCharacterKey(e)},goog.events.KeyCodes.isCharacterKey=function(e){if(e>=goog.events.KeyCodes.ZERO&&e<=goog.events.KeyCodes.NINE||e>=goog.events.KeyCodes.NUM_ZERO&&e<=goog.events.KeyCodes.NUM_MULTIPLY||e>=goog.events.KeyCodes.A&&e<=goog.events.KeyCodes.Z||(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&0==e)return!0;switch(e){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.PLUS_SIGN:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.AT_SIGN:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.FF_SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.FF_EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.FF_HASH:return!0;case goog.events.KeyCodes.FF_DASH:return goog.userAgent.GECKO;default:return!1}},goog.events.KeyCodes.normalizeKeyCode=function(e){return goog.userAgent.GECKO?goog.events.KeyCodes.normalizeGeckoKeyCode(e):goog.userAgent.MAC&&goog.userAgent.WEBKIT?goog.events.KeyCodes.normalizeMacWebKitKeyCode(e):e},goog.events.KeyCodes.normalizeGeckoKeyCode=function(e){switch(e){case goog.events.KeyCodes.FF_EQUALS:return goog.events.KeyCodes.EQUALS;case goog.events.KeyCodes.FF_SEMICOLON:return goog.events.KeyCodes.SEMICOLON;case goog.events.KeyCodes.FF_DASH:return goog.events.KeyCodes.DASH;case goog.events.KeyCodes.MAC_FF_META:return goog.events.KeyCodes.META;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return goog.events.KeyCodes.WIN_KEY;default:return e}},goog.events.KeyCodes.normalizeMacWebKitKeyCode=function(e){switch(e){case goog.events.KeyCodes.MAC_WK_CMD_RIGHT:return goog.events.KeyCodes.META;default:return e}},goog.events.KeyHandler=function(e,t){goog.events.EventTarget.call(this),e&&this.attach(e,t)},goog.inherits(goog.events.KeyHandler,goog.events.EventTarget),goog.events.KeyHandler.prototype.element_=null,goog.events.KeyHandler.prototype.keyPressKey_=null,goog.events.KeyHandler.prototype.keyDownKey_=null,goog.events.KeyHandler.prototype.keyUpKey_=null,goog.events.KeyHandler.prototype.lastKey_=-1,goog.events.KeyHandler.prototype.keyCode_=-1,goog.events.KeyHandler.prototype.altKey_=!1,goog.events.KeyHandler.EventType={KEY:"key"},goog.events.KeyHandler.safariKey_={3:goog.events.KeyCodes.ENTER,12:goog.events.KeyCodes.NUMLOCK,63232:goog.events.KeyCodes.UP,63233:goog.events.KeyCodes.DOWN,63234:goog.events.KeyCodes.LEFT,63235:goog.events.KeyCodes.RIGHT,63236:goog.events.KeyCodes.F1,63237:goog.events.KeyCodes.F2,63238:goog.events.KeyCodes.F3,63239:goog.events.KeyCodes.F4,63240:goog.events.KeyCodes.F5,63241:goog.events.KeyCodes.F6,63242:goog.events.KeyCodes.F7,63243:goog.events.KeyCodes.F8,63244:goog.events.KeyCodes.F9,63245:goog.events.KeyCodes.F10,63246:goog.events.KeyCodes.F11,63247:goog.events.KeyCodes.F12,63248:goog.events.KeyCodes.PRINT_SCREEN,63272:goog.events.KeyCodes.DELETE,63273:goog.events.KeyCodes.HOME,63275:goog.events.KeyCodes.END,63276:goog.events.KeyCodes.PAGE_UP,63277:goog.events.KeyCodes.PAGE_DOWN,63289:goog.events.KeyCodes.NUMLOCK,63302:goog.events.KeyCodes.INSERT},goog.events.KeyHandler.keyIdentifier_={Up:goog.events.KeyCodes.UP,Down:goog.events.KeyCodes.DOWN,Left:goog.events.KeyCodes.LEFT,Right:goog.events.KeyCodes.RIGHT,Enter:goog.events.KeyCodes.ENTER,F1:goog.events.KeyCodes.F1,F2:goog.events.KeyCodes.F2,F3:goog.events.KeyCodes.F3,F4:goog.events.KeyCodes.F4,F5:goog.events.KeyCodes.F5,F6:goog.events.KeyCodes.F6,F7:goog.events.KeyCodes.F7,F8:goog.events.KeyCodes.F8,F9:goog.events.KeyCodes.F9,F10:goog.events.KeyCodes.F10,F11:goog.events.KeyCodes.F11,F12:goog.events.KeyCodes.F12,"U+007F":goog.events.KeyCodes.DELETE,Home:goog.events.KeyCodes.HOME,End:goog.events.KeyCodes.END,PageUp:goog.events.KeyCodes.PAGE_UP,PageDown:goog.events.KeyCodes.PAGE_DOWN,Insert:goog.events.KeyCodes.INSERT},goog.events.KeyHandler.USES_KEYDOWN_=!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("525"),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_=goog.userAgent.MAC&&goog.userAgent.GECKO,goog.events.KeyHandler.prototype.handleKeyDown_=function(e){(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&(this.lastKey_==goog.events.KeyCodes.CTRL&&!e.ctrlKey||this.lastKey_==goog.events.KeyCodes.ALT&&!e.altKey||goog.userAgent.MAC&&this.lastKey_==goog.events.KeyCodes.META&&!e.metaKey)&&this.resetState(),-1==this.lastKey_&&(e.ctrlKey&&e.keyCode!=goog.events.KeyCodes.CTRL?this.lastKey_=goog.events.KeyCodes.CTRL:e.altKey&&e.keyCode!=goog.events.KeyCodes.ALT?this.lastKey_=goog.events.KeyCodes.ALT:e.metaKey&&e.keyCode!=goog.events.KeyCodes.META&&(this.lastKey_=goog.events.KeyCodes.META)),goog.events.KeyHandler.USES_KEYDOWN_&&!goog.events.KeyCodes.firesKeyPressEvent(e.keyCode,this.lastKey_,e.shiftKey,e.ctrlKey,e.altKey,e.metaKey)?this.handleEvent(e):(this.keyCode_=goog.events.KeyCodes.normalizeKeyCode(e.keyCode),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(this.altKey_=e.altKey))},goog.events.KeyHandler.prototype.resetState=function(){this.keyCode_=this.lastKey_=-1},goog.events.KeyHandler.prototype.handleKeyup_=function(e){this.resetState(),this.altKey_=e.altKey},goog.events.KeyHandler.prototype.handleEvent=function(e){var t=e.getBrowserEvent(),o=t.altKey;if(goog.userAgent.IE&&e.type==goog.events.EventType.KEYPRESS)var n=this.keyCode_,i=n!=goog.events.KeyCodes.ENTER&&n!=goog.events.KeyCodes.ESC?t.keyCode:0;else(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&e.type==goog.events.EventType.KEYPRESS?(n=this.keyCode_,i=0<=t.charCode&&63232>t.charCode&&goog.events.KeyCodes.isCharacterKey(n)?t.charCode:0):goog.userAgent.OPERA&&!goog.userAgent.WEBKIT?(n=this.keyCode_,i=goog.events.KeyCodes.isCharacterKey(n)?t.keyCode:0):(e.type==goog.events.EventType.KEYPRESS?(goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(o=this.altKey_),t.keyCode==t.charCode?32>t.keyCode?(n=t.keyCode,i=0):(n=this.keyCode_,i=t.charCode):(n=t.keyCode||this.keyCode_,i=t.charCode||0)):(n=t.keyCode||this.keyCode_,i=t.charCode||0),goog.userAgent.MAC&&i==goog.events.KeyCodes.QUESTION_MARK&&n==goog.events.KeyCodes.WIN_KEY&&(n=goog.events.KeyCodes.SLASH));var r=n=goog.events.KeyCodes.normalizeKeyCode(n);n?63232<=n&&n in goog.events.KeyHandler.safariKey_?r=goog.events.KeyHandler.safariKey_[n]:25==n&&e.shiftKey&&(r=9):t.keyIdentifier&&t.keyIdentifier in goog.events.KeyHandler.keyIdentifier_&&(r=goog.events.KeyHandler.keyIdentifier_[t.keyIdentifier]),goog.userAgent.GECKO&&goog.events.KeyHandler.USES_KEYDOWN_&&e.type==goog.events.EventType.KEYPRESS&&!goog.events.KeyCodes.firesKeyPressEvent(r,this.lastKey_,e.shiftKey,e.ctrlKey,o,e.metaKey)||(e=r==this.lastKey_,this.lastKey_=r,(t=new goog.events.KeyEvent(r,i,e,t)).altKey=o,this.dispatchEvent(t))},goog.events.KeyHandler.prototype.getElement=function(){return this.element_},goog.events.KeyHandler.prototype.attach=function(e,t){this.keyUpKey_&&this.detach(),this.element_=e,this.keyPressKey_=goog.events.listen(this.element_,goog.events.EventType.KEYPRESS,this,t),this.keyDownKey_=goog.events.listen(this.element_,goog.events.EventType.KEYDOWN,this.handleKeyDown_,t,this),this.keyUpKey_=goog.events.listen(this.element_,goog.events.EventType.KEYUP,this.handleKeyup_,t,this)},goog.events.KeyHandler.prototype.detach=function(){this.keyPressKey_&&(goog.events.unlistenByKey(this.keyPressKey_),goog.events.unlistenByKey(this.keyDownKey_),goog.events.unlistenByKey(this.keyUpKey_),this.keyUpKey_=this.keyDownKey_=this.keyPressKey_=null),this.element_=null,this.keyCode_=this.lastKey_=-1},goog.events.KeyHandler.prototype.disposeInternal=function(){goog.events.KeyHandler.superClass_.disposeInternal.call(this),this.detach()},goog.events.KeyEvent=function(e,t,o,n){goog.events.BrowserEvent.call(this,n),this.type=goog.events.KeyHandler.EventType.KEY,this.keyCode=e,this.charCode=t,this.repeat=o},goog.inherits(goog.events.KeyEvent,goog.events.BrowserEvent),goog.ui.ComponentUtil={},goog.ui.ComponentUtil.getMouseEventType=function(e){return e.pointerEventsEnabled()?goog.events.PointerAsMouseEventType:goog.events.MouseAsMouseEventType},goog.dom.classlist={},goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST=!1,goog.dom.classlist.get=function(e){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList:(e=e.className,goog.isString(e)&&e.match(/\S+/g)||[])},goog.dom.classlist.set=function(e,t){e.className=t},goog.dom.classlist.contains=function(e,t){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.contains(t):goog.array.contains(goog.dom.classlist.get(e),t)},goog.dom.classlist.add=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.add(t):goog.dom.classlist.contains(e,t)||(e.className+=0<e.className.length?" "+t:t)},goog.dom.classlist.addAll=function(e,t){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList)goog.array.forEach(t,(function(t){goog.dom.classlist.add(e,t)}));else{var o={};for(var n in goog.array.forEach(goog.dom.classlist.get(e),(function(e){o[e]=!0})),goog.array.forEach(t,(function(e){o[e]=!0})),e.className="",o)e.className+=0<e.className.length?" "+n:n}},goog.dom.classlist.remove=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.remove(t):goog.dom.classlist.contains(e,t)&&(e.className=goog.array.filter(goog.dom.classlist.get(e),(function(e){return e!=t})).join(" "))},goog.dom.classlist.removeAll=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?goog.array.forEach(t,(function(t){goog.dom.classlist.remove(e,t)})):e.className=goog.array.filter(goog.dom.classlist.get(e),(function(e){return!goog.array.contains(t,e)})).join(" ")},goog.dom.classlist.enable=function(e,t,o){o?goog.dom.classlist.add(e,t):goog.dom.classlist.remove(e,t)},goog.dom.classlist.enableAll=function(e,t,o){(o?goog.dom.classlist.addAll:goog.dom.classlist.removeAll)(e,t)},goog.dom.classlist.swap=function(e,t,o){return!!goog.dom.classlist.contains(e,t)&&(goog.dom.classlist.remove(e,t),goog.dom.classlist.add(e,o),!0)},goog.dom.classlist.toggle=function(e,t){var o=!goog.dom.classlist.contains(e,t);return goog.dom.classlist.enable(e,t,o),o},goog.dom.classlist.addRemove=function(e,t,o){goog.dom.classlist.remove(e,t),goog.dom.classlist.add(e,o)},goog.ui.registry={},goog.ui.registry.getDefaultRenderer=function(e){for(var t;e&&(t=goog.getUid(e),!(t=goog.ui.registry.defaultRenderers_[t]));)e=e.superClass_?e.superClass_.constructor:null;return t?goog.isFunction(t.getInstance)?t.getInstance():new t:null},goog.ui.registry.setDefaultRenderer=function(e,t){if(!goog.isFunction(e))throw Error("Invalid component class "+e);if(!goog.isFunction(t))throw Error("Invalid renderer class "+t);var o=goog.getUid(e);goog.ui.registry.defaultRenderers_[o]=t},goog.ui.registry.getDecoratorByClassName=function(e){return e in goog.ui.registry.decoratorFunctions_?goog.ui.registry.decoratorFunctions_[e]():null},goog.ui.registry.setDecoratorByClassName=function(e,t){if(!e)throw Error("Invalid class name "+e);if(!goog.isFunction(t))throw Error("Invalid decorator function "+t);goog.ui.registry.decoratorFunctions_[e]=t},goog.ui.registry.getDecorator=function(e){goog.asserts.assert(e);for(var t=goog.dom.classlist.get(e),o=0,n=t.length;o<n;o++)if(e=goog.ui.registry.getDecoratorByClassName(t[o]))return e;return null},goog.ui.registry.reset=function(){goog.ui.registry.defaultRenderers_={},goog.ui.registry.decoratorFunctions_={}},goog.ui.registry.defaultRenderers_={},goog.ui.registry.decoratorFunctions_={},goog.ui.ContainerRenderer=function(e){this.ariaRole_=e},goog.addSingletonGetter(goog.ui.ContainerRenderer),goog.ui.ContainerRenderer.getCustomRenderer=function(e,t){var o=new e;return o.getCssClass=function(){return t},o},goog.ui.ContainerRenderer.CSS_CLASS="goog-container",goog.ui.ContainerRenderer.prototype.getAriaRole=function(){return this.ariaRole_},goog.ui.ContainerRenderer.prototype.enableTabIndex=function(e,t){e&&(e.tabIndex=t?0:-1)},goog.ui.ContainerRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "))},goog.ui.ContainerRenderer.prototype.getContentElement=function(e){return e},goog.ui.ContainerRenderer.prototype.canDecorate=function(e){return"DIV"==e.tagName},goog.ui.ContainerRenderer.prototype.decorate=function(e,t){t.id&&e.setId(t.id);var o=this.getCssClass(),n=!1,i=goog.dom.classlist.get(t);return i&&goog.array.forEach(i,(function(t){t==o?n=!0:t&&this.setStateFromClassName(e,t,o)}),this),n||goog.dom.classlist.add(t,o),this.decorateChildren(e,this.getContentElement(t)),t},goog.ui.ContainerRenderer.prototype.setStateFromClassName=function(e,t,o){t==o+"-disabled"?e.setEnabled(!1):t==o+"-horizontal"?e.setOrientation(goog.ui.Container.Orientation.HORIZONTAL):t==o+"-vertical"&&e.setOrientation(goog.ui.Container.Orientation.VERTICAL)},goog.ui.ContainerRenderer.prototype.decorateChildren=function(e,t,o){if(t){o=o||t.firstChild;for(var n;o&&o.parentNode==t;){if(n=o.nextSibling,o.nodeType==goog.dom.NodeType.ELEMENT){var i=this.getDecoratorForChild(o);i&&(i.setElementInternal(o),e.isEnabled()||i.setEnabled(!1),e.addChild(i),i.decorate(o))}else o.nodeValue&&""!=goog.string.trim(o.nodeValue)||t.removeChild(o);o=n}}},goog.ui.ContainerRenderer.prototype.getDecoratorForChild=function(e){return goog.ui.registry.getDecorator(e)},goog.ui.ContainerRenderer.prototype.initializeDom=function(e){e=e.getElement(),goog.asserts.assert(e,"The container DOM element cannot be null."),goog.style.setUnselectable(e,!0,goog.userAgent.GECKO),goog.userAgent.IE&&(e.hideFocus=!0);var t=this.getAriaRole();t&&goog.a11y.aria.setRole(e,t)},goog.ui.ContainerRenderer.prototype.getKeyEventTarget=function(e){return e.getElement()},goog.ui.ContainerRenderer.prototype.getCssClass=function(){return goog.ui.ContainerRenderer.CSS_CLASS},goog.ui.ContainerRenderer.prototype.getClassNames=function(e){var t=this.getCssClass(),o=e.getOrientation()==goog.ui.Container.Orientation.HORIZONTAL;return o=[t,o?t+"-horizontal":t+"-vertical"],e.isEnabled()||o.push(t+"-disabled"),o},goog.ui.ContainerRenderer.prototype.getDefaultOrientation=function(){return goog.ui.Container.Orientation.VERTICAL},goog.ui.ControlRenderer=function(){},goog.addSingletonGetter(goog.ui.ControlRenderer),goog.tagUnsealableClass(goog.ui.ControlRenderer),goog.ui.ControlRenderer.getCustomRenderer=function(e,t){var o=new e;return o.getCssClass=function(){return t},o},goog.ui.ControlRenderer.CSS_CLASS="goog-control",goog.ui.ControlRenderer.IE6_CLASS_COMBINATIONS=[],goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_=goog.object.create(goog.a11y.aria.Role.BUTTON,goog.a11y.aria.State.PRESSED,goog.a11y.aria.Role.CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.MENU_ITEM_CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM_RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.TAB,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.TREEITEM,goog.a11y.aria.State.SELECTED),goog.ui.ControlRenderer.prototype.getAriaRole=function(){},goog.ui.ControlRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "),e.getContent())},goog.ui.ControlRenderer.prototype.getContentElement=function(e){return e},goog.ui.ControlRenderer.prototype.enableClassName=function(e,t,o){if(e=e.getElement?e.getElement():e){var n=[t];goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&(n=this.getAppliedCombinedClassNames_(goog.dom.classlist.get(e),t)).push(t),goog.dom.classlist.enableAll(e,n,o)}},goog.ui.ControlRenderer.prototype.enableExtraClassName=function(e,t,o){this.enableClassName(e,t,o)},goog.ui.ControlRenderer.prototype.canDecorate=function(e){return!0},goog.ui.ControlRenderer.prototype.decorate=function(e,t){t.id&&e.setId(t.id);var o=this.getContentElement(t);o&&o.firstChild?e.setContentInternal(o.firstChild.nextSibling?goog.array.clone(o.childNodes):o.firstChild):e.setContentInternal(null);var n=0,i=this.getCssClass(),r=this.getStructuralCssClass(),s=!1,a=!1,l=!1,u=goog.array.toArray(goog.dom.classlist.get(t));goog.array.forEach(u,(function(e){s||e!=i?a||e!=r?n|=this.getStateFromClass(e):a=!0:(s=!0,r==i&&(a=!0)),this.getStateFromClass(e)==goog.ui.Component.State.DISABLED&&(goog.asserts.assertElement(o),goog.dom.isFocusableTabIndex(o)&&goog.dom.setFocusableTabIndex(o,!1))}),this),e.setStateInternal(n),s||(u.push(i),r==i&&(a=!0)),a||u.push(r);var c=e.getExtraClassNames();if(c&&u.push.apply(u,c),goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")){var h=this.getAppliedCombinedClassNames_(u);0<h.length&&(u.push.apply(u,h),l=!0)}return s&&a&&!c&&!l||goog.dom.classlist.set(t,u.join(" ")),t},goog.ui.ControlRenderer.prototype.initializeDom=function(e){e.isRightToLeft()&&this.setRightToLeft(e.getElement(),!0),e.isEnabled()&&this.setFocusable(e,e.isVisible())},goog.ui.ControlRenderer.prototype.setAriaRole=function(e,t){var o=t||this.getAriaRole();o&&(goog.asserts.assert(e,"The element passed as a first parameter cannot be null."),o!=goog.a11y.aria.getRole(e)&&goog.a11y.aria.setRole(e,o))},goog.ui.ControlRenderer.prototype.setAriaStates=function(e,t){goog.asserts.assert(e),goog.asserts.assert(t);var o=e.getAriaLabel();goog.isDefAndNotNull(o)&&this.setAriaLabel(t,o),e.isVisible()||goog.a11y.aria.setState(t,goog.a11y.aria.State.HIDDEN,!e.isVisible()),e.isEnabled()||this.updateAriaState(t,goog.ui.Component.State.DISABLED,!e.isEnabled()),e.isSupportedState(goog.ui.Component.State.SELECTED)&&this.updateAriaState(t,goog.ui.Component.State.SELECTED,e.isSelected()),e.isSupportedState(goog.ui.Component.State.CHECKED)&&this.updateAriaState(t,goog.ui.Component.State.CHECKED,e.isChecked()),e.isSupportedState(goog.ui.Component.State.OPENED)&&this.updateAriaState(t,goog.ui.Component.State.OPENED,e.isOpen())},goog.ui.ControlRenderer.prototype.setAriaLabel=function(e,t){goog.a11y.aria.setLabel(e,t)},goog.ui.ControlRenderer.prototype.setAllowTextSelection=function(e,t){goog.style.setUnselectable(e,!t,!goog.userAgent.IE&&!goog.userAgent.OPERA)},goog.ui.ControlRenderer.prototype.setRightToLeft=function(e,t){this.enableClassName(e,this.getStructuralCssClass()+"-rtl",t)},goog.ui.ControlRenderer.prototype.isFocusable=function(e){var t;return!(!e.isSupportedState(goog.ui.Component.State.FOCUSED)||!(t=e.getKeyEventTarget()))&&goog.dom.isFocusableTabIndex(t)},goog.ui.ControlRenderer.prototype.setFocusable=function(e,t){var o;if(e.isSupportedState(goog.ui.Component.State.FOCUSED)&&(o=e.getKeyEventTarget())){if(!t&&e.isFocused()){try{o.blur()}catch(e){}e.isFocused()&&e.handleBlur(null)}goog.dom.isFocusableTabIndex(o)!=t&&goog.dom.setFocusableTabIndex(o,t)}},goog.ui.ControlRenderer.prototype.setVisible=function(e,t){goog.style.setElementShown(e,t),e&&goog.a11y.aria.setState(e,goog.a11y.aria.State.HIDDEN,!t)},goog.ui.ControlRenderer.prototype.setState=function(e,t,o){var n=e.getElement();if(n){var i=this.getClassForState(t);i&&this.enableClassName(e,i,o),this.updateAriaState(n,t,o)}},goog.ui.ControlRenderer.prototype.updateAriaState=function(e,t,o){goog.ui.ControlRenderer.ariaAttributeMap_||(goog.ui.ControlRenderer.ariaAttributeMap_=goog.object.create(goog.ui.Component.State.DISABLED,goog.a11y.aria.State.DISABLED,goog.ui.Component.State.SELECTED,goog.a11y.aria.State.SELECTED,goog.ui.Component.State.CHECKED,goog.a11y.aria.State.CHECKED,goog.ui.Component.State.OPENED,goog.a11y.aria.State.EXPANDED)),goog.asserts.assert(e,"The element passed as a first parameter cannot be null."),(t=goog.ui.ControlRenderer.getAriaStateForAriaRole_(e,goog.ui.ControlRenderer.ariaAttributeMap_[t]))&&goog.a11y.aria.setState(e,t,o)},goog.ui.ControlRenderer.getAriaStateForAriaRole_=function(e,t){var o=goog.a11y.aria.getRole(e);return o?(o=goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_[o]||t,goog.ui.ControlRenderer.isAriaState_(t)?o:t):t},goog.ui.ControlRenderer.isAriaState_=function(e){return e==goog.a11y.aria.State.CHECKED||e==goog.a11y.aria.State.SELECTED},goog.ui.ControlRenderer.prototype.setContent=function(e,t){var o=this.getContentElement(e);if(o&&(goog.dom.removeChildren(o),t))if(goog.isString(t))goog.dom.setTextContent(o,t);else{var n=function(e){if(e){var t=goog.dom.getOwnerDocument(o);o.appendChild(goog.isString(e)?t.createTextNode(e):e)}};goog.isArray(t)?goog.array.forEach(t,n):!goog.isArrayLike(t)||"nodeType"in t?n(t):goog.array.forEach(goog.array.clone(t),n)}},goog.ui.ControlRenderer.prototype.getKeyEventTarget=function(e){return e.getElement()},goog.ui.ControlRenderer.prototype.getCssClass=function(){return goog.ui.ControlRenderer.CSS_CLASS},goog.ui.ControlRenderer.prototype.getIe6ClassCombinations=function(){return[]},goog.ui.ControlRenderer.prototype.getStructuralCssClass=function(){return this.getCssClass()},goog.ui.ControlRenderer.prototype.getClassNames=function(e){var t=this.getCssClass(),o=[t],n=this.getStructuralCssClass();return n!=t&&o.push(n),t=this.getClassNamesForState(e.getState()),o.push.apply(o,t),(e=e.getExtraClassNames())&&o.push.apply(o,e),goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&o.push.apply(o,this.getAppliedCombinedClassNames_(o)),o},goog.ui.ControlRenderer.prototype.getAppliedCombinedClassNames_=function(e,t){var o=[];return t&&(e=goog.array.concat(e,[t])),goog.array.forEach(this.getIe6ClassCombinations(),(function(n){!goog.array.every(n,goog.partial(goog.array.contains,e))||t&&!goog.array.contains(n,t)||o.push(n.join("_"))})),o},goog.ui.ControlRenderer.prototype.getClassNamesForState=function(e){for(var t=[];e;){var o=e&-e;t.push(this.getClassForState(o)),e&=~o}return t},goog.ui.ControlRenderer.prototype.getClassForState=function(e){return this.classByState_||this.createClassByStateMap_(),this.classByState_[e]},goog.ui.ControlRenderer.prototype.getStateFromClass=function(e){return this.stateByClass_||this.createStateByClassMap_(),e=parseInt(this.stateByClass_[e],10),isNaN(e)?0:e},goog.ui.ControlRenderer.prototype.createClassByStateMap_=function(){var e=this.getStructuralCssClass(),t=!goog.string.contains(goog.string.normalizeWhitespace(e)," ");goog.asserts.assert(t,"ControlRenderer has an invalid css class: '"+e+"'"),this.classByState_=goog.object.create(goog.ui.Component.State.DISABLED,e+"-disabled",goog.ui.Component.State.HOVER,e+"-hover",goog.ui.Component.State.ACTIVE,e+"-active",goog.ui.Component.State.SELECTED,e+"-selected",goog.ui.Component.State.CHECKED,e+"-checked",goog.ui.Component.State.FOCUSED,e+"-focused",goog.ui.Component.State.OPENED,e+"-open")},goog.ui.ControlRenderer.prototype.createStateByClassMap_=function(){this.classByState_||this.createClassByStateMap_(),this.stateByClass_=goog.object.transpose(this.classByState_)},goog.ui.Control=function(e,t,o){goog.ui.Component.call(this,o),this.renderer_=t||goog.ui.registry.getDefaultRenderer(this.constructor),this.setContentInternal(goog.isDef(e)?e:null),this.ariaLabel_=null},goog.inherits(goog.ui.Control,goog.ui.Component),goog.tagUnsealableClass(goog.ui.Control),goog.ui.Control.registerDecorator=goog.ui.registry.setDecoratorByClassName,goog.ui.Control.getDecorator=goog.ui.registry.getDecorator,goog.ui.Control.prototype.content_=null,goog.ui.Control.prototype.state_=0,goog.ui.Control.prototype.supportedStates_=goog.ui.Component.State.DISABLED|goog.ui.Component.State.HOVER|goog.ui.Component.State.ACTIVE|goog.ui.Component.State.FOCUSED,goog.ui.Control.prototype.autoStates_=goog.ui.Component.State.ALL,goog.ui.Control.prototype.statesWithTransitionEvents_=0,goog.ui.Control.prototype.visible_=!0,goog.ui.Control.prototype.extraClassNames_=null,goog.ui.Control.prototype.handleMouseEvents_=!0,goog.ui.Control.prototype.allowTextSelection_=!1,goog.ui.Control.prototype.preferredAriaRole_=null,goog.ui.Control.prototype.isHandleMouseEvents=function(){return this.handleMouseEvents_},goog.ui.Control.prototype.setHandleMouseEvents=function(e){this.isInDocument()&&e!=this.handleMouseEvents_&&this.enableMouseEventHandling_(e),this.handleMouseEvents_=e},goog.ui.Control.prototype.getKeyEventTarget=function(){return this.renderer_.getKeyEventTarget(this)},goog.ui.Control.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler)},goog.ui.Control.prototype.getRenderer=function(){return this.renderer_},goog.ui.Control.prototype.setRenderer=function(e){if(this.isInDocument())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.getElement()&&this.setElementInternal(null),this.renderer_=e},goog.ui.Control.prototype.getExtraClassNames=function(){return this.extraClassNames_},goog.ui.Control.prototype.addClassName=function(e){e&&(this.extraClassNames_?goog.array.contains(this.extraClassNames_,e)||this.extraClassNames_.push(e):this.extraClassNames_=[e],this.renderer_.enableExtraClassName(this,e,!0))},goog.ui.Control.prototype.removeClassName=function(e){e&&this.extraClassNames_&&goog.array.remove(this.extraClassNames_,e)&&(0==this.extraClassNames_.length&&(this.extraClassNames_=null),this.renderer_.enableExtraClassName(this,e,!1))},goog.ui.Control.prototype.enableClassName=function(e,t){t?this.addClassName(e):this.removeClassName(e)},goog.ui.Control.prototype.createDom=function(){var e=this.renderer_.createDom(this);this.setElementInternal(e),this.renderer_.setAriaRole(e,this.getPreferredAriaRole()),this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(e,!1),this.isVisible()||this.renderer_.setVisible(e,!1)},goog.ui.Control.prototype.getPreferredAriaRole=function(){return this.preferredAriaRole_},goog.ui.Control.prototype.setPreferredAriaRole=function(e){this.preferredAriaRole_=e},goog.ui.Control.prototype.getAriaLabel=function(){return this.ariaLabel_},goog.ui.Control.prototype.setAriaLabel=function(e){this.ariaLabel_=e;var t=this.getElement();t&&this.renderer_.setAriaLabel(t,e)},goog.ui.Control.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())},goog.ui.Control.prototype.canDecorate=function(e){return this.renderer_.canDecorate(e)},goog.ui.Control.prototype.decorateInternal=function(e){e=this.renderer_.decorate(this,e),this.setElementInternal(e),this.renderer_.setAriaRole(e,this.getPreferredAriaRole()),this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(e,!1),this.visible_="none"!=e.style.display},goog.ui.Control.prototype.enterDocument=function(){if(goog.ui.Control.superClass_.enterDocument.call(this),this.renderer_.setAriaStates(this,this.getElementStrict()),this.renderer_.initializeDom(this),this.supportedStates_&~goog.ui.Component.State.DISABLED&&(this.isHandleMouseEvents()&&this.enableMouseEventHandling_(!0),this.isSupportedState(goog.ui.Component.State.FOCUSED))){var e=this.getKeyEventTarget();if(e){var t=this.getKeyHandler();t.attach(e),this.getHandler().listen(t,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(e,goog.events.EventType.FOCUS,this.handleFocus).listen(e,goog.events.EventType.BLUR,this.handleBlur)}}},goog.ui.Control.prototype.enableMouseEventHandling_=function(e){var t=goog.ui.ComponentUtil.getMouseEventType(this),o=this.getHandler(),n=this.getElement();e?(o.listen(n,t.MOUSEDOWN,this.handleMouseDown).listen(n,[t.MOUSEUP,t.MOUSECANCEL],this.handleMouseUp).listen(n,goog.events.EventType.MOUSEOVER,this.handleMouseOver).listen(n,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&o.listen(n,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=goog.nullFunction&&o.listen(n,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||o.listen(n,goog.events.EventType.DBLCLICK,this.handleDblClick),this.ieMouseEventSequenceSimulator_||(this.ieMouseEventSequenceSimulator_=new goog.ui.Control.IeMouseEventSequenceSimulator_(this),this.registerDisposable(this.ieMouseEventSequenceSimulator_)))):(o.unlisten(n,t.MOUSEDOWN,this.handleMouseDown).unlisten(n,[t.MOUSEUP,t.MOUSECANCEL],this.handleMouseUp).unlisten(n,goog.events.EventType.MOUSEOVER,this.handleMouseOver).unlisten(n,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&o.unlisten(n,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=goog.nullFunction&&o.unlisten(n,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||o.unlisten(n,goog.events.EventType.DBLCLICK,this.handleDblClick),goog.dispose(this.ieMouseEventSequenceSimulator_),this.ieMouseEventSequenceSimulator_=null))},goog.ui.Control.prototype.exitDocument=function(){goog.ui.Control.superClass_.exitDocument.call(this),this.keyHandler_&&this.keyHandler_.detach(),this.isVisible()&&this.isEnabled()&&this.renderer_.setFocusable(this,!1)},goog.ui.Control.prototype.disposeInternal=function(){goog.ui.Control.superClass_.disposeInternal.call(this),this.keyHandler_&&(this.keyHandler_.dispose(),delete this.keyHandler_),delete this.renderer_,this.ieMouseEventSequenceSimulator_=this.extraClassNames_=this.content_=null},goog.ui.Control.prototype.getContent=function(){return this.content_},goog.ui.Control.prototype.setContent=function(e){this.renderer_.setContent(this.getElement(),e),this.setContentInternal(e)},goog.ui.Control.prototype.setContentInternal=function(e){this.content_=e},goog.ui.Control.prototype.getCaption=function(){var e=this.getContent();return e?(e=goog.isString(e)?e:goog.isArray(e)?goog.array.map(e,goog.dom.getRawTextContent).join(""):goog.dom.getTextContent(e),goog.string.collapseBreakingSpaces(e)):""},goog.ui.Control.prototype.setCaption=function(e){this.setContent(e)},goog.ui.Control.prototype.setRightToLeft=function(e){goog.ui.Control.superClass_.setRightToLeft.call(this,e);var t=this.getElement();t&&this.renderer_.setRightToLeft(t,e)},goog.ui.Control.prototype.isAllowTextSelection=function(){return this.allowTextSelection_},goog.ui.Control.prototype.setAllowTextSelection=function(e){this.allowTextSelection_=e;var t=this.getElement();t&&this.renderer_.setAllowTextSelection(t,e)},goog.ui.Control.prototype.isVisible=function(){return this.visible_},goog.ui.Control.prototype.setVisible=function(e,t){if(t||this.visible_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){var o=this.getElement();return o&&this.renderer_.setVisible(o,e),this.isEnabled()&&this.renderer_.setFocusable(this,e),this.visible_=e,!0}return!1},goog.ui.Control.prototype.isEnabled=function(){return!this.hasState(goog.ui.Component.State.DISABLED)},goog.ui.Control.prototype.isParentDisabled_=function(){var e=this.getParent();return!!e&&"function"==typeof e.isEnabled&&!e.isEnabled()},goog.ui.Control.prototype.setEnabled=function(e){!this.isParentDisabled_()&&this.isTransitionAllowed(goog.ui.Component.State.DISABLED,!e)&&(e||(this.setActive(!1),this.setHighlighted(!1)),this.isVisible()&&this.renderer_.setFocusable(this,e),this.setState(goog.ui.Component.State.DISABLED,!e,!0))},goog.ui.Control.prototype.isHighlighted=function(){return this.hasState(goog.ui.Component.State.HOVER)},goog.ui.Control.prototype.setHighlighted=function(e){this.isTransitionAllowed(goog.ui.Component.State.HOVER,e)&&this.setState(goog.ui.Component.State.HOVER,e)},goog.ui.Control.prototype.isActive=function(){return this.hasState(goog.ui.Component.State.ACTIVE)},goog.ui.Control.prototype.setActive=function(e){this.isTransitionAllowed(goog.ui.Component.State.ACTIVE,e)&&this.setState(goog.ui.Component.State.ACTIVE,e)},goog.ui.Control.prototype.isSelected=function(){return this.hasState(goog.ui.Component.State.SELECTED)},goog.ui.Control.prototype.setSelected=function(e){this.isTransitionAllowed(goog.ui.Component.State.SELECTED,e)&&this.setState(goog.ui.Component.State.SELECTED,e)},goog.ui.Control.prototype.isChecked=function(){return this.hasState(goog.ui.Component.State.CHECKED)},goog.ui.Control.prototype.setChecked=function(e){this.isTransitionAllowed(goog.ui.Component.State.CHECKED,e)&&this.setState(goog.ui.Component.State.CHECKED,e)},goog.ui.Control.prototype.isFocused=function(){return this.hasState(goog.ui.Component.State.FOCUSED)},goog.ui.Control.prototype.setFocused=function(e){this.isTransitionAllowed(goog.ui.Component.State.FOCUSED,e)&&this.setState(goog.ui.Component.State.FOCUSED,e)},goog.ui.Control.prototype.isOpen=function(){return this.hasState(goog.ui.Component.State.OPENED)},goog.ui.Control.prototype.setOpen=function(e){this.isTransitionAllowed(goog.ui.Component.State.OPENED,e)&&this.setState(goog.ui.Component.State.OPENED,e)},goog.ui.Control.prototype.getState=function(){return this.state_},goog.ui.Control.prototype.hasState=function(e){return!!(this.state_&e)},goog.ui.Control.prototype.setState=function(e,t,o){o||e!=goog.ui.Component.State.DISABLED?this.isSupportedState(e)&&t!=this.hasState(e)&&(this.renderer_.setState(this,e,t),this.state_=t?this.state_|e:this.state_&~e):this.setEnabled(!t)},goog.ui.Control.prototype.setStateInternal=function(e){this.state_=e},goog.ui.Control.prototype.isSupportedState=function(e){return!!(this.supportedStates_&e)},goog.ui.Control.prototype.setSupportedState=function(e,t){if(this.isInDocument()&&this.hasState(e)&&!t)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);!t&&this.hasState(e)&&this.setState(e,!1),this.supportedStates_=t?this.supportedStates_|e:this.supportedStates_&~e},goog.ui.Control.prototype.isAutoState=function(e){return!!(this.autoStates_&e)&&this.isSupportedState(e)},goog.ui.Control.prototype.setAutoStates=function(e,t){this.autoStates_=t?this.autoStates_|e:this.autoStates_&~e},goog.ui.Control.prototype.isDispatchTransitionEvents=function(e){return!!(this.statesWithTransitionEvents_&e)&&this.isSupportedState(e)},goog.ui.Control.prototype.setDispatchTransitionEvents=function(e,t){this.statesWithTransitionEvents_=t?this.statesWithTransitionEvents_|e:this.statesWithTransitionEvents_&~e},goog.ui.Control.prototype.isTransitionAllowed=function(e,t){return this.isSupportedState(e)&&this.hasState(e)!=t&&(!(this.statesWithTransitionEvents_&e)||this.dispatchEvent(goog.ui.Component.getStateTransitionEvent(e,t)))&&!this.isDisposed()},goog.ui.Control.prototype.handleMouseOver=function(e){!goog.ui.Control.isMouseEventWithinElement_(e,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.ENTER)&&this.isEnabled()&&this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0)},goog.ui.Control.prototype.handleMouseOut=function(e){!goog.ui.Control.isMouseEventWithinElement_(e,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.LEAVE)&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1),this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!1))},goog.ui.Control.prototype.preventPointerCapture_=function(e){var t=e.target;t.releasePointerCapture&&t.releasePointerCapture(e.pointerId)},goog.ui.Control.prototype.handleContextMenu=goog.nullFunction,goog.ui.Control.isMouseEventWithinElement_=function(e,t){return!!e.relatedTarget&&goog.dom.contains(t,e.relatedTarget)},goog.ui.Control.prototype.handleMouseDown=function(e){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),e.isMouseActionButton()&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!0),this.renderer_&&this.renderer_.isFocusable(this)&&this.getKeyEventTarget().focus())),!this.isAllowTextSelection()&&e.isMouseActionButton()&&e.preventDefault()},goog.ui.Control.prototype.handleMouseUp=function(e){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),this.isActive()&&this.performActionInternal(e)&&this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1))},goog.ui.Control.prototype.handleDblClick=function(e){this.isEnabled()&&this.performActionInternal(e)},goog.ui.Control.prototype.performActionInternal=function(e){this.isAutoState(goog.ui.Component.State.CHECKED)&&this.setChecked(!this.isChecked()),this.isAutoState(goog.ui.Component.State.SELECTED)&&this.setSelected(!0),this.isAutoState(goog.ui.Component.State.OPENED)&&this.setOpen(!this.isOpen());var t=new goog.events.Event(goog.ui.Component.EventType.ACTION,this);return e&&(t.altKey=e.altKey,t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.shiftKey=e.shiftKey,t.platformModifierKey=e.platformModifierKey),this.dispatchEvent(t)},goog.ui.Control.prototype.handleFocus=function(e){this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!0)},goog.ui.Control.prototype.handleBlur=function(e){this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1),this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!1)},goog.ui.Control.prototype.handleKeyEvent=function(e){return!!(this.isVisible()&&this.isEnabled()&&this.handleKeyEventInternal(e))&&(e.preventDefault(),e.stopPropagation(),!0)},goog.ui.Control.prototype.handleKeyEventInternal=function(e){return e.keyCode==goog.events.KeyCodes.ENTER&&this.performActionInternal(e)},goog.ui.registry.setDefaultRenderer(goog.ui.Control,goog.ui.ControlRenderer),goog.ui.registry.setDecoratorByClassName(goog.ui.ControlRenderer.CSS_CLASS,(function(){return new goog.ui.Control(null)})),goog.ui.Control.IeMouseEventSequenceSimulator_=function(e){goog.Disposable.call(this),this.control_=e,this.clickExpected_=!1,this.handler_=new goog.events.EventHandler(this),this.registerDisposable(this.handler_),e=this.control_.getElementStrict(),this.handler_.listen(e,goog.events.EventType.MOUSEDOWN,this.handleMouseDown_).listen(e,goog.events.EventType.MOUSEUP,this.handleMouseUp_).listen(e,goog.events.EventType.CLICK,this.handleClick_)},goog.inherits(goog.ui.Control.IeMouseEventSequenceSimulator_,goog.Disposable),goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_=!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseDown_=function(){this.clickExpected_=!1},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseUp_=function(){this.clickExpected_=!0},goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_=function(e,t){if(!goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_)return e.button=goog.events.BrowserEvent.MouseButton.LEFT,e.type=t,e;var o=document.createEvent("MouseEvents");return o.initMouseEvent(t,e.bubbles,e.cancelable,e.view||null,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,goog.events.BrowserEvent.MouseButton.LEFT,e.relatedTarget||null),o},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleClick_=function(e){if(this.clickExpected_)this.clickExpected_=!1;else{var t=e.getBrowserEvent(),o=t.button,n=t.type,i=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(t,goog.events.EventType.MOUSEDOWN);this.control_.handleMouseDown(new goog.events.BrowserEvent(i,e.currentTarget)),i=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(t,goog.events.EventType.MOUSEUP),this.control_.handleMouseUp(new goog.events.BrowserEvent(i,e.currentTarget)),goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_||(t.button=o,t.type=n)}},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.disposeInternal=function(){this.control_=null,goog.ui.Control.IeMouseEventSequenceSimulator_.superClass_.disposeInternal.call(this)},goog.ui.Container=function(e,t,o){goog.ui.Component.call(this,o),this.renderer_=t||goog.ui.ContainerRenderer.getInstance(),this.orientation_=e||this.renderer_.getDefaultOrientation()},goog.inherits(goog.ui.Container,goog.ui.Component),goog.tagUnsealableClass(goog.ui.Container),goog.ui.Container.EventType={AFTER_SHOW:"aftershow",AFTER_HIDE:"afterhide"},goog.ui.Container.Orientation={HORIZONTAL:"horizontal",VERTICAL:"vertical"},goog.ui.Container.prototype.keyEventTarget_=null,goog.ui.Container.prototype.keyHandler_=null,goog.ui.Container.prototype.renderer_=null,goog.ui.Container.prototype.orientation_=null,goog.ui.Container.prototype.visible_=!0,goog.ui.Container.prototype.enabled_=!0,goog.ui.Container.prototype.focusable_=!0,goog.ui.Container.prototype.highlightedIndex_=-1,goog.ui.Container.prototype.openItem_=null,goog.ui.Container.prototype.mouseButtonPressed_=!1,goog.ui.Container.prototype.allowFocusableChildren_=!1,goog.ui.Container.prototype.openFollowsHighlight_=!0,goog.ui.Container.prototype.childElementIdMap_=null,goog.ui.Container.prototype.getKeyEventTarget=function(){return this.keyEventTarget_||this.renderer_.getKeyEventTarget(this)},goog.ui.Container.prototype.setKeyEventTarget=function(e){if(!this.focusable_)throw Error("Can't set key event target for container that doesn't support keyboard focus!");var t=this.getKeyEventTarget(),o=this.isInDocument();this.keyEventTarget_=e;var n=this.getKeyEventTarget();o&&(this.keyEventTarget_=t,this.enableFocusHandling_(!1),this.keyEventTarget_=e,this.getKeyHandler().attach(n),this.enableFocusHandling_(!0))},goog.ui.Container.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler(this.getKeyEventTarget()))},goog.ui.Container.prototype.getRenderer=function(){return this.renderer_},goog.ui.Container.prototype.setRenderer=function(e){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.renderer_=e},goog.ui.Container.prototype.createDom=function(){this.setElementInternal(this.renderer_.createDom(this))},goog.ui.Container.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())},goog.ui.Container.prototype.canDecorate=function(e){return this.renderer_.canDecorate(e)},goog.ui.Container.prototype.decorateInternal=function(e){this.setElementInternal(this.renderer_.decorate(this,e)),"none"==e.style.display&&(this.visible_=!1)},goog.ui.Container.prototype.enterDocument=function(){goog.ui.Container.superClass_.enterDocument.call(this),this.forEachChild((function(e){e.isInDocument()&&this.registerChildId_(e)}),this);var e=this.getElement();this.renderer_.initializeDom(this),this.setVisible(this.visible_,!0);var t=goog.ui.ComponentUtil.getMouseEventType(this);this.getHandler().listen(this,goog.ui.Component.EventType.ENTER,this.handleEnterItem).listen(this,goog.ui.Component.EventType.HIGHLIGHT,this.handleHighlightItem).listen(this,goog.ui.Component.EventType.UNHIGHLIGHT,this.handleUnHighlightItem).listen(this,goog.ui.Component.EventType.OPEN,this.handleOpenItem).listen(this,goog.ui.Component.EventType.CLOSE,this.handleCloseItem).listen(e,t.MOUSEDOWN,this.handleMouseDown).listen(goog.dom.getOwnerDocument(e),[t.MOUSEUP,t.MOUSECANCEL],this.handleDocumentMouseUp).listen(e,[t.MOUSEDOWN,t.MOUSEUP,t.MOUSECANCEL,goog.events.EventType.MOUSEOVER,goog.events.EventType.MOUSEOUT,goog.events.EventType.CONTEXTMENU],this.handleChildMouseEvents),this.pointerEventsEnabled()&&this.getHandler().listen(e,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.isFocusable()&&this.enableFocusHandling_(!0)},goog.ui.Container.prototype.preventPointerCapture_=function(e){var t=e.target;t.releasePointerCapture&&t.releasePointerCapture(e.pointerId)},goog.ui.Container.prototype.enableFocusHandling_=function(e){var t=this.getHandler(),o=this.getKeyEventTarget();e?t.listen(o,goog.events.EventType.FOCUS,this.handleFocus).listen(o,goog.events.EventType.BLUR,this.handleBlur).listen(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent):t.unlisten(o,goog.events.EventType.FOCUS,this.handleFocus).unlisten(o,goog.events.EventType.BLUR,this.handleBlur).unlisten(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent)},goog.ui.Container.prototype.exitDocument=function(){this.setHighlightedIndex(-1),this.openItem_&&this.openItem_.setOpen(!1),this.mouseButtonPressed_=!1,goog.ui.Container.superClass_.exitDocument.call(this)},goog.ui.Container.prototype.disposeInternal=function(){goog.ui.Container.superClass_.disposeInternal.call(this),this.keyHandler_&&(this.keyHandler_.dispose(),this.keyHandler_=null),this.renderer_=this.openItem_=this.childElementIdMap_=this.keyEventTarget_=null},goog.ui.Container.prototype.handleEnterItem=function(e){return!0},goog.ui.Container.prototype.handleHighlightItem=function(e){var t=this.indexOfChild(e.target);if(-1<t&&t!=this.highlightedIndex_){var o=this.getHighlighted();o&&o.setHighlighted(!1),this.highlightedIndex_=t,o=this.getHighlighted(),this.isMouseButtonPressed()&&o.setActive(!0),this.openFollowsHighlight_&&this.openItem_&&o!=this.openItem_&&(o.isSupportedState(goog.ui.Component.State.OPENED)?o.setOpen(!0):this.openItem_.setOpen(!1))}t=this.getElement(),goog.asserts.assert(t,"The DOM element for the container cannot be null."),null!=e.target.getElement()&&goog.a11y.aria.setState(t,goog.a11y.aria.State.ACTIVEDESCENDANT,e.target.getElement().id)},goog.ui.Container.prototype.handleUnHighlightItem=function(e){e.target==this.getHighlighted()&&(this.highlightedIndex_=-1),e=this.getElement(),goog.asserts.assert(e,"The DOM element for the container cannot be null."),goog.a11y.aria.removeState(e,goog.a11y.aria.State.ACTIVEDESCENDANT)},goog.ui.Container.prototype.handleOpenItem=function(e){(e=e.target)&&e!=this.openItem_&&e.getParent()==this&&(this.openItem_&&this.openItem_.setOpen(!1),this.openItem_=e)},goog.ui.Container.prototype.handleCloseItem=function(e){e.target==this.openItem_&&(this.openItem_=null);var t=this.getElement(),o=e.target.getElement();t&&e.target.isHighlighted()&&o&&goog.a11y.aria.setActiveDescendant(t,o)},goog.ui.Container.prototype.handleMouseDown=function(e){this.enabled_&&this.setMouseButtonPressed(!0);var t=this.getKeyEventTarget();t&&goog.dom.isFocusableTabIndex(t)?t.focus():e.preventDefault()},goog.ui.Container.prototype.handleDocumentMouseUp=function(e){this.setMouseButtonPressed(!1)},goog.ui.Container.prototype.handleChildMouseEvents=function(e){var t=goog.ui.ComponentUtil.getMouseEventType(this),o=this.getOwnerControl(e.target);if(o)switch(e.type){case t.MOUSEDOWN:o.handleMouseDown(e);break;case t.MOUSEUP:case t.MOUSECANCEL:o.handleMouseUp(e);break;case goog.events.EventType.MOUSEOVER:o.handleMouseOver(e);break;case goog.events.EventType.MOUSEOUT:o.handleMouseOut(e);break;case goog.events.EventType.CONTEXTMENU:o.handleContextMenu(e)}},goog.ui.Container.prototype.getOwnerControl=function(e){if(this.childElementIdMap_)for(var t=this.getElement();e&&e!==t;){var o=e.id;if(o in this.childElementIdMap_)return this.childElementIdMap_[o];e=e.parentNode}return null},goog.ui.Container.prototype.handleFocus=function(e){},goog.ui.Container.prototype.handleBlur=function(e){this.setHighlightedIndex(-1),this.setMouseButtonPressed(!1),this.openItem_&&this.openItem_.setOpen(!1)},goog.ui.Container.prototype.handleKeyEvent=function(e){return!(!this.isEnabled()||!this.isVisible()||0==this.getChildCount()&&!this.keyEventTarget_||!this.handleKeyEventInternal(e))&&(e.preventDefault(),e.stopPropagation(),!0)},goog.ui.Container.prototype.handleKeyEventInternal=function(e){var t=this.getHighlighted();if(t&&"function"==typeof t.handleKeyEvent&&t.handleKeyEvent(e)||this.openItem_&&this.openItem_!=t&&"function"==typeof this.openItem_.handleKeyEvent&&this.openItem_.handleKeyEvent(e))return!0;if(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)return!1;switch(e.keyCode){case goog.events.KeyCodes.ESC:if(!this.isFocusable())return!1;this.getKeyEventTarget().blur();break;case goog.events.KeyCodes.HOME:this.highlightFirst();break;case goog.events.KeyCodes.END:this.highlightLast();break;case goog.events.KeyCodes.UP:if(this.orientation_!=goog.ui.Container.Orientation.VERTICAL)return!1;this.highlightPrevious();break;case goog.events.KeyCodes.LEFT:if(this.orientation_!=goog.ui.Container.Orientation.HORIZONTAL)return!1;this.isRightToLeft()?this.highlightNext():this.highlightPrevious();break;case goog.events.KeyCodes.DOWN:if(this.orientation_!=goog.ui.Container.Orientation.VERTICAL)return!1;this.highlightNext();break;case goog.events.KeyCodes.RIGHT:if(this.orientation_!=goog.ui.Container.Orientation.HORIZONTAL)return!1;this.isRightToLeft()?this.highlightPrevious():this.highlightNext();break;default:return!1}return!0},goog.ui.Container.prototype.registerChildId_=function(e){var t=e.getElement();t=t.id||(t.id=e.getId()),this.childElementIdMap_||(this.childElementIdMap_={}),this.childElementIdMap_[t]=e},goog.ui.Container.prototype.addChild=function(e,t){goog.asserts.assertInstanceof(e,goog.ui.Control,"The child of a container must be a control"),goog.ui.Container.superClass_.addChild.call(this,e,t)},goog.ui.Container.prototype.addChildAt=function(e,t,o){goog.asserts.assertInstanceof(e,goog.ui.Control),e.setDispatchTransitionEvents(goog.ui.Component.State.HOVER,!0),e.setDispatchTransitionEvents(goog.ui.Component.State.OPENED,!0),!this.isFocusable()&&this.isFocusableChildrenAllowed()||e.setSupportedState(goog.ui.Component.State.FOCUSED,!1),e.setHandleMouseEvents(!1);var n=e.getParent()==this?this.indexOfChild(e):-1;goog.ui.Container.superClass_.addChildAt.call(this,e,t,o),e.isInDocument()&&this.isInDocument()&&this.registerChildId_(e),this.updateHighlightedIndex_(n,t)},goog.ui.Container.prototype.updateHighlightedIndex_=function(e,t){-1==e&&(e=this.getChildCount()),e==this.highlightedIndex_?this.highlightedIndex_=Math.min(this.getChildCount()-1,t):e>this.highlightedIndex_&&t<=this.highlightedIndex_?this.highlightedIndex_++:e<this.highlightedIndex_&&t>this.highlightedIndex_&&this.highlightedIndex_--},goog.ui.Container.prototype.removeChild=function(e,t){if(e=goog.isString(e)?this.getChild(e):e,goog.asserts.assertInstanceof(e,goog.ui.Control),e){var o=this.indexOfChild(e);-1!=o&&(o==this.highlightedIndex_?(e.setHighlighted(!1),this.highlightedIndex_=-1):o<this.highlightedIndex_&&this.highlightedIndex_--),(o=e.getElement())&&o.id&&this.childElementIdMap_&&goog.object.remove(this.childElementIdMap_,o.id)}return(e=goog.ui.Container.superClass_.removeChild.call(this,e,t)).setHandleMouseEvents(!0),e},goog.ui.Container.prototype.getOrientation=function(){return this.orientation_},goog.ui.Container.prototype.setOrientation=function(e){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.orientation_=e},goog.ui.Container.prototype.isVisible=function(){return this.visible_},goog.ui.Container.prototype.setVisible=function(e,t){if(t||this.visible_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){this.visible_=e;var o=this.getElement();return o&&(goog.style.setElementShown(o,e),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),this.enabled_&&this.visible_),t||this.dispatchEvent(this.visible_?goog.ui.Container.EventType.AFTER_SHOW:goog.ui.Container.EventType.AFTER_HIDE)),!0}return!1},goog.ui.Container.prototype.isEnabled=function(){return this.enabled_},goog.ui.Container.prototype.setEnabled=function(e){this.enabled_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.ENABLE:goog.ui.Component.EventType.DISABLE)&&(e?(this.enabled_=!0,this.forEachChild((function(e){e.wasDisabled?delete e.wasDisabled:e.setEnabled(!0)}))):(this.forEachChild((function(e){e.isEnabled()?e.setEnabled(!1):e.wasDisabled=!0})),this.enabled_=!1,this.setMouseButtonPressed(!1)),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),e&&this.visible_))},goog.ui.Container.prototype.isFocusable=function(){return this.focusable_},goog.ui.Container.prototype.setFocusable=function(e){e!=this.focusable_&&this.isInDocument()&&this.enableFocusHandling_(e),this.focusable_=e,this.enabled_&&this.visible_&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),e)},goog.ui.Container.prototype.isFocusableChildrenAllowed=function(){return this.allowFocusableChildren_},goog.ui.Container.prototype.setFocusableChildrenAllowed=function(e){this.allowFocusableChildren_=e},goog.ui.Container.prototype.isOpenFollowsHighlight=function(){return this.openFollowsHighlight_},goog.ui.Container.prototype.setOpenFollowsHighlight=function(e){this.openFollowsHighlight_=e},goog.ui.Container.prototype.getHighlightedIndex=function(){return this.highlightedIndex_},goog.ui.Container.prototype.setHighlightedIndex=function(e){(e=this.getChildAt(e))?e.setHighlighted(!0):-1<this.highlightedIndex_&&this.getHighlighted().setHighlighted(!1)},goog.ui.Container.prototype.setHighlighted=function(e){this.setHighlightedIndex(this.indexOfChild(e))},goog.ui.Container.prototype.getHighlighted=function(){return this.getChildAt(this.highlightedIndex_)},goog.ui.Container.prototype.highlightFirst=function(){this.highlightHelper((function(e,t){return(e+1)%t}),this.getChildCount()-1)},goog.ui.Container.prototype.highlightLast=function(){this.highlightHelper((function(e,t){return 0>--e?t-1:e}),0)},goog.ui.Container.prototype.highlightNext=function(){this.highlightHelper((function(e,t){return(e+1)%t}),this.highlightedIndex_)},goog.ui.Container.prototype.highlightPrevious=function(){this.highlightHelper((function(e,t){return 0>--e?t-1:e}),this.highlightedIndex_)},goog.ui.Container.prototype.highlightHelper=function(e,t){var o=0>t?this.indexOfChild(this.openItem_):t,n=this.getChildCount();o=e.call(this,o,n);for(var i=0;i<=n;){var r=this.getChildAt(o);if(r&&this.canHighlightItem(r))return this.setHighlightedIndexFromKeyEvent(o),!0;i++,o=e.call(this,o,n)}return!1},goog.ui.Container.prototype.canHighlightItem=function(e){return e.isVisible()&&e.isEnabled()&&e.isSupportedState(goog.ui.Component.State.HOVER)},goog.ui.Container.prototype.setHighlightedIndexFromKeyEvent=function(e){this.setHighlightedIndex(e)},goog.ui.Container.prototype.getOpenItem=function(){return this.openItem_},goog.ui.Container.prototype.isMouseButtonPressed=function(){return this.mouseButtonPressed_},goog.ui.Container.prototype.setMouseButtonPressed=function(e){this.mouseButtonPressed_=e},goog.ui.MenuHeaderRenderer=function(){goog.ui.ControlRenderer.call(this)},goog.inherits(goog.ui.MenuHeaderRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuHeaderRenderer),goog.ui.MenuHeaderRenderer.CSS_CLASS="goog-menuheader",goog.ui.MenuHeaderRenderer.prototype.getCssClass=function(){return goog.ui.MenuHeaderRenderer.CSS_CLASS},goog.ui.MenuHeader=function(e,t,o){goog.ui.Control.call(this,e,o||goog.ui.MenuHeaderRenderer.getInstance(),t),this.setSupportedState(goog.ui.Component.State.DISABLED,!1),this.setSupportedState(goog.ui.Component.State.HOVER,!1),this.setSupportedState(goog.ui.Component.State.ACTIVE,!1),this.setSupportedState(goog.ui.Component.State.FOCUSED,!1),this.setStateInternal(goog.ui.Component.State.DISABLED)},goog.inherits(goog.ui.MenuHeader,goog.ui.Control),goog.ui.registry.setDecoratorByClassName(goog.ui.MenuHeaderRenderer.CSS_CLASS,(function(){return new goog.ui.MenuHeader(null)})),goog.ui.MenuItemRenderer=function(){goog.ui.ControlRenderer.call(this),this.classNameCache_=[]},goog.inherits(goog.ui.MenuItemRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuItemRenderer),goog.ui.MenuItemRenderer.CSS_CLASS="goog-menuitem",goog.ui.MenuItemRenderer.CompositeCssClassIndex_={HOVER:0,CHECKBOX:1,CONTENT:2},goog.ui.MenuItemRenderer.prototype.getCompositeCssClass_=function(e){var t=this.classNameCache_[e];if(!t){switch(e){case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER:t=this.getStructuralCssClass()+"-highlight";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX:t=this.getStructuralCssClass()+"-checkbox";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT:t=this.getStructuralCssClass()+"-content"}this.classNameCache_[e]=t}return t},goog.ui.MenuItemRenderer.prototype.getAriaRole=function(){return goog.a11y.aria.Role.MENU_ITEM},goog.ui.MenuItemRenderer.prototype.createDom=function(e){var t=e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "),this.createContent(e.getContent(),e.getDomHelper()));return this.setEnableCheckBoxStructure(e,t,e.isSupportedState(goog.ui.Component.State.SELECTED)||e.isSupportedState(goog.ui.Component.State.CHECKED)),t},goog.ui.MenuItemRenderer.prototype.getContentElement=function(e){return e&&e.firstChild},goog.ui.MenuItemRenderer.prototype.decorate=function(e,t){return goog.asserts.assert(t),this.hasContentStructure(t)||t.appendChild(this.createContent(t.childNodes,e.getDomHelper())),goog.dom.classlist.contains(t,"goog-option")&&(e.setCheckable(!0),this.setCheckable(e,t,!0)),goog.ui.MenuItemRenderer.superClass_.decorate.call(this,e,t)},goog.ui.MenuItemRenderer.prototype.setContent=function(e,t){var o=this.getContentElement(e),n=this.hasCheckBoxStructure(e)?o.firstChild:null;goog.ui.MenuItemRenderer.superClass_.setContent.call(this,e,t),n&&!this.hasCheckBoxStructure(e)&&o.insertBefore(n,o.firstChild||null)},goog.ui.MenuItemRenderer.prototype.hasContentStructure=function(e){e=goog.dom.getFirstElementChild(e);var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return!!e&&goog.dom.classlist.contains(e,t)},goog.ui.MenuItemRenderer.prototype.createContent=function(e,t){var o=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return t.createDom("DIV",o,e)},goog.ui.MenuItemRenderer.prototype.setSelectable=function(e,t,o){e&&t&&this.setEnableCheckBoxStructure(e,t,o)},goog.ui.MenuItemRenderer.prototype.setCheckable=function(e,t,o){e&&t&&this.setEnableCheckBoxStructure(e,t,o)},goog.ui.MenuItemRenderer.prototype.hasCheckBoxStructure=function(e){if(e=this.getContentElement(e)){e=e.firstChild;var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX);return!!e&&goog.dom.isElement(e)&&goog.dom.classlist.contains(e,t)}return!1},goog.ui.MenuItemRenderer.prototype.setEnableCheckBoxStructure=function(e,t,o){this.setAriaRole(t,e.getPreferredAriaRole()),this.setAriaStates(e,t),o!=this.hasCheckBoxStructure(t)&&(goog.dom.classlist.enable(t,"goog-option",o),t=this.getContentElement(t),o?(o=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX),t.insertBefore(e.getDomHelper().createDom("DIV",o),t.firstChild||null)):t.removeChild(t.firstChild))},goog.ui.MenuItemRenderer.prototype.getClassForState=function(e){switch(e){case goog.ui.Component.State.HOVER:return this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);case goog.ui.Component.State.CHECKED:case goog.ui.Component.State.SELECTED:return"goog-option-selected";default:return goog.ui.MenuItemRenderer.superClass_.getClassForState.call(this,e)}},goog.ui.MenuItemRenderer.prototype.getStateFromClass=function(e){var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);switch(e){case"goog-option-selected":return goog.ui.Component.State.CHECKED;case t:return goog.ui.Component.State.HOVER;default:return goog.ui.MenuItemRenderer.superClass_.getStateFromClass.call(this,e)}},goog.ui.MenuItemRenderer.prototype.getCssClass=function(){return goog.ui.MenuItemRenderer.CSS_CLASS},goog.ui.MenuItem=function(e,t,o,n){goog.ui.Control.call(this,e,n||goog.ui.MenuItemRenderer.getInstance(),o),this.setValue(t)},goog.inherits(goog.ui.MenuItem,goog.ui.Control),goog.tagUnsealableClass(goog.ui.MenuItem),goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_="goog-menuitem-mnemonic-separator",goog.ui.MenuItem.ACCELERATOR_CLASS="goog-menuitem-accel",goog.ui.MenuItem.prototype.getValue=function(){var e=this.getModel();return null!=e?e:this.getCaption()},goog.ui.MenuItem.prototype.setValue=function(e){this.setModel(e)},goog.ui.MenuItem.prototype.setSupportedState=function(e,t){switch(goog.ui.MenuItem.superClass_.setSupportedState.call(this,e,t),e){case goog.ui.Component.State.SELECTED:this.setSelectableInternal_(t);break;case goog.ui.Component.State.CHECKED:this.setCheckableInternal_(t)}},goog.ui.MenuItem.prototype.setSelectable=function(e){this.setSupportedState(goog.ui.Component.State.SELECTED,e)},goog.ui.MenuItem.prototype.setSelectableInternal_=function(e){this.isChecked()&&!e&&this.setChecked(!1);var t=this.getElement();t&&this.getRenderer().setSelectable(this,t,e)},goog.ui.MenuItem.prototype.setCheckable=function(e){this.setSupportedState(goog.ui.Component.State.CHECKED,e)},goog.ui.MenuItem.prototype.setCheckableInternal_=function(e){var t=this.getElement();t&&this.getRenderer().setCheckable(this,t,e)},goog.ui.MenuItem.prototype.getCaption=function(){var e=this.getContent();if(goog.isArray(e)){var t=goog.ui.MenuItem.ACCELERATOR_CLASS,o=goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_;return e=goog.array.map(e,(function(e){return goog.dom.isElement(e)&&(goog.dom.classlist.contains(e,t)||goog.dom.classlist.contains(e,o))?"":goog.dom.getRawTextContent(e)})).join(""),goog.string.collapseBreakingSpaces(e)}return goog.ui.MenuItem.superClass_.getCaption.call(this)},goog.ui.MenuItem.prototype.getAccelerator=function(){var e=this.getDomHelper(),t=this.getContent();return goog.isArray(t)&&(t=goog.array.find(t,(function(e){return goog.dom.classlist.contains(e,goog.ui.MenuItem.ACCELERATOR_CLASS)})))?e.getTextContent(t):null},goog.ui.MenuItem.prototype.handleMouseUp=function(e){var t=this.getParent();if(t){var o=t.openingCoords;if(t.openingCoords=null,o&&goog.isNumber(e.clientX)&&(t=new goog.math.Coordinate(e.clientX,e.clientY),goog.math.Coordinate.equals(o,t)))return}goog.ui.MenuItem.superClass_.handleMouseUp.call(this,e)},goog.ui.MenuItem.prototype.handleKeyEventInternal=function(e){return!(e.keyCode!=this.getMnemonic()||!this.performActionInternal(e))||goog.ui.MenuItem.superClass_.handleKeyEventInternal.call(this,e)},goog.ui.MenuItem.prototype.setMnemonic=function(e){this.mnemonicKey_=e},goog.ui.MenuItem.prototype.getMnemonic=function(){return this.mnemonicKey_},goog.ui.registry.setDecoratorByClassName(goog.ui.MenuItemRenderer.CSS_CLASS,(function(){return new goog.ui.MenuItem(null)})),goog.ui.MenuItem.prototype.getPreferredAriaRole=function(){return this.isSupportedState(goog.ui.Component.State.CHECKED)?goog.a11y.aria.Role.MENU_ITEM_CHECKBOX:this.isSupportedState(goog.ui.Component.State.SELECTED)?goog.a11y.aria.Role.MENU_ITEM_RADIO:goog.ui.MenuItem.superClass_.getPreferredAriaRole.call(this)},goog.ui.MenuItem.prototype.getParent=function(){return goog.ui.Control.prototype.getParent.call(this)},goog.ui.MenuItem.prototype.getParentEventTarget=function(){return goog.ui.Control.prototype.getParentEventTarget.call(this)},goog.ui.MenuSeparatorRenderer=function(){goog.ui.ControlRenderer.call(this)},goog.inherits(goog.ui.MenuSeparatorRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuSeparatorRenderer),goog.ui.MenuSeparatorRenderer.CSS_CLASS="goog-menuseparator",goog.ui.MenuSeparatorRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getCssClass())},goog.ui.MenuSeparatorRenderer.prototype.decorate=function(e,t){if(t.id&&e.setId(t.id),"HR"==t.tagName){var o=t;t=this.createDom(e),goog.dom.insertSiblingBefore(t,o),goog.dom.removeNode(o)}else goog.dom.classlist.add(t,this.getCssClass());return t},goog.ui.MenuSeparatorRenderer.prototype.setContent=function(e,t){},goog.ui.MenuSeparatorRenderer.prototype.getCssClass=function(){return goog.ui.MenuSeparatorRenderer.CSS_CLASS},goog.ui.Separator=function(e,t){goog.ui.Control.call(this,null,e||goog.ui.MenuSeparatorRenderer.getInstance(),t),this.setSupportedState(goog.ui.Component.State.DISABLED,!1),this.setSupportedState(goog.ui.Component.State.HOVER,!1),this.setSupportedState(goog.ui.Component.State.ACTIVE,!1),this.setSupportedState(goog.ui.Component.State.FOCUSED,!1),this.setStateInternal(goog.ui.Component.State.DISABLED)},goog.inherits(goog.ui.Separator,goog.ui.Control),goog.ui.Separator.prototype.enterDocument=function(){goog.ui.Separator.superClass_.enterDocument.call(this);var e=this.getElement();goog.asserts.assert(e,"The DOM element for the separator cannot be null."),goog.a11y.aria.setRole(e,"separator")},goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,(function(){return new goog.ui.Separator})),goog.ui.MenuRenderer=function(e){goog.ui.ContainerRenderer.call(this,e||goog.a11y.aria.Role.MENU)},goog.inherits(goog.ui.MenuRenderer,goog.ui.ContainerRenderer),goog.addSingletonGetter(goog.ui.MenuRenderer),goog.ui.MenuRenderer.CSS_CLASS="goog-menu",goog.ui.MenuRenderer.prototype.canDecorate=function(e){return"UL"==e.tagName||goog.ui.MenuRenderer.superClass_.canDecorate.call(this,e)},goog.ui.MenuRenderer.prototype.getDecoratorForChild=function(e){return"HR"==e.tagName?new goog.ui.Separator:goog.ui.MenuRenderer.superClass_.getDecoratorForChild.call(this,e)},goog.ui.MenuRenderer.prototype.containsElement=function(e,t){return goog.dom.contains(e.getElement(),t)},goog.ui.MenuRenderer.prototype.getCssClass=function(){return goog.ui.MenuRenderer.CSS_CLASS},goog.ui.MenuRenderer.prototype.initializeDom=function(e){goog.ui.MenuRenderer.superClass_.initializeDom.call(this,e),e=e.getElement(),goog.asserts.assert(e,"The menu DOM element cannot be null."),goog.a11y.aria.setState(e,goog.a11y.aria.State.HASPOPUP,"true")},goog.ui.MenuSeparator=function(e){goog.ui.Separator.call(this,goog.ui.MenuSeparatorRenderer.getInstance(),e)},goog.inherits(goog.ui.MenuSeparator,goog.ui.Separator),goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,(function(){return new goog.ui.Separator})),goog.ui.Menu=function(e,t){goog.ui.Container.call(this,goog.ui.Container.Orientation.VERTICAL,t||goog.ui.MenuRenderer.getInstance(),e),this.setFocusable(!1)},goog.inherits(goog.ui.Menu,goog.ui.Container),goog.tagUnsealableClass(goog.ui.Menu),goog.ui.Menu.EventType={BEFORE_SHOW:goog.ui.Component.EventType.BEFORE_SHOW,SHOW:goog.ui.Component.EventType.SHOW,BEFORE_HIDE:goog.ui.Component.EventType.HIDE,HIDE:goog.ui.Component.EventType.HIDE},goog.ui.Menu.CSS_CLASS=goog.ui.MenuRenderer.CSS_CLASS,goog.ui.Menu.prototype.allowAutoFocus_=!0,goog.ui.Menu.prototype.allowHighlightDisabled_=!1,goog.ui.Menu.prototype.getCssClass=function(){return this.getRenderer().getCssClass()},goog.ui.Menu.prototype.containsElement=function(e){if(this.getRenderer().containsElement(this,e))return!0;for(var t=0,o=this.getChildCount();t<o;t++){var n=this.getChildAt(t);if("function"==typeof n.containsElement&&n.containsElement(e))return!0}return!1},goog.ui.Menu.prototype.addItem=function(e){this.addChild(e,!0)},goog.ui.Menu.prototype.addItemAt=function(e,t){this.addChildAt(e,t,!0)},goog.ui.Menu.prototype.removeItem=function(e){(e=this.removeChild(e,!0))&&e.dispose()},goog.ui.Menu.prototype.removeItemAt=function(e){(e=this.removeChildAt(e,!0))&&e.dispose()},goog.ui.Menu.prototype.getItemAt=function(e){return this.getChildAt(e)},goog.ui.Menu.prototype.getItemCount=function(){return this.getChildCount()},goog.ui.Menu.prototype.getItems=function(){var e=[];return this.forEachChild((function(t){e.push(t)})),e},goog.ui.Menu.prototype.setPosition=function(e,t){var o=this.isVisible();o||goog.style.setElementShown(this.getElement(),!0),goog.style.setPageOffset(this.getElement(),e,t),o||goog.style.setElementShown(this.getElement(),!1)},goog.ui.Menu.prototype.getPosition=function(){return this.isVisible()?goog.style.getPageOffset(this.getElement()):null},goog.ui.Menu.prototype.setAllowAutoFocus=function(e){(this.allowAutoFocus_=e)&&this.setFocusable(!0)},goog.ui.Menu.prototype.getAllowAutoFocus=function(){return this.allowAutoFocus_},goog.ui.Menu.prototype.setAllowHighlightDisabled=function(e){this.allowHighlightDisabled_=e},goog.ui.Menu.prototype.getAllowHighlightDisabled=function(){return this.allowHighlightDisabled_},goog.ui.Menu.prototype.setVisible=function(e,t,o){return(t=goog.ui.Menu.superClass_.setVisible.call(this,e,t))&&e&&this.isInDocument()&&this.allowAutoFocus_&&this.getKeyEventTarget().focus(),e&&o&&goog.isNumber(o.clientX)?this.openingCoords=new goog.math.Coordinate(o.clientX,o.clientY):this.openingCoords=null,t},goog.ui.Menu.prototype.handleEnterItem=function(e){return this.allowAutoFocus_&&this.getKeyEventTarget().focus(),goog.ui.Menu.superClass_.handleEnterItem.call(this,e)},goog.ui.Menu.prototype.highlightNextPrefix=function(e){var t=new RegExp("^"+goog.string.regExpEscape(e),"i");return this.highlightHelper((function(e,o){var n=0>e?0:e,i=!1;do{++e==o&&(e=0,i=!0);var r=this.getChildAt(e).getCaption();if(r&&r.match(t))return e}while(!i||e!=n);return this.getHighlightedIndex()}),this.getHighlightedIndex())},goog.ui.Menu.prototype.canHighlightItem=function(e){return(this.allowHighlightDisabled_||e.isEnabled())&&e.isVisible()&&e.isSupportedState(goog.ui.Component.State.HOVER)},goog.ui.Menu.prototype.decorateInternal=function(e){this.decorateContent(e),goog.ui.Menu.superClass_.decorateInternal.call(this,e)},goog.ui.Menu.prototype.handleKeyEventInternal=function(e){var t=goog.ui.Menu.superClass_.handleKeyEventInternal.call(this,e);return t||this.forEachChild((function(o){!t&&o.getMnemonic&&o.getMnemonic()==e.keyCode&&(this.isEnabled()&&this.setHighlighted(o),t=o.handleKeyEvent(e))}),this),t},goog.ui.Menu.prototype.setHighlightedIndex=function(e){goog.ui.Menu.superClass_.setHighlightedIndex.call(this,e),(e=this.getChildAt(e))&&goog.style.scrollIntoContainerView(e.getElement(),this.getElement())},goog.ui.Menu.prototype.decorateContent=function(e){for(var t=this.getRenderer(),o=(e=this.getDomHelper().getElementsByTagNameAndClass("DIV",t.getCssClass()+"-content",e)).length,n=0;n<o;n++)t.decorateChildren(this,e[n])},goog.Thenable=function(){},goog.Thenable.prototype.then=function(e,t,o){},goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable",goog.Thenable.addImplementation=function(e){COMPILED?e.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:e.prototype.$goog_Thenable=!0},goog.Thenable.isImplementedBy=function(e){if(!e)return!1;try{return COMPILED?!!e[goog.Thenable.IMPLEMENTED_BY_PROP]:!!e.$goog_Thenable}catch(e){return!1}},goog.async={},goog.async.FreeList=function(e,t,o){this.limit_=o,this.create_=e,this.reset_=t,this.occupants_=0,this.head_=null},goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var e=this.head_;this.head_=e.next,e.next=null}else e=this.create_();return e},goog.async.FreeList.prototype.put=function(e){this.reset_(e),this.occupants_<this.limit_&&(this.occupants_++,e.next=this.head_,this.head_=e)},goog.async.FreeList.prototype.occupants=function(){return this.occupants_},goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null},goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100,goog.async.WorkQueue.freelist_=new goog.async.FreeList((function(){return new goog.async.WorkItem}),(function(e){e.reset()}),goog.async.WorkQueue.DEFAULT_MAX_UNUSED),goog.async.WorkQueue.prototype.add=function(e,t){var o=this.getUnusedItem_();o.set(e,t),this.workTail_?this.workTail_.next=o:(goog.asserts.assert(!this.workHead_),this.workHead_=o),this.workTail_=o},goog.async.WorkQueue.prototype.remove=function(){var e=null;return this.workHead_&&(e=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),e.next=null),e},goog.async.WorkQueue.prototype.returnUnused=function(e){goog.async.WorkQueue.freelist_.put(e)},goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()},goog.async.WorkItem=function(){this.next=this.scope=this.fn=null},goog.async.WorkItem.prototype.set=function(e,t){this.fn=e,this.scope=t,this.next=null},goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null},goog.async.throwException=function(e){goog.global.setTimeout((function(){throw e}),0)},goog.async.nextTick=function(e,t,o){var n=e;t&&(n=goog.bind(e,t)),n=goog.async.nextTick.wrapCallback_(n),goog.isFunction(goog.global.setImmediate)&&(o||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(n):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(n))},goog.async.nextTick.useSetImmediate_=function(){return!(goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate)},goog.async.nextTick.getSetImmediateEmulator_=function(){var e=goog.global.MessageChannel;if(void 0===e&&"undefined"!=typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(e=function(){var e=document.createElement("IFRAME");e.style.display="none",goog.dom.safe.setIframeSrc(e,goog.html.TrustedResourceUrl.fromConstant(goog.string.Const.EMPTY)),document.documentElement.appendChild(e);var t=e.contentWindow;(e=t.document).open(),goog.dom.safe.documentWrite(e,goog.html.SafeHtml.EMPTY),e.close();var o="callImmediate"+Math.random(),n="file:"==t.location.protocol?"*":t.location.protocol+"//"+t.location.host;e=goog.bind((function(e){"*"!=n&&e.origin!=n||e.data!=o||this.port1.onmessage()}),this),t.addEventListener("message",e,!1),this.port1={},this.port2={postMessage:function(){t.postMessage(o,n)}}}),void 0!==e&&!goog.labs.userAgent.browser.isIE()){var t=new e,o={},n=o;return t.port1.onmessage=function(){if(goog.isDef(o.next)){var e=(o=o.next).cb;o.cb=null,e()}},function(e){n.next={cb:e},n=n.next,t.port2.postMessage(0)}}return"undefined"!=typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?function(e){var t=document.createElement("SCRIPT");t.onreadystatechange=function(){t.onreadystatechange=null,t.parentNode.removeChild(t),t=null,e(),e=null},document.documentElement.appendChild(t)}:function(e){goog.global.setTimeout(e,0)}},goog.async.nextTick.wrapCallback_=goog.functions.identity,goog.debug.entryPointRegistry.register((function(e){goog.async.nextTick.wrapCallback_=e})),goog.ASSUME_NATIVE_PROMISE=!1,goog.async.run=function(e,t){goog.async.run.schedule_||goog.async.run.initializeRunner_(),goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0),goog.async.run.workQueue_.add(e,t)},goog.async.run.initializeRunner_=function(){if(goog.ASSUME_NATIVE_PROMISE||goog.global.Promise&&goog.global.Promise.resolve){var e=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){e.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}},goog.async.run.forceNextTick=function(e){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue),e&&e(goog.async.run.processWorkQueue)}},goog.async.run.workQueueScheduled_=!1,goog.async.run.workQueue_=new goog.async.WorkQueue,goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1,goog.async.run.workQueue_=new goog.async.WorkQueue}),goog.async.run.processWorkQueue=function(){for(var e;e=goog.async.run.workQueue_.remove();){try{e.fn.call(e.scope)}catch(e){goog.async.throwException(e)}goog.async.run.workQueue_.returnUnused(e)}goog.async.run.workQueueScheduled_=!1},goog.promise={},goog.promise.Resolver=function(){},goog.Promise=function(e,t){if(this.state_=goog.Promise.State_.PENDING,this.result_=void 0,this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null,this.executing_=!1,0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1),goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0),e!=goog.nullFunction)try{var o=this;e.call(t,(function(e){o.resolve_(goog.Promise.State_.FULFILLED,e)}),(function(e){if(goog.DEBUG&&!(e instanceof goog.Promise.CancellationError))try{if(e instanceof Error)throw e;throw Error("Promise rejected.")}catch(e){}o.resolve_(goog.Promise.State_.REJECTED,e)}))}catch(e){this.resolve_(goog.Promise.State_.REJECTED,e)}},goog.Promise.LONG_STACK_TRACES=!1,goog.Promise.UNHANDLED_REJECTION_DELAY=0,goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3},goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null,this.always=!1},goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null,this.always=!1},goog.Promise.DEFAULT_MAX_UNUSED=100,goog.Promise.freelist_=new goog.async.FreeList((function(){return new goog.Promise.CallbackEntry_}),(function(e){e.reset()}),goog.Promise.DEFAULT_MAX_UNUSED),goog.Promise.getCallbackEntry_=function(e,t,o){var n=goog.Promise.freelist_.get();return n.onFulfilled=e,n.onRejected=t,n.context=o,n},goog.Promise.returnEntry_=function(e){goog.Promise.freelist_.put(e)},goog.Promise.resolve=function(e){if(e instanceof goog.Promise)return e;var t=new goog.Promise(goog.nullFunction);return t.resolve_(goog.Promise.State_.FULFILLED,e),t},goog.Promise.reject=function(e){return new goog.Promise((function(t,o){o(e)}))},goog.Promise.resolveThen_=function(e,t,o){goog.Promise.maybeThen_(e,t,o,null)||goog.async.run(goog.partial(t,e))},goog.Promise.race=function(e){return new goog.Promise((function(t,o){e.length||t(void 0);for(var n,i=0;i<e.length;i++)n=e[i],goog.Promise.resolveThen_(n,t,o)}))},goog.Promise.all=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e,o){n--,i[e]=o,0==n&&t(i)},a=function(e){o(e)},l=0;l<e.length;l++)r=e[l],goog.Promise.resolveThen_(r,goog.partial(s,l),a);else t(i)}))},goog.Promise.allSettled=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e,o,r){n--,i[e]=o?{fulfilled:!0,value:r}:{fulfilled:!1,reason:r},0==n&&t(i)},a=0;a<e.length;a++)r=e[a],goog.Promise.resolveThen_(r,goog.partial(s,a,!0),goog.partial(s,a,!1));else t(i)}))},goog.Promise.firstFulfilled=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e){t(e)},a=function(e,t){n--,i[e]=t,0==n&&o(i)},l=0;l<e.length;l++)r=e[l],goog.Promise.resolveThen_(r,s,goog.partial(a,l));else t(void 0)}))},goog.Promise.withResolver=function(){var e,t,o=new goog.Promise((function(o,n){e=o,t=n}));return new goog.Promise.Resolver_(o,e,t)},goog.Promise.prototype.then=function(e,t,o){return null!=e&&goog.asserts.assertFunction(e,"opt_onFulfilled should be a function."),null!=t&&goog.asserts.assertFunction(t,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then")),this.addChildPromise_(goog.isFunction(e)?e:null,goog.isFunction(t)?t:null,o)},goog.Thenable.addImplementation(goog.Promise),goog.Promise.prototype.thenVoid=function(e,t,o){null!=e&&goog.asserts.assertFunction(e,"opt_onFulfilled should be a function."),null!=t&&goog.asserts.assertFunction(t,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then")),this.addCallbackEntry_(goog.Promise.getCallbackEntry_(e||goog.nullFunction,t||null,o))},goog.Promise.prototype.thenAlways=function(e,t){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));var o=goog.Promise.getCallbackEntry_(e,e,t);return o.always=!0,this.addCallbackEntry_(o),this},goog.Promise.prototype.thenCatch=function(e,t){return goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch")),this.addChildPromise_(null,e,t)},goog.Promise.prototype.cancel=function(e){this.state_==goog.Promise.State_.PENDING&&goog.async.run((function(){var t=new goog.Promise.CancellationError(e);this.cancelInternal_(t)}),this)},goog.Promise.prototype.cancelInternal_=function(e){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,e),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,e))},goog.Promise.prototype.cancelChild_=function(e,t){if(this.callbackEntries_){for(var o=0,n=null,i=null,r=this.callbackEntries_;r&&(r.always||(o++,r.child==e&&(n=r),!(n&&1<o)));r=r.next)n||(i=r);n&&(this.state_==goog.Promise.State_.PENDING&&1==o?this.cancelInternal_(t):(i?this.removeEntryAfter_(i):this.popEntry_(),this.executeCallback_(n,goog.Promise.State_.REJECTED,t)))}},goog.Promise.prototype.addCallbackEntry_=function(e){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_(),this.queueEntry_(e)},goog.Promise.prototype.addChildPromise_=function(e,t,o){var n=goog.Promise.getCallbackEntry_(null,null,null);return n.child=new goog.Promise((function(i,r){n.onFulfilled=e?function(t){try{var n=e.call(o,t);i(n)}catch(e){r(e)}}:i,n.onRejected=t?function(e){try{var n=t.call(o,e);!goog.isDef(n)&&e instanceof goog.Promise.CancellationError?r(e):i(n)}catch(e){r(e)}}:r})),n.child.parent_=this,this.addCallbackEntry_(n),n.child},goog.Promise.prototype.unblockAndFulfill_=function(e){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED),this.state_=goog.Promise.State_.PENDING,this.resolve_(goog.Promise.State_.FULFILLED,e)},goog.Promise.prototype.unblockAndReject_=function(e){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED),this.state_=goog.Promise.State_.PENDING,this.resolve_(goog.Promise.State_.REJECTED,e)},goog.Promise.prototype.resolve_=function(e,t){this.state_==goog.Promise.State_.PENDING&&(this===t&&(e=goog.Promise.State_.REJECTED,t=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(t,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=t,this.state_=e,this.parent_=null,this.scheduleCallbacks_(),e!=goog.Promise.State_.REJECTED||t instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,t)))},goog.Promise.maybeThen_=function(e,t,o,n){if(e instanceof goog.Promise)return e.thenVoid(t,o,n),!0;if(goog.Thenable.isImplementedBy(e))return e.then(t,o,n),!0;if(goog.isObject(e))try{var i=e.then;if(goog.isFunction(i))return goog.Promise.tryThen_(e,i,t,o,n),!0}catch(e){return o.call(n,e),!0}return!1},goog.Promise.tryThen_=function(e,t,o,n,i){var r=!1,s=function(e){r||(r=!0,n.call(i,e))};try{t.call(e,(function(e){r||(r=!0,o.call(i,e))}),s)}catch(e){s(e)}},goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))},goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_},goog.Promise.prototype.queueEntry_=function(e){goog.asserts.assert(null!=e.onFulfilled),this.callbackEntriesTail_?this.callbackEntriesTail_.next=e:this.callbackEntries_=e,this.callbackEntriesTail_=e},goog.Promise.prototype.popEntry_=function(){var e=null;return this.callbackEntries_&&(e=this.callbackEntries_,this.callbackEntries_=e.next,e.next=null),this.callbackEntries_||(this.callbackEntriesTail_=null),null!=e&&goog.asserts.assert(null!=e.onFulfilled),e},goog.Promise.prototype.removeEntryAfter_=function(e){goog.asserts.assert(this.callbackEntries_),goog.asserts.assert(null!=e),e.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=e),e.next=e.next.next},goog.Promise.prototype.executeCallbacks_=function(){for(var e;e=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(e,this.state_,this.result_);this.executing_=!1},goog.Promise.prototype.executeCallback_=function(e,t,o){if(t==goog.Promise.State_.REJECTED&&e.onRejected&&!e.always&&this.removeUnhandledRejection_(),e.child)e.child.parent_=null,goog.Promise.invokeCallback_(e,t,o);else try{e.always?e.onFulfilled.call(e.context):goog.Promise.invokeCallback_(e,t,o)}catch(e){goog.Promise.handleRejection_.call(null,e)}goog.Promise.returnEntry_(e)},goog.Promise.invokeCallback_=function(e,t,o){t==goog.Promise.State_.FULFILLED?e.onFulfilled.call(e.context,o):e.onRejected&&e.onRejected.call(e.context,o)},goog.Promise.prototype.addStackTrace_=function(e){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(e.stack)){var t=e.stack.split("\n",4)[3];e=e.message,e+=Array(11-e.length).join(" "),this.stack_.push(e+t)}},goog.Promise.prototype.appendLongStack_=function(e){if(goog.Promise.LONG_STACK_TRACES&&e&&goog.isString(e.stack)&&this.stack_.length){for(var t=["Promise trace:"],o=this;o;o=o.parent_){for(var n=this.currentStep_;0<=n;n--)t.push(o.stack_[n]);t.push("Value: ["+(o.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] <"+String(o.result_)+">")}e.stack+="\n\n"+t.join("\n")}},goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var e=this;e&&e.unhandledRejectionId_;e=e.parent_)goog.global.clearTimeout(e.unhandledRejectionId_),e.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(e=this;e&&e.hadUnhandledRejection_;e=e.parent_)e.hadUnhandledRejection_=!1},goog.Promise.addUnhandledRejection_=function(e,t){0<goog.Promise.UNHANDLED_REJECTION_DELAY?e.unhandledRejectionId_=goog.global.setTimeout((function(){e.appendLongStack_(t),goog.Promise.handleRejection_.call(null,t)}),goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(e.hadUnhandledRejection_=!0,goog.async.run((function(){e.hadUnhandledRejection_&&(e.appendLongStack_(t),goog.Promise.handleRejection_.call(null,t))})))},goog.Promise.handleRejection_=goog.async.throwException,goog.Promise.setUnhandledRejectionHandler=function(e){goog.Promise.handleRejection_=e},goog.Promise.CancellationError=function(e){goog.debug.Error.call(this,e)},goog.inherits(goog.Promise.CancellationError,goog.debug.Error),goog.Promise.CancellationError.prototype.name="cancel",goog.Promise.Resolver_=function(e,t,o){this.promise=e,this.resolve=t,this.reject=o},goog.Timer=function(e,t){goog.events.EventTarget.call(this),this.interval_=e||1,this.timerObject_=t||goog.Timer.defaultTimerObject,this.boundTick_=goog.bind(this.tick_,this),this.last_=goog.now()},goog.inherits(goog.Timer,goog.events.EventTarget),goog.Timer.MAX_TIMEOUT_=2147483647,goog.Timer.INVALID_TIMEOUT_ID_=-1,goog.Timer.prototype.enabled=!1,goog.Timer.defaultTimerObject=goog.global,goog.Timer.intervalScale=.8,goog.Timer.prototype.timer_=null,goog.Timer.prototype.getInterval=function(){return this.interval_},goog.Timer.prototype.setInterval=function(e){this.interval_=e,this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()},goog.Timer.prototype.tick_=function(){if(this.enabled){var e=goog.now()-this.last_;0<e&&e<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-e):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.stop(),this.start()))}},goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)},goog.Timer.prototype.start=function(){this.enabled=!0,this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())},goog.Timer.prototype.stop=function(){this.enabled=!1,this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)},goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this),this.stop(),delete this.timerObject_},goog.Timer.TICK="tick",goog.Timer.callOnce=function(e,t,o){if(goog.isFunction(e))o&&(e=goog.bind(e,o));else{if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=goog.bind(e.handleEvent,e)}return Number(t)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(e,t||0)},goog.Timer.clear=function(e){goog.Timer.defaultTimerObject.clearTimeout(e)},goog.Timer.promise=function(e,t){var o=null;return new goog.Promise((function(n,i){(o=goog.Timer.callOnce((function(){n(t)}),e))==goog.Timer.INVALID_TIMEOUT_ID_&&i(Error("Failed to schedule timer."))})).thenCatch((function(e){throw goog.Timer.clear(o),e}))},goog.string.StringBuffer=function(e,t){null!=e&&this.append.apply(this,arguments)},goog.string.StringBuffer.prototype.buffer_="",goog.string.StringBuffer.prototype.set=function(e){this.buffer_=""+e},goog.string.StringBuffer.prototype.append=function(e,t,o){if(this.buffer_+=String(e),null!=t)for(var n=1;n<arguments.length;n++)this.buffer_+=arguments[n];return this},goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""},goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length},goog.string.StringBuffer.prototype.toString=function(){return this.buffer_},goog.ui.tree={},goog.ui.tree.BaseNode=function(e,t,o){goog.ui.Component.call(this,o),this.config_=t||goog.ui.tree.BaseNode.defaultConfig,this.html_=goog.html.SafeHtml.htmlEscapePreservingNewlines(e),this.expanded_=this.selected_=!1,this.toolTip_=null,this.afterLabelHtml_=goog.html.SafeHtml.EMPTY,this.isUserCollapsible_=!0,this.depth_=-1},goog.inherits(goog.ui.tree.BaseNode,goog.ui.Component),goog.ui.tree.BaseNode.EventType={BEFORE_EXPAND:"beforeexpand",EXPAND:"expand",BEFORE_COLLAPSE:"beforecollapse",COLLAPSE:"collapse"},goog.ui.tree.BaseNode.allNodes={},goog.ui.tree.BaseNode.prototype.disposeInternal=function(){goog.ui.tree.BaseNode.superClass_.disposeInternal.call(this),this.tree&&(this.tree.removeNode(this),this.tree=null),this.setElementInternal(null)},goog.ui.tree.BaseNode.prototype.initAccessibility=function(){var e=this.getElement();if(e){var t=this.getLabelElement();if(t&&!t.id&&(t.id=this.getId()+".label"),goog.a11y.aria.setRole(e,"treeitem"),goog.a11y.aria.setState(e,"selected",!1),goog.a11y.aria.setState(e,"level",this.getDepth()),t&&goog.a11y.aria.setState(e,"labelledby",t.id),(t=this.getIconElement())&&goog.a11y.aria.setRole(t,"presentation"),(t=this.getExpandIconElement())&&goog.a11y.aria.setRole(t,"presentation"),(t=this.getChildrenElement())&&(goog.a11y.aria.setRole(t,"group"),t.hasChildNodes()))for(goog.a11y.aria.setState(e,goog.a11y.aria.State.EXPANDED,!1),e=this.getChildCount(),t=1;t<=e;t++){var o=this.getChildAt(t-1).getElement();goog.asserts.assert(o,"The child element cannot be null"),goog.a11y.aria.setState(o,"setsize",e),goog.a11y.aria.setState(o,"posinset",t)}}},goog.ui.tree.BaseNode.prototype.createDom=function(){var e=this.getDomHelper().safeHtmlToNode(this.toSafeHtml());this.setElementInternal(e)},goog.ui.tree.BaseNode.prototype.enterDocument=function(){goog.ui.tree.BaseNode.superClass_.enterDocument.call(this),goog.ui.tree.BaseNode.allNodes[this.getId()]=this,this.initAccessibility()},goog.ui.tree.BaseNode.prototype.exitDocument=function(){goog.ui.tree.BaseNode.superClass_.exitDocument.call(this),delete goog.ui.tree.BaseNode.allNodes[this.getId()]},goog.ui.tree.BaseNode.prototype.addChildAt=function(e,t,o){goog.asserts.assert(!e.getParent()),goog.asserts.assertInstanceof(e,goog.ui.tree.BaseNode),o=this.getChildAt(t-1);var n=this.getChildAt(t);if(goog.ui.tree.BaseNode.superClass_.addChildAt.call(this,e,t),e.previousSibling_=o,e.nextSibling_=n,o?o.nextSibling_=e:this.firstChild_=e,n?n.previousSibling_=e:this.lastChild_=e,(t=this.getTree())&&e.setTreeInternal(t),e.setDepth_(this.getDepth()+1),(t=this.getElement())&&(this.updateExpandIcon(),goog.a11y.aria.setState(t,goog.a11y.aria.State.EXPANDED,this.getExpanded()),this.getExpanded())){t=this.getChildrenElement(),e.getElement()||e.createDom();var i=e.getElement(),r=n&&n.getElement();t.insertBefore(i,r),this.isInDocument()&&e.enterDocument(),n||(o?o.updateExpandIcon():(goog.style.setElementShown(t,!0),this.setExpanded(this.getExpanded())))}},goog.ui.tree.BaseNode.prototype.add=function(e,t){return goog.asserts.assert(!t||t.getParent()==this,"Can only add nodes before siblings"),e.getParent()&&e.getParent().removeChild(e),this.addChildAt(e,t?this.indexOfChild(t):this.getChildCount()),e},goog.ui.tree.BaseNode.prototype.removeChild=function(e,t){var o=this.getTree(),n=o?o.getSelectedItem():null;if((n==e||e.contains(n))&&(o.hasFocus()?(this.select(),goog.Timer.callOnce(this.onTimeoutSelect_,10,this)):this.select()),goog.ui.tree.BaseNode.superClass_.removeChild.call(this,e),this.lastChild_==e&&(this.lastChild_=e.previousSibling_),this.firstChild_==e&&(this.firstChild_=e.nextSibling_),e.previousSibling_&&(e.previousSibling_.nextSibling_=e.nextSibling_),e.nextSibling_&&(e.nextSibling_.previousSibling_=e.previousSibling_),n=e.isLastSibling(),e.tree=null,e.depth_=-1,o&&(o.removeNode(e),this.isInDocument())){if(o=this.getChildrenElement(),e.isInDocument()){var i=e.getElement();o.removeChild(i),e.exitDocument()}n&&(n=this.getLastChild())&&n.updateExpandIcon(),this.hasChildren()||(o.style.display="none",this.updateExpandIcon(),this.updateIcon_(),(n=this.getElement())&&goog.a11y.aria.removeState(n,goog.a11y.aria.State.EXPANDED))}return e},goog.ui.tree.BaseNode.prototype.remove=goog.ui.tree.BaseNode.prototype.removeChild,goog.ui.tree.BaseNode.prototype.onTimeoutSelect_=function(){this.select()},goog.ui.tree.BaseNode.prototype.getTree=goog.abstractMethod,goog.ui.tree.BaseNode.prototype.getDepth=function(){var e=this.depth_;return 0>e&&(e=this.computeDepth_(),this.setDepth_(e)),e},goog.ui.tree.BaseNode.prototype.computeDepth_=function(){var e=this.getParent();return e?e.getDepth()+1:0},goog.ui.tree.BaseNode.prototype.setDepth_=function(e){if(e!=this.depth_){this.depth_=e;var t=this.getRowElement();if(t){var o=this.getPixelIndent_()+"px";this.isRightToLeft()?t.style.paddingRight=o:t.style.paddingLeft=o}this.forEachChild((function(t){t.setDepth_(e+1)}))}},goog.ui.tree.BaseNode.prototype.contains=function(e){for(;e;){if(e==this)return!0;e=e.getParent()}return!1},goog.ui.tree.BaseNode.EMPTY_CHILDREN_=[],goog.ui.tree.BaseNode.prototype.getChildren=function(){var e=[];return this.forEachChild((function(t){e.push(t)})),e},goog.ui.tree.BaseNode.prototype.getFirstChild=function(){return this.getChildAt(0)},goog.ui.tree.BaseNode.prototype.getLastChild=function(){return this.getChildAt(this.getChildCount()-1)},goog.ui.tree.BaseNode.prototype.getPreviousSibling=function(){return this.previousSibling_},goog.ui.tree.BaseNode.prototype.getNextSibling=function(){return this.nextSibling_},goog.ui.tree.BaseNode.prototype.isLastSibling=function(){return!this.nextSibling_},goog.ui.tree.BaseNode.prototype.isSelected=function(){return this.selected_},goog.ui.tree.BaseNode.prototype.select=function(){var e=this.getTree();e&&e.setSelectedItem(this)},goog.ui.tree.BaseNode.prototype.deselect=goog.nullFunction,goog.ui.tree.BaseNode.prototype.setSelectedInternal=function(e){if(this.selected_!=e){this.selected_=e,this.updateRow();var t=this.getElement();t&&(goog.a11y.aria.setState(t,"selected",e),e&&(e=this.getTree().getElement(),goog.asserts.assert(e,"The DOM element for the tree cannot be null"),goog.a11y.aria.setState(e,"activedescendant",this.getId())))}},goog.ui.tree.BaseNode.prototype.getExpanded=function(){return this.expanded_},goog.ui.tree.BaseNode.prototype.setExpandedInternal=function(e){this.expanded_=e},goog.ui.tree.BaseNode.prototype.setExpanded=function(e){var t=e!=this.expanded_;if(!t||this.dispatchEvent(e?goog.ui.tree.BaseNode.EventType.BEFORE_EXPAND:goog.ui.tree.BaseNode.EventType.BEFORE_COLLAPSE)){this.expanded_=e;var o=this.getTree(),n=this.getElement();if(this.hasChildren()){if(!e&&o&&this.contains(o.getSelectedItem())&&this.select(),n){if((o=this.getChildrenElement())&&(goog.style.setElementShown(o,e),goog.a11y.aria.setState(n,goog.a11y.aria.State.EXPANDED,e),e&&this.isInDocument()&&!o.hasChildNodes())){var i=[];this.forEachChild((function(e){i.push(e.toSafeHtml())})),goog.dom.safe.setInnerHtml(o,goog.html.SafeHtml.concat(i)),this.forEachChild((function(e){e.enterDocument()}))}this.updateExpandIcon()}}else(o=this.getChildrenElement())&&goog.style.setElementShown(o,!1);n&&this.updateIcon_(),t&&this.dispatchEvent(e?goog.ui.tree.BaseNode.EventType.EXPAND:goog.ui.tree.BaseNode.EventType.COLLAPSE)}},goog.ui.tree.BaseNode.prototype.toggle=function(){this.setExpanded(!this.getExpanded())},goog.ui.tree.BaseNode.prototype.expand=function(){this.setExpanded(!0)},goog.ui.tree.BaseNode.prototype.collapse=function(){this.setExpanded(!1)},goog.ui.tree.BaseNode.prototype.collapseChildren=function(){this.forEachChild((function(e){e.collapseAll()}))},goog.ui.tree.BaseNode.prototype.collapseAll=function(){this.collapseChildren(),this.collapse()},goog.ui.tree.BaseNode.prototype.expandChildren=function(){this.forEachChild((function(e){e.expandAll()}))},goog.ui.tree.BaseNode.prototype.expandAll=function(){this.expandChildren(),this.expand()},goog.ui.tree.BaseNode.prototype.reveal=function(){var e=this.getParent();e&&(e.setExpanded(!0),e.reveal())},goog.ui.tree.BaseNode.prototype.setIsUserCollapsible=function(e){(this.isUserCollapsible_=e)||this.expand(),this.getElement()&&this.updateExpandIcon()},goog.ui.tree.BaseNode.prototype.isUserCollapsible=function(){return this.isUserCollapsible_},goog.ui.tree.BaseNode.prototype.toSafeHtml=function(){var e=this.getTree(),t=!e.getShowLines()||e==this.getParent()&&!e.getShowRootLines()?this.config_.cssChildrenNoLines:this.config_.cssChildren;e=this.getExpanded()&&this.hasChildren(),t={class:t,style:this.getLineStyle()};var o=[];return e&&this.forEachChild((function(e){o.push(e.toSafeHtml())})),e=goog.html.SafeHtml.create("div",t,o),goog.html.SafeHtml.create("div",{class:this.config_.cssItem,id:this.getId()},[this.getRowSafeHtml(),e])},goog.ui.tree.BaseNode.prototype.getPixelIndent_=function(){return Math.max(0,(this.getDepth()-1)*this.config_.indentWidth)},goog.ui.tree.BaseNode.prototype.getRowSafeHtml=function(){var e={};e["padding-"+(this.isRightToLeft()?"right":"left")]=this.getPixelIndent_()+"px",e={class:this.getRowClassName(),style:e};var t=[this.getExpandIconSafeHtml(),this.getIconSafeHtml(),this.getLabelSafeHtml()];return goog.html.SafeHtml.create("div",e,t)},goog.ui.tree.BaseNode.prototype.getRowClassName=function(){var e=this.isSelected()?" "+this.config_.cssSelectedRow:"";return this.config_.cssTreeRow+e},goog.ui.tree.BaseNode.prototype.getLabelSafeHtml=function(){var e=goog.html.SafeHtml.create("span",{class:this.config_.cssItemLabel,title:this.getToolTip()||null},this.getSafeHtml());return goog.html.SafeHtml.concat(e,goog.html.SafeHtml.create("span",{},this.getAfterLabelSafeHtml()))},goog.ui.tree.BaseNode.prototype.getAfterLabelHtml=function(){return goog.html.SafeHtml.unwrap(this.getAfterLabelSafeHtml())},goog.ui.tree.BaseNode.prototype.getAfterLabelSafeHtml=function(){return this.afterLabelHtml_},goog.ui.tree.BaseNode.prototype.setAfterLabelSafeHtml=function(e){this.afterLabelHtml_=e;var t=this.getAfterLabelElement();t&&goog.dom.safe.setInnerHtml(t,e)},goog.ui.tree.BaseNode.prototype.getIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{style:{display:"inline-block"},class:this.getCalculatedIconClass()})},goog.ui.tree.BaseNode.prototype.getCalculatedIconClass=goog.abstractMethod,goog.ui.tree.BaseNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{type:"expand",style:{display:"inline-block"},class:this.getExpandIconClass()})},goog.ui.tree.BaseNode.prototype.getExpandIconClass=function(){var e=this.getTree(),t=!e.getShowLines()||e==this.getParent()&&!e.getShowRootLines(),o=this.config_,n=new goog.string.StringBuffer;if(n.append(o.cssTreeIcon," ",o.cssExpandTreeIcon," "),this.hasChildren()){var i=0;switch(e.getShowExpandIcons()&&this.isUserCollapsible_&&(i=this.getExpanded()?2:1),t||(i=this.isLastSibling()?i+4:i+8),i){case 1:n.append(o.cssExpandTreeIconPlus);break;case 2:n.append(o.cssExpandTreeIconMinus);break;case 4:n.append(o.cssExpandTreeIconL);break;case 5:n.append(o.cssExpandTreeIconLPlus);break;case 6:n.append(o.cssExpandTreeIconLMinus);break;case 8:n.append(o.cssExpandTreeIconT);break;case 9:n.append(o.cssExpandTreeIconTPlus);break;case 10:n.append(o.cssExpandTreeIconTMinus);break;default:n.append(o.cssExpandTreeIconBlank)}}else t?n.append(o.cssExpandTreeIconBlank):this.isLastSibling()?n.append(o.cssExpandTreeIconL):n.append(o.cssExpandTreeIconT);return n.toString()},goog.ui.tree.BaseNode.prototype.getLineStyle=function(){var e=this.getExpanded()&&this.hasChildren();return goog.html.SafeStyle.create({"background-position":this.getBackgroundPosition(),display:e?null:"none"})},goog.ui.tree.BaseNode.prototype.getBackgroundPosition=function(){return(this.isLastSibling()?"-100":(this.getDepth()-1)*this.config_.indentWidth)+"px 0"},goog.ui.tree.BaseNode.prototype.getElement=function(){var e=goog.ui.tree.BaseNode.superClass_.getElement.call(this);return e||(e=this.getDomHelper().getElement(this.getId()),this.setElementInternal(e)),e},goog.ui.tree.BaseNode.prototype.getRowElement=function(){var e=this.getElement();return e?e.firstChild:null},goog.ui.tree.BaseNode.prototype.getExpandIconElement=function(){var e=this.getRowElement();return e?e.firstChild:null},goog.ui.tree.BaseNode.prototype.getIconElement=function(){var e=this.getRowElement();return e?e.childNodes[1]:null},goog.ui.tree.BaseNode.prototype.getLabelElement=function(){var e=this.getRowElement();return e&&e.lastChild?e.lastChild.previousSibling:null},goog.ui.tree.BaseNode.prototype.getAfterLabelElement=function(){var e=this.getRowElement();return e?e.lastChild:null},goog.ui.tree.BaseNode.prototype.getChildrenElement=function(){var e=this.getElement();return e?e.lastChild:null},goog.ui.tree.BaseNode.prototype.setIconClass=function(e){this.iconClass_=e,this.isInDocument()&&this.updateIcon_()},goog.ui.tree.BaseNode.prototype.getIconClass=function(){return this.iconClass_},goog.ui.tree.BaseNode.prototype.setExpandedIconClass=function(e){this.expandedIconClass_=e,this.isInDocument()&&this.updateIcon_()},goog.ui.tree.BaseNode.prototype.getExpandedIconClass=function(){return this.expandedIconClass_},goog.ui.tree.BaseNode.prototype.setText=function(e){this.setSafeHtml(goog.html.SafeHtml.htmlEscape(e))},goog.ui.tree.BaseNode.prototype.getText=function(){return goog.string.unescapeEntities(goog.html.SafeHtml.unwrap(this.html_))},goog.ui.tree.BaseNode.prototype.setSafeHtml=function(e){this.html_=e;var t=this.getLabelElement();t&&goog.dom.safe.setInnerHtml(t,e),(e=this.getTree())&&e.setNode(this)},goog.ui.tree.BaseNode.prototype.getHtml=function(){return goog.html.SafeHtml.unwrap(this.getSafeHtml())},goog.ui.tree.BaseNode.prototype.getSafeHtml=function(){return this.html_},goog.ui.tree.BaseNode.prototype.setToolTip=function(e){this.toolTip_=e;var t=this.getLabelElement();t&&(t.title=e)},goog.ui.tree.BaseNode.prototype.getToolTip=function(){return this.toolTip_},goog.ui.tree.BaseNode.prototype.updateRow=function(){var e=this.getRowElement();e&&(e.className=this.getRowClassName())},goog.ui.tree.BaseNode.prototype.updateExpandIcon=function(){var e=this.getExpandIconElement();e&&(e.className=this.getExpandIconClass()),(e=this.getChildrenElement())&&(e.style.backgroundPosition=this.getBackgroundPosition())},goog.ui.tree.BaseNode.prototype.updateIcon_=function(){this.getIconElement().className=this.getCalculatedIconClass()},goog.ui.tree.BaseNode.prototype.onMouseDown=function(e){"expand"==e.target.getAttribute("type")&&this.hasChildren()?this.isUserCollapsible_&&this.toggle():(this.select(),this.updateRow())},goog.ui.tree.BaseNode.prototype.onClick_=goog.events.Event.preventDefault,goog.ui.tree.BaseNode.prototype.onDoubleClick_=function(e){"expand"==e.target.getAttribute("type")&&this.hasChildren()||this.isUserCollapsible_&&this.toggle()},goog.ui.tree.BaseNode.prototype.onKeyDown=function(e){var t=!0;switch(e.keyCode){case goog.events.KeyCodes.RIGHT:if(e.altKey)break;this.hasChildren()&&(this.getExpanded()?this.getFirstChild().select():this.setExpanded(!0));break;case goog.events.KeyCodes.LEFT:if(e.altKey)break;if(this.hasChildren()&&this.getExpanded()&&this.isUserCollapsible_)this.setExpanded(!1);else{var o=this.getParent(),n=this.getTree();o&&(n.getShowRootNode()||o!=n)&&o.select()}break;case goog.events.KeyCodes.DOWN:(o=this.getNextShownNode())&&o.select();break;case goog.events.KeyCodes.UP:(o=this.getPreviousShownNode())&&o.select();break;default:t=!1}return t&&(e.preventDefault(),(n=this.getTree())&&n.clearTypeAhead()),t},goog.ui.tree.BaseNode.prototype.getLastShownDescendant=function(){return this.getExpanded()&&this.hasChildren()?this.getLastChild().getLastShownDescendant():this},goog.ui.tree.BaseNode.prototype.getNextShownNode=function(){if(this.hasChildren()&&this.getExpanded())return this.getFirstChild();for(var e,t=this;t!=this.getTree();){if(null!=(e=t.getNextSibling()))return e;t=t.getParent()}return null},goog.ui.tree.BaseNode.prototype.getPreviousShownNode=function(){var e=this.getPreviousSibling();if(null!=e)return e.getLastShownDescendant();e=this.getParent();var t=this.getTree();return!t.getShowRootNode()&&e==t||this==t?null:e},goog.ui.tree.BaseNode.prototype.getClientData=goog.ui.tree.BaseNode.prototype.getModel,goog.ui.tree.BaseNode.prototype.setClientData=goog.ui.tree.BaseNode.prototype.setModel,goog.ui.tree.BaseNode.prototype.getConfig=function(){return this.config_},goog.ui.tree.BaseNode.prototype.setTreeInternal=function(e){this.tree!=e&&(this.tree=e,e.setNode(this),this.forEachChild((function(t){t.setTreeInternal(e)})))},goog.ui.tree.BaseNode.defaultConfig={indentWidth:19,cssRoot:"goog-tree-root goog-tree-item",cssHideRoot:"goog-tree-hide-root",cssItem:"goog-tree-item",cssChildren:"goog-tree-children",cssChildrenNoLines:"goog-tree-children-nolines",cssTreeRow:"goog-tree-row",cssItemLabel:"goog-tree-item-label",cssTreeIcon:"goog-tree-icon",cssExpandTreeIcon:"goog-tree-expand-icon",cssExpandTreeIconPlus:"goog-tree-expand-icon-plus",cssExpandTreeIconMinus:"goog-tree-expand-icon-minus",cssExpandTreeIconTPlus:"goog-tree-expand-icon-tplus",cssExpandTreeIconTMinus:"goog-tree-expand-icon-tminus",cssExpandTreeIconLPlus:"goog-tree-expand-icon-lplus",cssExpandTreeIconLMinus:"goog-tree-expand-icon-lminus",cssExpandTreeIconT:"goog-tree-expand-icon-t",cssExpandTreeIconL:"goog-tree-expand-icon-l",cssExpandTreeIconBlank:"goog-tree-expand-icon-blank",cssExpandedFolderIcon:"goog-tree-expanded-folder-icon",cssCollapsedFolderIcon:"goog-tree-collapsed-folder-icon",cssFileIcon:"goog-tree-file-icon",cssExpandedRootIcon:"goog-tree-expanded-folder-icon",cssCollapsedRootIcon:"goog-tree-collapsed-folder-icon",cssSelectedRow:"selected"},goog.events.FocusHandler=function(e){goog.events.EventTarget.call(this),this.element_=e,e=goog.userAgent.IE?"focusout":"blur",this.listenKeyIn_=goog.events.listen(this.element_,goog.userAgent.IE?"focusin":"focus",this,!goog.userAgent.IE),this.listenKeyOut_=goog.events.listen(this.element_,e,this,!goog.userAgent.IE)},goog.inherits(goog.events.FocusHandler,goog.events.EventTarget),goog.events.FocusHandler.EventType={FOCUSIN:"focusin",FOCUSOUT:"focusout"},goog.events.FocusHandler.prototype.handleEvent=function(e){var t=e.getBrowserEvent();(t=new goog.events.BrowserEvent(t)).type="focusin"==e.type||"focus"==e.type?goog.events.FocusHandler.EventType.FOCUSIN:goog.events.FocusHandler.EventType.FOCUSOUT,this.dispatchEvent(t)},goog.events.FocusHandler.prototype.disposeInternal=function(){goog.events.FocusHandler.superClass_.disposeInternal.call(this),goog.events.unlistenByKey(this.listenKeyIn_),goog.events.unlistenByKey(this.listenKeyOut_),delete this.element_},goog.debug.LogRecord=function(e,t,o,n,i){this.reset(e,t,o,n,i)},goog.debug.LogRecord.prototype.sequenceNumber_=0,goog.debug.LogRecord.prototype.exception_=null,goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0,goog.debug.LogRecord.nextSequenceNumber_=0,goog.debug.LogRecord.prototype.reset=function(e,t,o,n,i){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof i?i:goog.debug.LogRecord.nextSequenceNumber_++),this.time_=n||goog.now(),this.level_=e,this.msg_=t,this.loggerName_=o,delete this.exception_},goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_},goog.debug.LogRecord.prototype.getException=function(){return this.exception_},goog.debug.LogRecord.prototype.setException=function(e){this.exception_=e},goog.debug.LogRecord.prototype.setLoggerName=function(e){this.loggerName_=e},goog.debug.LogRecord.prototype.getLevel=function(){return this.level_},goog.debug.LogRecord.prototype.setLevel=function(e){this.level_=e},goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_},goog.debug.LogRecord.prototype.setMessage=function(e){this.msg_=e},goog.debug.LogRecord.prototype.getMillis=function(){return this.time_},goog.debug.LogRecord.prototype.setMillis=function(e){this.time_=e},goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_},goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY."),this.clear()},goog.debug.LogBuffer.getInstance=function(){return goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer),goog.debug.LogBuffer.instance_},goog.debug.LogBuffer.CAPACITY=0,goog.debug.LogBuffer.prototype.addRecord=function(e,t,o){var n=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;return this.curIndex_=n,this.isFull_?((n=this.buffer_[n]).reset(e,t,o),n):(this.isFull_=n==goog.debug.LogBuffer.CAPACITY-1,this.buffer_[n]=new goog.debug.LogRecord(e,t,o))},goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY},goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY),this.curIndex_=-1,this.isFull_=!1},goog.debug.LogBuffer.prototype.forEachRecord=function(e){var t=this.buffer_;if(t[0]){var o=this.curIndex_,n=this.isFull_?o:-1;do{e(t[n=(n+1)%goog.debug.LogBuffer.CAPACITY])}while(n!=o)}},goog.debug.Logger=function(e){this.name_=e,this.handlers_=this.children_=this.level_=this.parent_=null},goog.debug.Logger.ROOT_LOGGER_NAME="",goog.debug.Logger.ENABLE_HIERARCHY=!0,goog.debug.Logger.ENABLE_PROFILER_LOGGING=!1,goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]),goog.debug.Logger.Level=function(e,t){this.name=e,this.value=t},goog.debug.Logger.Level.prototype.toString=function(){return this.name},goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",1/0),goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200),goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1e3),goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900),goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800),goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700),goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500),goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400),goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300),goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0),goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL],goog.debug.Logger.Level.predefinedLevelsCache_=null,goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var e,t=0;e=goog.debug.Logger.Level.PREDEFINED_LEVELS[t];t++)goog.debug.Logger.Level.predefinedLevelsCache_[e.value]=e,goog.debug.Logger.Level.predefinedLevelsCache_[e.name]=e},goog.debug.Logger.Level.getPredefinedLevel=function(e){return goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_(),goog.debug.Logger.Level.predefinedLevelsCache_[e]||null},goog.debug.Logger.Level.getPredefinedLevelByValue=function(e){if(goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_(),e in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[e];for(var t=0;t<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++t){var o=goog.debug.Logger.Level.PREDEFINED_LEVELS[t];if(o.value<=e)return o}return null},goog.debug.Logger.getLogger=function(e){return goog.debug.LogManager.getLogger(e)},goog.debug.Logger.logToProfilers=function(e){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING){var t=goog.global.msWriteProfilerMark;t?t(e):(t=goog.global.console)&&t.timeStamp&&t.timeStamp(e)}},goog.debug.Logger.prototype.getName=function(){return this.name_},goog.debug.Logger.prototype.addHandler=function(e){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(e)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(e)))},goog.debug.Logger.prototype.removeHandler=function(e){if(goog.debug.LOGGING_ENABLED){var t=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!t&&goog.array.remove(t,e)}return!1},goog.debug.Logger.prototype.getParent=function(){return this.parent_},goog.debug.Logger.prototype.getChildren=function(){return this.children_||(this.children_={}),this.children_},goog.debug.Logger.prototype.setLevel=function(e){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=e:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=e))},goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF},goog.debug.Logger.prototype.getEffectiveLevel=function(){return goog.debug.LOGGING_ENABLED?goog.debug.Logger.ENABLE_HIERARCHY?this.level_?this.level_:this.parent_?this.parent_.getEffectiveLevel():(goog.asserts.fail("Root logger has no level set."),null):goog.debug.Logger.rootLevel_:goog.debug.Logger.Level.OFF},goog.debug.Logger.prototype.isLoggable=function(e){return goog.debug.LOGGING_ENABLED&&e.value>=this.getEffectiveLevel().value},goog.debug.Logger.prototype.log=function(e,t,o){goog.debug.LOGGING_ENABLED&&this.isLoggable(e)&&(goog.isFunction(t)&&(t=t()),this.doLogRecord_(this.getLogRecord(e,t,o)))},goog.debug.Logger.prototype.getLogRecord=function(e,t,o){return e=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(e,t,this.name_):new goog.debug.LogRecord(e,String(t),this.name_),o&&e.setException(o),e},goog.debug.Logger.prototype.shout=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,e,t)},goog.debug.Logger.prototype.severe=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,e,t)},goog.debug.Logger.prototype.warning=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,e,t)},goog.debug.Logger.prototype.info=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,e,t)},goog.debug.Logger.prototype.config=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,e,t)},goog.debug.Logger.prototype.fine=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,e,t)},goog.debug.Logger.prototype.finer=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,e,t)},goog.debug.Logger.prototype.finest=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,e,t)},goog.debug.Logger.prototype.logRecord=function(e){goog.debug.LOGGING_ENABLED&&this.isLoggable(e.getLevel())&&this.doLogRecord_(e)},goog.debug.Logger.prototype.doLogRecord_=function(e){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING&&goog.debug.Logger.logToProfilers("log:"+e.getMessage()),goog.debug.Logger.ENABLE_HIERARCHY)for(var t=this;t;)t.callPublish_(e),t=t.getParent();else{t=0;for(var o;o=goog.debug.Logger.rootHandlers_[t++];)o(e)}},goog.debug.Logger.prototype.callPublish_=function(e){if(this.handlers_)for(var t,o=0;t=this.handlers_[o];o++)t(e)},goog.debug.Logger.prototype.setParent_=function(e){this.parent_=e},goog.debug.Logger.prototype.addChild_=function(e,t){this.getChildren()[e]=t},goog.debug.LogManager={},goog.debug.LogManager.loggers_={},goog.debug.LogManager.rootLogger_=null,goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))},goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_},goog.debug.LogManager.getRoot=function(){return goog.debug.LogManager.initialize(),goog.debug.LogManager.rootLogger_},goog.debug.LogManager.getLogger=function(e){return goog.debug.LogManager.initialize(),goog.debug.LogManager.loggers_[e]||goog.debug.LogManager.createLogger_(e)},goog.debug.LogManager.createFunctionForCatchErrors=function(e){return function(t){(e||goog.debug.LogManager.getRoot()).severe("Error: "+t.message+" ("+t.fileName+" @ Line: "+t.line+")")}},goog.debug.LogManager.createLogger_=function(e){var t=new goog.debug.Logger(e);if(goog.debug.Logger.ENABLE_HIERARCHY){var o=e.lastIndexOf("."),n=e.substr(0,o);o=e.substr(o+1),(n=goog.debug.LogManager.getLogger(n)).addChild_(o,t),t.setParent_(n)}return goog.debug.LogManager.loggers_[e]=t},goog.log={},goog.log.ENABLED=goog.debug.LOGGING_ENABLED,goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME,goog.log.Logger=goog.debug.Logger,goog.log.Level=goog.debug.Logger.Level,goog.log.LogRecord=goog.debug.LogRecord,goog.log.getLogger=function(e,t){if(goog.log.ENABLED){var o=goog.debug.LogManager.getLogger(e);return t&&o&&o.setLevel(t),o}return null},goog.log.addHandler=function(e,t){goog.log.ENABLED&&e&&e.addHandler(t)},goog.log.removeHandler=function(e,t){return!(!goog.log.ENABLED||!e)&&e.removeHandler(t)},goog.log.log=function(e,t,o,n){goog.log.ENABLED&&e&&e.log(t,o,n)},goog.log.error=function(e,t,o){goog.log.ENABLED&&e&&e.severe(t,o)},goog.log.warning=function(e,t,o){goog.log.ENABLED&&e&&e.warning(t,o)},goog.log.info=function(e,t,o){goog.log.ENABLED&&e&&e.info(t,o)},goog.log.fine=function(e,t,o){goog.log.ENABLED&&e&&e.fine(t,o)},goog.ui.tree.TreeNode=function(e,t,o){goog.ui.tree.BaseNode.call(this,e,t,o)},goog.inherits(goog.ui.tree.TreeNode,goog.ui.tree.BaseNode),goog.ui.tree.TreeNode.prototype.getTree=function(){if(this.tree)return this.tree;var e=this.getParent();return e&&(e=e.getTree())?(this.setTreeInternal(e),e):null},goog.ui.tree.TreeNode.prototype.getCalculatedIconClass=function(){var e=this.getExpanded(),t=this.getExpandedIconClass();if(e&&t)return t;if(t=this.getIconClass(),!e&&t)return t;if(t=this.getConfig(),this.hasChildren()){if(e&&t.cssExpandedFolderIcon)return t.cssTreeIcon+" "+t.cssExpandedFolderIcon;if(!e&&t.cssCollapsedFolderIcon)return t.cssTreeIcon+" "+t.cssCollapsedFolderIcon}else if(t.cssFileIcon)return t.cssTreeIcon+" "+t.cssFileIcon;return""},goog.structs={},goog.structs.getCount=function(e){return e.getCount&&"function"==typeof e.getCount?e.getCount():goog.isArrayLike(e)||goog.isString(e)?e.length:goog.object.getCount(e)},goog.structs.getValues=function(e){if(e.getValues&&"function"==typeof e.getValues)return e.getValues();if(goog.isString(e))return e.split("");if(goog.isArrayLike(e)){for(var t=[],o=e.length,n=0;n<o;n++)t.push(e[n]);return t}return goog.object.getValues(e)},goog.structs.getKeys=function(e){if(e.getKeys&&"function"==typeof e.getKeys)return e.getKeys();if(!e.getValues||"function"!=typeof e.getValues){if(goog.isArrayLike(e)||goog.isString(e)){var t=[];e=e.length;for(var o=0;o<e;o++)t.push(o);return t}return goog.object.getKeys(e)}},goog.structs.contains=function(e,t){return e.contains&&"function"==typeof e.contains?e.contains(t):e.containsValue&&"function"==typeof e.containsValue?e.containsValue(t):goog.isArrayLike(e)||goog.isString(e)?goog.array.contains(e,t):goog.object.containsValue(e,t)},goog.structs.isEmpty=function(e){return e.isEmpty&&"function"==typeof e.isEmpty?e.isEmpty():goog.isArrayLike(e)||goog.isString(e)?goog.array.isEmpty(e):goog.object.isEmpty(e)},goog.structs.clear=function(e){e.clear&&"function"==typeof e.clear?e.clear():goog.isArrayLike(e)?goog.array.clear(e):goog.object.clear(e)},goog.structs.forEach=function(e,t,o){if(e.forEach&&"function"==typeof e.forEach)e.forEach(t,o);else if(goog.isArrayLike(e)||goog.isString(e))goog.array.forEach(e,t,o);else for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)t.call(o,i[s],n&&n[s],e)},goog.structs.filter=function(e,t,o){if("function"==typeof e.filter)return e.filter(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.filter(e,t,o);var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length;if(n)for(var s={},a=0;a<r;a++)t.call(o,i[a],n[a],e)&&(s[n[a]]=i[a]);else for(s=[],a=0;a<r;a++)t.call(o,i[a],void 0,e)&&s.push(i[a]);return s},goog.structs.map=function(e,t,o){if("function"==typeof e.map)return e.map(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.map(e,t,o);var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length;if(n)for(var s={},a=0;a<r;a++)s[n[a]]=t.call(o,i[a],n[a],e);else for(s=[],a=0;a<r;a++)s[a]=t.call(o,i[a],void 0,e);return s},goog.structs.some=function(e,t,o){if("function"==typeof e.some)return e.some(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.some(e,t,o);for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)if(t.call(o,i[s],n&&n[s],e))return!0;return!1},goog.structs.every=function(e,t,o){if("function"==typeof e.every)return e.every(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.every(e,t,o);for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)if(!t.call(o,i[s],n&&n[s],e))return!1;return!0},goog.structs.Trie=function(e){this.value_=void 0,this.childNodes_={},e&&this.setAll(e)},goog.structs.Trie.prototype.set=function(e,t){this.setOrAdd_(e,t,!1)},goog.structs.Trie.prototype.add=function(e,t){this.setOrAdd_(e,t,!0)},goog.structs.Trie.prototype.setOrAdd_=function(e,t,o){for(var n=this,i=0;i<e.length;i++){var r=e.charAt(i);n.childNodes_[r]||(n.childNodes_[r]=new goog.structs.Trie),n=n.childNodes_[r]}if(o&&void 0!==n.value_)throw Error('The collection already contains the key "'+e+'"');n.value_=t},goog.structs.Trie.prototype.setAll=function(e){var t=goog.structs.getKeys(e);e=goog.structs.getValues(e);for(var o=0;o<t.length;o++)this.set(t[o],e[o])},goog.structs.Trie.prototype.getChildNode_=function(e){for(var t=this,o=0;o<e.length;o++){var n=e.charAt(o);if(!(t=t.childNodes_[n]))return}return t},goog.structs.Trie.prototype.get=function(e){return(e=this.getChildNode_(e))?e.value_:void 0},goog.structs.Trie.prototype.getKeyAndPrefixes=function(e,t){var o=this,n={},i=t||0;for(void 0!==o.value_&&(n[i]=o.value_);i<e.length;i++){var r=e.charAt(i);if(!(r in o.childNodes_))break;void 0!==(o=o.childNodes_[r]).value_&&(n[i]=o.value_)}return n},goog.structs.Trie.prototype.getValues=function(){var e=[];return this.getValuesInternal_(e),e},goog.structs.Trie.prototype.getValuesInternal_=function(e){for(var t in void 0!==this.value_&&e.push(this.value_),this.childNodes_)this.childNodes_[t].getValuesInternal_(e)},goog.structs.Trie.prototype.getKeys=function(e){var t=[];if(e){for(var o=this,n=0;n<e.length;n++){var i=e.charAt(n);if(!o.childNodes_[i])return[];o=o.childNodes_[i]}o.getKeysInternal_(e,t)}else this.getKeysInternal_("",t);return t},goog.structs.Trie.prototype.getKeysInternal_=function(e,t){for(var o in void 0!==this.value_&&t.push(e),this.childNodes_)this.childNodes_[o].getKeysInternal_(e+o,t)},goog.structs.Trie.prototype.containsKey=function(e){return void 0!==this.get(e)},goog.structs.Trie.prototype.containsPrefix=function(e){return 0==e.length?!this.isEmpty():!!this.getChildNode_(e)},goog.structs.Trie.prototype.containsValue=function(e){if(this.value_===e)return!0;for(var t in this.childNodes_)if(this.childNodes_[t].containsValue(e))return!0;return!1},goog.structs.Trie.prototype.clear=function(){this.childNodes_={},this.value_=void 0},goog.structs.Trie.prototype.remove=function(e){for(var t=this,o=[],n=0;n<e.length;n++){var i=e.charAt(n);if(!t.childNodes_[i])throw Error('The collection does not have the key "'+e+'"');o.push([t,i]),t=t.childNodes_[i]}for(e=t.value_,delete t.value_;0<o.length&&(t=(i=o.pop())[0],i=i[1],t.childNodes_[i].isEmpty());)delete t.childNodes_[i];return e},goog.structs.Trie.prototype.clone=function(){return new goog.structs.Trie(this)},goog.structs.Trie.prototype.getCount=function(){return goog.structs.getCount(this.getValues())},goog.structs.Trie.prototype.isEmpty=function(){return void 0===this.value_&&goog.object.isEmpty(this.childNodes_)},goog.ui.tree.TypeAhead=function(){this.nodeMap_=new goog.structs.Trie,this.buffer_="",this.matchingNodes_=this.matchingLabels_=null,this.matchingNodeIndex_=this.matchingLabelIndex_=0},goog.ui.tree.TypeAhead.Offset={DOWN:1,UP:-1},goog.ui.tree.TypeAhead.prototype.handleNavigation=function(e){var t=!1;switch(e.keyCode){case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.UP:e.ctrlKey&&(this.jumpTo_(e.keyCode==goog.events.KeyCodes.DOWN?goog.ui.tree.TypeAhead.Offset.DOWN:goog.ui.tree.TypeAhead.Offset.UP),t=!0);break;case goog.events.KeyCodes.BACKSPACE:t=!0,0<(e=this.buffer_.length-1)?(this.buffer_=this.buffer_.substring(0,e),this.jumpToLabel_(this.buffer_)):0==e?this.buffer_="":t=!1;break;case goog.events.KeyCodes.ESC:this.buffer_="",t=!0}return t},goog.ui.tree.TypeAhead.prototype.handleTypeAheadChar=function(e){var t=!1;return e.ctrlKey||e.altKey||(e=String.fromCharCode(e.charCode||e.keyCode).toLowerCase(),goog.string.isUnicodeChar(e)&&(" "!=e||this.buffer_)&&(this.buffer_+=e,t=this.jumpToLabel_(this.buffer_))),t},goog.ui.tree.TypeAhead.prototype.setNodeInMap=function(e){var t=e.getText();if(t&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(t))){t=t.toLowerCase();var o=this.nodeMap_.get(t);o?o.push(e):this.nodeMap_.set(t,[e])}},goog.ui.tree.TypeAhead.prototype.removeNodeFromMap=function(e){var t=e.getText();if(t&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(t))){t=t.toLowerCase();var o=this.nodeMap_.get(t);if(o){for(var n=e.getChildCount(),i=0;i<n;i++)this.removeNodeFromMap(e.getChildAt(i));goog.array.remove(o,e),o.length||this.nodeMap_.remove(t)}}},goog.ui.tree.TypeAhead.prototype.jumpToLabel_=function(e){var t=!1;return(e=this.nodeMap_.getKeys(e))&&e.length&&(this.matchingLabelIndex_=this.matchingNodeIndex_=0,t=this.nodeMap_.get(e[0]),t=this.selectMatchingNode_(t))&&(this.matchingLabels_=e),t},goog.ui.tree.TypeAhead.prototype.jumpTo_=function(e){var t=!1,o=this.matchingLabels_;if(o){t=null;var n=!1;if(this.matchingNodes_){var i=this.matchingNodeIndex_+e;0<=i&&i<this.matchingNodes_.length?(this.matchingNodeIndex_=i,t=this.matchingNodes_):n=!0}t||(0<=(i=this.matchingLabelIndex_+e)&&i<o.length&&(this.matchingLabelIndex_=i),o.length>this.matchingLabelIndex_&&(t=this.nodeMap_.get(o[this.matchingLabelIndex_])),t&&t.length&&n&&(this.matchingNodeIndex_=e==goog.ui.tree.TypeAhead.Offset.UP?t.length-1:0)),(t=this.selectMatchingNode_(t))&&(this.matchingLabels_=o)}return t},goog.ui.tree.TypeAhead.prototype.selectMatchingNode_=function(e){if(e){if(this.matchingNodeIndex_<e.length){var t=e[this.matchingNodeIndex_];this.matchingNodes_=e}t&&(t.reveal(),t.select())}return!!t},goog.ui.tree.TypeAhead.prototype.clear=function(){this.buffer_=""},goog.ui.tree.TreeControl=function(e,t,o){if(goog.ui.tree.BaseNode.call(this,e,t,o),this.setExpandedInternal(!0),this.setSelectedInternal(!0),this.selectedItem_=this,this.typeAhead_=new goog.ui.tree.TypeAhead,this.focusHandler_=this.keyHandler_=null,this.logger_=goog.log.getLogger("this"),this.focused_=!1,this.focusedNode_=null,this.showRootLines_=this.showRootNode_=this.showExpandIcons_=this.showLines_=!0,goog.userAgent.IE)try{document.execCommand("BackgroundImageCache",!1,!0)}catch(e){goog.log.warning(this.logger_,"Failed to enable background image cache")}},goog.inherits(goog.ui.tree.TreeControl,goog.ui.tree.BaseNode),goog.ui.tree.TreeControl.prototype.getTree=function(){return this},goog.ui.tree.TreeControl.prototype.getDepth=function(){return 0},goog.ui.tree.TreeControl.prototype.reveal=function(){},goog.ui.tree.TreeControl.prototype.handleFocus_=function(e){this.focused_=!0,goog.dom.classlist.add(goog.asserts.assert(this.getElement()),"focused"),this.selectedItem_&&this.selectedItem_.select()},goog.ui.tree.TreeControl.prototype.handleBlur_=function(e){this.focused_=!1,goog.dom.classlist.remove(goog.asserts.assert(this.getElement()),"focused")},goog.ui.tree.TreeControl.prototype.hasFocus=function(){return this.focused_},goog.ui.tree.TreeControl.prototype.getExpanded=function(){return!this.showRootNode_||goog.ui.tree.TreeControl.superClass_.getExpanded.call(this)},goog.ui.tree.TreeControl.prototype.setExpanded=function(e){this.showRootNode_?goog.ui.tree.TreeControl.superClass_.setExpanded.call(this,e):this.setExpandedInternal(e)},goog.ui.tree.TreeControl.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.EMPTY},goog.ui.tree.TreeControl.prototype.getIconElement=function(){var e=this.getRowElement();return e?e.firstChild:null},goog.ui.tree.TreeControl.prototype.getExpandIconElement=function(){return null},goog.ui.tree.TreeControl.prototype.updateExpandIcon=function(){},goog.ui.tree.TreeControl.prototype.getRowClassName=function(){return goog.ui.tree.TreeControl.superClass_.getRowClassName.call(this)+(this.showRootNode_?"":" "+this.getConfig().cssHideRoot)},goog.ui.tree.TreeControl.prototype.getCalculatedIconClass=function(){var e=this.getExpanded(),t=this.getExpandedIconClass();return e&&t?t:(t=this.getIconClass(),!e&&t?t:(t=this.getConfig(),e&&t.cssExpandedRootIcon?t.cssTreeIcon+" "+t.cssExpandedRootIcon:!e&&t.cssCollapsedRootIcon?t.cssTreeIcon+" "+t.cssCollapsedRootIcon:""))},goog.ui.tree.TreeControl.prototype.setSelectedItem=function(e){if(this.selectedItem_!=e){var t=!1;this.selectedItem_&&(t=this.selectedItem_==this.focusedNode_,this.selectedItem_.setSelectedInternal(!1)),(this.selectedItem_=e)&&(e.setSelectedInternal(!0),t&&e.select()),this.dispatchEvent(goog.events.EventType.CHANGE)}},goog.ui.tree.TreeControl.prototype.getSelectedItem=function(){return this.selectedItem_},goog.ui.tree.TreeControl.prototype.setShowLines=function(e){this.showLines_!=e&&(this.showLines_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowLines=function(){return this.showLines_},goog.ui.tree.TreeControl.prototype.updateLinesAndExpandIcons_=function(){var e=this,t=e.getShowLines(),o=e.getShowRootLines();!function n(i){var r=i.getChildrenElement();if(r){var s=!t||e==i.getParent()&&!o?i.getConfig().cssChildrenNoLines:i.getConfig().cssChildren;r.className=s,(r=i.getExpandIconElement())&&(r.className=i.getExpandIconClass())}i.forEachChild(n)}(this)},goog.ui.tree.TreeControl.prototype.setShowRootLines=function(e){this.showRootLines_!=e&&(this.showRootLines_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowRootLines=function(){return this.showRootLines_},goog.ui.tree.TreeControl.prototype.setShowExpandIcons=function(e){this.showExpandIcons_!=e&&(this.showExpandIcons_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowExpandIcons=function(){return this.showExpandIcons_},goog.ui.tree.TreeControl.prototype.setShowRootNode=function(e){if(this.showRootNode_!=e){if(this.showRootNode_=e,this.isInDocument()){var t=this.getRowElement();t&&(t.className=this.getRowClassName())}!e&&this.getSelectedItem()==this&&this.getFirstChild()&&this.setSelectedItem(this.getFirstChild())}},goog.ui.tree.TreeControl.prototype.getShowRootNode=function(){return this.showRootNode_},goog.ui.tree.TreeControl.prototype.initAccessibility=function(){goog.ui.tree.TreeControl.superClass_.initAccessibility.call(this);var e=this.getElement();goog.asserts.assert(e,"The DOM element for the tree cannot be null."),goog.a11y.aria.setRole(e,"tree"),goog.a11y.aria.setState(e,"labelledby",this.getLabelElement().id)},goog.ui.tree.TreeControl.prototype.enterDocument=function(){goog.ui.tree.TreeControl.superClass_.enterDocument.call(this);var e=this.getElement();e.className=this.getConfig().cssRoot,e.setAttribute("hideFocus","true"),this.attachEvents_(),this.initAccessibility()},goog.ui.tree.TreeControl.prototype.exitDocument=function(){goog.ui.tree.TreeControl.superClass_.exitDocument.call(this),this.detachEvents_()},goog.ui.tree.TreeControl.prototype.attachEvents_=function(){var e=this.getElement();e.tabIndex=0;var t=this.keyHandler_=new goog.events.KeyHandler(e),o=this.focusHandler_=new goog.events.FocusHandler(e);this.getHandler().listen(o,goog.events.FocusHandler.EventType.FOCUSOUT,this.handleBlur_).listen(o,goog.events.FocusHandler.EventType.FOCUSIN,this.handleFocus_).listen(t,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(e,goog.events.EventType.MOUSEDOWN,this.handleMouseEvent_).listen(e,goog.events.EventType.CLICK,this.handleMouseEvent_).listen(e,goog.events.EventType.DBLCLICK,this.handleMouseEvent_)},goog.ui.tree.TreeControl.prototype.detachEvents_=function(){this.keyHandler_.dispose(),this.keyHandler_=null,this.focusHandler_.dispose(),this.focusHandler_=null},goog.ui.tree.TreeControl.prototype.handleMouseEvent_=function(e){goog.log.fine(this.logger_,"Received event "+e.type);var t=this.getNodeFromEvent_(e);if(t)switch(e.type){case goog.events.EventType.MOUSEDOWN:t.onMouseDown(e);break;case goog.events.EventType.CLICK:t.onClick_(e);break;case goog.events.EventType.DBLCLICK:t.onDoubleClick_(e)}},goog.ui.tree.TreeControl.prototype.handleKeyEvent=function(e){var t;return(t=this.typeAhead_.handleNavigation(e)||this.selectedItem_&&this.selectedItem_.onKeyDown(e)||this.typeAhead_.handleTypeAheadChar(e))&&e.preventDefault(),t},goog.ui.tree.TreeControl.prototype.getNodeFromEvent_=function(e){for(var t=e.target;null!=t;){if(e=goog.ui.tree.BaseNode.allNodes[t.id])return e;if(t==this.getElement())break;t=t.parentNode}return null},goog.ui.tree.TreeControl.prototype.createNode=function(e){return new goog.ui.tree.TreeNode(e||goog.html.SafeHtml.EMPTY,this.getConfig(),this.getDomHelper())},goog.ui.tree.TreeControl.prototype.setNode=function(e){this.typeAhead_.setNodeInMap(e)},goog.ui.tree.TreeControl.prototype.removeNode=function(e){this.typeAhead_.removeNodeFromMap(e)},goog.ui.tree.TreeControl.prototype.clearTypeAhead=function(){this.typeAhead_.clear()},goog.ui.tree.TreeControl.defaultConfig=goog.ui.tree.BaseNode.defaultConfig;var Blockly={};Blockly.Blocks=Object.create(null),Blockly.Msg={},goog.getMsgOrig=goog.getMsg,goog.getMsg=function(e,t){var o=goog.getMsg.blocklyMsgMap[e];return o&&(e=Blockly.Msg[o]),goog.getMsgOrig(e,t)},goog.getMsg.blocklyMsgMap={Today:"TODAY"},Blockly.utils={},Blockly.utils.base={},Blockly.utils.global=this||self,Blockly.utils.Coordinate=function(e,t){this.x=e,this.y=t},Blockly.utils.Coordinate.equals=function(e,t){return e==t||!(!e||!t)&&(e.x==t.x&&e.y==t.y)},Blockly.utils.Coordinate.distance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return Math.sqrt(o*o+n*n)},Blockly.utils.Coordinate.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},Blockly.utils.Coordinate.difference=function(e,t){return new Blockly.utils.Coordinate(e.x-t.x,e.y-t.y)},Blockly.utils.Coordinate.sum=function(e,t){return new Blockly.utils.Coordinate(e.x+t.x,e.y+t.y)},Blockly.utils.Coordinate.prototype.scale=function(e){return this.x*=e,this.y*=e,this},Blockly.utils.Coordinate.prototype.translate=function(e,t){return this.x+=e,this.y+=t,this},Blockly.utils.string={},Blockly.utils.string.startsWith=function(e,t){return 0==e.lastIndexOf(t,0)},Blockly.utils.string.shortestStringLength=function(e){return e.length?e.reduce((function(e,t){return e.length<t.length?e:t})).length:0},Blockly.utils.string.commonWordPrefix=function(e,t){if(!e.length)return 0;if(1==e.length)return e[0].length;for(var o=0,n=t||Blockly.utils.string.shortestStringLength(e),i=0;i<n;i++){for(var r=e[0][i],s=1;s<e.length;s++)if(r!=e[s][i])return o;" "==r&&(o=i+1)}for(s=1;s<e.length;s++)if((r=e[s][i])&&" "!=r)return o;return n},Blockly.utils.string.commonWordSuffix=function(e,t){if(!e.length)return 0;if(1==e.length)return e[0].length;for(var o=0,n=t||Blockly.utils.string.shortestStringLength(e),i=0;i<n;i++){for(var r=e[0].substr(-i-1,1),s=1;s<e.length;s++)if(r!=e[s].substr(-i-1,1))return o;" "==r&&(o=i+1)}for(s=1;s<e.length;s++)if((r=e[s].charAt(e[s].length-i-1))&&" "!=r)return o;return n},Blockly.utils.string.wrap=function(e,t){for(var o=e.split("\n"),n=0;n<o.length;n++)o[n]=Blockly.utils.string.wrapLine_(o[n],t);return o.join("\n")},Blockly.utils.string.wrapLine_=function(e,t){if(e.length<=t)return e;for(var o=e.trim().split(/\s+/),n=0;n<o.length;n++)o[n].length>t&&(t=o[n].length);n=-1/0;var i=1;do{var r=n,s=e,a=[],l=o.length/i,u=1;for(n=0;n<o.length-1;n++)u<(n+1.5)/l?(u++,a[n]=!0):a[n]=!1;a=Blockly.utils.string.wrapMutate_(o,a,t),n=Blockly.utils.string.wrapScore_(o,a,t),e=Blockly.utils.string.wrapToText_(o,a),i++}while(n>r);return s},Blockly.utils.string.wrapScore_=function(e,t,o){for(var n=[0],i=[],r=0;r<e.length;r++)n[n.length-1]+=e[r].length,!0===t[r]?(n.push(0),i.push(e[r].charAt(e[r].length-1))):!1===t[r]&&n[n.length-1]++;for(e=Math.max.apply(Math,n),r=t=0;r<n.length;r++)t-=2*Math.pow(Math.abs(o-n[r]),1.5),t-=Math.pow(e-n[r],1.5),-1!=".?!".indexOf(i[r])?t+=o/3:-1!=",;)]}".indexOf(i[r])&&(t+=o/4);return 1<n.length&&n[n.length-1]<=n[n.length-2]&&(t+=.5),t},Blockly.utils.string.wrapMutate_=function(e,t,o){for(var n,i=Blockly.utils.string.wrapScore_(e,t,o),r=0;r<t.length-1;r++)if(t[r]!=t[r+1]){var s=[].concat(t);s[r]=!s[r],s[r+1]=!s[r+1];var a=Blockly.utils.string.wrapScore_(e,s,o);a>i&&(i=a,n=s)}return n?Blockly.utils.string.wrapMutate_(e,n,o):t},Blockly.utils.string.wrapToText_=function(e,t){for(var o=[],n=0;n<e.length;n++)o.push(e[n]),void 0!==t[n]&&o.push(t[n]?"\n":" ");return o.join("")},Blockly.utils.userAgent={},function(e){function t(e){return-1!=o.indexOf(e.toUpperCase())}Blockly.utils.userAgent.raw=e;var o=Blockly.utils.userAgent.raw.toUpperCase();Blockly.utils.userAgent.IE=t("Trident")||t("MSIE"),Blockly.utils.userAgent.EDGE=t("Edge"),Blockly.utils.userAgent.JAVA_FX=t("JavaFX"),Blockly.utils.userAgent.WEBKIT=t("WebKit")&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.GECKO=t("Gecko")&&!Blockly.utils.userAgent.WEBKIT&&!Blockly.utils.userAgent.IE&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.ANDROID=t("Android"),Blockly.utils.userAgent.IPAD=t("iPad"),Blockly.utils.userAgent.IPOD=t("iPod"),Blockly.utils.userAgent.IPHONE=t("iPhone")&&!Blockly.utils.userAgent.IPAD&&!Blockly.utils.userAgent.IPOD,Blockly.utils.userAgent.MAC=t("Macintosh"),Blockly.utils.userAgent.TABLET=Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.ANDROID&&!t("Mobile")||t("Silk"),Blockly.utils.userAgent.MOBILE=!Blockly.utils.userAgent.TABLET&&(Blockly.utils.userAgent.IPOD||Blockly.utils.userAgent.IPHONE||Blockly.utils.userAgent.ANDROID||t("IEMobile"))}(Blockly.utils.global.navigator&&Blockly.utils.global.navigator.userAgent||""),Blockly.utils.noEvent=function(e){e.preventDefault(),e.stopPropagation()},Blockly.utils.isTargetInput=function(e){return"textarea"==e.target.type||"text"==e.target.type||"number"==e.target.type||"email"==e.target.type||"password"==e.target.type||"search"==e.target.type||"tel"==e.target.type||"url"==e.target.type||e.target.isContentEditable},Blockly.utils.getRelativeXY=function(e){var t=new Blockly.utils.Coordinate(0,0),o=e.getAttribute("x");return o&&(t.x=parseInt(o,10)),(o=e.getAttribute("y"))&&(t.y=parseInt(o,10)),(o=(o=e.getAttribute("transform"))&&o.match(Blockly.utils.getRelativeXY.XY_REGEX_))&&(t.x+=parseFloat(o[1]),o[3]&&(t.y+=parseFloat(o[3]))),(e=e.getAttribute("style"))&&-1<e.indexOf("translate")&&(e=e.match(Blockly.utils.getRelativeXY.XY_STYLE_REGEX_))&&(t.x+=parseFloat(e[1]),e[3]&&(t.y+=parseFloat(e[3]))),t},Blockly.utils.getInjectionDivXY_=function(e){for(var t=0,o=0;e;){var n=Blockly.utils.getRelativeXY(e);if(t+=n.x,o+=n.y,-1!=(" "+(e.getAttribute("class")||"")+" ").indexOf(" injectionDiv "))break;e=e.parentNode}return new Blockly.utils.Coordinate(t,o)},Blockly.utils.getRelativeXY.XY_REGEX_=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Blockly.utils.getRelativeXY.XY_STYLE_REGEX_=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,Blockly.utils.isRightButton=function(e){return!(!e.ctrlKey||!Blockly.utils.userAgent.MAC)||2==e.button},Blockly.utils.mouseToSvg=function(e,t,o){var n=t.createSVGPoint();return n.x=e.clientX,n.y=e.clientY,o||(o=t.getScreenCTM().inverse()),n.matrixTransform(o)},Blockly.utils.getScrollDeltaPixels=function(e){switch(e.deltaMode){case 0:return{x:e.deltaX,y:e.deltaY};case 1:return{x:e.deltaX*Blockly.LINE_MODE_MULTIPLIER,y:e.deltaY*Blockly.LINE_MODE_MULTIPLIER};case 2:return{x:e.deltaX*Blockly.PAGE_MODE_MULTIPLIER,y:e.deltaY*Blockly.PAGE_MODE_MULTIPLIER}}},Blockly.utils.tokenizeInterpolation=function(e){return Blockly.utils.tokenizeInterpolation_(e,!0)},Blockly.utils.replaceMessageReferences=function(e){return"string"!=typeof e?e:(e=Blockly.utils.tokenizeInterpolation_(e,!1)).length?e[0]:""},Blockly.utils.checkMessageReferences=function(e){for(var t=!0,o=Blockly.Msg,n=e.match(/%{BKY_[A-Z]\w*}/gi),i=0;i<n.length;i++){null==o[n[i].toUpperCase().slice(6,-1)]&&(console.log("WARNING: No message string for "+n[i]+" in "+e),t=!1)}return t},Blockly.utils.tokenizeInterpolation_=function(e,t){var o=[],n=e.split("");n.push("");for(var i=0,r=[],s=null,a=0;a<n.length;a++){var l=n[a];0==i?"%"==l?((l=r.join(""))&&o.push(l),r.length=0,i=1):r.push(l):1==i?"%"==l?(r.push(l),i=0):t&&"0"<=l&&"9">=l?(i=2,s=l,(l=r.join(""))&&o.push(l),r.length=0):"{"==l?i=3:(r.push("%",l),i=0):2==i?"0"<=l&&"9">=l?s+=l:(o.push(parseInt(s,10)),a--,i=0):3==i&&(""==l?(r.splice(0,0,"%{"),a--,i=0):"}"!=l?r.push(l):(i=r.join(""),/[A-Z]\w*/i.test(i)?(l=i.toUpperCase(),(l=Blockly.utils.string.startsWith(l,"BKY_")?l.substring(4):null)&&l in Blockly.Msg?"string"==typeof(i=Blockly.Msg[l])?Array.prototype.push.apply(o,Blockly.utils.tokenizeInterpolation_(i,t)):t?o.push(String(i)):o.push(i):o.push("%{"+i+"}")):o.push("%{"+i+"}"),i=r.length=0))}for((l=r.join(""))&&o.push(l),n=[],a=r.length=0;a<o.length;++a)"string"==typeof o[a]?r.push(o[a]):((l=r.join(""))&&n.push(l),r.length=0,n.push(o[a]));return(l=r.join(""))&&n.push(l),r.length=0,n},Blockly.utils.genUid=function(){for(var e=Blockly.utils.genUid.soup_.length,t=[],o=0;20>o;o++)t[o]=Blockly.utils.genUid.soup_.charAt(Math.random()*e);return t.join("")},Blockly.utils.genUid.soup_="!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Blockly.utils.is3dSupported=function(){if(void 0!==Blockly.utils.is3dSupported.cached_)return Blockly.utils.is3dSupported.cached_;if(!Blockly.utils.global.getComputedStyle)return!1;var e=document.createElement("p"),t="none",o={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var n in document.body.insertBefore(e,null),o)if(void 0!==e.style[n]){if(e.style[n]="translate3d(1px,1px,1px)",!(t=Blockly.utils.global.getComputedStyle(e)))return document.body.removeChild(e),!1;t=t.getPropertyValue(o[n])}return document.body.removeChild(e),Blockly.utils.is3dSupported.cached_="none"!==t,Blockly.utils.is3dSupported.cached_},Blockly.utils.runAfterPageLoad=function(e){if("object"!=typeof document)throw Error("Blockly.utils.runAfterPageLoad() requires browser document.");if("complete"==document.readyState)e();else var t=setInterval((function(){"complete"==document.readyState&&(clearInterval(t),e())}),10)},Blockly.utils.getViewportBBox=function(){var e=goog.style.getViewportPageOffset(document);return{right:document.documentElement.clientWidth+e.x,bottom:document.documentElement.clientHeight+e.y,top:e.y,left:e.x}},Blockly.utils.arrayRemove=function(e,t){var o=e.indexOf(t);return-1!=o&&(e.splice(o,1),!0)},Blockly.utils.getDocumentScroll=function(){var e=document.documentElement,t=window;return Blockly.utils.userAgent.IE&&t.pageYOffset!=e.scrollTop?new Blockly.utils.Coordinate(e.scrollLeft,e.scrollTop):new Blockly.utils.Coordinate(t.pageXOffset||e.scrollLeft,t.pageYOffset||e.scrollTop)},Blockly.utils.getBlockTypeCounts=function(e,t){var o,n=Object.create(null),i=e.getDescendants(!0);if(t){var r=e.getNextBlock();r&&(r=i.indexOf(r),i.splice(r,i.length-r))}for(r=0;o=i[r];r++)n[o.type]?n[o.type]++:n[o.type]=1;return n},Blockly.Touch={},Blockly.Touch.TOUCH_ENABLED="ontouchstart"in Blockly.utils.global||!!(Blockly.utils.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!Blockly.utils.global.navigator||!Blockly.utils.global.navigator.maxTouchPoints&&!Blockly.utils.global.navigator.msMaxTouchPoints),Blockly.Touch.touchIdentifier_=null,Blockly.Touch.TOUCH_MAP={},Blockly.utils.global.PointerEvent?Blockly.Touch.TOUCH_MAP={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]}:Blockly.Touch.TOUCH_ENABLED&&(Blockly.Touch.TOUCH_MAP={mousedown:["touchstart"],mousemove:["touchmove"],mouseup:["touchend","touchcancel"]}),Blockly.longPid_=0,Blockly.longStart_=function(e,t){Blockly.longStop_(),e.changedTouches&&1!=e.changedTouches.length||(Blockly.longPid_=setTimeout((function(){e.changedTouches&&(e.button=2,e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY),t&&t.handleRightClick(e)}),Blockly.LONGPRESS))},Blockly.longStop_=function(){Blockly.longPid_&&(clearTimeout(Blockly.longPid_),Blockly.longPid_=0)},Blockly.Touch.clearTouchIdentifier=function(){Blockly.Touch.touchIdentifier_=null},Blockly.Touch.shouldHandleEvent=function(e){return!Blockly.Touch.isMouseOrTouchEvent(e)||Blockly.Touch.checkTouchIdentifier(e)},Blockly.Touch.getTouchIdentifierFromEvent=function(e){return null!=e.pointerId?e.pointerId:e.changedTouches&&e.changedTouches[0]&&void 0!==e.changedTouches[0].identifier&&null!==e.changedTouches[0].identifier?e.changedTouches[0].identifier:"mouse"},Blockly.Touch.checkTouchIdentifier=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);return void 0!==Blockly.Touch.touchIdentifier_&&null!==Blockly.Touch.touchIdentifier_?Blockly.Touch.touchIdentifier_==t:("mousedown"==e.type||"touchstart"==e.type||"pointerdown"==e.type)&&(Blockly.Touch.touchIdentifier_=t,!0)},Blockly.Touch.setClientFromTouch=function(e){if(Blockly.utils.string.startsWith(e.type,"touch")){var t=e.changedTouches[0];e.clientX=t.clientX,e.clientY=t.clientY}},Blockly.Touch.isMouseOrTouchEvent=function(e){return Blockly.utils.string.startsWith(e.type,"touch")||Blockly.utils.string.startsWith(e.type,"mouse")||Blockly.utils.string.startsWith(e.type,"pointer")},Blockly.Touch.isTouchEvent=function(e){return Blockly.utils.string.startsWith(e.type,"touch")||Blockly.utils.string.startsWith(e.type,"pointer")},Blockly.Touch.splitEventByTouches=function(e){var t=[];if(e.changedTouches)for(var o=0;o<e.changedTouches.length;o++)t[o]={type:e.type,changedTouches:[e.changedTouches[o]],target:e.target,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()}};else t.push(e);return t},Blockly.utils.dom={},Blockly.utils.dom.SVG_NS="http://www.w3.org/2000/svg",Blockly.utils.dom.HTML_NS="http://www.w3.org/1999/xhtml",Blockly.utils.dom.XLINK_NS="http://www.w3.org/1999/xlink",Blockly.utils.dom.Node={ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_POSITION_CONTAINED_BY:16},Blockly.utils.dom.createSvgElement=function(e,t,o){for(var n in e=document.createElementNS(Blockly.utils.dom.SVG_NS,e),t)e.setAttribute(n,t[n]);return document.body.runtimeStyle&&(e.runtimeStyle=e.currentStyle=e.style),o&&o.appendChild(e),e},Blockly.utils.dom.addClass=function(e,t){var o=e.getAttribute("class")||"";return-1==(" "+o+" ").indexOf(" "+t+" ")&&(o&&(o+=" "),e.setAttribute("class",o+t),!0)},Blockly.utils.dom.removeClass=function(e,t){var o=e.getAttribute("class");if(-1==(" "+o+" ").indexOf(" "+t+" "))return!1;o=o.split(/\s+/);for(var n=0;n<o.length;n++)o[n]&&o[n]!=t||(o.splice(n,1),n--);return o.length?e.setAttribute("class",o.join(" ")):e.removeAttribute("class"),!0},Blockly.utils.dom.hasClass=function(e,t){return-1!=(" "+e.getAttribute("class")+" ").indexOf(" "+t+" ")},Blockly.utils.dom.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},Blockly.utils.dom.insertAfter=function(e,t){var o=t.nextSibling,n=t.parentNode;if(!n)throw Error("Reference node has no parent.");o?n.insertBefore(e,o):n.appendChild(e)},Blockly.utils.dom.containsNode=function(e,t){return!!(e.compareDocumentPosition(t)&Blockly.utils.dom.Node.DOCUMENT_POSITION_CONTAINED_BY)},Blockly.utils.dom.setCssTransform=function(e,t){e.style.transform=t,e.style["-webkit-transform"]=t},Blockly.utils.math={},Blockly.utils.math.toRadians=function(e){return e*Math.PI/180},Blockly.utils.math.toDegrees=function(e){return 180*e/Math.PI},Blockly.utils.math.clamp=function(e,t,o){if(o<e){var n=o;o=e,e=n}return Math.max(e,Math.min(t,o))},Blockly.Events={},Blockly.Events.group_="",Blockly.Events.recordUndo=!0,Blockly.Events.disabled_=0,Blockly.Events.CREATE="create",Blockly.Events.BLOCK_CREATE=Blockly.Events.CREATE,Blockly.Events.DELETE="delete",Blockly.Events.BLOCK_DELETE=Blockly.Events.DELETE,Blockly.Events.CHANGE="change",Blockly.Events.BLOCK_CHANGE=Blockly.Events.CHANGE,Blockly.Events.MOVE="move",Blockly.Events.BLOCK_MOVE=Blockly.Events.MOVE,Blockly.Events.VAR_CREATE="var_create",Blockly.Events.VAR_DELETE="var_delete",Blockly.Events.VAR_RENAME="var_rename",Blockly.Events.UI="ui",Blockly.Events.COMMENT_CREATE="comment_create",Blockly.Events.COMMENT_DELETE="comment_delete",Blockly.Events.COMMENT_CHANGE="comment_change",Blockly.Events.COMMENT_MOVE="comment_move",Blockly.Events.FINISHED_LOADING="finished_loading",Blockly.Events.BUMP_EVENTS=[Blockly.Events.BLOCK_CREATE,Blockly.Events.BLOCK_MOVE,Blockly.Events.COMMENT_CREATE,Blockly.Events.COMMENT_MOVE],Blockly.Events.FIRE_QUEUE_=[],Blockly.Events.fire=function(e){Blockly.Events.isEnabled()&&(Blockly.Events.FIRE_QUEUE_.length||setTimeout(Blockly.Events.fireNow_,0),Blockly.Events.FIRE_QUEUE_.push(e))},Blockly.Events.fireNow_=function(){for(var e,t=Blockly.Events.filter(Blockly.Events.FIRE_QUEUE_,!0),o=Blockly.Events.FIRE_QUEUE_.length=0;e=t[o];o++){var n=Blockly.Workspace.getById(e.workspaceId);n&&n.fireChangeListener(e)}},Blockly.Events.filter=function(e,t){var o=e.slice();t||o.reverse();for(var n,i=[],r=Object.create(null),s=0;n=o[s];s++)if(!n.isNull()){var a=[n.type,n.blockId,n.workspaceId].join(" "),l=r[a],u=l?l.event:null;l?n.type==Blockly.Events.MOVE&&l.index==s-1?(u.newParentId=n.newParentId,u.newInputName=n.newInputName,u.newCoordinate=n.newCoordinate,l.index=s):n.type==Blockly.Events.CHANGE&&n.element==u.element&&n.name==u.name?u.newValue=n.newValue:(n.type!=Blockly.Events.UI||"click"!=n.element||"commentOpen"!=u.element&&"mutatorOpen"!=u.element&&"warningOpen"!=u.element)&&(r[a]={event:n,index:1},i.push(n)):(r[a]={event:n,index:s},i.push(n))}for(o=i.filter((function(e){return!e.isNull()})),t||o.reverse(),s=1;n=o[s];s++)n.type==Blockly.Events.CHANGE&&"mutation"==n.element&&o.unshift(o.splice(s,1)[0]);return o},Blockly.Events.clearPendingUndo=function(){for(var e,t=0;e=Blockly.Events.FIRE_QUEUE_[t];t++)e.recordUndo=!1},Blockly.Events.disable=function(){Blockly.Events.disabled_++},Blockly.Events.enable=function(){Blockly.Events.disabled_--},Blockly.Events.isEnabled=function(){return 0==Blockly.Events.disabled_},Blockly.Events.getGroup=function(){return Blockly.Events.group_},Blockly.Events.setGroup=function(e){Blockly.Events.group_="boolean"==typeof e?e?Blockly.utils.genUid():"":e},Blockly.Events.getDescendantIds_=function(e){var t=[];e=e.getDescendants(!1);for(var o,n=0;o=e[n];n++)t[n]=o.id;return t},Blockly.Events.fromJson=function(e,t){switch(e.type){case Blockly.Events.CREATE:var o=new Blockly.Events.Create(null);break;case Blockly.Events.DELETE:o=new Blockly.Events.Delete(null);break;case Blockly.Events.CHANGE:o=new Blockly.Events.Change(null,"","","","");break;case Blockly.Events.MOVE:o=new Blockly.Events.Move(null);break;case Blockly.Events.VAR_CREATE:o=new Blockly.Events.VarCreate(null);break;case Blockly.Events.VAR_DELETE:o=new Blockly.Events.VarDelete(null);break;case Blockly.Events.VAR_RENAME:o=new Blockly.Events.VarRename(null,"");break;case Blockly.Events.UI:o=new Blockly.Events.Ui(null);break;case Blockly.Events.COMMENT_CREATE:o=new Blockly.Events.CommentCreate(null);break;case Blockly.Events.COMMENT_CHANGE:o=new Blockly.Events.CommentChange(null);break;case Blockly.Events.COMMENT_MOVE:o=new Blockly.Events.CommentMove(null);break;case Blockly.Events.COMMENT_DELETE:o=new Blockly.Events.CommentDelete(null);break;default:throw Error("Unknown event type.")}return o.fromJson(e),o.workspaceId=t.id,o},Blockly.Events.disableOrphans=function(e){if(e.type==Blockly.Events.MOVE||e.type==Blockly.Events.CREATE){var t=Blockly.Workspace.getById(e.workspaceId);if(e=t.getBlockById(e.blockId)){var o=e.getParent();if(o&&o.isEnabled())for(t=e.getDescendants(!1),e=0;o=t[e];e++)o.setEnabled(!0);else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do{e.setEnabled(!1),e=e.getNextBlock()}while(e)}}},Blockly.Events.Abstract=function(){this.workspaceId=void 0,this.group=Blockly.Events.group_,this.recordUndo=Blockly.Events.recordUndo},Blockly.Events.Abstract.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),e},Blockly.Events.Abstract.prototype.fromJson=function(e){this.group=e.group},Blockly.Events.Abstract.prototype.isNull=function(){return!1},Blockly.Events.Abstract.prototype.run=function(e){},Blockly.Events.Abstract.prototype.getEventWorkspace_=function(){var e=Blockly.Workspace.getById(this.workspaceId);if(!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e},Blockly.Events.VarBase=function(e){Blockly.Events.VarBase.superClass_.constructor.call(this),this.varId=e.getId(),this.workspaceId=e.workspace.id},goog.inherits(Blockly.Events.VarBase,Blockly.Events.Abstract),Blockly.Events.VarBase.prototype.toJson=function(){var e=Blockly.Events.VarBase.superClass_.toJson.call(this);return e.varId=this.varId,e},Blockly.Events.VarBase.prototype.fromJson=function(e){Blockly.Events.VarBase.superClass_.toJson.call(this),this.varId=e.varId},Blockly.Events.VarCreate=function(e){e&&(Blockly.Events.VarCreate.superClass_.constructor.call(this,e),this.varType=e.type,this.varName=e.name)},goog.inherits(Blockly.Events.VarCreate,Blockly.Events.VarBase),Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE,Blockly.Events.VarCreate.prototype.toJson=function(){var e=Blockly.Events.VarCreate.superClass_.toJson.call(this);return e.varType=this.varType,e.varName=this.varName,e},Blockly.Events.VarCreate.prototype.fromJson=function(e){Blockly.Events.VarCreate.superClass_.fromJson.call(this,e),this.varType=e.varType,this.varName=e.varName},Blockly.Events.VarCreate.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)},Blockly.Events.VarDelete=function(e){e&&(Blockly.Events.VarDelete.superClass_.constructor.call(this,e),this.varType=e.type,this.varName=e.name)},goog.inherits(Blockly.Events.VarDelete,Blockly.Events.VarBase),Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE,Blockly.Events.VarDelete.prototype.toJson=function(){var e=Blockly.Events.VarDelete.superClass_.toJson.call(this);return e.varType=this.varType,e.varName=this.varName,e},Blockly.Events.VarDelete.prototype.fromJson=function(e){Blockly.Events.VarDelete.superClass_.fromJson.call(this,e),this.varType=e.varType,this.varName=e.varName},Blockly.Events.VarDelete.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)},Blockly.Events.VarRename=function(e,t){e&&(Blockly.Events.VarRename.superClass_.constructor.call(this,e),this.oldName=e.name,this.newName=t)},goog.inherits(Blockly.Events.VarRename,Blockly.Events.VarBase),Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME,Blockly.Events.VarRename.prototype.toJson=function(){var e=Blockly.Events.VarRename.superClass_.toJson.call(this);return e.oldName=this.oldName,e.newName=this.newName,e},Blockly.Events.VarRename.prototype.fromJson=function(e){Blockly.Events.VarRename.superClass_.fromJson.call(this,e),this.oldName=e.oldName,this.newName=e.newName},Blockly.Events.VarRename.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)},Blockly.VariableMap=function(e){this.variableMap_=Object.create(null),this.workspace=e},Blockly.VariableMap.prototype.clear=function(){this.variableMap_=Object.create(null)},Blockly.VariableMap.prototype.renameVariable=function(e,t){var o=this.getVariable(t,e.type),n=this.workspace.getAllBlocks(!1);Blockly.Events.setGroup(!0);try{o&&o.getId()!=e.getId()?this.renameVariableWithConflict_(e,t,o,n):this.renameVariableAndUses_(e,t,n)}finally{Blockly.Events.setGroup(!1)}},Blockly.VariableMap.prototype.renameVariableById=function(e,t){var o=this.getVariableById(e);if(!o)throw Error("Tried to rename a variable that didn't exist. ID: "+e);this.renameVariable(o,t)},Blockly.VariableMap.prototype.renameVariableAndUses_=function(e,t,o){for(Blockly.Events.fire(new Blockly.Events.VarRename(e,t)),e.name=t,t=0;t<o.length;t++)o[t].updateVarName(e)},Blockly.VariableMap.prototype.renameVariableWithConflict_=function(e,t,o,n){var i=e.type;for(t!=o.name&&this.renameVariableAndUses_(o,t,n),t=0;t<n.length;t++)n[t].renameVarById(e.getId(),o.getId());Blockly.Events.fire(new Blockly.Events.VarDelete(e)),e=this.getVariablesOfType(i).indexOf(e),this.variableMap_[i].splice(e,1)},Blockly.VariableMap.prototype.createVariable=function(e,t,o){var n=this.getVariable(e,t);if(n){if(o&&n.getId()!=o)throw Error('Variable "'+e+'" is already in use and its id is "'+n.getId()+'" which conflicts with the passed in id, "'+o+'".');return n}if(o&&this.getVariableById(o))throw Error('Variable id, "'+o+'", is already in use.');return n=o||Blockly.utils.genUid(),t=t||"",n=new Blockly.VariableModel(this.workspace,e,t,n),(e=this.variableMap_[t]||[]).push(n),delete this.variableMap_[t],this.variableMap_[t]=e,n},Blockly.VariableMap.prototype.deleteVariable=function(e){for(var t,o=this.variableMap_[e.type],n=0;t=o[n];n++)if(t.getId()==e.getId()){o.splice(n,1),Blockly.Events.fire(new Blockly.Events.VarDelete(e));break}},Blockly.VariableMap.prototype.deleteVariableById=function(e){var t=this.getVariableById(e);if(t){var o,n=t.name,i=this.getVariableUsesById(e);for(e=0;o=i[e];e++)if("procedures_defnoreturn"==o.type||"procedures_defreturn"==o.type)return e=o.getFieldValue("NAME"),n=Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE.replace("%1",n).replace("%2",e),void Blockly.alert(n);var r=this;1<i.length?(n=Blockly.Msg.DELETE_VARIABLE_CONFIRMATION.replace("%1",String(i.length)).replace("%2",n),Blockly.confirm(n,(function(e){e&&r.deleteVariableInternal_(t,i)}))):r.deleteVariableInternal_(t,i)}else console.warn("Can't delete non-existent variable: "+e)},Blockly.VariableMap.prototype.deleteVariableInternal_=function(e,t){var o=Blockly.Events.getGroup();o||Blockly.Events.setGroup(!0);try{for(var n=0;n<t.length;n++)t[n].dispose(!0,!1);this.deleteVariable(e)}finally{o||Blockly.Events.setGroup(!1)}},Blockly.VariableMap.prototype.getVariable=function(e,t){var o=this.variableMap_[t||""];if(o)for(var n,i=0;n=o[i];i++)if(Blockly.Names.equals(n.name,e))return n;return null},Blockly.VariableMap.prototype.getVariableById=function(e){for(var t=Object.keys(this.variableMap_),o=0;o<t.length;o++)for(var n,i=t[o],r=0;n=this.variableMap_[i][r];r++)if(n.getId()==e)return n;return null},Blockly.VariableMap.prototype.getVariablesOfType=function(e){return(e=this.variableMap_[e||""])?e.slice():[]},Blockly.VariableMap.prototype.getVariableTypes=function(e){var t=[];e&&e.getPotentialVariableMap()&&(t=Object.keys(e.getPotentialVariableMap().variableMap_)),e=Object.keys(this.variableMap_).concat(t),t=!1;for(var o=0;o<e.length;o++)""==e[o]&&(t=!0);return t||e.push(""),e},Blockly.VariableMap.prototype.getAllVariables=function(){var e,t=[];for(e in this.variableMap_)t=t.concat(this.variableMap_[e]);return t},Blockly.VariableMap.prototype.getVariableUsesById=function(e){for(var t=[],o=this.workspace.getAllBlocks(!1),n=0;n<o.length;n++){var i=o[n].getVarModels();if(i)for(var r=0;r<i.length;r++)i[r].getId()==e&&t.push(o[n])}return t},Blockly.utils.xml={},Blockly.utils.xml.NAME_SPACE="https://developers.google.com/blockly/xml",Blockly.utils.xml.createElement=function(e){return document.createElementNS(Blockly.utils.xml.NAME_SPACE,e)},Blockly.utils.xml.createTextNode=function(e){return document.createTextNode(e)},Blockly.utils.xml.textToDomDocument=function(e){return(new DOMParser).parseFromString(e,"text/xml")},Blockly.utils.xml.domToText=function(e){return(new XMLSerializer).serializeToString(e)},Blockly.Events.BlockBase=function(e){Blockly.Events.BlockBase.superClass_.constructor.call(this),this.blockId=e.id,this.workspaceId=e.workspace.id},goog.inherits(Blockly.Events.BlockBase,Blockly.Events.Abstract),Blockly.Events.BlockBase.prototype.toJson=function(){var e=Blockly.Events.BlockBase.superClass_.toJson.call(this);return e.blockId=this.blockId,e},Blockly.Events.BlockBase.prototype.fromJson=function(e){Blockly.Events.BlockBase.superClass_.toJson.call(this),this.blockId=e.blockId},Blockly.Events.Change=function(e,t,o,n,i){e&&(Blockly.Events.Change.superClass_.constructor.call(this,e),this.element=t,this.name=o,this.oldValue=n,this.newValue=i)},goog.inherits(Blockly.Events.Change,Blockly.Events.BlockBase),Blockly.Events.BlockChange=Blockly.Events.Change,Blockly.Events.Change.prototype.type=Blockly.Events.CHANGE,Blockly.Events.Change.prototype.toJson=function(){var e=Blockly.Events.Change.superClass_.toJson.call(this);return e.element=this.element,this.name&&(e.name=this.name),e.newValue=this.newValue,e},Blockly.Events.Change.prototype.fromJson=function(e){Blockly.Events.Change.superClass_.fromJson.call(this,e),this.element=e.element,this.name=e.name,this.newValue=e.newValue},Blockly.Events.Change.prototype.isNull=function(){return this.oldValue==this.newValue},Blockly.Events.Change.prototype.run=function(e){var t=this.getEventWorkspace_().getBlockById(this.blockId);if(t)switch(t.mutator&&t.mutator.setVisible(!1),e=e?this.newValue:this.oldValue,this.element){case"field":(t=t.getField(this.name))?(t.callValidator(e),t.setValue(e)):console.warn("Can't set non-existent field: "+this.name);break;case"comment":t.setCommentText(e||null);break;case"collapsed":t.setCollapsed(e);break;case"disabled":t.setEnabled(!e);break;case"inline":t.setInputsInline(e);break;case"mutation":var o="";if(t.mutationToDom&&(o=(o=t.mutationToDom())&&Blockly.Xml.domToText(o)),t.domToMutation){var n=Blockly.Xml.textToDom(e||"<mutation/>");t.domToMutation(n)}Blockly.Events.fire(new Blockly.Events.Change(t,"mutation",null,o,e));break;default:console.warn("Unknown change type: "+this.element)}else console.warn("Can't change non-existent block: "+this.blockId)},Blockly.Events.Create=function(e){e&&(Blockly.Events.Create.superClass_.constructor.call(this,e),this.xml=e.workspace.rendered?Blockly.Xml.blockToDomWithXY(e):Blockly.Xml.blockToDom(e),this.ids=Blockly.Events.getDescendantIds_(e))},goog.inherits(Blockly.Events.Create,Blockly.Events.BlockBase),Blockly.Events.BlockCreate=Blockly.Events.Create,Blockly.Events.Create.prototype.type=Blockly.Events.CREATE,Blockly.Events.Create.prototype.toJson=function(){var e=Blockly.Events.Create.superClass_.toJson.call(this);return e.xml=Blockly.Xml.domToText(this.xml),e.ids=this.ids,e},Blockly.Events.Create.prototype.fromJson=function(e){Blockly.Events.Create.superClass_.fromJson.call(this,e),this.xml=Blockly.Xml.textToDom(e.xml),this.ids=e.ids},Blockly.Events.Create.prototype.run=function(e){var t=this.getEventWorkspace_();if(e)(e=Blockly.utils.xml.createElement("xml")).appendChild(this.xml),Blockly.Xml.domToWorkspace(e,t);else{e=0;for(var o;o=this.ids[e];e++){var n=t.getBlockById(o);n?n.dispose(!1,!1):o==this.blockId&&console.warn("Can't uncreate non-existent block: "+o)}}},Blockly.Events.Delete=function(e){if(e){if(e.getParent())throw Error("Connected blocks cannot be deleted.");Blockly.Events.Delete.superClass_.constructor.call(this,e),this.oldXml=e.workspace.rendered?Blockly.Xml.blockToDomWithXY(e):Blockly.Xml.blockToDom(e),this.ids=Blockly.Events.getDescendantIds_(e)}},goog.inherits(Blockly.Events.Delete,Blockly.Events.BlockBase),Blockly.Events.BlockDelete=Blockly.Events.Delete,Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE,Blockly.Events.Delete.prototype.toJson=function(){var e=Blockly.Events.Delete.superClass_.toJson.call(this);return e.ids=this.ids,e},Blockly.Events.Delete.prototype.fromJson=function(e){Blockly.Events.Delete.superClass_.fromJson.call(this,e),this.ids=e.ids},Blockly.Events.Delete.prototype.run=function(e){var t=this.getEventWorkspace_();if(e){e=0;for(var o;o=this.ids[e];e++){var n=t.getBlockById(o);n?n.dispose(!1,!1):o==this.blockId&&console.warn("Can't delete non-existent block: "+o)}}else(e=Blockly.utils.xml.createElement("xml")).appendChild(this.oldXml),Blockly.Xml.domToWorkspace(e,t)},Blockly.Events.Move=function(e){e&&(Blockly.Events.Move.superClass_.constructor.call(this,e),e=this.currentLocation_(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)},goog.inherits(Blockly.Events.Move,Blockly.Events.BlockBase),Blockly.Events.BlockMove=Blockly.Events.Move,Blockly.Events.Move.prototype.type=Blockly.Events.MOVE,Blockly.Events.Move.prototype.toJson=function(){var e=Blockly.Events.Move.superClass_.toJson.call(this);return this.newParentId&&(e.newParentId=this.newParentId),this.newInputName&&(e.newInputName=this.newInputName),this.newCoordinate&&(e.newCoordinate=Math.round(this.newCoordinate.x)+","+Math.round(this.newCoordinate.y)),e},Blockly.Events.Move.prototype.fromJson=function(e){Blockly.Events.Move.superClass_.fromJson.call(this,e),this.newParentId=e.newParentId,this.newInputName=e.newInputName,e.newCoordinate&&(e=e.newCoordinate.split(","),this.newCoordinate=new Blockly.utils.Coordinate(parseFloat(e[0]),parseFloat(e[1])))},Blockly.Events.Move.prototype.recordNew=function(){var e=this.currentLocation_();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate},Blockly.Events.Move.prototype.currentLocation_=function(){var e=Blockly.Workspace.getById(this.workspaceId).getBlockById(this.blockId),t={},o=e.getParent();return o?(t.parentId=o.id,(e=o.getInputWithBlock(e))&&(t.inputName=e.name)):t.coordinate=e.getRelativeToSurfaceXY(),t},Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId&&this.oldInputName==this.newInputName&&Blockly.utils.Coordinate.equals(this.oldCoordinate,this.newCoordinate)},Blockly.Events.Move.prototype.run=function(e){var t=this.getEventWorkspace_(),o=t.getBlockById(this.blockId);if(o){var n=e?this.newParentId:this.oldParentId,i=e?this.newInputName:this.oldInputName;e=e?this.newCoordinate:this.oldCoordinate;var r=null;if(n&&!(r=t.getBlockById(n)))return void console.warn("Can't connect to non-existent block: "+n);if(o.getParent()&&o.unplug(),e)i=o.getRelativeToSurfaceXY(),o.moveBy(e.x-i.x,e.y-i.y);else{if(o=o.outputConnection||o.previousConnection,i){if(t=r.getInput(i))var s=t.connection}else o.type==Blockly.PREVIOUS_STATEMENT&&(s=r.nextConnection);s?o.connect(s):console.warn("Can't connect to non-existent input: "+i)}}else console.warn("Can't move non-existent block: "+this.blockId)},Blockly.Events.FinishedLoading=function(e){this.workspaceId=e.id,this.group=Blockly.Events.group_,this.recordUndo=!1},goog.inherits(Blockly.Events.FinishedLoading,Blockly.Events.Abstract),Blockly.Events.FinishedLoading.prototype.type=Blockly.Events.FINISHED_LOADING,Blockly.Events.FinishedLoading.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),this.workspaceId&&(e.workspaceId=this.workspaceId),e},Blockly.Events.FinishedLoading.prototype.fromJson=function(e){this.workspaceId=e.workspaceId,this.group=e.group},Blockly.Xml={},Blockly.Xml.workspaceToDom=function(e,t){var o=Blockly.utils.xml.createElement("xml"),n=Blockly.Xml.variablesToDom(Blockly.Variables.allUsedVarModels(e));n.hasChildNodes()&&o.appendChild(n);var i,r=e.getTopComments(!0);for(n=0;i=r[n];n++)o.appendChild(i.toXmlWithXY(t));for(r=e.getTopBlocks(!0),n=0;i=r[n];n++)o.appendChild(Blockly.Xml.blockToDomWithXY(i,t));return o},Blockly.Xml.variablesToDom=function(e){for(var t,o=Blockly.utils.xml.createElement("variables"),n=0;t=e[n];n++){var i=Blockly.utils.xml.createElement("variable");i.appendChild(Blockly.utils.xml.createTextNode(t.name)),t.type&&i.setAttribute("type",t.type),i.id=t.getId(),o.appendChild(i)}return o},Blockly.Xml.blockToDomWithXY=function(e,t){var o;e.workspace.RTL&&(o=e.workspace.getWidth());var n=Blockly.Xml.blockToDom(e,t),i=e.getRelativeToSurfaceXY();return n.setAttribute("x",Math.round(e.workspace.RTL?o-i.x:i.x)),n.setAttribute("y",Math.round(i.y)),n},Blockly.Xml.fieldToDom_=function(e){if(e.isSerializable()){var t=Blockly.utils.xml.createElement("field");return t.setAttribute("name",e.name),e.toXml(t)}return null},Blockly.Xml.allFieldsToDom_=function(e,t){for(var o,n=0;o=e.inputList[n];n++)for(var i,r=0;i=o.fieldRow[r];r++)(i=Blockly.Xml.fieldToDom_(i))&&t.appendChild(i)},Blockly.Xml.blockToDom=function(e,t){var o=Blockly.utils.xml.createElement(e.isShadow()?"shadow":"block");if(o.setAttribute("type",e.type),t||(o.id=e.id),e.mutationToDom){var n=e.mutationToDom();n&&(n.hasChildNodes()||n.hasAttributes())&&o.appendChild(n)}Blockly.Xml.allFieldsToDom_(e,o);var i,r=e.getCommentText();for(r&&((n=Blockly.utils.xml.createElement("comment")).appendChild(Blockly.utils.xml.createTextNode(r)),"object"==typeof e.comment&&(n.setAttribute("pinned",e.comment.isVisible()),r=e.comment.getBubbleSize(),n.setAttribute("h",r.height),n.setAttribute("w",r.width)),o.appendChild(n)),e.data&&((n=Blockly.utils.xml.createElement("data")).appendChild(Blockly.utils.xml.createTextNode(e.data)),o.appendChild(n)),r=0;i=e.inputList[r];r++){var s,a=!0;if(i.type!=Blockly.DUMMY_INPUT){var l=i.connection.targetBlock();i.type==Blockly.INPUT_VALUE?s=Blockly.utils.xml.createElement("value"):i.type==Blockly.NEXT_STATEMENT&&(s=Blockly.utils.xml.createElement("statement")),!(n=i.connection.getShadowDom())||l&&l.isShadow()||s.appendChild(Blockly.Xml.cloneShadow_(n,t)),l&&(s.appendChild(Blockly.Xml.blockToDom(l,t)),a=!1),s.setAttribute("name",i.name),a||o.appendChild(s)}}return null!=e.inputsInline&&e.inputsInline!=e.inputsInlineDefault&&o.setAttribute("inline",e.inputsInline),e.isCollapsed()&&o.setAttribute("collapsed",!0),e.isEnabled()||o.setAttribute("disabled",!0),e.isDeletable()||e.isShadow()||o.setAttribute("deletable",!1),e.isMovable()||e.isShadow()||o.setAttribute("movable",!1),e.isEditable()||o.setAttribute("editable",!1),(r=e.getNextBlock())&&((s=Blockly.utils.xml.createElement("next")).appendChild(Blockly.Xml.blockToDom(r,t)),o.appendChild(s)),!(n=e.nextConnection&&e.nextConnection.getShadowDom())||r&&r.isShadow()||s.appendChild(Blockly.Xml.cloneShadow_(n,t)),o},Blockly.Xml.cloneShadow_=function(e,t){for(var o,n=e=e.cloneNode(!0);n;)if(t&&"shadow"==n.nodeName&&n.removeAttribute("id"),n.firstChild)n=n.firstChild;else{for(;n&&!n.nextSibling;)o=n,n=n.parentNode,o.nodeType==Blockly.utils.dom.Node.TEXT_NODE&&""==o.data.trim()&&n.firstChild!=o&&Blockly.utils.dom.removeNode(o);n&&(o=n,n=n.nextSibling,o.nodeType==Blockly.utils.dom.Node.TEXT_NODE&&""==o.data.trim()&&Blockly.utils.dom.removeNode(o))}return e},Blockly.Xml.domToText=function(e){return Blockly.utils.xml.domToText(e)},Blockly.Xml.domToPrettyText=function(e){e=Blockly.Xml.domToText(e).split("<");for(var t="",o=1;o<e.length;o++){var n=e[o];"/"==n[0]&&(t=t.substring(2)),e[o]=t+"<"+n,"/"!=n[0]&&"/>"!=n.slice(-2)&&(t+="  ")}return(e=(e=e.join("\n")).replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1</$2>")).replace(/^\n/,"")},Blockly.Xml.textToDom=function(e){var t=Blockly.utils.xml.textToDomDocument(e);if(!t||!t.documentElement||t.getElementsByTagName("parsererror").length)throw Error("textToDom was unable to parse: "+e);return t.documentElement},Blockly.Xml.clearWorkspaceAndLoadFromXml=function(e,t){t.setResizesEnabled(!1),t.clear();var o=Blockly.Xml.domToWorkspace(e,t);return t.setResizesEnabled(!0),o},Blockly.Xml.domToWorkspace=function(e,t){if(e instanceof Blockly.Workspace){var o=e;e=t,t=o,console.warn("Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.")}var n;t.RTL&&(n=t.getWidth()),o=[],Blockly.Field.startCache();var i=e.childNodes.length,r=Blockly.Events.getGroup();r||Blockly.Events.setGroup(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);var s=!0;try{for(var a=0;a<i;a++){var l=e.childNodes[a],u=l.nodeName.toLowerCase();if("block"==u||"shadow"==u&&!Blockly.Events.recordUndo){var c=Blockly.Xml.domToBlock(l,t);o.push(c.id);var h=l.hasAttribute("x")?parseInt(l.getAttribute("x"),10):10,d=l.hasAttribute("y")?parseInt(l.getAttribute("y"),10):10;isNaN(h)||isNaN(d)||c.moveBy(t.RTL?n-h:h,d),s=!1}else{if("shadow"==u)throw TypeError("Shadow block cannot be a top-level block.");if("comment"==u)t.rendered?Blockly.WorkspaceCommentSvg.fromXml(l,t,n):Blockly.WorkspaceComment.fromXml(l,t);else if("variables"==u){if(!s)throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");Blockly.Xml.domToVariables(l,t),s=!1}}}}finally{r||Blockly.Events.setGroup(!1),Blockly.Field.stopCache()}return t.setResizesEnabled&&t.setResizesEnabled(!0),Blockly.Events.fire(new Blockly.Events.FinishedLoading(t)),o},Blockly.Xml.appendDomToWorkspace=function(e,t){if(t.hasOwnProperty("scale")){var o=Blockly.BlockSvg.TAB_WIDTH;try{Blockly.BlockSvg.TAB_WIDTH=0;var n=t.getBlocksBoundingBox()}finally{Blockly.BlockSvg.TAB_WIDTH=o}}if(o=Blockly.Xml.domToWorkspace(e,t),n&&n.top!=n.bottom){var i,r=n.bottom,s=n.left,a=1/0,l=1/0;for(n=0;n<o.length;n++){var u=t.getBlockById(o[n]).getRelativeToSurfaceXY();u.y<l&&(l=u.y),u.x<a&&(a=u.x)}for(r=r-l+Blockly.BlockSvg.SEP_SPACE_Y,s-=a,t.RTL&&(i=t.getWidth()),n=0;n<o.length;n++)t.getBlockById(o[n]).moveBy(t.RTL?i-s:s,r)}return o},Blockly.Xml.domToBlock=function(e,t){if(e instanceof Blockly.Workspace){var o=e;e=t,t=o,console.warn("Deprecated call to Blockly.Xml.domToBlock, swap the arguments.")}Blockly.Events.disable(),o=t.getAllVariables();try{var n=Blockly.Xml.domToBlockHeadless_(e,t),i=n.getDescendants(!1);if(t.rendered){n.setConnectionsHidden(!0);for(var r=i.length-1;0<=r;r--)i[r].initSvg();for(r=i.length-1;0<=r;r--)i[r].render(!1);setTimeout((function(){n.workspace&&n.setConnectionsHidden(!1)}),1),n.updateDisabled(),t.resizeContents()}else for(r=i.length-1;0<=r;r--)i[r].initModel()}finally{Blockly.Events.enable()}if(Blockly.Events.isEnabled()){for(i=Blockly.Variables.getAddedVariables(t,o),r=0;r<i.length;r++)Blockly.Events.fire(new Blockly.Events.VarCreate(i[r]));Blockly.Events.fire(new Blockly.Events.BlockCreate(n))}return n},Blockly.Xml.domToVariables=function(e,t){for(var o,n=0;o=e.childNodes[n];n++)if(o.nodeType==Blockly.utils.dom.Node.ELEMENT_NODE){var i=o.getAttribute("type"),r=o.getAttribute("id");t.createVariable(o.textContent,i,r)}},Blockly.Xml.domToBlockHeadless_=function(e,t){var o=null,n=e.getAttribute("type");if(!n)throw TypeError("Block type unspecified: "+e.outerHTML);var i=e.getAttribute("id");o=t.newBlock(n,i);var r,s=null;for(i=0;r=e.childNodes[i];i++)if(r.nodeType!=Blockly.utils.dom.Node.TEXT_NODE){for(var a,l=s=null,u=0;a=r.childNodes[u];u++)a.nodeType==Blockly.utils.dom.Node.ELEMENT_NODE&&("block"==a.nodeName.toLowerCase()?s=a:"shadow"==a.nodeName.toLowerCase()&&(l=a));switch(!s&&l&&(s=l),u=r.getAttribute("name"),r.nodeName.toLowerCase()){case"mutation":o.domToMutation&&(o.domToMutation(r),o.initSvg&&o.initSvg());break;case"comment":o.setCommentText(r.textContent);var c=r.getAttribute("pinned");c&&!o.isInFlyout&&setTimeout((function(){o.comment&&o.comment.setVisible&&o.comment.setVisible("true"==c)}),1),s=parseInt(r.getAttribute("w"),10),r=parseInt(r.getAttribute("h"),10),!isNaN(s)&&!isNaN(r)&&o.comment&&o.comment.setVisible&&o.comment.setBubbleSize(s,r);break;case"data":o.data=r.textContent;break;case"title":case"field":Blockly.Xml.domToField_(o,u,r);break;case"value":case"statement":if(!(r=o.getInput(u))){console.warn("Ignoring non-existent input "+u+" in block "+n);break}if(l&&r.connection.setShadowDom(l),s)if((s=Blockly.Xml.domToBlockHeadless_(s,t)).outputConnection)r.connection.connect(s.outputConnection);else{if(!s.previousConnection)throw TypeError("Child block does not have output or previous statement.");r.connection.connect(s.previousConnection)}break;case"next":if(l&&o.nextConnection&&o.nextConnection.setShadowDom(l),s){if(!o.nextConnection)throw TypeError("Next statement does not exist.");if(o.nextConnection.isConnected())throw TypeError("Next statement is already connected.");if(!(s=Blockly.Xml.domToBlockHeadless_(s,t)).previousConnection)throw TypeError("Next block does not have previous statement.");o.nextConnection.connect(s.previousConnection)}break;default:console.warn("Ignoring unknown tag: "+r.nodeName)}}if((i=e.getAttribute("inline"))&&o.setInputsInline("true"==i),(i=e.getAttribute("disabled"))&&o.setEnabled("true"!=i&&"disabled"!=i),(i=e.getAttribute("deletable"))&&o.setDeletable("true"==i),(i=e.getAttribute("movable"))&&o.setMovable("true"==i),(i=e.getAttribute("editable"))&&o.setEditable("true"==i),(i=e.getAttribute("collapsed"))&&o.setCollapsed("true"==i),"shadow"==e.nodeName.toLowerCase()){for(n=o.getChildren(!1),i=0;r=n[i];i++)if(!r.isShadow())throw TypeError("Shadow block not allowed non-shadow child.");if(o.getVarModels().length)throw TypeError("Shadow blocks cannot have variable references.");o.setShadow(!0)}return o},Blockly.Xml.domToField_=function(e,t,o){var n=e.getField(t);n?n.fromXml(o):console.warn("Ignoring non-existent field "+t+" in block "+e.type)},Blockly.Xml.deleteNext=function(e){for(var t,o=0;t=e.childNodes[o];o++)if("next"==t.nodeName.toLowerCase()){e.removeChild(t);break}},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.Xml||(Blockly.utils.global.Blockly.Xml={}),Blockly.utils.global.Blockly.Xml.domToText=Blockly.Xml.domToText,Blockly.utils.global.Blockly.Xml.domToWorkspace=Blockly.Xml.domToWorkspace,Blockly.utils.global.Blockly.Xml.textToDom=Blockly.Xml.textToDom,Blockly.utils.global.Blockly.Xml.workspaceToDom=Blockly.Xml.workspaceToDom,Blockly.Events.CommentBase=function(e){this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=Blockly.Events.group_,this.recordUndo=Blockly.Events.recordUndo},goog.inherits(Blockly.Events.CommentBase,Blockly.Events.Abstract),Blockly.Events.CommentBase.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),this.commentId&&(e.commentId=this.commentId),e},Blockly.Events.CommentBase.prototype.fromJson=function(e){this.commentId=e.commentId,this.group=e.group},Blockly.Events.CommentChange=function(e,t,o){e&&(Blockly.Events.CommentChange.superClass_.constructor.call(this,e),this.oldContents_=t,this.newContents_=o)},goog.inherits(Blockly.Events.CommentChange,Blockly.Events.CommentBase),Blockly.Events.CommentChange.prototype.type=Blockly.Events.COMMENT_CHANGE,Blockly.Events.CommentChange.prototype.toJson=function(){var e=Blockly.Events.CommentChange.superClass_.toJson.call(this);return e.newContents=this.newContents_,e},Blockly.Events.CommentChange.prototype.fromJson=function(e){Blockly.Events.CommentChange.superClass_.fromJson.call(this,e),this.newContents_=e.newValue},Blockly.Events.CommentChange.prototype.isNull=function(){return this.oldContents_==this.newContents_},Blockly.Events.CommentChange.prototype.run=function(e){var t=this.getEventWorkspace_().getCommentById(this.commentId);t?t.setContent(e?this.newContents_:this.oldContents_):console.warn("Can't change non-existent comment: "+this.commentId)},Blockly.Events.CommentCreate=function(e){e&&(Blockly.Events.CommentCreate.superClass_.constructor.call(this,e),this.xml=e.toXmlWithXY())},goog.inherits(Blockly.Events.CommentCreate,Blockly.Events.CommentBase),Blockly.Events.CommentCreate.prototype.type=Blockly.Events.COMMENT_CREATE,Blockly.Events.CommentCreate.prototype.toJson=function(){var e=Blockly.Events.CommentCreate.superClass_.toJson.call(this);return e.xml=Blockly.Xml.domToText(this.xml),e},Blockly.Events.CommentCreate.prototype.fromJson=function(e){Blockly.Events.CommentCreate.superClass_.fromJson.call(this,e),this.xml=Blockly.Xml.textToDom(e.xml)},Blockly.Events.CommentCreate.prototype.run=function(e){Blockly.Events.CommentCreateDeleteHelper(this,e)},Blockly.Events.CommentCreateDeleteHelper=function(e,t){var o=e.getEventWorkspace_();if(t){var n=Blockly.utils.xml.createElement("xml");n.appendChild(e.xml),Blockly.Xml.domToWorkspace(n,o)}else(o=o.getCommentById(e.commentId))?o.dispose(!1,!1):console.warn("Can't uncreate non-existent comment: "+e.commentId)},Blockly.Events.CommentDelete=function(e){e&&(Blockly.Events.CommentDelete.superClass_.constructor.call(this,e),this.xml=e.toXmlWithXY())},goog.inherits(Blockly.Events.CommentDelete,Blockly.Events.CommentBase),Blockly.Events.CommentDelete.prototype.type=Blockly.Events.COMMENT_DELETE,Blockly.Events.CommentDelete.prototype.toJson=function(){return Blockly.Events.CommentDelete.superClass_.toJson.call(this)},Blockly.Events.CommentDelete.prototype.fromJson=function(e){Blockly.Events.CommentDelete.superClass_.fromJson.call(this,e)},Blockly.Events.CommentDelete.prototype.run=function(e){Blockly.Events.CommentCreateDeleteHelper(this,!e)},Blockly.Events.CommentMove=function(e){e&&(Blockly.Events.CommentMove.superClass_.constructor.call(this,e),this.comment_=e,this.oldCoordinate_=e.getXY(),this.newCoordinate_=null)},goog.inherits(Blockly.Events.CommentMove,Blockly.Events.CommentBase),Blockly.Events.CommentMove.prototype.recordNew=function(){if(!this.comment_)throw Error("Tried to record the new position of a comment on the same event twice.");this.newCoordinate_=this.comment_.getXY(),this.comment_=null},Blockly.Events.CommentMove.prototype.type=Blockly.Events.COMMENT_MOVE,Blockly.Events.CommentMove.prototype.setOldCoordinate=function(e){this.oldCoordinate_=e},Blockly.Events.CommentMove.prototype.toJson=function(){var e=Blockly.Events.CommentMove.superClass_.toJson.call(this);return this.newCoordinate_&&(e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y)),e},Blockly.Events.CommentMove.prototype.fromJson=function(e){Blockly.Events.CommentMove.superClass_.fromJson.call(this,e),e.newCoordinate&&(e=e.newCoordinate.split(","),this.newCoordinate_=new Blockly.utils.Coordinate(parseFloat(e[0]),parseFloat(e[1])))},Blockly.Events.CommentMove.prototype.isNull=function(){return Blockly.utils.Coordinate.equals(this.oldCoordinate_,this.newCoordinate_)},Blockly.Events.CommentMove.prototype.run=function(e){var t=this.getEventWorkspace_().getCommentById(this.commentId);if(t){e=e?this.newCoordinate_:this.oldCoordinate_;var o=t.getXY();t.moveBy(e.x-o.x,e.y-o.y)}else console.warn("Can't move non-existent comment: "+this.commentId)},Blockly.WorkspaceComment=function(e,t,o,n,i){this.id=i&&!e.getCommentById(i)?i:Blockly.utils.genUid(),e.addTopComment(this),this.xy_=new Blockly.utils.Coordinate(0,0),this.height_=o,this.width_=n,this.workspace=e,this.RTL=e.RTL,this.movable_=this.deletable_=!0,this.content_=t,this.isComment=!0,Blockly.WorkspaceComment.fireCreateEvent(this)},Blockly.WorkspaceComment.prototype.dispose=function(){this.workspace&&(Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),this.workspace.removeTopComment(this),this.workspace=null)},Blockly.WorkspaceComment.prototype.getHeight=function(){return this.height_},Blockly.WorkspaceComment.prototype.setHeight=function(e){this.height_=e},Blockly.WorkspaceComment.prototype.getWidth=function(){return this.width_},Blockly.WorkspaceComment.prototype.setWidth=function(e){this.width_=e},Blockly.WorkspaceComment.prototype.getXY=function(){return new Blockly.utils.Coordinate(this.xy_.x,this.xy_.y)},Blockly.WorkspaceComment.prototype.moveBy=function(e,t){var o=new Blockly.Events.CommentMove(this);this.xy_.translate(e,t),o.recordNew(),Blockly.Events.fire(o)},Blockly.WorkspaceComment.prototype.isDeletable=function(){return this.deletable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.WorkspaceComment.prototype.setDeletable=function(e){this.deletable_=e},Blockly.WorkspaceComment.prototype.isMovable=function(){return this.movable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.WorkspaceComment.prototype.setMovable=function(e){this.movable_=e},Blockly.WorkspaceComment.prototype.getContent=function(){return this.content_},Blockly.WorkspaceComment.prototype.setContent=function(e){this.content_!=e&&(Blockly.Events.fire(new Blockly.Events.CommentChange(this,this.content_,e)),this.content_=e)},Blockly.WorkspaceComment.prototype.toXmlWithXY=function(e){return(e=this.toXml(e)).setAttribute("x",Math.round(this.xy_.x)),e.setAttribute("y",Math.round(this.xy_.y)),e.setAttribute("h",this.height_),e.setAttribute("w",this.width_),e},Blockly.WorkspaceComment.prototype.toXml=function(e){var t=Blockly.utils.xml.createElement("comment");return e||(t.id=this.id),t.textContent=this.getContent(),t},Blockly.WorkspaceComment.fireCreateEvent=function(e){if(Blockly.Events.isEnabled()){var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.CommentCreate(e))}finally{t||Blockly.Events.setGroup(!1)}}},Blockly.WorkspaceComment.fromXml=function(e,t){var o=Blockly.WorkspaceComment.parseAttributes(e);o=new Blockly.WorkspaceComment(t,o.content,o.h,o.w,o.id);var n=parseInt(e.getAttribute("x"),10),i=parseInt(e.getAttribute("y"),10);return isNaN(n)||isNaN(i)||o.moveBy(n,i),Blockly.WorkspaceComment.fireCreateEvent(o),o},Blockly.WorkspaceComment.parseAttributes=function(e){var t=e.getAttribute("h"),o=e.getAttribute("w");return{id:e.getAttribute("id"),h:t?parseInt(t,10):100,w:o?parseInt(o,10):100,x:parseInt(e.getAttribute("x"),10),y:parseInt(e.getAttribute("y"),10),content:e.textContent}},Blockly.Theme=function(e,t){this.blockStyles_=e,this.categoryStyles_=t},Blockly.Theme.prototype.setAllBlockStyles=function(e){for(var t in e)this.setBlockStyle(t,e[t])},Blockly.Theme.prototype.getAllBlockStyles=function(){return this.blockStyles_},Blockly.Theme.prototype.getBlockStyle=function(e){return this.blockStyles_[e]},Blockly.Theme.prototype.setBlockStyle=function(e,t){this.blockStyles_[e]=t},Blockly.Theme.prototype.getCategoryStyle=function(e){return this.categoryStyles_[e]},Blockly.Theme.prototype.setCategoryStyle=function(e,t){this.categoryStyles_[e]=t},Blockly.Themes={},Blockly.Themes.Classic={},Blockly.Themes.Classic.defaultBlockStyles={colour_blocks:{colourPrimary:"20"},list_blocks:{colourPrimary:"260"},logic_blocks:{colourPrimary:"210"},loop_blocks:{colourPrimary:"120"},math_blocks:{colourPrimary:"230"},procedure_blocks:{colourPrimary:"290"},text_blocks:{colourPrimary:"160"},variable_blocks:{colourPrimary:"330"},variable_dynamic_blocks:{colourPrimary:"310"},hat_blocks:{colourPrimary:"330",hat:"cap"}},Blockly.Themes.Classic.categoryStyles={colour_category:{colour:"20"},list_category:{colour:"260"},logic_category:{colour:"210"},loop_category:{colour:"120"},math_category:{colour:"230"},procedure_category:{colour:"290"},text_category:{colour:"160"},variable_category:{colour:"330"},variable_dynamic_category:{colour:"310"}},Blockly.Themes.Classic=new Blockly.Theme(Blockly.Themes.Classic.defaultBlockStyles,Blockly.Themes.Classic.categoryStyles),Blockly.Workspace=function(e){this.id=Blockly.utils.genUid(),Blockly.Workspace.WorkspaceDB_[this.id]=this,this.options=e||{},this.RTL=!!this.options.RTL,this.horizontalLayout=!!this.options.horizontalLayout,this.toolboxPosition=this.options.toolboxPosition,this.topBlocks_=[],this.topComments_=[],this.commentDB_=Object.create(null),this.listeners_=[],this.undoStack_=[],this.redoStack_=[],this.blockDB_=Object.create(null),this.typedBlocksDB_=Object.create(null),this.variableMap_=new Blockly.VariableMap(this),this.potentialVariableMap_=null,Blockly.getTheme()||Blockly.setTheme(Blockly.Themes.Classic)},Blockly.Workspace.prototype.rendered=!1,Blockly.Workspace.prototype.isClearing=!1,Blockly.Workspace.prototype.MAX_UNDO=1024,Blockly.Workspace.prototype.connectionDBList=null,Blockly.Workspace.prototype.dispose=function(){this.listeners_.length=0,this.clear(),delete Blockly.Workspace.WorkspaceDB_[this.id]},Blockly.Workspace.SCAN_ANGLE=3,Blockly.Workspace.prototype.sortObjects_=function(e,t){var o=e.getRelativeToSurfaceXY(),n=t.getRelativeToSurfaceXY();return o.y+Blockly.Workspace.prototype.sortObjects_.offset*o.x-(n.y+Blockly.Workspace.prototype.sortObjects_.offset*n.x)},Blockly.Workspace.prototype.addTopBlock=function(e){this.topBlocks_.push(e)},Blockly.Workspace.prototype.removeTopBlock=function(e){if(!Blockly.utils.arrayRemove(this.topBlocks_,e))throw Error("Block not present in workspace's list of top-most blocks.")},Blockly.Workspace.prototype.getTopBlocks=function(e){var t=[].concat(this.topBlocks_);return e&&1<t.length&&(this.sortObjects_.offset=Math.sin(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),t.sort(this.sortObjects_)),t},Blockly.Workspace.prototype.addTypedBlock=function(e){this.typedBlocksDB_[e.type]||(this.typedBlocksDB_[e.type]=[]),this.typedBlocksDB_[e.type].push(e)},Blockly.Workspace.prototype.removeTypedBlock=function(e){this.typedBlocksDB_[e.type].splice(this.typedBlocksDB_[e.type].indexOf(e),1),this.typedBlocksDB_[e.type].length||delete this.typedBlocksDB_[e.type]},Blockly.Workspace.prototype.getBlocksByType=function(e,t){if(!this.typedBlocksDB_[e])return[];var o=this.typedBlocksDB_[e].slice(0);return t&&1<o.length&&(this.sortObjects_.offset=Math.sign(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),o.sort(this.sortObjects_)),o},Blockly.Workspace.prototype.addTopComment=function(e){this.topComments_.push(e),this.commentDB_[e.id]&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB_[e.id]=e},Blockly.Workspace.prototype.removeTopComment=function(e){if(!Blockly.utils.arrayRemove(this.topComments_,e))throw Error("Comment not present in workspace's list of top-most comments.");delete this.commentDB_[e.id]},Blockly.Workspace.prototype.getTopComments=function(e){var t=[].concat(this.topComments_);return e&&1<t.length&&(this.sortObjects_.offset=Math.sin(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),t.sort(this.sortObjects_)),t},Blockly.Workspace.prototype.getAllBlocks=function(e){if(e){e=this.getTopBlocks(!0);for(var t=[],o=0;o<e.length;o++)t.push.apply(t,e[o].getDescendants(!0))}else for(t=this.getTopBlocks(!1),o=0;o<t.length;o++)t.push.apply(t,t[o].getChildren(!1));return t.filter((function(e){return!e.isInsertionMarker()}))},Blockly.Workspace.prototype.clear=function(){this.isClearing=!0;try{var e=Blockly.Events.getGroup();for(e||Blockly.Events.setGroup(!0);this.topBlocks_.length;)this.topBlocks_[0].dispose();for(;this.topComments_.length;)this.topComments_[this.topComments_.length-1].dispose();e||Blockly.Events.setGroup(!1),this.variableMap_.clear(),this.potentialVariableMap_&&this.potentialVariableMap_.clear()}finally{this.isClearing=!1}},Blockly.Workspace.prototype.renameVariableById=function(e,t){this.variableMap_.renameVariableById(e,t)},Blockly.Workspace.prototype.createVariable=function(e,t,o){return this.variableMap_.createVariable(e,t,o)},Blockly.Workspace.prototype.getVariableUsesById=function(e){return this.variableMap_.getVariableUsesById(e)},Blockly.Workspace.prototype.deleteVariableById=function(e){this.variableMap_.deleteVariableById(e)},Blockly.Workspace.prototype.deleteVariableInternal_=function(e,t){this.variableMap_.deleteVariableInternal_(e,t)},Blockly.Workspace.prototype.variableIndexOf=function(e){return console.warn("Deprecated call to Blockly.Workspace.prototype.variableIndexOf"),-1},Blockly.Workspace.prototype.getVariable=function(e,t){return this.variableMap_.getVariable(e,t)},Blockly.Workspace.prototype.getVariableById=function(e){return this.variableMap_.getVariableById(e)},Blockly.Workspace.prototype.getVariablesOfType=function(e){return this.variableMap_.getVariablesOfType(e)},Blockly.Workspace.prototype.getVariableTypes=function(){return this.variableMap_.getVariableTypes(this)},Blockly.Workspace.prototype.getAllVariables=function(){return this.variableMap_.getAllVariables()},Blockly.Workspace.prototype.getWidth=function(){return 0},Blockly.Workspace.prototype.newBlock=function(e,t){return new Blockly.Block(this,e,t)},Blockly.Workspace.prototype.remainingCapacity=function(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks().length},Blockly.Workspace.prototype.remainingCapacityOfType=function(e){return this.options.maxInstances?(this.options.maxInstances[e]||1/0)-this.getBlocksByType(e).length:1/0},Blockly.Workspace.prototype.isCapacityAvailable=function(e){if(!this.hasBlockLimits())return!0;var t,o=0;for(t in e){if(e[t]>this.remainingCapacityOfType(t))return!1;o+=e[t]}return!(o>this.remainingCapacity())},Blockly.Workspace.prototype.hasBlockLimits=function(){return 1/0!=this.options.maxBlocks||!!this.options.maxInstances},Blockly.Workspace.prototype.undo=function(e){var t=e?this.redoStack_:this.undoStack_,o=e?this.undoStack_:this.redoStack_,n=t.pop();if(n){for(var i=[n];t.length&&n.group&&n.group==t[t.length-1].group;)i.push(t.pop());for(t=0;n=i[t];t++)o.push(n);i=Blockly.Events.filter(i,e),Blockly.Events.recordUndo=!1;try{for(t=0;n=i[t];t++)n.run(e)}finally{Blockly.Events.recordUndo=!0}}},Blockly.Workspace.prototype.clearUndo=function(){this.undoStack_.length=0,this.redoStack_.length=0,Blockly.Events.clearPendingUndo()},Blockly.Workspace.prototype.addChangeListener=function(e){return this.listeners_.push(e),e},Blockly.Workspace.prototype.removeChangeListener=function(e){Blockly.utils.arrayRemove(this.listeners_,e)},Blockly.Workspace.prototype.fireChangeListener=function(e){if(e.recordUndo)for(this.undoStack_.push(e),this.redoStack_.length=0;this.undoStack_.length>this.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(var t,o=0;t=this.listeners_[o];o++)t(e)},Blockly.Workspace.prototype.getBlockById=function(e){return this.blockDB_[e]||null},Blockly.Workspace.prototype.getCommentById=function(e){return this.commentDB_[e]||null},Blockly.Workspace.prototype.allInputsFilled=function(e){for(var t,o=this.getTopBlocks(!1),n=0;t=o[n];n++)if(!t.allInputsFilled(e))return!1;return!0},Blockly.Workspace.prototype.getPotentialVariableMap=function(){return this.potentialVariableMap_},Blockly.Workspace.prototype.createPotentialVariableMap=function(){this.potentialVariableMap_=new Blockly.VariableMap(this)},Blockly.Workspace.prototype.getVariableMap=function(){return this.variableMap_},Blockly.Workspace.WorkspaceDB_=Object.create(null),Blockly.Workspace.getById=function(e){return Blockly.Workspace.WorkspaceDB_[e]||null},Blockly.Workspace.getAll=function(){var e,t=[];for(e in Blockly.Workspace.WorkspaceDB_)t.push(Blockly.Workspace.WorkspaceDB_[e]);return t},Blockly.Workspace.prototype.clear=Blockly.Workspace.prototype.clear,Blockly.Workspace.prototype.clearUndo=Blockly.Workspace.prototype.clearUndo,Blockly.Workspace.prototype.addChangeListener=Blockly.Workspace.prototype.addChangeListener,Blockly.Workspace.prototype.removeChangeListener=Blockly.Workspace.prototype.removeChangeListener,Blockly.Bubble=function(e,t,o,n,i,r){this.workspace_=e,this.content_=t,this.shape_=o,o=Blockly.Bubble.ARROW_ANGLE,this.workspace_.RTL&&(o=-o),this.arrow_radians_=Blockly.utils.math.toRadians(o),e.getBubbleCanvas().appendChild(this.createDom_(t,!(!i||!r))),this.setAnchorLocation(n),i&&r||(i=(t=this.content_.getBBox()).width+2*Blockly.Bubble.BORDER_WIDTH,r=t.height+2*Blockly.Bubble.BORDER_WIDTH),this.setBubbleSize(i,r),this.positionBubble_(),this.renderArrow_(),this.rendered_=!0,e.options.readOnly||(Blockly.bindEventWithChecks_(this.bubbleBack_,"mousedown",this,this.bubbleMouseDown_),this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_))},Blockly.Bubble.BORDER_WIDTH=6,Blockly.Bubble.ARROW_THICKNESS=5,Blockly.Bubble.ARROW_ANGLE=20,Blockly.Bubble.ARROW_BEND=4,Blockly.Bubble.ANCHOR_RADIUS=8,Blockly.Bubble.onMouseUpWrapper_=null,Blockly.Bubble.onMouseMoveWrapper_=null,Blockly.Bubble.prototype.resizeCallback_=null,Blockly.Bubble.unbindDragEvents_=function(){Blockly.Bubble.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseUpWrapper_),Blockly.Bubble.onMouseUpWrapper_=null),Blockly.Bubble.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseMoveWrapper_),Blockly.Bubble.onMouseMoveWrapper_=null)},Blockly.Bubble.bubbleMouseUp_=function(){Blockly.Touch.clearTouchIdentifier(),Blockly.Bubble.unbindDragEvents_()},Blockly.Bubble.prototype.rendered_=!1,Blockly.Bubble.prototype.anchorXY_=null,Blockly.Bubble.prototype.relativeLeft_=0,Blockly.Bubble.prototype.relativeTop_=0,Blockly.Bubble.prototype.width_=0,Blockly.Bubble.prototype.height_=0,Blockly.Bubble.prototype.autoLayout_=!0,Blockly.Bubble.prototype.createDom_=function(e,t){this.bubbleGroup_=Blockly.utils.dom.createSvgElement("g",{},null);var o={filter:"url(#"+this.workspace_.options.embossFilterId+")"};return Blockly.utils.userAgent.JAVA_FX&&(o={}),o=Blockly.utils.dom.createSvgElement("g",o,this.bubbleGroup_),this.bubbleArrow_=Blockly.utils.dom.createSvgElement("path",{},o),this.bubbleBack_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyDraggable",x:0,y:0,rx:Blockly.Bubble.BORDER_WIDTH,ry:Blockly.Bubble.BORDER_WIDTH},o),t?(this.resizeGroup_=Blockly.utils.dom.createSvgElement("g",{class:this.workspace_.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.bubbleGroup_),o=2*Blockly.Bubble.BORDER_WIDTH,Blockly.utils.dom.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,o.toString())},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:o/3,y1:o-1,x2:o-1,y2:o/3},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:2*o/3,y1:o-1,x2:o-1,y2:2*o/3},this.resizeGroup_)):this.resizeGroup_=null,this.bubbleGroup_.appendChild(e),this.bubbleGroup_},Blockly.Bubble.prototype.getSvgRoot=function(){return this.bubbleGroup_},Blockly.Bubble.prototype.setSvgId=function(e){this.bubbleGroup_.dataset&&(this.bubbleGroup_.dataset.blockId=e)},Blockly.Bubble.prototype.bubbleMouseDown_=function(e){var t=this.workspace_.getGesture(e);t&&t.handleBubbleStart(e,this)},Blockly.Bubble.prototype.showContextMenu_=function(e){},Blockly.Bubble.prototype.isDeletable=function(){return!1},Blockly.Bubble.prototype.resizeMouseDown_=function(e){this.promote_(),Blockly.Bubble.unbindDragEvents_(),Blockly.utils.isRightButton(e)||(this.workspace_.startDrag(e,new Blockly.utils.Coordinate(this.workspace_.RTL?-this.width_:this.width_,this.height_)),Blockly.Bubble.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,Blockly.Bubble.bubbleMouseUp_),Blockly.Bubble.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff()),e.stopPropagation()},Blockly.Bubble.prototype.resizeMouseMove_=function(e){this.autoLayout_=!1,e=this.workspace_.moveDrag(e),this.setBubbleSize(this.workspace_.RTL?-e.x:e.x,e.y),this.workspace_.RTL&&this.positionBubble_()},Blockly.Bubble.prototype.registerResizeEvent=function(e){this.resizeCallback_=e},Blockly.Bubble.prototype.promote_=function(){var e=this.bubbleGroup_.parentNode;return e.lastChild!==this.bubbleGroup_&&(e.appendChild(this.bubbleGroup_),!0)},Blockly.Bubble.prototype.setAnchorLocation=function(e){this.anchorXY_=e,this.rendered_&&this.positionBubble_()},Blockly.Bubble.prototype.layoutBubble_=function(){var e=this.workspace_.getMetrics();e.viewLeft/=this.workspace_.scale,e.viewWidth/=this.workspace_.scale,e.viewTop/=this.workspace_.scale,e.viewHeight/=this.workspace_.scale;var t=this.getOptimalRelativeLeft_(e),o=this.getOptimalRelativeTop_(e),n=this.shape_.getBBox(),i={x:t,y:-this.height_-Blockly.BlockSvg.MIN_BLOCK_Y},r={x:-this.width_-30,y:o};o={x:n.width,y:o};var s={x:t,y:n.height};t=n.width<n.height?o:s,n=n.width<n.height?s:o,o=this.getOverlap_(i,e),s=this.getOverlap_(r,e);var a=this.getOverlap_(t,e);e=this.getOverlap_(n,e),o==(e=Math.max(o,s,a,e))?(this.relativeLeft_=i.x,this.relativeTop_=i.y):s==e?(this.relativeLeft_=r.x,this.relativeTop_=r.y):a==e?(this.relativeLeft_=t.x,this.relativeTop_=t.y):(this.relativeLeft_=n.x,this.relativeTop_=n.y)},Blockly.Bubble.prototype.getOverlap_=function(e,t){var o=this.workspace_.RTL?this.anchorXY_.x-e.x-this.width_:e.x+this.anchorXY_.x,n=e.y+this.anchorXY_.y;return Math.max(0,Math.min(1,(Math.min(o+this.width_,t.viewLeft+t.viewWidth)-Math.max(o,t.viewLeft))*(Math.min(n+this.height_,t.viewTop+t.viewHeight)-Math.max(n,t.viewTop))/(this.width_*this.height_)))},Blockly.Bubble.prototype.getOptimalRelativeLeft_=function(e){var t=-this.width_/4;if(this.width_>e.viewWidth)return t;if(this.workspace_.RTL)var o=this.anchorXY_.x-t,n=o-this.width_,i=e.viewLeft+e.viewWidth,r=e.viewLeft+Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;else o=(n=t+this.anchorXY_.x)+this.width_,r=e.viewLeft,i=e.viewLeft+e.viewWidth-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;return this.workspace_.RTL?n<r?t=-(r-this.anchorXY_.x+this.width_):o>i&&(t=-(i-this.anchorXY_.x)):n<r?t=r-this.anchorXY_.x:o>i&&(t=i-this.anchorXY_.x-this.width_),t},Blockly.Bubble.prototype.getOptimalRelativeTop_=function(e){var t=-this.height_/4;if(this.height_>e.viewHeight)return t;var o=this.anchorXY_.y+t,n=o+this.height_,i=e.viewTop;e=e.viewTop+e.viewHeight-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;var r=this.anchorXY_.y;return o<i?t=i-r:n>e&&(t=e-r-this.height_),t},Blockly.Bubble.prototype.positionBubble_=function(){var e=this.anchorXY_.x;e=this.workspace_.RTL?e-(this.relativeLeft_+this.width_):e+this.relativeLeft_,this.moveTo(e,this.relativeTop_+this.anchorXY_.y)},Blockly.Bubble.prototype.moveTo=function(e,t){this.bubbleGroup_.setAttribute("transform","translate("+e+","+t+")")},Blockly.Bubble.prototype.getBubbleSize=function(){return{width:this.width_,height:this.height_}},Blockly.Bubble.prototype.setBubbleSize=function(e,t){var o=2*Blockly.Bubble.BORDER_WIDTH;e=Math.max(e,o+45),t=Math.max(t,o+20),this.width_=e,this.height_=t,this.bubbleBack_.setAttribute("width",e),this.bubbleBack_.setAttribute("height",t),this.resizeGroup_&&(this.workspace_.RTL?this.resizeGroup_.setAttribute("transform","translate("+2*Blockly.Bubble.BORDER_WIDTH+","+(t-o)+") scale(-1 1)"):this.resizeGroup_.setAttribute("transform","translate("+(e-o)+","+(t-o)+")")),this.rendered_&&(this.autoLayout_&&this.layoutBubble_(),this.positionBubble_(),this.renderArrow_()),this.resizeCallback_&&this.resizeCallback_()},Blockly.Bubble.prototype.renderArrow_=function(){var e=[],t=this.width_/2,o=this.height_/2,n=-this.relativeLeft_,i=-this.relativeTop_;if(t==n&&o==i)e.push("M "+t+","+o);else{i-=o,n-=t,this.workspace_.RTL&&(n*=-1);var r=Math.sqrt(i*i+n*n),s=Math.acos(n/r);0>i&&(s=2*Math.PI-s);var a=s+Math.PI/2;a>2*Math.PI&&(a-=2*Math.PI);var l=Math.sin(a),u=Math.cos(a),c=this.getBubbleSize();a=(c.width+c.height)/Blockly.Bubble.ARROW_THICKNESS,a=Math.min(a,c.width,c.height)/4,n=t+(c=1-Blockly.Bubble.ANCHOR_RADIUS/r)*n,i=o+c*i,c=t+a*u;var h=o+a*l;t-=a*u,o-=a*l,(l=s+this.arrow_radians_)>2*Math.PI&&(l-=2*Math.PI),s=Math.sin(l)*r/Blockly.Bubble.ARROW_BEND,r=Math.cos(l)*r/Blockly.Bubble.ARROW_BEND,e.push("M"+c+","+h),e.push("C"+(c+r)+","+(h+s)+" "+n+","+i+" "+n+","+i),e.push("C"+n+","+i+" "+(t+r)+","+(o+s)+" "+t+","+o)}e.push("z"),this.bubbleArrow_.setAttribute("d",e.join(" "))},Blockly.Bubble.prototype.setColour=function(e){this.bubbleBack_.setAttribute("fill",e),this.bubbleArrow_.setAttribute("fill",e)},Blockly.Bubble.prototype.dispose=function(){Blockly.Bubble.unbindDragEvents_(),Blockly.utils.dom.removeNode(this.bubbleGroup_),this.shape_=this.content_=this.workspace_=this.resizeGroup_=this.bubbleBack_=this.bubbleArrow_=this.bubbleGroup_=null},Blockly.Bubble.prototype.moveDuringDrag=function(e,t){e?e.translateSurface(t.x,t.y):this.moveTo(t.x,t.y),this.relativeLeft_=this.workspace_.RTL?this.anchorXY_.x-t.x-this.width_:t.x-this.anchorXY_.x,this.relativeTop_=t.y-this.anchorXY_.y,this.renderArrow_()},Blockly.Bubble.prototype.getRelativeToSurfaceXY=function(){return new Blockly.utils.Coordinate(this.anchorXY_.x+this.relativeLeft_,this.anchorXY_.y+this.relativeTop_)},Blockly.Bubble.prototype.setAutoLayout=function(e){this.autoLayout_=e},Blockly.Events.Ui=function(e,t,o,n){Blockly.Events.Ui.superClass_.constructor.call(this),this.blockId=e?e.id:null,this.workspaceId=e?e.workspace.id:null,this.element=t,this.oldValue=o,this.newValue=n,this.recordUndo=!1},goog.inherits(Blockly.Events.Ui,Blockly.Events.Abstract),Blockly.Events.Ui.prototype.type=Blockly.Events.UI,Blockly.Events.Ui.prototype.toJson=function(){var e=Blockly.Events.Ui.superClass_.toJson.call(this);return e.element=this.element,void 0!==this.newValue&&(e.newValue=this.newValue),this.blockId&&(e.blockId=this.blockId),e},Blockly.Events.Ui.prototype.fromJson=function(e){Blockly.Events.Ui.superClass_.fromJson.call(this,e),this.element=e.element,this.newValue=e.newValue,this.blockId=e.blockId},Blockly.Icon=function(e){this.block_=e},Blockly.Icon.prototype.collapseHidden=!0,Blockly.Icon.prototype.SIZE=17,Blockly.Icon.prototype.bubble_=null,Blockly.Icon.prototype.iconXY_=null,Blockly.Icon.prototype.createIcon=function(){this.iconGroup_||(this.iconGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyIconGroup"},null),this.block_.isInFlyout&&Blockly.utils.dom.addClass(this.iconGroup_,"blocklyIconGroupReadonly"),this.drawIcon_(this.iconGroup_),this.block_.getSvgRoot().appendChild(this.iconGroup_),Blockly.bindEventWithChecks_(this.iconGroup_,"mouseup",this,this.iconClick_),this.updateEditable())},Blockly.Icon.prototype.dispose=function(){Blockly.utils.dom.removeNode(this.iconGroup_),this.iconGroup_=null,this.setVisible(!1),this.block_=null},Blockly.Icon.prototype.updateEditable=function(){},Blockly.Icon.prototype.isVisible=function(){return!!this.bubble_},Blockly.Icon.prototype.iconClick_=function(e){this.block_.workspace.isDragging()||this.block_.isInFlyout||Blockly.utils.isRightButton(e)||this.setVisible(!this.isVisible())},Blockly.Icon.prototype.updateColour=function(){this.isVisible()&&this.bubble_.setColour(this.block_.getColour())},Blockly.Icon.prototype.renderIcon=function(e){if(this.collapseHidden&&this.block_.isCollapsed()||this.block_.isInsertionMarker())return this.iconGroup_.setAttribute("display","none"),e;this.iconGroup_.setAttribute("display","block");var t=this.SIZE;return this.block_.RTL&&(e-=t),this.iconGroup_.setAttribute("transform","translate("+e+",5)"),this.computeIconLocation(),this.block_.RTL?e-Blockly.BlockSvg.SEP_SPACE_X:e+(t+Blockly.BlockSvg.SEP_SPACE_X)},Blockly.Icon.prototype.setIconLocation=function(e){this.iconXY_=e,this.isVisible()&&this.bubble_.setAnchorLocation(e)},Blockly.Icon.prototype.computeIconLocation=function(){var e=this.block_.getRelativeToSurfaceXY(),t=Blockly.utils.getRelativeXY(this.iconGroup_);e=new Blockly.utils.Coordinate(e.x+t.x+this.SIZE/2,e.y+t.y+this.SIZE/2),Blockly.utils.Coordinate.equals(this.getIconLocation(),e)||this.setIconLocation(e)},Blockly.Icon.prototype.getIconLocation=function(){return this.iconXY_},Blockly.Comment=function(e){Blockly.Comment.superClass_.constructor.call(this,e),this.createIcon()},goog.inherits(Blockly.Comment,Blockly.Icon),Blockly.Comment.prototype.text_="",Blockly.Comment.prototype.width_=160,Blockly.Comment.prototype.height_=80,Blockly.Comment.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("circle",{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},e),Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},e)},Blockly.Comment.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.dom.createSvgElement("foreignObject",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);var e=document.createElementNS(Blockly.utils.dom.HTML_NS,"body");e.setAttribute("xmlns",Blockly.utils.dom.HTML_NS),e.className="blocklyMinimalBody";var t=document.createElementNS(Blockly.utils.dom.HTML_NS,"textarea");return t.className="blocklyCommentTextarea",t.setAttribute("dir",this.block_.RTL?"RTL":"LTR"),e.appendChild(t),this.textarea_=t,this.foreignObject_.appendChild(e),Blockly.bindEventWithChecks_(t,"mouseup",this,this.textareaFocus_,!0,!0),Blockly.bindEventWithChecks_(t,"wheel",this,(function(e){e.stopPropagation()})),Blockly.bindEventWithChecks_(t,"change",this,(function(e){this.text_!=t.value&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,t.value)),this.text_=t.value)})),setTimeout((function(){t.focus()}),0),this.foreignObject_},Blockly.Comment.prototype.updateEditable=function(){this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)),Blockly.Icon.prototype.updateEditable.call(this)},Blockly.Comment.prototype.resizeBubble_=function(){if(this.isVisible()){var e=this.bubble_.getBubbleSize(),t=2*Blockly.Bubble.BORDER_WIDTH;this.foreignObject_.setAttribute("width",e.width-t),this.foreignObject_.setAttribute("height",e.height-t),this.textarea_.style.width=e.width-t-4+"px",this.textarea_.style.height=e.height-t-4+"px"}},Blockly.Comment.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"commentOpen",!e,e)),!this.block_.isEditable()&&!this.textarea_||Blockly.utils.userAgent.IE)Blockly.Warning.prototype.setVisible.call(this,e);else{var t=this.getText(),o=this.getBubbleSize();e?(this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,this.width_,this.height_),this.bubble_.setSvgId(this.block_.id),this.bubble_.registerResizeEvent(this.resizeBubble_.bind(this)),this.updateColour()):(this.bubble_.dispose(),this.foreignObject_=this.textarea_=this.bubble_=null),this.setText(t),this.setBubbleSize(o.width,o.height)}},Blockly.Comment.prototype.textareaFocus_=function(e){this.bubble_.promote_()&&this.textarea_.focus()},Blockly.Comment.prototype.getBubbleSize=function(){return this.isVisible()?this.bubble_.getBubbleSize():{width:this.width_,height:this.height_}},Blockly.Comment.prototype.setBubbleSize=function(e,t){this.textarea_?this.bubble_.setBubbleSize(e,t):(this.width_=e,this.height_=t)},Blockly.Comment.prototype.getText=function(){return this.textarea_?this.textarea_.value:this.text_},Blockly.Comment.prototype.setText=function(e){this.text_!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,e)),this.text_=e),this.textarea_&&(this.textarea_.value=e)},Blockly.Comment.prototype.dispose=function(){Blockly.Events.isEnabled()&&this.setText(""),this.block_.comment=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Connection=function(e,t){this.sourceBlock_=e,this.type=t,e.workspace.connectionDBList&&(this.db_=e.workspace.connectionDBList[t],this.dbOpposite_=e.workspace.connectionDBList[Blockly.OPPOSITE_TYPE[t]],this.hidden_=!this.db_)},Blockly.Connection.CAN_CONNECT=0,Blockly.Connection.REASON_SELF_CONNECTION=1,Blockly.Connection.REASON_WRONG_TYPE=2,Blockly.Connection.REASON_TARGET_NULL=3,Blockly.Connection.REASON_CHECKS_FAILED=4,Blockly.Connection.REASON_DIFFERENT_WORKSPACES=5,Blockly.Connection.REASON_SHADOW_PARENT=6,Blockly.Connection.prototype.targetConnection=null,Blockly.Connection.prototype.check_=null,Blockly.Connection.prototype.shadowDom_=null,Blockly.Connection.prototype.x_=0,Blockly.Connection.prototype.y_=0,Blockly.Connection.prototype.inDB_=!1,Blockly.Connection.prototype.db_=null,Blockly.Connection.prototype.dbOpposite_=null,Blockly.Connection.prototype.hidden_=null,Blockly.Connection.prototype.connect_=function(e){var t,o=this,n=o.getSourceBlock(),i=e.getSourceBlock();if(e.isConnected()&&e.disconnect(),o.isConnected()){var r=o.targetBlock(),s=o.getShadowDom();if(o.setShadowDom(null),r.isShadow())s=Blockly.Xml.blockToDom(r),r.dispose(),r=null;else if(o.type==Blockly.INPUT_VALUE){if(!r.outputConnection)throw Error("Orphan block does not have an output connection.");var a=Blockly.Connection.lastConnectionInRow_(i,r);a&&(r.outputConnection.connect(a),r=null)}else if(o.type==Blockly.NEXT_STATEMENT){if(!r.previousConnection)throw Error("Orphan block does not have a previous connection.");for(a=i;a.nextConnection;){var l=a.getNextBlock();if(!l||l.isShadow()){r.previousConnection.checkType_(a.nextConnection)&&(a.nextConnection.connect(r.previousConnection),r=null);break}a=l}}if(r&&(o.disconnect(),Blockly.Events.recordUndo)){var u=Blockly.Events.getGroup();setTimeout((function(){r.workspace&&!r.getParent()&&(Blockly.Events.setGroup(u),r.outputConnection?r.outputConnection.bumpAwayFrom_(o):r.previousConnection&&r.previousConnection.bumpAwayFrom_(o),Blockly.Events.setGroup(!1))}),Blockly.BUMP_DELAY)}o.setShadowDom(s)}Blockly.Events.isEnabled()&&(t=new Blockly.Events.BlockMove(i)),Blockly.Connection.connectReciprocally_(o,e),i.setParent(n),t&&(t.recordNew(),Blockly.Events.fire(t))},Blockly.Connection.prototype.dispose=function(){if(this.isConnected())throw Error("Disconnect connection before disposing of it.");this.inDB_&&this.db_.removeConnection_(this)},Blockly.Connection.prototype.getSourceBlock=function(){return this.sourceBlock_},Blockly.Connection.prototype.isSuperior=function(){return this.type==Blockly.INPUT_VALUE||this.type==Blockly.NEXT_STATEMENT},Blockly.Connection.prototype.isConnected=function(){return!!this.targetConnection},Blockly.Connection.prototype.canConnectWithReason_=function(e){if(!e)return Blockly.Connection.REASON_TARGET_NULL;if(this.isSuperior())var t=this.sourceBlock_,o=e.getSourceBlock();else o=this.sourceBlock_,t=e.getSourceBlock();return t&&t==o?Blockly.Connection.REASON_SELF_CONNECTION:e.type!=Blockly.OPPOSITE_TYPE[this.type]?Blockly.Connection.REASON_WRONG_TYPE:t&&o&&t.workspace!==o.workspace?Blockly.Connection.REASON_DIFFERENT_WORKSPACES:this.checkType_(e)?t.isShadow()&&!o.isShadow()?Blockly.Connection.REASON_SHADOW_PARENT:Blockly.Connection.CAN_CONNECT:Blockly.Connection.REASON_CHECKS_FAILED},Blockly.Connection.prototype.checkConnection_=function(e){switch(this.canConnectWithReason_(e)){case Blockly.Connection.CAN_CONNECT:break;case Blockly.Connection.REASON_SELF_CONNECTION:throw Error("Attempted to connect a block to itself.");case Blockly.Connection.REASON_DIFFERENT_WORKSPACES:throw Error("Blocks not on same workspace.");case Blockly.Connection.REASON_WRONG_TYPE:throw Error("Attempt to connect incompatible types.");case Blockly.Connection.REASON_TARGET_NULL:throw Error("Target connection is null.");case Blockly.Connection.REASON_CHECKS_FAILED:throw Error("Connection checks failed. "+this+" expected "+this.check_+", found "+e.check_);case Blockly.Connection.REASON_SHADOW_PARENT:throw Error("Connecting non-shadow to shadow block.");default:throw Error("Unknown connection failure: this should never happen!")}},Blockly.Connection.prototype.canConnectToPrevious_=function(e){return!this.targetConnection&&-1==Blockly.draggingConnections_.indexOf(e)&&(!e.targetConnection||!!(e=e.targetBlock()).isInsertionMarker()&&!e.getPreviousBlock())},Blockly.Connection.prototype.isConnectionAllowed=function(e){if(e.sourceBlock_.isInsertionMarker()||this.canConnectWithReason_(e)!=Blockly.Connection.CAN_CONNECT)return!1;switch(e.type){case Blockly.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e);case Blockly.OUTPUT_VALUE:if(e.isConnected()&&!e.targetBlock().isInsertionMarker()||this.isConnected())return!1;break;case Blockly.INPUT_VALUE:if(e.isConnected()&&!e.targetBlock().isMovable()&&!e.targetBlock().isShadow())return!1;break;case Blockly.NEXT_STATEMENT:if(e.isConnected()&&!this.sourceBlock_.nextConnection&&!e.targetBlock().isShadow()&&e.targetBlock().nextConnection)return!1;break;default:throw Error("Unknown connection type in isConnectionAllowed")}return-1==Blockly.draggingConnections_.indexOf(e)},Blockly.Connection.prototype.connect=function(e){if(this.targetConnection!=e){this.checkConnection_(e);var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0),this.isSuperior()?this.connect_(e):e.connect_(this),t||Blockly.Events.setGroup(!1)}},Blockly.Connection.connectReciprocally_=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},Blockly.Connection.singleConnection_=function(e,t){for(var o=!1,n=0;n<e.inputList.length;n++){var i=e.inputList[n].connection;if(i&&i.type==Blockly.INPUT_VALUE&&t.outputConnection.checkType_(i)){if(o)return null;o=i}}return o},Blockly.Connection.lastConnectionInRow_=function(e,t){for(var o,n=e;o=Blockly.Connection.singleConnection_(n,t);)if(!(n=o.targetBlock())||n.isShadow())return o;return null},Blockly.Connection.prototype.disconnect=function(){var e=this.targetConnection;if(!e)throw Error("Source connection not connected.");if(e.targetConnection!=this)throw Error("Target connection not connected to source connection.");if(this.isSuperior()){var t=this.sourceBlock_,o=e.getSourceBlock();e=this}else t=e.getSourceBlock(),o=this.sourceBlock_;var n=Blockly.Events.getGroup();n||Blockly.Events.setGroup(!0),this.disconnectInternal_(t,o),e.respawnShadow_(),n||Blockly.Events.setGroup(!1)},Blockly.Connection.prototype.disconnectInternal_=function(e,t){var o;Blockly.Events.isEnabled()&&(o=new Blockly.Events.BlockMove(t)),this.targetConnection=this.targetConnection.targetConnection=null,t.setParent(null),o&&(o.recordNew(),Blockly.Events.fire(o))},Blockly.Connection.prototype.respawnShadow_=function(){var e=this.getSourceBlock(),t=this.getShadowDom();if(e.workspace&&t&&Blockly.Events.recordUndo)if((e=Blockly.Xml.domToBlock(t,e.workspace)).outputConnection)this.connect(e.outputConnection);else{if(!e.previousConnection)throw Error("Child block does not have output or previous statement.");this.connect(e.previousConnection)}},Blockly.Connection.prototype.targetBlock=function(){return this.isConnected()?this.targetConnection.getSourceBlock():null},Blockly.Connection.prototype.checkType_=function(e){if(!this.check_||!e.check_)return!0;for(var t=0;t<this.check_.length;t++)if(-1!=e.check_.indexOf(this.check_[t]))return!0;return!1},Blockly.Connection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&(this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug()},Blockly.Connection.prototype.setCheck=function(e){return e?(Array.isArray(e)||(e=[e]),this.check_=e,this.onCheckChanged_()):this.check_=null,this},Blockly.Connection.prototype.getCheck=function(){return this.check_},Blockly.Connection.prototype.setShadowDom=function(e){this.shadowDom_=e},Blockly.Connection.prototype.getShadowDom=function(){return this.shadowDom_},Blockly.Connection.prototype.neighbours_=function(e){return[]},Blockly.Connection.prototype.toString=function(){var e=this.sourceBlock_;if(!e)return"Orphan Connection";if(e.outputConnection==this)var t="Output Connection of ";else if(e.previousConnection==this)t="Previous Connection of ";else if(e.nextConnection==this)t="Next Connection of ";else{t=null;for(var o,n=0;o=e.inputList[n];n++)if(o.connection==this){t=o;break}if(!t)return console.warn("Connection not actually connected to sourceBlock_"),"Orphan Connection";t='Input "'+t.name+'" connection on '}return t+e.toDevString()},Blockly.ConnectionDB=function(){this.connections_=[]},Blockly.ConnectionDB.prototype.addConnection=function(e){if(e.inDB_)throw Error("Connection already in database.");if(!e.getSourceBlock().isInFlyout){var t=this.findPositionForConnection_(e);this.connections_.splice(t,0,e),e.inDB_=!0}},Blockly.ConnectionDB.prototype.findConnection=function(e){if(!this.connections_.length)return-1;var t=this.findPositionForConnection_(e);if(t>=this.connections_.length)return-1;for(var o=e.y_,n=t;0<=n&&this.connections_[n].y_==o;){if(this.connections_[n]==e)return n;n--}for(;t<this.connections_.length&&this.connections_[t].y_==o;){if(this.connections_[t]==e)return t;t++}return-1},Blockly.ConnectionDB.prototype.findPositionForConnection_=function(e){if(!this.connections_.length)return 0;for(var t=0,o=this.connections_.length;t<o;){var n=Math.floor((t+o)/2);if(this.connections_[n].y_<e.y_)t=n+1;else{if(!(this.connections_[n].y_>e.y_)){t=n;break}o=n}}return t},Blockly.ConnectionDB.prototype.removeConnection_=function(e){if(!e.inDB_)throw Error("Connection not in database.");var t=this.findConnection(e);if(-1==t)throw Error("Unable to find connection in connectionDB.");e.inDB_=!1,this.connections_.splice(t,1)},Blockly.ConnectionDB.prototype.getNeighbours=function(e,t){function o(e){var o=i-n[e].x_,s=r-n[e].y_;return Math.sqrt(o*o+s*s)<=t&&u.push(n[e]),s<t}for(var n=this.connections_,i=e.x_,r=e.y_,s=0,a=n.length-2,l=a;s<l;)n[l].y_<r?s=l:a=l,l=Math.floor((s+a)/2);var u=[];if(a=s=l,n.length){for(;0<=s&&o(s);)s--;do{a++}while(a<n.length&&o(a))}return u},Blockly.ConnectionDB.prototype.isInYRange_=function(e,t,o){return Math.abs(this.connections_[e].y_-t)<=o},Blockly.ConnectionDB.prototype.searchForClosest=function(e,t,o){if(!this.connections_.length)return{connection:null,radius:t};var n=e.y_,i=e.x_;e.x_=i+o.x,e.y_=n+o.y;var r=this.findPositionForConnection_(e);o=null;for(var s,a=t,l=r-1;0<=l&&this.isInYRange_(l,e.y_,t);)s=this.connections_[l],e.isConnectionAllowed(s,a)&&(o=s,a=s.distanceFrom(e)),l--;for(;r<this.connections_.length&&this.isInYRange_(r,e.y_,t);)s=this.connections_[r],e.isConnectionAllowed(s,a)&&(o=s,a=s.distanceFrom(e)),r++;return e.x_=i,e.y_=n,{connection:o,radius:a}},Blockly.ConnectionDB.init=function(){var e=[];return e[Blockly.INPUT_VALUE]=new Blockly.ConnectionDB,e[Blockly.OUTPUT_VALUE]=new Blockly.ConnectionDB,e[Blockly.NEXT_STATEMENT]=new Blockly.ConnectionDB,e[Blockly.PREVIOUS_STATEMENT]=new Blockly.ConnectionDB,e},Blockly.constants={},Blockly.LINE_MODE_MULTIPLIER=40,Blockly.PAGE_MODE_MULTIPLIER=125,Blockly.DRAG_RADIUS=5,Blockly.FLYOUT_DRAG_RADIUS=10,Blockly.SNAP_RADIUS=28,Blockly.CONNECTING_SNAP_RADIUS=Blockly.SNAP_RADIUS,Blockly.CURRENT_CONNECTION_PREFERENCE=8,Blockly.INSERTION_MARKER_COLOUR="#000000",Blockly.BUMP_DELAY=250,Blockly.BUMP_RANDOMNESS=10,Blockly.COLLAPSE_CHARS=30,Blockly.LONGPRESS=750,Blockly.SOUND_LIMIT=100,Blockly.DRAG_STACK=!0,Blockly.HSV_SATURATION=.45,Blockly.HSV_VALUE=.65,Blockly.SPRITE={width:96,height:124,url:"sprites.png"},Blockly.INPUT_VALUE=1,Blockly.OUTPUT_VALUE=2,Blockly.NEXT_STATEMENT=3,Blockly.PREVIOUS_STATEMENT=4,Blockly.DUMMY_INPUT=5,Blockly.ALIGN_LEFT=-1,Blockly.ALIGN_CENTRE=0,Blockly.ALIGN_RIGHT=1,Blockly.DRAG_NONE=0,Blockly.DRAG_STICKY=1,Blockly.DRAG_BEGIN=1,Blockly.DRAG_FREE=2,Blockly.OPPOSITE_TYPE=[],Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT,Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT,Blockly.TOOLBOX_AT_TOP=0,Blockly.TOOLBOX_AT_BOTTOM=1,Blockly.TOOLBOX_AT_LEFT=2,Blockly.TOOLBOX_AT_RIGHT=3,Blockly.DELETE_AREA_NONE=null,Blockly.DELETE_AREA_TRASH=1,Blockly.DELETE_AREA_TOOLBOX=2,Blockly.VARIABLE_CATEGORY_NAME="VARIABLE",Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC",Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE",Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID",Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID",Blockly.blockAnimations={},Blockly.blockAnimations.disconnectPid_=0,Blockly.blockAnimations.disconnectGroup_=null,Blockly.blockAnimations.disposeUiEffect=function(e){var t=e.workspace,o=e.getSvgRoot();t.getAudioManager().play("delete"),e=t.getSvgXY(o),(o=o.cloneNode(!0)).translateX_=e.x,o.translateY_=e.y,o.setAttribute("transform","translate("+e.x+","+e.y+")"),t.getParentSvg().appendChild(o),o.bBox_=o.getBBox(),Blockly.blockAnimations.disposeUiStep_(o,t.RTL,new Date,t.scale)},Blockly.blockAnimations.disposeUiStep_=function(e,t,o,n){var i=(new Date-o)/150;1<i?Blockly.utils.dom.removeNode(e):(e.setAttribute("transform","translate("+(e.translateX_+(t?-1:1)*e.bBox_.width*n/2*i)+","+(e.translateY_+e.bBox_.height*n*i)+") scale("+(1-i)*n+")"),setTimeout(Blockly.blockAnimations.disposeUiStep_,10,e,t,o,n))},Blockly.blockAnimations.connectionUiEffect=function(e){var t=e.workspace,o=t.scale;if(t.getAudioManager().play("click"),!(1>o)){var n=t.getSvgXY(e.getSvgRoot());e.outputConnection?(n.x+=(e.RTL?3:-3)*o,n.y+=13*o):e.previousConnection&&(n.x+=(e.RTL?-23:23)*o,n.y+=3*o),e=Blockly.utils.dom.createSvgElement("circle",{cx:n.x,cy:n.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg()),Blockly.blockAnimations.connectionUiStep_(e,new Date,o)}},Blockly.blockAnimations.connectionUiStep_=function(e,t,o){var n=(new Date-t)/150;1<n?Blockly.utils.dom.removeNode(e):(e.setAttribute("r",25*n*o),e.style.opacity=1-n,Blockly.blockAnimations.disconnectPid_=setTimeout(Blockly.blockAnimations.connectionUiStep_,10,e,t,o))},Blockly.blockAnimations.disconnectUiEffect=function(e){if(e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),Blockly.blockAnimations.disconnectUiStep_(e.getSvgRoot(),t,new Date)}},Blockly.blockAnimations.disconnectUiStep_=function(e,t,o){var n=(new Date-o)/200;1<n?e.skew_="":(e.skew_="skewX("+Math.round(Math.sin(n*Math.PI*3)*(1-n)*t)+")",Blockly.blockAnimations.disconnectGroup_=e,Blockly.blockAnimations.disconnectPid_=setTimeout(Blockly.blockAnimations.disconnectUiStep_,10,e,t,o)),e.setAttribute("transform",e.translate_+e.skew_)},Blockly.blockAnimations.disconnectUiStop=function(){if(Blockly.blockAnimations.disconnectGroup_){clearTimeout(Blockly.blockAnimations.disconnectPid_);var e=Blockly.blockAnimations.disconnectGroup_;e.skew_="",e.setAttribute("transform",e.translate_),Blockly.blockAnimations.disconnectGroup_=null}},Blockly.RenderedConnection=function(e,t){Blockly.RenderedConnection.superClass_.constructor.call(this,e,t),this.offsetInBlock_=new Blockly.utils.Coordinate(0,0)},goog.inherits(Blockly.RenderedConnection,Blockly.Connection),Blockly.RenderedConnection.prototype.distanceFrom=function(e){var t=this.x_-e.x_;return e=this.y_-e.y_,Math.sqrt(t*t+e*e)},Blockly.RenderedConnection.prototype.bumpAwayFrom_=function(e){if(!this.sourceBlock_.workspace.isDragging()){var t=this.sourceBlock_.getRootBlock();if(!t.isInFlyout){var o=!1;if(!t.isMovable()){if(!(t=e.getSourceBlock().getRootBlock()).isMovable())return;e=this,o=!0}var n=Blockly.selected==t;n||t.addSelect();var i=e.x_+Blockly.SNAP_RADIUS+Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.x_,r=e.y_+Blockly.SNAP_RADIUS+Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.y_;o&&(r=-r),t.RTL&&(i=e.x_-Blockly.SNAP_RADIUS-Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.x_),t.moveBy(i,r),n||t.removeSelect()}}},Blockly.RenderedConnection.prototype.moveTo=function(e,t){this.inDB_&&this.db_.removeConnection_(this),this.x_=e,this.y_=t,this.hidden_||this.db_.addConnection(this)},Blockly.RenderedConnection.prototype.moveBy=function(e,t){this.moveTo(this.x_+e,this.y_+t)},Blockly.RenderedConnection.prototype.moveToOffset=function(e){this.moveTo(e.x+this.offsetInBlock_.x,e.y+this.offsetInBlock_.y)},Blockly.RenderedConnection.prototype.setOffsetInBlock=function(e,t){this.offsetInBlock_.x=e,this.offsetInBlock_.y=t},Blockly.RenderedConnection.prototype.tighten_=function(){var e=this.targetConnection.x_-this.x_,t=this.targetConnection.y_-this.y_;if(0!=e||0!=t){var o=this.targetBlock(),n=o.getSvgRoot();if(!n)throw Error("block is not rendered.");n=Blockly.utils.getRelativeXY(n),o.getSvgRoot().setAttribute("transform","translate("+(n.x-e)+","+(n.y-t)+")"),o.moveConnections_(-e,-t)}},Blockly.RenderedConnection.prototype.closest=function(e,t){return this.dbOpposite_.searchForClosest(this,e,t)},Blockly.RenderedConnection.prototype.highlight=function(){var e=this.type==Blockly.INPUT_VALUE||this.type==Blockly.OUTPUT_VALUE?"m 0,0 "+Blockly.BlockSvg.TAB_PATH_DOWN+" v 5":"m -20,0 h 5 "+Blockly.BlockSvg.NOTCH_PATH_LEFT+" h 5",t=this.sourceBlock_.getRelativeToSurfaceXY();Blockly.Connection.highlightedPath_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyHighlightedConnectionPath",d:e,transform:"translate("+(this.x_-t.x)+","+(this.y_-t.y)+")"+(this.sourceBlock_.RTL?" scale(-1 1)":"")},this.sourceBlock_.getSvgRoot())},Blockly.RenderedConnection.prototype.unhideAll=function(){this.setHidden(!1);var e=[];if(this.type!=Blockly.INPUT_VALUE&&this.type!=Blockly.NEXT_STATEMENT)return e;var t=this.targetBlock();if(t){if(t.isCollapsed()){var o=[];t.outputConnection&&o.push(t.outputConnection),t.nextConnection&&o.push(t.nextConnection),t.previousConnection&&o.push(t.previousConnection)}else o=t.getConnections_(!0);for(var n=0;n<o.length;n++)e.push.apply(e,o[n].unhideAll());e.length||(e[0]=t)}return e},Blockly.RenderedConnection.prototype.unhighlight=function(){Blockly.utils.dom.removeNode(Blockly.Connection.highlightedPath_),delete Blockly.Connection.highlightedPath_},Blockly.RenderedConnection.prototype.setHidden=function(e){(this.hidden_=e)&&this.inDB_?this.db_.removeConnection_(this):e||this.inDB_||this.db_.addConnection(this)},Blockly.RenderedConnection.prototype.hideAll=function(){if(this.setHidden(!0),this.targetConnection)for(var e=this.targetBlock().getDescendants(!1),t=0;t<e.length;t++){for(var o=e[t],n=o.getConnections_(!0),i=0;i<n.length;i++)n[i].setHidden(!0);for(o=o.getIcons(),i=0;i<o.length;i++)o[i].setVisible(!1)}},Blockly.RenderedConnection.prototype.isConnectionAllowed=function(e,t){return!(this.distanceFrom(e)>t)&&Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,e)},Blockly.RenderedConnection.prototype.disconnectInternal_=function(e,t){Blockly.RenderedConnection.superClass_.disconnectInternal_.call(this,e,t),e.rendered&&e.render(),t.rendered&&(t.updateDisabled(),t.render())},Blockly.RenderedConnection.prototype.respawnShadow_=function(){var e=this.getSourceBlock(),t=this.getShadowDom();if(e.workspace&&t&&Blockly.Events.recordUndo){if(Blockly.RenderedConnection.superClass_.respawnShadow_.call(this),!(t=this.targetBlock()))throw Error("Couldn't respawn the shadow block that should exist here.");t.initSvg(),t.render(!1),e.rendered&&e.render()}},Blockly.RenderedConnection.prototype.neighbours_=function(e){return this.dbOpposite_.getNeighbours(this,e)},Blockly.RenderedConnection.prototype.connect_=function(e){Blockly.RenderedConnection.superClass_.connect_.call(this,e);var t=this.getSourceBlock();e=e.getSourceBlock(),t.rendered&&t.updateDisabled(),e.rendered&&e.updateDisabled(),t.rendered&&e.rendered&&(this.type==Blockly.NEXT_STATEMENT||this.type==Blockly.PREVIOUS_STATEMENT?e.render():t.render())},Blockly.RenderedConnection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours_())},Blockly.InsertionMarkerManager=function(e){this.topBlock_=Blockly.selected=e,this.workspace_=e.workspace,this.lastMarker_=this.lastOnStack_=null,this.firstMarker_=this.createMarkerBlock_(this.topBlock_),this.localConnection_=this.closestConnection_=null,this.wouldDeleteBlock_=!1,this.markerConnection_=null,this.highlightingBlock_=!1,this.highlightedBlock_=null,this.availableConnections_=this.initAvailableConnections_()},Blockly.InsertionMarkerManager.prototype.dispose=function(){this.workspace_=this.topBlock_=null,this.availableConnections_.length=0,this.localConnection_=this.closestConnection_=null,Blockly.Events.disable();try{this.firstMarker_&&(this.firstMarker_.dispose(),this.firstMarker_=null),this.lastMarker_&&(this.lastMarker_.dispose(),this.lastMarker_=null)}finally{Blockly.Events.enable()}this.highlightedBlock_=null},Blockly.InsertionMarkerManager.prototype.wouldDeleteBlock=function(){return this.wouldDeleteBlock_},Blockly.InsertionMarkerManager.prototype.wouldConnectBlock=function(){return!!this.closestConnection_},Blockly.InsertionMarkerManager.prototype.applyConnections=function(){if(this.closestConnection_&&(Blockly.Events.disable(),this.hidePreview_(),Blockly.Events.enable(),this.localConnection_.connect(this.closestConnection_),this.topBlock_.rendered)){var e=this.localConnection_.isSuperior()?this.closestConnection_:this.localConnection_;Blockly.blockAnimations.connectionUiEffect(e.getSourceBlock()),this.topBlock_.getRootBlock().bringToFront()}},Blockly.InsertionMarkerManager.prototype.update=function(e,t){var o=this.getCandidate_(e);((this.wouldDeleteBlock_=this.shouldDelete_(o,t))||this.shouldUpdatePreviews_(o,e))&&(Blockly.Events.disable(),this.maybeHidePreview_(o),this.maybeShowPreview_(o),Blockly.Events.enable())},Blockly.InsertionMarkerManager.prototype.createMarkerBlock_=function(e){var t=e.type;Blockly.Events.disable();try{var o=this.workspace_.newBlock(t);if(o.setInsertionMarker(!0,e.width),o.setCollapsed(e.isCollapsed()),e.mutationToDom){var n=e.mutationToDom();n&&o.domToMutation(n)}for(t=0;t<e.inputList.length;t++){var i=e.inputList[t];for(n=0;n<i.fieldRow.length;n++){var r=i.fieldRow[n];o.setFieldValue(r.getValue(),r.name)}}o.initSvg(),o.getSvgRoot().setAttribute("visibility","hidden")}finally{Blockly.Events.enable()}return o},Blockly.InsertionMarkerManager.prototype.initAvailableConnections_=function(){var e=this.topBlock_.getConnections_(!1),t=this.topBlock_.lastConnectionInStack();return t&&t!=this.topBlock_.nextConnection&&(e.push(t),this.lastOnStack_=t,this.lastMarker_=this.createMarkerBlock_(t.sourceBlock_)),e},Blockly.InsertionMarkerManager.prototype.shouldUpdatePreviews_=function(e,t){var o=e.local,n=e.closest,i=e.radius;if(!o||!n)return!(!this.localConnection_||!this.closestConnection_);if(this.localConnection_&&this.closestConnection_){if(this.closestConnection_==n&&this.localConnection_==o)return!1;o=this.localConnection_.x_+t.x-this.closestConnection_.x_;var r=this.localConnection_.y_+t.y-this.closestConnection_.y_;return o=Math.sqrt(o*o+r*r),!(n&&i>o-Blockly.CURRENT_CONNECTION_PREFERENCE)}return!this.localConnection_&&!this.closestConnection_||(console.error("Only one of localConnection_ and closestConnection_ was set."),console.error("Returning true from shouldUpdatePreviews, but it's not clear why."),!0)},Blockly.InsertionMarkerManager.prototype.getCandidate_=function(e){for(var t=this.getStartRadius_(),o=null,n=null,i=0;i<this.availableConnections_.length;i++){var r=this.availableConnections_[i],s=r.closest(t,e);s.connection&&(o=s.connection,n=r,t=s.radius)}return{closest:o,local:n,radius:t}},Blockly.InsertionMarkerManager.prototype.getStartRadius_=function(){return this.closestConnection_&&this.localConnection_?Blockly.CONNECTING_SNAP_RADIUS:Blockly.SNAP_RADIUS},Blockly.InsertionMarkerManager.prototype.shouldReplace_=function(){var e=this.closestConnection_,t=this.localConnection_;return t.type==Blockly.OUTPUT_VALUE?!(!e.isConnected()||Blockly.Connection.lastConnectionInRow_(this.topBlock_,e.targetConnection.getSourceBlock())):t!=t.sourceBlock_.getFirstStatementConnection()&&!(this.topBlock_.nextConnection||t.type!=Blockly.PREVIOUS_STATEMENT||!e.isConnected())},Blockly.InsertionMarkerManager.prototype.shouldDelete_=function(e,t){var o=e&&!!e.closest&&t!=Blockly.DELETE_AREA_TOOLBOX;return!!t&&!this.topBlock_.getParent()&&this.topBlock_.isDeletable()&&!o},Blockly.InsertionMarkerManager.prototype.maybeShowPreview_=function(e){if(!this.wouldDeleteBlock_){var t=e.closest;e=e.local,t&&(t==this.closestConnection_||t.sourceBlock_.isInsertionMarker()?console.log("trying to connect to an insertion marker"):(this.closestConnection_=t,this.localConnection_=e,this.showPreview_()))}},Blockly.InsertionMarkerManager.prototype.showPreview_=function(){this.shouldReplace_()?this.highlightBlock_():this.connectMarker_(),this.closestConnection_&&this.closestConnection_.highlight()},Blockly.InsertionMarkerManager.prototype.maybeHidePreview_=function(e){if(e.closest){var t=this.closestConnection_!=e.closest;e=this.localConnection_!=e.local,this.closestConnection_&&this.localConnection_&&(t||e||this.wouldDeleteBlock_)&&this.hidePreview_()}else this.hidePreview_();this.localConnection_=this.closestConnection_=this.markerConnection_=null},Blockly.InsertionMarkerManager.prototype.hidePreview_=function(){this.closestConnection_&&this.closestConnection_.unhighlight(),this.highlightingBlock_?this.unhighlightBlock_():this.markerConnection_&&this.disconnectMarker_()},Blockly.InsertionMarkerManager.prototype.highlightBlock_=function(){var e=this.closestConnection_,t=this.localConnection_;e.targetBlock()?(this.highlightedBlock_=e.targetBlock(),e.targetBlock().highlightForReplacement(!0)):t.type==Blockly.OUTPUT_VALUE&&(this.highlightedBlock_=e.sourceBlock_,e.sourceBlock_.highlightShapeForInput(e,!0)),this.highlightingBlock_=!0},Blockly.InsertionMarkerManager.prototype.unhighlightBlock_=function(){var e=this.closestConnection_;e.type!=Blockly.INPUT_VALUE||e.isConnected()?this.highlightedBlock_.highlightForReplacement(!1):this.highlightedBlock_.highlightShapeForInput(e,!1),this.highlightedBlock_=null,this.highlightingBlock_=!1},Blockly.InsertionMarkerManager.prototype.disconnectMarker_=function(){if(this.markerConnection_){var e=this.markerConnection_,t=e.sourceBlock_,o=t.nextConnection,n=t.previousConnection,i=t.outputConnection;if(i=e.type==Blockly.INPUT_VALUE&&!(i&&i.targetConnection),!(e!=o||n&&n.targetConnection)||i?e.targetBlock().unplug(!1):e.type==Blockly.NEXT_STATEMENT&&e!=o?((o=e.targetConnection).sourceBlock_.unplug(!1),n=n?n.targetConnection:null,t.unplug(!0),n&&n.connect(o)):t.unplug(!0),e.targetConnection)throw Error("markerConnection_ still connected at the end of disconnectInsertionMarker");this.markerConnection_=null,t.getSvgRoot().setAttribute("visibility","hidden")}else console.log("No insertion marker connection to disconnect")},Blockly.InsertionMarkerManager.prototype.connectMarker_=function(){var e=this.localConnection_,t=this.closestConnection_,o=this.lastOnStack_&&e==this.lastOnStack_?this.lastMarker_:this.firstMarker_;if((e=o.getMatchingConnection(e.sourceBlock_,e))==this.markerConnection_)throw Error("Made it to connectMarker_ even though the marker isn't changing");o.render(),o.rendered=!0,o.getSvgRoot().setAttribute("visibility","visible"),o.positionNewBlock(o,e,t),e.connect(t),this.markerConnection_=e},Blockly.InsertionMarkerManager.prototype.getInsertionMarkers=function(){var e=[];return this.firstMarker_&&e.push(this.firstMarker_),this.lastMarker_&&e.push(this.lastMarker_),e},Blockly.BlockDragger=function(e,t){this.draggingBlock_=e,this.workspace_=t,this.draggedConnectionManager_=new Blockly.InsertionMarkerManager(this.draggingBlock_),this.deleteArea_=null,this.wouldDeleteBlock_=!1,this.startXY_=this.draggingBlock_.getRelativeToSurfaceXY(),this.dragIconData_=Blockly.BlockDragger.initIconData_(e)},Blockly.BlockDragger.prototype.dispose=function(){this.startWorkspace_=this.workspace_=this.draggingBlock_=null,this.dragIconData_.length=0,this.draggedConnectionManager_&&(this.draggedConnectionManager_.dispose(),this.draggedConnectionManager_=null)},Blockly.BlockDragger.initIconData_=function(e){var t=[];e=e.getDescendants(!1);for(var o,n=0;o=e[n];n++){o=o.getIcons();for(var i=0;i<o.length;i++){var r={location:o[i].getIconLocation(),icon:o[i]};t.push(r)}}return t},Blockly.BlockDragger.prototype.startBlockDrag=function(e,t){if(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.workspace_.isMutator&&this.draggingBlock_.bringToFront(),Blockly.Field.startCache(),this.workspace_.setResizesEnabled(!1),Blockly.blockAnimations.disconnectUiStop(),this.draggingBlock_.getParent()||t&&this.draggingBlock_.nextConnection&&this.draggingBlock_.nextConnection.targetBlock()){this.draggingBlock_.unplug(t);var o=this.pixelsToWorkspaceUnits_(e);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBlock_.translate(o.x,o.y),Blockly.blockAnimations.disconnectUiEffect(this.draggingBlock_)}if(this.draggingBlock_.setDragging(!0),this.draggingBlock_.moveToDragSurface_(),o=this.workspace_.getToolbox()){var n=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";o.addStyle(n)}},Blockly.BlockDragger.prototype.dragBlock=function(e,t){var o=this.pixelsToWorkspaceUnits_(t),n=Blockly.utils.Coordinate.sum(this.startXY_,o);this.draggingBlock_.moveDuringDrag(n),this.dragIcons_(o),this.deleteArea_=this.workspace_.isDeleteArea(e),this.draggedConnectionManager_.update(o,this.deleteArea_),this.updateCursorDuringBlockDrag_()},Blockly.BlockDragger.prototype.endBlockDrag=function(e,t){this.dragBlock(e,t),this.dragIconData_=[],Blockly.Field.stopCache(),Blockly.blockAnimations.disconnectUiStop();var o=this.pixelsToWorkspaceUnits_(t),n=Blockly.utils.Coordinate.sum(this.startXY_,o);this.draggingBlock_.moveOffDragSurface_(n),this.maybeDeleteBlock_()||(this.draggingBlock_.moveConnections_(o.x,o.y),this.draggingBlock_.setDragging(!1),this.fireMoveEvent_(),this.draggedConnectionManager_.wouldConnectBlock()?this.draggedConnectionManager_.applyConnections():this.draggingBlock_.render(),this.draggingBlock_.scheduleSnapAndBump()),this.workspace_.setResizesEnabled(!0),(o=this.workspace_.getToolbox())&&(n=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab",o.removeStyle(n)),Blockly.Events.setGroup(!1)},Blockly.BlockDragger.prototype.fireMoveEvent_=function(){var e=new Blockly.Events.BlockMove(this.draggingBlock_);e.oldCoordinate=this.startXY_,e.recordNew(),Blockly.Events.fire(e)},Blockly.BlockDragger.prototype.maybeDeleteBlock_=function(){var e=this.workspace_.trashcan;return this.wouldDeleteBlock_?(e&&setTimeout(e.close.bind(e),100),this.fireMoveEvent_(),this.draggingBlock_.dispose(!1,!0)):e&&e.close(),this.wouldDeleteBlock_},Blockly.BlockDragger.prototype.updateCursorDuringBlockDrag_=function(){this.wouldDeleteBlock_=this.draggedConnectionManager_.wouldDeleteBlock();var e=this.workspace_.trashcan;this.wouldDeleteBlock_?(this.draggingBlock_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&e&&e.setOpen_(!0)):(this.draggingBlock_.setDeleteStyle(!1),e&&e.setOpen_(!1))},Blockly.BlockDragger.prototype.pixelsToWorkspaceUnits_=function(e){return e=new Blockly.utils.Coordinate(e.x/this.workspace_.scale,e.y/this.workspace_.scale),this.workspace_.isMutator&&e.scale(1/this.workspace_.options.parentWorkspace.scale),e},Blockly.BlockDragger.prototype.dragIcons_=function(e){for(var t=0;t<this.dragIconData_.length;t++){var o=this.dragIconData_[t];o.icon.setIconLocation(Blockly.utils.Coordinate.sum(o.location,e))}},Blockly.BlockDragger.prototype.getInsertionMarkers=function(){return this.draggedConnectionManager_&&this.draggedConnectionManager_.getInsertionMarkers?this.draggedConnectionManager_.getInsertionMarkers():[]},Blockly.utils.Rect=function(e,t,o,n){this.top=e,this.bottom=t,this.left=o,this.right=n},Blockly.utils.Rect.prototype.contains=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},Blockly.WorkspaceCommentSvg=function(e,t,o,n,i){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyComment"},null),this.svgGroup_.translate_="",this.svgRect_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentRect",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS}),this.svgGroup_.appendChild(this.svgRect_),this.rendered_=!1,this.useDragSurface_=Blockly.utils.is3dSupported()&&!!e.blockDragSurface_,Blockly.WorkspaceCommentSvg.superClass_.constructor.call(this,e,t,o,n,i),this.render()},goog.inherits(Blockly.WorkspaceCommentSvg,Blockly.WorkspaceComment),Blockly.WorkspaceCommentSvg.DEFAULT_SIZE=100,Blockly.WorkspaceCommentSvg.prototype.dispose=function(){this.workspace&&(Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture()),Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),Blockly.utils.dom.removeNode(this.svgGroup_),this.svgRect_=this.svgGroup_=null,this.disposeInternal_(),Blockly.Events.disable(),Blockly.WorkspaceCommentSvg.superClass_.dispose.call(this),Blockly.Events.enable())},Blockly.WorkspaceCommentSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");this.workspace.options.readOnly||this.eventsInit_||(Blockly.bindEventWithChecks_(this.svgRectTarget_,"mousedown",this,this.pathMouseDown_),Blockly.bindEventWithChecks_(this.svgHandleTarget_,"mousedown",this,this.pathMouseDown_)),this.eventsInit_=!0,this.updateMovable(),this.getSvgRoot().parentNode||this.workspace.getBubbleCanvas().appendChild(this.getSvgRoot())},Blockly.WorkspaceCommentSvg.prototype.pathMouseDown_=function(e){var t=this.workspace.getGesture(e);t&&t.handleBubbleStart(e,this)},Blockly.WorkspaceCommentSvg.prototype.showContextMenu_=function(e){if(!this.workspace.options.readOnly){var t=[];this.isDeletable()&&this.isMovable()&&(t.push(Blockly.ContextMenu.commentDuplicateOption(this)),t.push(Blockly.ContextMenu.commentDeleteOption(this))),Blockly.ContextMenu.show(e,t,this.RTL)}},Blockly.WorkspaceCommentSvg.prototype.select=function(){if(Blockly.selected!=this){var e=null;if(Blockly.selected){e=Blockly.selected.id,Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}(e=new Blockly.Events.Ui(null,"selected",e,this.id)).workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=this,this.addSelect()}},Blockly.WorkspaceCommentSvg.prototype.unselect=function(){if(Blockly.selected==this){var e=new Blockly.Events.Ui(null,"selected",this.id,null);e.workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=null,this.removeSelect(),this.blurFocus()}},Blockly.WorkspaceCommentSvg.prototype.addSelect=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklySelected"),this.setFocus()},Blockly.WorkspaceCommentSvg.prototype.removeSelect=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklySelected"),this.blurFocus()},Blockly.WorkspaceCommentSvg.prototype.addFocus=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklyFocused")},Blockly.WorkspaceCommentSvg.prototype.removeFocus=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyFocused")},Blockly.WorkspaceCommentSvg.prototype.getRelativeToSurfaceXY=function(){var e=0,t=0,o=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,n=this.getSvgRoot();if(n)do{var i=Blockly.utils.getRelativeXY(n);e+=i.x,t+=i.y,this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==n&&(e+=(i=this.workspace.blockDragSurface_.getSurfaceTranslation()).x,t+=i.y),n=n.parentNode}while(n&&n!=this.workspace.getBubbleCanvas()&&n!=o);return this.xy_=new Blockly.utils.Coordinate(e,t)},Blockly.WorkspaceCommentSvg.prototype.moveBy=function(e,t){var o=new Blockly.Events.CommentMove(this),n=this.getRelativeToSurfaceXY();this.translate(n.x+e,n.y+t),this.xy_=new Blockly.utils.Coordinate(n.x+e,n.y+t),o.recordNew(),Blockly.Events.fire(o),this.workspace.resizeContents()},Blockly.WorkspaceCommentSvg.prototype.translate=function(e,t){this.xy_=new Blockly.utils.Coordinate(e,t),this.getSvgRoot().setAttribute("transform","translate("+e+","+t+")")},Blockly.WorkspaceCommentSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var e=this.getRelativeToSurfaceXY();this.clearTransformAttributes_(),this.workspace.blockDragSurface_.translateSurface(e.x,e.y),this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}},Blockly.WorkspaceCommentSvg.prototype.moveOffDragSurface_=function(e){this.useDragSurface_&&(this.translate(e.x,e.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))},Blockly.WorkspaceCommentSvg.prototype.moveDuringDrag=function(e,t){e?e.translateSurface(t.x,t.y):(this.svgGroup_.translate_="translate("+t.x+","+t.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))},Blockly.WorkspaceCommentSvg.prototype.moveTo=function(e,t){this.translate(e,t)},Blockly.WorkspaceCommentSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute("transform")},Blockly.WorkspaceCommentSvg.prototype.getBoundingRectangle=function(){var e=this.getRelativeToSurfaceXY(),t=this.getHeightWidth(),o=e.y,n=e.y+t.height;if(this.RTL){var i=e.x-t.width;e=e.x}else i=e.x,e=e.x+t.width;return new Blockly.utils.Rect(o,n,i,e)},Blockly.WorkspaceCommentSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggable")},Blockly.WorkspaceCommentSvg.prototype.setMovable=function(e){Blockly.WorkspaceCommentSvg.superClass_.setMovable.call(this,e),this.updateMovable()},Blockly.WorkspaceCommentSvg.prototype.setDragging=function(e){e?((e=this.getSvgRoot()).translate_="",e.skew_="",Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDragging")):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDragging")},Blockly.WorkspaceCommentSvg.prototype.getSvgRoot=function(){return this.svgGroup_},Blockly.WorkspaceCommentSvg.prototype.getContent=function(){return this.textarea_?this.textarea_.value:this.content_},Blockly.WorkspaceCommentSvg.prototype.setContent=function(e){Blockly.WorkspaceCommentSvg.superClass_.setContent.call(this,e),this.textarea_&&(this.textarea_.value=e)},Blockly.WorkspaceCommentSvg.prototype.setDeleteStyle=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggingDelete")},Blockly.WorkspaceCommentSvg.prototype.setAutoLayout=function(){},Blockly.WorkspaceCommentSvg.fromXml=function(e,t,o){Blockly.Events.disable();try{var n=Blockly.WorkspaceComment.parseAttributes(e),i=new Blockly.WorkspaceCommentSvg(t,n.content,n.h,n.w,n.id);if(t.rendered&&(i.initSvg(),i.render(!1)),!isNaN(n.x)&&!isNaN(n.y))if(t.RTL){var r=o||t.getWidth();i.moveBy(r-n.x,n.y)}else i.moveBy(n.x,n.y)}finally{Blockly.Events.enable()}return Blockly.WorkspaceComment.fireCreateEvent(i),i},Blockly.WorkspaceCommentSvg.prototype.toXmlWithXY=function(e){var t;this.workspace.RTL&&(t=this.workspace.getWidth()),e=this.toXml(e);var o=this.getRelativeToSurfaceXY();return e.setAttribute("x",Math.round(this.workspace.RTL?t-o.x:o.x)),e.setAttribute("y",Math.round(o.y)),e.setAttribute("h",this.getHeight()),e.setAttribute("w",this.getWidth()),e},Blockly.BubbleDragger=function(e,t){this.draggingBubble_=e,this.workspace_=t,this.deleteArea_=null,this.wouldDeleteBubble_=!1,this.startXY_=this.draggingBubble_.getRelativeToSurfaceXY(),this.dragSurface_=Blockly.utils.is3dSupported()&&t.getBlockDragSurface()?t.getBlockDragSurface():null},Blockly.BubbleDragger.prototype.dispose=function(){this.dragSurface_=this.workspace_=this.draggingBubble_=null},Blockly.BubbleDragger.prototype.startBubbleDrag=function(){Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.workspace_.setResizesEnabled(!1),this.draggingBubble_.setAutoLayout(!1),this.dragSurface_&&this.moveToDragSurface_(),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!0);var e=this.workspace_.getToolbox();if(e){var t=this.draggingBubble_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";e.addStyle(t)}},Blockly.BubbleDragger.prototype.dragBubble=function(e,t){var o=this.pixelsToWorkspaceUnits_(t);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBubble_.moveDuringDrag(this.dragSurface_,o),this.draggingBubble_.isDeletable()&&(this.deleteArea_=this.workspace_.isDeleteArea(e),this.updateCursorDuringBubbleDrag_())},Blockly.BubbleDragger.prototype.maybeDeleteBubble_=function(){var e=this.workspace_.trashcan;return this.wouldDeleteBubble_?(e&&setTimeout(e.close.bind(e),100),this.fireMoveEvent_(),this.draggingBubble_.dispose(!1,!0)):e&&e.close(),this.wouldDeleteBubble_},Blockly.BubbleDragger.prototype.updateCursorDuringBubbleDrag_=function(){this.wouldDeleteBubble_=this.deleteArea_!=Blockly.DELETE_AREA_NONE;var e=this.workspace_.trashcan;this.wouldDeleteBubble_?(this.draggingBubble_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&e&&e.setOpen_(!0)):(this.draggingBubble_.setDeleteStyle(!1),e&&e.setOpen_(!1))},Blockly.BubbleDragger.prototype.endBubbleDrag=function(e,t){this.dragBubble(e,t);var o=this.pixelsToWorkspaceUnits_(t);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBubble_.moveTo(o.x,o.y),this.maybeDeleteBubble_()||(this.dragSurface_&&this.dragSurface_.clearAndHide(this.workspace_.getBubbleCanvas()),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!1),this.fireMoveEvent_()),this.workspace_.setResizesEnabled(!0),this.workspace_.toolbox_&&(o=this.draggingBubble_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab",this.workspace_.toolbox_.removeStyle(o)),Blockly.Events.setGroup(!1)},Blockly.BubbleDragger.prototype.fireMoveEvent_=function(){if(this.draggingBubble_.isComment){var e=new Blockly.Events.CommentMove(this.draggingBubble_);e.setOldCoordinate(this.startXY_),e.recordNew(),Blockly.Events.fire(e)}},Blockly.BubbleDragger.prototype.pixelsToWorkspaceUnits_=function(e){return e=new Blockly.utils.Coordinate(e.x/this.workspace_.scale,e.y/this.workspace_.scale),this.workspace_.isMutator&&e.scale(1/this.workspace_.options.parentWorkspace.scale),e},Blockly.BubbleDragger.prototype.moveToDragSurface_=function(){this.draggingBubble_.moveTo(0,0),this.dragSurface_.translateSurface(this.startXY_.x,this.startXY_.y),this.dragSurface_.setBlocksAndShow(this.draggingBubble_.getSvgRoot())},Blockly.WorkspaceDragger=function(e){this.workspace_=e,this.startScrollXY_=new Blockly.utils.Coordinate(e.scrollX,e.scrollY)},Blockly.WorkspaceDragger.prototype.dispose=function(){this.workspace_=null},Blockly.WorkspaceDragger.prototype.startDrag=function(){Blockly.selected&&Blockly.selected.unselect(),this.workspace_.setupDragSurface()},Blockly.WorkspaceDragger.prototype.endDrag=function(e){this.drag(e),this.workspace_.resetDragSurface()},Blockly.WorkspaceDragger.prototype.drag=function(e){e=Blockly.utils.Coordinate.sum(this.startScrollXY_,e),this.workspace_.scroll(e.x,e.y)},Blockly.FlyoutDragger=function(e){Blockly.FlyoutDragger.superClass_.constructor.call(this,e.getWorkspace()),this.scrollbar_=e.scrollbar_,this.horizontalLayout_=e.horizontalLayout_},goog.inherits(Blockly.FlyoutDragger,Blockly.WorkspaceDragger),Blockly.FlyoutDragger.prototype.updateScroll_=function(e,t){this.horizontalLayout_?this.scrollbar_.set(e):this.scrollbar_.set(t)},Blockly.Tooltip={},Blockly.Tooltip.visible=!1,Blockly.Tooltip.blocked_=!1,Blockly.Tooltip.LIMIT=50,Blockly.Tooltip.mouseOutPid_=0,Blockly.Tooltip.showPid_=0,Blockly.Tooltip.lastX_=0,Blockly.Tooltip.lastY_=0,Blockly.Tooltip.element_=null,Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.OFFSET_X=0,Blockly.Tooltip.OFFSET_Y=10,Blockly.Tooltip.RADIUS_OK=10,Blockly.Tooltip.HOVER_MS=750,Blockly.Tooltip.MARGINS=5,Blockly.Tooltip.DIV=null,Blockly.Tooltip.createDom=function(){Blockly.Tooltip.DIV||(Blockly.Tooltip.DIV=document.createElement("div"),Blockly.Tooltip.DIV.className="blocklyTooltipDiv",document.body.appendChild(Blockly.Tooltip.DIV))},Blockly.Tooltip.bindMouseEvents=function(e){Blockly.bindEvent_(e,"mouseover",null,Blockly.Tooltip.onMouseOver_),Blockly.bindEvent_(e,"mouseout",null,Blockly.Tooltip.onMouseOut_),e.addEventListener("mousemove",Blockly.Tooltip.onMouseMove_,!1)},Blockly.Tooltip.onMouseOver_=function(e){if(!Blockly.Tooltip.blocked_){for(e=e.currentTarget;"string"!=typeof e.tooltip&&"function"!=typeof e.tooltip;)e=e.tooltip;Blockly.Tooltip.element_!=e&&(Blockly.Tooltip.hide(),Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.element_=e),clearTimeout(Blockly.Tooltip.mouseOutPid_)}},Blockly.Tooltip.onMouseOut_=function(e){Blockly.Tooltip.blocked_||(Blockly.Tooltip.mouseOutPid_=setTimeout((function(){Blockly.Tooltip.element_=null,Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.hide()}),1),clearTimeout(Blockly.Tooltip.showPid_))},Blockly.Tooltip.onMouseMove_=function(e){if(Blockly.Tooltip.element_&&Blockly.Tooltip.element_.tooltip&&!Blockly.Tooltip.blocked_)if(Blockly.Tooltip.visible){var t=Blockly.Tooltip.lastX_-e.pageX;e=Blockly.Tooltip.lastY_-e.pageY,Math.sqrt(t*t+e*e)>Blockly.Tooltip.RADIUS_OK&&Blockly.Tooltip.hide()}else Blockly.Tooltip.poisonedElement_!=Blockly.Tooltip.element_&&(clearTimeout(Blockly.Tooltip.showPid_),Blockly.Tooltip.lastX_=e.pageX,Blockly.Tooltip.lastY_=e.pageY,Blockly.Tooltip.showPid_=setTimeout(Blockly.Tooltip.show_,Blockly.Tooltip.HOVER_MS))},Blockly.Tooltip.hide=function(){Blockly.Tooltip.visible&&(Blockly.Tooltip.visible=!1,Blockly.Tooltip.DIV&&(Blockly.Tooltip.DIV.style.display="none")),Blockly.Tooltip.showPid_&&clearTimeout(Blockly.Tooltip.showPid_)},Blockly.Tooltip.block=function(){Blockly.Tooltip.hide(),Blockly.Tooltip.blocked_=!0},Blockly.Tooltip.unblock=function(){Blockly.Tooltip.blocked_=!1},Blockly.Tooltip.show_=function(){if(!Blockly.Tooltip.blocked_&&(Blockly.Tooltip.poisonedElement_=Blockly.Tooltip.element_,Blockly.Tooltip.DIV)){Blockly.Tooltip.DIV.innerHTML="";for(var e=Blockly.Tooltip.element_.tooltip;"function"==typeof e;)e=e();e=(e=Blockly.utils.string.wrap(e,Blockly.Tooltip.LIMIT)).split("\n");for(var t=0;t<e.length;t++){var o=document.createElement("div");o.appendChild(document.createTextNode(e[t])),Blockly.Tooltip.DIV.appendChild(o)}e=Blockly.Tooltip.element_.RTL,t=document.documentElement.clientWidth,o=document.documentElement.clientHeight,Blockly.Tooltip.DIV.style.direction=e?"rtl":"ltr",Blockly.Tooltip.DIV.style.display="block",Blockly.Tooltip.visible=!0;var n=Blockly.Tooltip.lastX_;n=e?n-(Blockly.Tooltip.OFFSET_X+Blockly.Tooltip.DIV.offsetWidth):n+Blockly.Tooltip.OFFSET_X;var i=Blockly.Tooltip.lastY_+Blockly.Tooltip.OFFSET_Y;i+Blockly.Tooltip.DIV.offsetHeight>o+window.scrollY&&(i-=Blockly.Tooltip.DIV.offsetHeight+2*Blockly.Tooltip.OFFSET_Y),e?n=Math.max(Blockly.Tooltip.MARGINS-window.scrollX,n):n+Blockly.Tooltip.DIV.offsetWidth>t+window.scrollX-2*Blockly.Tooltip.MARGINS&&(n=t-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS),Blockly.Tooltip.DIV.style.top=i+"px",Blockly.Tooltip.DIV.style.left=n+"px"}},Blockly.Gesture=function(e,t){this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=this.startBubble_=this.currentDragDeltaXY_=this.mouseDownXY_=null,this.creatorWorkspace_=t,this.isDraggingBubble_=this.isDraggingBlock_=this.isDraggingWorkspace_=this.hasExceededDragRadius_=!1,this.mostRecentEvent_=e,this.flyout_=this.workspaceDragger_=this.blockDragger_=this.bubbleDragger_=this.onUpWrapper_=this.onMoveWrapper_=null,this.isEnding_=this.hasStarted_=this.calledUpdateIsDragging_=!1,this.healStack_=!Blockly.DRAG_STACK},Blockly.Gesture.prototype.dispose=function(){Blockly.Touch.clearTouchIdentifier(),Blockly.Tooltip.unblock(),this.creatorWorkspace_.clearGesture(),this.onMoveWrapper_&&Blockly.unbindEvent_(this.onMoveWrapper_),this.onUpWrapper_&&Blockly.unbindEvent_(this.onUpWrapper_),this.flyout_=this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=null,this.blockDragger_&&(this.blockDragger_.dispose(),this.blockDragger_=null),this.workspaceDragger_&&(this.workspaceDragger_.dispose(),this.workspaceDragger_=null),this.bubbleDragger_&&(this.bubbleDragger_.dispose(),this.bubbleDragger_=null)},Blockly.Gesture.prototype.updateFromEvent_=function(e){var t=new Blockly.utils.Coordinate(e.clientX,e.clientY);this.updateDragDelta_(t)&&(this.updateIsDragging_(),Blockly.longStop_()),this.mostRecentEvent_=e},Blockly.Gesture.prototype.updateDragDelta_=function(e){return this.currentDragDeltaXY_=Blockly.utils.Coordinate.difference(e,this.mouseDownXY_),!this.hasExceededDragRadius_&&(this.hasExceededDragRadius_=Blockly.utils.Coordinate.magnitude(this.currentDragDeltaXY_)>(this.flyout_?Blockly.FLYOUT_DRAG_RADIUS:Blockly.DRAG_RADIUS))},Blockly.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return!!this.flyout_.isBlockCreatable_(this.targetBlock_)&&(!(this.flyout_.isScrollable()&&!this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_))&&(this.startWorkspace_=this.flyout_.targetWorkspace_,this.startWorkspace_.updateScreenCalculationsIfScrolled(),Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.startBlock_=null,this.targetBlock_=this.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(),!0))},Blockly.Gesture.prototype.updateIsDraggingBubble_=function(){return!!this.startBubble_&&(this.isDraggingBubble_=!0,this.startDraggingBubble_(),!0)},Blockly.Gesture.prototype.updateIsDraggingBlock_=function(){return!!this.targetBlock_&&(this.flyout_?this.isDraggingBlock_=this.updateIsDraggingFromFlyout_():this.targetBlock_.isMovable()&&(this.isDraggingBlock_=!0),!!this.isDraggingBlock_&&(this.startDraggingBlock_(),!0))},Blockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.workspaceDragger_=this.flyout_?new Blockly.FlyoutDragger(this.flyout_):new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag())},Blockly.Gesture.prototype.updateIsDragging_=function(){if(this.calledUpdateIsDragging_)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging_=!0,this.updateIsDraggingBubble_()||this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()},Blockly.Gesture.prototype.startDraggingBlock_=function(){this.blockDragger_=new Blockly.BlockDragger(this.targetBlock_,this.startWorkspace_),this.blockDragger_.startBlockDrag(this.currentDragDeltaXY_,this.healStack_),this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_)},Blockly.Gesture.prototype.startDraggingBubble_=function(){this.bubbleDragger_=new Blockly.BubbleDragger(this.startBubble_,this.startWorkspace_),this.bubbleDragger_.startBubbleDrag(),this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_)},Blockly.Gesture.prototype.doStart=function(e){Blockly.utils.isTargetInput(e)?this.cancel():(this.hasStarted_=!0,Blockly.blockAnimations.disconnectUiStop(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.startWorkspace_.markFocused(),this.mostRecentEvent_=e,Blockly.hideChaff(!!this.flyout_),Blockly.Tooltip.block(),this.targetBlock_&&this.targetBlock_.select(),Blockly.utils.isRightButton(e)?this.handleRightClick(e):("touchstart"!=e.type.toLowerCase()&&"pointerdown"!=e.type.toLowerCase()||"mouse"==e.pointerType||Blockly.longStart_(e,this),this.mouseDownXY_=new Blockly.utils.Coordinate(e.clientX,e.clientY),this.healStack_=e.altKey||e.ctrlKey||e.metaKey,this.bindMouseEvents(e)))},Blockly.Gesture.prototype.bindMouseEvents=function(e){this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this)),this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this)),e.preventDefault(),e.stopPropagation()},Blockly.Gesture.prototype.handleMove=function(e){this.updateFromEvent_(e),this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBubble_&&this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_),e.preventDefault(),e.stopPropagation()},Blockly.Gesture.prototype.handleUp=function(e){this.updateFromEvent_(e),Blockly.longStop_(),this.isEnding_?console.log("Trying to end a gesture recursively."):(this.isEnding_=!0,this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(e,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(e,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isBubbleClick_()?this.doBubbleClick_():this.isFieldClick_()?this.doFieldClick_():this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()&&this.doWorkspaceClick_(),e.preventDefault(),e.stopPropagation(),this.dispose())},Blockly.Gesture.prototype.cancel=function(){this.isEnding_||(Blockly.longStop_(),this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_&&this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())},Blockly.Gesture.prototype.handleRightClick=function(e){this.targetBlock_?(this.bringBlockToFront_(),Blockly.hideChaff(this.flyout_),this.targetBlock_.showContextMenu_(e)):this.startBubble_?this.startBubble_.showContextMenu_(e):this.startWorkspace_&&!this.flyout_&&(Blockly.hideChaff(),this.startWorkspace_.showContextMenu_(e)),e.preventDefault(),e.stopPropagation(),this.dispose()},Blockly.Gesture.prototype.handleWsStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace_(t),this.mostRecentEvent_=e,this.doStart(e)},Blockly.Gesture.prototype.handleFlyoutStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout_(t),this.handleWsStart(e,t.getWorkspace())},Blockly.Gesture.prototype.handleBlockStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent_=e},Blockly.Gesture.prototype.handleBubbleStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent_=e},Blockly.Gesture.prototype.doBubbleClick_=function(){this.startBubble_.setFocus&&this.startBubble_.setFocus(),this.startBubble_.select&&this.startBubble_.select()},Blockly.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor_(),this.bringBlockToFront_()},Blockly.Gesture.prototype.doBlockClick_=function(){this.flyout_&&this.flyout_.autoClose?this.targetBlock_.isEnabled()&&(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump()):Blockly.Events.fire(new Blockly.Events.Ui(this.startBlock_,"click",void 0,void 0)),this.bringBlockToFront_(),Blockly.Events.setGroup(!1)},Blockly.Gesture.prototype.doWorkspaceClick_=function(){Blockly.selected&&Blockly.selected.unselect()},Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()},Blockly.Gesture.prototype.setStartField=function(e){if(this.hasStarted_)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField_||(this.startField_=e)},Blockly.Gesture.prototype.setStartBubble=function(e){this.startBubble_||(this.startBubble_=e)},Blockly.Gesture.prototype.setStartBlock=function(e){this.startBlock_||this.startBubble_||(this.startBlock_=e,e.isInFlyout&&e!=e.getRootBlock()?this.setTargetBlock_(e.getRootBlock()):this.setTargetBlock_(e))},Blockly.Gesture.prototype.setTargetBlock_=function(e){e.isShadow()?this.setTargetBlock_(e.getParent()):this.targetBlock_=e},Blockly.Gesture.prototype.setStartWorkspace_=function(e){this.startWorkspace_||(this.startWorkspace_=e)},Blockly.Gesture.prototype.setStartFlyout_=function(e){this.flyout_||(this.flyout_=e)},Blockly.Gesture.prototype.isBubbleClick_=function(){return!!this.startBubble_&&!this.hasExceededDragRadius_},Blockly.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_&&!this.hasExceededDragRadius_&&!this.isFieldClick_()},Blockly.Gesture.prototype.isFieldClick_=function(){return!!this.startField_&&this.startField_.isClickable()&&!this.hasExceededDragRadius_&&(!this.flyout_||!this.flyout_.autoClose)},Blockly.Gesture.prototype.isWorkspaceClick_=function(){return!(this.startBlock_||this.startBubble_||this.startField_||this.hasExceededDragRadius_)},Blockly.Gesture.prototype.isDragging=function(){return this.isDraggingWorkspace_||this.isDraggingBlock_||this.isDraggingBubble_},Blockly.Gesture.prototype.hasStarted=function(){return this.hasStarted_},Blockly.Gesture.prototype.getInsertionMarkers=function(){return this.blockDragger_?this.blockDragger_.getInsertionMarkers():[]},Blockly.Gesture.inProgress=function(){for(var e,t=Blockly.Workspace.getAll(),o=0;e=t[o];o++)if(e.currentGesture_)return!0;return!1},Blockly.Grid=function(e,t){this.gridPattern_=e,this.spacing_=t.spacing,this.length_=t.length,this.line2_=(this.line1_=e.firstChild)&&this.line1_.nextSibling,this.snapToGrid_=t.snap},Blockly.Grid.prototype.scale_=1,Blockly.Grid.prototype.dispose=function(){this.gridPattern_=null},Blockly.Grid.prototype.shouldSnap=function(){return this.snapToGrid_},Blockly.Grid.prototype.getSpacing=function(){return this.spacing_},Blockly.Grid.prototype.getPatternId=function(){return this.gridPattern_.id},Blockly.Grid.prototype.update=function(e){this.scale_=e;var t=this.spacing_*e||100;this.gridPattern_.setAttribute("width",t),this.gridPattern_.setAttribute("height",t);var o=(t=Math.floor(this.spacing_/2)+.5)-this.length_/2,n=t+this.length_/2;t*=e,o*=e,n*=e,this.setLineAttributes_(this.line1_,e,o,n,t,t),this.setLineAttributes_(this.line2_,e,t,t,o,n)},Blockly.Grid.prototype.setLineAttributes_=function(e,t,o,n,i,r){e&&(e.setAttribute("stroke-width",t),e.setAttribute("x1",o),e.setAttribute("y1",i),e.setAttribute("x2",n),e.setAttribute("y2",r))},Blockly.Grid.prototype.moveTo=function(e,t){this.gridPattern_.setAttribute("x",e),this.gridPattern_.setAttribute("y",t),(Blockly.utils.userAgent.IE||Blockly.utils.userAgent.EDGE)&&this.update(this.scale_)},Blockly.Grid.createDom=function(e,t,o){return e=Blockly.utils.dom.createSvgElement("pattern",{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},o),0<t.length&&0<t.spacing?(Blockly.utils.dom.createSvgElement("line",{stroke:t.colour},e),1<t.length&&Blockly.utils.dom.createSvgElement("line",{stroke:t.colour},e)):Blockly.utils.dom.createSvgElement("line",{},e),e},Blockly.Options=function(e){var t=!!e.readOnly;if(t)var o=null,n=!1,i=!1,r=!1,s=!1,a=!1,l=!1;else{n=!(!(o=Blockly.Options.parseToolboxTree(e.toolbox||null))||!o.getElementsByTagName("category").length),void 0===(i=e.trashcan)&&(i=n);var u=e.maxTrashcanContents;i?void 0===u&&(u=32):u=0,void 0===(r=e.collapse)&&(r=n),void 0===(s=e.comments)&&(s=n),void 0===(a=e.disable)&&(a=n),void 0===(l=e.sounds)&&(l=!0)}var c=!!e.rtl,h=e.horizontalLayout;void 0===h&&(h=!1);var d=e.toolboxPosition;d="end"!==d,d=h?d?Blockly.TOOLBOX_AT_TOP:Blockly.TOOLBOX_AT_BOTTOM:d==c?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT;var g=e.css;void 0===g&&(g=!0);var p="https://blockly-demo.appspot.com/static/media/";e.media?p=e.media:e.path&&(p=e.path+"media/");var f=void 0===e.oneBasedIndex||!!e.oneBasedIndex,m=e.theme||Blockly.Themes.Classic;this.RTL=c,this.oneBasedIndex=f,this.collapse=r,this.comments=s,this.disable=a,this.readOnly=t,this.maxBlocks=e.maxBlocks||1/0,this.maxInstances=e.maxInstances,this.pathToMedia=p,this.hasCategories=n,this.moveOptions=Blockly.Options.parseMoveOptions(e,n),this.hasScrollbars=this.moveOptions.scrollbars,this.hasTrashcan=i,this.maxTrashcanContents=u,this.hasSounds=l,this.hasCss=g,this.horizontalLayout=h,this.languageTree=o,this.gridOptions=Blockly.Options.parseGridOptions_(e),this.zoomOptions=Blockly.Options.parseZoomOptions_(e),this.toolboxPosition=d,this.theme=m},Blockly.Options.prototype.parentWorkspace=null,Blockly.Options.prototype.setMetrics=null,Blockly.Options.prototype.getMetrics=null,Blockly.Options.parseMoveOptions=function(e,t){var o=e.move||{},n={};return n.scrollbars=void 0===o.scrollbars&&void 0===e.scrollbars?t:!!o.scrollbars||!!e.scrollbars,n.wheel=!(!n.scrollbars||void 0===o.wheel)&&!!o.wheel,n.drag=!!n.scrollbars&&(void 0===o.drag||!!o.drag),n},Blockly.Options.parseZoomOptions_=function(e){e=e.zoom||{};var t={};return t.controls=void 0!==e.controls&&!!e.controls,t.wheel=void 0!==e.wheel&&!!e.wheel,t.startScale=void 0===e.startScale?1:parseFloat(e.startScale),t.maxScale=void 0===e.maxScale?3:parseFloat(e.maxScale),t.minScale=void 0===e.minScale?.3:parseFloat(e.minScale),t.scaleSpeed=void 0===e.scaleSpeed?1.2:parseFloat(e.scaleSpeed),t},Blockly.Options.parseGridOptions_=function(e){e=e.grid||{};var t={};return t.spacing=parseFloat(e.spacing)||0,t.colour=e.colour||"#888",t.length=parseFloat(e.length)||1,t.snap=0<t.spacing&&!!e.snap,t},Blockly.Options.parseToolboxTree=function(e){if(e){if("string"!=typeof e&&(Blockly.utils.userAgent.IE&&e.outerHTML?e=e.outerHTML:e instanceof Element||(e=null)),"string"==typeof e&&"xml"!=(e=Blockly.Xml.textToDom(e)).nodeName.toLowerCase())throw TypeError("Toolbox should be an <xml> document.")}else e=null;return e},Blockly.ScrollbarPair=function(e){this.workspace_=e,this.hScroll=new Blockly.Scrollbar(e,!0,!0,"blocklyMainWorkspaceScrollbar"),this.vScroll=new Blockly.Scrollbar(e,!1,!0,"blocklyMainWorkspaceScrollbar"),this.corner_=Blockly.utils.dom.createSvgElement("rect",{height:Blockly.Scrollbar.scrollbarThickness,width:Blockly.Scrollbar.scrollbarThickness,class:"blocklyScrollbarBackground"},null),Blockly.utils.dom.insertAfter(this.corner_,e.getBubbleCanvas())},Blockly.ScrollbarPair.prototype.oldHostMetrics_=null,Blockly.ScrollbarPair.prototype.dispose=function(){Blockly.utils.dom.removeNode(this.corner_),this.oldHostMetrics_=this.workspace_=this.corner_=null,this.hScroll.dispose(),this.hScroll=null,this.vScroll.dispose(),this.vScroll=null},Blockly.ScrollbarPair.prototype.resize=function(){var e=this.workspace_.getMetrics();if(e){var t=!1,o=!1;this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==e.viewWidth&&this.oldHostMetrics_.viewHeight==e.viewHeight&&this.oldHostMetrics_.absoluteTop==e.absoluteTop&&this.oldHostMetrics_.absoluteLeft==e.absoluteLeft?(this.oldHostMetrics_&&this.oldHostMetrics_.contentWidth==e.contentWidth&&this.oldHostMetrics_.viewLeft==e.viewLeft&&this.oldHostMetrics_.contentLeft==e.contentLeft||(t=!0),this.oldHostMetrics_&&this.oldHostMetrics_.contentHeight==e.contentHeight&&this.oldHostMetrics_.viewTop==e.viewTop&&this.oldHostMetrics_.contentTop==e.contentTop||(o=!0)):o=t=!0,t&&this.hScroll.resize(e),o&&this.vScroll.resize(e),this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==e.viewWidth&&this.oldHostMetrics_.absoluteLeft==e.absoluteLeft||this.corner_.setAttribute("x",this.vScroll.position_.x),this.oldHostMetrics_&&this.oldHostMetrics_.viewHeight==e.viewHeight&&this.oldHostMetrics_.absoluteTop==e.absoluteTop||this.corner_.setAttribute("y",this.hScroll.position_.y),this.oldHostMetrics_=e}},Blockly.ScrollbarPair.prototype.set=function(e,t){var o={},n=e*this.hScroll.ratio_,i=t*this.vScroll.ratio_,r=this.vScroll.scrollViewSize_;o.x=this.getRatio_(n,this.hScroll.scrollViewSize_),o.y=this.getRatio_(i,r),this.workspace_.setMetrics(o),this.hScroll.setHandlePosition(n),this.vScroll.setHandlePosition(i)},Blockly.ScrollbarPair.prototype.getRatio_=function(e,t){var o=e/t;return isNaN(o)?0:o},Blockly.Scrollbar=function(e,t,o,n){this.workspace_=e,this.pair_=o||!1,this.horizontal_=t,this.oldHostMetrics_=null,this.createDom_(n),this.position_=new Blockly.utils.Coordinate(0,0),e=Blockly.Scrollbar.scrollbarThickness,t?(this.svgBackground_.setAttribute("height",e),this.outerSvg_.setAttribute("height",e),this.svgHandle_.setAttribute("height",e-5),this.svgHandle_.setAttribute("y",2.5),this.lengthAttribute_="width",this.positionAttribute_="x"):(this.svgBackground_.setAttribute("width",e),this.outerSvg_.setAttribute("width",e),this.svgHandle_.setAttribute("width",e-5),this.svgHandle_.setAttribute("x",2.5),this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDownBar_),this.onMouseDownHandleWrapper_=Blockly.bindEventWithChecks_(this.svgHandle_,"mousedown",this,this.onMouseDownHandle_)},Blockly.Scrollbar.prototype.origin_=new Blockly.utils.Coordinate(0,0),Blockly.Scrollbar.prototype.startDragMouse_=0,Blockly.Scrollbar.prototype.scrollViewSize_=0,Blockly.Scrollbar.prototype.handleLength_=0,Blockly.Scrollbar.prototype.handlePosition_=0,Blockly.Scrollbar.prototype.isVisible_=!0,Blockly.Scrollbar.prototype.containerVisible_=!0,Blockly.Scrollbar.scrollbarThickness=15,Blockly.Touch.TOUCH_ENABLED&&(Blockly.Scrollbar.scrollbarThickness=25),Blockly.Scrollbar.metricsAreEquivalent_=function(e,t){return!(!e||!t||e.viewWidth!=t.viewWidth||e.viewHeight!=t.viewHeight||e.viewLeft!=t.viewLeft||e.viewTop!=t.viewTop||e.absoluteTop!=t.absoluteTop||e.absoluteLeft!=t.absoluteLeft||e.contentWidth!=t.contentWidth||e.contentHeight!=t.contentHeight||e.contentLeft!=t.contentLeft||e.contentTop!=t.contentTop)},Blockly.Scrollbar.prototype.dispose=function(){this.cleanUp_(),Blockly.unbindEvent_(this.onMouseDownBarWrapper_),this.onMouseDownBarWrapper_=null,Blockly.unbindEvent_(this.onMouseDownHandleWrapper_),this.onMouseDownHandleWrapper_=null,Blockly.utils.dom.removeNode(this.outerSvg_),this.workspace_=this.svgHandle_=this.svgBackground_=this.svgGroup_=this.outerSvg_=null},Blockly.Scrollbar.prototype.setHandleLength_=function(e){this.handleLength_=e,this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)},Blockly.Scrollbar.prototype.setHandlePosition=function(e){this.handlePosition_=e,this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)},Blockly.Scrollbar.prototype.setScrollViewSize_=function(e){this.scrollViewSize_=e,this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollViewSize_),this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollViewSize_)},Blockly.ScrollbarPair.prototype.setContainerVisible=function(e){this.hScroll.setContainerVisible(e),this.vScroll.setContainerVisible(e)},Blockly.Scrollbar.prototype.setPosition_=function(e,t){this.position_.x=e,this.position_.y=t,Blockly.utils.dom.setCssTransform(this.outerSvg_,"translate("+(this.position_.x+this.origin_.x)+"px,"+(this.position_.y+this.origin_.y)+"px)")},Blockly.Scrollbar.prototype.resize=function(e){(e||(e=this.workspace_.getMetrics()))&&(Blockly.Scrollbar.metricsAreEquivalent_(e,this.oldHostMetrics_)||(this.oldHostMetrics_=e,this.horizontal_?this.resizeHorizontal_(e):this.resizeVertical_(e),this.onScroll_()))},Blockly.Scrollbar.prototype.resizeHorizontal_=function(e){this.resizeViewHorizontal(e)},Blockly.Scrollbar.prototype.resizeViewHorizontal=function(e){var t=e.viewWidth-1;this.pair_&&(t-=Blockly.Scrollbar.scrollbarThickness),this.setScrollViewSize_(Math.max(0,t)),t=e.absoluteLeft+.5,this.pair_&&this.workspace_.RTL&&(t+=Blockly.Scrollbar.scrollbarThickness),this.setPosition_(t,e.absoluteTop+e.viewHeight-Blockly.Scrollbar.scrollbarThickness-.5),this.resizeContentHorizontal(e)},Blockly.Scrollbar.prototype.resizeContentHorizontal=function(e){this.pair_||this.setVisible(this.scrollViewSize_<e.contentWidth),this.ratio_=this.scrollViewSize_/e.contentWidth,(-1/0==this.ratio_||1/0==this.ratio_||isNaN(this.ratio_))&&(this.ratio_=0),this.setHandleLength_(Math.max(0,e.viewWidth*this.ratio_)),this.setHandlePosition(this.constrainHandle_((e.viewLeft-e.contentLeft)*this.ratio_))},Blockly.Scrollbar.prototype.resizeVertical_=function(e){this.resizeViewVertical(e)},Blockly.Scrollbar.prototype.resizeViewVertical=function(e){var t=e.viewHeight-1;this.pair_&&(t-=Blockly.Scrollbar.scrollbarThickness),this.setScrollViewSize_(Math.max(0,t)),t=e.absoluteLeft+.5,this.workspace_.RTL||(t+=e.viewWidth-Blockly.Scrollbar.scrollbarThickness-1),this.setPosition_(t,e.absoluteTop+.5),this.resizeContentVertical(e)},Blockly.Scrollbar.prototype.resizeContentVertical=function(e){this.pair_||this.setVisible(this.scrollViewSize_<e.contentHeight),this.ratio_=this.scrollViewSize_/e.contentHeight,(-1/0==this.ratio_||1/0==this.ratio_||isNaN(this.ratio_))&&(this.ratio_=0),this.setHandleLength_(Math.max(0,e.viewHeight*this.ratio_)),this.setHandlePosition(this.constrainHandle_((e.viewTop-e.contentTop)*this.ratio_))},Blockly.Scrollbar.prototype.createDom_=function(e){var t="blocklyScrollbar"+(this.horizontal_?"Horizontal":"Vertical");e&&(t+=" "+e),this.outerSvg_=Blockly.utils.dom.createSvgElement("svg",{class:t},null),this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},this.outerSvg_),this.svgBackground_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyScrollbarBackground"},this.svgGroup_),e=Math.floor((Blockly.Scrollbar.scrollbarThickness-5)/2),this.svgHandle_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyScrollbarHandle",rx:e,ry:e},this.svgGroup_),Blockly.utils.dom.insertAfter(this.outerSvg_,this.workspace_.getParentSvg())},Blockly.Scrollbar.prototype.isVisible=function(){return this.isVisible_},Blockly.Scrollbar.prototype.setContainerVisible=function(e){var t=e!=this.containerVisible_;this.containerVisible_=e,t&&this.updateDisplay_()},Blockly.Scrollbar.prototype.setVisible=function(e){var t=e!=this.isVisible();if(this.pair_)throw Error("Unable to toggle visibility of paired scrollbars.");this.isVisible_=e,t&&this.updateDisplay_()},Blockly.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_&&this.isVisible()?this.outerSvg_.setAttribute("display","block"):this.outerSvg_.setAttribute("display","none")},Blockly.Scrollbar.prototype.onMouseDownBar_=function(e){if(this.workspace_.markFocused(),Blockly.Touch.clearTouchIdentifier(),this.cleanUp_(),Blockly.utils.isRightButton(e))e.stopPropagation();else{var t=Blockly.utils.mouseToSvg(e,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());t=this.horizontal_?t.x:t.y;var o=Blockly.utils.getInjectionDivXY_(this.svgHandle_);o=this.horizontal_?o.x:o.y;var n=this.handlePosition_,i=.95*this.handleLength_;t<=o?n-=i:t>=o+this.handleLength_&&(n+=i),this.setHandlePosition(this.constrainHandle_(n)),this.onScroll_(),e.stopPropagation(),e.preventDefault()}},Blockly.Scrollbar.prototype.onMouseDownHandle_=function(e){this.workspace_.markFocused(),this.cleanUp_(),Blockly.utils.isRightButton(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse_=this.horizontal_?e.clientX:e.clientY,Blockly.Scrollbar.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.onMouseUpHandle_),Blockly.Scrollbar.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.onMouseMoveHandle_),e.stopPropagation(),e.preventDefault())},Blockly.Scrollbar.prototype.onMouseMoveHandle_=function(e){this.setHandlePosition(this.constrainHandle_(this.startDragHandle+((this.horizontal_?e.clientX:e.clientY)-this.startDragMouse_))),this.onScroll_()},Blockly.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface(),Blockly.Touch.clearTouchIdentifier(),this.cleanUp_()},Blockly.Scrollbar.prototype.cleanUp_=function(){Blockly.hideChaff(!0),Blockly.Scrollbar.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseUpWrapper_),Blockly.Scrollbar.onMouseUpWrapper_=null),Blockly.Scrollbar.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseMoveWrapper_),Blockly.Scrollbar.onMouseMoveWrapper_=null)},Blockly.Scrollbar.prototype.constrainHandle_=function(e){return 0>=e||isNaN(e)||this.scrollViewSize_<this.handleLength_?0:Math.min(e,this.scrollViewSize_-this.handleLength_)},Blockly.Scrollbar.prototype.onScroll_=function(){var e=this.handlePosition_/this.scrollViewSize_;isNaN(e)&&(e=0);var t={};this.horizontal_?t.x=e:t.y=e,this.workspace_.setMetrics(t)},Blockly.Scrollbar.prototype.set=function(e){this.setHandlePosition(this.constrainHandle_(e*this.ratio_)),this.onScroll_()},Blockly.Scrollbar.prototype.setOrigin=function(e,t){this.origin_=new Blockly.utils.Coordinate(e,t)},Blockly.TouchGesture=function(e,t){Blockly.TouchGesture.superClass_.constructor.call(this,e,t),this.isMultiTouch_=!1,this.cachedPoints_={},this.startDistance_=this.previousScale_=0,this.onStartWrapper_=null},goog.inherits(Blockly.TouchGesture,Blockly.Gesture),Blockly.TouchGesture.ZOOM_IN_MULTIPLIER=5,Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER=6,Blockly.TouchGesture.prototype.doStart=function(e){Blockly.TouchGesture.superClass_.doStart.call(this,e),!this.isEnding_&&Blockly.Touch.isTouchEvent(e)&&this.handleTouchStart(e)},Blockly.TouchGesture.prototype.bindMouseEvents=function(e){this.onStartWrapper_=Blockly.bindEventWithChecks_(document,"mousedown",null,this.handleStart.bind(this),!0),this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this),!0),this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this),!0),e.preventDefault(),e.stopPropagation()},Blockly.TouchGesture.prototype.handleStart=function(e){!this.isDragging()&&Blockly.Touch.isTouchEvent(e)&&(this.handleTouchStart(e),this.isMultiTouch()&&Blockly.longStop_())},Blockly.TouchGesture.prototype.handleMove=function(e){this.isDragging()?Blockly.Touch.shouldHandleEvent(e)&&Blockly.TouchGesture.superClass_.handleMove.call(this,e):this.isMultiTouch()?(Blockly.Touch.isTouchEvent(e)&&this.handleTouchMove(e),Blockly.longStop_()):Blockly.TouchGesture.superClass_.handleMove.call(this,e)},Blockly.TouchGesture.prototype.handleUp=function(e){Blockly.Touch.isTouchEvent(e)&&!this.isDragging()&&this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()?Blockly.Touch.shouldHandleEvent(e)&&Blockly.TouchGesture.superClass_.handleUp.call(this,e):(e.preventDefault(),e.stopPropagation(),this.dispose())},Blockly.TouchGesture.prototype.isMultiTouch=function(){return this.isMultiTouch_},Blockly.TouchGesture.prototype.dispose=function(){Blockly.TouchGesture.superClass_.dispose.call(this),this.onStartWrapper_&&Blockly.unbindEvent_(this.onStartWrapper_)},Blockly.TouchGesture.prototype.handleTouchStart=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);this.cachedPoints_[t]=this.getTouchPoint(e),2==(t=Object.keys(this.cachedPoints_)).length&&(this.startDistance_=Blockly.utils.Coordinate.distance(this.cachedPoints_[t[0]],this.cachedPoints_[t[1]]),this.isMultiTouch_=!0,e.preventDefault())},Blockly.TouchGesture.prototype.handleTouchMove=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);if(this.cachedPoints_[t]=this.getTouchPoint(e),2==(t=Object.keys(this.cachedPoints_)).length){if(t=this.touchScale_=Blockly.utils.Coordinate.distance(this.cachedPoints_[t[0]],this.cachedPoints_[t[1]])/this.startDistance_,0<this.previousScale_&&1/0>this.previousScale_){var o=t-this.previousScale_;o=0<o?o*Blockly.TouchGesture.ZOOM_IN_MULTIPLIER:o*Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER;var n=this.startWorkspace_,i=Blockly.utils.mouseToSvg(e,n.getParentSvg(),n.getInverseScreenCTM());n.zoom(i.x,i.y,o)}this.previousScale_=t,e.preventDefault()}},Blockly.TouchGesture.prototype.handleTouchEnd=function(e){e=Blockly.Touch.getTouchIdentifierFromEvent(e),this.cachedPoints_[e]&&delete this.cachedPoints_[e],2>Object.keys(this.cachedPoints_).length&&(this.cachedPoints_={},this.previousScale_=0)},Blockly.TouchGesture.prototype.getTouchPoint=function(e){return this.startWorkspace_?new Blockly.utils.Coordinate(e.pageX?e.pageX:e.changedTouches[0].pageX,e.pageY?e.pageY:e.changedTouches[0].pageY):null},Blockly.Trashcan=function(e){this.workspace_=e,this.hasBlocks_=!1,this.contents_=[],0>=this.workspace_.options.maxTrashcanContents||(e={scrollbars:!0,disabledPatternId:this.workspace_.options.disabledPatternId,parentWorkspace:this.workspace_,RTL:this.workspace_.RTL,oneBasedIndex:this.workspace_.options.oneBasedIndex},this.workspace_.horizontalLayout?(e.toolboxPosition=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_TOP?Blockly.TOOLBOX_AT_BOTTOM:Blockly.TOOLBOX_AT_TOP,this.flyout_=new Blockly.HorizontalFlyout(e)):(e.toolboxPosition=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?Blockly.TOOLBOX_AT_LEFT:Blockly.TOOLBOX_AT_RIGHT,this.flyout_=new Blockly.VerticalFlyout(e)),this.workspace_.addChangeListener(this.onDelete_()))},Blockly.Trashcan.prototype.WIDTH_=47,Blockly.Trashcan.prototype.BODY_HEIGHT_=44,Blockly.Trashcan.prototype.LID_HEIGHT_=16,Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20,Blockly.Trashcan.prototype.MARGIN_SIDE_=20,Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10,Blockly.Trashcan.prototype.SPRITE_LEFT_=0,Blockly.Trashcan.prototype.SPRITE_TOP_=32,Blockly.Trashcan.prototype.HAS_BLOCKS_LID_ANGLE=.1,Blockly.Trashcan.prototype.isOpen=!1,Blockly.Trashcan.prototype.minOpenness_=0,Blockly.Trashcan.prototype.svgGroup_=null;Blockly.Trashcan.prototype.svgLid_=null,Blockly.Trashcan.prototype.lidTask_=0,Blockly.Trashcan.prototype.lidOpen_=0,Blockly.Trashcan.prototype.left_=0,Blockly.Trashcan.prototype.top_=0,Blockly.Trashcan.prototype.createDom=function(){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyTrash"},null);var e=String(Math.random()).substring(2),t=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyTrashBodyClipPath"+e},this.svgGroup_);Blockly.utils.dom.createSvgElement("rect",{width:this.WIDTH_,height:this.BODY_HEIGHT_,y:this.LID_HEIGHT_},t);var o=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashBodyClipPath"+e+")"},this.svgGroup_);return o.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url),t=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyTrashLidClipPath"+e},this.svgGroup_),Blockly.utils.dom.createSvgElement("rect",{width:this.WIDTH_,height:this.LID_HEIGHT_},t),this.svgLid_=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashLidClipPath"+e+")"},this.svgGroup_),this.svgLid_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.click),Blockly.bindEvent_(o,"mouseover",this,this.mouseOver_),Blockly.bindEvent_(o,"mouseout",this,this.mouseOut_),this.animateLid_(),this.svgGroup_},Blockly.Trashcan.prototype.init=function(e){return 0<this.workspace_.options.maxTrashcanContents&&(Blockly.utils.dom.insertAfter(this.flyout_.createDom("svg"),this.workspace_.getParentSvg()),this.flyout_.init(this.workspace_),this.flyout_.isBlockCreatable_=function(){return!0}),this.verticalSpacing_=this.MARGIN_BOTTOM_+e,this.setOpen_(!1),this.verticalSpacing_+this.BODY_HEIGHT_+this.LID_HEIGHT_},Blockly.Trashcan.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.workspace_=this.svgLid_=null,clearTimeout(this.lidTask_)},Blockly.Trashcan.prototype.position=function(){if(this.verticalSpacing_){var e=this.workspace_.getMetrics();e&&(this.left_=e.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.workspace_.horizontalLayout&&!this.workspace_.RTL?e.viewWidth+e.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness:this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,this.top_=e.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?this.verticalSpacing_:e.viewHeight+e.absoluteTop-(this.BODY_HEIGHT_+this.LID_HEIGHT_)-this.verticalSpacing_,this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))}},Blockly.Trashcan.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.top+this.SPRITE_TOP_-this.MARGIN_HOTSPOT_;return e=e.left+this.SPRITE_LEFT_-this.MARGIN_HOTSPOT_,new Blockly.utils.Rect(t,t+this.LID_HEIGHT_+this.BODY_HEIGHT_+2*this.MARGIN_HOTSPOT_,e,e+this.WIDTH_+2*this.MARGIN_HOTSPOT_)},Blockly.Trashcan.prototype.setOpen_=function(e){this.isOpen!=e&&(clearTimeout(this.lidTask_),this.isOpen=e,this.animateLid_())},Blockly.Trashcan.prototype.animateLid_=function(){this.lidOpen_+=this.isOpen?.2:-.2,this.lidOpen_=Math.min(Math.max(this.lidOpen_,this.minOpenness_),1),this.setLidAngle_(45*this.lidOpen_),this.svgGroup_.style.opacity=.4+.4*this.lidOpen_,this.lidOpen_>this.minOpenness_&&1>this.lidOpen_&&(this.lidTask_=setTimeout(this.animateLid_.bind(this),20))},Blockly.Trashcan.prototype.setLidAngle_=function(e){var t=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT||this.workspace_.horizontalLayout&&this.workspace_.RTL;this.svgLid_.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:this.WIDTH_-4)+","+(this.LID_HEIGHT_-2)+")")},Blockly.Trashcan.prototype.close=function(){this.setOpen_(!1)},Blockly.Trashcan.prototype.click=function(){if(this.hasBlocks_){for(var e,t=[],o=0;e=this.contents_[o];o++)t[o]=Blockly.Xml.textToDom(e);this.flyout_.show(t)}},Blockly.Trashcan.prototype.mouseOver_=function(){this.hasBlocks_&&this.setOpen_(!0)},Blockly.Trashcan.prototype.mouseOut_=function(){this.setOpen_(!1)},Blockly.Trashcan.prototype.onDelete_=function(){var e=this;return function(t){0>=e.workspace_.options.maxTrashcanContents||t.type!=Blockly.Events.BLOCK_DELETE||"shadow"==t.oldXml.tagName.toLowerCase()||(t=e.cleanBlockXML_(t.oldXml),-1==e.contents_.indexOf(t)&&(e.contents_.unshift(t),e.contents_.length>e.workspace_.options.maxTrashcanContents&&e.contents_.splice(e.workspace_.options.maxTrashcanContents,e.contents_.length-e.workspace_.options.maxTrashcanContents),e.hasBlocks_=!0,e.minOpenness_=e.HAS_BLOCKS_LID_ANGLE,e.setLidAngle_(45*e.minOpenness_)))}},Blockly.Trashcan.prototype.cleanBlockXML_=function(e){for(var t=e=e.cloneNode(!0);t;){t.removeAttribute&&(t.removeAttribute("x"),t.removeAttribute("y"),t.removeAttribute("id"));var o=t.firstChild||t.nextSibling;if(!o)for(o=t.parentNode;o;){if(o.nextSibling){o=o.nextSibling;break}o=o.parentNode}t=o}return Blockly.Xml.domToText(e)},Blockly.VariableModel=function(e,t,o,n){this.workspace=e,this.name=t,this.type=o||"",this.id_=n||Blockly.utils.genUid(),Blockly.Events.fire(new Blockly.Events.VarCreate(this))},Blockly.VariableModel.prototype.getId=function(){return this.id_},Blockly.VariableModel.compareByName=function(e,t){var o=e.name.toLowerCase(),n=t.name.toLowerCase();return o<n?-1:o==n?0:1},Blockly.Variables={},Blockly.Variables.NAME_TYPE=Blockly.VARIABLE_CATEGORY_NAME,Blockly.Variables.allUsedVarModels=function(e){var t=e.getAllBlocks(!1);e=Object.create(null);for(var o=0;o<t.length;o++){var n=t[o].getVarModels();if(n)for(var i=0;i<n.length;i++){var r=n[i],s=r.getId();s&&(e[s]=r)}}for(s in t=[],e)t.push(e[s]);return t},Blockly.Variables.allUsedVariables=function(){console.warn("Deprecated call to Blockly.Variables.allUsedVariables. Use Blockly.Variables.allUsedVarModels instead.\nIf this is a major issue please file a bug on GitHub.")},Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_={},Blockly.Variables.allDeveloperVariables=function(e){e=e.getAllBlocks(!1);for(var t,o=Object.create(null),n=0;t=e[n];n++){var i=t.getDeveloperVariables;if(!i&&t.getDeveloperVars&&(i=t.getDeveloperVars,Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[t.type]||(console.warn("Function getDeveloperVars() deprecated. Use getDeveloperVariables() (block type '"+t.type+"')"),Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[t.type]=!0)),i)for(t=i(),i=0;i<t.length;i++)o[t[i]]=!0}return Object.keys(o)},Blockly.Variables.flyoutCategory=function(e){var t=[],o=document.createElement("button");return o.setAttribute("text","%{BKY_NEW_VARIABLE}"),o.setAttribute("callbackKey","CREATE_VARIABLE"),e.registerButtonCallback("CREATE_VARIABLE",(function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace())})),t.push(o),e=Blockly.Variables.flyoutCategoryBlocks(e),t.concat(e)},Blockly.Variables.flyoutCategoryBlocks=function(e){var t=[];if(0<(e=e.getVariablesOfType("")).length){var o=e[e.length-1];if(Blockly.Blocks.variables_set){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type","variables_set"),n.setAttribute("gap",Blockly.Blocks.math_change?8:24),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),t.push(n)}if(Blockly.Blocks.math_change&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","math_change"),n.setAttribute("gap",Blockly.Blocks.variables_get?20:8),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),o=Blockly.Xml.textToDom('<value name="DELTA"><shadow type="math_number"><field name="NUM">1</field></shadow></value>'),n.appendChild(o),t.push(n)),Blockly.Blocks.variables_get){e.sort(Blockly.VariableModel.compareByName),o=0;for(var i;i=e[o];o++)(n=Blockly.utils.xml.createElement("block")).setAttribute("type","variables_get"),n.setAttribute("gap",8),n.appendChild(Blockly.Variables.generateVariableFieldDom(i)),t.push(n)}}return t},Blockly.Variables.generateUniqueName=function(e){var t="";if((e=e.getAllVariables()).length)for(var o=1,n=0,i="ijkmnopqrstuvwxyzabcdefgh".charAt(n);!t;){for(var r=!1,s=0;s<e.length;s++)if(e[s].name.toLowerCase()==i){r=!0;break}r?(25==++n&&(n=0,o++),i="ijkmnopqrstuvwxyzabcdefgh".charAt(n),1<o&&(i+=o)):t=i}else t="i";return t},Blockly.Variables.createVariableButtonHandler=function(e,t,o){var n=o||"",i=function(o){Blockly.Variables.promptName(Blockly.Msg.NEW_VARIABLE_TITLE,o,(function(o){if(o){var r=Blockly.Variables.nameUsedWithAnyType_(o,e);if(r){var s=o.toLowerCase();if(r.type==n)var a=Blockly.Msg.VARIABLE_ALREADY_EXISTS.replace("%1",s);else a=(a=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE).replace("%1",s).replace("%2",r.type);Blockly.alert(a,(function(){i(o)}))}else e.createVariable(o,n),t&&t(o)}else t&&t(null)}))};i("")},goog.exportSymbol("Blockly.Variables.createVariableButtonHandler",Blockly.Variables.createVariableButtonHandler),Blockly.Variables.createVariable=Blockly.Variables.createVariableButtonHandler,goog.exportSymbol("Blockly.Variables.createVariable",Blockly.Variables.createVariable),Blockly.Variables.renameVariable=function(e,t,o){var n=function(i){var r=Blockly.Msg.RENAME_VARIABLE_TITLE.replace("%1",t.name);Blockly.Variables.promptName(r,i,(function(i){if(i){var r=Blockly.Variables.nameUsedWithOtherType_(i,t.type,e);r?(r=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE.replace("%1",i.toLowerCase()).replace("%2",r.type),Blockly.alert(r,(function(){n(i)}))):(e.renameVariableById(t.getId(),i),o&&o(i))}else o&&o(null)}))};n("")},Blockly.Variables.promptName=function(e,t,o){Blockly.prompt(e,t,(function(e){e&&((e=e.replace(/[\s\xa0]+/g," ").trim())==Blockly.Msg.RENAME_VARIABLE||e==Blockly.Msg.NEW_VARIABLE)&&(e=null),o(e)}))},Blockly.Variables.nameUsedWithOtherType_=function(e,t,o){o=o.getVariableMap().getAllVariables(),e=e.toLowerCase();for(var n,i=0;n=o[i];i++)if(n.name.toLowerCase()==e&&n.type!=t)return n;return null},Blockly.Variables.nameUsedWithAnyType_=function(e,t){var o=t.getVariableMap().getAllVariables();e=e.toLowerCase();for(var n,i=0;n=o[i];i++)if(n.name.toLowerCase()==e)return n;return null},Blockly.Variables.generateVariableFieldDom=function(e){var t=Blockly.utils.xml.createElement("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=Blockly.utils.xml.createTextNode(e.name),t.appendChild(e),t},Blockly.Variables.getOrCreateVariablePackage=function(e,t,o,n){var i=Blockly.Variables.getVariable(e,t,o,n);return i||(i=Blockly.Variables.createVariable_(e,t,o,n)),i},Blockly.Variables.getVariable=function(e,t,o,n){var i=e.getPotentialVariableMap();if(t){var r=e.getVariableById(t);if(!r&&i&&(r=i.getVariableById(t)),r)return r}if(o){if(null==n)throw Error("Tried to look up a variable by name without a type");!(r=e.getVariable(o,n))&&i&&(r=i.getVariable(o,n))}return r},Blockly.Variables.createVariable_=function(e,t,o,n){var i=e.getPotentialVariableMap();return o||(o=Blockly.Variables.generateUniqueName(e.isFlyout?e.targetWorkspace:e)),i?i.createVariable(o,n,t):e.createVariable(o,n,t)},Blockly.Variables.getAddedVariables=function(e,t){var o=e.getAllVariables(),n=[];if(t.length!=o.length)for(var i=0;i<o.length;i++){var r=o[i];-1==t.indexOf(r)&&n.push(r)}return n},Blockly.VariablesDynamic={},Blockly.VariablesDynamic.onCreateVariableButtonClick_String=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"String")},Blockly.VariablesDynamic.onCreateVariableButtonClick_Number=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"Number")},Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"Colour")},Blockly.VariablesDynamic.flyoutCategory=function(e){var t=[],o=document.createElement("button");return o.setAttribute("text",Blockly.Msg.NEW_STRING_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(o),(o=document.createElement("button")).setAttribute("text",Blockly.Msg.NEW_NUMBER_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(o),(o=document.createElement("button")).setAttribute("text",Blockly.Msg.NEW_COLOUR_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(o),e.registerButtonCallback("CREATE_VARIABLE_STRING",Blockly.VariablesDynamic.onCreateVariableButtonClick_String),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",Blockly.VariablesDynamic.onCreateVariableButtonClick_Number),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour),e=Blockly.VariablesDynamic.flyoutCategoryBlocks(e),t.concat(e)},Blockly.VariablesDynamic.flyoutCategoryBlocks=function(e){var t=[];if(0<(e=e.getAllVariables()).length){if(Blockly.Blocks.variables_set_dynamic){var o=e[e.length-1],n=Blockly.utils.xml.createElement("block");n.setAttribute("type","variables_set_dynamic"),n.setAttribute("gap",24),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),t.push(n)}if(Blockly.Blocks.variables_get_dynamic){e.sort(Blockly.VariableModel.compareByName),o=0;for(var i;i=e[o];o++)(n=Blockly.utils.xml.createElement("block")).setAttribute("type","variables_get_dynamic"),n.setAttribute("gap",8),n.appendChild(Blockly.Variables.generateVariableFieldDom(i)),t.push(n)}}return t},Blockly.WorkspaceAudio=function(e){this.parentWorkspace_=e,this.SOUNDS_=Object.create(null)},Blockly.WorkspaceAudio.prototype.lastSound_=null,Blockly.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null},Blockly.WorkspaceAudio.prototype.load=function(e,t){if(e.length){try{var o=new Blockly.utils.global.Audio}catch(e){return}for(var n,i=0;i<e.length;i++){var r=e[i],s=r.match(/\.(\w+)$/);if(s&&o.canPlayType("audio/"+s[1])){n=new Blockly.utils.global.Audio(r);break}}n&&n.play&&(this.SOUNDS_[t]=n)}},Blockly.WorkspaceAudio.prototype.preload=function(){for(var e in this.SOUNDS_){var t=this.SOUNDS_[e];if(t.volume=.01,t.play().catch((function(){})),t.pause(),Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.IPHONE)break}},Blockly.WorkspaceAudio.prototype.play=function(e,t){var o=this.SOUNDS_[e];if(o){var n=new Date;null!=this.lastSound_&&n-this.lastSound_<Blockly.SOUND_LIMIT||(this.lastSound_=n,(o=Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.ANDROID?o:o.cloneNode()).volume=void 0===t?1:t,o.play())}else this.parentWorkspace_&&this.parentWorkspace_.getAudioManager().play(e,t)},Blockly.WorkspaceCommentSvg.render={},Blockly.WorkspaceCommentSvg.RESIZE_SIZE=8,Blockly.WorkspaceCommentSvg.BORDER_RADIUS=3,Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET=2,Blockly.WorkspaceCommentSvg.TOP_OFFSET=10,Blockly.WorkspaceCommentSvg.prototype.getHeightWidth=function(){return{width:this.getWidth(),height:this.getHeight()}},Blockly.WorkspaceCommentSvg.prototype.render=function(){if(!this.rendered_){var e=this.getHeightWidth();this.createEditor_(),this.svgGroup_.appendChild(this.foreignObject_),this.svgHandleTarget_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentHandleTarget",x:0,y:0}),this.svgGroup_.appendChild(this.svgHandleTarget_),this.svgRectTarget_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentTarget",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS}),this.svgGroup_.appendChild(this.svgRectTarget_),this.addResizeDom_(),this.isDeletable()&&this.addDeleteDom_(),this.setSize_(e.width,e.height),this.textarea_.value=this.content_,this.rendered_=!0,this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_),this.isDeletable()&&(Blockly.bindEventWithChecks_(this.deleteGroup_,"mousedown",this,this.deleteMouseDown_),Blockly.bindEventWithChecks_(this.deleteGroup_,"mouseout",this,this.deleteMouseOut_),Blockly.bindEventWithChecks_(this.deleteGroup_,"mouseup",this,this.deleteMouseUp_))}},Blockly.WorkspaceCommentSvg.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.dom.createSvgElement("foreignObject",{x:0,y:Blockly.WorkspaceCommentSvg.TOP_OFFSET,class:"blocklyCommentForeignObject"},null);var e=document.createElementNS(Blockly.utils.dom.HTML_NS,"body");e.setAttribute("xmlns",Blockly.utils.dom.HTML_NS),e.className="blocklyMinimalBody";var t=document.createElementNS(Blockly.utils.dom.HTML_NS,"textarea");return t.className="blocklyCommentTextarea",t.setAttribute("dir",this.RTL?"RTL":"LTR"),e.appendChild(t),this.textarea_=t,this.foreignObject_.appendChild(e),Blockly.bindEventWithChecks_(t,"wheel",this,(function(e){e.stopPropagation()})),Blockly.bindEventWithChecks_(t,"change",this,(function(e){this.setContent(t.value)})),this.foreignObject_},Blockly.WorkspaceCommentSvg.prototype.addResizeDom_=function(){this.resizeGroup_=Blockly.utils.dom.createSvgElement("g",{class:this.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.svgGroup_);var e=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;Blockly.utils.dom.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,e.toString())},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:e/3,y1:e-1,x2:e-1,y2:e/3},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:2*e/3,y1:e-1,x2:e-1,y2:2*e/3},this.resizeGroup_)},Blockly.WorkspaceCommentSvg.prototype.addDeleteDom_=function(){this.deleteGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyCommentDeleteIcon"},this.svgGroup_),this.deleteIconBorder_=Blockly.utils.dom.createSvgElement("circle",{class:"blocklyDeleteIconShape",r:"7",cx:"7.5",cy:"7.5"},this.deleteGroup_),Blockly.utils.dom.createSvgElement("line",{x1:"5",y1:"10",x2:"10",y2:"5",stroke:"#fff","stroke-width":"2"},this.deleteGroup_),Blockly.utils.dom.createSvgElement("line",{x1:"5",y1:"5",x2:"10",y2:"10",stroke:"#fff","stroke-width":"2"},this.deleteGroup_)},Blockly.WorkspaceCommentSvg.prototype.resizeMouseDown_=function(e){this.unbindDragEvents_(),Blockly.utils.isRightButton(e)||(this.workspace.startDrag(e,new Blockly.utils.Coordinate(this.workspace.RTL?-this.width_:this.width_,this.height_)),this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.resizeMouseUp_),this.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff()),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.deleteMouseDown_=function(e){Blockly.utils.dom.addClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted"),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.deleteMouseOut_=function(e){Blockly.utils.dom.removeClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted")},Blockly.WorkspaceCommentSvg.prototype.deleteMouseUp_=function(e){this.dispose(!0,!0),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.unbindDragEvents_=function(){this.onMouseUpWrapper_&&(Blockly.unbindEvent_(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(Blockly.unbindEvent_(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)},Blockly.WorkspaceCommentSvg.prototype.resizeMouseUp_=function(){Blockly.Touch.clearTouchIdentifier(),this.unbindDragEvents_()},Blockly.WorkspaceCommentSvg.prototype.resizeMouseMove_=function(e){this.autoLayout_=!1,e=this.workspace.moveDrag(e),this.setSize_(this.RTL?-e.x:e.x,e.y)},Blockly.WorkspaceCommentSvg.prototype.resizeComment_=function(){var e=this.getHeightWidth(),t=Blockly.WorkspaceCommentSvg.TOP_OFFSET,o=2*Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET;this.foreignObject_.setAttribute("width",e.width),this.foreignObject_.setAttribute("height",e.height-t),this.RTL&&this.foreignObject_.setAttribute("x",-e.width),this.textarea_.style.width=e.width-o+"px",this.textarea_.style.height=e.height-o-t+"px"},Blockly.WorkspaceCommentSvg.prototype.setSize_=function(e,t){e=Math.max(e,45),t=Math.max(t,20+Blockly.WorkspaceCommentSvg.TOP_OFFSET),this.width_=e,this.height_=t,this.svgRect_.setAttribute("width",e),this.svgRect_.setAttribute("height",t),this.svgRectTarget_.setAttribute("width",e),this.svgRectTarget_.setAttribute("height",t),this.svgHandleTarget_.setAttribute("width",e),this.svgHandleTarget_.setAttribute("height",Blockly.WorkspaceCommentSvg.TOP_OFFSET),this.RTL&&(this.svgRect_.setAttribute("transform","scale(-1 1)"),this.svgRectTarget_.setAttribute("transform","scale(-1 1)"));var o=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;this.resizeGroup_&&(this.RTL?(this.resizeGroup_.setAttribute("transform","translate("+(-e+o)+","+(t-o)+") scale(-1 1)"),this.deleteGroup_.setAttribute("transform","translate("+(-e+o)+","+-o+") scale(-1 1)")):(this.resizeGroup_.setAttribute("transform","translate("+(e-o)+","+(t-o)+")"),this.deleteGroup_.setAttribute("transform","translate("+(e-o)+","+-o+")"))),this.resizeComment_()},Blockly.WorkspaceCommentSvg.prototype.disposeInternal_=function(){this.svgHandleTarget_=this.svgRectTarget_=this.foreignObject_=this.textarea_=null,this.disposed_=!0},Blockly.WorkspaceCommentSvg.prototype.setFocus=function(){var e=this;this.focused_=!0,setTimeout((function(){e.disposed_||(e.textarea_.focus(),e.addFocus(),Blockly.utils.dom.addClass(e.svgRectTarget_,"blocklyCommentTargetFocused"),Blockly.utils.dom.addClass(e.svgHandleTarget_,"blocklyCommentHandleTargetFocused"))}),0)},Blockly.WorkspaceCommentSvg.prototype.blurFocus=function(){var e=this;this.focused_=!1,setTimeout((function(){e.disposed_||(e.textarea_.blur(),e.removeFocus(),Blockly.utils.dom.removeClass(e.svgRectTarget_,"blocklyCommentTargetFocused"),Blockly.utils.dom.removeClass(e.svgHandleTarget_,"blocklyCommentHandleTargetFocused"))}),0)},Blockly.WorkspaceDragSurfaceSvg=function(e){this.container_=e,this.createDom()},Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.dragGroup_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklyWsDragSurface blocklyOverflowVisible"},null),this.container_.appendChild(this.SVG_))},Blockly.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(e,t){var o=e.toFixed(0),n=t.toFixed(0);this.SVG_.style.display="block",Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+o+"px, "+n+"px, 0px)")},Blockly.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return Blockly.utils.getRelativeXY(this.SVG_)},Blockly.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(e){if(!e)throw Error("Couldn't clear and hide the drag surface: missing new surface.");var t=this.SVG_.childNodes[0],o=this.SVG_.childNodes[1];if(!(t&&o&&Blockly.utils.dom.hasClass(t,"blocklyBlockCanvas")&&Blockly.utils.dom.hasClass(o,"blocklyBubbleCanvas")))throw Error("Couldn't clear and hide the drag surface. A node was missing.");if(null!=this.previousSibling_?Blockly.utils.dom.insertAfter(t,this.previousSibling_):e.insertBefore(t,e.firstChild),Blockly.utils.dom.insertAfter(o,t),this.SVG_.style.display="none",this.SVG_.childNodes.length)throw Error("Drag surface was not cleared.");Blockly.utils.dom.setCssTransform(this.SVG_,""),this.previousSibling_=null},Blockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(e,t,o,n,i,r){if(this.SVG_.childNodes.length)throw Error("Already dragging a block.");this.previousSibling_=o,e.setAttribute("transform","translate(0, 0) scale("+r+")"),t.setAttribute("transform","translate(0, 0) scale("+r+")"),this.SVG_.setAttribute("width",n),this.SVG_.setAttribute("height",i),this.SVG_.appendChild(e),this.SVG_.appendChild(t),this.SVG_.style.display="block"},Blockly.ZoomControls=function(e){this.workspace_=e},Blockly.ZoomControls.prototype.WIDTH_=32,Blockly.ZoomControls.prototype.HEIGHT_=110,Blockly.ZoomControls.prototype.MARGIN_BOTTOM_=20,Blockly.ZoomControls.prototype.MARGIN_SIDE_=20,Blockly.ZoomControls.prototype.svgGroup_=null,Blockly.ZoomControls.prototype.left_=0,Blockly.ZoomControls.prototype.top_=0,Blockly.ZoomControls.prototype.createDom=function(){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},null);var e=String(Math.random()).substring(2);return this.createZoomOutSvg_(e),this.createZoomInSvg_(e),this.workspace_.isMovable()&&this.createZoomResetSvg_(e),this.svgGroup_},Blockly.ZoomControls.prototype.init=function(e){return this.verticalSpacing_=this.MARGIN_BOTTOM_+e,this.verticalSpacing_+this.HEIGHT_},Blockly.ZoomControls.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.workspace_=null},Blockly.ZoomControls.prototype.position=function(){if(this.verticalSpacing_){var e=this.workspace_.getMetrics();e&&(this.left_=e.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.workspace_.horizontalLayout&&!this.workspace_.RTL?e.viewWidth+e.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness:this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,e.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?(this.top_=this.verticalSpacing_,this.zoomInGroup_.setAttribute("transform","translate(0, 34)"),this.zoomResetGroup_&&this.zoomResetGroup_.setAttribute("transform","translate(0, 77)")):(this.top_=e.viewHeight+e.absoluteTop-this.HEIGHT_-this.verticalSpacing_,this.zoomInGroup_.setAttribute("transform","translate(0, 43)"),this.zoomOutGroup_.setAttribute("transform","translate(0, 77)")),this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))}},Blockly.ZoomControls.prototype.createZoomOutSvg_=function(e){var t=this.workspace_;this.zoomOutGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.zoomCenter(-1),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.ZoomControls.prototype.createZoomInSvg_=function(e){var t=this.workspace_;this.zoomInGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoominClipPath"+e},this.zoomInGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.zoomCenter(1),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.ZoomControls.prototype.createZoomResetSvg_=function(e){var t=this.workspace_;this.zoomResetGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.setScale(t.options.zoomOptions.startScale),t.beginCanvasTransition(),t.scrollCenter(),setTimeout((function(){t.endCanvasTransition()}),500),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.WorkspaceSvg=function(e,t,o){Blockly.WorkspaceSvg.superClass_.constructor.call(this,e),this.getMetrics=e.getMetrics||Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_,this.setMetrics=e.setMetrics||Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_,this.connectionDBList=Blockly.ConnectionDB.init(),t&&(this.blockDragSurface_=t),o&&(this.workspaceDragSurface_=o),this.useWorkspaceDragSurface_=this.workspaceDragSurface_&&Blockly.utils.is3dSupported(),this.highlightedBlocks_=[],this.audioManager_=new Blockly.WorkspaceAudio(e.parentWorkspace),this.grid_=this.options.gridPattern?new Blockly.Grid(e.gridPattern,e.gridOptions):null,Blockly.Variables&&Blockly.Variables.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_CATEGORY_NAME,Blockly.Variables.flyoutCategory),Blockly.VariablesDynamic&&Blockly.VariablesDynamic.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME,Blockly.VariablesDynamic.flyoutCategory),Blockly.Procedures&&Blockly.Procedures.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.PROCEDURE_CATEGORY_NAME,Blockly.Procedures.flyoutCategory)},goog.inherits(Blockly.WorkspaceSvg,Blockly.Workspace),Blockly.WorkspaceSvg.prototype.resizeHandlerWrapper_=null,Blockly.WorkspaceSvg.prototype.rendered=!0,Blockly.WorkspaceSvg.prototype.isVisible_=!0,Blockly.WorkspaceSvg.prototype.isFlyout=!1,Blockly.WorkspaceSvg.prototype.isMutator=!1,Blockly.WorkspaceSvg.prototype.resizesEnabled_=!0,Blockly.WorkspaceSvg.prototype.scrollX=0,Blockly.WorkspaceSvg.prototype.scrollY=0,Blockly.WorkspaceSvg.prototype.startScrollX=0,Blockly.WorkspaceSvg.prototype.startScrollY=0,Blockly.WorkspaceSvg.prototype.dragDeltaXY_=null,Blockly.WorkspaceSvg.prototype.scale=1,Blockly.WorkspaceSvg.prototype.trashcan=null,Blockly.WorkspaceSvg.prototype.scrollbar=null,Blockly.WorkspaceSvg.prototype.flyout_=null,Blockly.WorkspaceSvg.prototype.toolbox_=null,Blockly.WorkspaceSvg.prototype.currentGesture_=null,Blockly.WorkspaceSvg.prototype.blockDragSurface_=null,Blockly.WorkspaceSvg.prototype.workspaceDragSurface_=null,Blockly.WorkspaceSvg.prototype.useWorkspaceDragSurface_=!1,Blockly.WorkspaceSvg.prototype.isDragSurfaceActive_=!1,Blockly.WorkspaceSvg.prototype.injectionDiv_=null,Blockly.WorkspaceSvg.prototype.lastRecordedPageScroll_=null,Blockly.WorkspaceSvg.prototype.flyoutButtonCallbacks_={},Blockly.WorkspaceSvg.prototype.toolboxCategoryCallbacks_={},Blockly.WorkspaceSvg.prototype.configureContextMenu=null,Blockly.WorkspaceSvg.prototype.targetWorkspace=null,Blockly.WorkspaceSvg.prototype.inverseScreenCTM_=null,Blockly.WorkspaceSvg.prototype.inverseScreenCTMDirty_=!0,Blockly.WorkspaceSvg.prototype.getInverseScreenCTM=function(){if(this.inverseScreenCTMDirty_){var e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM_=e.inverse(),this.inverseScreenCTMDirty_=!1)}return this.inverseScreenCTM_},Blockly.WorkspaceSvg.prototype.updateInverseScreenCTM=function(){this.inverseScreenCTMDirty_=!0},Blockly.WorkspaceSvg.prototype.isVisible=function(){return this.isVisible_},Blockly.WorkspaceSvg.prototype.getSvgXY=function(e){var t=0,o=0,n=1;(Blockly.utils.dom.containsNode(this.getCanvas(),e)||Blockly.utils.dom.containsNode(this.getBubbleCanvas(),e))&&(n=this.scale);do{var i=Blockly.utils.getRelativeXY(e);e!=this.getCanvas()&&e!=this.getBubbleCanvas()||(n=1),t+=i.x*n,o+=i.y*n,e=e.parentNode}while(e&&e!=this.getParentSvg());return new Blockly.utils.Coordinate(t,o)},Blockly.WorkspaceSvg.prototype.getOriginOffsetInPixels=function(){return Blockly.utils.getInjectionDivXY_(this.svgBlockCanvas_)},Blockly.WorkspaceSvg.prototype.getInjectionDiv=function(){if(!this.injectionDiv_)for(var e=this.svgGroup_;e;){if(-1!=(" "+(e.getAttribute("class")||"")+" ").indexOf(" injectionDiv ")){this.injectionDiv_=e;break}e=e.parentNode}return this.injectionDiv_},Blockly.WorkspaceSvg.prototype.setResizeHandlerWrapper=function(e){this.resizeHandlerWrapper_=e},Blockly.WorkspaceSvg.prototype.createDom=function(e){return this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyWorkspace"},null),e&&(this.svgBackground_=Blockly.utils.dom.createSvgElement("rect",{height:"100%",width:"100%",class:e},this.svgGroup_),"blocklyMainBackground"==e&&this.grid_&&(this.svgBackground_.style.fill="url(#"+this.grid_.getPatternId()+")")),this.svgBlockCanvas_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyBlockCanvas"},this.svgGroup_),this.svgBubbleCanvas_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyBubbleCanvas"},this.svgGroup_),this.isFlyout||(Blockly.bindEventWithChecks_(this.svgGroup_,"mousedown",this,this.onMouseDown_,!1,!0),Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.onMouseWheel_)),this.options.hasCategories&&(this.toolbox_=new Blockly.Toolbox(this)),this.grid_&&this.grid_.update(this.scale),this.recordDeleteAreas(),this.svgGroup_},Blockly.WorkspaceSvg.prototype.dispose=function(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),Blockly.WorkspaceSvg.superClass_.dispose.call(this),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.svgBubbleCanvas_=this.svgBlockCanvas_=null,this.toolbox_&&(this.toolbox_.dispose(),this.toolbox_=null),this.flyout_&&(this.flyout_.dispose(),this.flyout_=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&(this.zoomControls_.dispose(),this.zoomControls_=null),this.audioManager_&&(this.audioManager_.dispose(),this.audioManager_=null),this.grid_&&(this.grid_.dispose(),this.grid_=null),this.flyoutButtonCallbacks_=this.toolboxCategoryCallbacks_=this.connectionDBList=null,!this.options.parentWorkspace){var e=this.getParentSvg().parentNode;e&&Blockly.utils.dom.removeNode(e)}this.resizeHandlerWrapper_&&(Blockly.unbindEvent_(this.resizeHandlerWrapper_),this.resizeHandlerWrapper_=null)},Blockly.WorkspaceSvg.prototype.newBlock=function(e,t){return new Blockly.BlockSvg(this,e,t)},Blockly.WorkspaceSvg.prototype.addTrashcan=function(){this.trashcan=new Blockly.Trashcan(this);var e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.svgBlockCanvas_)},Blockly.WorkspaceSvg.prototype.addZoomControls=function(){this.zoomControls_=new Blockly.ZoomControls(this);var e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)},Blockly.WorkspaceSvg.prototype.addFlyout_=function(e){var t={disabledPatternId:this.options.disabledPatternId,parentWorkspace:this,RTL:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,toolboxPosition:this.options.toolboxPosition};return this.flyout_=this.horizontalLayout?new Blockly.HorizontalFlyout(t):new Blockly.VerticalFlyout(t),this.flyout_.autoClose=!1,this.flyout_.createDom(e)},Blockly.WorkspaceSvg.prototype.getFlyout=function(){return this.flyout_?this.flyout_:this.toolbox_?this.toolbox_.flyout_:null},Blockly.WorkspaceSvg.prototype.getToolbox=function(){return this.toolbox_},Blockly.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM(),this.recordDeleteAreas()},Blockly.WorkspaceSvg.prototype.resizeContents=function(){if(this.resizesEnabled_&&this.rendered){if(this.scrollbar){var e=this.getMetrics();this.scrollbar.hScroll.resizeContentHorizontal(e),this.scrollbar.vScroll.resizeContentVertical(e)}this.updateInverseScreenCTM()}},Blockly.WorkspaceSvg.prototype.resize=function(){this.toolbox_&&this.toolbox_.position(),this.flyout_&&this.flyout_.position(),this.trashcan&&this.trashcan.position(),this.zoomControls_&&this.zoomControls_.position(),this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations_()},Blockly.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var e=Blockly.utils.getDocumentScroll();Blockly.utils.Coordinate.equals(this.lastRecordedPageScroll_,e)||(this.lastRecordedPageScroll_=e,this.updateScreenCalculations_())},Blockly.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_},Blockly.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_},Blockly.WorkspaceSvg.prototype.getParentSvg=function(){if(this.cachedParentSvg_)return this.cachedParentSvg_;for(var e=this.svgGroup_;e;){if("svg"==e.tagName)return this.cachedParentSvg_=e;e=e.parentNode}return null},Blockly.WorkspaceSvg.prototype.translate=function(e,t){if(this.useWorkspaceDragSurface_&&this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(e,t);else{var o="translate("+e+","+t+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",o),this.svgBubbleCanvas_.setAttribute("transform",o)}this.blockDragSurface_&&this.blockDragSurface_.translateAndScaleGroup(e,t,this.scale),this.grid_&&this.grid_.moveTo(e,t)},Blockly.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var e=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_),e="translate("+e.x+","+e.y+") scale("+this.scale+")",this.svgBlockCanvas_.setAttribute("transform",e),this.svgBubbleCanvas_.setAttribute("transform",e)}},Blockly.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_&&!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var e=this.svgBlockCanvas_.previousSibling,t=parseInt(this.getParentSvg().getAttribute("width"),10),o=parseInt(this.getParentSvg().getAttribute("height"),10),n=Blockly.utils.getRelativeXY(this.svgBlockCanvas_);this.workspaceDragSurface_.setContentsAndShow(this.svgBlockCanvas_,this.svgBubbleCanvas_,e,t,o,this.scale),this.workspaceDragSurface_.translateSurface(n.x,n.y)}},Blockly.WorkspaceSvg.prototype.getBlockDragSurface=function(){return this.blockDragSurface_},Blockly.WorkspaceSvg.prototype.getWidth=function(){var e=this.getMetrics();return e?e.viewWidth/this.scale:0},Blockly.WorkspaceSvg.prototype.setVisible=function(e){this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox_&&(this.toolbox_.HtmlDiv.style.display=e?"block":"none"),e?(this.render(),this.toolbox_&&this.toolbox_.position()):Blockly.hideChaff(!0),this.isVisible_=e},Blockly.WorkspaceSvg.prototype.render=function(){for(var e=this.getAllBlocks(!1),t=e.length-1;0<=t;t--)e[t].render(!1);if(this.currentGesture_)for(e=this.currentGesture_.getInsertionMarkers(),t=0;t<e.length;t++)e[t].render(!1)},Blockly.WorkspaceSvg.prototype.traceOn=function(){console.warn("Deprecated call to traceOn, delete this.")},Blockly.WorkspaceSvg.prototype.highlightBlock=function(e,t){if(void 0===t){for(var o,n=0;o=this.highlightedBlocks_[n];n++)o.setHighlighted(!1);this.highlightedBlocks_.length=0}(o=e?this.getBlockById(e):null)&&((n=void 0===t||t)?-1==this.highlightedBlocks_.indexOf(o)&&this.highlightedBlocks_.push(o):Blockly.utils.arrayRemove(this.highlightedBlocks_,o),o.setHighlighted(n))},Blockly.WorkspaceSvg.prototype.paste=function(e){!this.rendered||e.getElementsByTagName("block").length>=this.remainingCapacity()||(this.currentGesture_&&this.currentGesture_.cancel(),"comment"==e.tagName.toLowerCase()?this.pasteWorkspaceComment_(e):this.pasteBlock_(e))},Blockly.WorkspaceSvg.prototype.pasteBlock_=function(e){Blockly.Events.disable();try{var t=Blockly.Xml.domToBlock(e,this),o=parseInt(e.getAttribute("x"),10),n=parseInt(e.getAttribute("y"),10);if(!isNaN(o)&&!isNaN(n)){this.RTL&&(o=-o);do{e=!1;for(var i,r=this.getAllBlocks(!1),s=0;i=r[s];s++){var a=i.getRelativeToSurfaceXY();if(1>=Math.abs(o-a.x)&&1>=Math.abs(n-a.y)){e=!0;break}}if(!e){var l,u=t.getConnections_(!1);for(s=0;l=u[s];s++)if(l.closest(Blockly.SNAP_RADIUS,new Blockly.utils.Coordinate(o,n)).connection){e=!0;break}}e&&(o=this.RTL?o-Blockly.SNAP_RADIUS:o+Blockly.SNAP_RADIUS,n+=2*Blockly.SNAP_RADIUS)}while(e);t.moveBy(o,n)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!t.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(t)),t.select()},Blockly.WorkspaceSvg.prototype.pasteWorkspaceComment_=function(e){Blockly.Events.disable();try{var t=Blockly.WorkspaceCommentSvg.fromXml(e,this),o=parseInt(e.getAttribute("x"),10),n=parseInt(e.getAttribute("y"),10);isNaN(o)||isNaN(n)||(this.RTL&&(o=-o),t.moveBy(o+50,n+50))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled(),t.select()},Blockly.WorkspaceSvg.prototype.refreshToolboxSelection=function(){var e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox_&&e.toolbox_.flyout_&&e.toolbox_.refreshSelection()},Blockly.WorkspaceSvg.prototype.renameVariableById=function(e,t){Blockly.WorkspaceSvg.superClass_.renameVariableById.call(this,e,t),this.refreshToolboxSelection()},Blockly.WorkspaceSvg.prototype.deleteVariableById=function(e){Blockly.WorkspaceSvg.superClass_.deleteVariableById.call(this,e),this.refreshToolboxSelection()},Blockly.WorkspaceSvg.prototype.createVariable=function(e,t,o){return e=Blockly.WorkspaceSvg.superClass_.createVariable.call(this,e,t,o),this.refreshToolboxSelection(),e},Blockly.WorkspaceSvg.prototype.recordDeleteAreas=function(){this.deleteAreaTrash_=this.trashcan&&this.svgGroup_.parentNode?this.trashcan.getClientRect():null,this.deleteAreaToolbox_=this.flyout_?this.flyout_.getClientRect():this.toolbox_?this.toolbox_.getClientRect():null},Blockly.WorkspaceSvg.prototype.isDeleteArea=function(e){return this.deleteAreaTrash_&&this.deleteAreaTrash_.contains(e.clientX,e.clientY)?Blockly.DELETE_AREA_TRASH:this.deleteAreaToolbox_&&this.deleteAreaToolbox_.contains(e.clientX,e.clientY)?Blockly.DELETE_AREA_TOOLBOX:Blockly.DELETE_AREA_NONE},Blockly.WorkspaceSvg.prototype.onMouseDown_=function(e){var t=this.getGesture(e);t&&t.handleWsStart(e,this)},Blockly.WorkspaceSvg.prototype.startDrag=function(e,t){var o=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM());o.x/=this.scale,o.y/=this.scale,this.dragDeltaXY_=Blockly.utils.Coordinate.difference(t,o)},Blockly.WorkspaceSvg.prototype.moveDrag=function(e){return(e=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM())).x/=this.scale,e.y/=this.scale,Blockly.utils.Coordinate.sum(this.dragDeltaXY_,e)},Blockly.WorkspaceSvg.prototype.isDragging=function(){return null!=this.currentGesture_&&this.currentGesture_.isDragging()},Blockly.WorkspaceSvg.prototype.isDraggable=function(){return this.options.moveOptions&&this.options.moveOptions.drag},Blockly.WorkspaceSvg.prototype.isContentBounded=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.controls||this.options.zoomOptions&&this.options.zoomOptions.wheel},Blockly.WorkspaceSvg.prototype.isMovable=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel},Blockly.WorkspaceSvg.prototype.onMouseWheel_=function(e){if(Blockly.Gesture.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,o=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||o){var n=Blockly.utils.getScrollDeltaPixels(e);!t||!e.ctrlKey&&o?(t=this.scrollX-n.x,o=this.scrollY-n.y,e.shiftKey&&!n.x&&(t=this.scrollX-n.y,o=this.scrollY),this.scroll(t,o)):(n=-n.y/50,t=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,n)),e.preventDefault()}}},Blockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var e=this.getTopBlocks(!1),t=this.getTopComments(!1);if(!(e=e.concat(t)).length)return new Blockly.utils.Rect(0,0,0,0);t=e[0].getBoundingRectangle();for(var o=1;o<e.length;o++){var n=e[o].getBoundingRectangle();n.top<t.top&&(t.top=n.top),n.bottom>t.bottom&&(t.bottom=n.bottom),n.left<t.left&&(t.left=n.left),n.right>t.right&&(t.right=n.right)}return t},Blockly.WorkspaceSvg.prototype.cleanUp=function(){this.setResizesEnabled(!1),Blockly.Events.setGroup(!0);for(var e,t=this.getTopBlocks(!0),o=0,n=0;e=t[n];n++)if(e.isMovable()){var i=e.getRelativeToSurfaceXY();e.moveBy(-i.x,o-i.y),e.snapToGrid(),o=e.getRelativeToSurfaceXY().y+e.getHeightWidth().height+Blockly.BlockSvg.MIN_BLOCK_Y}Blockly.Events.setGroup(!1),this.setResizesEnabled(!0)},Blockly.WorkspaceSvg.prototype.showContextMenu_=function(e){function t(e){if(e.isDeletable())d=d.concat(e.getDescendants(!1));else{e=e.getChildren(!1);for(var o=0;o<e.length;o++)t(e[o])}}function o(){Blockly.Events.setGroup(r);var e=d.shift();e&&(e.workspace?(e.dispose(!1,!0),setTimeout(o,10)):o()),Blockly.Events.setGroup(!1)}if(!this.options.readOnly&&!this.isFlyout){var n=[],i=this.getTopBlocks(!0),r=Blockly.utils.genUid(),s=this,a={};if(a.text=Blockly.Msg.UNDO,a.enabled=0<this.undoStack_.length,a.callback=this.undo.bind(this,!1),n.push(a),(a={}).text=Blockly.Msg.REDO,a.enabled=0<this.redoStack_.length,a.callback=this.undo.bind(this,!0),n.push(a),this.isMovable()&&((a={}).text=Blockly.Msg.CLEAN_UP,a.enabled=1<i.length,a.callback=this.cleanUp.bind(this),n.push(a)),this.options.collapse){for(var l=a=!1,u=0;u<i.length;u++)for(var c=i[u];c;)c.isCollapsed()?a=!0:l=!0,c=c.getNextBlock();var h=function(e){for(var t=0,o=0;o<i.length;o++)for(var n=i[o];n;)setTimeout(n.setCollapsed.bind(n,e),t),n=n.getNextBlock(),t+=10};(l={enabled:l}).text=Blockly.Msg.COLLAPSE_ALL,l.callback=function(){h(!0)},n.push(l),(a={enabled:a}).text=Blockly.Msg.EXPAND_ALL,a.callback=function(){h(!1)},n.push(a)}var d=[];for(u=0;u<i.length;u++)t(i[u]);a={text:1==d.length?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(d.length)),enabled:0<d.length,callback:function(){s.currentGesture_&&s.currentGesture_.cancel(),2>d.length?o():Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace("%1",d.length),(function(e){e&&o()}))}},n.push(a),this.configureContextMenu&&this.configureContextMenu(n),Blockly.ContextMenu.show(e,n,this.RTL)}},Blockly.WorkspaceSvg.prototype.updateToolbox=function(e){if(e=Blockly.Options.parseToolboxTree(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null.  Can't create new toolbox.");if(e.getElementsByTagName("category").length){if(!this.toolbox_)throw Error("Existing toolbox has no categories.  Can't change mode.");this.options.languageTree=e,e=this.toolbox_.populate_(e),this.toolbox_.addColour_(),this.toolbox_.position(),this.toolbox_.tree_.setSelectedItem(e)}else{if(!this.flyout_)throw Error("Existing toolbox has categories.  Can't change mode.");this.options.languageTree=e,this.flyout_.show(e.childNodes)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")},Blockly.WorkspaceSvg.prototype.markFocused=function(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(Blockly.mainWorkspace=this,this.setBrowserFocus())},Blockly.WorkspaceSvg.prototype.setBrowserFocus=function(){document.activeElement&&document.activeElement.blur();try{this.getParentSvg().focus()}catch(e){try{this.getParentSvg().parentNode.setActive()}catch(e){this.getParentSvg().parentNode.focus()}}},Blockly.WorkspaceSvg.prototype.zoom=function(e,t,o){o=Math.pow(this.options.zoomOptions.scaleSpeed,o);var n=this.scale*o;if(this.scale!=n){n>this.options.zoomOptions.maxScale?o=this.options.zoomOptions.maxScale/this.scale:n<this.options.zoomOptions.minScale&&(o=this.options.zoomOptions.minScale/this.scale);var i=this.getCanvas().getCTM(),r=this.getParentSvg().createSVGPoint();r.x=e,r.y=t,e=(r=r.matrixTransform(i.inverse())).x,t=r.y,i=i.translate(e*(1-o),t*(1-o)).scale(o),this.scrollX=i.e,this.scrollY=i.f,this.setScale(n)}},Blockly.WorkspaceSvg.prototype.zoomCenter=function(e){var t=this.getMetrics();if(this.flyout_){var o=t.svgWidth/2;t=t.svgHeight/2}else o=t.viewWidth/2+t.absoluteLeft,t=t.viewHeight/2+t.absoluteTop;this.zoom(o,t,e)},Blockly.WorkspaceSvg.prototype.zoomToFit=function(){if(this.isMovable()){var e=this.getMetrics(),t=e.viewWidth;e=e.viewHeight;var o=this.getBlocksBoundingBox(),n=o.right-o.left;o=o.bottom-o.top,n&&(this.flyout_&&(this.horizontalLayout?(e+=this.flyout_.height_,o+=this.flyout_.height_/this.scale):(t+=this.flyout_.getWidth(),n+=this.flyout_.getWidth()/this.scale)),this.setScale(Math.min(t/n,e/o)),this.scrollCenter())}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.beginCanvasTransition=function(){Blockly.utils.dom.addClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning"),Blockly.utils.dom.addClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")},Blockly.WorkspaceSvg.prototype.endCanvasTransition=function(){Blockly.utils.dom.removeClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning"),Blockly.utils.dom.removeClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")},Blockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.isMovable()){var e=this.getMetrics(),t=(e.contentWidth-e.viewWidth)/2,o=(e.contentHeight-e.viewHeight)/2;t=-t-e.contentLeft,o=-o-e.contentTop,this.scroll(t,o)}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.centerOnBlock=function(e){if(this.isMovable()){if(e=this.getBlockById(e)){var t=e.getRelativeToSurfaceXY(),o=e.getHeightWidth(),n=this.scale;e=(t.x+(this.RTL?-1:1)*o.width/2)*n,t=(t.y+o.height/2)*n,e=-(e-(o=this.getMetrics()).contentLeft-o.viewWidth/2)-o.contentLeft,t=-(t-o.contentTop-o.viewHeight/2)-o.contentTop,Blockly.hideChaff(),this.scroll(e,t)}}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.setScale=function(e){this.options.zoomOptions.maxScale&&e>this.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&e<this.options.zoomOptions.minScale&&(e=this.options.zoomOptions.minScale),this.scale=e,Blockly.hideChaff(!1),this.flyout_&&(this.flyout_.reflow(),this.recordDeleteAreas()),this.grid_&&this.grid_.update(this.scale),e=this.getMetrics(),this.scrollX-=e.absoluteLeft,this.scrollY-=e.absoluteTop,e.viewLeft+=e.absoluteLeft,e.viewTop+=e.absoluteTop,this.scroll(this.scrollX,this.scrollY),this.scrollbar&&(this.flyout_?(this.scrollbar.hScroll.resizeViewHorizontal(e),this.scrollbar.vScroll.resizeViewVertical(e)):(this.scrollbar.hScroll.resizeContentHorizontal(e),this.scrollbar.vScroll.resizeContentVertical(e)))},Blockly.WorkspaceSvg.prototype.scroll=function(e,t){Blockly.hideChaff(!0);var o=this.getMetrics(),n=o.contentWidth+o.contentLeft-o.viewWidth,i=o.contentHeight+o.contentTop-o.viewHeight;e=Math.min(e,-o.contentLeft),t=Math.min(t,-o.contentTop),e=Math.max(e,-n),t=Math.max(t,-i),this.scrollX=e,this.scrollY=t,this.scrollbar&&(this.scrollbar.hScroll.setHandlePosition(-(e+o.contentLeft)*this.scrollbar.hScroll.ratio_),this.scrollbar.vScroll.setHandlePosition(-(t+o.contentTop)*this.scrollbar.vScroll.ratio_)),e+=o.absoluteLeft,t+=o.absoluteTop,this.translate(e,t)},Blockly.WorkspaceSvg.getDimensionsPx_=function(e){var t=0,o=0;return e&&(t=e.getWidth(),o=e.getHeight()),{width:t,height:o}},Blockly.WorkspaceSvg.getContentDimensions_=function(e,t){return e.isContentBounded()?Blockly.WorkspaceSvg.getContentDimensionsBounded_(e,t):Blockly.WorkspaceSvg.getContentDimensionsExact_(e)},Blockly.WorkspaceSvg.getContentDimensionsExact_=function(e){var t=e.getBlocksBoundingBox(),o=e.scale;e=t.top*o;var n=t.bottom*o,i=t.left*o;return{top:e,bottom:n,left:i,right:t=t.right*o,width:t-i,height:n-e}},Blockly.WorkspaceSvg.getContentDimensionsBounded_=function(e,t){var o=Blockly.WorkspaceSvg.getContentDimensionsExact_(e),n=t.width,i=t.height,r=n/2,s=i/2,a=Math.min(o.left-r,o.right-n),l=Math.min(o.top-s,o.bottom-i);return{left:a,top:l,height:Math.max(o.bottom+s,o.top+i)-l,width:Math.max(o.right+r,o.left+n)-a}},Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_=function(){var e=Blockly.WorkspaceSvg.getDimensionsPx_(this.toolbox_),t=Blockly.WorkspaceSvg.getDimensionsPx_(this.flyout_),o=Blockly.svgSize(this.getParentSvg()),n={height:o.height,width:o.width};this.toolbox_?this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?n.height-=e.height:this.toolboxPosition!=Blockly.TOOLBOX_AT_LEFT&&this.toolboxPosition!=Blockly.TOOLBOX_AT_RIGHT||(n.width-=e.width):this.flyout_&&(this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?n.height-=t.height:this.toolboxPosition!=Blockly.TOOLBOX_AT_LEFT&&this.toolboxPosition!=Blockly.TOOLBOX_AT_RIGHT||(n.width-=t.width));var i=Blockly.WorkspaceSvg.getContentDimensions_(this,n),r=0;this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?r=e.width:this.flyout_&&this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT&&(r=t.width);var s=0;return this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?s=e.height:this.flyout_&&this.toolboxPosition==Blockly.TOOLBOX_AT_TOP&&(s=t.height),{contentHeight:i.height,contentWidth:i.width,contentTop:i.top,contentLeft:i.left,viewHeight:n.height,viewWidth:n.width,viewTop:-this.scrollY,viewLeft:-this.scrollX,absoluteTop:s,absoluteLeft:r,svgHeight:o.height,svgWidth:o.width,toolboxWidth:e.width,toolboxHeight:e.height,flyoutWidth:t.width,flyoutHeight:t.height,toolboxPosition:this.toolboxPosition}},Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_=function(e){var t=this.getMetrics();"number"==typeof e.x&&(this.scrollX=-t.contentWidth*e.x-t.contentLeft),"number"==typeof e.y&&(this.scrollY=-t.contentHeight*e.y-t.contentTop),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)},Blockly.WorkspaceSvg.prototype.setResizesEnabled=function(e){var t=!this.resizesEnabled_&&e;this.resizesEnabled_=e,t&&this.resizeContents()},Blockly.WorkspaceSvg.prototype.clear=function(){this.setResizesEnabled(!1),Blockly.WorkspaceSvg.superClass_.clear.call(this),this.setResizesEnabled(!0)},Blockly.WorkspaceSvg.prototype.registerButtonCallback=function(e,t){if("function"!=typeof t)throw TypeError("Button callbacks must be functions.");this.flyoutButtonCallbacks_[e]=t},Blockly.WorkspaceSvg.prototype.getButtonCallback=function(e){return(e=this.flyoutButtonCallbacks_[e])?e:null},Blockly.WorkspaceSvg.prototype.removeButtonCallback=function(e){this.flyoutButtonCallbacks_[e]=null},Blockly.WorkspaceSvg.prototype.registerToolboxCategoryCallback=function(e,t){if("function"!=typeof t)throw TypeError("Toolbox category callbacks must be functions.");this.toolboxCategoryCallbacks_[e]=t},Blockly.WorkspaceSvg.prototype.getToolboxCategoryCallback=function(e){return this.toolboxCategoryCallbacks_[e]||null},Blockly.WorkspaceSvg.prototype.removeToolboxCategoryCallback=function(e){this.toolboxCategoryCallbacks_[e]=null},Blockly.WorkspaceSvg.prototype.getGesture=function(e){var t="mousedown"==e.type||"touchstart"==e.type||"pointerdown"==e.type,o=this.currentGesture_;return o?t&&o.hasStarted()?(console.warn("Tried to start the same gesture twice."),o.cancel(),null):o:t?this.currentGesture_=new Blockly.TouchGesture(e,this):null},Blockly.WorkspaceSvg.prototype.clearGesture=function(){this.currentGesture_=null},Blockly.WorkspaceSvg.prototype.cancelCurrentGesture=function(){this.currentGesture_&&this.currentGesture_.cancel()},Blockly.WorkspaceSvg.prototype.getAudioManager=function(){return this.audioManager_},Blockly.WorkspaceSvg.prototype.getGrid=function(){return this.grid_},Blockly.WorkspaceSvg.prototype.setVisible=Blockly.WorkspaceSvg.prototype.setVisible,Blockly.Mutator=function(e){Blockly.Mutator.superClass_.constructor.call(this,null),this.quarkNames_=e},goog.inherits(Blockly.Mutator,Blockly.Icon),Blockly.Mutator.prototype.workspaceWidth_=0,Blockly.Mutator.prototype.workspaceHeight_=0,Blockly.Mutator.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconShape",rx:"4",ry:"4",height:"16",width:"16"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m4.203,7.296 0,1.368 -0.92,0.677 -0.11,0.41 0.9,1.559 0.41,0.11 1.043,-0.457 1.187,0.683 0.127,1.134 0.3,0.3 1.8,0 0.3,-0.299 0.127,-1.138 1.185,-0.682 1.046,0.458 0.409,-0.11 0.9,-1.559 -0.11,-0.41 -0.92,-0.677 0,-1.366 0.92,-0.677 0.11,-0.41 -0.9,-1.559 -0.409,-0.109 -1.046,0.458 -1.185,-0.682 -0.127,-1.138 -0.3,-0.299 -1.8,0 -0.3,0.3 -0.126,1.135 -1.187,0.682 -1.043,-0.457 -0.41,0.11 -0.899,1.559 0.108,0.409z"},e),Blockly.utils.dom.createSvgElement("circle",{class:"blocklyIconShape",r:"2.7",cx:"8",cy:"8"},e)},Blockly.Mutator.prototype.iconClick_=function(e){this.block_.isEditable()&&Blockly.Icon.prototype.iconClick_.call(this,e)},Blockly.Mutator.prototype.createEditor_=function(){if(this.svgDialog_=Blockly.utils.dom.createSvgElement("svg",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null),this.quarkNames_.length)for(var e,t=Blockly.utils.xml.createElement("xml"),o=0;e=this.quarkNames_[o];o++){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type",e),t.appendChild(n)}else t=null;return t={disable:!1,disabledPatternId:this.block_.workspace.options.disabledPatternId,languageTree:t,parentWorkspace:this.block_.workspace,pathToMedia:this.block_.workspace.options.pathToMedia,RTL:this.block_.RTL,toolboxPosition:this.block_.RTL?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT,horizontalLayout:!1,getMetrics:this.getFlyoutMetrics_.bind(this),setMetrics:null},this.workspace_=new Blockly.WorkspaceSvg(t),this.workspace_.isMutator=!0,this.workspace_.addChangeListener(Blockly.Events.disableOrphans),t=this.workspace_.addFlyout_("g"),(o=this.workspace_.createDom("blocklyMutatorBackground")).insertBefore(t,this.workspace_.svgBlockCanvas_),this.svgDialog_.appendChild(o),this.svgDialog_},Blockly.Mutator.prototype.updateEditable=function(){this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&Blockly.utils.dom.removeClass(this.iconGroup_,"blocklyIconGroupReadonly"):(this.setVisible(!1),this.iconGroup_&&Blockly.utils.dom.addClass(this.iconGroup_,"blocklyIconGroupReadonly"))),Blockly.Icon.prototype.updateEditable.call(this)},Blockly.Mutator.prototype.resizeBubble_=function(){var e=2*Blockly.Bubble.BORDER_WIDTH,t=this.workspace_.getCanvas().getBBox(),o=this.block_.RTL?-t.x:t.width+t.x;if(t=t.height+3*e,this.workspace_.flyout_){var n=this.workspace_.flyout_.getMetrics_();t=Math.max(t,n.contentHeight+20)}o+=3*e,(Math.abs(this.workspaceWidth_-o)>e||Math.abs(this.workspaceHeight_-t)>e)&&(this.workspaceWidth_=o,this.workspaceHeight_=t,this.bubble_.setBubbleSize(o+e,t+e),this.svgDialog_.setAttribute("width",this.workspaceWidth_),this.svgDialog_.setAttribute("height",this.workspaceHeight_)),this.block_.RTL&&(e="translate("+this.workspaceWidth_+",0)",this.workspace_.getCanvas().setAttribute("transform",e)),this.workspace_.resize()},Blockly.Mutator.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"mutatorOpen",!e,e)),e){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,null,null),this.bubble_.setSvgId(this.block_.id),(e=this.workspace_.options.languageTree)&&(this.workspace_.flyout_.init(this.workspace_),this.workspace_.flyout_.show(e.childNodes)),this.rootBlock_=this.block_.decompose(this.workspace_),e=this.rootBlock_.getDescendants(!1);for(var t,o=0;t=e[o];o++)t.render();if(this.rootBlock_.setMovable(!1),this.rootBlock_.setDeletable(!1),this.workspace_.flyout_?(e=2*this.workspace_.flyout_.CORNER_RADIUS,o=this.workspace_.getFlyout().getWidth()+e):o=e=16,this.block_.RTL&&(o=-o),this.rootBlock_.moveBy(o,e),this.block_.saveConnections){var n=this;this.block_.saveConnections(this.rootBlock_),this.sourceListener_=function(){n.block_.saveConnections(n.rootBlock_)},this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_(),this.workspace_.addChangeListener(this.workspaceChanged_.bind(this)),this.updateColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_&&(this.block_.workspace.removeChangeListener(this.sourceListener_),this.sourceListener_=null)},Blockly.Mutator.prototype.workspaceChanged_=function(e){if(e.type!=Blockly.Events.UI&&(e.type!=Blockly.Events.CHANGE||"disabled"!=e.element)){if(!this.workspace_.isDragging()){e=this.workspace_.getTopBlocks(!1);for(var t,o=0;t=e[o];o++){var n=t.getRelativeToSurfaceXY(),i=t.getHeightWidth();20>n.y+i.height&&t.moveBy(0,20-i.height-n.y)}}if(this.rootBlock_.workspace==this.workspace_){if(Blockly.Events.setGroup(!0),e=(e=(t=this.block_).mutationToDom())&&Blockly.Xml.domToText(e),o=t.rendered,t.rendered=!1,t.compose(this.rootBlock_),t.rendered=o,t.initSvg(),e!=(o=(o=t.mutationToDom())&&Blockly.Xml.domToText(o))){Blockly.Events.fire(new Blockly.Events.BlockChange(t,"mutation",null,e,o));var r=Blockly.Events.getGroup();setTimeout((function(){Blockly.Events.setGroup(r),t.bumpNeighbours_(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY)}t.rendered&&t.render(),this.workspace_.isDragging()||this.resizeBubble_(),Blockly.Events.setGroup(!1)}}},Blockly.Mutator.prototype.getFlyoutMetrics_=function(){return{viewHeight:this.workspaceHeight_,viewWidth:this.workspaceWidth_-this.workspace_.getFlyout().getWidth(),absoluteTop:0,absoluteLeft:this.workspace_.RTL?0:this.workspace_.getFlyout().getWidth()}},Blockly.Mutator.prototype.dispose=function(){this.block_.mutator=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Mutator.prototype.updateBlockStyle=function(){var e=this.workspace_;if(e&&e.getAllBlocks()){for(var t=e.getAllBlocks(),o=0;o<t.length;o++){var n=t[o];n.setStyle(n.getStyleName())}for(e=e.flyout_.workspace_.getAllBlocks(),o=0;o<e.length;o++)(n=e[o]).setStyle(n.getStyleName())}},Blockly.Mutator.reconnect=function(e,t,o){if(!e||!e.getSourceBlock().workspace)return!1;o=t.getInput(o).connection;var n=e.targetBlock();return!(n&&n!=t||o.targetConnection==e)&&(o.isConnected()&&o.disconnect(),o.connect(e),!0)},Blockly.Mutator.findParentWs=function(e){var t=null;if(e&&e.options){var o=e.options.parentWorkspace;e.isFlyout?o&&o.options&&(t=o.options.parentWorkspace):o&&(t=o)}return t},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.Mutator||(Blockly.utils.global.Blockly.Mutator={}),Blockly.utils.global.Blockly.Mutator.reconnect=Blockly.Mutator.reconnect,Blockly.Extensions={},Blockly.Extensions.ALL_={},Blockly.Extensions.register=function(e,t){if("string"!=typeof e||""==e.trim())throw Error('Error: Invalid extension name "'+e+'"');if(Blockly.Extensions.ALL_[e])throw Error('Error: Extension "'+e+'" is already registered.');if("function"!=typeof t)throw Error('Error: Extension "'+e+'" must be a function');Blockly.Extensions.ALL_[e]=t},Blockly.Extensions.registerMixin=function(e,t){if(!t||"object"!=typeof t)throw Error('Error: Mixin "'+e+'" must be a object');Blockly.Extensions.register(e,(function(){this.mixin(t)}))},Blockly.Extensions.registerMutator=function(e,t,o,n){var i='Error when registering mutator "'+e+'": ';Blockly.Extensions.checkHasFunction_(i,t.domToMutation,"domToMutation"),Blockly.Extensions.checkHasFunction_(i,t.mutationToDom,"mutationToDom");var r=Blockly.Extensions.checkMutatorDialog_(t,i);if(o&&"function"!=typeof o)throw Error('Extension "'+e+'" is not a function');Blockly.Extensions.register(e,(function(){r&&this.setMutator(new Blockly.Mutator(n)),this.mixin(t),o&&o.apply(this)}))},Blockly.Extensions.apply=function(e,t,o){var n=Blockly.Extensions.ALL_[e];if("function"!=typeof n)throw Error('Error: Extension "'+e+'" not found.');if(o)Blockly.Extensions.checkNoMutatorProperties_(e,t);else var i=Blockly.Extensions.getMutatorProperties_(t);if(n.apply(t),o)Blockly.Extensions.checkBlockHasMutatorProperties_('Error after applying mutator "'+e+'": ',t);else if(!Blockly.Extensions.mutatorPropertiesMatch_(i,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},Blockly.Extensions.checkHasFunction_=function(e,t,o){if(!t)throw Error(e+'missing required property "'+o+'"');if("function"!=typeof t)throw Error(e+'" required property "'+o+'" must be a function')},Blockly.Extensions.checkNoMutatorProperties_=function(e,t){if(Blockly.Extensions.getMutatorProperties_(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions.  Block id: '+t.id)},Blockly.Extensions.checkMutatorDialog_=function(e,t){var o=void 0!==e.compose,n=void 0!==e.decompose;if(o&&n){if("function"!=typeof e.compose)throw Error(t+"compose must be a function.");if("function"!=typeof e.decompose)throw Error(t+"decompose must be a function.");return!0}if(o||n)throw Error(t+'Must have both or neither of "compose" and "decompose"');return!1},Blockly.Extensions.checkBlockHasMutatorProperties_=function(e,t){if("function"!=typeof t.domToMutation)throw Error(e+'Applying a mutator didn\'t add "domToMutation"');if("function"!=typeof t.mutationToDom)throw Error(e+'Applying a mutator didn\'t add "mutationToDom"');Blockly.Extensions.checkMutatorDialog_(t,e)},Blockly.Extensions.getMutatorProperties_=function(e){var t=[];return void 0!==e.domToMutation&&t.push(e.domToMutation),void 0!==e.mutationToDom&&t.push(e.mutationToDom),void 0!==e.compose&&t.push(e.compose),void 0!==e.decompose&&t.push(e.decompose),t},Blockly.Extensions.mutatorPropertiesMatch_=function(e,t){var o=Blockly.Extensions.getMutatorProperties_(t);if(o.length!=e.length)return!1;for(var n=0;n<o.length;n++)if(e[n]!=o[n])return!1;return!0},Blockly.Extensions.buildTooltipForDropdown=function(e,t){var o=[];return"object"==typeof document&&Blockly.utils.runAfterPageLoad((function(){for(var e in t)Blockly.utils.checkMessageReferences(t[e])})),function(){this.type&&-1===o.indexOf(this.type)&&(Blockly.Extensions.checkDropdownOptionsInTable_(this,e,t),o.push(this.type)),this.setTooltip(function(){var n=this.getFieldValue(e),i=t[n];return null==i?-1===o.indexOf(this.type)&&(n="No tooltip mapping for value "+n+" of field "+e,null!=this.type&&(n+=" of block type "+this.type),console.warn(n+".")):i=Blockly.utils.replaceMessageReferences(i),i}.bind(this))}},Blockly.Extensions.checkDropdownOptionsInTable_=function(e,t,o){var n=e.getField(t);if(!n.isOptionListDynamic()){n=n.getOptions();for(var i=0;i<n.length;++i){var r=n[i][1];null==o[r]&&console.warn("No tooltip mapping for value "+r+" of field "+t+" of block type "+e.type)}}},Blockly.Extensions.buildTooltipWithFieldText=function(e,t){return"object"==typeof document&&Blockly.utils.runAfterPageLoad((function(){Blockly.utils.checkMessageReferences(e)})),function(){this.setTooltip(function(){var o=this.getField(t);return Blockly.utils.replaceMessageReferences(e).replace("%1",o?o.getText():"")}.bind(this))}},Blockly.Extensions.extensionParentTooltip_=function(){this.tooltipWhenNotConnected_=this.tooltip,this.setTooltip(function(){var e=this.getParent();return e&&e.getInputsInline()&&e.tooltip||this.tooltipWhenNotConnected_}.bind(this))},Blockly.Extensions.register("parent_tooltip_when_inline",Blockly.Extensions.extensionParentTooltip_),Blockly.Field=function(e,t){this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y),this.setValue(e),this.setValidator(t)},Blockly.Field.TYPE_MAP_={},Blockly.Field.register=function(e,t){if("string"!=typeof e||""==e.trim())throw Error('Invalid field type "'+e+'"');if(!t||"function"!=typeof t.fromJson)throw Error('Field "'+t+'" must have a fromJson function');Blockly.Field.TYPE_MAP_[e]=t},Blockly.Field.fromJson=function(e){var t=Blockly.Field.TYPE_MAP_[e.type];return t?t.fromJson(e):null},Blockly.Field.cacheWidths_=null,Blockly.Field.cacheReference_=0,Blockly.Field.prototype.name=void 0,Blockly.Field.prototype.maxDisplayLength=50,Blockly.Field.prototype.value_=null,Blockly.Field.prototype.text_="",Blockly.Field.prototype.tooltip_=null,Blockly.Field.prototype.sourceBlock_=null,Blockly.Field.prototype.isDirty_=!0,Blockly.Field.prototype.visible_=!0,Blockly.Field.prototype.validator_=null,Blockly.Field.prototype.clickTarget_=null,Blockly.Field.NBSP=" ",Blockly.Field.prototype.EDITABLE=!0,Blockly.Field.prototype.SERIALIZABLE=!1,Blockly.Field.prototype.setSourceBlock=function(e){if(this.sourceBlock_)throw Error("Field already bound to a block.");this.sourceBlock_=e},Blockly.Field.prototype.getSourceBlock=function(){return this.sourceBlock_},Blockly.Field.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.dom.createSvgElement("g",{},null),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip_),this.bindEvents_(),this.initModel())},Blockly.Field.prototype.initView=function(){this.createBorderRect_(),this.createTextElement_()},Blockly.Field.prototype.createBorderRect_=function(){this.borderRect_=Blockly.utils.dom.createSvgElement("rect",{rx:4,ry:4,x:-Blockly.BlockSvg.SEP_SPACE_X/2,y:0,height:16,width:this.size_.width+Blockly.BlockSvg.SEP_SPACE_X},this.fieldGroup_)},Blockly.Field.prototype.createTextElement_=function(){this.textElement_=Blockly.utils.dom.createSvgElement("text",{class:"blocklyText",y:this.size_.height-12.5},this.fieldGroup_),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)},Blockly.Field.prototype.bindEvents_=function(){Blockly.Tooltip.bindMouseEvents(this.getClickTarget_()),this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.getClickTarget_(),"mousedown",this,this.onMouseDown_)},Blockly.Field.prototype.initModel=function(){},Blockly.Field.prototype.fromXml=function(e){this.setValue(e.textContent)},Blockly.Field.prototype.toXml=function(e){return e.textContent=this.getValue(),e},Blockly.Field.prototype.dispose=function(){Blockly.DropDownDiv.hideIfOwner(this),Blockly.WidgetDiv.hideIfOwner(this),this.mouseDownWrapper_&&Blockly.unbindEvent_(this.mouseDownWrapper_),Blockly.utils.dom.removeNode(this.fieldGroup_),this.disposed=!0},Blockly.Field.prototype.updateEditable=function(){var e=this.getClickTarget_();this.EDITABLE&&e&&(this.sourceBlock_.isEditable()?(Blockly.utils.dom.addClass(e,"blocklyEditableText"),Blockly.utils.dom.removeClass(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):(Blockly.utils.dom.addClass(e,"blocklyNonEditableText"),Blockly.utils.dom.removeClass(e,"blocklyEditableText"),e.style.cursor=""))},Blockly.Field.prototype.isClickable=function(){return!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&!!this.showEditor_&&"function"==typeof this.showEditor_},Blockly.Field.prototype.isCurrentlyEditable=function(){return this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()},Blockly.Field.prototype.isSerializable=function(){var e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e},Blockly.Field.prototype.isVisible=function(){return this.visible_},Blockly.Field.prototype.setVisible=function(e){if(this.visible_!=e){this.visible_=e;var t=this.getSvgRoot();t&&(t.style.display=e?"block":"none")}},Blockly.Field.prototype.setValidator=function(e){this.validator_=e},Blockly.Field.prototype.getValidator=function(){return this.validator_},Blockly.Field.prototype.classValidator=function(e){return e},Blockly.Field.prototype.callValidator=function(e){var t=this.classValidator(e);if(null===t)return null;if(void 0!==t&&(e=t),t=this.getValidator()){if(null===(t=t.call(this,e)))return null;void 0!==t&&(e=t)}return e},Blockly.Field.prototype.getSvgRoot=function(){return this.fieldGroup_},Blockly.Field.prototype.updateColour=function(){},Blockly.Field.prototype.render_=function(){this.textContent_.nodeValue=this.getDisplayText_(),this.updateSize_()},Blockly.Field.prototype.updateWidth=function(){console.warn("Deprecated call to updateWidth, call Blockly.Field.updateSize_ to force an update to the size of the field, or Blockly.Field.getCachedWidth() to check the size of the field."),this.updateSize_()},Blockly.Field.prototype.updateSize_=function(){var e=Blockly.Field.getCachedWidth(this.textElement_);this.borderRect_&&this.borderRect_.setAttribute("width",e+Blockly.BlockSvg.SEP_SPACE_X),this.size_.width=e},Blockly.Field.getCachedWidth=function(e){var t,o=e.textContent+"\n"+e.className.baseVal;if(Blockly.Field.cacheWidths_&&(t=Blockly.Field.cacheWidths_[o]))return t;try{t=Blockly.utils.userAgent.IE||Blockly.utils.userAgent.EDGE?e.getBBox().width:e.getComputedTextLength()}catch(t){return 8*e.textContent.length}return Blockly.Field.cacheWidths_&&(Blockly.Field.cacheWidths_[o]=t),t},Blockly.Field.startCache=function(){Blockly.Field.cacheReference_++,Blockly.Field.cacheWidths_||(Blockly.Field.cacheWidths_={})},Blockly.Field.stopCache=function(){Blockly.Field.cacheReference_--,Blockly.Field.cacheReference_||(Blockly.Field.cacheWidths_=null)},Blockly.Field.prototype.getSize=function(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&0==this.size_.width&&(console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead."),this.render_()),this.size_):new goog.math.Size(0,0)},Blockly.Field.prototype.getScaledBBox_=function(){var e=this.borderRect_.getBBox(),t=e.height*this.sourceBlock_.workspace.scale;e=e.width*this.sourceBlock_.workspace.scale;var o=this.getAbsoluteXY_();return{top:o.y,bottom:o.y+t,left:o.x,right:o.x+e}},Blockly.Field.prototype.getDisplayText_=function(){var e=this.text_;return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,Blockly.Field.NBSP),this.sourceBlock_.RTL&&(e+="‏"),e):Blockly.Field.NBSP},Blockly.Field.prototype.getText=function(){return this.text_},Blockly.Field.prototype.setText=function(e){null!==e&&((e=String(e))!==this.text_&&(this.text_=e,this.forceRerender()))},Blockly.Field.prototype.forceRerender=function(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_())},Blockly.Field.prototype.setValue=function(e){if(null!==e){var t=this.doClassValidation_(e);if(!((e=this.processValidation_(e,t))instanceof Error)){if((t=this.getValidator())&&(t=t.call(this,e),(e=this.processValidation_(e,t))instanceof Error))return;(t=this.getValue())!==e&&(this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,t,e)),this.doValueUpdate_(e),this.isDirty_&&this.forceRerender())}}},Blockly.Field.prototype.processValidation_=function(e,t){return null===t?(this.doValueInvalid_(e),this.isDirty_&&this.forceRerender(),Error()):(void 0!==t&&(e=t),e)},Blockly.Field.prototype.getValue=function(){return this.value_},Blockly.Field.prototype.doClassValidation_=function(e){return this.classValidator(e)},Blockly.Field.prototype.doValueUpdate_=function(e){this.value_=e,this.isDirty_=!0,this.text_=String(e)},Blockly.Field.prototype.doValueInvalid_=function(e){},Blockly.Field.prototype.onMouseDown_=function(e){this.sourceBlock_&&this.sourceBlock_.workspace&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)},Blockly.Field.prototype.setTooltip=function(e){var t=this.getClickTarget_();t?t.tooltip=e||""===e?e:this.sourceBlock_:this.tooltip_=e},Blockly.Field.prototype.getClickTarget_=function(){return this.clickTarget_||this.getSvgRoot()},Blockly.Field.prototype.getAbsoluteXY_=function(){return goog.style.getPageOffset(this.borderRect_)},Blockly.Field.prototype.referencesVariables=function(){return!1},Blockly.FieldLabel=function(e,t){this.size_=new goog.math.Size(0,17.5),this.class_=t,null===(e=this.doClassValidation_(e))&&(e=""),this.setValue(e)},goog.inherits(Blockly.FieldLabel,Blockly.Field),Blockly.FieldLabel.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return new Blockly.FieldLabel(t,e.class)},Blockly.FieldLabel.prototype.EDITABLE=!1,Blockly.FieldLabel.prototype.initView=function(){this.createTextElement_(),this.textElement_.setAttribute("y",this.size_.height-5),this.class_&&Blockly.utils.dom.addClass(this.textElement_,this.class_)},Blockly.FieldLabel.prototype.doClassValidation_=function(e){return null==e?null:String(e)},Blockly.Field.register("field_label",Blockly.FieldLabel),Blockly.Input=function(e,t,o,n){if(e!=Blockly.DUMMY_INPUT&&!t)throw Error("Value inputs and statement inputs must have non-empty name.");this.type=e,this.name=t,this.sourceBlock_=o,this.connection=n,this.fieldRow=[]},Blockly.Input.prototype.align=Blockly.ALIGN_LEFT,Blockly.Input.prototype.visible_=!0,Blockly.Input.prototype.appendField=function(e,t){return this.insertFieldAt(this.fieldRow.length,e,t),this},Blockly.Input.prototype.insertFieldAt=function(e,t,o){if(0>e||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return t||o?("string"==typeof t&&(t=new Blockly.FieldLabel(t)),t.setSourceBlock(this.sourceBlock_),this.sourceBlock_.rendered&&t.init(),t.name=o,t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),++e,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_()),e):e},Blockly.Input.prototype.removeField=function(e){for(var t,o=0;t=this.fieldRow[o];o++)if(t.name===e)return t.dispose(),this.fieldRow.splice(o,1),void(this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_()));throw Error('Field "%s" not found.',e)},Blockly.Input.prototype.isVisible=function(){return this.visible_},Blockly.Input.prototype.setVisible=function(e){var t=[];if(this.visible_==e)return t;for(var o,n=(this.visible_=e)?"block":"none",i=0;o=this.fieldRow[i];i++)o.setVisible(e);return this.connection&&(e?t=this.connection.unhideAll():this.connection.hideAll(),i=this.connection.targetBlock())&&(i.getSvgRoot().style.display=n,e||(i.rendered=!1)),t},Blockly.Input.prototype.setCheck=function(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this},Blockly.Input.prototype.setAlign=function(e){return this.align=e,this.sourceBlock_.rendered&&this.sourceBlock_.render(),this},Blockly.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var e=0;e<this.fieldRow.length;e++)this.fieldRow[e].init()},Blockly.Input.prototype.dispose=function(){for(var e,t=0;e=this.fieldRow[t];t++)e.dispose();this.connection&&this.connection.dispose(),this.sourceBlock_=null},Blockly.Warning=function(e){Blockly.Warning.superClass_.constructor.call(this,e),this.createIcon(),this.text_={}},goog.inherits(Blockly.Warning,Blockly.Icon),Blockly.Warning.prototype.collapseHidden=!1,Blockly.Warning.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},e),Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},e)},Blockly.Warning.textToDom_=function(e){var t=Blockly.utils.dom.createSvgElement("text",{class:"blocklyText blocklyBubbleText",y:Blockly.Bubble.BORDER_WIDTH},null);e=e.split("\n");for(var o=0;o<e.length;o++){var n=Blockly.utils.dom.createSvgElement("tspan",{dy:"1em",x:Blockly.Bubble.BORDER_WIDTH},t),i=document.createTextNode(e[o]);n.appendChild(i)}return t},Blockly.Warning.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"warningOpen",!e,e)),e){if(e=Blockly.Warning.textToDom_(this.getText()),this.bubble_=new Blockly.Bubble(this.block_.workspace,e,this.block_.svgPath_,this.iconXY_,null,null),this.bubble_.setSvgId(this.block_.id),this.block_.RTL)for(var t,o=e.getBBox().width,n=0;t=e.childNodes[n];n++)t.setAttribute("text-anchor","end"),t.setAttribute("x",o+Blockly.Bubble.BORDER_WIDTH);this.updateColour(),e=this.bubble_.getBubbleSize(),this.bubble_.setBubbleSize(e.width,e.height)}else this.bubble_.dispose(),this.body_=this.bubble_=null},Blockly.Warning.prototype.bodyFocus_=function(e){this.bubble_.promote_()},Blockly.Warning.prototype.setText=function(e,t){this.text_[t]!=e&&(e?this.text_[t]=e:delete this.text_[t],this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)))},Blockly.Warning.prototype.getText=function(){var e,t=[];for(e in this.text_)t.push(this.text_[e]);return t.join("\n")},Blockly.Warning.prototype.dispose=function(){this.block_.warning=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Block=function(e,t,o){if(void 0!==Blockly.Generator.prototype[t])throw Error('Block prototypeName "'+t+'" conflicts with Blockly.Generator members.');if(this.id=o&&!e.getBlockById(o)?o:Blockly.utils.genUid(),e.blockDB_[this.id]=this,this.previousConnection=this.nextConnection=this.outputConnection=null,this.inputList=[],this.inputsInline=void 0,this.disabled=!1,this.tooltip="",this.contextMenu=!0,this.parentBlock_=null,this.childBlocks_=[],this.editable_=this.movable_=this.deletable_=!0,this.collapsed_=this.isShadow_=!1,this.comment=null,this.xy_=new Blockly.utils.Coordinate(0,0),this.workspace=e,this.isInFlyout=e.isFlyout,this.isInMutator=e.isMutator,this.RTL=e.RTL,this.isInsertionMarker_=!1,this.hat=void 0,t){if(this.type=t,!(o=Blockly.Blocks[t])||"object"!=typeof o)throw TypeError("Unknown block type: "+t);goog.mixin(this,o)}if(e.addTopBlock(this),e.addTypedBlock(this),"function"==typeof this.init&&this.init(),this.inputsInlineDefault=this.inputsInline,Blockly.Events.isEnabled()){(e=Blockly.Events.getGroup())||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.BlockCreate(this))}finally{e||Blockly.Events.setGroup(!1)}}"function"==typeof this.onchange&&this.setOnChange(this.onchange)},Blockly.Block.obtain=function(e,t){return console.warn("Deprecated call to Blockly.Block.obtain, use workspace.newBlock instead."),e.newBlock(t)},Blockly.Block.prototype.data=null,Blockly.Block.prototype.hue_=null,Blockly.Block.prototype.colour_="#000000",Blockly.Block.prototype.colourSecondary_=null,Blockly.Block.prototype.colourTertiary_=null,Blockly.Block.prototype.styleName_=null,Blockly.Block.prototype.dispose=function(e){if(this.workspace){this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_),this.unplug(e),Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockDelete(this)),Blockly.Events.disable();try{this.workspace&&(this.workspace.removeTopBlock(this),this.workspace.removeTypedBlock(this),delete this.workspace.blockDB_[this.id],this.workspace=null),Blockly.selected==this&&(Blockly.selected=null);for(var t=this.childBlocks_.length-1;0<=t;t--)this.childBlocks_[t].dispose(!1);t=0;for(var o;o=this.inputList[t];t++)o.dispose();this.inputList.length=0;var n=this.getConnections_(!0);for(t=0;t<n.length;t++){var i=n[t];i.isConnected()&&i.disconnect(),n[t].dispose()}}finally{Blockly.Events.enable()}}},Blockly.Block.prototype.initModel=function(){for(var e,t=0;e=this.inputList[t];t++)for(var o,n=0;o=e.fieldRow[n];n++)o.initModel&&o.initModel()},Blockly.Block.prototype.unplug=function(e){this.outputConnection?this.unplugFromRow_(e):this.previousConnection&&this.unplugFromStack_(e)},Blockly.Block.prototype.unplugFromRow_=function(e){var t=null;this.outputConnection.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection_())&&e.isConnected()&&!e.targetBlock().isShadow()&&((e=e.targetConnection).checkType_(t)&&(e.disconnect(),t.connect(e)))},Blockly.Block.prototype.getOnlyValueConnection_=function(){for(var e=null,t=0;t<this.inputList.length;t++){var o=this.inputList[t].connection;if(o&&o.type==Blockly.INPUT_VALUE&&o.targetConnection){if(e)return null;e=o}}return e},Blockly.Block.prototype.unplugFromStack_=function(e){var t=null;this.previousConnection.isConnected()&&(t=this.previousConnection.targetConnection,this.previousConnection.disconnect());var o=this.getNextBlock();e&&o&&!o.isShadow()&&((e=this.nextConnection.targetConnection).disconnect(),t&&t.checkType_(e)&&t.connect(e))},Blockly.Block.prototype.getConnections_=function(e){e=[],this.outputConnection&&e.push(this.outputConnection),this.previousConnection&&e.push(this.previousConnection),this.nextConnection&&e.push(this.nextConnection);for(var t,o=0;t=this.inputList[o];o++)t.connection&&e.push(t.connection);return e},Blockly.Block.prototype.lastConnectionInStack=function(){for(var e=this.nextConnection;e;){var t=e.targetBlock();if(!t)return e;e=t.nextConnection}return null},Blockly.Block.prototype.bumpNeighbours_=function(){console.warn("Not expected to reach Block.bumpNeighbours_ function. BlockSvg.bumpNeighbours_ was expected to be called instead.")},Blockly.Block.prototype.getParent=function(){return this.parentBlock_},Blockly.Block.prototype.getInputWithBlock=function(e){for(var t,o=0;t=this.inputList[o];o++)if(t.connection&&t.connection.targetBlock()==e)return t;return null},Blockly.Block.prototype.getSurroundParent=function(){var e=this;do{var t=e;if(!(e=e.getParent()))return null}while(e.getNextBlock()==t);return e},Blockly.Block.prototype.getNextBlock=function(){return this.nextConnection&&this.nextConnection.targetBlock()},Blockly.Block.prototype.getPreviousBlock=function(){return this.previousConnection&&this.previousConnection.targetBlock()},Blockly.Block.prototype.getFirstStatementConnection=function(){for(var e,t=0;e=this.inputList[t];t++)if(e.connection&&e.connection.type==Blockly.NEXT_STATEMENT)return e.connection;return null},Blockly.Block.prototype.getRootBlock=function(){var e=this;do{var t=e;e=t.parentBlock_}while(e);return t},Blockly.Block.prototype.getChildren=function(e){if(!e)return this.childBlocks_;e=[];for(var t,o=0;t=this.inputList[o];o++)t.connection&&(t=t.connection.targetBlock())&&e.push(t);return(o=this.getNextBlock())&&e.push(o),e},Blockly.Block.prototype.setParent=function(e){if(e!=this.parentBlock_){if(this.parentBlock_){if(Blockly.utils.arrayRemove(this.parentBlock_.childBlocks_,this),this.previousConnection&&this.previousConnection.isConnected())throw Error("Still connected to previous block.");if(this.outputConnection&&this.outputConnection.isConnected())throw Error("Still connected to parent block.");this.parentBlock_=null}else this.workspace.removeTopBlock(this);(this.parentBlock_=e)?e.childBlocks_.push(this):this.workspace.addTopBlock(this)}},Blockly.Block.prototype.getDescendants=function(e){for(var t,o=[this],n=this.getChildren(e),i=0;t=n[i];i++)o.push.apply(o,t.getDescendants(e));return o},Blockly.Block.prototype.isDeletable=function(){return this.deletable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setDeletable=function(e){this.deletable_=e},Blockly.Block.prototype.isMovable=function(){return this.movable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setMovable=function(e){this.movable_=e},Blockly.Block.prototype.isDuplicatable=function(){return!this.workspace.hasBlockLimits()||this.workspace.isCapacityAvailable(Blockly.utils.getBlockTypeCounts(this,!0))},Blockly.Block.prototype.isShadow=function(){return this.isShadow_},Blockly.Block.prototype.setShadow=function(e){this.isShadow_=e},Blockly.Block.prototype.isInsertionMarker=function(){return this.isInsertionMarker_},Blockly.Block.prototype.setInsertionMarker=function(e){this.isInsertionMarker_=e},Blockly.Block.prototype.isEditable=function(){return this.editable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setEditable=function(e){this.editable_=e,e=0;for(var t;t=this.inputList[e];e++)for(var o,n=0;o=t.fieldRow[n];n++)o.updateEditable()},Blockly.Block.prototype.setConnectionsHidden=function(e){if(!e&&this.isCollapsed()){if(this.outputConnection&&this.outputConnection.setHidden(e),this.previousConnection&&this.previousConnection.setHidden(e),this.nextConnection){this.nextConnection.setHidden(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionsHidden(e)}}else for(var o=this.getConnections_(!0),n=0;t=o[n];n++)t.setHidden(e),t.isSuperior()&&(t=t.targetBlock())&&t.setConnectionsHidden(e)},Blockly.Block.prototype.getMatchingConnection=function(e,t){var o=this.getConnections_(!0),n=e.getConnections_(!0);if(o.length!=n.length)throw Error("Connection lists did not match in length.");for(var i=0;i<n.length;i++)if(n[i]==t)return o[i];return null},Blockly.Block.prototype.setHelpUrl=function(e){this.helpUrl=e},Blockly.Block.prototype.setTooltip=function(e){this.tooltip=e},Blockly.Block.prototype.getColour=function(){return this.colour_},Blockly.Block.prototype.getColourSecondary=function(){return this.colourSecondary_},Blockly.Block.prototype.getColourTertiary=function(){return this.colourTertiary_},Blockly.Block.prototype.getColourShadow=function(){var e=this.getColourSecondary();return e||Blockly.utils.colour.blend("white",this.getColour(),.6)},Blockly.Block.prototype.getColourBorder=function(){var e=this.getColourTertiary();return e?{colourBorder:e,colourLight:null,colourDark:null}:(e=this.getColour(),{colourBorder:null,colourLight:Blockly.utils.colour.blend("white",e,.3),colourDark:Blockly.utils.colour.blend("black",e,.2)})},Blockly.Block.prototype.getStyleName=function(){return this.styleName_},Blockly.Block.prototype.getHue=function(){return this.hue_},Blockly.Block.prototype.setColour=function(e){var t="string"==typeof e?Blockly.utils.replaceMessageReferences(e):e,o=Number(t);if(!isNaN(o)&&0<=o&&360>=o)this.hue_=o,this.colour_=Blockly.hueToHex(o);else{if(!(o=Blockly.utils.colour.parse(t)))throw o='Invalid colour: "'+t+'"',e!=t&&(o+=' (from "'+e+'")'),Error(o);this.colour_=o,this.hue_=null}},Blockly.Block.prototype.setStyle=function(e){var t=Blockly.getTheme();if(!t)throw Error("Trying to set block style to "+e+" before theme was defined via Blockly.setTheme().");if(t=t.getBlockStyle(e),this.styleName_=e,!t)throw Error("Invalid style name: "+e);this.colourSecondary_=t.colourSecondary,this.colourTertiary_=t.colourTertiary,this.hat=t.hat,this.setColour(t.colourPrimary)},Blockly.Block.prototype.setOnChange=function(e){if(e&&"function"!=typeof e)throw Error("onchange must be a function.");this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_),(this.onchange=e)&&(this.onchangeWrapper_=e.bind(this),this.workspace.addChangeListener(this.onchangeWrapper_))},Blockly.Block.prototype.getField=function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)if(n.name===e)return n;return null},Blockly.Block.prototype.getVars=function(){for(var e,t=[],o=0;e=this.inputList[o];o++)for(var n,i=0;n=e.fieldRow[i];i++)n.referencesVariables()&&t.push(n.getValue());return t},Blockly.Block.prototype.getVarModels=function(){for(var e,t=[],o=0;e=this.inputList[o];o++)for(var n,i=0;n=e.fieldRow[i];i++)n.referencesVariables()&&(n=this.workspace.getVariableById(n.getValue()))&&t.push(n);return t},Blockly.Block.prototype.updateVarName=function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)n.referencesVariables()&&e.getId()==n.getValue()&&n.setText(e.name)},Blockly.Block.prototype.renameVarById=function(e,t){for(var o,n=0;o=this.inputList[n];n++)for(var i,r=0;i=o.fieldRow[r];r++)i.referencesVariables()&&e==i.getValue()&&i.setValue(t)},Blockly.Block.prototype.getFieldValue=function(e){return(e=this.getField(e))?e.getValue():null},Blockly.Block.prototype.setFieldValue=function(e,t){var o=this.getField(t);if(!o)throw Error('Field "'+t+'" not found.');o.setValue(e)},Blockly.Block.prototype.setPreviousStatement=function(e,t){if(e){if(void 0===t&&(t=null),!this.previousConnection){if(this.outputConnection)throw Error("Remove output connection prior to adding previous connection.");this.previousConnection=this.makeConnection_(Blockly.PREVIOUS_STATEMENT)}this.previousConnection.setCheck(t)}else if(this.previousConnection){if(this.previousConnection.isConnected())throw Error("Must disconnect previous statement before removing connection.");this.previousConnection.dispose(),this.previousConnection=null}},Blockly.Block.prototype.setNextStatement=function(e,t){if(e)void 0===t&&(t=null),this.nextConnection||(this.nextConnection=this.makeConnection_(Blockly.NEXT_STATEMENT)),this.nextConnection.setCheck(t);else if(this.nextConnection){if(this.nextConnection.isConnected())throw Error("Must disconnect next statement before removing connection.");this.nextConnection.dispose(),this.nextConnection=null}},Blockly.Block.prototype.setOutput=function(e,t){if(e){if(void 0===t&&(t=null),!this.outputConnection){if(this.previousConnection)throw Error("Remove previous connection prior to adding output connection.");this.outputConnection=this.makeConnection_(Blockly.OUTPUT_VALUE)}this.outputConnection.setCheck(t)}else if(this.outputConnection){if(this.outputConnection.isConnected())throw Error("Must disconnect output value before removing connection.");this.outputConnection.dispose(),this.outputConnection=null}},Blockly.Block.prototype.setInputsInline=function(e){this.inputsInline!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"inline",null,this.inputsInline,e)),this.inputsInline=e)},Blockly.Block.prototype.getInputsInline=function(){if(null!=this.inputsInline)return this.inputsInline;for(var e=1;e<this.inputList.length;e++)if(this.inputList[e-1].type==Blockly.DUMMY_INPUT&&this.inputList[e].type==Blockly.DUMMY_INPUT)return!1;for(e=1;e<this.inputList.length;e++)if(this.inputList[e-1].type==Blockly.INPUT_VALUE&&this.inputList[e].type==Blockly.DUMMY_INPUT)return!0;return!1},Blockly.Block.prototype.setDisabled=function(e){console.warn("Deprecated call to Blockly.Block.prototype.setDisabled, use Blockly.Block.prototype.setEnabled instead."),this.setEnabled(!e)},Blockly.Block.prototype.isEnabled=function(){return!this.disabled},Blockly.Block.prototype.setEnabled=function(e){this.isEnabled()!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"disabled",null,this.disabled,!e)),this.disabled=!e)},Blockly.Block.prototype.getInheritedDisabled=function(){for(var e=this.getSurroundParent();e;){if(e.disabled)return!0;e=e.getSurroundParent()}return!1},Blockly.Block.prototype.isCollapsed=function(){return this.collapsed_},Blockly.Block.prototype.setCollapsed=function(e){this.collapsed_!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"collapsed",null,this.collapsed_,e)),this.collapsed_=e)},Blockly.Block.prototype.toString=function(e,t){var o=[],n=t||"?";if(this.collapsed_)o.push(this.getInput("_TEMP_COLLAPSED_INPUT").fieldRow[0].text_);else for(var i,r=0;i=this.inputList[r];r++){for(var s,a=0;s=i.fieldRow[a];a++)s instanceof Blockly.FieldDropdown&&!s.getValue()?o.push(n):o.push(s.getText());i.connection&&((i=i.connection.targetBlock())?o.push(i.toString(void 0,t)):o.push(n))}return o=o.join(" ").trim()||"???",e&&o.length>e&&(o=o.substring(0,e-3)+"..."),o},Blockly.Block.prototype.appendValueInput=function(e){return this.appendInput_(Blockly.INPUT_VALUE,e)},Blockly.Block.prototype.appendStatementInput=function(e){return this.appendInput_(Blockly.NEXT_STATEMENT,e)},Blockly.Block.prototype.appendDummyInput=function(e){return this.appendInput_(Blockly.DUMMY_INPUT,e||"")},Blockly.Block.prototype.jsonInit=function(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");e.style?this.jsonInitStyle_(e,t):this.jsonInitColour_(e,t);for(var o=0;void 0!==e["message"+o];)this.interpolate_(e["message"+o],e["args"+o]||[],e["lastDummyAlign"+o]),o++;if(void 0!==e.inputsInline&&this.setInputsInline(e.inputsInline),void 0!==e.output&&this.setOutput(!0,e.output),void 0!==e.previousStatement&&this.setPreviousStatement(!0,e.previousStatement),void 0!==e.nextStatement&&this.setNextStatement(!0,e.nextStatement),void 0!==e.tooltip&&(o=e.tooltip,o=Blockly.utils.replaceMessageReferences(o),this.setTooltip(o)),void 0!==e.enableContextMenu&&(o=e.enableContextMenu,this.contextMenu=!!o),void 0!==e.helpUrl&&(o=e.helpUrl,o=Blockly.utils.replaceMessageReferences(o),this.setHelpUrl(o)),"string"==typeof e.extensions&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),void 0!==e.mutator&&Blockly.Extensions.apply(e.mutator,this,!0),Array.isArray(e.extensions))for(e=e.extensions,t=0;t<e.length;++t)Blockly.Extensions.apply(e[t],this,!1)},Blockly.Block.prototype.jsonInitColour_=function(e,t){if("colour"in e)if(void 0===e.colour)console.warn(t+"Undefined colour value.");else{var o=e.colour;try{this.setColour(o)}catch(e){console.warn(t+"Illegal colour value: ",o)}}},Blockly.Block.prototype.jsonInitStyle_=function(e,t){var o=e.style;try{this.setStyle(o)}catch(e){console.warn(t+"Style does not exist: ",o)}},Blockly.Block.prototype.mixin=function(e,t){if(void 0!==t&&"boolean"!=typeof t)throw Error("opt_disableCheck must be a boolean if provided");if(!t){var o,n=[];for(o in e)void 0!==this[o]&&n.push(o);if(n.length)throw Error("Mixin will overwrite block members: "+JSON.stringify(n))}goog.mixin(this,e)},Blockly.Block.prototype.interpolate_=function(e,t,o){var n=Blockly.utils.tokenizeInterpolation(e),i=[],r=0;e=[];for(var s=0;s<n.length;s++){var a=n[s];if("number"==typeof a){if(0>=a||a>t.length)throw Error('Block "'+this.type+'": Message index %'+a+" out of range.");if(i[a])throw Error('Block "'+this.type+'": Message index %'+a+" duplicated.");i[a]=!0,r++,e.push(t[a-1])}else(a=a.trim())&&e.push(a)}if(r!=t.length)throw Error('Block "'+this.type+'": Message does not reference all '+t.length+" arg(s).");for(e.length&&("string"==typeof e[e.length-1]||Blockly.utils.string.startsWith(e[e.length-1].type,"field_"))&&(s={type:"input_dummy"},o&&(s.align=o),e.push(s)),o={LEFT:Blockly.ALIGN_LEFT,RIGHT:Blockly.ALIGN_RIGHT,CENTRE:Blockly.ALIGN_CENTRE},t=[],s=0;s<e.length;s++)if("string"==typeof(i=e[s]))t.push([i,void 0]);else{n=r=null;do{if(a=!1,"string"==typeof i)r=new Blockly.FieldLabel(i);else switch(i.type){case"input_value":n=this.appendValueInput(i.name);break;case"input_statement":n=this.appendStatementInput(i.name);break;case"input_dummy":n=this.appendDummyInput(i.name);break;default:(r=Blockly.Field.fromJson(i))||(i.alt?(i=i.alt,a=!0):console.warn("Blockly could not create a field of type "+i.type+". You may need to register your custom field.  See github.com/google/blockly/issues/1584"))}}while(a);if(r)t.push([r,i.name]);else if(n){for(i.check&&n.setCheck(i.check),i.align&&n.setAlign(o[i.align]),i=0;i<t.length;i++)n.appendField(t[i][0],t[i][1]);t.length=0}}},Blockly.Block.prototype.appendInput_=function(e,t){var o=null;return e!=Blockly.INPUT_VALUE&&e!=Blockly.NEXT_STATEMENT||(o=this.makeConnection_(e)),o=new Blockly.Input(e,t,this,o),this.inputList.push(o),o},Blockly.Block.prototype.moveInputBefore=function(e,t){if(e!=t){for(var o,n=-1,i=t?-1:this.inputList.length,r=0;o=this.inputList[r];r++)if(o.name==e){if(n=r,-1!=i)break}else if(t&&o.name==t&&(i=r,-1!=n))break;if(-1==n)throw Error('Named input "'+e+'" not found.');if(-1==i)throw Error('Reference input "'+t+'" not found.');this.moveNumberedInputBefore(n,i)}},Blockly.Block.prototype.moveNumberedInputBefore=function(e,t){if(e==t)throw Error("Can't move input to itself.");if(e>=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");var o=this.inputList[e];this.inputList.splice(e,1),e<t&&t--,this.inputList.splice(t,0,o)},Blockly.Block.prototype.removeInput=function(e,t){for(var o,n=0;o=this.inputList[n];n++)if(o.name==e){if(o.connection&&o.connection.isConnected()){o.connection.setShadowDom(null);var i=o.connection.targetBlock();i.isShadow()?i.dispose():i.unplug()}return o.dispose(),void this.inputList.splice(n,1)}if(!t)throw Error("Input not found: "+e)},Blockly.Block.prototype.getInput=function(e){for(var t,o=0;t=this.inputList[o];o++)if(t.name==e)return t;return null},Blockly.Block.prototype.getInputTargetBlock=function(e){return(e=this.getInput(e))&&e.connection&&e.connection.targetBlock()},Blockly.Block.prototype.getCommentText=function(){return this.comment||""},Blockly.Block.prototype.setCommentText=function(e){this.comment!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"comment",null,this.comment,e||"")),this.comment=e)},Blockly.Block.prototype.setWarningText=function(e,t){},Blockly.Block.prototype.setMutator=function(e){},Blockly.Block.prototype.getRelativeToSurfaceXY=function(){return this.xy_},Blockly.Block.prototype.moveBy=function(e,t){if(this.parentBlock_)throw Error("Block has parent.");var o=new Blockly.Events.BlockMove(this);this.xy_.translate(e,t),o.recordNew(),Blockly.Events.fire(o)},Blockly.Block.prototype.makeConnection_=function(e){return new Blockly.Connection(this,e)},Blockly.Block.prototype.allInputsFilled=function(e){if(void 0===e&&(e=!0),!e&&this.isShadow())return!1;for(var t,o=0;t=this.inputList[o];o++)if(t.connection&&(!(t=t.connection.targetBlock())||!t.allInputsFilled(e)))return!1;return!(o=this.getNextBlock())||o.allInputsFilled(e)},Blockly.Block.prototype.toDevString=function(){var e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e},Blockly.BlockDragSurfaceSvg=function(e){this.container_=e,this.createDom()},Blockly.BlockDragSurfaceSvg.prototype.SVG_=null,Blockly.BlockDragSurfaceSvg.prototype.dragGroup_=null,Blockly.BlockDragSurfaceSvg.prototype.container_=null,Blockly.BlockDragSurfaceSvg.prototype.scale_=1,Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_=null,Blockly.BlockDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklyBlockDragSurface"},this.container_),this.dragGroup_=Blockly.utils.dom.createSvgElement("g",{},this.SVG_))},Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(e){if(this.dragGroup_.childNodes.length)throw Error("Already dragging a block.");this.dragGroup_.appendChild(e),this.SVG_.style.display="block",this.surfaceXY_=new Blockly.utils.Coordinate(0,0)},Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(e,t,o){this.scale_=o,e=e.toFixed(0),t=t.toFixed(0),this.dragGroup_.setAttribute("transform","translate("+e+","+t+") scale("+o+")")},Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var e=this.surfaceXY_.x,t=this.surfaceXY_.y;e=e.toFixed(0),t=t.toFixed(0),this.SVG_.style.display="block",Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+e+"px, "+t+"px, 0px)")},Blockly.BlockDragSurfaceSvg.prototype.translateSurface=function(e,t){this.surfaceXY_=new Blockly.utils.Coordinate(e*this.scale_,t*this.scale_),this.translateSurfaceInternal_()},Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation=function(){var e=Blockly.utils.getRelativeXY(this.SVG_);return new Blockly.utils.Coordinate(e.x/this.scale_,e.y/this.scale_)},Blockly.BlockDragSurfaceSvg.prototype.getGroup=function(){return this.dragGroup_},Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock=function(){return this.dragGroup_.firstChild},Blockly.BlockDragSurfaceSvg.prototype.clearAndHide=function(e){if(e?e.appendChild(this.getCurrentBlock()):this.dragGroup_.removeChild(this.getCurrentBlock()),this.SVG_.style.display="none",this.dragGroup_.childNodes.length)throw Error("Drag group was not cleared.");this.surfaceXY_=null},Blockly.utils.uiMenu={},Blockly.utils.uiMenu.getSize=function(e){e=e.getElement();var t=goog.style.getSize(e);return t.height=e.scrollHeight,t},Blockly.utils.uiMenu.adjustBBoxesForRTL=function(e,t,o){t.left+=o.width,t.right+=o.width,e.left+=o.width,e.right+=o.width},Blockly.ContextMenu={},Blockly.ContextMenu.currentBlock=null,Blockly.ContextMenu.eventWrapper_=null,Blockly.ContextMenu.show=function(e,t,o){if(Blockly.WidgetDiv.show(Blockly.ContextMenu,o,null),t.length){var n=Blockly.ContextMenu.populate_(t,o);goog.events.listen(n,goog.ui.Component.EventType.ACTION,Blockly.ContextMenu.hide),Blockly.ContextMenu.position_(n,e,o),setTimeout((function(){n.getElement().focus()}),1),Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()},Blockly.ContextMenu.populate_=function(e,t){var o=new goog.ui.Menu;o.setRightToLeft(t);for(var n,i=0;n=e[i];i++){var r=new goog.ui.MenuItem(n.text);r.setRightToLeft(t),o.addChild(r,!0),r.setEnabled(n.enabled),n.enabled&&(goog.events.listen(r,goog.ui.Component.EventType.ACTION,n.callback),r.handleContextMenu=function(){goog.events.dispatchEvent(this,goog.ui.Component.EventType.ACTION)})}return o},Blockly.ContextMenu.position_=function(e,t,o){var n=Blockly.utils.getViewportBBox();t={top:t.clientY+n.top,bottom:t.clientY+n.top,left:t.clientX+n.left,right:t.clientX+n.left},Blockly.ContextMenu.createWidget_(e);var i=Blockly.utils.uiMenu.getSize(e);o&&Blockly.utils.uiMenu.adjustBBoxesForRTL(n,t,i),Blockly.WidgetDiv.positionWithAnchor(n,t,i,o),e.getElement().focus()},Blockly.ContextMenu.createWidget_=function(e){e.render(Blockly.WidgetDiv.DIV);var t=e.getElement();Blockly.utils.dom.addClass(t,"blocklyContextMenu"),Blockly.bindEventWithChecks_(t,"contextmenu",null,Blockly.utils.noEvent),e.setAllowAutoFocus(!0)},Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu),Blockly.ContextMenu.currentBlock=null,Blockly.ContextMenu.eventWrapper_&&Blockly.unbindEvent_(Blockly.ContextMenu.eventWrapper_)},Blockly.ContextMenu.callbackFactory=function(e,t){return function(){Blockly.Events.disable();try{var o=Blockly.Xml.domToBlock(t,e.workspace),n=e.getRelativeToSurfaceXY();n.x=e.RTL?n.x-Blockly.SNAP_RADIUS:n.x+Blockly.SNAP_RADIUS,n.y+=2*Blockly.SNAP_RADIUS,o.moveBy(n.x,n.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!o.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(o)),o.select()}},Blockly.ContextMenu.blockDeleteOption=function(e){var t=e.getDescendants(!1).length,o=e.getNextBlock();return o&&(t-=o.getDescendants(!1).length),{text:1==t?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(t)),enabled:!0,callback:function(){Blockly.Events.setGroup(!0),e.dispose(!0,!0),Blockly.Events.setGroup(!1)}}},Blockly.ContextMenu.blockHelpOption=function(e){return{enabled:!("function"==typeof e.helpUrl?!e.helpUrl():!e.helpUrl),text:Blockly.Msg.HELP,callback:function(){e.showHelp_()}}},Blockly.ContextMenu.blockDuplicateOption=function(e){var t=e.isDuplicatable();return{text:Blockly.Msg.DUPLICATE_BLOCK,enabled:t,callback:function(){Blockly.duplicate_(e)}}},Blockly.ContextMenu.blockCommentOption=function(e){var t={enabled:!Blockly.utils.userAgent.IE};return e.comment?(t.text=Blockly.Msg.REMOVE_COMMENT,t.callback=function(){e.setCommentText(null)}):(t.text=Blockly.Msg.ADD_COMMENT,t.callback=function(){e.setCommentText("")}),t},Blockly.ContextMenu.commentDeleteOption=function(e){return{text:Blockly.Msg.REMOVE_COMMENT,enabled:!0,callback:function(){Blockly.Events.setGroup(!0),e.dispose(!0,!0),Blockly.Events.setGroup(!1)}}},Blockly.ContextMenu.commentDuplicateOption=function(e){return{text:Blockly.Msg.DUPLICATE_COMMENT,enabled:!0,callback:function(){Blockly.duplicate_(e)}}},Blockly.ContextMenu.workspaceCommentOption=function(e,t){var o={enabled:!Blockly.utils.userAgent.IE};return o.text=Blockly.Msg.ADD_COMMENT,o.callback=function(){var o=new Blockly.WorkspaceCommentSvg(e,Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE),n=e.getInjectionDiv().getBoundingClientRect();n=new Blockly.utils.Coordinate(t.clientX-n.left,t.clientY-n.top);var i=e.getOriginOffsetInPixels();(n=Blockly.utils.Coordinate.difference(n,i)).scale(1/e.scale),o.moveBy(n.x,n.y),e.rendered&&(o.initSvg(),o.render(!1),o.select())},o},Blockly.BlockSvg=function(e,t,o){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},null),this.svgGroup_.translate_="",this.svgPathDark_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPathDark",transform:"translate(1,1)"},this.svgGroup_),this.svgPath_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPath"},this.svgGroup_),this.svgPathLight_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPathLight"},this.svgGroup_),this.svgPath_.tooltip=this,this.rendered=!1,this.useDragSurface_=Blockly.utils.is3dSupported()&&!!e.blockDragSurface_,Blockly.Tooltip.bindMouseEvents(this.svgPath_),Blockly.BlockSvg.superClass_.constructor.call(this,e,t,o),this.svgGroup_.dataset&&(this.svgGroup_.dataset.id=this.id)},goog.inherits(Blockly.BlockSvg,Blockly.Block),Blockly.BlockSvg.prototype.height=0,Blockly.BlockSvg.prototype.width=0,Blockly.BlockSvg.prototype.dragStartXY_=null,Blockly.BlockSvg.prototype.warningTextDb_=null,Blockly.BlockSvg.INLINE=-1,Blockly.BlockSvg.COLLAPSED_WARNING_ID="TEMP_COLLAPSED_WARNING_",Blockly.BlockSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");for(var e,t=0;e=this.inputList[t];t++)e.init();for(e=this.getIcons(),t=0;t<e.length;t++)e[t].createIcon();this.updateColour(),this.updateMovable(),this.workspace.options.readOnly||this.eventsInit_||Blockly.bindEventWithChecks_(this.getSvgRoot(),"mousedown",this,this.onMouseDown_),this.eventsInit_=!0,this.getSvgRoot().parentNode||this.workspace.getCanvas().appendChild(this.getSvgRoot())},Blockly.BlockSvg.prototype.select=function(){if(this.isShadow()&&this.getParent())this.getParent().select();else if(Blockly.selected!=this){var e=null;if(Blockly.selected){e=Blockly.selected.id,Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}(e=new Blockly.Events.Ui(null,"selected",e,this.id)).workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=this,this.addSelect()}},Blockly.BlockSvg.prototype.unselect=function(){if(Blockly.selected==this){var e=new Blockly.Events.Ui(null,"selected",this.id,null);e.workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=null,this.removeSelect()}},Blockly.BlockSvg.prototype.mutator=null,Blockly.BlockSvg.prototype.comment=null,Blockly.BlockSvg.prototype.warning=null,Blockly.BlockSvg.prototype.getIcons=function(){var e=[];return this.mutator&&e.push(this.mutator),this.comment&&e.push(this.comment),this.warning&&e.push(this.warning),e},Blockly.BlockSvg.prototype.setParent=function(e){var t=this.parentBlock_;if(e!=t){Blockly.Field.startCache(),Blockly.BlockSvg.superClass_.setParent.call(this,e),Blockly.Field.stopCache();var o=this.getSvgRoot();if(!this.workspace.isClearing&&o){var n=this.getRelativeToSurfaceXY();e?(e.getSvgRoot().appendChild(o),e=this.getRelativeToSurfaceXY(),this.moveConnections_(e.x-n.x,e.y-n.y)):t&&(this.workspace.getCanvas().appendChild(o),this.translate(n.x,n.y))}}},Blockly.BlockSvg.prototype.getRelativeToSurfaceXY=function(){var e=0,t=0,o=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,n=this.getSvgRoot();if(n)do{var i=Blockly.utils.getRelativeXY(n);e+=i.x,t+=i.y,this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==n&&(e+=(i=this.workspace.blockDragSurface_.getSurfaceTranslation()).x,t+=i.y),n=n.parentNode}while(n&&n!=this.workspace.getCanvas()&&n!=o);return new Blockly.utils.Coordinate(e,t)},Blockly.BlockSvg.prototype.moveBy=function(e,t){if(this.parentBlock_)throw Error("Block has parent.");var o=Blockly.Events.isEnabled();if(o)var n=new Blockly.Events.BlockMove(this);var i=this.getRelativeToSurfaceXY();this.translate(i.x+e,i.y+t),this.moveConnections_(e,t),o&&(n.recordNew(),Blockly.Events.fire(n)),this.workspace.resizeContents()},Blockly.BlockSvg.prototype.translate=function(e,t){this.getSvgRoot().setAttribute("transform","translate("+e+","+t+")")},Blockly.BlockSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var e=this.getRelativeToSurfaceXY();this.clearTransformAttributes_(),this.workspace.blockDragSurface_.translateSurface(e.x,e.y),this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}},Blockly.BlockSvg.prototype.moveOffDragSurface_=function(e){this.useDragSurface_&&(this.translate(e.x,e.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))},Blockly.BlockSvg.prototype.moveDuringDrag=function(e){this.useDragSurface_?this.workspace.blockDragSurface_.translateSurface(e.x,e.y):(this.svgGroup_.translate_="translate("+e.x+","+e.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))},Blockly.BlockSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute("transform")},Blockly.BlockSvg.prototype.snapToGrid=function(){if(this.workspace&&!this.workspace.isDragging()&&!this.getParent()&&!this.isInFlyout){var e=this.workspace.getGrid();if(e&&e.shouldSnap()){var t=e.getSpacing(),o=t/2,n=this.getRelativeToSurfaceXY();e=Math.round((n.x-o)/t)*t+o-n.x,t=Math.round((n.y-o)/t)*t+o-n.y,e=Math.round(e),t=Math.round(t),0==e&&0==t||this.moveBy(e,t)}}},Blockly.BlockSvg.prototype.getBoundingRectangle=function(){var e=this.getRelativeToSurfaceXY(this),t=this.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0,o=this.getHeightWidth(),n=e.y,i=e.y+o.height;if(this.RTL){var r=e.x-(o.width-t);e=e.x+t}else r=e.x-t,e=e.x+o.width-t;return new Blockly.utils.Rect(n,i,r,e)},Blockly.BlockSvg.prototype.setCollapsed=function(e){if(this.collapsed_!=e){for(var t,o=[],n=0;t=this.inputList[n];n++)o.push.apply(o,t.setVisible(!e));if(e){for(t=this.getIcons(),n=0;n<t.length;n++)t[n].setVisible(!1);n=this.toString(Blockly.COLLAPSE_CHARS),this.appendDummyInput("_TEMP_COLLAPSED_INPUT").appendField(n).init(),t=this.getDescendants(!0),(n=this.getNextBlock())&&(n=t.indexOf(n),t.splice(n,t.length-n)),n=1;for(var i;i=t[n];n++)if(i.warning){this.setWarningText(Blockly.Msg.COLLAPSED_WARNINGS_WARNING,Blockly.BlockSvg.COLLAPSED_WARNING_ID);break}}else this.removeInput("_TEMP_COLLAPSED_INPUT"),this.warning&&(this.warning.setText("",Blockly.BlockSvg.COLLAPSED_WARNING_ID),Object.keys(this.warning.text_).length||this.setWarningText(null));if(Blockly.BlockSvg.superClass_.setCollapsed.call(this,e),o.length||(o[0]=this),this.rendered)for(n=0;i=o[n];n++)i.render()}},Blockly.BlockSvg.prototype.tab=function(e,t){var o=this.createTabList_(),n=o.indexOf(e);-1==n&&(n=t?-1:o.length),(o=o[t?n+1:n-1])?o instanceof Blockly.Field?o.showEditor_():o.tab(null,t):(o=this.getParent())&&o.tab(this,t)},Blockly.BlockSvg.prototype.createTabList_=function(){for(var e,t=[],o=0;e=this.inputList[o];o++){for(var n,i=0;n=e.fieldRow[i];i++)n instanceof Blockly.FieldTextInput&&t.push(n);e.connection&&(e=e.connection.targetBlock())&&t.push(e)}return t},Blockly.BlockSvg.prototype.onMouseDown_=function(e){var t=this.workspace&&this.workspace.getGesture(e);t&&t.handleBlockStart(e,this)},Blockly.BlockSvg.prototype.showHelp_=function(){var e="function"==typeof this.helpUrl?this.helpUrl():this.helpUrl;e&&window.open(e)},Blockly.BlockSvg.prototype.generateContextMenu=function(){if(this.workspace.options.readOnly||!this.contextMenu)return null;var e=this,t=[];if(!this.isInFlyout){if(this.isDeletable()&&this.isMovable()&&t.push(Blockly.ContextMenu.blockDuplicateOption(e)),this.workspace.options.comments&&!this.collapsed_&&this.isEditable()&&t.push(Blockly.ContextMenu.blockCommentOption(e)),this.isMovable())if(this.collapsed_)this.workspace.options.collapse&&((o={enabled:!0}).text=Blockly.Msg.EXPAND_BLOCK,o.callback=function(){e.setCollapsed(!1)},t.push(o));else{for(var o=1;o<this.inputList.length;o++)if(this.inputList[o-1].type!=Blockly.NEXT_STATEMENT&&this.inputList[o].type!=Blockly.NEXT_STATEMENT){o={enabled:!0};var n=this.getInputsInline();o.text=n?Blockly.Msg.EXTERNAL_INPUTS:Blockly.Msg.INLINE_INPUTS,o.callback=function(){e.setInputsInline(!n)},t.push(o);break}this.workspace.options.collapse&&((o={enabled:!0}).text=Blockly.Msg.COLLAPSE_BLOCK,o.callback=function(){e.setCollapsed(!0)},t.push(o))}this.workspace.options.disable&&this.isEditable()&&(o={text:this.isEnabled()?Blockly.Msg.DISABLE_BLOCK:Blockly.Msg.ENABLE_BLOCK,enabled:!this.getInheritedDisabled(),callback:function(){var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0),e.setEnabled(!e.isEnabled()),t||Blockly.Events.setGroup(!1)}},t.push(o)),this.isDeletable()&&t.push(Blockly.ContextMenu.blockDeleteOption(e))}return t.push(Blockly.ContextMenu.blockHelpOption(e)),this.customContextMenu&&this.customContextMenu(t),t},Blockly.BlockSvg.prototype.showContextMenu_=function(e){var t=this.generateContextMenu();t&&t.length&&(Blockly.ContextMenu.show(e,t,this.RTL),Blockly.ContextMenu.currentBlock=this)},Blockly.BlockSvg.prototype.moveConnections_=function(e,t){if(this.rendered){for(var o=this.getConnections_(!1),n=0;n<o.length;n++)o[n].moveBy(e,t);for(o=this.getIcons(),n=0;n<o.length;n++)o[n].computeIconLocation();for(n=0;n<this.childBlocks_.length;n++)this.childBlocks_[n].moveConnections_(e,t)}},Blockly.BlockSvg.prototype.setDragging=function(e){if(e){var t=this.getSvgRoot();t.translate_="",t.skew_="",Blockly.draggingConnections_=Blockly.draggingConnections_.concat(this.getConnections_(!0)),Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDragging")}else Blockly.draggingConnections_=[],Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDragging");for(t=0;t<this.childBlocks_.length;t++)this.childBlocks_[t].setDragging(e)},Blockly.BlockSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggable")},Blockly.BlockSvg.prototype.setMovable=function(e){Blockly.BlockSvg.superClass_.setMovable.call(this,e),this.updateMovable()},Blockly.BlockSvg.prototype.setEditable=function(e){Blockly.BlockSvg.superClass_.setEditable.call(this,e),e=this.getIcons();for(var t=0;t<e.length;t++)e[t].updateEditable()},Blockly.BlockSvg.prototype.setShadow=function(e){Blockly.BlockSvg.superClass_.setShadow.call(this,e),this.updateColour()},Blockly.BlockSvg.prototype.setInsertionMarker=function(e){this.isInsertionMarker_!=e&&(this.isInsertionMarker_=e)&&(this.setColour(Blockly.INSERTION_MARKER_COLOUR),Blockly.utils.dom.addClass(this.svgGroup_,"blocklyInsertionMarker"))},Blockly.BlockSvg.prototype.getSvgRoot=function(){return this.svgGroup_},Blockly.BlockSvg.prototype.dispose=function(e,t){if(this.workspace){Blockly.Tooltip.hide(),Blockly.Field.startCache();var o,n=this.workspace;if(Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture()),Blockly.ContextMenu.currentBlock==this&&Blockly.ContextMenu.hide(),t&&this.rendered&&(this.unplug(e),Blockly.blockAnimations.disposeUiEffect(this)),this.rendered=!1,this.warningTextDb_){for(var i in this.warningTextDb_)clearTimeout(this.warningTextDb_[i]);this.warningTextDb_=null}this.unplug(e),Blockly.Events.isEnabled()&&(o=new Blockly.Events.BlockDelete(this)),Blockly.Events.disable();try{var r=this.getIcons();for(i=0;i<r.length;i++)r[i].dispose();Blockly.BlockSvg.superClass_.dispose.call(this,e)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&o&&Blockly.Events.fire(o),Blockly.utils.dom.removeNode(this.svgGroup_),n.resizeContents(),this.svgPathDark_=this.svgPathLight_=this.svgPath_=this.svgGroup_=null,Blockly.Field.stopCache()}},Blockly.BlockSvg.prototype.updateColour=function(){if(this.isEnabled()){this.isShadow()?this.setShadowColour_():(this.setBorderColour_(),this.svgPath_.setAttribute("fill",this.getColour()));for(var e=this.getIcons(),t=0;t<e.length;t++)e[t].updateColour();for(e=0;t=this.inputList[e];e++)for(var o,n=0;o=t.fieldRow[n];n++)o.updateColour()}},Blockly.BlockSvg.prototype.setBorderColour_=function(){var e=this.getColourBorder();e.colourBorder?(this.svgPathLight_.style.display="none",this.svgPathDark_.style.display="none",this.svgPath_.setAttribute("stroke",e.colourBorder)):(this.svgPathLight_.style.display="",this.svgPathDark_.style.display="",this.svgPath_.setAttribute("stroke","none"),this.svgPathLight_.setAttribute("stroke",e.colourLight),this.svgPathDark_.setAttribute("fill",e.colourDark))},Blockly.BlockSvg.prototype.setShadowColour_=function(){var e=this.getColourShadow();return this.svgPathLight_.style.display="none",this.svgPathDark_.setAttribute("fill",e),this.svgPath_.setAttribute("stroke","none"),this.svgPath_.setAttribute("fill",e),e},Blockly.BlockSvg.prototype.updateDisabled=function(){!this.isEnabled()||this.getInheritedDisabled()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDisabled")&&this.svgPath_.setAttribute("fill","url(#"+this.workspace.options.disabledPatternId+")"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDisabled")&&this.updateColour();for(var e,t=this.getChildren(!1),o=0;e=t[o];o++)e.updateDisabled()},Blockly.BlockSvg.prototype.getCommentText=function(){return this.comment?this.comment.getText().replace(/\s+$/,"").replace(/ +\n/g,"\n"):""},Blockly.BlockSvg.prototype.setCommentText=function(e){var t=!1;"string"==typeof e?(this.comment||(this.comment=new Blockly.Comment(this),t=!0),this.comment.setText(e)):this.comment&&(this.comment.dispose(),t=!0),t&&this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setWarningText=function(e,t){this.warningTextDb_||(this.warningTextDb_=Object.create(null));var o=t||"";if(o)this.warningTextDb_[o]&&(clearTimeout(this.warningTextDb_[o]),delete this.warningTextDb_[o]);else for(var n in this.warningTextDb_)clearTimeout(this.warningTextDb_[n]),delete this.warningTextDb_[n];if(this.workspace.isDragging()){var i=this;this.warningTextDb_[o]=setTimeout((function(){i.workspace&&(delete i.warningTextDb_[o],i.setWarningText(e,o))}),100)}else{this.isInFlyout&&(e=null),n=this.getSurroundParent();for(var r=null;n;)n.isCollapsed()&&(r=n),n=n.getSurroundParent();r&&r.setWarningText(Blockly.Msg.COLLAPSED_WARNINGS_WARNING,Blockly.BlockSvg.COLLAPSED_WARNING_ID),n=!1,"string"==typeof e?(this.warning||(this.warning=new Blockly.Warning(this),n=!0),this.warning.setText(e,o)):this.warning&&!o?(this.warning.dispose(),n=!0):this.warning&&(n=this.warning.getText(),this.warning.setText("",o),(r=this.warning.getText())||this.warning.dispose(),n=n!=r),n&&this.rendered&&(this.render(),this.bumpNeighbours_())}},Blockly.BlockSvg.prototype.setMutator=function(e){this.mutator&&this.mutator!==e&&this.mutator.dispose(),e&&(e.block_=this,this.mutator=e,e.createIcon())},Blockly.BlockSvg.prototype.setDisabled=function(e){console.warn("Deprecated call to Blockly.BlockSvg.prototype.setDisabled, use Blockly.BlockSvg.prototype.setEnabled instead."),this.setEnabled(!e)},Blockly.BlockSvg.prototype.setEnabled=function(e){this.isEnabled()!=e&&(Blockly.BlockSvg.superClass_.setEnabled.call(this,e),this.rendered&&this.updateDisabled())},Blockly.BlockSvg.prototype.setHighlighted=function(e){this.rendered&&(e?(this.svgPath_.setAttribute("filter","url(#"+this.workspace.options.embossFilterId+")"),this.svgPathLight_.style.display="none"):(this.svgPath_.setAttribute("filter","none"),this.svgPathLight_.style.display="inline"))},Blockly.BlockSvg.prototype.addSelect=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklySelected")},Blockly.BlockSvg.prototype.removeSelect=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklySelected")},Blockly.BlockSvg.prototype.setDeleteStyle=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggingDelete")},Blockly.BlockSvg.prototype.setColour=function(e){Blockly.BlockSvg.superClass_.setColour.call(this,e),this.rendered&&this.updateColour()},Blockly.BlockSvg.prototype.bringToFront=function(){var e=this;do{var t=e.getSvgRoot();t.parentNode.appendChild(t),e=e.getParent()}while(e)},Blockly.BlockSvg.prototype.setPreviousStatement=function(e,t){Blockly.BlockSvg.superClass_.setPreviousStatement.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setNextStatement=function(e,t){Blockly.BlockSvg.superClass_.setNextStatement.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setOutput=function(e,t){Blockly.BlockSvg.superClass_.setOutput.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setInputsInline=function(e){Blockly.BlockSvg.superClass_.setInputsInline.call(this,e),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.removeInput=function(e,t){Blockly.BlockSvg.superClass_.removeInput.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.moveNumberedInputBefore=function(e,t){Blockly.BlockSvg.superClass_.moveNumberedInputBefore.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.appendInput_=function(e,t){var o=Blockly.BlockSvg.superClass_.appendInput_.call(this,e,t);return this.rendered&&(this.render(),this.bumpNeighbours_()),o},Blockly.BlockSvg.prototype.getConnections_=function(e){var t=[];if((e||this.rendered)&&(this.outputConnection&&t.push(this.outputConnection),this.previousConnection&&t.push(this.previousConnection),this.nextConnection&&t.push(this.nextConnection),e||!this.collapsed_)){e=0;for(var o;o=this.inputList[e];e++)o.connection&&t.push(o.connection)}return t},Blockly.BlockSvg.prototype.makeConnection_=function(e){return new Blockly.RenderedConnection(this,e)},Blockly.BlockSvg.prototype.bumpNeighbours_=function(){if(this.workspace&&!this.workspace.isDragging()){var e=this.getRootBlock();if(!e.isInFlyout)for(var t,o=this.getConnections_(!1),n=0;t=o[n];n++){t.isConnected()&&t.isSuperior()&&t.targetBlock().bumpNeighbours_();for(var i,r=t.neighbours_(Blockly.SNAP_RADIUS),s=0;i=r[s];s++)t.isConnected()&&i.isConnected()||i.getSourceBlock().getRootBlock()!=e&&(t.isSuperior()?i.bumpAwayFrom_(t):t.bumpAwayFrom_(i))}}},Blockly.BlockSvg.prototype.scheduleSnapAndBump=function(){var e=this,t=Blockly.Events.getGroup();setTimeout((function(){Blockly.Events.setGroup(t),e.snapToGrid(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY/2),setTimeout((function(){Blockly.Events.setGroup(t),e.bumpNeighbours_(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY)},Blockly.BlockSvg.render={},Blockly.BlockSvg.PathObject=function(){this.steps=[],this.highlightSteps=[],this.inlineSteps=[],this.highlightInlineSteps=[]},Blockly.BlockSvg.SEP_SPACE_X=10,Blockly.BlockSvg.SEP_SPACE_Y=10,Blockly.BlockSvg.INLINE_PADDING_Y=5,Blockly.BlockSvg.MIN_BLOCK_Y=25,Blockly.BlockSvg.TAB_HEIGHT=20,Blockly.BlockSvg.TAB_WIDTH=8,Blockly.BlockSvg.NOTCH_WIDTH=30,Blockly.BlockSvg.CORNER_RADIUS=8,Blockly.BlockSvg.START_HAT=!1,Blockly.BlockSvg.START_HAT_HEIGHT=15,Blockly.BlockSvg.START_HAT_PATH="c 30,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 70,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 100,0",Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR="c 17.8,-9.2 45.3,-14.9 75,-8.7 M 100.5,0.5",Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL="m 25,-8.7 c 29.7,-6.2 57.2,-0.5 75,8.7",Blockly.BlockSvg.DISTANCE_45_INSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS-.5)+.5,Blockly.BlockSvg.DISTANCE_45_OUTSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS+.5)-.5,Blockly.BlockSvg.NOTCH_PATH_LEFT="l 6,4 3,0 6,-4",Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT="l 6,4 3,0 6,-4",Blockly.BlockSvg.NOTCH_PATH_RIGHT="l -6,4 -3,0 -6,-4",Blockly.BlockSvg.JAGGED_TEETH="l 8,0 0,4 8,4 -16,8 8,4",Blockly.BlockSvg.JAGGED_TEETH_HEIGHT=20,Blockly.BlockSvg.JAGGED_TEETH_WIDTH=15,Blockly.BlockSvg.TAB_PATH_DOWN="v 5 c 0,10 -"+Blockly.BlockSvg.TAB_WIDTH+",-8 -"+Blockly.BlockSvg.TAB_WIDTH+",7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",-2.5 "+Blockly.BlockSvg.TAB_WIDTH+",7.5",Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL="v 6.5 m -"+.97*Blockly.BlockSvg.TAB_WIDTH+",3 q -"+.05*Blockly.BlockSvg.TAB_WIDTH+",10 "+.3*Blockly.BlockSvg.TAB_WIDTH+",9.5 m "+.67*Blockly.BlockSvg.TAB_WIDTH+",-1.9 v 1.4",Blockly.BlockSvg.TOP_LEFT_CORNER_START="m 0,"+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL="m "+Blockly.BlockSvg.DISTANCE_45_INSIDE+","+Blockly.BlockSvg.DISTANCE_45_INSIDE,Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR="m 0.5,"+(Blockly.BlockSvg.CORNER_RADIUS-.5),Blockly.BlockSvg.TOP_LEFT_CORNER="A "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0",Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT="A "+(Blockly.BlockSvg.CORNER_RADIUS-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0.5",Blockly.BlockSvg.INNER_TOP_LEFT_CORNER=Blockly.BlockSvg.NOTCH_PATH_RIGHT+" h -"+(Blockly.BlockSvg.NOTCH_WIDTH-15-Blockly.BlockSvg.CORNER_RADIUS)+" a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 -"+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+(-Blockly.BlockSvg.DISTANCE_45_OUTSIDE-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE),Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5),Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)+","+(Blockly.BlockSvg.DISTANCE_45_OUTSIDE+.5),Blockly.BlockSvg.prototype.getHeightWidth=function(){var e=this.height,t=this.width,o=this.getNextBlock();return o?(e+=(o=o.getHeightWidth()).height-4,t=Math.max(t,o.width)):this.nextConnection||this.outputConnection||(e+=2),{height:e,width:t}},Blockly.BlockSvg.prototype.render=function(e){Blockly.Field.startCache(),this.rendered=!0;var t=Blockly.BlockSvg.SEP_SPACE_X;this.RTL&&(t=-t);for(var o=this.getIcons(),n=0;n<o.length;n++)t=o[n].renderIcon(t);t+=this.RTL?Blockly.BlockSvg.SEP_SPACE_X:-Blockly.BlockSvg.SEP_SPACE_X,o=this.renderCompute_(t),this.renderDraw_(t,o),this.renderMoveConnections_(),!1!==e&&((e=this.getParent())?e.render(!0):this.workspace.resizeContents()),Blockly.Field.stopCache()},Blockly.BlockSvg.prototype.renderFields_=function(e,t,o){o+=Blockly.BlockSvg.INLINE_PADDING_Y,this.RTL&&(t=-t);for(var n,i=0;n=e[i];i++){var r=n.getSvgRoot();if(r){var s="";if(this.RTL){var a=t-=n.renderSep+n.renderWidth;n.renderWidth&&(t-=Blockly.BlockSvg.SEP_SPACE_X)}else a=t+n.renderSep,n.renderWidth&&(t+=n.renderSep+n.renderWidth+Blockly.BlockSvg.SEP_SPACE_X);this.RTL&&n instanceof Blockly.FieldImage&&n.getFlipRtl()&&(s="scale(-1 1)",a+=n.renderWidth),r.setAttribute("transform","translate("+a+","+o+")"+s),this.isInsertionMarker()&&r.setAttribute("display","none")}}return this.RTL?-t:t},Blockly.BlockSvg.prototype.renderCompute_=function(e){var t=this.inputList,o=[];o.rightEdge=e+2*Blockly.BlockSvg.SEP_SPACE_X,(this.previousConnection||this.nextConnection)&&(o.rightEdge=Math.max(o.rightEdge,Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.SEP_SPACE_X));for(var n,i=0,r=0,s=!1,a=!1,l=!1,u=void 0,c=this.getInputsInline()&&!this.isCollapsed(),h=0;n=t[h];h++)if(n.isVisible()){if(c&&u&&u!=Blockly.NEXT_STATEMENT&&n.type!=Blockly.NEXT_STATEMENT)var d=o[o.length-1];else u=n.type,(d=[]).type=c&&n.type!=Blockly.NEXT_STATEMENT?Blockly.BlockSvg.INLINE:n.type,d.height=0,o.push(d);if(d.push(n),n.renderHeight=Blockly.BlockSvg.MIN_BLOCK_Y,n.renderWidth=c&&n.type==Blockly.INPUT_VALUE?Blockly.BlockSvg.TAB_WIDTH+1.25*Blockly.BlockSvg.SEP_SPACE_X:0,n.connection&&n.connection.isConnected()){var g=n.connection.targetBlock().getHeightWidth();n.renderHeight=Math.max(n.renderHeight,g.height),n.renderWidth=Math.max(n.renderWidth,g.width)}c||h!=t.length-1?!c&&n.type==Blockly.INPUT_VALUE&&t[h+1]&&t[h+1].type==Blockly.NEXT_STATEMENT&&n.renderHeight--:n.renderHeight--,d.height=Math.max(d.height,n.renderHeight),n.fieldWidth=0,1==o.length&&(n.fieldWidth+=this.RTL?-e:e),g=!1;for(var p,f=0;p=n.fieldRow[f];f++){0!=f&&(n.fieldWidth+=Blockly.BlockSvg.SEP_SPACE_X);var m=p.getSize();p.renderWidth=m.width,p.renderSep=g&&p.EDITABLE?Blockly.BlockSvg.SEP_SPACE_X:0,n.fieldWidth+=p.renderWidth+p.renderSep,d.height=Math.max(d.height,m.height),g=p.EDITABLE}d.type!=Blockly.BlockSvg.INLINE&&(d.type==Blockly.NEXT_STATEMENT?(a=!0,r=Math.max(r,n.fieldWidth)):(d.type==Blockly.INPUT_VALUE?s=!0:d.type==Blockly.DUMMY_INPUT&&(l=!0),i=Math.max(i,n.fieldWidth)))}for(e=0;d=o[e];e++)if(d.thicker=!1,d.type==Blockly.BlockSvg.INLINE)for(t=0;n=d[t];t++)if(n.type==Blockly.INPUT_VALUE){d.height+=2*Blockly.BlockSvg.INLINE_PADDING_Y,d.thicker=!0;break}return o.statementEdge=2*Blockly.BlockSvg.SEP_SPACE_X+r,a&&(o.rightEdge=Math.max(o.rightEdge,o.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH)),s?o.rightEdge=Math.max(o.rightEdge,i+2*Blockly.BlockSvg.SEP_SPACE_X+Blockly.BlockSvg.TAB_WIDTH):l&&(o.rightEdge=Math.max(o.rightEdge,i+2*Blockly.BlockSvg.SEP_SPACE_X)),o.hasValue=s,o.hasStatement=a,o.hasDummy=l,o},Blockly.BlockSvg.prototype.renderDraw_=function(e,t){if(this.startHat_=!1,this.height=0,this.outputConnection)this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!0;else{var o=this.hat?"cap"===this.hat:Blockly.BlockSvg.START_HAT;this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!1,this.previousConnection?(o=this.previousConnection.targetBlock())&&o.getNextBlock()==this&&(this.squareTopLeftCorner_=!0):o&&(this.startHat_=this.squareTopLeftCorner_=!0,this.height+=Blockly.BlockSvg.START_HAT_HEIGHT,t.rightEdge=Math.max(t.rightEdge,100)),this.getNextBlock()&&(this.squareBottomLeftCorner_=!0)}o=new Blockly.BlockSvg.PathObject,this.renderDrawTop_(o,t.rightEdge);var n=this.renderDrawRight_(o,t,e);this.renderDrawBottom_(o,n),this.renderDrawLeft_(o),this.setPaths_(o)},Blockly.BlockSvg.prototype.setPaths_=function(e){var t=e.steps.join(" ")+"\n"+e.inlineSteps.join(" ");this.svgPath_.setAttribute("d",t),this.svgPathDark_.setAttribute("d",t),t=e.highlightSteps.join(" ")+"\n"+e.highlightInlineSteps.join(" "),this.svgPathLight_.setAttribute("d",t),this.RTL&&(this.svgPath_.setAttribute("transform","scale(-1 1)"),this.svgPathLight_.setAttribute("transform","scale(-1 1)"),this.svgPathDark_.setAttribute("transform","translate(1,1) scale(-1 1)"))},Blockly.BlockSvg.prototype.renderMoveConnections_=function(){var e=this.getRelativeToSurfaceXY();this.previousConnection&&this.previousConnection.moveToOffset(e),this.outputConnection&&this.outputConnection.moveToOffset(e);for(var t=0;t<this.inputList.length;t++){var o=this.inputList[t].connection;o&&(o.moveToOffset(e),o.isConnected()&&o.tighten_())}this.nextConnection&&(this.nextConnection.moveToOffset(e),this.nextConnection.isConnected()&&this.nextConnection.tighten_())},Blockly.BlockSvg.prototype.renderDrawTop_=function(e,t){var o=e.steps,n=e.highlightSteps;this.squareTopLeftCorner_?(o.push("m 0,0"),n.push("m 0.5,0.5"),this.startHat_&&(o.push(Blockly.BlockSvg.START_HAT_PATH),n.push(this.RTL?Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL:Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR))):(o.push(Blockly.BlockSvg.TOP_LEFT_CORNER_START),n.push(this.RTL?Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL:Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR),o.push(Blockly.BlockSvg.TOP_LEFT_CORNER),n.push(Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT)),this.previousConnection&&(o.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),n.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),o.push(Blockly.BlockSvg.NOTCH_PATH_LEFT),n.push(Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT),this.previousConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,0)),o.push("H",t),n.push("H",t-.5),this.width=t},Blockly.BlockSvg.prototype.renderDrawRight_=function(e,t,o){for(var n,i={x:0,y:0},r={x:0,y:0},s=0;n=t[s];s++)i.x=Blockly.BlockSvg.SEP_SPACE_X,0==s&&(i.x+=this.RTL?-o:o),e.highlightSteps.push("M",t.rightEdge-.5+","+(i.y+.5)),this.isCollapsed()?this.renderJaggedEdge_(e,n,i):n.type==Blockly.BlockSvg.INLINE?this.renderInlineRow_(e,n,i,r,t.rightEdge):n.type==Blockly.INPUT_VALUE?this.renderExternalValueInput_(e,n,i,r,t.rightEdge):n.type==Blockly.DUMMY_INPUT?this.renderDummyInput_(e,n,i,t.rightEdge,t.hasValue):n.type==Blockly.NEXT_STATEMENT&&this.renderStatementInput_(e,n,i,r,t,s),i.y+=n.height;return t.length||(i.y=Blockly.BlockSvg.MIN_BLOCK_Y,e.steps.push("V",i.y),this.RTL&&e.highlightSteps.push("V",i.y-1)),i.y},Blockly.BlockSvg.prototype.renderDrawBottom_=function(e,t){var o=e.steps,n=e.highlightSteps;this.height+=t+1,this.nextConnection&&(o.push("H",Blockly.BlockSvg.NOTCH_WIDTH+(this.RTL?.5:-.5)+" "+Blockly.BlockSvg.NOTCH_PATH_RIGHT),this.nextConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,t+1),this.height+=4),this.squareBottomLeftCorner_?(o.push("H 0"),this.RTL||n.push("M","0.5,"+(t-.5))):(o.push("H",Blockly.BlockSvg.CORNER_RADIUS),o.push("a",Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 -"+Blockly.BlockSvg.CORNER_RADIUS+",-"+Blockly.BlockSvg.CORNER_RADIUS),this.RTL||(n.push("M",Blockly.BlockSvg.DISTANCE_45_INSIDE+","+(t-Blockly.BlockSvg.DISTANCE_45_INSIDE)),n.push("A",Blockly.BlockSvg.CORNER_RADIUS-.5+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 0.5,"+(t-Blockly.BlockSvg.CORNER_RADIUS))))},Blockly.BlockSvg.prototype.renderDrawLeft_=function(e){var t=e.steps;e=e.highlightSteps,this.outputConnection?(this.outputConnection.setOffsetInBlock(0,0),t.push("V",Blockly.BlockSvg.TAB_HEIGHT),t.push("c 0,-10 -"+Blockly.BlockSvg.TAB_WIDTH+",8 -"+Blockly.BlockSvg.TAB_WIDTH+",-7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",2.5 "+Blockly.BlockSvg.TAB_WIDTH+",-7.5"),this.RTL?(e.push("M",-.25*Blockly.BlockSvg.TAB_WIDTH+",8.4"),e.push("l",-.45*Blockly.BlockSvg.TAB_WIDTH+",-2.1")):(e.push("V",Blockly.BlockSvg.TAB_HEIGHT-1.5),e.push("m",-.92*Blockly.BlockSvg.TAB_WIDTH+",-0.5 q "+-.19*Blockly.BlockSvg.TAB_WIDTH+",-5.5 0,-11"),e.push("m",.92*Blockly.BlockSvg.TAB_WIDTH+",1 V 0.5 H 1")),this.width+=Blockly.BlockSvg.TAB_WIDTH):this.RTL||(this.squareTopLeftCorner_?e.push("V",.5):e.push("V",Blockly.BlockSvg.CORNER_RADIUS)),t.push("z")},Blockly.BlockSvg.prototype.renderJaggedEdge_=function(e,t,o){var n=e.steps;e=e.highlightSteps,this.renderFields_(t[0].fieldRow,o.x,o.y),n.push(Blockly.BlockSvg.JAGGED_TEETH),e.push("h 8"),t=t.height-Blockly.BlockSvg.JAGGED_TEETH_HEIGHT,n.push("v",t),this.RTL&&(e.push("v 3.9 l 7.2,3.4 m -14.5,8.9 l 7.3,3.5"),e.push("v",t-.7)),this.width+=Blockly.BlockSvg.JAGGED_TEETH_WIDTH},Blockly.BlockSvg.prototype.renderInlineRow_=function(e,t,o,n,i){var r=e.inlineSteps,s=e.highlightInlineSteps,a=e.steps;e=e.highlightSteps;for(var l,u=0;l=t[u];u++){var c=o.x,h=o.y;t.thicker&&(h+=Blockly.BlockSvg.INLINE_PADDING_Y),o.x=this.renderFields_(l.fieldRow,c,h),l.type!=Blockly.DUMMY_INPUT&&(o.x+=l.renderWidth+Blockly.BlockSvg.SEP_SPACE_X),l.type==Blockly.INPUT_VALUE&&(r.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y)),r.push("h",Blockly.BlockSvg.TAB_WIDTH-2-l.renderWidth),r.push(Blockly.BlockSvg.TAB_PATH_DOWN),r.push("v",l.renderHeight+1-Blockly.BlockSvg.TAB_HEIGHT),r.push("h",l.renderWidth+2-Blockly.BlockSvg.TAB_WIDTH),r.push("z"),this.RTL?(s.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X-2.5+Blockly.BlockSvg.TAB_WIDTH-l.renderWidth+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),s.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),s.push("v",l.renderHeight-Blockly.BlockSvg.TAB_HEIGHT+2.5),s.push("h",l.renderWidth-Blockly.BlockSvg.TAB_WIDTH+2)):(s.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X+.5+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),s.push("v",l.renderHeight+1),s.push("h",Blockly.BlockSvg.TAB_WIDTH-2-l.renderWidth),s.push("M",o.x-l.renderWidth-Blockly.BlockSvg.SEP_SPACE_X+.9+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+Blockly.BlockSvg.TAB_HEIGHT-.7)),s.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1")),n.x=this.RTL?-o.x-Blockly.BlockSvg.TAB_WIDTH+Blockly.BlockSvg.SEP_SPACE_X+l.renderWidth+1:o.x+Blockly.BlockSvg.TAB_WIDTH-Blockly.BlockSvg.SEP_SPACE_X-l.renderWidth-1,n.y=o.y+Blockly.BlockSvg.INLINE_PADDING_Y+1,l.connection.setOffsetInBlock(n.x,n.y))}o.x=Math.max(o.x,i),this.width=Math.max(this.width,o.x),a.push("H",o.x),e.push("H",o.x-.5),a.push("v",t.height),this.RTL&&e.push("v",t.height-1)},Blockly.BlockSvg.prototype.renderExternalValueInput_=function(e,t,o,n,i){var r=e.steps;e=e.highlightSteps;var s=t[0],a=o.x,l=o.y;if(s.align!=Blockly.ALIGN_LEFT){var u=i-s.fieldWidth-Blockly.BlockSvg.TAB_WIDTH-2*Blockly.BlockSvg.SEP_SPACE_X;s.align==Blockly.ALIGN_RIGHT?a+=u:s.align==Blockly.ALIGN_CENTRE&&(a+=u/2)}this.renderFields_(s.fieldRow,a,l),r.push(Blockly.BlockSvg.TAB_PATH_DOWN),t=t.height-Blockly.BlockSvg.TAB_HEIGHT,r.push("v",t),this.RTL?(e.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),e.push("v",t+.5)):(e.push("M",i-5+","+(o.y+Blockly.BlockSvg.TAB_HEIGHT-.7)),e.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1")),n.x=this.RTL?-i-1:i+1,s.connection.setOffsetInBlock(n.x,o.y),s.connection.isConnected()&&(this.width=Math.max(this.width,i+s.connection.targetBlock().getHeightWidth().width-Blockly.BlockSvg.TAB_WIDTH+1))},Blockly.BlockSvg.prototype.renderDummyInput_=function(e,t,o,n,i){var r=e.steps;e=e.highlightSteps;var s=t[0],a=o.x;o=o.y,s.align!=Blockly.ALIGN_LEFT&&(n=n-s.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X,i&&(n-=Blockly.BlockSvg.TAB_WIDTH),s.align==Blockly.ALIGN_RIGHT?a+=n:s.align==Blockly.ALIGN_CENTRE&&(a+=n/2)),this.renderFields_(s.fieldRow,a,o),r.push("v",t.height),this.RTL&&e.push("v",t.height-1)},Blockly.BlockSvg.prototype.renderStatementInput_=function(e,t,o,n,i,r){var s=e.steps;e=e.highlightSteps;var a=t[0];0==r&&(s.push("v",Blockly.BlockSvg.SEP_SPACE_Y),this.RTL&&e.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),o.y+=Blockly.BlockSvg.SEP_SPACE_Y);var l=o.x,u=o.y;if(a.align!=Blockly.ALIGN_LEFT){var c=i.statementEdge-a.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X;a.align==Blockly.ALIGN_RIGHT?l+=c:a.align==Blockly.ALIGN_CENTRE&&(l+=c/2)}this.renderFields_(a.fieldRow,l,u),o.x=i.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH,s.push("H",o.x),s.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER),s.push("v",t.height-2*Blockly.BlockSvg.CORNER_RADIUS),s.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER),s.push("H",i.rightEdge),this.RTL?(e.push("M",o.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(o.y+Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),e.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL),e.push("v",t.height-2*Blockly.BlockSvg.CORNER_RADIUS),e.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL)):(e.push("M",o.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(o.y+t.height-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),e.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR)),e.push("H",i.rightEdge-.5),n.x=this.RTL?-o.x:o.x+1,a.connection.setOffsetInBlock(n.x,o.y+1),a.connection.isConnected()&&(this.width=Math.max(this.width,i.statementEdge+a.connection.targetBlock().getHeightWidth().width)),r!=i.length-1&&i[r+1].type!=Blockly.NEXT_STATEMENT||(s.push("v",Blockly.BlockSvg.SEP_SPACE_Y),this.RTL&&e.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),o.y+=Blockly.BlockSvg.SEP_SPACE_Y)},Blockly.BlockSvg.prototype.positionNewBlock=function(e,t,o){t.type!=Blockly.NEXT_STATEMENT&&t.type!=Blockly.INPUT_VALUE||e.moveBy(o.x_-t.x_,o.y_-t.y_)},Blockly.BlockSvg.prototype.highlightForReplacement=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyReplaceable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyReplaceable")},Blockly.DropDownDiv=function(){},Blockly.DropDownDiv.DIV_=null,Blockly.DropDownDiv.boundsElement_=null,Blockly.DropDownDiv.owner_=null,Blockly.DropDownDiv.positionToField_=null,Blockly.DropDownDiv.ARROW_SIZE=16,Blockly.DropDownDiv.BORDER_SIZE=1,Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING=12,Blockly.DropDownDiv.PADDING_Y=16,Blockly.DropDownDiv.ANIMATION_TIME=.25,Blockly.DropDownDiv.animateOutTimer_=null,Blockly.DropDownDiv.onHide_=0,Blockly.DropDownDiv.createDom=function(){if(!Blockly.DropDownDiv.DIV_){var e=document.createElement("div");e.className="blocklyDropDownDiv",document.body.appendChild(e),Blockly.DropDownDiv.DIV_=e;var t=document.createElement("div");t.className="blocklyDropDownContent",e.appendChild(t),Blockly.DropDownDiv.content_=t,(t=document.createElement("div")).className="blocklyDropDownArrow",e.appendChild(t),Blockly.DropDownDiv.arrow_=t,Blockly.DropDownDiv.DIV_.style.opacity=0,Blockly.DropDownDiv.DIV_.style.transition="transform "+Blockly.DropDownDiv.ANIMATION_TIME+"s, opacity "+Blockly.DropDownDiv.ANIMATION_TIME+"s"}},Blockly.DropDownDiv.setBoundsElement=function(e){Blockly.DropDownDiv.boundsElement_=e},Blockly.DropDownDiv.getContentDiv=function(){return Blockly.DropDownDiv.content_},Blockly.DropDownDiv.clearContent=function(){Blockly.DropDownDiv.content_.innerHTML="",Blockly.DropDownDiv.content_.style.width=""},Blockly.DropDownDiv.setColour=function(e,t){Blockly.DropDownDiv.DIV_.style.backgroundColor=e,Blockly.DropDownDiv.DIV_.style.borderColor=t},Blockly.DropDownDiv.setCategory=function(e){Blockly.DropDownDiv.DIV_.setAttribute("data-category",e)},Blockly.DropDownDiv.showPositionedByBlock=function(e,t,o,n){var i=t.workspace.scale,r=t.width,s=t.height;return r*=i,s*=i,r=(i=t.getSvgRoot().getBoundingClientRect()).left+r/2,s=i.top+s,i=i.top,n&&(i+=n),Blockly.DropDownDiv.setBoundsElement(t.workspace.getParentSvg().parentNode),Blockly.DropDownDiv.show(e,r,s,r,i,o)},Blockly.DropDownDiv.showPositionedByField=function(e,t,o){var n=e.fieldGroup_.getBoundingClientRect(),i=n.left+n.width/2,r=n.bottom;return n=n.top,o&&(n+=o),Blockly.DropDownDiv.positionToField_=!0,Blockly.DropDownDiv.setBoundsElement(e.getSourceBlock().workspace.getParentSvg().parentNode),Blockly.DropDownDiv.show(e,i,r,i,n,t)},Blockly.DropDownDiv.show=function(e,t,o,n,i,r){return Blockly.DropDownDiv.owner_=e,Blockly.DropDownDiv.onHide_=r,e=Blockly.DropDownDiv.getPositionMetrics(t,o,n,i),Blockly.DropDownDiv.arrow_.style.transform="translate("+e.arrowX+"px,"+e.arrowY+"px) rotate(45deg)",Blockly.DropDownDiv.arrow_.setAttribute("class",e.arrowAtTop?"blocklyDropDownArrow arrowTop":"blocklyDropDownArrow arrowBottom"),Blockly.DropDownDiv.arrow_.style.display=e.arrowVisible?"":"none",Blockly.DropDownDiv.positionInternal_(e.initialX,e.initialY,e.finalX,e.finalY),e.arrowAtTop},Blockly.DropDownDiv.getBoundsInfo_=function(){var e=Blockly.DropDownDiv.boundsElement_.getBoundingClientRect(),t=goog.style.getSize(Blockly.DropDownDiv.boundsElement_);return{left:e.left,right:e.left+t.width,top:e.top,bottom:e.top+t.height,width:t.width,height:t.height}},Blockly.DropDownDiv.getPositionMetrics=function(e,t,o,n){var i=Blockly.DropDownDiv.getBoundsInfo_(),r=goog.style.getSize(Blockly.DropDownDiv.DIV_);if(t+r.height>i.bottom)if(n-r.height<i.top){o=0;var s=!1,a=!0}else e=o,o=n-r.height-Blockly.DropDownDiv.PADDING_Y,s=!0;else o=t+Blockly.DropDownDiv.PADDING_Y,s=!1;var l=e;return e-=r.width/2,e=Blockly.utils.math.clamp(i.left,e,i.right-r.width),l-=Blockly.DropDownDiv.ARROW_SIZE/2,l=Blockly.utils.math.clamp(i.left,l,i.right),i=Blockly.utils.math.clamp(Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING,l-e,r.width-Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING-Blockly.DropDownDiv.ARROW_SIZE),l=s?r.height-Blockly.DropDownDiv.BORDER_SIZE:0,l-=Blockly.DropDownDiv.ARROW_SIZE/2+Blockly.DropDownDiv.BORDER_SIZE,{initialX:e,initialY:s?n-r.height:t,finalX:e,finalY:o,arrowX:i,arrowY:l,arrowAtTop:!s,arrowVisible:!a}},Blockly.DropDownDiv.isVisible=function(){return!!Blockly.DropDownDiv.owner_},Blockly.DropDownDiv.hideIfOwner=function(e){return Blockly.DropDownDiv.owner_===e&&(Blockly.DropDownDiv.hide(),!0)},Blockly.DropDownDiv.hide=function(){var e=Blockly.DropDownDiv.DIV_;e.style.transform="translate(0px, 0px)",e.style.opacity=0,Blockly.DropDownDiv.animateOutTimer_=setTimeout((function(){Blockly.DropDownDiv.hideWithoutAnimation()}),1e3*Blockly.DropDownDiv.ANIMATION_TIME),Blockly.DropDownDiv.onHide_&&(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)},Blockly.DropDownDiv.hideWithoutAnimation=function(){if(Blockly.DropDownDiv.isVisible()){Blockly.DropDownDiv.animateOutTimer_&&clearTimeout(Blockly.DropDownDiv.animateOutTimer_);var e=Blockly.DropDownDiv.DIV_;e.style.transform="",e.style.left="",e.style.top="",e.style.opacity=0,e.style.display="none",Blockly.DropDownDiv.clearContent(),Blockly.DropDownDiv.owner_=null,Blockly.DropDownDiv.onHide_&&(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)}},Blockly.DropDownDiv.positionInternal_=function(e,t,o,n){e=Math.floor(e),t=Math.floor(t),o=Math.floor(o),n=Math.floor(n);var i=Blockly.DropDownDiv.DIV_;i.style.left=e+"px",i.style.top=t+"px",i.style.display="block",i.style.opacity=1,i.style.transform="translate("+(o-e)+"px,"+(n-t)+"px)"},Blockly.DropDownDiv.repositionForWindowResize=function(){if(Blockly.DropDownDiv.owner_){var e=Blockly.DropDownDiv.owner_.getSourceBlock(),t=e.workspace.scale,o=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.size_.width:e.width,n=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.size_.height:e.height;o*=t,n*=t,o=(e=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.fieldGroup_.getBoundingClientRect():e.getSvgRoot().getBoundingClientRect()).left+o/2,n=Blockly.DropDownDiv.getPositionMetrics(o,e.top+n,o,e.top),Blockly.DropDownDiv.positionInternal_(n.initialX,n.initialY,n.finalX,n.finalY)}else Blockly.DropDownDiv.hide()},Blockly.FieldTextInput=function(e,t){null===(e=this.doClassValidation_(e))&&(e=""),Blockly.FieldTextInput.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldTextInput,Blockly.Field),Blockly.FieldTextInput.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return t=new Blockly.FieldTextInput(t),"boolean"==typeof e.spellcheck&&t.setSpellcheck(e.spellcheck),t},Blockly.FieldTextInput.prototype.SERIALIZABLE=!0,Blockly.FieldTextInput.FONTSIZE=11,Blockly.FieldTextInput.prototype.CURSOR="text",Blockly.FieldTextInput.prototype.spellcheck_=!0,Blockly.FieldTextInput.prototype.doClassValidation_=function(e){return null==e?null:String(e)},Blockly.FieldTextInput.prototype.doValueInvalid_=function(e){this.isBeingEdited_&&(this.isTextValid_=!1,e=this.value_,this.value_=this.htmlInput_.untypedDefaultValue_,this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,e,this.value_)))},Blockly.FieldTextInput.prototype.doValueUpdate_=function(e){this.isTextValid_=!0,this.value_=e,this.isBeingEdited_||(this.text_=String(e),this.isDirty_=!0)},Blockly.FieldTextInput.prototype.render_=function(){Blockly.FieldTextInput.superClass_.render_.call(this),this.isBeingEdited_&&(this.resizeEditor_(),this.isTextValid_?Blockly.utils.dom.removeClass(this.htmlInput_,"blocklyInvalidInput"):Blockly.utils.dom.addClass(this.htmlInput_,"blocklyInvalidInput"))},Blockly.FieldTextInput.prototype.setSpellcheck=function(e){this.spellcheck_=e},Blockly.FieldTextInput.prototype.showEditor_=function(e){this.workspace_=this.sourceBlock_.workspace,!(e=e||!1)&&(Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(e)},Blockly.FieldTextInput.prototype.showPromptEditor_=function(){var e=this;Blockly.prompt(Blockly.Msg.CHANGE_VALUE_TITLE,this.text_,(function(t){e.setValue(t)}))},Blockly.FieldTextInput.prototype.showInlineEditor_=function(e){this.isBeingEdited_=!0,Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_.bind(this)),this.htmlInput_=this.widgetCreate_(),e||(this.htmlInput_.focus(),this.htmlInput_.select())},Blockly.FieldTextInput.prototype.widgetCreate_=function(){var e=Blockly.WidgetDiv.DIV,t=document.createElement("input");t.className="blocklyHtmlInput",t.setAttribute("spellcheck",this.spellcheck_);var o=Blockly.FieldTextInput.FONTSIZE*this.workspace_.scale+"pt";return e.style.fontSize=o,t.style.fontSize=o,e.appendChild(t),t.value=t.defaultValue=this.value_,t.untypedDefaultValue_=this.value_,t.oldValue_=null,this.resizeEditor_(),this.bindInputEvents_(t),t},Blockly.FieldTextInput.prototype.widgetDispose_=function(){this.isBeingEdited_=!1,this.value_!==this.text_&&(this.text_=String(this.value_),this.isTextValid_=!0,this.forceRerender()),this.onFinishEditing_&&this.onFinishEditing_(this.value_),this.unbindInputEvents_();var e=Blockly.WidgetDiv.DIV.style;e.width="auto",e.height="auto",e.fontSize=""},Blockly.FieldTextInput.prototype.bindInputEvents_=function(e){this.onKeyDownWrapper_=Blockly.bindEventWithChecks_(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyUpWrapper_=Blockly.bindEventWithChecks_(e,"keyup",this,this.onHtmlInputChange_),this.onKeyPressWrapper_=Blockly.bindEventWithChecks_(e,"keypress",this,this.onHtmlInputChange_),this.onWorkspaceChangeWrapper_=this.resizeEditor_.bind(this),this.workspace_.addChangeListener(this.onWorkspaceChangeWrapper_)},Blockly.FieldTextInput.prototype.unbindInputEvents_=function(){Blockly.unbindEvent_(this.onKeyDownWrapper_),Blockly.unbindEvent_(this.onKeyUpWrapper_),Blockly.unbindEvent_(this.onKeyPressWrapper_),this.workspace_.removeChangeListener(this.onWorkspaceChangeWrapper_)},Blockly.FieldTextInput.prototype.onHtmlInputKeyDown_=function(e){13==e.keyCode?Blockly.WidgetDiv.hide():27==e.keyCode?(this.htmlInput_.value=this.htmlInput_.defaultValue,Blockly.WidgetDiv.hide()):9==e.keyCode&&(Blockly.WidgetDiv.hide(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())},Blockly.FieldTextInput.prototype.onHtmlInputChange_=function(e){(e=this.htmlInput_.value)!==this.htmlInput_.oldValue_&&(this.htmlInput_.oldValue_=e,Blockly.Events.setGroup(!0),this.setValue(e),this.text_=this.htmlInput_.value,this.forceRerender(),Blockly.Events.setGroup(!1))},Blockly.FieldTextInput.prototype.resizeEditor_=function(){var e=Blockly.WidgetDiv.DIV,t=this.getScaledBBox_();e.style.width=t.right-t.left+"px",e.style.height=t.bottom-t.top+"px",(t=new Blockly.utils.Coordinate(this.sourceBlock_.RTL?t.right-e.offsetWidth:t.left,t.top)).y+=1,Blockly.utils.userAgent.GECKO&&Blockly.WidgetDiv.DIV.style.top&&(--t.x,--t.y),Blockly.utils.userAgent.WEBKIT&&(t.y-=3),e.style.left=t.x+"px",e.style.top=t.y+"px"},Blockly.FieldTextInput.numberValidator=function(e){return console.warn("Blockly.FieldTextInput.numberValidator is deprecated. Use Blockly.FieldNumber instead."),null===e?null:(e=(e=(e=String(e)).replace(/O/gi,"0")).replace(/,/g,""),e=parseFloat(e||0),isNaN(e)?null:String(e))},Blockly.FieldTextInput.nonnegativeIntegerValidator=function(e){return(e=Blockly.FieldTextInput.numberValidator(e))&&(e=String(Math.max(0,Math.floor(e)))),e},Blockly.Field.register("field_input",Blockly.FieldTextInput),Blockly.FieldAngle=function(e,t){null===(e=this.doClassValidation_(e))&&(e=0),Blockly.FieldAngle.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldAngle,Blockly.FieldTextInput),Blockly.FieldAngle.fromJson=function(e){return new Blockly.FieldAngle(e.angle)},Blockly.FieldAngle.prototype.SERIALIZABLE=!0,Blockly.FieldAngle.ROUND=15,Blockly.FieldAngle.HALF=50,Blockly.FieldAngle.CLOCKWISE=!1,Blockly.FieldAngle.OFFSET=0,Blockly.FieldAngle.WRAP=360,Blockly.FieldAngle.RADIUS=Blockly.FieldAngle.HALF-1,Blockly.FieldAngle.prototype.initView=function(){Blockly.FieldAngle.superClass_.initView.call(this),this.symbol_=Blockly.utils.dom.createSvgElement("tspan",{},null),this.symbol_.appendChild(document.createTextNode("°")),this.textElement_.appendChild(this.symbol_)},Blockly.FieldAngle.prototype.render_=function(){Blockly.FieldAngle.superClass_.render_.call(this),this.updateGraph_()},Blockly.FieldAngle.prototype.showEditor_=function(){Blockly.FieldAngle.superClass_.showEditor_.call(this,Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD);var e=this.dropdownCreate_();Blockly.DropDownDiv.getContentDiv().appendChild(e),e=(e=this.sourceBlock_.getColourBorder()).colourBorder||e.colourLight,Blockly.DropDownDiv.setColour(this.sourceBlock_.getColour(),e),Blockly.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this)),this.updateGraph_()},Blockly.FieldAngle.prototype.dropdownCreate_=function(){var e=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",height:2*Blockly.FieldAngle.HALF+"px",width:2*Blockly.FieldAngle.HALF+"px"},null),t=Blockly.utils.dom.createSvgElement("circle",{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.RADIUS,class:"blocklyAngleCircle"},e);this.gauge_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyAngleGauge"},e),this.line_=Blockly.utils.dom.createSvgElement("line",{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,class:"blocklyAngleLine"},e);for(var o=0;360>o;o+=15)Blockly.utils.dom.createSvgElement("line",{x1:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS-(0==o%45?10:5),y2:Blockly.FieldAngle.HALF,class:"blocklyAngleMarks",transform:"rotate("+o+","+Blockly.FieldAngle.HALF+","+Blockly.FieldAngle.HALF+")"},e);return this.clickWrapper_=Blockly.bindEvent_(e,"click",this,this.hide_),this.moveWrapper1_=Blockly.bindEvent_(t,"mousemove",this,this.onMouseMove),this.moveWrapper2_=Blockly.bindEvent_(this.gauge_,"mousemove",this,this.onMouseMove),e},Blockly.FieldAngle.prototype.dropdownDispose_=function(){Blockly.unbindEvent_(this.clickWrapper_),Blockly.unbindEvent_(this.moveWrapper1_),Blockly.unbindEvent_(this.moveWrapper2_)},Blockly.FieldAngle.prototype.hide_=function(){Blockly.DropDownDiv.hideIfOwner(this),Blockly.WidgetDiv.hide()},Blockly.FieldAngle.prototype.onMouseMove=function(e){var t=this.gauge_.ownerSVGElement.getBoundingClientRect(),o=e.clientX-t.left-Blockly.FieldAngle.HALF;t=e.clientY-t.top-Blockly.FieldAngle.HALF,e=Math.atan(-t/o),isNaN(e)||(e=Blockly.utils.math.toDegrees(e),0>o?e+=180:0<t&&(e+=360),360<(e=Blockly.FieldAngle.CLOCKWISE?Blockly.FieldAngle.OFFSET+360-e:360-(Blockly.FieldAngle.OFFSET-e))&&(e-=360),Blockly.FieldAngle.ROUND&&(e=Math.round(e/Blockly.FieldAngle.ROUND)*Blockly.FieldAngle.ROUND),e>Blockly.FieldAngle.WRAP&&(e-=360),(o=String(e))!=this.text_&&(this.htmlInput_.value=e,this.setValue(e),this.text_=o,this.forceRerender()))},Blockly.FieldAngle.prototype.updateGraph_=function(){if(this.gauge_){var e=Number(this.getText())+Blockly.FieldAngle.OFFSET,t=Blockly.utils.math.toRadians(e%360);e=["M ",Blockly.FieldAngle.HALF,",",Blockly.FieldAngle.HALF];var o=Blockly.FieldAngle.HALF,n=Blockly.FieldAngle.HALF;if(!isNaN(t)){var i=Blockly.utils.math.toRadians(Blockly.FieldAngle.OFFSET),r=Math.cos(i)*Blockly.FieldAngle.RADIUS,s=Math.sin(i)*-Blockly.FieldAngle.RADIUS;Blockly.FieldAngle.CLOCKWISE&&(t=2*i-t),o+=Math.cos(t)*Blockly.FieldAngle.RADIUS,n-=Math.sin(t)*Blockly.FieldAngle.RADIUS,t=Math.abs(Math.floor((t-i)/Math.PI)%2),Blockly.FieldAngle.CLOCKWISE&&(t=1-t),e.push(" l ",r,",",s," A ",Blockly.FieldAngle.RADIUS,",",Blockly.FieldAngle.RADIUS," 0 ",t," ",Number(Blockly.FieldAngle.CLOCKWISE)," ",o,",",n," z")}this.gauge_.setAttribute("d",e.join("")),this.line_.setAttribute("x2",o),this.line_.setAttribute("y2",n)}},Blockly.FieldAngle.prototype.doClassValidation_=function(e){return isNaN(e)?null:(e=parseFloat(e||0),0>(e%=360)&&(e+=360),e>Blockly.FieldAngle.WRAP&&(e-=360),e)},Blockly.Field.register("field_angle",Blockly.FieldAngle),Blockly.FieldCheckbox=function(e,t){null===(e=this.doClassValidation_(e))&&(e="FALSE"),Blockly.FieldCheckbox.superClass_.constructor.call(this,e,t),this.size_.width=Blockly.FieldCheckbox.WIDTH},goog.inherits(Blockly.FieldCheckbox,Blockly.Field),Blockly.FieldCheckbox.fromJson=function(e){return new Blockly.FieldCheckbox(e.checked)},Blockly.FieldCheckbox.WIDTH=5,Blockly.FieldCheckbox.CHECK_CHAR="✓",Blockly.FieldCheckbox.CHECK_X_OFFSET=-3,Blockly.FieldCheckbox.CHECK_Y_OFFSET=14,Blockly.FieldCheckbox.prototype.SERIALIZABLE=!0,Blockly.FieldCheckbox.prototype.CURSOR="default",Blockly.FieldCheckbox.prototype.isDirty_=!1,Blockly.FieldCheckbox.prototype.initView=function(){Blockly.FieldCheckbox.superClass_.initView.call(this),this.textElement_.setAttribute("x",Blockly.FieldCheckbox.CHECK_X_OFFSET),this.textElement_.setAttribute("y",Blockly.FieldCheckbox.CHECK_Y_OFFSET),Blockly.utils.dom.addClass(this.textElement_,"blocklyCheckbox");var e=document.createTextNode(Blockly.FieldCheckbox.CHECK_CHAR);this.textElement_.appendChild(e),this.textElement_.style.display=this.value_?"block":"none"},Blockly.FieldCheckbox.prototype.showEditor_=function(){this.setValue(!this.value_)},Blockly.FieldCheckbox.prototype.doClassValidation_=function(e){return!0===e||"TRUE"===e?"TRUE":!1===e||"FALSE"===e?"FALSE":null},Blockly.FieldCheckbox.prototype.doValueUpdate_=function(e){this.value_=this.convertValueToBool_(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")},Blockly.FieldCheckbox.prototype.getValue=function(){return this.value_?"TRUE":"FALSE"},Blockly.FieldCheckbox.prototype.getValueBoolean=function(){return this.value_},Blockly.FieldCheckbox.prototype.getText=function(){return String(this.convertValueToBool_(this.value_))},Blockly.FieldCheckbox.prototype.convertValueToBool_=function(e){return"string"==typeof e?"TRUE"==e:!!e},Blockly.Field.register("field_checkbox",Blockly.FieldCheckbox),Blockly.utils.colour={},Blockly.utils.colour.parse=function(e){e=String(e).toLowerCase().trim();var t=Blockly.utils.colour.names[e];if(t)return t;if(t="#"==e[0]?e:"#"+e,/^#[0-9a-f]{6}$/.test(t))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var o=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(e=Number(o[1]),t=Number(o[2]),o=Number(o[3]),0<=e&&256>e&&0<=t&&256>t&&0<=o&&256>o)?Blockly.utils.colour.rgbToHex(e,t,o):null},Blockly.utils.colour.rgbToHex=function(e,t,o){return t=e<<16|t<<8|o,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},Blockly.utils.colour.hexToRgb=function(e){return[(e=parseInt(e.substr(1),16))>>16,e>>8&255,255&e]},Blockly.utils.colour.hsvToHex=function(e,t,o){var n=0,i=0,r=0;if(0==t)r=i=n=o;else{var s=Math.floor(e/60),a=e/60-s;e=o*(1-t);var l=o*(1-t*a);switch(t=o*(1-t*(1-a)),s){case 1:n=l,i=o,r=e;break;case 2:n=e,i=o,r=t;break;case 3:n=e,i=l,r=o;break;case 4:n=t,i=e,r=o;break;case 5:n=o,i=e,r=l;break;case 6:case 0:n=o,i=t,r=e}}return Blockly.utils.colour.rgbToHex(Math.floor(n),Math.floor(i),Math.floor(r))},Blockly.utils.colour.blend=function(e,t,o){return e=Blockly.utils.colour.hexToRgb(Blockly.utils.colour.parse(e)),t=Blockly.utils.colour.hexToRgb(Blockly.utils.colour.parse(t)),Blockly.utils.colour.rgbToHex(Math.round(t[0]+o*(e[0]-t[0])),Math.round(t[1]+o*(e[1]-t[1])),Math.round(t[2]+o*(e[2]-t[2])))},Blockly.utils.colour.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},Blockly.FieldColour=function(e,t){null===(e=this.doClassValidation_(e))&&(e=Blockly.FieldColour.COLOURS[0]),Blockly.FieldColour.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldColour,Blockly.Field),Blockly.FieldColour.fromJson=function(e){return new Blockly.FieldColour(e.colour)},Blockly.FieldColour.DEFAULT_WIDTH=16,Blockly.FieldColour.DEFAULT_HEIGHT=12,Blockly.FieldColour.prototype.SERIALIZABLE=!0,Blockly.FieldColour.prototype.CURSOR="default",Blockly.FieldColour.prototype.isDirty_=!1,Blockly.FieldColour.prototype.colours_=null,Blockly.FieldColour.prototype.titles_=null,Blockly.FieldColour.prototype.columns_=0,Blockly.FieldColour.prototype.DROPDOWN_BORDER_COLOUR="silver",Blockly.FieldColour.prototype.DROPDOWN_BACKGROUND_COLOUR="white",Blockly.FieldColour.prototype.initView=function(){this.size_=new goog.math.Size(Blockly.FieldColour.DEFAULT_WIDTH,Blockly.FieldColour.DEFAULT_HEIGHT),this.createBorderRect_(),this.borderRect_.style.fillOpacity=1,this.borderRect_.style.fill=this.value_},Blockly.FieldColour.prototype.doClassValidation_=function(e){return"string"!=typeof e?null:Blockly.utils.colour.parse(e)},Blockly.FieldColour.prototype.doValueUpdate_=function(e){this.value_=e,this.borderRect_&&(this.borderRect_.style.fill=e)},Blockly.FieldColour.prototype.getText=function(){var e=this.value_;return/^#(.)\1(.)\2(.)\3$/.test(e)&&(e="#"+e[1]+e[3]+e[5]),e},Blockly.FieldColour.COLOURS="#ffffff #cccccc #c0c0c0 #999999 #666666 #333333 #000000 #ffcccc #ff6666 #ff0000 #cc0000 #990000 #660000 #330000 #ffcc99 #ff9966 #ff9900 #ff6600 #cc6600 #993300 #663300 #ffff99 #ffff66 #ffcc66 #ffcc33 #cc9933 #996633 #663333 #ffffcc #ffff33 #ffff00 #ffcc00 #999900 #666600 #333300 #99ff99 #66ff99 #33ff33 #33cc00 #009900 #006600 #003300 #99ffff #33ffff #66cccc #00cccc #339999 #336666 #003333 #ccffff #66ffff #33ccff #3366ff #3333ff #000099 #000066 #ccccff #9999ff #6666cc #6633ff #6600cc #333399 #330099 #ffccff #ff99ff #cc66cc #cc33cc #993399 #663366 #330033".split(" "),Blockly.FieldColour.TITLES=[],Blockly.FieldColour.COLUMNS=7,Blockly.FieldColour.prototype.setColours=function(e,t){return this.colours_=e,void 0!==t&&(this.titles_=t),this},Blockly.FieldColour.prototype.setColumns=function(e){return this.columns_=e,this},Blockly.FieldColour.prototype.showEditor_=function(){var e=this.dropdownCreate_();Blockly.DropDownDiv.getContentDiv().appendChild(e),Blockly.DropDownDiv.setColour(this.DROPDOWN_BACKGROUND_COLOUR,this.DROPDOWN_BORDER_COLOUR),Blockly.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this))},Blockly.FieldColour.prototype.onClick_=function(e){(e=e.target)&&!e.label&&(e=e.parentNode),null!==(e=e&&e.label)&&(this.setValue(e),Blockly.DropDownDiv.hideIfOwner(this))},Blockly.FieldColour.prototype.dropdownCreate_=function(){var e=this.columns_||Blockly.FieldColour.COLUMNS,t=this.colours_||Blockly.FieldColour.COLOURS,o=this.titles_||Blockly.FieldColour.TITLES,n=this.getValue(),i=document.createElement("table");i.className="blocklyColourTable";for(var r,s=0;s<t.length;s++){0==s%e&&(r=document.createElement("tr"),i.appendChild(r));var a=document.createElement("td");r.appendChild(a);var l=document.createElement("div");a.appendChild(l),a.label=t[s],a.title=o[s]||t[s],l.style.backgroundColor=t[s],t[s]==n&&(l.className="blocklyColourSelected")}return this.onUpWrapper_=Blockly.bindEvent_(i,"mouseup",this,this.onClick_),i},Blockly.FieldColour.prototype.dropdownDispose_=function(){Blockly.unbindEvent_(this.onUpWrapper_)},Blockly.Field.register("field_colour",Blockly.FieldColour),Blockly.FieldDropdown=function(e,t){"function"!=typeof e&&Blockly.FieldDropdown.validateOptions_(e),this.menuGenerator_=e,this.trimOptions_();var o=this.getOptions()[0];Blockly.FieldDropdown.superClass_.constructor.call(this,o[1],t)},goog.inherits(Blockly.FieldDropdown,Blockly.Field),Blockly.FieldDropdown.fromJson=function(e){return new Blockly.FieldDropdown(e.options)},Blockly.FieldDropdown.prototype.SERIALIZABLE=!0,Blockly.FieldDropdown.CHECKMARK_OVERHANG=25,Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH=.45,Blockly.FieldDropdown.IMAGE_Y_OFFSET=5,Blockly.FieldDropdown.ARROW_CHAR=Blockly.utils.userAgent.ANDROID?"▼":"▾",Blockly.FieldDropdown.prototype.CURSOR="default",Blockly.FieldDropdown.prototype.imageElement_=null,Blockly.FieldDropdown.prototype.imageJson_=null,Blockly.FieldDropdown.prototype.initView=function(){Blockly.FieldDropdown.superClass_.initView.call(this),this.imageElement_=Blockly.utils.dom.createSvgElement("image",{y:Blockly.FieldDropdown.IMAGE_Y_OFFSET},this.fieldGroup_),this.arrow_=Blockly.utils.dom.createSvgElement("tspan",{},this.textElement_),this.arrow_.appendChild(document.createTextNode(this.sourceBlock_.RTL?Blockly.FieldDropdown.ARROW_CHAR+" ":" "+Blockly.FieldDropdown.ARROW_CHAR)),this.sourceBlock_.RTL?this.textElement_.insertBefore(this.arrow_,this.textContent_):this.textElement_.appendChild(this.arrow_)},Blockly.FieldDropdown.prototype.showEditor_=function(){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_.bind(this)),this.menu_=this.widgetCreate_(),this.menu_.render(Blockly.WidgetDiv.DIV),Blockly.utils.dom.addClass(this.menu_.getElement(),"blocklyDropdownMenu"),this.positionMenu_(this.menu_),this.menu_.setAllowAutoFocus(!0),this.menu_.getElement().focus()},Blockly.FieldDropdown.prototype.widgetCreate_=function(){var e=new goog.ui.Menu;e.setRightToLeft(this.sourceBlock_.RTL);for(var t=this.getOptions(),o=0;o<t.length;o++){var n=t[o][0],i=t[o][1];if("object"==typeof n){var r=new Image(n.width,n.height);r.src=n.src,r.alt=n.alt||"",n=r}(n=new goog.ui.MenuItem(n)).setRightToLeft(this.sourceBlock_.RTL),n.setValue(i),n.setCheckable(!0),e.addChild(n,!0),n.setChecked(i==this.value_)}return this.menuActionEventKey_=goog.events.listen(e,goog.ui.Component.EventType.ACTION,this.handleMenuActionEvent_,!1,this),e},Blockly.FieldDropdown.prototype.widgetDispose_=function(){goog.events.unlistenByKey(this.menuActionEventKey_)},Blockly.FieldDropdown.prototype.handleMenuActionEvent_=function(e){Blockly.WidgetDiv.hideIfOwner(this),this.onItemSelected(this.menu_,e.target)},Blockly.FieldDropdown.prototype.positionMenu_=function(e){var t=Blockly.utils.getViewportBBox(),o=this.getAnchorDimensions_();e=Blockly.utils.uiMenu.getSize(e);var n=Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH*document.documentElement.clientHeight;e.height>n&&(e.height=n),this.sourceBlock_.RTL&&Blockly.utils.uiMenu.adjustBBoxesForRTL(t,o,e),Blockly.WidgetDiv.positionWithAnchor(t,o,e,this.sourceBlock_.RTL)},Blockly.FieldDropdown.prototype.getAnchorDimensions_=function(){var e=this.getScaledBBox_();return this.sourceBlock_.RTL?e.right+=Blockly.FieldDropdown.CHECKMARK_OVERHANG:e.left-=Blockly.FieldDropdown.CHECKMARK_OVERHANG,e},Blockly.FieldDropdown.prototype.onItemSelected=function(e,t){this.setValue(t.getValue())},Blockly.FieldDropdown.prototype.trimOptions_=function(){this.suffixField=this.prefixField=null;var e=this.menuGenerator_;if(Array.isArray(e)){for(var t=!1,o=0;o<e.length;o++){var n=e[o][0];"string"==typeof n?e[o][0]=Blockly.utils.replaceMessageReferences(n):(null!=n.alt&&(e[o][0].alt=Blockly.utils.replaceMessageReferences(n.alt)),t=!0)}if(!(t||2>e.length)){for(t=[],o=0;o<e.length;o++)t.push(e[o][0]);o=Blockly.utils.string.shortestStringLength(t),n=Blockly.utils.string.commonWordPrefix(t,o);var i=Blockly.utils.string.commonWordSuffix(t,o);!n&&!i||o<=n+i||(n&&(this.prefixField=t[0].substring(0,n-1)),i&&(this.suffixField=t[0].substr(1-i)),this.menuGenerator_=Blockly.FieldDropdown.applyTrim_(e,n,i))}}},Blockly.FieldDropdown.applyTrim_=function(e,t,o){for(var n=[],i=0;i<e.length;i++){var r=e[i][0],s=e[i][1];r=r.substring(t,r.length-o),n[i]=[r,s]}return n},Blockly.FieldDropdown.prototype.isOptionListDynamic=function(){return"function"==typeof this.menuGenerator_},Blockly.FieldDropdown.prototype.getOptions=function(){if(this.isOptionListDynamic()){var e=this.menuGenerator_.call(this);return Blockly.FieldDropdown.validateOptions_(e),e}return this.menuGenerator_},Blockly.FieldDropdown.prototype.doClassValidation_=function(e){for(var t,o=!1,n=this.getOptions(),i=0;t=n[i];i++)if(t[1]==e){o=!0;break}return o?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)},Blockly.FieldDropdown.prototype.doValueUpdate_=function(e){Blockly.FieldDropdown.superClass_.doValueUpdate_.call(this,e),e=this.getOptions();for(var t,o=0;t=e[o];o++)t[1]==this.value_&&("object"==typeof(t=t[0])?(this.imageJson_=t,this.text_=t.alt):(this.imageJson_=null,this.text_=t))},Blockly.FieldDropdown.prototype.updateColour=function(){this.sourceBlock_&&this.arrow_&&(this.sourceBlock_.isShadow()?this.arrow_.style.fill=this.sourceBlock_.getColourShadow():this.arrow_.style.fill=this.sourceBlock_.getColour())},Blockly.FieldDropdown.prototype.render_=function(){this.textContent_.nodeValue="",this.imageElement_.style.display="none",this.imageJson_?this.renderSelectedImage_():this.renderSelectedText_(),this.borderRect_.setAttribute("height",this.size_.height-9),this.borderRect_.setAttribute("width",this.size_.width+Blockly.BlockSvg.SEP_SPACE_X)},Blockly.FieldDropdown.prototype.renderSelectedImage_=function(){this.imageElement_.style.display="",this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.imageJson_.src),this.imageElement_.setAttribute("height",this.imageJson_.height),this.imageElement_.setAttribute("width",this.imageJson_.width);var e=Blockly.Field.getCachedWidth(this.arrow_);this.size_.height=Number(this.imageJson_.height)+19,this.size_.width=Number(this.imageJson_.width)+e,this.sourceBlock_.RTL?(this.imageElement_.setAttribute("x",e),this.textElement_.setAttribute("x",-1)):(this.textElement_.setAttribute("text-anchor","end"),this.textElement_.setAttribute("x",this.size_.width+1))},Blockly.FieldDropdown.prototype.renderSelectedText_=function(){this.textContent_.nodeValue=this.getDisplayText_(),this.textElement_.setAttribute("text-anchor","start"),this.textElement_.setAttribute("x",0),this.size_.height=Blockly.BlockSvg.MIN_BLOCK_Y,this.size_.width=Blockly.Field.getCachedWidth(this.textElement_)},Blockly.FieldDropdown.validateOptions_=function(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");for(var t=!1,o=0;o<e.length;++o){var n=e[o];Array.isArray(n)?"string"!=typeof n[1]?(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option id must be a string. Found "+n[1]+" in: ",n)):"string"!=typeof n[0]&&"string"!=typeof n[0].src&&(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option must have a string label or image description. Found"+n[0]+" in: ",n)):(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option must be an array. Found: ",n))}if(t)throw TypeError("Found invalid FieldDropdown options.")},Blockly.Field.register("field_dropdown",Blockly.FieldDropdown),Blockly.FieldLabelSerializable=function(e,t){Blockly.FieldLabelSerializable.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldLabelSerializable,Blockly.FieldLabel),Blockly.FieldLabelSerializable.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return new Blockly.FieldLabelSerializable(t,e.class)},Blockly.FieldLabelSerializable.prototype.EDITABLE=!1,Blockly.FieldLabelSerializable.prototype.SERIALIZABLE=!0,Blockly.Field.register("field_label_serializable",Blockly.FieldLabelSerializable),Blockly.FieldImage=function(e,t,o,n,i,r){if(this.sourceBlock_=null,isNaN(o)||isNaN(t))throw Error("Height and width values of an image field must cast to numbers.");if(this.height_=Number(o),this.width_=Number(t),0>=this.height_||0>=this.width_)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new goog.math.Size(this.width_,this.height_+2*Blockly.BlockSvg.INLINE_PADDING_Y),this.flipRtl_=r,this.text_=n||"",this.setValue(e||""),"function"==typeof i&&(this.clickHandler_=i)},goog.inherits(Blockly.FieldImage,Blockly.Field),Blockly.FieldImage.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.src),o=Number(Blockly.utils.replaceMessageReferences(e.width)),n=Number(Blockly.utils.replaceMessageReferences(e.height)),i=Blockly.utils.replaceMessageReferences(e.alt);return new Blockly.FieldImage(t,o,n,i,null,!!e.flipRtl)},Blockly.FieldImage.prototype.EDITABLE=!1,Blockly.FieldImage.prototype.isDirty_=!1,Blockly.FieldImage.prototype.initView=function(){this.imageElement_=Blockly.utils.dom.createSvgElement("image",{height:this.height_+"px",width:this.width_+"px",alt:this.text_},this.fieldGroup_),this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.value_)},Blockly.FieldImage.prototype.doClassValidation_=function(e){return"string"!=typeof e?null:e},Blockly.FieldImage.prototype.doValueUpdate_=function(e){this.value_=e,this.imageElement_&&this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.value_||"")},Blockly.FieldImage.prototype.getFlipRtl=function(){return this.flipRtl_},Blockly.FieldImage.prototype.setText=function(e){null!==e&&(this.text_=e,this.imageElement_&&this.imageElement_.setAttribute("alt",e||""))},Blockly.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)},Blockly.Field.register("field_image",Blockly.FieldImage),Blockly.FieldNumber=function(e,t,o,n,i){this.setConstraints(t,o,n),null===(e=this.doClassValidation_(e))&&(e=0),Blockly.FieldNumber.superClass_.constructor.call(this,e,i)},goog.inherits(Blockly.FieldNumber,Blockly.FieldTextInput),Blockly.FieldNumber.fromJson=function(e){return new Blockly.FieldNumber(e.value,e.min,e.max,e.precision)},Blockly.FieldNumber.prototype.SERIALIZABLE=!0,Blockly.FieldNumber.prototype.setConstraints=function(e,t,o){o=parseFloat(o),this.precision_=isNaN(o)?0:o;var n=(o=this.precision_.toString()).indexOf(".");this.fractionalDigits_=-1==n?-1:o.length-(n+1),e=parseFloat(e),this.min_=isNaN(e)?-1/0:e,t=parseFloat(t),this.max_=isNaN(t)?1/0:t,this.setValue(this.getValue())},Blockly.FieldNumber.prototype.doClassValidation_=function(e){return null==e?null:(e=(e=(e=String(e)).replace(/O/gi,"0")).replace(/,/g,""),e=parseFloat(e||0),isNaN(e)?null:(e=Math.min(Math.max(e,this.min_),this.max_),this.precision_&&isFinite(e)&&(e=Math.round(e/this.precision_)*this.precision_),-1==this.fractionalDigits_?e:Number(e.toFixed(this.fractionalDigits_))))},Blockly.Field.register("field_number",Blockly.FieldNumber),Blockly.FieldVariable=function(e,t,o,n){this.menuGenerator_=Blockly.FieldVariable.dropdownCreate,this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y),this.setValidator(t),this.defaultVariableName=e||"",this.setTypes_(o,n),this.value_=null},goog.inherits(Blockly.FieldVariable,Blockly.FieldDropdown),Blockly.FieldVariable.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.variable);return new Blockly.FieldVariable(t,null,e.variableTypes,e.defaultType)},Blockly.FieldVariable.prototype.workspace_=null,Blockly.FieldVariable.prototype.SERIALIZABLE=!0,Blockly.FieldVariable.prototype.initModel=function(){if(!this.variable_){var e=Blockly.Variables.getOrCreateVariablePackage(this.workspace_,null,this.defaultVariableName,this.defaultType_);Blockly.Events.disable(),this.setValue(e.getId()),Blockly.Events.enable()}},Blockly.FieldVariable.prototype.fromXml=function(e){var t=e.getAttribute("id"),o=e.textContent,n=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=Blockly.Variables.getOrCreateVariablePackage(this.workspace_,t,o,n),null!=n&&n!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+Blockly.Xml.domToText(e)+".");this.setValue(t.getId())},Blockly.FieldVariable.prototype.toXml=function(e){return this.initModel(),e.id=this.variable_.getId(),e.textContent=this.variable_.name,this.variable_.type&&e.setAttribute("variabletype",this.variable_.type),e},Blockly.FieldVariable.prototype.setSourceBlock=function(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");Blockly.FieldVariable.superClass_.setSourceBlock.call(this,e),this.workspace_=e.workspace},Blockly.FieldVariable.prototype.getValue=function(){return this.variable_?this.variable_.getId():null},Blockly.FieldVariable.prototype.getText=function(){return this.variable_?this.variable_.name:""},Blockly.FieldVariable.prototype.getVariable=function(){return this.variable_},Blockly.FieldVariable.prototype.getValidator=function(){return this.variable_?this.validator_:null},Blockly.FieldVariable.prototype.doClassValidation_=function(e){var t=Blockly.Variables.getVariable(this.workspace_,e);return t?(t=t.type,this.typeIsAllowed_(t)?e:(console.warn("Variable type doesn't match this field!  Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)},Blockly.FieldVariable.prototype.doValueUpdate_=function(e){this.variable_=Blockly.Variables.getVariable(this.workspace_,e),this.value_=e,this.text_=this.variable_.name,this.isDirty_=!0},Blockly.FieldVariable.prototype.typeIsAllowed_=function(e){var t=this.getVariableTypes_();if(!t)return!0;for(var o=0;o<t.length;o++)if(e==t[o])return!0;return!1},Blockly.FieldVariable.prototype.getVariableTypes_=function(){var e=this.variableTypes;if(null===e&&this.workspace_)return this.workspace_.getVariableTypes();if(0==(e=e||[""]).length)throw e=this.getText(),Error("'variableTypes' of field variable "+e+" was an empty list");return e},Blockly.FieldVariable.prototype.setTypes_=function(e,t){var o=t||"";if(null==e||null==e)var n=null;else{if(!Array.isArray(e))throw Error("'variableTypes' was not an array in the definition of a FieldVariable");n=e;for(var i=!1,r=0;r<n.length;r++)n[r]==o&&(i=!0);if(!i)throw Error("Invalid default type '"+o+"' in the definition of a FieldVariable")}this.defaultType_=o,this.variableTypes=n},Blockly.FieldVariable.dropdownCreate=function(){if(!this.variable_)throw Error("Tried to call dropdownCreate on a variable field with no variable selected.");var e=this.getText(),t=[];if(this.workspace_)for(var o=this.getVariableTypes_(),n=0;n<o.length;n++){var i=this.workspace_.getVariablesOfType(o[n]);t=t.concat(i)}for(t.sort(Blockly.VariableModel.compareByName),o=[],n=0;n<t.length;n++)o[n]=[t[n].name,t[n].getId()];return o.push([Blockly.Msg.RENAME_VARIABLE,Blockly.RENAME_VARIABLE_ID]),Blockly.Msg.DELETE_VARIABLE&&o.push([Blockly.Msg.DELETE_VARIABLE.replace("%1",e),Blockly.DELETE_VARIABLE_ID]),o},Blockly.FieldVariable.prototype.onItemSelected=function(e,t){var o=t.getValue();if(this.workspace_){if(o==Blockly.RENAME_VARIABLE_ID)return void Blockly.Variables.renameVariable(this.workspace_,this.variable_);if(o==Blockly.DELETE_VARIABLE_ID)return void this.workspace_.deleteVariableById(this.variable_.getId())}this.setValue(o)},Blockly.FieldVariable.prototype.referencesVariables=function(){return!0},Blockly.Field.register("field_variable",Blockly.FieldVariable);Blockly.Generator=function(e){this.name_=e,this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,"g")},Blockly.Generator.NAME_TYPE="generated_function",Blockly.Generator.prototype.INFINITE_LOOP_TRAP=null,Blockly.Generator.prototype.STATEMENT_PREFIX=null,Blockly.Generator.prototype.STATEMENT_SUFFIX=null,Blockly.Generator.prototype.INDENT="  ",Blockly.Generator.prototype.COMMENT_WRAP=60,Blockly.Generator.prototype.ORDER_OVERRIDES=[],Blockly.Generator.prototype.workspaceToCode=function(e){e||(console.warn("No workspace specified in workspaceToCode call.  Guessing."),e=Blockly.getMainWorkspace());var t=[];this.init(e),e=e.getTopBlocks(!0);for(var o,n=0;o=e[n];n++){var i=this.blockToCode(o);Array.isArray(i)&&(i=i[0]),i&&(o.outputConnection&&(i=this.scrubNakedValue(i),this.STATEMENT_PREFIX&&!o.suppressPrefixSuffix&&(i=this.injectId(this.STATEMENT_PREFIX,o)+i),this.STATEMENT_SUFFIX&&!o.suppressPrefixSuffix&&(i+=this.injectId(this.STATEMENT_SUFFIX,o))),t.push(i))}return t=t.join("\n"),(t=(t=(t=this.finish(t)).replace(/^\s+\n/,"")).replace(/\n\s+$/,"\n")).replace(/[ \t]+\n/g,"\n")},Blockly.Generator.prototype.prefixLines=function(e,t){return t+e.replace(/(?!\n$)\n/g,"\n"+t)},Blockly.Generator.prototype.allNestedComments=function(e){var t=[];e=e.getDescendants(!0);for(var o=0;o<e.length;o++){var n=e[o].getCommentText();n&&t.push(n)}return t.length&&t.push(""),t.join("\n")},Blockly.Generator.prototype.blockToCode=function(e,t){if(!e)return"";if(!e.isEnabled())return t?"":this.blockToCode(e.getNextBlock());var o=this[e.type];if("function"!=typeof o)throw Error('Language "'+this.name_+'" does not know how to generate  code for block type "'+e.type+'".');if(o=o.call(e,e),Array.isArray(o)){if(!e.outputConnection)throw TypeError("Expecting string from statement block: "+e.type);return[this.scrub_(e,o[0],t),o[1]]}if("string"==typeof o)return this.STATEMENT_PREFIX&&!e.suppressPrefixSuffix&&(o=this.injectId(this.STATEMENT_PREFIX,e)+o),this.STATEMENT_SUFFIX&&!e.suppressPrefixSuffix&&(o+=this.injectId(this.STATEMENT_SUFFIX,e)),this.scrub_(e,o,t);if(null===o)return"";throw SyntaxError("Invalid code generated: "+o)},Blockly.Generator.prototype.valueToCode=function(e,t,o){if(isNaN(o))throw TypeError("Expecting valid order from block: "+e.type);var n=e.getInputTargetBlock(t);if(!n)return"";if(""===(t=this.blockToCode(n)))return"";if(!Array.isArray(t))throw TypeError("Expecting tuple from value block: "+n.type);if(e=t[0],t=t[1],isNaN(t))throw TypeError("Expecting valid order from value block: "+n.type);if(!e)return"";n=!1;var i=Math.floor(o),r=Math.floor(t);if(i<=r&&(i!=r||0!=i&&99!=i))for(n=!0,i=0;i<this.ORDER_OVERRIDES.length;i++)if(this.ORDER_OVERRIDES[i][0]==o&&this.ORDER_OVERRIDES[i][1]==t){n=!1;break}return n&&(e="("+e+")"),e},Blockly.Generator.prototype.statementToCode=function(e,t){var o=e.getInputTargetBlock(t),n=this.blockToCode(o);if("string"!=typeof n)throw TypeError("Expecting code from statement block: "+(o&&o.type));return n&&(n=this.prefixLines(n,this.INDENT)),n},Blockly.Generator.prototype.addLoopTrap=function(e,t){return this.INFINITE_LOOP_TRAP&&(e=this.prefixLines(this.injectId(this.INFINITE_LOOP_TRAP,t),this.INDENT)+e),this.STATEMENT_SUFFIX&&!t.suppressPrefixSuffix&&(e=this.prefixLines(this.injectId(this.STATEMENT_SUFFIX,t),this.INDENT)+e),this.STATEMENT_PREFIX&&!t.suppressPrefixSuffix&&(e+=this.prefixLines(this.injectId(this.STATEMENT_PREFIX,t),this.INDENT)),e},Blockly.Generator.prototype.injectId=function(e,t){var o=t.id.replace(/\$/g,"$$$$");return e.replace(/%1/g,"'"+o+"'")},Blockly.Generator.prototype.RESERVED_WORDS_="",Blockly.Generator.prototype.addReservedWords=function(e){this.RESERVED_WORDS_+=e+","},Blockly.Generator.prototype.FUNCTION_NAME_PLACEHOLDER_="{leCUI8hutHZI4480Dc}",Blockly.Generator.prototype.provideFunction_=function(e,t){if(!this.definitions_[e]){var o,n=this.variableDB_.getDistinctName(e,Blockly.Procedures.NAME_TYPE);for(this.functionNames_[e]=n,n=t.join("\n").replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,n);o!=n;)o=n,n=n.replace(/^(( {2})*) {2}/gm,"$1\0");n=n.replace(/\0/g,this.INDENT),this.definitions_[e]=n}return this.functionNames_[e]},Blockly.Generator.prototype.init=function(e){},Blockly.Generator.prototype.scrub_=function(e,t){return t},Blockly.Generator.prototype.finish=function(e){return e},Blockly.Generator.prototype.scrubNakedValue=function(e){return e},Blockly.Names=function(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var o=e.split(","),n=0;n<o.length;n++)this.reservedDict_[o[n]]=!0;this.reset()},Blockly.Names.DEVELOPER_VARIABLE_TYPE="DEVELOPER_VARIABLE",Blockly.Names.prototype.reset=function(){this.db_=Object.create(null),this.dbReverse_=Object.create(null),this.variableMap_=null},Blockly.Names.prototype.setVariableMap=function(e){this.variableMap_=e},Blockly.Names.prototype.getNameForUserVariable_=function(e){return this.variableMap_?(e=this.variableMap_.getVariableById(e))?e.name:null:(console.log("Deprecated call to Blockly.Names.prototype.getName without defining a variable map. To fix, add the folowing code in your generator's init() function:\nBlockly.YourGeneratorName.variableDB_.setVariableMap(workspace.getVariableMap());"),null)},Blockly.Names.prototype.getName=function(e,t){if(t==Blockly.Variables.NAME_TYPE){var o=this.getNameForUserVariable_(e);o&&(e=o)}o=e.toLowerCase()+"_"+t;var n=t==Blockly.Variables.NAME_TYPE||t==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"";if(o in this.db_)return n+this.db_[o];var i=this.getDistinctName(e,t);return this.db_[o]=i.substr(n.length),i},Blockly.Names.prototype.getDistinctName=function(e,t){for(var o=this.safeName_(e),n="";this.dbReverse_[o+n]||o+n in this.reservedDict_;)n=n?n+1:2;return o+=n,this.dbReverse_[o]=!0,(t==Blockly.Variables.NAME_TYPE||t==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"")+o},Blockly.Names.prototype.safeName_=function(e){return e?(e=encodeURI(e.replace(/ /g,"_")).replace(/[^\w]/g,"_"),-1!="0123456789".indexOf(e[0])&&(e="my_"+e)):e="unnamed",e},Blockly.Names.equals=function(e,t){return e.toLowerCase()==t.toLowerCase()},Blockly.Procedures={},Blockly.Procedures.NAME_TYPE=Blockly.PROCEDURE_CATEGORY_NAME,Blockly.Procedures.allProcedures=function(e){e=e.getAllBlocks(!1);for(var t=[],o=[],n=0;n<e.length;n++)if(e[n].getProcedureDef){var i=e[n].getProcedureDef();i&&(i[2]?t.push(i):o.push(i))}return o.sort(Blockly.Procedures.procTupleComparator_),t.sort(Blockly.Procedures.procTupleComparator_),[o,t]},Blockly.Procedures.procTupleComparator_=function(e,t){return e[0].toLowerCase().localeCompare(t[0].toLowerCase())},Blockly.Procedures.findLegalName=function(e,t){if(t.isInFlyout)return e;for(;!Blockly.Procedures.isLegalName_(e,t.workspace,t);){var o=e.match(/^(.*?)(\d+)$/);e=o?o[1]+(parseInt(o[2],10)+1):e+"2"}return e},Blockly.Procedures.isLegalName_=function(e,t,o){return!Blockly.Procedures.isNameUsed(e,t,o)},Blockly.Procedures.isNameUsed=function(e,t,o){t=t.getAllBlocks(!1);for(var n=0;n<t.length;n++)if(t[n]!=o&&t[n].getProcedureDef){var i=t[n].getProcedureDef();if(Blockly.Names.equals(i[0],e))return!0}return!1},Blockly.Procedures.rename=function(e){e=e.trim();var t=Blockly.Procedures.findLegalName(e,this.getSourceBlock()),o=this.getValue();if(o!=e&&o!=t){e=this.getSourceBlock().workspace.getAllBlocks(!1);for(var n=0;n<e.length;n++)e[n].renameProcedure&&e[n].renameProcedure(o,t)}return t},Blockly.Procedures.flyoutCategory=function(e){function t(e,t){for(var n=0;n<e.length;n++){var i=e[n][0],r=e[n][1],s=Blockly.utils.xml.createElement("block");s.setAttribute("type",t),s.setAttribute("gap",16);var a=Blockly.utils.xml.createElement("mutation");for(a.setAttribute("name",i),s.appendChild(a),i=0;i<r.length;i++){var l=Blockly.utils.xml.createElement("arg");l.setAttribute("name",r[i]),a.appendChild(l)}o.push(s)}}var o=[];if(Blockly.Blocks.procedures_defnoreturn){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type","procedures_defnoreturn"),n.setAttribute("gap",16);var i=Blockly.utils.xml.createElement("field");i.setAttribute("name","NAME"),i.appendChild(Blockly.utils.xml.createTextNode(Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE)),n.appendChild(i),o.push(n)}return Blockly.Blocks.procedures_defreturn&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","procedures_defreturn"),n.setAttribute("gap",16),(i=Blockly.utils.xml.createElement("field")).setAttribute("name","NAME"),i.appendChild(Blockly.utils.xml.createTextNode(Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE)),n.appendChild(i),o.push(n)),Blockly.Blocks.procedures_ifreturn&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","procedures_ifreturn"),n.setAttribute("gap",16),o.push(n)),o.length&&o[o.length-1].setAttribute("gap",24),t((e=Blockly.Procedures.allProcedures(e))[0],"procedures_callnoreturn"),t(e[1],"procedures_callreturn"),o},Blockly.Procedures.getCallers=function(e,t){for(var o=[],n=t.getAllBlocks(!1),i=0;i<n.length;i++)if(n[i].getProcedureCall){var r=n[i].getProcedureCall();r&&Blockly.Names.equals(r,e)&&o.push(n[i])}return o},Blockly.Procedures.mutateCallers=function(e){var t,o=Blockly.Events.recordUndo,n=e.getProcedureDef()[0],i=e.mutationToDom(!0);for(e=Blockly.Procedures.getCallers(n,e.workspace),n=0;t=e[n];n++){var r=t.mutationToDom();r=r&&Blockly.Xml.domToText(r),t.domToMutation(i);var s=t.mutationToDom();r!=(s=s&&Blockly.Xml.domToText(s))&&(Blockly.Events.recordUndo=!1,Blockly.Events.fire(new Blockly.Events.BlockChange(t,"mutation",null,r,s)),Blockly.Events.recordUndo=o)}},Blockly.Procedures.getDefinition=function(e,t){for(var o=t.getTopBlocks(!1),n=0;n<o.length;n++)if(o[n].getProcedureDef){var i=o[n].getProcedureDef();if(i&&Blockly.Names.equals(i[0],e))return o[n]}return null},Blockly.FlyoutButton=function(e,t,o,n){this.workspace_=e,this.targetWorkspace_=t,this.text_=o.getAttribute("text"),this.position_=new Blockly.utils.Coordinate(0,0),this.isLabel_=n,this.callbackKey_=o.getAttribute("callbackKey"),this.cssClass_=o.getAttribute("web-class")||null},Blockly.FlyoutButton.MARGIN=5,Blockly.FlyoutButton.prototype.width=0,Blockly.FlyoutButton.prototype.height=0,Blockly.FlyoutButton.prototype.onMouseUpWrapper_=null,Blockly.FlyoutButton.prototype.createDom=function(){var e=this.isLabel_?"blocklyFlyoutLabel":"blocklyFlyoutButton";if(this.cssClass_&&(e+=" "+this.cssClass_),this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:e},this.workspace_.getCanvas()),!this.isLabel_)var t=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyFlyoutButtonShadow",rx:4,ry:4,x:1,y:1},this.svgGroup_);e=Blockly.utils.dom.createSvgElement("rect",{class:this.isLabel_?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:4,ry:4},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("text",{class:this.isLabel_?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup_);return o.textContent=Blockly.utils.replaceMessageReferences(this.text_),this.width=Blockly.Field.getCachedWidth(o),this.height=20,this.isLabel_||(this.width+=2*Blockly.FlyoutButton.MARGIN,t.setAttribute("width",this.width),t.setAttribute("height",this.height)),e.setAttribute("width",this.width),e.setAttribute("height",this.height),o.setAttribute("x",this.width/2),o.setAttribute("y",this.height-Blockly.FlyoutButton.MARGIN),this.updateTransform_(),this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.onMouseUp_),this.svgGroup_},Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_(),this.svgGroup_.setAttribute("display","block")},Blockly.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute("transform","translate("+this.position_.x+","+this.position_.y+")")},Blockly.FlyoutButton.prototype.moveTo=function(e,t){this.position_.x=e,this.position_.y=t,this.updateTransform_()},Blockly.FlyoutButton.prototype.getPosition=function(){return this.position_},Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_},Blockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&Blockly.unbindEvent_(this.onMouseUpWrapper_),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.targetWorkspace_=this.workspace_=null},Blockly.FlyoutButton.prototype.onMouseUp_=function(e){(e=this.targetWorkspace_.getGesture(e))&&e.cancel(),this.isLabel_&&this.callbackKey_?console.warn("Labels should not have callbacks. Label text: "+this.text_):this.isLabel_||this.callbackKey_&&this.targetWorkspace_.getButtonCallback(this.callbackKey_)?this.isLabel_||this.targetWorkspace_.getButtonCallback(this.callbackKey_)(this):console.warn("Buttons should have callbacks. Button text: "+this.text_)},Blockly.Flyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),this.workspace_=new Blockly.WorkspaceSvg(e),this.workspace_.isFlyout=!0,this.RTL=!!e.RTL,this.toolboxPosition_=e.toolboxPosition,this.eventWrappers_=[],this.mats_=[],this.buttons_=[],this.listeners_=[],this.permanentlyDisabled_=[]},Blockly.Flyout.prototype.autoClose=!0,Blockly.Flyout.prototype.isVisible_=!1,Blockly.Flyout.prototype.containerVisible_=!0,Blockly.Flyout.prototype.CORNER_RADIUS=8,Blockly.Flyout.prototype.MARGIN=Blockly.Flyout.prototype.CORNER_RADIUS,Blockly.Flyout.prototype.GAP_X=3*Blockly.Flyout.prototype.MARGIN,Blockly.Flyout.prototype.GAP_Y=3*Blockly.Flyout.prototype.MARGIN,Blockly.Flyout.prototype.SCROLLBAR_PADDING=2,Blockly.Flyout.prototype.width_=0,Blockly.Flyout.prototype.height_=0,Blockly.Flyout.prototype.dragAngleRange_=70,Blockly.Flyout.prototype.createDom=function(e){return this.svgGroup_=Blockly.utils.dom.createSvgElement(e,{class:"blocklyFlyout",style:"display: none"},null),this.svgBackground_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyFlyoutBackground"},this.svgGroup_),this.svgGroup_.appendChild(this.workspace_.createDom()),this.svgGroup_},Blockly.Flyout.prototype.init=function(e){this.targetWorkspace_=e,this.workspace_.targetWorkspace=e,this.scrollbar_=new Blockly.Scrollbar(this.workspace_,this.horizontalLayout_,!1,"blocklyFlyoutScrollbar"),this.hide(),Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.wheel_)),this.autoClose||(this.filterWrapper_=this.filterForCapacity_.bind(this),this.targetWorkspace_.addChangeListener(this.filterWrapper_)),Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDown_)),this.workspace_.getGesture=this.targetWorkspace_.getGesture.bind(this.targetWorkspace_),this.workspace_.variableMap_=this.targetWorkspace_.getVariableMap(),this.workspace_.createPotentialVariableMap()},Blockly.Flyout.prototype.dispose=function(){this.hide(),Blockly.unbindEvent_(this.eventWrappers_),this.filterWrapper_&&(this.targetWorkspace_.removeChangeListener(this.filterWrapper_),this.filterWrapper_=null),this.scrollbar_&&(this.scrollbar_.dispose(),this.scrollbar_=null),this.workspace_&&(this.workspace_.targetWorkspace=null,this.workspace_.dispose(),this.workspace_=null),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.targetWorkspace_=this.svgBackground_=null},Blockly.Flyout.prototype.getWidth=function(){return this.width_},Blockly.Flyout.prototype.getHeight=function(){return this.height_},Blockly.Flyout.prototype.getWorkspace=function(){return this.workspace_},Blockly.Flyout.prototype.isVisible=function(){return this.isVisible_},Blockly.Flyout.prototype.setVisible=function(e){var t=e!=this.isVisible();this.isVisible_=e,t&&this.updateDisplay_()},Blockly.Flyout.prototype.setContainerVisible=function(e){var t=e!=this.containerVisible_;this.containerVisible_=e,t&&this.updateDisplay_()},Blockly.Flyout.prototype.updateDisplay_=function(){var e=!!this.containerVisible_&&this.isVisible();this.svgGroup_.style.display=e?"block":"none",this.scrollbar_.setContainerVisible(e)},Blockly.Flyout.prototype.positionAt_=function(e,t,o,n){this.svgGroup_.setAttribute("width",e),this.svgGroup_.setAttribute("height",t),"svg"==this.svgGroup_.tagName?Blockly.utils.dom.setCssTransform(this.svgGroup_,"translate("+o+"px,"+n+"px)"):this.svgGroup_.setAttribute("transform","translate("+o+","+n+")"),this.scrollbar_&&(this.scrollbar_.setOrigin(o,n),this.scrollbar_.resize(),this.scrollbar_.setPosition_(this.scrollbar_.position_.x,this.scrollbar_.position_.y))},Blockly.Flyout.prototype.hide=function(){if(this.isVisible()){this.setVisible(!1);for(var e,t=0;e=this.listeners_[t];t++)Blockly.unbindEvent_(e);this.listeners_.length=0,this.reflowWrapper_&&(this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowWrapper_=null)}},Blockly.Flyout.prototype.show=function(e){if(this.workspace_.setResizesEnabled(!1),this.hide(),this.clearOldBlocks_(),"string"==typeof e){if("function"!=typeof(e=this.workspace_.targetWorkspace.getToolboxCategoryCallback(e)))throw TypeError("Couldn't find a callback function when opening a toolbox category.");if(e=e(this.workspace_.targetWorkspace),!Array.isArray(e))throw TypeError("Result of toolbox category callback must be an array.")}this.setVisible(!0);var t=[],o=[];this.permanentlyDisabled_.length=0;for(var n,i=this.horizontalLayout_?this.GAP_X:this.GAP_Y,r=0;n=e[r];r++)if(n.tagName)switch(n.tagName.toUpperCase()){case"BLOCK":var s=Blockly.Xml.domToBlock(n,this.workspace_);s.isEnabled()||this.permanentlyDisabled_.push(s),t.push({type:"block",block:s}),n=parseInt(n.getAttribute("gap"),10),o.push(isNaN(n)?i:n);break;case"SEP":n=parseInt(n.getAttribute("gap"),10),!isNaN(n)&&0<o.length?o[o.length-1]=n:o.push(i);break;case"LABEL":case"BUTTON":s="LABEL"==n.tagName.toUpperCase(),n=new Blockly.FlyoutButton(this.workspace_,this.targetWorkspace_,n,s),t.push({type:"button",button:n}),o.push(i)}this.layout_(t,o),this.listeners_.push(Blockly.bindEventWithChecks_(this.svgBackground_,"mouseover",this,(function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)e.removeSelect()}))),this.horizontalLayout_?this.height_=0:this.width_=0,this.workspace_.setResizesEnabled(!0),this.reflow(),this.filterForCapacity_(),this.position(),this.reflowWrapper_=this.reflow.bind(this),this.workspace_.addChangeListener(this.reflowWrapper_)},Blockly.Flyout.prototype.clearOldBlocks_=function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)e.workspace==this.workspace_&&e.dispose(!1,!1);for(o=0;o<this.mats_.length;o++)(t=this.mats_[o])&&Blockly.utils.dom.removeNode(t);for(o=this.mats_.length=0;t=this.buttons_[o];o++)t.dispose();this.buttons_.length=0,this.workspace_.getPotentialVariableMap().clear()},Blockly.Flyout.prototype.addBlockListeners_=function(e,t,o){this.listeners_.push(Blockly.bindEventWithChecks_(e,"mousedown",null,this.blockMouseDown_(t))),this.listeners_.push(Blockly.bindEventWithChecks_(o,"mousedown",null,this.blockMouseDown_(t))),this.listeners_.push(Blockly.bindEvent_(e,"mouseover",t,t.addSelect)),this.listeners_.push(Blockly.bindEvent_(e,"mouseout",t,t.removeSelect)),this.listeners_.push(Blockly.bindEvent_(o,"mouseover",t,t.addSelect)),this.listeners_.push(Blockly.bindEvent_(o,"mouseout",t,t.removeSelect))},Blockly.Flyout.prototype.blockMouseDown_=function(e){var t=this;return function(o){var n=t.targetWorkspace_.getGesture(o);n&&(n.setStartBlock(e),n.handleFlyoutStart(o,t))}},Blockly.Flyout.prototype.onMouseDown_=function(e){var t=this.targetWorkspace_.getGesture(e);t&&t.handleFlyoutStart(e,this)},Blockly.Flyout.prototype.isBlockCreatable_=function(e){return e.isEnabled()},Blockly.Flyout.prototype.createBlock=function(e){var t=null;Blockly.Events.disable();var o=this.targetWorkspace_.getAllVariables();this.targetWorkspace_.setResizesEnabled(!1);try{t=this.placeNewBlock_(e),Blockly.hideChaff()}finally{Blockly.Events.enable()}if(e=Blockly.Variables.getAddedVariables(this.targetWorkspace_,o),Blockly.Events.isEnabled())for(Blockly.Events.setGroup(!0),Blockly.Events.fire(new Blockly.Events.Create(t)),o=0;o<e.length;o++)Blockly.Events.fire(new Blockly.Events.VarCreate(e[o]));return this.autoClose?this.hide():this.filterForCapacity_(),t},Blockly.Flyout.prototype.initFlyoutButton_=function(e,t,o){var n=e.createDom();e.moveTo(t,o),e.show(),this.listeners_.push(Blockly.bindEventWithChecks_(n,"mousedown",this,this.onMouseDown_)),this.buttons_.push(e)},Blockly.Flyout.prototype.createRect_=function(e,t,o,n,i){return(t=Blockly.utils.dom.createSvgElement("rect",{"fill-opacity":0,x:t,y:o,height:n.height,width:n.width},null)).tooltip=e,Blockly.Tooltip.bindMouseEvents(t),this.workspace_.getCanvas().insertBefore(t,e.getSvgRoot()),e.flyoutRect_=t,this.mats_[i]=t},Blockly.Flyout.prototype.moveRectToBlock_=function(e,t){var o=t.getHeightWidth();e.setAttribute("width",o.width),e.setAttribute("height",o.height);var n=t.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0;n&&t.moveBy(0,n),n=t.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0;var i=t.getRelativeToSurfaceXY();e.setAttribute("y",i.y),e.setAttribute("x",this.RTL?i.x-o.width+n:i.x-n)},Blockly.Flyout.prototype.filterForCapacity_=function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)if(-1==this.permanentlyDisabled_.indexOf(e))for(var n=this.targetWorkspace_.isCapacityAvailable(Blockly.utils.getBlockTypeCounts(e));e;)e.setEnabled(n),e=e.getNextBlock()},Blockly.Flyout.prototype.reflow=function(){this.reflowWrapper_&&this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowInternal_(),this.reflowWrapper_&&this.workspace_.addChangeListener(this.reflowWrapper_)},Blockly.Flyout.prototype.isScrollable=function(){return!!this.scrollbar_&&this.scrollbar_.isVisible()},Blockly.Flyout.prototype.placeNewBlock_=function(e){var t=this.targetWorkspace_;if(!e.getSvgRoot())throw Error("oldBlock is not rendered.");var o=Blockly.Xml.blockToDom(e,!0);if(t.setResizesEnabled(!1),!(o=Blockly.Xml.domToBlock(o,t)).getSvgRoot())throw Error("block is not rendered.");var n=t.getOriginOffsetInPixels(),i=this.workspace_.getOriginOffsetInPixels();return(e=e.getRelativeToSurfaceXY()).scale(this.workspace_.scale),e=Blockly.utils.Coordinate.sum(i,e),(n=Blockly.utils.Coordinate.difference(e,n)).scale(1/t.scale),o.moveBy(n.x,n.y),o},Blockly.HorizontalFlyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),Blockly.HorizontalFlyout.superClass_.constructor.call(this,e),this.horizontalLayout_=!0},goog.inherits(Blockly.HorizontalFlyout,Blockly.Flyout),Blockly.HorizontalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var e=this.workspace_.getCanvas().getBBox()}catch(t){e={height:0,y:0,width:0,x:0}}var t=this.SCROLLBAR_PADDING,o=this.SCROLLBAR_PADDING;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM&&(t=0);var n=this.height_;return this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP&&(n-=this.SCROLLBAR_PADDING),{viewHeight:n,viewWidth:this.width_-2*this.SCROLLBAR_PADDING,contentHeight:(e.height+2*this.MARGIN)*this.workspace_.scale,contentWidth:(e.width+2*this.MARGIN)*this.workspace_.scale,viewTop:-this.workspace_.scrollY,viewLeft:-this.workspace_.scrollX,contentTop:0,contentLeft:0,absoluteTop:t,absoluteLeft:o}},Blockly.HorizontalFlyout.prototype.setMetrics_=function(e){var t=this.getMetrics_();t&&("number"==typeof e.x&&(this.workspace_.scrollX=-t.contentWidth*e.x),this.workspace_.translate(this.workspace_.scrollX+t.absoluteLeft,this.workspace_.scrollY+t.absoluteTop))},Blockly.HorizontalFlyout.prototype.position=function(){if(this.isVisible()){var e=this.targetWorkspace_.getMetrics();e&&(this.width_=e.viewWidth,this.setBackgroundPath_(e.viewWidth-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),this.positionAt_(this.width_,this.height_,0,this.targetWorkspace_.toolboxPosition==this.toolboxPosition_?e.toolboxHeight?this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?e.toolboxHeight:e.viewHeight-this.height_:this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?0:e.viewHeight:this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?0:e.viewHeight+e.absoluteTop-this.height_))}},Blockly.HorizontalFlyout.prototype.setBackgroundPath_=function(e,t){var o=this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP,n=["M 0,"+(o?0:this.CORNER_RADIUS)];o?(n.push("h",e+2*this.CORNER_RADIUS),n.push("v",t),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",-1*e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),n.push("h",e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",t),n.push("h",-e-2*this.CORNER_RADIUS)),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))},Blockly.HorizontalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(this.RTL?1/0:0)},Blockly.HorizontalFlyout.prototype.wheel_=function(e){var t=Blockly.utils.getScrollDeltaPixels(e),o=t.x||t.y;o&&(o=(t=this.getMetrics_()).viewLeft+o,o=Math.min(o,t.contentWidth-t.viewWidth),o=Math.max(o,0),this.scrollbar_.set(o),Blockly.WidgetDiv.hide()),e.preventDefault(),e.stopPropagation()},Blockly.HorizontalFlyout.prototype.layout_=function(e,t){this.workspace_.scale=this.targetWorkspace_.scale;var o=this.MARGIN,n=this.RTL?o:o+Blockly.BlockSvg.TAB_WIDTH;this.RTL&&(e=e.reverse());for(var i,r=0;i=e[r];r++)if("block"==i.type){for(var s,a=(i=i.block).getDescendants(!1),l=0;s=a[l];l++)s.isInFlyout=!0;i.render(),a=i.getSvgRoot(),l=i.getHeightWidth(),s=i.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0,s=this.RTL?n+l.width:n+s,i.moveBy(s,o),s=this.createRect_(i,s,o,l,r),n+=l.width+t[r],this.addBlockListeners_(a,i,s)}else"button"==i.type&&(this.initFlyoutButton_(i.button,n,o),n+=i.button.width+t[r])},Blockly.HorizontalFlyout.prototype.isDragTowardWorkspace=function(e){e=Math.atan2(e.y,e.x)/Math.PI*180;var t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t},Blockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?new Blockly.utils.Rect(-1e9,t+e.height,-1e9,1e9):new Blockly.utils.Rect(t,-1e9,-1e9,1e9)},Blockly.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var e,t=0,o=this.workspace_.getTopBlocks(!1),n=0;e=o[n];n++)t=Math.max(t,e.getHeightWidth().height);if(t+=1.5*this.MARGIN,t*=this.workspace_.scale,t+=Blockly.Scrollbar.scrollbarThickness,this.height_!=t){for(n=0;e=o[n];n++)e.flyoutRect_&&this.moveRectToBlock_(e.flyoutRect_,e);this.height_=t,this.position()}},Blockly.VerticalFlyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),Blockly.VerticalFlyout.superClass_.constructor.call(this,e),this.horizontalLayout_=!1},goog.inherits(Blockly.VerticalFlyout,Blockly.Flyout),Blockly.VerticalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var e=this.workspace_.getCanvas().getBBox()}catch(t){e={height:0,y:0,width:0,x:0}}var t=this.SCROLLBAR_PADDING,o=this.height_-2*this.SCROLLBAR_PADDING,n=this.width_;return this.RTL||(n-=this.SCROLLBAR_PADDING),{viewHeight:o,viewWidth:n,contentHeight:e.height*this.workspace_.scale+2*this.MARGIN,contentWidth:e.width*this.workspace_.scale+2*this.MARGIN,viewTop:-this.workspace_.scrollY+e.y,viewLeft:-this.workspace_.scrollX,contentTop:e.y,contentLeft:e.x,absoluteTop:t,absoluteLeft:0}},Blockly.VerticalFlyout.prototype.setMetrics_=function(e){var t=this.getMetrics_();t&&("number"==typeof e.y&&(this.workspace_.scrollY=-t.contentHeight*e.y),this.workspace_.translate(this.workspace_.scrollX+t.absoluteLeft,this.workspace_.scrollY+t.absoluteTop))},Blockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()){var e=this.targetWorkspace_.getMetrics();e&&(this.height_=e.viewHeight,this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,e.viewHeight-2*this.CORNER_RADIUS),this.positionAt_(this.width_,this.height_,this.targetWorkspace_.toolboxPosition==this.toolboxPosition_?e.toolboxWidth?this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?e.toolboxWidth:e.viewWidth-this.width_:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:e.viewWidth:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:e.viewWidth+e.absoluteLeft-this.width_,0))}},Blockly.VerticalFlyout.prototype.setBackgroundPath_=function(e,t){var o=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT,n=e+this.CORNER_RADIUS;(n=["M "+(o?n:0)+",0"]).push("h",o?-e:e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,o?0:1,o?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",Math.max(0,t)),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,o?0:1,o?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",o?e:-e),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))},Blockly.VerticalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(0)},Blockly.VerticalFlyout.prototype.wheel_=function(e){var t=Blockly.utils.getScrollDeltaPixels(e);if(t.y){var o=this.getMetrics_();t=o.viewTop-o.contentTop+t.y,t=Math.min(t,o.contentHeight-o.viewHeight),t=Math.max(t,0),this.scrollbar_.set(t),Blockly.WidgetDiv.hide()}e.preventDefault(),e.stopPropagation()},Blockly.VerticalFlyout.prototype.layout_=function(e,t){this.workspace_.scale=this.targetWorkspace_.scale;for(var o,n=this.MARGIN,i=this.RTL?n:n+Blockly.BlockSvg.TAB_WIDTH,r=0;o=e[r];r++)if("block"==o.type){for(var s,a=(o=o.block).getDescendants(!1),l=0;s=a[l];l++)s.isInFlyout=!0;o.render(),a=o.getSvgRoot(),l=o.getHeightWidth(),o.moveBy(i,n),s=this.createRect_(o,this.RTL?i-l.width:i,n,l,r),this.addBlockListeners_(a,o,s),n+=l.height+t[r]}else"button"==o.type&&(this.initFlyoutButton_(o.button,i,n),n+=o.button.height+t[r])},Blockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(e){e=Math.atan2(e.y,e.x)/Math.PI*180;var t=this.dragAngleRange_;return e<t&&e>-t||e<-180+t||e>180-t},Blockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?new Blockly.utils.Rect(-1e9,1e9,-1e9,t+e.width):(Blockly.utils.userAgent.GECKO&&this.targetWorkspace_&&this.targetWorkspace_.isMutator&&(e=this.targetWorkspace_.svgGroup_.getBoundingClientRect().x,10>Math.abs(e-t)&&(t+=this.leftEdge_*this.targetWorkspace_.options.parentWorkspace.scale)),new Blockly.utils.Rect(-1e9,1e9,t,1e9))},Blockly.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var e,t=0,o=this.workspace_.getTopBlocks(!1),n=0;e=o[n];n++){var i=e.getHeightWidth().width;e.outputConnection&&(i-=Blockly.BlockSvg.TAB_WIDTH),t=Math.max(t,i)}for(n=0;e=this.buttons_[n];n++)t=Math.max(t,e.width);if(t+=1.5*this.MARGIN+Blockly.BlockSvg.TAB_WIDTH,t*=this.workspace_.scale,t+=Blockly.Scrollbar.scrollbarThickness,this.width_!=t){for(n=0;e=o[n];n++)this.RTL&&(i=e.getRelativeToSurfaceXY().x,e.moveBy(t/this.workspace_.scale-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH-i,0)),e.flyoutRect_&&this.moveRectToBlock_(e.flyoutRect_,e);if(this.RTL)for(n=0;e=this.buttons_[n];n++)o=e.getPosition().y,e.moveTo(t/this.workspace_.scale-e.width-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH,o);this.width_=t,this.position()}},Blockly.Toolbox=function(e){this.workspace_=e,this.RTL=e.options.RTL,this.horizontalLayout_=e.options.horizontalLayout,this.toolboxPosition=e.options.toolboxPosition,this.config_={indentWidth:19,cssRoot:"blocklyTreeRoot",cssHideRoot:"blocklyHidden",cssItem:"",cssTreeRow:"blocklyTreeRow",cssItemLabel:"blocklyTreeLabel",cssTreeIcon:"blocklyTreeIcon",cssExpandedFolderIcon:"blocklyTreeIconOpen",cssFileIcon:"blocklyTreeIconNone",cssSelectedRow:"blocklyTreeSelected"},this.treeSeparatorConfig_={cssTreeRow:"blocklyTreeSeparator"},this.horizontalLayout_&&(this.config_.cssTreeRow+=e.RTL?" blocklyHorizontalTreeRtl":" blocklyHorizontalTree",this.treeSeparatorConfig_.cssTreeRow="blocklyTreeSeparatorHorizontal "+(e.RTL?"blocklyHorizontalTreeRtl":"blocklyHorizontalTree"),this.config_.cssTreeIcon="")},Blockly.Toolbox.prototype.width=0,Blockly.Toolbox.prototype.height=0,Blockly.Toolbox.prototype.selectedOption_=null,Blockly.Toolbox.prototype.lastCategory_=null,Blockly.Toolbox.prototype.init=function(){var e=this.workspace_,t=this.workspace_.getParentSvg();this.HtmlDiv=document.createElement("div"),this.HtmlDiv.className="blocklyToolboxDiv",this.HtmlDiv.setAttribute("dir",e.RTL?"RTL":"LTR"),t.parentNode.insertBefore(this.HtmlDiv,t),Blockly.bindEventWithChecks_(this.HtmlDiv,"mousedown",this,(function(e){Blockly.utils.isRightButton(e)||e.target==this.HtmlDiv?Blockly.hideChaff(!1):Blockly.hideChaff(!0),Blockly.Touch.clearTouchIdentifier()}),!1,!0),t={disabledPatternId:e.options.disabledPatternId,parentWorkspace:e,RTL:e.RTL,oneBasedIndex:e.options.oneBasedIndex,horizontalLayout:e.horizontalLayout,toolboxPosition:e.options.toolboxPosition},this.flyout_=null,this.flyout_=e.horizontalLayout?new Blockly.HorizontalFlyout(t):new Blockly.VerticalFlyout(t),Blockly.utils.dom.insertAfter(this.flyout_.createDom("svg"),this.workspace_.getParentSvg()),this.flyout_.init(e),this.config_.cleardotPath=e.options.pathToMedia+"1x1.gif",this.config_.cssCollapsedFolderIcon="blocklyTreeIconClosed"+(e.RTL?"Rtl":"Ltr"),this.tree_=t=new Blockly.Toolbox.TreeControl(this,this.config_),t.setShowRootNode(!1),t.setShowLines(!1),t.setShowExpandIcons(!1),t.setSelectedItem(null),e=this.populate_(e.options.languageTree),t.render(this.HtmlDiv),e&&t.setSelectedItem(e),this.addColour_(),this.position()},Blockly.Toolbox.prototype.dispose=function(){this.flyout_.dispose(),this.tree_.dispose(),Blockly.utils.dom.removeNode(this.HtmlDiv),this.lastCategory_=this.workspace_=null},Blockly.Toolbox.prototype.getWidth=function(){return this.width},Blockly.Toolbox.prototype.getHeight=function(){return this.height},Blockly.Toolbox.prototype.position=function(){var e=this.HtmlDiv;if(e){var t=this.workspace_.getParentSvg();t=Blockly.svgSize(t),this.horizontalLayout_?(e.style.left="0",e.style.height="auto",e.style.width=t.width+"px",this.height=e.offsetHeight,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?e.style.top="0":e.style.bottom="0"):(this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?e.style.right="0":e.style.left="0",e.style.height=t.height+"px",this.width=e.offsetWidth),this.flyout_.position()}},Blockly.Toolbox.prototype.populate_=function(e){if(this.tree_.removeChildren(),this.tree_.blocks=[],this.hasColours_=!1,e=this.syncTrees_(e,this.tree_,this.workspace_.options.pathToMedia),this.tree_.blocks.length)throw Error("Toolbox cannot have both blocks and categories in the root level.");return this.workspace_.resizeContents(),e},Blockly.Toolbox.prototype.syncTrees_=function(e,t,o){for(var n,i=null,r=null,s=0;n=e.childNodes[s];s++)if(n.tagName)switch(n.tagName.toUpperCase()){case"CATEGORY":r=Blockly.utils.replaceMessageReferences(n.getAttribute("name"));var a=this.tree_.createNode(r);a.blocks=[],t.add(a);var l=n.getAttribute("custom");l?a.blocks=l:(l=this.syncTrees_(n,a,o))&&(i=l),l=n.getAttribute("categorystyle");var u=n.getAttribute("colour");u&&l?(a.hexColour="",console.warn('Toolbox category "'+r+'" can not have both a style and a colour')):l?this.setColourFromStyle_(l,a,r):this.setColour_(u,a,r),"true"==n.getAttribute("expanded")?(a.blocks.length&&(i=a),a.setExpanded(!0)):a.setExpanded(!1),r=n;break;case"SEP":if(r&&"CATEGORY"==r.tagName.toUpperCase()){t.add(new Blockly.Toolbox.TreeSeparator(this.treeSeparatorConfig_));break}case"BLOCK":case"SHADOW":case"LABEL":case"BUTTON":t.blocks.push(n),r=n}return i},Blockly.Toolbox.prototype.setColour_=function(e,t,o){if(null===(e=Blockly.utils.replaceMessageReferences(e))||""===e)t.hexColour="";else{var n=Number(e);isNaN(n)?(n=Blockly.utils.colour.parse(e))?(t.hexColour=n,this.hasColours_=!0):(t.hexColour="",console.warn('Toolbox category "'+o+'" has unrecognized colour attribute: '+e)):(t.hexColour=Blockly.hueToHex(n),this.hasColours_=!0)}},Blockly.Toolbox.prototype.setColourFromStyle_=function(e,t,o){if((t.styleName=e)&&Blockly.getTheme()){var n=Blockly.getTheme().getCategoryStyle(e);n&&n.colour?this.setColour_(n.colour,t,o):console.warn('Style "'+e+'" must exist and contain a colour value')}},Blockly.Toolbox.prototype.updateColourFromTheme_=function(e){if(e=e||this.tree_){e=e.getChildren(!1);for(var t,o=0;t=e[o];o++)t.styleName&&(this.setColourFromStyle_(t.styleName,t,""),this.addColour_()),this.updateColourFromTheme_(t)}},Blockly.Toolbox.prototype.updateColourFromTheme=function(){var e=this.tree_;e&&(this.updateColourFromTheme_(e),this.updateSelectedItemColour_(e))},Blockly.Toolbox.prototype.updateSelectedItemColour_=function(e){var t=e.selectedItem_;if(t){var o=t.hexColour||"#57e";t.getRowElement().style.backgroundColor=o,e.toolbox_.addColour_(t)}},Blockly.Toolbox.prototype.addColour_=function(e){e=(e||this.tree_).getChildren(!1);for(var t,o=0;t=e[o];o++){var n=t.getRowElement();if(n){var i=this.hasColours_?"8px solid "+(t.hexColour||"#ddd"):"none";this.workspace_.RTL?n.style.borderRight=i:n.style.borderLeft=i}this.addColour_(t)}},Blockly.Toolbox.prototype.clearSelection=function(){this.tree_.setSelectedItem(null)},Blockly.Toolbox.prototype.addStyle=function(e){Blockly.utils.dom.addClass(this.HtmlDiv,e)},Blockly.Toolbox.prototype.removeStyle=function(e){Blockly.utils.dom.removeClass(this.HtmlDiv,e)},Blockly.Toolbox.prototype.getClientRect=function(){if(!this.HtmlDiv)return null;var e=this.HtmlDiv.getBoundingClientRect(),t=e.top,o=t+e.height,n=e.left;return e=n+e.width,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?new Blockly.utils.Rect(-1e7,o,-1e7,1e7):this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?new Blockly.utils.Rect(t,1e7,-1e7,1e7):this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?new Blockly.utils.Rect(-1e7,1e7,-1e7,e):new Blockly.utils.Rect(-1e7,1e7,n,1e7)},Blockly.Toolbox.prototype.refreshSelection=function(){var e=this.tree_.getSelectedItem();e&&e.blocks&&this.flyout_.show(e.blocks)},Blockly.Toolbox.TreeControl=function(e,t){this.toolbox_=e,goog.ui.tree.TreeControl.call(this,goog.html.SafeHtml.EMPTY,t)},goog.inherits(Blockly.Toolbox.TreeControl,goog.ui.tree.TreeControl),Blockly.Toolbox.TreeControl.prototype.enterDocument=function(){if(Blockly.Toolbox.TreeControl.superClass_.enterDocument.call(this),Blockly.Touch.TOUCH_ENABLED){var e=this.getElement();Blockly.bindEventWithChecks_(e,goog.events.EventType.TOUCHEND,this,this.handleTouchEvent_)}},Blockly.Toolbox.TreeControl.prototype.handleTouchEvent_=function(e){var t=this.getNodeFromEvent_(e);t&&e.type===goog.events.EventType.TOUCHEND&&setTimeout((function(){t.onClick_(e)}),1)},Blockly.Toolbox.TreeControl.prototype.createNode=function(e){return e=e?goog.html.SafeHtml.htmlEscape(e):goog.html.SafeHtml.EMPTY,new Blockly.Toolbox.TreeNode(this.toolbox_,e,this.getConfig())},Blockly.Toolbox.TreeControl.prototype.setSelectedItem=function(e){var t=this.toolbox_;if(e!=this.selectedItem_&&e!=t.tree_){if(t.lastCategory_&&(t.lastCategory_.getRowElement().style.backgroundColor=""),e){var o=e.hexColour||"#57e";e.getRowElement().style.backgroundColor=o,t.addColour_(e)}o=this.getSelectedItem(),goog.ui.tree.TreeControl.prototype.setSelectedItem.call(this,e),e&&e.blocks&&e.blocks.length?(t.flyout_.show(e.blocks),t.lastCategory_!=e&&t.flyout_.scrollToStart()):t.flyout_.hide(),o!=e&&o!=this&&((o=new Blockly.Events.Ui(null,"category",o&&o.getHtml(),e&&e.getHtml())).workspaceId=t.workspace_.id,Blockly.Events.fire(o)),e&&(t.lastCategory_=e)}},Blockly.Toolbox.TreeNode=function(e,t,o){goog.ui.tree.TreeNode.call(this,t,o),e&&(t=function(){Blockly.svgResize(e.workspace_)},goog.events.listen(e.tree_,goog.ui.tree.BaseNode.EventType.EXPAND,t),goog.events.listen(e.tree_,goog.ui.tree.BaseNode.EventType.COLLAPSE,t))},goog.inherits(Blockly.Toolbox.TreeNode,goog.ui.tree.TreeNode),Blockly.Toolbox.TreeNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span")},Blockly.Toolbox.TreeNode.prototype.onClick_=function(e){this.hasChildren()&&this.isUserCollapsible_?(this.toggle(),this.select()):this.isSelected()?this.getTree().setSelectedItem(null):this.select(),this.updateRow()},Blockly.Toolbox.TreeNode.prototype.onMouseDown=function(e){},Blockly.Toolbox.TreeNode.prototype.onDoubleClick_=function(e){},Blockly.Toolbox.TreeNode.prototype.onKeyDown=function(e){if(this.tree.toolbox_.horizontalLayout_){var t={},o=goog.events.KeyCodes.DOWN,n=goog.events.KeyCodes.UP;t[goog.events.KeyCodes.RIGHT]=this.rightToLeft_?n:o,t[goog.events.KeyCodes.LEFT]=this.rightToLeft_?o:n,t[goog.events.KeyCodes.UP]=goog.events.KeyCodes.LEFT,t[goog.events.KeyCodes.DOWN]=goog.events.KeyCodes.RIGHT,e.keyCode=t[e.keyCode]||e.keyCode}return Blockly.Toolbox.TreeNode.superClass_.onKeyDown.call(this,e)},Blockly.Toolbox.TreeSeparator=function(e){Blockly.Toolbox.TreeNode.call(this,null,goog.html.SafeHtml.EMPTY,e)},goog.inherits(Blockly.Toolbox.TreeSeparator,Blockly.Toolbox.TreeNode),Blockly.Css={},Blockly.Css.Cursor={OPEN:"handopen",CLOSED:"handclosed",DELETE:"handdelete"},Blockly.Css.currentCursor_="",Blockly.Css.injected_=!1,Blockly.Css.mediaPath_="",Blockly.Css.inject=function(e,t){if(!Blockly.Css.injected_){Blockly.Css.injected_=!0;var o=".blocklyDraggable {}\n";e&&(o+=Blockly.Css.CONTENT.join("\n"),Blockly.Css.CONTENT=null,Blockly.FieldDate&&(o+=Blockly.FieldDate.CSS.join("\n"))),Blockly.Css.mediaPath_=t.replace(/[\\\/]$/,""),o=o.replace(/<<<PATH>>>/g,Blockly.Css.mediaPath_);var n=document.createElement("style");o=document.createTextNode(o),n.appendChild(o),document.head.insertBefore(n,document.head.firstChild)}},Blockly.Css.setCursor=function(e){console.warn("Deprecated call to Blockly.Css.setCursor. See https://github.com/google/blockly/issues/981 for context")},Blockly.Css.CONTENT=[".blocklySvg {","background-color: #fff;","outline: none;","overflow: hidden;","position: absolute;","display: block;","}",".blocklyWidgetDiv {","display: none;","position: absolute;","z-index: 99999;","}",".injectionDiv {","height: 100%;","position: relative;","overflow: hidden;","touch-action: none","}",".blocklyNonSelectable {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","}",".blocklyWsDragSurface {","display: none;","position: absolute;","top: 0;","left: 0;","}",".blocklyWsDragSurface.blocklyOverflowVisible {","overflow: visible;","}",".blocklyBlockDragSurface {","display: none;","position: absolute;","top: 0;","left: 0;","right: 0;","bottom: 0;","overflow: visible !important;","z-index: 50;","}",".blocklyBlockCanvas.blocklyCanvasTransitioning,",".blocklyBubbleCanvas.blocklyCanvasTransitioning {","transition: transform .5s;","}",".blocklyTooltipDiv {","background-color: #ffffc7;","border: 1px solid #ddc;","box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15);","color: #000;","display: none;","font-family: sans-serif;","font-size: 9pt;","opacity: .9;","padding: 2px;","position: absolute;","z-index: 100000;","}",".blocklyDropDownDiv {","position: fixed;","left: 0;","top: 0;","z-index: 1000;","display: none;","border: 1px solid;","border-radius: 2px;","padding: 4px;","-webkit-user-select: none;","}",".blocklyDropDownContent {","max-height: 300px;","overflow: auto;","overflow-x: hidden;","}",".blocklyDropDownArrow {","position: absolute;","left: 0;","top: 0;","width: 16px;","height: 16px;","z-index: -1;","background-color: inherit;","border-color: inherit;","}",".blocklyDropDownButton {","display: inline-block;","float: left;","padding: 0;","margin: 4px;","border-radius: 4px;","outline: none;","border: 1px solid;","transition: box-shadow .1s;","cursor: pointer;","}",".arrowTop {","border-top: 1px solid;","border-left: 1px solid;","border-top-left-radius: 4px;","border-color: inherit;","}",".arrowBottom {","border-bottom: 1px solid;","border-right: 1px solid;","border-bottom-right-radius: 4px;","border-color: inherit;","}",".blocklyResizeSE {","cursor: se-resize;","fill: #aaa;","}",".blocklyResizeSW {","cursor: sw-resize;","fill: #aaa;","}",".blocklyResizeLine {","stroke: #515A5A;","stroke-width: 1;","}",".blocklyHighlightedConnectionPath {","fill: none;","stroke: #fc3;","stroke-width: 4px;","}",".blocklyPathLight {","fill: none;","stroke-linecap: round;","stroke-width: 1;","}",".blocklySelected>.blocklyPath {","stroke: #fc3;","stroke-width: 3px;","}",".blocklySelected>.blocklyPathLight {","display: none;","}",".blocklyDraggable {",'cursor: url("<<<PATH>>>/handopen.cur"), auto;',"cursor: grab;","cursor: -webkit-grab;","}",".blocklyDragging {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDraggable:active {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyBlockDragSurface .blocklyDraggable {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging.blocklyDraggingDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxGrab {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging>.blocklyPath,",".blocklyDragging>.blocklyPathLight {","fill-opacity: .8;","stroke-opacity: .8;","}",".blocklyDragging>.blocklyPathDark {","display: none;","}",".blocklyDisabled>.blocklyPath {","fill-opacity: .5;","stroke-opacity: .5;","}",".blocklyDisabled>.blocklyPathLight,",".blocklyDisabled>.blocklyPathDark {","display: none;","}",".blocklyInsertionMarker>.blocklyPath,",".blocklyInsertionMarker>.blocklyPathLight,",".blocklyInsertionMarker>.blocklyPathDark {","fill-opacity: .2;","stroke: none","}",".blocklyReplaceable .blocklyPath {","fill-opacity: 0.5;","}",".blocklyReplaceable .blocklyPathLight,",".blocklyReplaceable .blocklyPathDark {","display: none;","}",".blocklyText {","cursor: default;","fill: #fff;","font-family: sans-serif;","font-size: 11pt;","}",".blocklyNonEditableText>text {","pointer-events: none;","}",".blocklyNonEditableText>rect,",".blocklyEditableText>rect {","fill: #fff;","fill-opacity: .6;","}",".blocklyNonEditableText>text,",".blocklyEditableText>text {","fill: #000;","}",".blocklyEditableText:hover>rect {","stroke: #fff;","stroke-width: 2;","}",".blocklyBubbleText {","fill: #000;","}",".blocklyFlyout {","position: absolute;","z-index: 20;","}",".blocklyFlyoutButton {","fill: #888;","cursor: default;","}",".blocklyFlyoutButtonShadow {","fill: #666;","}",".blocklyFlyoutButton:hover {","fill: #aaa;","}",".blocklyFlyoutLabel {","cursor: default;","}",".blocklyFlyoutLabelBackground {","opacity: 0;","}",".blocklyFlyoutLabelText {","fill: #000;","}",".blocklySvg text, .blocklyBlockDragSurface text {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","cursor: inherit;","}",".blocklyHidden {","display: none;","}",".blocklyFieldDropdown:not(.blocklyHidden) {","display: block;","}",".blocklyIconGroup {","cursor: default;","}",".blocklyIconGroup:not(:hover),",".blocklyIconGroupReadonly {","opacity: .6;","}",".blocklyIconShape {","fill: #00f;","stroke: #fff;","stroke-width: 1px;","}",".blocklyIconSymbol {","fill: #fff;","}",".blocklyMinimalBody {","margin: 0;","padding: 0;","}",".blocklyCommentForeignObject {","position: relative;","z-index: 0;","}",".blocklyCommentRect {","fill: #E7DE8E;","stroke: #bcA903;","stroke-width: 1px","}",".blocklyCommentTarget {","fill: transparent;","stroke: #bcA903;","}",".blocklyCommentTargetFocused {","fill: none;","}",".blocklyCommentHandleTarget {","fill: none;","}",".blocklyCommentHandleTargetFocused {","fill: transparent;","}",".blocklyFocused>.blocklyCommentRect {","fill: #B9B272;","stroke: #B9B272;","}",".blocklySelected>.blocklyCommentTarget {","stroke: #fc3;","stroke-width: 3px;","}",".blocklyCommentTextarea {","background-color: #fef49c;","border: 0;","outline: 0;","margin: 0;","padding: 3px;","resize: none;","display: block;","overflow: hidden;","}",".blocklyCommentDeleteIcon {","cursor: pointer;","fill: #000;","display: none","}",".blocklySelected > .blocklyCommentDeleteIcon {","display: block","}",".blocklyDeleteIconShape {","fill: #000;","stroke: #000;","stroke-width: 1px;","}",".blocklyDeleteIconShape.blocklyDeleteIconHighlighted {","stroke: #fc3;","}",".blocklyHtmlInput {","border: none;","border-radius: 4px;","font-family: sans-serif;","height: 100%;","margin: 0;","outline: none;","padding: 0 1px;","width: 100%","}",".blocklyMainBackground {","stroke-width: 1;","stroke: #c6c6c6;","}",".blocklyMutatorBackground {","fill: #fff;","stroke: #ddd;","stroke-width: 1;","}",".blocklyFlyoutBackground {","fill: #ddd;","fill-opacity: .8;","}",".blocklyTransparentBackground {","opacity: 0;","}",".blocklyMainWorkspaceScrollbar {","z-index: 20;","}",".blocklyFlyoutScrollbar {","z-index: 30;","}",".blocklyScrollbarHorizontal, .blocklyScrollbarVertical {","position: absolute;","outline: none;","}",".blocklyScrollbarBackground {","opacity: 0;","}",".blocklyScrollbarHandle {","fill: #ccc;","}",".blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyScrollbarHandle:hover {","fill: #bbb;","}",".blocklyZoom>image, .blocklyZoom>svg>image {","opacity: .4;","}",".blocklyZoom>image:hover, .blocklyZoom>svg>image:hover {","opacity: .6;","}",".blocklyZoom>image:active, .blocklyZoom>svg>image:active {","opacity: .8;","}",".blocklyFlyout .blocklyScrollbarHandle {","fill: #bbb;","}",".blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyFlyout .blocklyScrollbarHandle:hover {","fill: #aaa;","}",".blocklyInvalidInput {","background: #faa;","}",".blocklyAngleCircle {","stroke: #444;","stroke-width: 1;","fill: #ddd;","fill-opacity: .8;","}",".blocklyAngleMarks {","stroke: #444;","stroke-width: 1;","}",".blocklyAngleGauge {","fill: #f88;","fill-opacity: .8;","}",".blocklyAngleLine {","stroke: #f00;","stroke-width: 2;","stroke-linecap: round;","pointer-events: none;","}",".blocklyContextMenu {","border-radius: 4px;","max-height: 100%;","}",".blocklyDropdownMenu {","padding: 0 !important;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon {","background: url(<<<PATH>>>/sprites.png) no-repeat -48px -16px;","}",".blocklyToolboxDiv {","background-color: #ddd;","overflow-x: visible;","overflow-y: auto;","position: absolute;","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","z-index: 70;","-webkit-tap-highlight-color: transparent;","}",".blocklyTreeRoot {","padding: 4px 0;","}",".blocklyTreeRoot:focus {","outline: none;","}",".blocklyTreeRow {","height: 22px;","line-height: 22px;","margin-bottom: 3px;","padding-right: 8px;","white-space: nowrap;","}",".blocklyHorizontalTree {","float: left;","margin: 1px 5px 8px 0;","}",".blocklyHorizontalTreeRtl {","float: right;","margin: 1px 0 8px 5px;","}",'.blocklyToolboxDiv[dir="RTL"] .blocklyTreeRow {',"margin-left: 8px;","}",".blocklyTreeRow:not(.blocklyTreeSelected):hover {","background-color: #e4e4e4;","}",".blocklyTreeSeparator {","border-bottom: solid #e5e5e5 1px;","height: 0;","margin: 5px 0;","}",".blocklyTreeSeparatorHorizontal {","border-right: solid #e5e5e5 1px;","width: 0;","padding: 5px 0;","margin: 0 5px;","}",".blocklyTreeIcon {","background-image: url(<<<PATH>>>/sprites.png);","height: 16px;","vertical-align: middle;","width: 16px;","}",".blocklyTreeIconClosedLtr {","background-position: -32px -1px;","}",".blocklyTreeIconClosedRtl {","background-position: 0 -1px;","}",".blocklyTreeIconOpen {","background-position: -16px -1px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedLtr {","background-position: -32px -17px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedRtl {","background-position: 0 -17px;","}",".blocklyTreeSelected>.blocklyTreeIconOpen {","background-position: -16px -17px;","}",".blocklyTreeIconNone,",".blocklyTreeSelected>.blocklyTreeIconNone {","background-position: -48px -1px;","}",".blocklyTreeLabel {","cursor: default;","font-family: sans-serif;","font-size: 16px;","padding: 0 3px;","vertical-align: middle;","}",".blocklyToolboxDelete .blocklyTreeLabel {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyTreeSelected .blocklyTreeLabel {","color: #fff;","}",".blocklyColourTable {","border-collapse: collapse;","}",".blocklyColourTable>tr>td {","border: 1px solid #666;","padding: 0;","}",".blocklyColourTable>tr>td>div {","border: 1px solid #666;","height: 13px;","width: 15px;","}",".blocklyColourTable>tr>td>div:hover {","border: 1px solid #fff;","}",".blocklyColourSelected, .blocklyColourSelected:hover {","border: 1px solid #000 !important;","}",".blocklyWidgetDiv .goog-menu {","background: #fff;","border-color: #ccc #666 #666 #ccc;","border-style: solid;","border-width: 1px;","cursor: default;","font: normal 13px Arial, sans-serif;","margin: 0;","outline: none;","padding: 4px 0;","position: absolute;","overflow-y: auto;","overflow-x: hidden;","max-height: 100%;","z-index: 20000;","}",".blocklyDropDownDiv .goog-menu {","cursor: default;",'font: normal 13px "Helvetica Neue", Helvetica, sans-serif;',"outline: none;","z-index: 20000;","}",".blocklyWidgetDiv .goog-menuitem, ",".blocklyDropDownDiv .goog-menuitem {","color: #000;","font: normal 13px Arial, sans-serif;","list-style: none;","margin: 0;","min-width: 7em;","padding: 5px 5px 5px 28px;","white-space: nowrap;","}",".blocklyWidgetDiv .goog-menuitem.goog-menuitem-rtl, ",".blocklyDropDownDiv .goog-menuitem.goog-menuitem-rtl {","padding-left: 5px;","padding-right: 28px;","}",".blocklyWidgetDiv .goog-menu-nocheckbox .goog-menuitem, ",".blocklyWidgetDiv .goog-menu-noicon .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-nocheckbox .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-noicon .goog-menuitem { ","padding-left: 12px;","}",".blocklyWidgetDiv .goog-menu-noaccel .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-noaccel .goog-menuitem {","padding-right: 20px;","}",".blocklyWidgetDiv .goog-menuitem-content, ",".blocklyDropDownDiv .goog-menuitem-content {","color: #000;","font: normal 13px Arial, sans-serif;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-accel, ",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-content, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-content {","color: #ccc !important;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-icon {","opacity: 0.3;","filter: alpha(opacity=30);","}",".blocklyWidgetDiv .goog-menuitem-highlight, ",".blocklyWidgetDiv .goog-menuitem-hover {","background-color: #d6e9f8;","border-color: #d6e9f8;","border-style: dotted;","border-width: 1px 0;","padding-bottom: 4px;","padding-top: 4px;","}",".blocklyDropDownDiv .goog-menuitem-highlight, ",".blocklyDropDownDiv .goog-menuitem-hover {","background-color: rgba(0, 0, 0, 0.2);","}",".blocklyWidgetDiv .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-icon {","background-repeat: no-repeat;","height: 16px;","left: 6px;","position: absolute;","right: auto;","vertical-align: middle;","width: 16px;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-icon {","left: auto;","right: 6px;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-option-selected .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-option-selected .goog-menuitem-icon {","position: static;","float: left;","margin-left: -24px;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-icon {","float: right;","margin-right: -24px;","}",".blocklyWidgetDiv .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-accel {","color: #999;","direction: ltr;","left: auto;","padding: 0 6px;","position: absolute;","right: 0;","text-align: right;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-accel {","left: 0;","right: auto;","text-align: left;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-hint, ",".blocklyDropDownDiv .goog-menuitem-mnemonic-hint {","text-decoration: underline;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-separator, ",".blocklyDropDownDiv .goog-menuitem-mnemonic-separator {","color: #999;","font-size: 12px;","padding-left: 4px;","}",".blocklyWidgetDiv .goog-menuseparator, ",".blocklyDropDownDiv .goog-menuseparator {","border-top: 1px solid #ccc;","margin: 4px 0;","padding: 0;","}",""],Blockly.WidgetDiv={},Blockly.WidgetDiv.DIV=null,Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.dispose_=null,Blockly.WidgetDiv.createDom=function(){Blockly.WidgetDiv.DIV||(Blockly.WidgetDiv.DIV=document.createElement("div"),Blockly.WidgetDiv.DIV.className="blocklyWidgetDiv",document.body.appendChild(Blockly.WidgetDiv.DIV))},Blockly.WidgetDiv.show=function(e,t,o){Blockly.WidgetDiv.hide(),Blockly.WidgetDiv.owner_=e,Blockly.WidgetDiv.dispose_=o,e=goog.style.getViewportPageOffset(document),Blockly.WidgetDiv.DIV.style.top=e.y+"px",Blockly.WidgetDiv.DIV.style.direction=t?"rtl":"ltr",Blockly.WidgetDiv.DIV.style.display="block"},Blockly.WidgetDiv.hide=function(){Blockly.WidgetDiv.owner_&&(Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.DIV.style.display="none",Blockly.WidgetDiv.DIV.style.left="",Blockly.WidgetDiv.DIV.style.top="",Blockly.WidgetDiv.dispose_&&Blockly.WidgetDiv.dispose_(),Blockly.WidgetDiv.dispose_=null,Blockly.WidgetDiv.DIV.innerHTML="")},Blockly.WidgetDiv.isVisible=function(){return!!Blockly.WidgetDiv.owner_},Blockly.WidgetDiv.hideIfOwner=function(e){Blockly.WidgetDiv.owner_==e&&Blockly.WidgetDiv.hide()},Blockly.WidgetDiv.positionInternal_=function(e,t,o){Blockly.WidgetDiv.DIV.style.left=e+"px",Blockly.WidgetDiv.DIV.style.top=t+"px",Blockly.WidgetDiv.DIV.style.height=o+"px"},Blockly.WidgetDiv.positionWithAnchor=function(e,t,o,n){var i=Blockly.WidgetDiv.calculateY_(e,t,o);e=Blockly.WidgetDiv.calculateX_(e,t,o,n),0>i?Blockly.WidgetDiv.positionInternal_(e,0,o.height+i):Blockly.WidgetDiv.positionInternal_(e,i,o.height)},Blockly.WidgetDiv.calculateX_=function(e,t,o,n){return n?(t=Math.max(t.right-o.width,e.left),Math.min(t,e.right-o.width)):(t=Math.min(t.left,e.right-o.width),Math.max(t,e.left))},Blockly.WidgetDiv.calculateY_=function(e,t,o){return t.bottom+o.height>=e.bottom?t.top-o.height:t.bottom},Blockly.inject=function(e,t){if(Blockly.checkBlockColourConstants(),"string"==typeof e&&(e=document.getElementById(e)||document.querySelector(e)),!Blockly.utils.dom.containsNode(document,e))throw Error("Error: container is not in current document.");var o=new Blockly.Options(t||{}),n=document.createElement("div");n.className="injectionDiv",e.appendChild(n);var i=Blockly.createDom_(n,o),r=new Blockly.BlockDragSurfaceSvg(n);return n=new Blockly.WorkspaceDragSurfaceSvg(n),i=Blockly.createMainWorkspace_(i,o,r,n),Blockly.setTheme(o.theme),Blockly.init_(i),Blockly.mainWorkspace=i,Blockly.svgResize(i),i},Blockly.createDom_=function(e,t){e.setAttribute("dir","LTR"),goog.ui.Component.setDefaultRightToLeft(t.RTL),Blockly.Css.inject(t.hasCss,t.pathToMedia);var o=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklySvg"},e),n=Blockly.utils.dom.createSvgElement("defs",{},o),i=String(Math.random()).substring(2),r=Blockly.utils.dom.createSvgElement("filter",{id:"blocklyEmbossFilter"+i},n);Blockly.utils.dom.createSvgElement("feGaussianBlur",{in:"SourceAlpha",stdDeviation:1,result:"blur"},r);var s=Blockly.utils.dom.createSvgElement("feSpecularLighting",{in:"blur",surfaceScale:1,specularConstant:.5,specularExponent:10,"lighting-color":"white",result:"specOut"},r);return Blockly.utils.dom.createSvgElement("fePointLight",{x:-5e3,y:-1e4,z:2e4},s),Blockly.utils.dom.createSvgElement("feComposite",{in:"specOut",in2:"SourceAlpha",operator:"in",result:"specOut"},r),Blockly.utils.dom.createSvgElement("feComposite",{in:"SourceGraphic",in2:"specOut",operator:"arithmetic",k1:0,k2:1,k3:1,k4:0},r),t.embossFilterId=r.id,r=Blockly.utils.dom.createSvgElement("pattern",{id:"blocklyDisabledPattern"+i,patternUnits:"userSpaceOnUse",width:10,height:10},n),Blockly.utils.dom.createSvgElement("rect",{width:10,height:10,fill:"#aaa"},r),Blockly.utils.dom.createSvgElement("path",{d:"M 0 0 L 10 10 M 10 0 L 0 10",stroke:"#cc0"},r),t.disabledPatternId=r.id,t.gridPattern=Blockly.Grid.createDom(i,t.gridOptions,n),o},Blockly.createMainWorkspace_=function(e,t,o,n){t.parentWorkspace=null;var i=new Blockly.WorkspaceSvg(t,o,n);return i.scale=t.zoomOptions.startScale,e.appendChild(i.createDom("blocklyMainBackground")),!t.hasCategories&&t.languageTree&&(o=i.addFlyout_("svg"),Blockly.utils.dom.insertAfter(o,e)),t.hasTrashcan&&i.addTrashcan(),t.zoomOptions&&t.zoomOptions.controls&&i.addZoomControls(),i.translate(0,0),Blockly.mainWorkspace=i,t.readOnly||i.isMovable()||i.addChangeListener((function(e){if(!i.isDragging()&&!i.isMovable()&&-1!=Blockly.Events.BUMP_EVENTS.indexOf(e.type)){var t=Object.create(null),o=i.getMetrics(),n=i.scale;if(t.viewLeft=o.viewLeft/n,t.viewTop=o.viewTop/n,t.viewRight=(o.viewLeft+o.viewWidth)/n,t.viewBottom=(o.viewTop+o.viewHeight)/n,i.isContentBounded()?(o=i.getBlocksBoundingBox(),t.contentLeft=o.left,t.contentTop=o.top,t.contentRight=o.right,t.contentBottom=o.bottom):(t.contentLeft=o.contentLeft/n,t.contentTop=o.contentTop/n,t.contentRight=(o.contentLeft+o.contentWidth)/n,t.contentBottom=(o.contentTop+o.contentHeight)/n),t.contentTop<t.viewTop||t.contentBottom>t.viewBottom||t.contentLeft<t.viewLeft||t.contentRight>t.viewRight){switch(o=null,e&&(o=Blockly.Events.getGroup(),Blockly.Events.setGroup(e.group)),e.type){case Blockly.Events.BLOCK_CREATE:case Blockly.Events.BLOCK_MOVE:var r=i.getBlockById(e.blockId);r=r.getRootBlock();break;case Blockly.Events.COMMENT_CREATE:case Blockly.Events.COMMENT_MOVE:r=i.getCommentById(e.commentId)}if(r){n=r.getBoundingRectangle();var s=t.viewTop-n.top;0<s&&r.moveBy(0,s),0>(s=t.viewBottom-n.bottom)&&r.moveBy(0,s),0<(s=t.viewLeft-n.left)&&r.moveBy(s,0),0>(t=t.viewRight-n.right)&&r.moveBy(t,0)}e&&(e.group||console.log("WARNING: Moved object in bounds but there was no event group. This may break undo."),Blockly.Events.setGroup(o))}}})),Blockly.svgResize(i),Blockly.WidgetDiv.createDom(),Blockly.DropDownDiv.createDom(),Blockly.Tooltip.createDom(),i},Blockly.init_=function(e){var t=e.options,o=e.getParentSvg();Blockly.bindEventWithChecks_(o.parentNode,"contextmenu",null,(function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()})),o=Blockly.bindEventWithChecks_(window,"resize",null,(function(){Blockly.hideChaff(!0),Blockly.svgResize(e)})),e.setResizeHandlerWrapper(o),Blockly.inject.bindDocumentEvents_(),t.languageTree&&(e.toolbox_?e.toolbox_.init(e):e.flyout_&&(e.flyout_.init(e),e.flyout_.show(t.languageTree.childNodes),e.flyout_.scrollToStart())),o=Blockly.Scrollbar.scrollbarThickness,t.hasTrashcan&&(o=e.trashcan.init(o)),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(o),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Blockly.ScrollbarPair(e),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&Blockly.inject.loadSounds_(t.pathToMedia,e)},Blockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.bindEventWithChecks_(document,"scroll",null,(function(){for(var e,t=Blockly.Workspace.getAll(),o=0;e=t[o];o++)e.updateInverseScreenCTM&&e.updateInverseScreenCTM()})),Blockly.bindEventWithChecks_(document,"keydown",null,Blockly.onKeyDown_),Blockly.bindEvent_(document,"touchend",null,Blockly.longStop_),Blockly.bindEvent_(document,"touchcancel",null,Blockly.longStop_),Blockly.utils.userAgent.IPAD&&Blockly.bindEventWithChecks_(window,"orientationchange",document,(function(){Blockly.svgResize(Blockly.getMainWorkspace())}))),Blockly.documentEventsBound_=!0},Blockly.inject.loadSounds_=function(e,t){var o=t.getAudioManager();o.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),o.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),o.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");var n=[],i=function(){for(;n.length;)Blockly.unbindEvent_(n.pop());o.preload()};n.push(Blockly.bindEventWithChecks_(document,"mousemove",null,i,!0)),n.push(Blockly.bindEventWithChecks_(document,"touchstart",null,i,!0))},Blockly.updateToolbox=function(e){console.warn("Deprecated call to Blockly.updateToolbox, use workspace.updateToolbox instead."),Blockly.getMainWorkspace().updateToolbox(e)};var CLOSURE_DEFINES={"goog.DEBUG":!1};return Blockly.mainWorkspace=null,Blockly.selected=null,Blockly.draggingConnections_=[],Blockly.clipboardXml_=null,Blockly.clipboardSource_=null,Blockly.clipboardTypeCounts_=null,Blockly.cache3dSupported_=null,Blockly.theme_=null,Blockly.svgSize=function(e){return{width:e.cachedWidth_,height:e.cachedHeight_}},Blockly.resizeSvgContents=function(e){e.resizeContents()},Blockly.svgResize=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;var t=e.getParentSvg(),o=t.parentNode;if(o){var n=o.offsetWidth;o=o.offsetHeight,t.cachedWidth_!=n&&(t.setAttribute("width",n+"px"),t.cachedWidth_=n),t.cachedHeight_!=o&&(t.setAttribute("height",o+"px"),t.cachedHeight_=o),e.resize()}},Blockly.onKeyDown_=function(e){var t=Blockly.mainWorkspace;if(!(t.options.readOnly||Blockly.utils.isTargetInput(e)||t.rendered&&!t.isVisible())){var o=!1;if(27==e.keyCode)Blockly.hideChaff();else if(8==e.keyCode||46==e.keyCode){if(e.preventDefault(),Blockly.Gesture.inProgress())return;Blockly.selected&&Blockly.selected.isDeletable()&&(o=!0)}else if(e.altKey||e.ctrlKey||e.metaKey){if(Blockly.Gesture.inProgress())return;Blockly.selected&&Blockly.selected.isDeletable()&&Blockly.selected.isMovable()&&(67==e.keyCode?(Blockly.hideChaff(),Blockly.copy_(Blockly.selected)):88!=e.keyCode||Blockly.selected.workspace.isFlyout||(Blockly.copy_(Blockly.selected),o=!0)),86==e.keyCode?Blockly.clipboardXml_&&((e=Blockly.clipboardSource_).isFlyout&&(e=e.targetWorkspace),Blockly.clipboardTypeCounts_&&e.isCapacityAvailable(Blockly.clipboardTypeCounts_)&&(Blockly.Events.setGroup(!0),e.paste(Blockly.clipboardXml_),Blockly.Events.setGroup(!1))):90==e.keyCode&&(Blockly.hideChaff(),t.undo(e.shiftKey))}o&&!Blockly.selected.workspace.isFlyout&&(Blockly.Events.setGroup(!0),Blockly.hideChaff(),Blockly.selected.dispose(!0,!0),Blockly.Events.setGroup(!1))}},Blockly.copy_=function(e){if(e.isComment)var t=e.toXmlWithXY();else{t=Blockly.Xml.blockToDom(e,!0),Blockly.Xml.deleteNext(t);var o=e.getRelativeToSurfaceXY();t.setAttribute("x",e.RTL?-o.x:o.x),t.setAttribute("y",o.y)}Blockly.clipboardXml_=t,Blockly.clipboardSource_=e.workspace,Blockly.clipboardTypeCounts_=e.isComment?null:Blockly.utils.getBlockTypeCounts(e,!0)},Blockly.duplicate_=function(e){var t=Blockly.clipboardXml_,o=Blockly.clipboardSource_;Blockly.copy_(e),e.workspace.paste(Blockly.clipboardXml_),Blockly.clipboardXml_=t,Blockly.clipboardSource_=o},Blockly.onContextMenu_=function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()},Blockly.hideChaff=function(e){Blockly.Tooltip.hide(),Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation();var t=Blockly.getMainWorkspace();t.trashcan&&t.trashcan.flyout_&&t.trashcan.flyout_.hide(),e||t.toolbox_&&t.toolbox_.flyout_&&t.toolbox_.flyout_.autoClose&&t.toolbox_.clearSelection()},Blockly.addChangeListener=function(e){return console.warn("Deprecated call to Blockly.addChangeListener, use workspace.addChangeListener instead."),Blockly.getMainWorkspace().addChangeListener(e)},Blockly.getMainWorkspace=function(){return Blockly.mainWorkspace},Blockly.alert=function(e,t){alert(e),t&&t()},Blockly.confirm=function(e,t){t(confirm(e))},Blockly.prompt=function(e,t,o){o(prompt(e,t))},Blockly.jsonInitFactory_=function(e){return function(){this.jsonInit(e)}},Blockly.defineBlocksWithJsonArray=function(e){for(var t=0;t<e.length;t++){var o=e[t];if(o){var n=o.type;null==n||""===n?console.warn("Block definition #"+t+" in JSON array is missing a type attribute. Skipping."):(Blockly.Blocks[n]&&console.warn("Block definition #"+t+' in JSON array overwrites prior definition of "'+n+'".'),Blockly.Blocks[n]={init:Blockly.jsonInitFactory_(o)})}else console.warn("Block definition #"+t+" in JSON array is "+o+". Skipping.")}},Blockly.bindEventWithChecks_=function(e,t,o,n,i,r){var s=!1,a=function(e){var t=!i;e=Blockly.Touch.splitEventByTouches(e);for(var r,a=0;r=e[a];a++)t&&!Blockly.Touch.shouldHandleEvent(r)||(Blockly.Touch.setClientFromTouch(r),o?n.call(o,r):n(r),s=!0)},l=[];if(Blockly.utils.global.PointerEvent&&t in Blockly.Touch.TOUCH_MAP)for(var u,c=0;u=Blockly.Touch.TOUCH_MAP[t][c];c++)e.addEventListener(u,a,!1),l.push([e,u,a]);else if(e.addEventListener(t,a,!1),l.push([e,t,a]),t in Blockly.Touch.TOUCH_MAP){var h=function(e){a(e),s&&!r&&e.preventDefault()};for(c=0;u=Blockly.Touch.TOUCH_MAP[t][c];c++)e.addEventListener(u,h,!1),l.push([e,u,h])}return l},Blockly.bindEvent_=function(e,t,o,n){var i=function(e){o?n.call(o,e):n(e)},r=[];if(Blockly.utils.global.PointerEvent&&t in Blockly.Touch.TOUCH_MAP)for(var s,a=0;s=Blockly.Touch.TOUCH_MAP[t][a];a++)e.addEventListener(s,i,!1),r.push([e,s,i]);else if(e.addEventListener(t,i,!1),r.push([e,t,i]),t in Blockly.Touch.TOUCH_MAP){var l=function(e){if(e.changedTouches&&1==e.changedTouches.length){var t=e.changedTouches[0];e.clientX=t.clientX,e.clientY=t.clientY}i(e),e.preventDefault()};for(a=0;s=Blockly.Touch.TOUCH_MAP[t][a];a++)e.addEventListener(s,l,!1),r.push([e,s,l])}return r},Blockly.unbindEvent_=function(e){for(;e.length;){var t=e.pop(),o=t[2];t[0].removeEventListener(t[1],o,!1)}return o},Blockly.isNumber=function(e){return/^\s*-?\d+(\.\d+)?\s*$/.test(e)},Blockly.hueToHex=function(e){return Blockly.utils.colour.hsvToHex(e,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)},Blockly.checkBlockColourConstants=function(){Blockly.checkBlockColourConstant_("LOGIC_HUE",["Blocks","logic","HUE"],void 0),Blockly.checkBlockColourConstant_("LOGIC_HUE",["Constants","Logic","HUE"],210),Blockly.checkBlockColourConstant_("LOOPS_HUE",["Blocks","loops","HUE"],void 0),Blockly.checkBlockColourConstant_("LOOPS_HUE",["Constants","Loops","HUE"],120),Blockly.checkBlockColourConstant_("MATH_HUE",["Blocks","math","HUE"],void 0),Blockly.checkBlockColourConstant_("MATH_HUE",["Constants","Math","HUE"],230),Blockly.checkBlockColourConstant_("TEXTS_HUE",["Blocks","texts","HUE"],void 0),Blockly.checkBlockColourConstant_("TEXTS_HUE",["Constants","Text","HUE"],160),Blockly.checkBlockColourConstant_("LISTS_HUE",["Blocks","lists","HUE"],void 0),Blockly.checkBlockColourConstant_("LISTS_HUE",["Constants","Lists","HUE"],260),Blockly.checkBlockColourConstant_("COLOUR_HUE",["Blocks","colour","HUE"],void 0),Blockly.checkBlockColourConstant_("COLOUR_HUE",["Constants","Colour","HUE"],20),Blockly.checkBlockColourConstant_("VARIABLES_HUE",["Blocks","variables","HUE"],void 0),Blockly.checkBlockColourConstant_("VARIABLES_HUE",["Constants","Variables","HUE"],330),Blockly.checkBlockColourConstant_("VARIABLES_DYNAMIC_HUE",["Constants","VariablesDynamic","HUE"],310),Blockly.checkBlockColourConstant_("PROCEDURES_HUE",["Blocks","procedures","HUE"],void 0)},Blockly.checkBlockColourConstant_=function(e,t,o){for(var n="Blockly",i=Blockly,r=0;r<t.length;++r)n+="."+t[r],i&&(i=i[t[r]]);i&&i!==o&&(e=(void 0===o?'%1 has been removed. Use Blockly.Msg["%2"].':'%1 is deprecated and unused. Override Blockly.Msg["%2"].').replace("%1",n).replace("%2",e),console.warn(e))},Blockly.setTheme=function(e){Blockly.theme_=e,(e=Blockly.getMainWorkspace())&&Blockly.refreshTheme_(e)},Blockly.refreshTheme_=function(e){Blockly.updateBlockStyles_(e.getAllBlocks().filter((function(e){return void 0!==e.getStyleName()}))),!e.toolbox_&&e.flyout_&&e.flyout_.workspace_?Blockly.updateBlockStyles_(e.flyout_.workspace_.getAllBlocks()):e.refreshToolboxSelection(),e.toolbox_&&e.toolbox_.updateColourFromTheme();var t=new Blockly.Events.Ui(null,"theme");t.workspaceId=e.id,Blockly.Events.fire(t)},Blockly.updateBlockStyles_=function(e){for(var t,o=0;t=e[o];o++){var n=t.getStyleName();t.setStyle(n),t.mutator&&t.mutator.updateBlockStyle(n)}},Blockly.getTheme=function(){return Blockly.theme_},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.getMainWorkspace=Blockly.getMainWorkspace,Blockly.utils.global.Blockly.addChangeListener=Blockly.addChangeListener,Blockly.goog=goog,Blockly}()},function(e,t){var o={Msg:{}};e.exports=function(){"use strict";return o.Msg.ADD_COMMENT="Add Comment",o.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE="Can't delete the variable '%1' because it's part of the definition of the function '%2'",o.Msg.CHANGE_VALUE_TITLE="Change value:",o.Msg.CLEAN_UP="Clean up Blocks",o.Msg.COLLAPSED_WARNINGS_WARNING="Collapsed blocks contain warnings.",o.Msg.COLLAPSE_ALL="Collapse Blocks",o.Msg.COLLAPSE_BLOCK="Collapse Block",o.Msg.COLOUR_BLEND_COLOUR1="colour 1",o.Msg.COLOUR_BLEND_COLOUR2="colour 2",o.Msg.COLOUR_BLEND_HELPURL="https://meyerweb.com/eric/tools/color-blend/#:::rgbp",o.Msg.COLOUR_BLEND_RATIO="ratio",o.Msg.COLOUR_BLEND_TITLE="blend",o.Msg.COLOUR_BLEND_TOOLTIP="Blends two colours together with a given ratio (0.0 - 1.0).",o.Msg.COLOUR_PICKER_HELPURL="https://en.wikipedia.org/wiki/Color",o.Msg.COLOUR_PICKER_TOOLTIP="Choose a colour from the palette.",o.Msg.COLOUR_RANDOM_HELPURL="http://randomcolour.com",o.Msg.COLOUR_RANDOM_TITLE="random colour",o.Msg.COLOUR_RANDOM_TOOLTIP="Choose a colour at random.",o.Msg.COLOUR_RGB_BLUE="blue",o.Msg.COLOUR_RGB_GREEN="green",o.Msg.COLOUR_RGB_HELPURL="https://www.december.com/html/spec/colorpercompact.html",o.Msg.COLOUR_RGB_RED="red",o.Msg.COLOUR_RGB_TITLE="colour with",o.Msg.COLOUR_RGB_TOOLTIP="Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",o.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL="https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",o.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK="break out of loop",o.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE="continue with next iteration of loop",o.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK="Break out of the containing loop.",o.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE="Skip the rest of this loop, and continue with the next iteration.",o.Msg.CONTROLS_FLOW_STATEMENTS_WARNING="Warning: This block may only be used within a loop.",o.Msg.CONTROLS_FOREACH_HELPURL="https://github.com/google/blockly/wiki/Loops#for-each",o.Msg.CONTROLS_FOREACH_TITLE="for each item %1 in list %2",o.Msg.CONTROLS_FOREACH_TOOLTIP="For each item in a list, set the variable '%1' to the item, and then do some statements.",o.Msg.CONTROLS_FOR_HELPURL="https://github.com/google/blockly/wiki/Loops#count-with",o.Msg.CONTROLS_FOR_TITLE="count with %1 from %2 to %3 by %4",o.Msg.CONTROLS_FOR_TOOLTIP="Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.",o.Msg.CONTROLS_IF_ELSEIF_TOOLTIP="Add a condition to the if block.",o.Msg.CONTROLS_IF_ELSE_TOOLTIP="Add a final, catch-all condition to the if block.",o.Msg.CONTROLS_IF_HELPURL="https://github.com/google/blockly/wiki/IfElse",o.Msg.CONTROLS_IF_IF_TOOLTIP="Add, remove, or reorder sections to reconfigure this if block.",o.Msg.CONTROLS_IF_MSG_ELSE="else",o.Msg.CONTROLS_IF_MSG_ELSEIF="else if",o.Msg.CONTROLS_IF_MSG_IF="if",o.Msg.CONTROLS_IF_TOOLTIP_1="If a value is true, then do some statements.",o.Msg.CONTROLS_IF_TOOLTIP_2="If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",o.Msg.CONTROLS_IF_TOOLTIP_3="If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.",o.Msg.CONTROLS_IF_TOOLTIP_4="If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.",o.Msg.CONTROLS_REPEAT_HELPURL="https://en.wikipedia.org/wiki/For_loop",o.Msg.CONTROLS_REPEAT_INPUT_DO="do",o.Msg.CONTROLS_REPEAT_TITLE="repeat %1 times",o.Msg.CONTROLS_REPEAT_TOOLTIP="Do some statements several times.",o.Msg.CONTROLS_WHILEUNTIL_HELPURL="https://github.com/google/blockly/wiki/Loops#repeat",o.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL="repeat until",o.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE="repeat while",o.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL="While a value is false, then do some statements.",o.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE="While a value is true, then do some statements.",o.Msg.DELETE_ALL_BLOCKS="Delete all %1 blocks?",o.Msg.DELETE_BLOCK="Delete Block",o.Msg.DELETE_VARIABLE="Delete the '%1' variable",o.Msg.DELETE_VARIABLE_CONFIRMATION="Delete %1 uses of the '%2' variable?",o.Msg.DELETE_X_BLOCKS="Delete %1 Blocks",o.Msg.DISABLE_BLOCK="Disable Block",o.Msg.DUPLICATE_BLOCK="Duplicate",o.Msg.DUPLICATE_COMMENT="Duplicate Comment",o.Msg.ENABLE_BLOCK="Enable Block",o.Msg.EXPAND_ALL="Expand Blocks",o.Msg.EXPAND_BLOCK="Expand Block",o.Msg.EXTERNAL_INPUTS="External Inputs",o.Msg.HELP="Help",o.Msg.INLINE_INPUTS="Inline Inputs",o.Msg.IOS_CANCEL="Cancel",o.Msg.IOS_ERROR="Error",o.Msg.IOS_OK="OK",o.Msg.IOS_PROCEDURES_ADD_INPUT="+ Add Input",o.Msg.IOS_PROCEDURES_ALLOW_STATEMENTS="Allow statements",o.Msg.IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR="This function has duplicate inputs.",o.Msg.IOS_PROCEDURES_INPUTS="INPUTS",o.Msg.IOS_VARIABLES_ADD_BUTTON="Add",o.Msg.IOS_VARIABLES_ADD_VARIABLE="+ Add Variable",o.Msg.IOS_VARIABLES_DELETE_BUTTON="Delete",o.Msg.IOS_VARIABLES_EMPTY_NAME_ERROR="You can't use an empty variable name.",o.Msg.IOS_VARIABLES_RENAME_BUTTON="Rename",o.Msg.IOS_VARIABLES_VARIABLE_NAME="Variable name",o.Msg.LISTS_CREATE_EMPTY_HELPURL="https://github.com/google/blockly/wiki/Lists#create-empty-list",o.Msg.LISTS_CREATE_EMPTY_TITLE="create empty list",o.Msg.LISTS_CREATE_EMPTY_TOOLTIP="Returns a list, of length 0, containing no data records",o.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD="list",o.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP="Add, remove, or reorder sections to reconfigure this list block.",o.Msg.LISTS_CREATE_WITH_HELPURL="https://github.com/google/blockly/wiki/Lists#create-list-with",o.Msg.LISTS_CREATE_WITH_INPUT_WITH="create list with",o.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP="Add an item to the list.",o.Msg.LISTS_CREATE_WITH_TOOLTIP="Create a list with any number of items.",o.Msg.LISTS_GET_INDEX_FIRST="first",o.Msg.LISTS_GET_INDEX_FROM_END="# from end",o.Msg.LISTS_GET_INDEX_FROM_START="#",o.Msg.LISTS_GET_INDEX_GET="get",o.Msg.LISTS_GET_INDEX_GET_REMOVE="get and remove",o.Msg.LISTS_GET_INDEX_LAST="last",o.Msg.LISTS_GET_INDEX_RANDOM="random",o.Msg.LISTS_GET_INDEX_REMOVE="remove",o.Msg.LISTS_GET_INDEX_TAIL="",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST="Returns the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM="Returns the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST="Returns the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM="Returns a random item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST="Removes and returns the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM="Removes and returns the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST="Removes and returns the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM="Removes and returns a random item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST="Removes the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM="Removes the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST="Removes the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM="Removes a random item in a list.",o.Msg.LISTS_GET_SUBLIST_END_FROM_END="to # from end",o.Msg.LISTS_GET_SUBLIST_END_FROM_START="to #",o.Msg.LISTS_GET_SUBLIST_END_LAST="to last",o.Msg.LISTS_GET_SUBLIST_HELPURL="https://github.com/google/blockly/wiki/Lists#getting-a-sublist",o.Msg.LISTS_GET_SUBLIST_START_FIRST="get sub-list from first",o.Msg.LISTS_GET_SUBLIST_START_FROM_END="get sub-list from # from end",o.Msg.LISTS_GET_SUBLIST_START_FROM_START="get sub-list from #",o.Msg.LISTS_GET_SUBLIST_TAIL="",o.Msg.LISTS_GET_SUBLIST_TOOLTIP="Creates a copy of the specified portion of a list.",o.Msg.LISTS_INDEX_FROM_END_TOOLTIP="%1 is the last item.",o.Msg.LISTS_INDEX_FROM_START_TOOLTIP="%1 is the first item.",o.Msg.LISTS_INDEX_OF_FIRST="find first occurrence of item",o.Msg.LISTS_INDEX_OF_HELPURL="https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",o.Msg.LISTS_INDEX_OF_LAST="find last occurrence of item",o.Msg.LISTS_INDEX_OF_TOOLTIP="Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.",o.Msg.LISTS_INLIST="in list",o.Msg.LISTS_ISEMPTY_HELPURL="https://github.com/google/blockly/wiki/Lists#is-empty",o.Msg.LISTS_ISEMPTY_TITLE="%1 is empty",o.Msg.LISTS_ISEMPTY_TOOLTIP="Returns true if the list is empty.",o.Msg.LISTS_LENGTH_HELPURL="https://github.com/google/blockly/wiki/Lists#length-of",o.Msg.LISTS_LENGTH_TITLE="length of %1",o.Msg.LISTS_LENGTH_TOOLTIP="Returns the length of a list.",o.Msg.LISTS_REPEAT_HELPURL="https://github.com/google/blockly/wiki/Lists#create-list-with",o.Msg.LISTS_REPEAT_TITLE="create list with item %1 repeated %2 times",o.Msg.LISTS_REPEAT_TOOLTIP="Creates a list consisting of the given value repeated the specified number of times.",o.Msg.LISTS_REVERSE_HELPURL="https://github.com/google/blockly/wiki/Lists#reversing-a-list",o.Msg.LISTS_REVERSE_MESSAGE0="reverse %1",o.Msg.LISTS_REVERSE_TOOLTIP="Reverse a copy of a list.",o.Msg.LISTS_SET_INDEX_HELPURL="https://github.com/google/blockly/wiki/Lists#in-list--set",o.Msg.LISTS_SET_INDEX_INPUT_TO="as",o.Msg.LISTS_SET_INDEX_INSERT="insert at",o.Msg.LISTS_SET_INDEX_SET="set",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST="Inserts the item at the start of a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM="Inserts the item at the specified position in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST="Append the item to the end of a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM="Inserts the item randomly in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST="Sets the first item in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM="Sets the item at the specified position in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST="Sets the last item in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM="Sets a random item in a list.",o.Msg.LISTS_SORT_HELPURL="https://github.com/google/blockly/wiki/Lists#sorting-a-list",o.Msg.LISTS_SORT_ORDER_ASCENDING="ascending",o.Msg.LISTS_SORT_ORDER_DESCENDING="descending",o.Msg.LISTS_SORT_TITLE="sort %1 %2 %3",o.Msg.LISTS_SORT_TOOLTIP="Sort a copy of a list.",o.Msg.LISTS_SORT_TYPE_IGNORECASE="alphabetic, ignore case",o.Msg.LISTS_SORT_TYPE_NUMERIC="numeric",o.Msg.LISTS_SORT_TYPE_TEXT="alphabetic",o.Msg.LISTS_SPLIT_HELPURL="https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",o.Msg.LISTS_SPLIT_LIST_FROM_TEXT="make list from text",o.Msg.LISTS_SPLIT_TEXT_FROM_LIST="make text from list",o.Msg.LISTS_SPLIT_TOOLTIP_JOIN="Join a list of texts into one text, separated by a delimiter.",o.Msg.LISTS_SPLIT_TOOLTIP_SPLIT="Split text into a list of texts, breaking at each delimiter.",o.Msg.LISTS_SPLIT_WITH_DELIMITER="with delimiter",o.Msg.LOGIC_BOOLEAN_FALSE="false",o.Msg.LOGIC_BOOLEAN_HELPURL="https://github.com/google/blockly/wiki/Logic#values",o.Msg.LOGIC_BOOLEAN_TOOLTIP="Returns either true or false.",o.Msg.LOGIC_BOOLEAN_TRUE="true",o.Msg.LOGIC_COMPARE_HELPURL="https://en.wikipedia.org/wiki/Inequality_(mathematics)",o.Msg.LOGIC_COMPARE_TOOLTIP_EQ="Return true if both inputs equal each other.",o.Msg.LOGIC_COMPARE_TOOLTIP_GT="Return true if the first input is greater than the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_GTE="Return true if the first input is greater than or equal to the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_LT="Return true if the first input is smaller than the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_LTE="Return true if the first input is smaller than or equal to the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_NEQ="Return true if both inputs are not equal to each other.",o.Msg.LOGIC_NEGATE_HELPURL="https://github.com/google/blockly/wiki/Logic#not",o.Msg.LOGIC_NEGATE_TITLE="not %1",o.Msg.LOGIC_NEGATE_TOOLTIP="Returns true if the input is false. Returns false if the input is true.",o.Msg.LOGIC_NULL="null",o.Msg.LOGIC_NULL_HELPURL="https://en.wikipedia.org/wiki/Nullable_type",o.Msg.LOGIC_NULL_TOOLTIP="Returns null.",o.Msg.LOGIC_OPERATION_AND="and",o.Msg.LOGIC_OPERATION_HELPURL="https://github.com/google/blockly/wiki/Logic#logical-operations",o.Msg.LOGIC_OPERATION_OR="or",o.Msg.LOGIC_OPERATION_TOOLTIP_AND="Return true if both inputs are true.",o.Msg.LOGIC_OPERATION_TOOLTIP_OR="Return true if at least one of the inputs is true.",o.Msg.LOGIC_TERNARY_CONDITION="test",o.Msg.LOGIC_TERNARY_HELPURL="https://en.wikipedia.org/wiki/%3F:",o.Msg.LOGIC_TERNARY_IF_FALSE="if false",o.Msg.LOGIC_TERNARY_IF_TRUE="if true",o.Msg.LOGIC_TERNARY_TOOLTIP="Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",o.Msg.MATH_ADDITION_SYMBOL="+",o.Msg.MATH_ARITHMETIC_HELPURL="https://en.wikipedia.org/wiki/Arithmetic",o.Msg.MATH_ARITHMETIC_TOOLTIP_ADD="Return the sum of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE="Return the quotient of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS="Return the difference of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY="Return the product of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_POWER="Return the first number raised to the power of the second number.",o.Msg.MATH_ATAN2_HELPURL="https://en.wikipedia.org/wiki/Atan2",o.Msg.MATH_ATAN2_TITLE="atan2 of X:%1 Y:%2",o.Msg.MATH_ATAN2_TOOLTIP="Return the arctangent of point (X, Y) in degrees from -180 to 180.",o.Msg.MATH_CHANGE_HELPURL="https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",o.Msg.MATH_CHANGE_TITLE="change %1 by %2",o.Msg.MATH_CHANGE_TOOLTIP="Add a number to variable '%1'.",o.Msg.MATH_CONSTANT_HELPURL="https://en.wikipedia.org/wiki/Mathematical_constant",o.Msg.MATH_CONSTANT_TOOLTIP="Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).",o.Msg.MATH_CONSTRAIN_HELPURL="https://en.wikipedia.org/wiki/Clamping_(graphics)",o.Msg.MATH_CONSTRAIN_TITLE="constrain %1 low %2 high %3",o.Msg.MATH_CONSTRAIN_TOOLTIP="Constrain a number to be between the specified limits (inclusive).",o.Msg.MATH_DIVISION_SYMBOL="÷",o.Msg.MATH_IS_DIVISIBLE_BY="is divisible by",o.Msg.MATH_IS_EVEN="is even",o.Msg.MATH_IS_NEGATIVE="is negative",o.Msg.MATH_IS_ODD="is odd",o.Msg.MATH_IS_POSITIVE="is positive",o.Msg.MATH_IS_PRIME="is prime",o.Msg.MATH_IS_TOOLTIP="Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.",o.Msg.MATH_IS_WHOLE="is whole",o.Msg.MATH_MODULO_HELPURL="https://en.wikipedia.org/wiki/Modulo_operation",o.Msg.MATH_MODULO_TITLE="remainder of %1 ÷ %2",o.Msg.MATH_MODULO_TOOLTIP="Return the remainder from dividing the two numbers.",o.Msg.MATH_MULTIPLICATION_SYMBOL="×",o.Msg.MATH_NUMBER_HELPURL="https://en.wikipedia.org/wiki/Number",o.Msg.MATH_NUMBER_TOOLTIP="A number.",o.Msg.MATH_ONLIST_HELPURL="",o.Msg.MATH_ONLIST_OPERATOR_AVERAGE="average of list",o.Msg.MATH_ONLIST_OPERATOR_MAX="max of list",o.Msg.MATH_ONLIST_OPERATOR_MEDIAN="median of list",o.Msg.MATH_ONLIST_OPERATOR_MIN="min of list",o.Msg.MATH_ONLIST_OPERATOR_MODE="modes of list",o.Msg.MATH_ONLIST_OPERATOR_RANDOM="random item of list",o.Msg.MATH_ONLIST_OPERATOR_STD_DEV="standard deviation of list",o.Msg.MATH_ONLIST_OPERATOR_SUM="sum of list",o.Msg.MATH_ONLIST_TOOLTIP_AVERAGE="Return the average (arithmetic mean) of the numeric values in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MAX="Return the largest number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MEDIAN="Return the median number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MIN="Return the smallest number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MODE="Return a list of the most common item(s) in the list.",o.Msg.MATH_ONLIST_TOOLTIP_RANDOM="Return a random element from the list.",o.Msg.MATH_ONLIST_TOOLTIP_STD_DEV="Return the standard deviation of the list.",o.Msg.MATH_ONLIST_TOOLTIP_SUM="Return the sum of all the numbers in the list.",o.Msg.MATH_POWER_SYMBOL="^",o.Msg.MATH_RANDOM_FLOAT_HELPURL="https://en.wikipedia.org/wiki/Random_number_generation",o.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM="random fraction",o.Msg.MATH_RANDOM_FLOAT_TOOLTIP="Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",o.Msg.MATH_RANDOM_INT_HELPURL="https://en.wikipedia.org/wiki/Random_number_generation",o.Msg.MATH_RANDOM_INT_TITLE="random integer from %1 to %2",o.Msg.MATH_RANDOM_INT_TOOLTIP="Return a random integer between the two specified limits, inclusive.",o.Msg.MATH_ROUND_HELPURL="https://en.wikipedia.org/wiki/Rounding",o.Msg.MATH_ROUND_OPERATOR_ROUND="round",o.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN="round down",o.Msg.MATH_ROUND_OPERATOR_ROUNDUP="round up",o.Msg.MATH_ROUND_TOOLTIP="Round a number up or down.",o.Msg.MATH_SINGLE_HELPURL="https://en.wikipedia.org/wiki/Square_root",o.Msg.MATH_SINGLE_OP_ABSOLUTE="absolute",o.Msg.MATH_SINGLE_OP_ROOT="square root",o.Msg.MATH_SINGLE_TOOLTIP_ABS="Return the absolute value of a number.",o.Msg.MATH_SINGLE_TOOLTIP_EXP="Return e to the power of a number.",o.Msg.MATH_SINGLE_TOOLTIP_LN="Return the natural logarithm of a number.",o.Msg.MATH_SINGLE_TOOLTIP_LOG10="Return the base 10 logarithm of a number.",o.Msg.MATH_SINGLE_TOOLTIP_NEG="Return the negation of a number.",o.Msg.MATH_SINGLE_TOOLTIP_POW10="Return 10 to the power of a number.",o.Msg.MATH_SINGLE_TOOLTIP_ROOT="Return the square root of a number.",o.Msg.MATH_SUBTRACTION_SYMBOL="-",o.Msg.MATH_TRIG_ACOS="acos",o.Msg.MATH_TRIG_ASIN="asin",o.Msg.MATH_TRIG_ATAN="atan",o.Msg.MATH_TRIG_COS="cos",o.Msg.MATH_TRIG_HELPURL="https://en.wikipedia.org/wiki/Trigonometric_functions",o.Msg.MATH_TRIG_SIN="sin",o.Msg.MATH_TRIG_TAN="tan",o.Msg.MATH_TRIG_TOOLTIP_ACOS="Return the arccosine of a number.",o.Msg.MATH_TRIG_TOOLTIP_ASIN="Return the arcsine of a number.",o.Msg.MATH_TRIG_TOOLTIP_ATAN="Return the arctangent of a number.",o.Msg.MATH_TRIG_TOOLTIP_COS="Return the cosine of a degree (not radian).",o.Msg.MATH_TRIG_TOOLTIP_SIN="Return the sine of a degree (not radian).",o.Msg.MATH_TRIG_TOOLTIP_TAN="Return the tangent of a degree (not radian).",o.Msg.NEW_COLOUR_VARIABLE="Create colour variable...",o.Msg.NEW_NUMBER_VARIABLE="Create number variable...",o.Msg.NEW_STRING_VARIABLE="Create string variable...",o.Msg.NEW_VARIABLE="Create variable...",o.Msg.NEW_VARIABLE_TITLE="New variable name:",o.Msg.NEW_VARIABLE_TYPE_TITLE="New variable type:",o.Msg.ORDINAL_NUMBER_SUFFIX="",o.Msg.PROCEDURES_ALLOW_STATEMENTS="allow statements",o.Msg.PROCEDURES_BEFORE_PARAMS="with:",o.Msg.PROCEDURES_CALLNORETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_CALLNORETURN_TOOLTIP="Run the user-defined function '%1'.",o.Msg.PROCEDURES_CALLRETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_CALLRETURN_TOOLTIP="Run the user-defined function '%1' and use its output.",o.Msg.PROCEDURES_CALL_BEFORE_PARAMS="with:",o.Msg.PROCEDURES_CREATE_DO="Create '%1'",o.Msg.PROCEDURES_DEFNORETURN_COMMENT="Describe this function...",o.Msg.PROCEDURES_DEFNORETURN_DO="",o.Msg.PROCEDURES_DEFNORETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_DEFNORETURN_PROCEDURE="do something",o.Msg.PROCEDURES_DEFNORETURN_TITLE="to",o.Msg.PROCEDURES_DEFNORETURN_TOOLTIP="Creates a function with no output.",o.Msg.PROCEDURES_DEFRETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_DEFRETURN_RETURN="return",o.Msg.PROCEDURES_DEFRETURN_TOOLTIP="Creates a function with an output.",o.Msg.PROCEDURES_DEF_DUPLICATE_WARNING="Warning: This function has duplicate parameters.",o.Msg.PROCEDURES_HIGHLIGHT_DEF="Highlight function definition",o.Msg.PROCEDURES_IFRETURN_HELPURL="http://c2.com/cgi/wiki?GuardClause",o.Msg.PROCEDURES_IFRETURN_TOOLTIP="If a value is true, then return a second value.",o.Msg.PROCEDURES_IFRETURN_WARNING="Warning: This block may be used only within a function definition.",o.Msg.PROCEDURES_MUTATORARG_TITLE="input name:",o.Msg.PROCEDURES_MUTATORARG_TOOLTIP="Add an input to the function.",o.Msg.PROCEDURES_MUTATORCONTAINER_TITLE="inputs",o.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP="Add, remove, or reorder inputs to this function.",o.Msg.REDO="Redo",o.Msg.REMOVE_COMMENT="Remove Comment",o.Msg.RENAME_VARIABLE="Rename variable...",o.Msg.RENAME_VARIABLE_TITLE="Rename all '%1' variables to:",o.Msg.TEXT_APPEND_HELPURL="https://github.com/google/blockly/wiki/Text#text-modification",o.Msg.TEXT_APPEND_TITLE="to %1 append text %2",o.Msg.TEXT_APPEND_TOOLTIP="Append some text to variable '%1'.",o.Msg.TEXT_CHANGECASE_HELPURL="https://github.com/google/blockly/wiki/Text#adjusting-text-case",o.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE="to lower case",o.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE="to Title Case",o.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE="to UPPER CASE",o.Msg.TEXT_CHANGECASE_TOOLTIP="Return a copy of the text in a different case.",o.Msg.TEXT_CHARAT_FIRST="get first letter",o.Msg.TEXT_CHARAT_FROM_END="get letter # from end",o.Msg.TEXT_CHARAT_FROM_START="get letter #",o.Msg.TEXT_CHARAT_HELPURL="https://github.com/google/blockly/wiki/Text#extracting-text",o.Msg.TEXT_CHARAT_LAST="get last letter",o.Msg.TEXT_CHARAT_RANDOM="get random letter",o.Msg.TEXT_CHARAT_TAIL="",o.Msg.TEXT_CHARAT_TITLE="in text %1 %2",o.Msg.TEXT_CHARAT_TOOLTIP="Returns the letter at the specified position.",o.Msg.TEXT_COUNT_HELPURL="https://github.com/google/blockly/wiki/Text#counting-substrings",o.Msg.TEXT_COUNT_MESSAGE0="count %1 in %2",o.Msg.TEXT_COUNT_TOOLTIP="Count how many times some text occurs within some other text.",o.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP="Add an item to the text.",o.Msg.TEXT_CREATE_JOIN_TITLE_JOIN="join",o.Msg.TEXT_CREATE_JOIN_TOOLTIP="Add, remove, or reorder sections to reconfigure this text block.",o.Msg.TEXT_GET_SUBSTRING_END_FROM_END="to letter # from end",o.Msg.TEXT_GET_SUBSTRING_END_FROM_START="to letter #",o.Msg.TEXT_GET_SUBSTRING_END_LAST="to last letter",o.Msg.TEXT_GET_SUBSTRING_HELPURL="https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",o.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT="in text",o.Msg.TEXT_GET_SUBSTRING_START_FIRST="get substring from first letter",o.Msg.TEXT_GET_SUBSTRING_START_FROM_END="get substring from letter # from end",o.Msg.TEXT_GET_SUBSTRING_START_FROM_START="get substring from letter #",o.Msg.TEXT_GET_SUBSTRING_TAIL="",o.Msg.TEXT_GET_SUBSTRING_TOOLTIP="Returns a specified portion of the text.",o.Msg.TEXT_INDEXOF_HELPURL="https://github.com/google/blockly/wiki/Text#finding-text",o.Msg.TEXT_INDEXOF_OPERATOR_FIRST="find first occurrence of text",o.Msg.TEXT_INDEXOF_OPERATOR_LAST="find last occurrence of text",o.Msg.TEXT_INDEXOF_TITLE="in text %1 %2 %3",o.Msg.TEXT_INDEXOF_TOOLTIP="Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.",o.Msg.TEXT_ISEMPTY_HELPURL="https://github.com/google/blockly/wiki/Text#checking-for-empty-text",o.Msg.TEXT_ISEMPTY_TITLE="%1 is empty",o.Msg.TEXT_ISEMPTY_TOOLTIP="Returns true if the provided text is empty.",o.Msg.TEXT_JOIN_HELPURL="https://github.com/google/blockly/wiki/Text#text-creation",o.Msg.TEXT_JOIN_TITLE_CREATEWITH="create text with",o.Msg.TEXT_JOIN_TOOLTIP="Create a piece of text by joining together any number of items.",o.Msg.TEXT_LENGTH_HELPURL="https://github.com/google/blockly/wiki/Text#text-modification",o.Msg.TEXT_LENGTH_TITLE="length of %1",o.Msg.TEXT_LENGTH_TOOLTIP="Returns the number of letters (including spaces) in the provided text.",o.Msg.TEXT_PRINT_HELPURL="https://github.com/google/blockly/wiki/Text#printing-text",o.Msg.TEXT_PRINT_TITLE="print %1",o.Msg.TEXT_PRINT_TOOLTIP="Print the specified text, number or other value.",o.Msg.TEXT_PROMPT_HELPURL="https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",o.Msg.TEXT_PROMPT_TOOLTIP_NUMBER="Prompt for user for a number.",o.Msg.TEXT_PROMPT_TOOLTIP_TEXT="Prompt for user for some text.",o.Msg.TEXT_PROMPT_TYPE_NUMBER="prompt for number with message",o.Msg.TEXT_PROMPT_TYPE_TEXT="prompt for text with message",o.Msg.TEXT_REPLACE_HELPURL="https://github.com/google/blockly/wiki/Text#replacing-substrings",o.Msg.TEXT_REPLACE_MESSAGE0="replace %1 with %2 in %3",o.Msg.TEXT_REPLACE_TOOLTIP="Replace all occurances of some text within some other text.",o.Msg.TEXT_REVERSE_HELPURL="https://github.com/google/blockly/wiki/Text#reversing-text",o.Msg.TEXT_REVERSE_MESSAGE0="reverse %1",o.Msg.TEXT_REVERSE_TOOLTIP="Reverses the order of the characters in the text.",o.Msg.TEXT_TEXT_HELPURL="https://en.wikipedia.org/wiki/String_(computer_science)",o.Msg.TEXT_TEXT_TOOLTIP="A letter, word, or line of text.",o.Msg.TEXT_TRIM_HELPURL="https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",o.Msg.TEXT_TRIM_OPERATOR_BOTH="trim spaces from both sides of",o.Msg.TEXT_TRIM_OPERATOR_LEFT="trim spaces from left side of",o.Msg.TEXT_TRIM_OPERATOR_RIGHT="trim spaces from right side of",o.Msg.TEXT_TRIM_TOOLTIP="Return a copy of the text with spaces removed from one or both ends.",o.Msg.TODAY="Today",o.Msg.UNDO="Undo",o.Msg.VARIABLES_DEFAULT_NAME="item",o.Msg.VARIABLES_GET_CREATE_SET="Create 'set %1'",o.Msg.VARIABLES_GET_HELPURL="https://github.com/google/blockly/wiki/Variables#get",o.Msg.VARIABLES_GET_TOOLTIP="Returns the value of this variable.",o.Msg.VARIABLES_SET="set %1 to %2",o.Msg.VARIABLES_SET_CREATE_GET="Create 'get %1'",o.Msg.VARIABLES_SET_HELPURL="https://github.com/google/blockly/wiki/Variables#set",o.Msg.VARIABLES_SET_TOOLTIP="Sets this variable to be equal to the input.",o.Msg.VARIABLE_ALREADY_EXISTS="A variable named '%1' already exists.",o.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE="A variable named '%1' already exists for another type: '%2'.",o.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT="Say something...",o.Msg.CONTROLS_FOREACH_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_FOR_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=o.Msg.CONTROLS_IF_MSG_ELSEIF,o.Msg.CONTROLS_IF_ELSE_TITLE_ELSE=o.Msg.CONTROLS_IF_MSG_ELSE,o.Msg.CONTROLS_IF_IF_TITLE_IF=o.Msg.CONTROLS_IF_MSG_IF,o.Msg.CONTROLS_IF_MSG_THEN=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_WHILEUNTIL_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.LISTS_CREATE_WITH_ITEM_TITLE=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.LISTS_GET_INDEX_HELPURL=o.Msg.LISTS_INDEX_OF_HELPURL,o.Msg.LISTS_GET_INDEX_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_INDEX_OF_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_SET_INDEX_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.MATH_CHANGE_TITLE_ITEM=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.PROCEDURES_DEFRETURN_COMMENT=o.Msg.PROCEDURES_DEFNORETURN_COMMENT,o.Msg.PROCEDURES_DEFRETURN_DO=o.Msg.PROCEDURES_DEFNORETURN_DO,o.Msg.PROCEDURES_DEFRETURN_PROCEDURE=o.Msg.PROCEDURES_DEFNORETURN_PROCEDURE,o.Msg.PROCEDURES_DEFRETURN_TITLE=o.Msg.PROCEDURES_DEFNORETURN_TITLE,o.Msg.TEXT_APPEND_VARIABLE=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.MATH_HUE="230",o.Msg.LOOPS_HUE="120",o.Msg.LISTS_HUE="260",o.Msg.LOGIC_HUE="210",o.Msg.VARIABLES_HUE="330",o.Msg.TEXTS_HUE="160",o.Msg.PROCEDURES_HUE="290",o.Msg.COLOUR_HUE="20",o.Msg.VARIABLES_DYNAMIC_HUE="310",o.Msg}},function(e,t){e.exports=function(e){return e.Blocks={},e.Blocks.colour={},e.Constants={},e.Constants.Colour={},e.Constants.Colour.HUE=20,e.defineBlocksWithJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"},{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"},{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}]),e.Blocks.lists={},e.Constants.Lists={},e.Constants.Lists.HUE=260,e.defineBlocksWithJsonArray([{type:"lists_create_empty",message0:"%{BKY_LISTS_CREATE_EMPTY_TITLE}",output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_CREATE_EMPTY_HELPURL}"},{type:"lists_repeat",message0:"%{BKY_LISTS_REPEAT_TITLE}",args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"NUM",check:"Number"}],output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_LISTS_REPEAT_HELPURL}"},{type:"lists_reverse",message0:"%{BKY_LISTS_REVERSE_MESSAGE0}",args0:[{type:"input_value",name:"LIST",check:"Array"}],output:"Array",inputsInline:!0,style:"list_blocks",tooltip:"%{BKY_LISTS_REVERSE_TOOLTIP}",helpUrl:"%{BKY_LISTS_REVERSE_HELPURL}"},{type:"lists_isEmpty",message0:"%{BKY_LISTS_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"list_blocks",tooltip:"%{BKY_LISTS_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_ISEMPTY_HELPURL}"},{type:"lists_length",message0:"%{BKY_LISTS_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"list_blocks",tooltip:"%{BKY_LISTS_LENGTH_TOOLTIP}",helpUrl:"%{BKY_LISTS_LENGTH_HELPURL}"}]),e.Blocks.lists_create_with={init:function(){this.setHelpUrl(e.Msg.LISTS_CREATE_WITH_HELPURL),this.setStyle("list_blocks"),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Array"),this.setMutator(new e.Mutator(["lists_create_with_item"])),this.setTooltip(e.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var o=t.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var i=e.newBlock("lists_create_with_item");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return t},compose:function(t){var o=t.getInputTargetBlock("STACK");for(t=[];o;)t.push(o.valueConnection_),o=o.nextConnection&&o.nextConnection.targetBlock();for(o=0;o<this.itemCount_;o++){var n=this.getInput("ADD"+o).connection.targetConnection;n&&-1==t.indexOf(n)&&n.disconnect()}for(this.itemCount_=t.length,this.updateShape_(),o=0;o<this.itemCount_;o++)e.Mutator.reconnect(t[o],this,"ADD"+o)},saveConnections:function(e){e=e.getInputTargetBlock("STACK");for(var t=0;e;){var o=this.getInput("ADD"+t);e.valueConnection_=o&&o.connection.targetConnection,t++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(e.Msg.LISTS_CREATE_EMPTY_TITLE);for(var t=0;t<this.itemCount_;t++)if(!this.getInput("ADD"+t)){var o=this.appendValueInput("ADD"+t);0==t&&o.appendField(e.Msg.LISTS_CREATE_WITH_INPUT_WITH)}for(;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++}},e.Blocks.lists_create_with_container={init:function(){this.setStyle("list_blocks"),this.appendDummyInput().appendField(e.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(e.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},e.Blocks.lists_create_with_item={init:function(){this.setStyle("list_blocks"),this.appendDummyInput().appendField(e.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(e.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},e.Blocks.lists_indexOf={init:function(){var t=[[e.Msg.LISTS_INDEX_OF_FIRST,"FIRST"],[e.Msg.LISTS_INDEX_OF_LAST,"LAST"]];this.setHelpUrl(e.Msg.LISTS_INDEX_OF_HELPURL),this.setStyle("list_blocks"),this.setOutput(!0,"Number"),this.appendValueInput("VALUE").setCheck("Array").appendField(e.Msg.LISTS_INDEX_OF_INPUT_IN_LIST),this.appendValueInput("FIND").appendField(new e.FieldDropdown(t),"END"),this.setInputsInline(!0);var o=this;this.setTooltip((function(){return e.Msg.LISTS_INDEX_OF_TOOLTIP.replace("%1",o.workspace.options.oneBasedIndex?"0":"-1")}))}},e.Blocks.lists_getIndex={init:function(){var t=[[e.Msg.LISTS_GET_INDEX_GET,"GET"],[e.Msg.LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[e.Msg.LISTS_GET_INDEX_REMOVE,"REMOVE"]];this.WHERE_OPTIONS=[[e.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[e.Msg.LISTS_GET_INDEX_LAST,"LAST"],[e.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]],this.setHelpUrl(e.Msg.LISTS_GET_INDEX_HELPURL),this.setStyle("list_blocks"),t=new e.FieldDropdown(t,(function(e){e="REMOVE"==e,this.getSourceBlock().updateStatement_(e)})),this.appendValueInput("VALUE").setCheck("Array").appendField(e.Msg.LISTS_GET_INDEX_INPUT_IN_LIST),this.appendDummyInput().appendField(t,"MODE").appendField("","SPACE"),this.appendDummyInput("AT"),e.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var o=this;this.setTooltip((function(){var t=o.getFieldValue("MODE"),n=o.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case"GET LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case"GET RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case"GET_REMOVE LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case"GET_REMOVE RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case"REMOVE FROM_START":case"REMOVE FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case"REMOVE FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case"REMOVE LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case"REMOVE RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+="  "+("FROM_START"==n?e.Msg.LISTS_INDEX_FROM_START_TOOLTIP:e.Msg.LISTS_INDEX_FROM_END_TOOLTIP).replace("%1",o.workspace.options.oneBasedIndex?"#1":"#0")),i}))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var o=this.getInput("AT").type==e.INPUT_VALUE;return t.setAttribute("at",o),t},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var o=new e.FieldDropdown(this.WHERE_OPTIONS,(function(e){var o="FROM_START"==e||"FROM_END"==e;if(o!=t){var n=this.getSourceBlock();return n.updateAt_(o),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(o,"WHERE"),e.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},e.Blocks.lists_setIndex={init:function(){var t=[[e.Msg.LISTS_SET_INDEX_SET,"SET"],[e.Msg.LISTS_SET_INDEX_INSERT,"INSERT"]];this.WHERE_OPTIONS=[[e.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[e.Msg.LISTS_GET_INDEX_LAST,"LAST"],[e.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]],this.setHelpUrl(e.Msg.LISTS_SET_INDEX_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("LIST").setCheck("Array").appendField(e.Msg.LISTS_SET_INDEX_INPUT_IN_LIST),this.appendDummyInput().appendField(new e.FieldDropdown(t),"MODE").appendField("","SPACE"),this.appendDummyInput("AT"),this.appendValueInput("TO").appendField(e.Msg.LISTS_SET_INDEX_INPUT_TO),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(e.Msg.LISTS_SET_INDEX_TOOLTIP),this.updateAt_(!0);var o=this;this.setTooltip((function(){var t=o.getFieldValue("MODE"),n=o.getFieldValue("WHERE"),i="";switch(t+" "+n){case"SET FROM_START":case"SET FROM_END":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case"SET FIRST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case"SET LAST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case"SET RANDOM":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case"INSERT FROM_START":case"INSERT FROM_END":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case"INSERT FIRST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case"INSERT LAST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;break;case"INSERT RANDOM":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+="  "+e.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",o.workspace.options.oneBasedIndex?"#1":"#0")),i}))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT").type==e.INPUT_VALUE;return t.setAttribute("at",o),t},domToMutation:function(e){e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var o=new e.FieldDropdown(this.WHERE_OPTIONS,(function(e){var o="FROM_START"==e||"FROM_END"==e;if(o!=t){var n=this.getSourceBlock();return n.updateAt_(o),n.setFieldValue(e,"WHERE"),null}}));this.moveInputBefore("AT","TO"),this.getInput("ORDINAL")&&this.moveInputBefore("ORDINAL","TO"),this.getInput("AT").appendField(o,"WHERE")}},e.Blocks.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[e.Msg.LISTS_GET_SUBLIST_START_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_SUBLIST_START_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[e.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(e.Msg.LISTS_GET_SUBLIST_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("LIST").setCheck("Array").appendField(e.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),e.Msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.LISTS_GET_SUBLIST_TAIL),this.setInputsInline(!0),this.setOutput(!0,"Array"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(e.Msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT1").type==e.INPUT_VALUE;return t.setAttribute("at1",o),o=this.getInput("AT2").type==e.INPUT_VALUE,t.setAttribute("at2",o),t},domToMutation:function(e){var t="true"==e.getAttribute("at1");e="true"==e.getAttribute("at2"),this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(t,o){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),o?(this.appendValueInput("AT"+t).setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+t).appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+t);var n=new e.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=o){var i=this.getSourceBlock();return i.updateAt_(t,n),i.setFieldValue(e,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2")),e.Msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore("TAIL",null)}},e.Blocks.lists_sort={init:function(){this.jsonInit({message0:e.Msg.LISTS_SORT_TITLE,args0:[{type:"field_dropdown",name:"TYPE",options:[[e.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[e.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[e.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[e.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[e.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Array",style:"list_blocks",tooltip:e.Msg.LISTS_SORT_TOOLTIP,helpUrl:e.Msg.LISTS_SORT_HELPURL})}},e.Blocks.lists_split={init:function(){var t=this,o=new e.FieldDropdown([[e.Msg.LISTS_SPLIT_LIST_FROM_TEXT,"SPLIT"],[e.Msg.LISTS_SPLIT_TEXT_FROM_LIST,"JOIN"]],(function(e){t.updateType_(e)}));this.setHelpUrl(e.Msg.LISTS_SPLIT_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("INPUT").setCheck("String").appendField(o,"MODE"),this.appendValueInput("DELIM").setCheck("String").appendField(e.Msg.LISTS_SPLIT_WITH_DELIMITER),this.setInputsInline(!0),this.setOutput(!0,"Array"),this.setTooltip((function(){var o=t.getFieldValue("MODE");if("SPLIT"==o)return e.Msg.LISTS_SPLIT_TOOLTIP_SPLIT;if("JOIN"==o)return e.Msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error("Unknown mode: "+o)}))},updateType_:function(e){if(this.getFieldValue("MODE")!=e){var t=this.getInput("INPUT").connection;t.setShadowDom(null);var o=t.targetBlock();o&&(t.disconnect(),o.isShadow()?o.dispose():this.bumpNeighbours_())}"SPLIT"==e?(this.outputConnection.setCheck("Array"),this.getInput("INPUT").setCheck("String")):(this.outputConnection.setCheck("String"),this.getInput("INPUT").setCheck("Array"))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("mode",this.getFieldValue("MODE")),t},domToMutation:function(e){this.updateType_(e.getAttribute("mode"))}},e.Blocks.logic={},e.Constants.Logic={},e.Constants.Logic.HUE=210,e.defineBlocksWithJsonArray([{type:"logic_boolean",message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[["%{BKY_LOGIC_BOOLEAN_TRUE}","TRUE"],["%{BKY_LOGIC_BOOLEAN_FALSE}","FALSE"]]}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_BOOLEAN_TOOLTIP}",helpUrl:"%{BKY_LOGIC_BOOLEAN_HELPURL}"},{type:"controls_if",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],previousStatement:null,nextStatement:null,style:"logic_blocks",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",mutator:"controls_if_mutator",extensions:["controls_if_tooltip"]},{type:"controls_ifelse",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],message2:"%{BKY_CONTROLS_IF_MSG_ELSE} %1",args2:[{type:"input_statement",name:"ELSE"}],previousStatement:null,nextStatement:null,style:"logic_blocks",tooltip:"%{BKYCONTROLS_IF_TOOLTIP_2}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",extensions:["controls_if_tooltip"]},{type:"logic_compare",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A"},{type:"field_dropdown",name:"OP",options:[["=","EQ"],["≠","NEQ"],["‏<","LT"],["‏≤","LTE"],["‏>","GT"],["‏≥","GTE"]]},{type:"input_value",name:"B"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_COMPARE_HELPURL}",extensions:["logic_compare","logic_op_tooltip"]},{type:"logic_operation",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Boolean"},{type:"field_dropdown",name:"OP",options:[["%{BKY_LOGIC_OPERATION_AND}","AND"],["%{BKY_LOGIC_OPERATION_OR}","OR"]]},{type:"input_value",name:"B",check:"Boolean"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_OPERATION_HELPURL}",extensions:["logic_op_tooltip"]},{type:"logic_negate",message0:"%{BKY_LOGIC_NEGATE_TITLE}",args0:[{type:"input_value",name:"BOOL",check:"Boolean"}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_NEGATE_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NEGATE_HELPURL}"},{type:"logic_null",message0:"%{BKY_LOGIC_NULL}",output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_NULL_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NULL_HELPURL}"},{type:"logic_ternary",message0:"%{BKY_LOGIC_TERNARY_CONDITION} %1",args0:[{type:"input_value",name:"IF",check:"Boolean"}],message1:"%{BKY_LOGIC_TERNARY_IF_TRUE} %1",args1:[{type:"input_value",name:"THEN"}],message2:"%{BKY_LOGIC_TERNARY_IF_FALSE} %1",args2:[{type:"input_value",name:"ELSE"}],output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_TERNARY_TOOLTIP}",helpUrl:"%{BKY_LOGIC_TERNARY_HELPURL}",extensions:["logic_ternary"]}]),e.defineBlocksWithJsonArray([{type:"controls_if_if",message0:"%{BKY_CONTROLS_IF_IF_TITLE_IF}",nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_IF_TOOLTIP}"},{type:"controls_if_elseif",message0:"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}",previousStatement:null,nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}"},{type:"controls_if_else",message0:"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}",previousStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}"}]),e.Constants.Logic.TOOLTIPS_BY_OP={EQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}",NEQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}",LT:"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}",LTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}",GT:"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}",GTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}",AND:"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}",OR:"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}"},e.Extensions.register("logic_op_tooltip",e.Extensions.buildTooltipForDropdown("OP",e.Constants.Logic.TOOLTIPS_BY_OP)),e.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN={elseifCount_:0,elseCount_:0,suppressPrefixSuffix:!0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=e.utils.xml.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(e){this.elseifCount_=parseInt(e.getAttribute("elseif"),10)||0,this.elseCount_=parseInt(e.getAttribute("else"),10)||0,this.rebuildShape_()},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var o=t.nextConnection,n=1;n<=this.elseifCount_;n++){var i=e.newBlock("controls_if_elseif");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return this.elseCount_&&((e=e.newBlock("controls_if_else")).initSvg(),o.connect(e.previousConnection)),t},compose:function(e){e=e.nextConnection.targetBlock(),this.elseCount_=this.elseifCount_=0;for(var t=[null],o=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),o.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw TypeError("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,o,n)},saveConnections:function(e){e=e.nextConnection.targetBlock();for(var t=1;e;){switch(e.type){case"controls_if_elseif":var o=this.getInput("IF"+t),n=this.getInput("DO"+t);e.valueConnection_=o&&o.connection.targetConnection,e.statementConnection_=n&&n.connection.targetConnection,t++;break;case"controls_if_else":n=this.getInput("ELSE"),e.statementConnection_=n&&n.connection.targetConnection;break;default:throw TypeError("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],o=null;this.getInput("ELSE")&&(o=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var i=this.getInput("IF"+n),r=this.getInput("DO"+n);e.push(i.connection.targetConnection),t.push(r.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,o)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck("Boolean").appendField(e.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(e.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(e.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,o,n){for(var i=1;i<=this.elseifCount_;i++)e.Mutator.reconnect(t[i],this,"IF"+i),e.Mutator.reconnect(o[i],this,"DO"+i);e.Mutator.reconnect(n,this,"ELSE")}},e.Extensions.registerMutator("controls_if_mutator",e.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN,null,["controls_if_elseif","controls_if_else"]),e.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION=function(){this.setTooltip(function(){return this.elseifCount_||this.elseCount_?!this.elseifCount_&&this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_2:this.elseifCount_&&!this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_3:this.elseifCount_&&this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_4:"":e.Msg.CONTROLS_IF_TOOLTIP_1}.bind(this))},e.Extensions.register("controls_if_tooltip",e.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION),e.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN={onchange:function(t){this.prevBlocks_||(this.prevBlocks_=[null,null]);var o=this.getInputTargetBlock("A"),n=this.getInputTargetBlock("B");o&&n&&!o.outputConnection.checkType_(n.outputConnection)&&(e.Events.setGroup(t.group),(t=this.prevBlocks_[0])!==o&&(o.unplug(),t&&!t.isShadow()&&this.getInput("A").connection.connect(t.outputConnection)),(o=this.prevBlocks_[1])!==n&&(n.unplug(),o&&!o.isShadow()&&this.getInput("B").connection.connect(o.outputConnection)),this.bumpNeighbours_(),e.Events.setGroup(!1)),this.prevBlocks_[0]=this.getInputTargetBlock("A"),this.prevBlocks_[1]=this.getInputTargetBlock("B")}},e.Constants.Logic.LOGIC_COMPARE_EXTENSION=function(){this.mixin(e.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN)},e.Extensions.register("logic_compare",e.Constants.Logic.LOGIC_COMPARE_EXTENSION),e.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN={prevParentConnection_:null,onchange:function(t){var o=this.getInputTargetBlock("THEN"),n=this.getInputTargetBlock("ELSE"),i=this.outputConnection.targetConnection;if((o||n)&&i)for(var r=0;2>r;r++){var s=1==r?o:n;s&&!s.outputConnection.checkType_(i)&&(e.Events.setGroup(t.group),i===this.prevParentConnection_?(this.unplug(),i.getSourceBlock().bumpNeighbours_()):(s.unplug(),s.bumpNeighbours_()),e.Events.setGroup(!1))}this.prevParentConnection_=i}},e.Extensions.registerMixin("logic_ternary",e.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN),e.Blocks.loops={},e.Constants.Loops={},e.Constants.Loops.HUE=120,e.defineBlocksWithJsonArray([{type:"controls_repeat_ext",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"input_value",name:"TIMES",check:"Number"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_repeat",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"field_number",name:"TIMES",value:10,min:0,precision:1}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_whileUntil",message0:"%1 %2",args0:[{type:"field_dropdown",name:"MODE",options:[["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}","WHILE"],["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}","UNTIL"]]},{type:"input_value",name:"BOOL",check:"Boolean"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}",extensions:["controls_whileUntil_tooltip"]},{type:"controls_for",message0:"%{BKY_CONTROLS_FOR_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",align:"RIGHT"},{type:"input_value",name:"BY",check:"Number",align:"RIGHT"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],inputsInline:!0,previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOR_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_for_tooltip"]},{type:"controls_forEach",message0:"%{BKY_CONTROLS_FOREACH_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",check:"Array"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOREACH_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_forEach_tooltip"]},{type:"controls_flow_statements",message0:"%1",args0:[{type:"field_dropdown",name:"FLOW",options:[["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}","BREAK"],["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}","CONTINUE"]]}],previousStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}",extensions:["controls_flow_tooltip","controls_flow_in_loop_check"]}]),e.Constants.Loops.WHILE_UNTIL_TOOLTIPS={WHILE:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}",UNTIL:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}"},e.Extensions.register("controls_whileUntil_tooltip",e.Extensions.buildTooltipForDropdown("MODE",e.Constants.Loops.WHILE_UNTIL_TOOLTIPS)),e.Constants.Loops.BREAK_CONTINUE_TOOLTIPS={BREAK:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}",CONTINUE:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}"},e.Extensions.register("controls_flow_tooltip",e.Extensions.buildTooltipForDropdown("FLOW",e.Constants.Loops.BREAK_CONTINUE_TOOLTIPS)),e.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN={customContextMenu:function(t){if(!this.isInFlyout){var o=this.getField("VAR").getVariable(),n=o.name;if(!this.isCollapsed()&&null!=n){var i={enabled:!0};i.text=e.Msg.VARIABLES_SET_CREATE_GET.replace("%1",n),o=e.Variables.generateVariableFieldDom(o),(n=e.utils.xml.createElement("block")).setAttribute("type","variables_get"),n.appendChild(o),i.callback=e.ContextMenu.callbackFactory(this,n),t.push(i)}}}},e.Extensions.registerMixin("contextMenu_newGetVariableBlock",e.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN),e.Extensions.register("controls_for_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOR_TOOLTIP}","VAR")),e.Extensions.register("controls_forEach_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOREACH_TOOLTIP}","VAR")),e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN={LOOP_TYPES:["controls_repeat","controls_repeat_ext","controls_forEach","controls_for","controls_whileUntil"],suppressPrefixSuffix:!0,getSurroundLoop:function(t){do{if(-1!=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.LOOP_TYPES.indexOf(t.type))return t;t=t.getSurroundParent()}while(t);return null},onchange:function(t){this.workspace.isDragging&&!this.workspace.isDragging()&&(e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(this)?(this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(e.Msg.CONTROLS_FLOW_STATEMENTS_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1)))}},e.Extensions.registerMixin("controls_flow_in_loop_check",e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN),e.Blocks.math={},e.Constants.Math={},e.Constants.Math.HUE=230,e.defineBlocksWithJsonArray([{type:"math_number",message0:"%1",args0:[{type:"field_number",name:"NUM",value:0}],output:"Number",helpUrl:"%{BKY_MATH_NUMBER_HELPURL}",style:"math_blocks",tooltip:"%{BKY_MATH_NUMBER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"math_arithmetic",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Number"},{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ADDITION_SYMBOL}","ADD"],["%{BKY_MATH_SUBTRACTION_SYMBOL}","MINUS"],["%{BKY_MATH_MULTIPLICATION_SYMBOL}","MULTIPLY"],["%{BKY_MATH_DIVISION_SYMBOL}","DIVIDE"],["%{BKY_MATH_POWER_SYMBOL}","POWER"]]},{type:"input_value",name:"B",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ARITHMETIC_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_single",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_SINGLE_OP_ROOT}","ROOT"],["%{BKY_MATH_SINGLE_OP_ABSOLUTE}","ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_SINGLE_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_trig",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_TRIG_SIN}","SIN"],["%{BKY_MATH_TRIG_COS}","COS"],["%{BKY_MATH_TRIG_TAN}","TAN"],["%{BKY_MATH_TRIG_ASIN}","ASIN"],["%{BKY_MATH_TRIG_ACOS}","ACOS"],["%{BKY_MATH_TRIG_ATAN}","ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_TRIG_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_constant",message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["π","PI"],["e","E"],["φ","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(½)","SQRT1_2"],["∞","INFINITY"]]}],output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTANT_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTANT_HELPURL}"},{type:"math_number_property",message0:"%1 %2",args0:[{type:"input_value",name:"NUMBER_TO_CHECK",check:"Number"},{type:"field_dropdown",name:"PROPERTY",options:[["%{BKY_MATH_IS_EVEN}","EVEN"],["%{BKY_MATH_IS_ODD}","ODD"],["%{BKY_MATH_IS_PRIME}","PRIME"],["%{BKY_MATH_IS_WHOLE}","WHOLE"],["%{BKY_MATH_IS_POSITIVE}","POSITIVE"],["%{BKY_MATH_IS_NEGATIVE}","NEGATIVE"],["%{BKY_MATH_IS_DIVISIBLE_BY}","DIVISIBLE_BY"]]}],inputsInline:!0,output:"Boolean",style:"math_blocks",tooltip:"%{BKY_MATH_IS_TOOLTIP}",mutator:"math_is_divisibleby_mutator"},{type:"math_change",message0:"%{BKY_MATH_CHANGE_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_MATH_CHANGE_TITLE_ITEM}"},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,style:"variable_blocks",helpUrl:"%{BKY_MATH_CHANGE_HELPURL}",extensions:["math_change_tooltip"]},{type:"math_round",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ROUND_OPERATOR_ROUND}","ROUND"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}","ROUNDUP"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}","ROUNDDOWN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ROUND_HELPURL}",tooltip:"%{BKY_MATH_ROUND_TOOLTIP}"},{type:"math_on_list",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ONLIST_OPERATOR_SUM}","SUM"],["%{BKY_MATH_ONLIST_OPERATOR_MIN}","MIN"],["%{BKY_MATH_ONLIST_OPERATOR_MAX}","MAX"],["%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}","AVERAGE"],["%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}","MEDIAN"],["%{BKY_MATH_ONLIST_OPERATOR_MODE}","MODE"],["%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}","STD_DEV"],["%{BKY_MATH_ONLIST_OPERATOR_RANDOM}","RANDOM"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ONLIST_HELPURL}",mutator:"math_modes_of_list_mutator",extensions:["math_op_tooltip"]},{type:"math_modulo",message0:"%{BKY_MATH_MODULO_TITLE}",args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_MODULO_TOOLTIP}",helpUrl:"%{BKY_MATH_MODULO_HELPURL}"},{type:"math_constrain",message0:"%{BKY_MATH_CONSTRAIN_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTRAIN_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTRAIN_HELPURL}"},{type:"math_random_int",message0:"%{BKY_MATH_RANDOM_INT_TITLE}",args0:[{type:"input_value",name:"FROM",check:"Number"},{type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_INT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_INT_HELPURL}"},{type:"math_random_float",message0:"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}",output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_FLOAT_HELPURL}"},{type:"math_atan2",message0:"%{BKY_MATH_ATAN2_TITLE}",args0:[{type:"input_value",name:"X",check:"Number"},{type:"input_value",name:"Y",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_ATAN2_TOOLTIP}",helpUrl:"%{BKY_MATH_ATAN2_HELPURL}"}]),e.Constants.Math.TOOLTIPS_BY_OP={ADD:"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}",MINUS:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}",MULTIPLY:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}",DIVIDE:"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}",POWER:"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}",ROOT:"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}",ABS:"%{BKY_MATH_SINGLE_TOOLTIP_ABS}",NEG:"%{BKY_MATH_SINGLE_TOOLTIP_NEG}",LN:"%{BKY_MATH_SINGLE_TOOLTIP_LN}",LOG10:"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}",EXP:"%{BKY_MATH_SINGLE_TOOLTIP_EXP}",POW10:"%{BKY_MATH_SINGLE_TOOLTIP_POW10}",SIN:"%{BKY_MATH_TRIG_TOOLTIP_SIN}",COS:"%{BKY_MATH_TRIG_TOOLTIP_COS}",TAN:"%{BKY_MATH_TRIG_TOOLTIP_TAN}",ASIN:"%{BKY_MATH_TRIG_TOOLTIP_ASIN}",ACOS:"%{BKY_MATH_TRIG_TOOLTIP_ACOS}",ATAN:"%{BKY_MATH_TRIG_TOOLTIP_ATAN}",SUM:"%{BKY_MATH_ONLIST_TOOLTIP_SUM}",MIN:"%{BKY_MATH_ONLIST_TOOLTIP_MIN}",MAX:"%{BKY_MATH_ONLIST_TOOLTIP_MAX}",AVERAGE:"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}",MEDIAN:"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}",MODE:"%{BKY_MATH_ONLIST_TOOLTIP_MODE}",STD_DEV:"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}",RANDOM:"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}"},e.Extensions.register("math_op_tooltip",e.Extensions.buildTooltipForDropdown("OP",e.Constants.Math.TOOLTIPS_BY_OP)),e.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");return t.setAttribute("divisor_input",o),t},domToMutation:function(e){e="true"==e.getAttribute("divisor_input"),this.updateShape_(e)},updateShape_:function(e){var t=this.getInput("DIVISOR");e?t||this.appendValueInput("DIVISOR").setCheck("Number"):t&&this.removeInput("DIVISOR")}},e.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION=function(){this.getField("PROPERTY").setValidator((function(e){e="DIVISIBLE_BY"==e,this.getSourceBlock().updateShape_(e)}))},e.Extensions.registerMutator("math_is_divisibleby_mutator",e.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN,e.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION),e.Extensions.register("math_change_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_MATH_CHANGE_TOOLTIP}","VAR")),e.Constants.Math.LIST_MODES_MUTATOR_MIXIN={updateType_:function(e){"MODE"==e?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("op",this.getFieldValue("OP")),t},domToMutation:function(e){this.updateType_(e.getAttribute("op"))}},e.Constants.Math.LIST_MODES_MUTATOR_EXTENSION=function(){this.getField("OP").setValidator(function(e){this.updateType_(e)}.bind(this))},e.Extensions.registerMutator("math_modes_of_list_mutator",e.Constants.Math.LIST_MODES_MUTATOR_MIXIN,e.Constants.Math.LIST_MODES_MUTATOR_EXTENSION),e.Blocks.procedures={},e.Blocks.procedures_defnoreturn={init:function(){var t=new e.FieldTextInput("",e.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(e.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new e.Mutator(["procedures_mutatorarg"])),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&e.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(e.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(e.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=e.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),e.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{e.Events.enable()}},mutationToDom:function(t){var o=e.utils.xml.createElement("mutation");t&&o.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n<this.argumentVarModels_.length;n++){var i=e.utils.xml.createElement("arg"),r=this.argumentVarModels_[n];i.setAttribute("name",r.name),i.setAttribute("varid",r.getId()),t&&this.paramIds_&&i.setAttribute("paramId",this.paramIds_[n]),o.appendChild(i)}return this.hasStatements_||o.setAttribute("statements","false"),o},domToMutation:function(t){this.arguments_=[],this.argumentVarModels_=[];for(var o,n=0;o=t.childNodes[n];n++)if("arg"==o.nodeName.toLowerCase()){var i=o.getAttribute("name");o=o.getAttribute("varid")||o.getAttribute("varId"),this.arguments_.push(i),null!=(o=e.Variables.getOrCreateVariablePackage(this.workspace,o,i,""))?this.argumentVarModels_.push(o):console.log("Failed to create a variable with name "+i+", ignoring.")}this.updateParams_(),e.Procedures.mutateCallers(this),this.setStatements_("false"!==t.getAttribute("statements"))},decompose:function(t){var o=e.utils.xml.createElement("block");o.setAttribute("type","procedures_mutatorcontainer");var n=e.utils.xml.createElement("statement");n.setAttribute("name","STACK"),o.appendChild(n);for(var i=0;i<this.arguments_.length;i++){var r=e.utils.xml.createElement("block");r.setAttribute("type","procedures_mutatorarg");var s=e.utils.xml.createElement("field");s.setAttribute("name","NAME");var a=e.utils.xml.createTextNode(this.arguments_[i]);s.appendChild(a),r.appendChild(s),s=e.utils.xml.createElement("next"),r.appendChild(s),n.appendChild(r),n=s}return t=e.Xml.domToBlock(o,t),"procedures_defreturn"==this.type?t.setFieldValue(this.hasStatements_,"STATEMENTS"):t.removeInput("STATEMENT_INPUT"),e.Procedures.mutateCallers(this),t},compose:function(t){this.arguments_=[],this.paramIds_=[],this.argumentVarModels_=[];for(var o=t.getInputTargetBlock("STACK");o;){var n=o.getFieldValue("NAME");this.arguments_.push(n),n=this.workspace.getVariable(n,""),this.argumentVarModels_.push(n),this.paramIds_.push(o.id),o=o.nextConnection&&o.nextConnection.targetBlock()}this.updateParams_(),e.Procedures.mutateCallers(this),null!==(t=t.getFieldValue("STATEMENTS"))&&(t="TRUE"==t,this.hasStatements_!=t)&&(t?(this.setStatements_(!0),e.Mutator.reconnect(this.statementConnection_,this,"STACK"),this.statementConnection_=null):(t=this.getInput("STACK").connection,(this.statementConnection_=t.targetConnection)&&((t=t.targetBlock()).unplug(),t.bumpNeighbours_()),this.setStatements_(!1)))},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(t,o){var n=this.workspace.getVariableById(t);if(""==n.type){n=n.name;for(var i=this.workspace.getVariableById(o),r=!1,s=0;s<this.argumentVarModels_.length;s++)this.argumentVarModels_[s].getId()==t&&(this.arguments_[s]=i.name,this.argumentVarModels_[s]=i,r=!0);r&&(this.displayRenamedVar_(n,i.name),e.Procedures.mutateCallers(this))}},updateVarName:function(t){for(var o=t.name,n=!1,i=0;i<this.argumentVarModels_.length;i++)if(this.argumentVarModels_[i].getId()==t.getId()){var r=this.arguments_[i];this.arguments_[i]=o,n=!0}n&&(this.displayRenamedVar_(r,o),e.Procedures.mutateCallers(this))},displayRenamedVar_:function(t,o){if(this.updateParams_(),this.mutator.isVisible())for(var n,i=this.mutator.workspace_.getAllBlocks(!1),r=0;n=i[r];r++)"procedures_mutatorarg"==n.type&&e.Names.equals(t,n.getFieldValue("NAME"))&&n.setFieldValue(o,"NAME")},customContextMenu:function(t){if(!this.isInFlyout){var o={enabled:!0},n=this.getFieldValue("NAME");o.text=e.Msg.PROCEDURES_CREATE_DO.replace("%1",n);var i=e.utils.xml.createElement("mutation");for(i.setAttribute("name",n),n=0;n<this.arguments_.length;n++){var r=e.utils.xml.createElement("arg");r.setAttribute("name",this.arguments_[n]),i.appendChild(r)}if((n=e.utils.xml.createElement("block")).setAttribute("type",this.callType_),n.appendChild(i),o.callback=e.ContextMenu.callbackFactory(this,n),t.push(o),!this.isCollapsed())for(n=0;n<this.argumentVarModels_.length;n++)o={enabled:!0},i=this.argumentVarModels_[n],o.text=e.Msg.VARIABLES_SET_CREATE_GET.replace("%1",i.name),i=e.Variables.generateVariableFieldDom(i),(r=e.utils.xml.createElement("block")).setAttribute("type","variables_get"),r.appendChild(i),o.callback=e.ContextMenu.callbackFactory(this,r),t.push(o)}},callType_:"procedures_callnoreturn"},e.Blocks.procedures_defreturn={init:function(){var t=new e.FieldTextInput("",e.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(e.Msg.PROCEDURES_DEFRETURN_TITLE).appendField(t,"NAME").appendField("","PARAMS"),this.appendValueInput("RETURN").setAlign(e.ALIGN_RIGHT).appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.setMutator(new e.Mutator(["procedures_mutatorarg"])),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&e.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(e.Msg.PROCEDURES_DEFRETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_DEFRETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_DEFRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:e.Blocks.procedures_defnoreturn.setStatements_,updateParams_:e.Blocks.procedures_defnoreturn.updateParams_,mutationToDom:e.Blocks.procedures_defnoreturn.mutationToDom,domToMutation:e.Blocks.procedures_defnoreturn.domToMutation,decompose:e.Blocks.procedures_defnoreturn.decompose,compose:e.Blocks.procedures_defnoreturn.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:e.Blocks.procedures_defnoreturn.getVars,getVarModels:e.Blocks.procedures_defnoreturn.getVarModels,renameVarById:e.Blocks.procedures_defnoreturn.renameVarById,updateVarName:e.Blocks.procedures_defnoreturn.updateVarName,displayRenamedVar_:e.Blocks.procedures_defnoreturn.displayRenamedVar_,customContextMenu:e.Blocks.procedures_defnoreturn.customContextMenu,callType_:"procedures_callreturn"},e.Blocks.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField(e.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.appendDummyInput("STATEMENT_INPUT").appendField(e.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new e.FieldCheckbox("TRUE"),"STATEMENTS"),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP),this.contextMenu=!1},onchange:function(t){if(this.workspace&&!this.workspace.isFlyout&&(t.type==e.Events.BLOCK_DELETE||t.type==e.Events.BLOCK_CREATE)){var o=this.workspace.getAllBlocks(),n=this.workspace.getAllVariables();if(t.type==e.Events.BLOCK_DELETE){t=[];for(var i=0;i<o.length;i+=1)o[i].getFieldValue("NAME")&&t.push(o[i].getFieldValue("NAME"));for(o=0;o<n.length;o+=1)-1==t.indexOf(n[o].name)&&this.workspace.deleteVariableById(n[o].getId())}else if(t.type==e.Events.BLOCK_CREATE&&((n=this.workspace.getBlockById(t.blockId)).getField("NAME")&&(i=n.getFieldValue("NAME"),(t=this.workspace.getVariable(i))||(t=this.workspace.createVariable(i)),!n.previousConnection.isConnected()&&!n.nextConnection.isConnected())))for(i=0;i<o.length;i+=1)if(n.id!=o[i].id&&o[i].getFieldValue("NAME")==t.name){i=e.Variables.generateUniqueName(this.workspace),t=this.workspace.createVariable(i),n.setFieldValue(t.name,"NAME");break}}}},e.Blocks.procedures_mutatorarg={init:function(){var t=new e.FieldTextInput("x",this.validator_);t.oldShowEditorFn_=t.showEditor_,t.showEditor_=function(){this.createdVariables_=[],this.oldShowEditorFn_()},this.appendDummyInput().appendField(e.Msg.PROCEDURES_MUTATORARG_TITLE).appendField(t,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_MUTATORARG_TOOLTIP),this.contextMenu=!1,t.onFinishEditing_=this.deleteIntermediateVars_,t.createdVariables_=[],t.onFinishEditing_("x")},validator_:function(t){var o=e.Mutator.findParentWs(this.getSourceBlock().workspace);if(!(t=t.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"")))return null;for(var n=this.getSourceBlock().workspace.getAllBlocks(),i=0;i<n.length;i+=1)if(n[i].id!=this.getSourceBlock().id&&n[i].getFieldValue("NAME")==t)return null;return(n=o.getVariable(t,""))&&n.name!=t&&o.renameVarById(n.getId(),t),n||(n=o.createVariable(t,""))&&this.createdVariables_&&this.createdVariables_.push(n),t},deleteIntermediateVars_:function(t){var o=e.Mutator.findParentWs(this.getSourceBlock().workspace);if(o)for(var n=0;n<this.createdVariables_.length;n++){var i=this.createdVariables_[n];i.name!=t&&o.deleteVariableById(i.getId())}}},e.Blocks.procedures_callnoreturn={init:function(){this.appendDummyInput("TOPROW").appendField(this.id,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(e.Msg.PROCEDURES_CALLNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(t,o){e.Names.equals(t,this.getProcedureCall())&&(this.setFieldValue(o,"NAME"),this.setTooltip((this.outputConnection?e.Msg.PROCEDURES_CALLRETURN_TOOLTIP:e.Msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",o)))},setProcedureParameters_:function(t,o){var n=e.Procedures.getDefinition(this.getProcedureCall(),this.workspace),i=n&&n.mutator&&n.mutator.isVisible();if(i||(this.quarkConnections_={},this.quarkIds_=null),o)if(t.join("\n")==this.arguments_.join("\n"))this.quarkIds_=o;else{if(o.length!=t.length)throw RangeError("paramNames and paramIds must be the same length.");this.setCollapsed(!1),this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]),n=this.rendered,this.rendered=!1;for(var r=0;r<this.arguments_.length;r++){var s=this.getInput("ARG"+r);s&&(s=s.connection.targetConnection,this.quarkConnections_[this.quarkIds_[r]]=s,i&&s&&-1==o.indexOf(this.quarkIds_[r])&&(s.disconnect(),s.getSourceBlock().bumpNeighbours_()))}for(this.arguments_=[].concat(t),this.argumentVarModels_=[],r=0;r<this.arguments_.length;r++)i=e.Variables.getOrCreateVariablePackage(this.workspace,null,this.arguments_[r],""),this.argumentVarModels_.push(i);if(this.updateShape_(),this.quarkIds_=o)for(r=0;r<this.arguments_.length;r++)(i=this.quarkIds_[r])in this.quarkConnections_&&(s=this.quarkConnections_[i],e.Mutator.reconnect(s,this,"ARG"+r)||delete this.quarkConnections_[i]);(this.rendered=n)&&this.render()}},updateShape_:function(){for(var t=0;t<this.arguments_.length;t++){var o=this.getField("ARGNAME"+t);if(o){e.Events.disable();try{o.setValue(this.arguments_[t])}finally{e.Events.enable()}}else o=new e.FieldLabel(this.arguments_[t]),this.appendValueInput("ARG"+t).setAlign(e.ALIGN_RIGHT).appendField(o,"ARGNAME"+t).init()}for(;this.getInput("ARG"+t);)this.removeInput("ARG"+t),t++;(t=this.getInput("TOPROW"))&&(this.arguments_.length?this.getField("WITH")||(t.appendField(e.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),t.init()):this.getField("WITH")&&t.removeField("WITH"))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");t.setAttribute("name",this.getProcedureCall());for(var o=0;o<this.arguments_.length;o++){var n=e.utils.xml.createElement("arg");n.setAttribute("name",this.arguments_[o]),t.appendChild(n)}return t},domToMutation:function(e){var t=e.getAttribute("name");this.renameProcedure(this.getProcedureCall(),t),t=[];for(var o,n=[],i=0;o=e.childNodes[i];i++)"arg"==o.nodeName.toLowerCase()&&(t.push(o.getAttribute("name")),n.push(o.getAttribute("paramId")));this.setProcedureParameters_(t,n)},getVarModels:function(){return this.argumentVarModels_},onchange:function(t){if(this.workspace&&!this.workspace.isFlyout&&t.recordUndo)if(t.type==e.Events.BLOCK_CREATE&&-1!=t.ids.indexOf(this.id)){var o=this.getProcedureCall();if(!(o=e.Procedures.getDefinition(o,this.workspace))||o.type==this.defType_&&JSON.stringify(o.arguments_)==JSON.stringify(this.arguments_)||(o=null),!o){e.Events.setGroup(t.group),t=e.utils.xml.createElement("xml"),(o=e.utils.xml.createElement("block")).setAttribute("type",this.defType_);var n=this.getRelativeToSurfaceXY(),i=n.y+2*e.SNAP_RADIUS;o.setAttribute("x",n.x+e.SNAP_RADIUS*(this.RTL?-1:1)),o.setAttribute("y",i),n=this.mutationToDom(),o.appendChild(n),(n=e.utils.xml.createElement("field")).setAttribute("name","NAME"),n.appendChild(e.utils.xml.createTextNode(this.getProcedureCall())),o.appendChild(n),t.appendChild(o),e.Xml.domToWorkspace(t,this.workspace),e.Events.setGroup(!1)}}else t.type==e.Events.BLOCK_DELETE?(o=this.getProcedureCall(),(o=e.Procedures.getDefinition(o,this.workspace))||(e.Events.setGroup(t.group),this.dispose(!0,!1),e.Events.setGroup(!1))):t.type==e.Events.CHANGE&&"disabled"==t.element&&(o=this.getProcedureCall(),(o=e.Procedures.getDefinition(o,this.workspace))&&o.id==t.blockId&&((o=e.Events.getGroup())&&console.log("Saw an existing group while responding to a definition change"),e.Events.setGroup(t.group),t.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),e.Events.setGroup(o)))},customContextMenu:function(t){if(this.workspace.isMovable()){var o={enabled:!0};o.text=e.Msg.PROCEDURES_HIGHLIGHT_DEF;var n=this.getProcedureCall(),i=this.workspace;o.callback=function(){var t=e.Procedures.getDefinition(n,i);t&&(i.centerOnBlock(t.id),t.select())},t.push(o)}},defType_:"procedures_defnoreturn"},e.Blocks.procedures_callreturn={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setOutput(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(e.Msg.PROCEDURES_CALLRETURN_HELPURL),this.arguments_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:e.Blocks.procedures_callnoreturn.getProcedureCall,renameProcedure:e.Blocks.procedures_callnoreturn.renameProcedure,setProcedureParameters_:e.Blocks.procedures_callnoreturn.setProcedureParameters_,updateShape_:e.Blocks.procedures_callnoreturn.updateShape_,mutationToDom:e.Blocks.procedures_callnoreturn.mutationToDom,domToMutation:e.Blocks.procedures_callnoreturn.domToMutation,getVarModels:e.Blocks.procedures_callnoreturn.getVarModels,onchange:e.Blocks.procedures_callnoreturn.onchange,customContextMenu:e.Blocks.procedures_callnoreturn.customContextMenu,defType_:"procedures_defreturn"},e.Blocks.procedures_ifreturn={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(e.Msg.CONTROLS_IF_MSG_IF),this.appendValueInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_IFRETURN_HELPURL),this.hasReturnValue_=!0},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("value",Number(this.hasReturnValue_)),t},domToMutation:function(t){this.hasReturnValue_=1==t.getAttribute("value"),this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(t){if(this.workspace.isDragging&&!this.workspace.isDragging()){t=!1;var o=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(o.type)){t=!0;break}o=o.getSurroundParent()}while(o);t?("procedures_defnoreturn"==o.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=o.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(e.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]},e.Blocks.texts={},e.Constants.Text={},e.Constants.Text.HUE=160,e.defineBlocksWithJsonArray([{type:"text",message0:"%1",args0:[{type:"field_input",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["text_quotes","parent_tooltip_when_inline"]},{type:"text_join",message0:"",output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_JOIN_HELPURL}",tooltip:"%{BKY_TEXT_JOIN_TOOLTIP}",mutator:"text_join_mutator"},{type:"text_create_join_container",message0:"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2",args0:[{type:"input_dummy"},{type:"input_statement",name:"STACK"}],style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}",enableContextMenu:!1},{type:"text_create_join_item",message0:"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}",previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}",enableContextMenu:!1},{type:"text_append",message0:"%{BKY_TEXT_APPEND_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_TEXT_APPEND_VARIABLE}"},{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",extensions:["text_append_tooltip"]},{type:"text_length",message0:"%{BKY_TEXT_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"text_blocks",tooltip:"%{BKY_TEXT_LENGTH_TOOLTIP}",helpUrl:"%{BKY_TEXT_LENGTH_HELPURL}"},{type:"text_isEmpty",message0:"%{BKY_TEXT_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"text_blocks",tooltip:"%{BKY_TEXT_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_TEXT_ISEMPTY_HELPURL}"},{type:"text_indexOf",message0:"%{BKY_TEXT_INDEXOF_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"END",options:[["%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}","FIRST"],["%{BKY_TEXT_INDEXOF_OPERATOR_LAST}","LAST"]]},{type:"input_value",name:"FIND",check:"String"}],output:"Number",style:"text_blocks",helpUrl:"%{BKY_TEXT_INDEXOF_HELPURL}",inputsInline:!0,extensions:["text_indexOf_tooltip"]},{type:"text_charAt",message0:"%{BKY_TEXT_CHARAT_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"WHERE",options:[["%{BKY_TEXT_CHARAT_FROM_START}","FROM_START"],["%{BKY_TEXT_CHARAT_FROM_END}","FROM_END"],["%{BKY_TEXT_CHARAT_FIRST}","FIRST"],["%{BKY_TEXT_CHARAT_LAST}","LAST"],["%{BKY_TEXT_CHARAT_RANDOM}","RANDOM"]]}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_CHARAT_HELPURL}",inputsInline:!0,mutator:"text_charAt_mutator"}]),e.Blocks.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[e.Msg.TEXT_GET_SUBSTRING_START_FROM_START,"FROM_START"],[e.Msg.TEXT_GET_SUBSTRING_START_FROM_END,"FROM_END"],[e.Msg.TEXT_GET_SUBSTRING_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[e.Msg.TEXT_GET_SUBSTRING_END_FROM_START,"FROM_START"],[e.Msg.TEXT_GET_SUBSTRING_END_FROM_END,"FROM_END"],[e.Msg.TEXT_GET_SUBSTRING_END_LAST,"LAST"]],this.setHelpUrl(e.Msg.TEXT_GET_SUBSTRING_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("STRING").setCheck("String").appendField(e.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),e.Msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_GET_SUBSTRING_TAIL),this.setInputsInline(!0),this.setOutput(!0,"String"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(e.Msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT1").type==e.INPUT_VALUE;return t.setAttribute("at1",o),o=this.getInput("AT2").type==e.INPUT_VALUE,t.setAttribute("at2",o),t},domToMutation:function(e){var t="true"==e.getAttribute("at1");e="true"==e.getAttribute("at2"),this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(t,o){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),o?(this.appendValueInput("AT"+t).setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+t).appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+t),2==t&&e.Msg.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_GET_SUBSTRING_TAIL));var n=new e.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=o){var i=this.getSourceBlock();return i.updateAt_(t,n),i.setFieldValue(e,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},e.Blocks.text_changeCase={init:function(){var t=[[e.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[e.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[e.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];this.setHelpUrl(e.Msg.TEXT_CHANGECASE_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("TEXT").setCheck("String").appendField(new e.FieldDropdown(t),"CASE"),this.setOutput(!0,"String"),this.setTooltip(e.Msg.TEXT_CHANGECASE_TOOLTIP)}},e.Blocks.text_trim={init:function(){var t=[[e.Msg.TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[e.Msg.TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[e.Msg.TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];this.setHelpUrl(e.Msg.TEXT_TRIM_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("TEXT").setCheck("String").appendField(new e.FieldDropdown(t),"MODE"),this.setOutput(!0,"String"),this.setTooltip(e.Msg.TEXT_TRIM_TOOLTIP)}},e.Blocks.text_print={init:function(){this.jsonInit({message0:e.Msg.TEXT_PRINT_TITLE,args0:[{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:e.Msg.TEXT_PRINT_TOOLTIP,helpUrl:e.Msg.TEXT_PRINT_HELPURL})}},e.Blocks.text_prompt_ext={init:function(){var t=[[e.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[e.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl(e.Msg.TEXT_PROMPT_HELPURL),this.setStyle("text_blocks");var o=this;t=new e.FieldDropdown(t,(function(e){o.updateType_(e)})),this.appendValueInput("TEXT").appendField(t,"TYPE"),this.setOutput(!0,"String"),this.setTooltip((function(){return"TEXT"==o.getFieldValue("TYPE")?e.Msg.TEXT_PROMPT_TOOLTIP_TEXT:e.Msg.TEXT_PROMPT_TOOLTIP_NUMBER}))},updateType_:function(e){this.outputConnection.setCheck("NUMBER"==e?"Number":"String")},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("type",this.getFieldValue("TYPE")),t},domToMutation:function(e){this.updateType_(e.getAttribute("type"))}},e.Blocks.text_prompt={init:function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN);var t=[[e.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[e.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]],o=this;this.setHelpUrl(e.Msg.TEXT_PROMPT_HELPURL),this.setStyle("text_blocks"),t=new e.FieldDropdown(t,(function(e){o.updateType_(e)})),this.appendDummyInput().appendField(t,"TYPE").appendField(this.newQuote_(!0)).appendField(new e.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,"String"),this.setTooltip((function(){return"TEXT"==o.getFieldValue("TYPE")?e.Msg.TEXT_PROMPT_TOOLTIP_TEXT:e.Msg.TEXT_PROMPT_TOOLTIP_NUMBER}))},updateType_:e.Blocks.text_prompt_ext.updateType_,mutationToDom:e.Blocks.text_prompt_ext.mutationToDom,domToMutation:e.Blocks.text_prompt_ext.domToMutation},e.Blocks.text_count={init:function(){this.jsonInit({message0:e.Msg.TEXT_COUNT_MESSAGE0,args0:[{type:"input_value",name:"SUB",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"Number",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_COUNT_TOOLTIP,helpUrl:e.Msg.TEXT_COUNT_HELPURL})}},e.Blocks.text_replace={init:function(){this.jsonInit({message0:e.Msg.TEXT_REPLACE_MESSAGE0,args0:[{type:"input_value",name:"FROM",check:"String"},{type:"input_value",name:"TO",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_REPLACE_TOOLTIP,helpUrl:e.Msg.TEXT_REPLACE_HELPURL})}},e.Blocks.text_reverse={init:function(){this.jsonInit({message0:e.Msg.TEXT_REVERSE_MESSAGE0,args0:[{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_REVERSE_TOOLTIP,helpUrl:e.Msg.TEXT_REVERSE_HELPURL})}},e.Constants.Text.QUOTE_IMAGE_MIXIN={QUOTE_IMAGE_LEFT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",QUOTE_IMAGE_RIGHT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==",QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)if(e==n.name)return t.insertFieldAt(i,this.newQuote_(!0)),void t.insertFieldAt(i+2,this.newQuote_(!1));console.warn('field named "'+e+'" not found in '+this.toDevString())},newQuote_:function(t){return t=this.RTL?!t:t,new e.FieldImage(t?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,this.QUOTE_IMAGE_WIDTH,this.QUOTE_IMAGE_HEIGHT,t?"“":"”")}},e.Constants.Text.TEXT_QUOTES_EXTENSION=function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN),this.quoteField_("TEXT")},e.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_join_container");t.initSvg();for(var o=t.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var i=e.newBlock("text_create_join_item");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return t},compose:function(t){var o=t.getInputTargetBlock("STACK");for(t=[];o;)t.push(o.valueConnection_),o=o.nextConnection&&o.nextConnection.targetBlock();for(o=0;o<this.itemCount_;o++){var n=this.getInput("ADD"+o).connection.targetConnection;n&&-1==t.indexOf(n)&&n.disconnect()}for(this.itemCount_=t.length,this.updateShape_(),o=0;o<this.itemCount_;o++)e.Mutator.reconnect(t[o],this,"ADD"+o)},saveConnections:function(e){e=e.getInputTargetBlock("STACK");for(var t=0;e;){var o=this.getInput("ADD"+t);e.valueConnection_=o&&o.connection.targetConnection,t++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var t=0;t<this.itemCount_;t++)if(!this.getInput("ADD"+t)){var o=this.appendValueInput("ADD"+t);0==t&&o.appendField(e.Msg.TEXT_JOIN_TITLE_CREATEWITH)}for(;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++}},e.Constants.Text.TEXT_JOIN_EXTENSION=function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN),this.itemCount_=2,this.updateShape_(),this.setMutator(new e.Mutator(["text_create_join_item"]))},e.Extensions.register("text_append_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_TEXT_APPEND_TOOLTIP}","VAR")),e.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION=function(){var t=this;this.setTooltip((function(){return e.Msg.TEXT_INDEXOF_TOOLTIP.replace("%1",t.workspace.options.oneBasedIndex?"0":"-1")}))},e.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("at",!!this.isAt_),t},domToMutation:function(e){e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT",!0),this.removeInput("ORDINAL",!0),t&&(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)),e.Msg.TEXT_CHARAT_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_CHARAT_TAIL)),this.isAt_=t}},e.Constants.Text.TEXT_CHARAT_EXTENSION=function(){this.getField("WHERE").setValidator((function(e){(e="FROM_START"==e||"FROM_END"==e)!=this.isAt_&&this.getSourceBlock().updateAt_(e)})),this.updateAt_(!0);var t=this;this.setTooltip((function(){var o=t.getFieldValue("WHERE"),n=e.Msg.TEXT_CHARAT_TOOLTIP;return("FROM_START"==o||"FROM_END"==o)&&(o="FROM_START"==o?e.Msg.LISTS_INDEX_FROM_START_TOOLTIP:e.Msg.LISTS_INDEX_FROM_END_TOOLTIP)&&(n+="  "+o.replace("%1",t.workspace.options.oneBasedIndex?"#1":"#0")),n}))},e.Extensions.register("text_indexOf_tooltip",e.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION),e.Extensions.register("text_quotes",e.Constants.Text.TEXT_QUOTES_EXTENSION),e.Extensions.registerMutator("text_join_mutator",e.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN,e.Constants.Text.TEXT_JOIN_EXTENSION),e.Extensions.registerMutator("text_charAt_mutator",e.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN,e.Constants.Text.TEXT_CHARAT_EXTENSION),e.Blocks.variables={},e.Constants.Variables={},e.Constants.Variables.HUE=330,e.defineBlocksWithJsonArray([{type:"variables_get",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableSetterGetter"]},{type:"variables_set",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableSetterGetter"]}]),e.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(t){if(this.isInFlyout)"variables_get"!=this.type&&"variables_get_reporter"!=this.type||(o={text:e.Msg.RENAME_VARIABLE,enabled:!0,callback:e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},r=this.getField("VAR").getText(),i={text:e.Msg.DELETE_VARIABLE.replace("%1",r),enabled:!0,callback:e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},t.unshift(o),t.unshift(i));else{if("variables_get"==this.type)var o="variables_set",n=e.Msg.VARIABLES_GET_CREATE_SET;else o="variables_get",n=e.Msg.VARIABLES_SET_CREATE_GET;var i={enabled:0<this.workspace.remainingCapacity()},r=this.getField("VAR").getText();i.text=n.replace("%1",r),(n=e.utils.xml.createElement("field")).setAttribute("name","VAR"),n.appendChild(e.utils.xml.createTextNode(r)),(r=e.utils.xml.createElement("block")).setAttribute("type",o),r.appendChild(n),i.callback=e.ContextMenu.callbackFactory(this,r),t.push(i)}}},e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY=function(t){return function(){var o=t.workspace,n=t.getField("VAR").getVariable();e.Variables.renameVariable(o,n)}},e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY=function(e){return function(){var t=e.workspace,o=e.getField("VAR").getVariable();t.deleteVariableById(o.getId()),t.refreshToolboxSelection()}},e.Extensions.registerMixin("contextMenu_variableSetterGetter",e.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN),e.Constants.VariablesDynamic={},e.Constants.VariablesDynamic.HUE=310,e.defineBlocksWithJsonArray([{type:"variables_get_dynamic",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_dynamic_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableDynamicSetterGetter"]},{type:"variables_set_dynamic",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_dynamic_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableDynamicSetterGetter"]}]),e.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(t){if(this.isInFlyout)"variables_get_dynamic"!=this.type&&"variables_get_reporter_dynamic"!=this.type||(o={text:e.Msg.RENAME_VARIABLE,enabled:!0,callback:e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},s=this.getField("VAR").getText(),r={text:e.Msg.DELETE_VARIABLE.replace("%1",s),enabled:!0,callback:e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},t.unshift(o),t.unshift(r));else{var o=this.getFieldValue("VAR"),n=this.workspace.getVariableById(o).type;if("variables_get_dynamic"==this.type){o="variables_set_dynamic";var i=e.Msg.VARIABLES_GET_CREATE_SET}else o="variables_get_dynamic",i=e.Msg.VARIABLES_SET_CREATE_GET;var r={enabled:0<this.workspace.remainingCapacity()},s=this.getField("VAR").getText();r.text=i.replace("%1",s),(i=e.utils.xml.createElement("field")).setAttribute("name","VAR"),i.setAttribute("variabletype",n),i.appendChild(e.utils.xml.createTextNode(s)),(s=e.utils.xml.createElement("block")).setAttribute("type",o),s.appendChild(i),r.callback=e.ContextMenu.callbackFactory(this,s),t.push(r)}},onchange:function(t){t=this.getFieldValue("VAR"),t=e.Variables.getVariable(this.workspace,t),"variables_get_dynamic"==this.type?this.outputConnection.setCheck(t.type):this.getInput("VALUE").connection.setCheck(t.type)}},e.Constants.VariablesDynamic.RENAME_OPTION_CALLBACK_FACTORY=function(t){return function(){var o=t.workspace,n=t.getField("VAR").getVariable();e.Variables.renameVariable(o,n)}},e.Constants.VariablesDynamic.DELETE_OPTION_CALLBACK_FACTORY=function(e){return function(){var t=e.workspace,o=e.getField("VAR").getVariable();t.deleteVariableById(o.getId()),t.refreshToolboxSelection()}},e.Extensions.registerMixin("contextMenu_variableDynamicSetterGetter",e.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN),e.Blocks}},function(e,t){e.exports=function(e){"use strict";return e.JavaScript=new e.Generator("JavaScript"),e.JavaScript.addReservedWords("Blockly,break,case,catch,continue,debugger,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with,class,enum,export,extends,import,super,implements,interface,let,package,private,protected,public,static,yield,const,null,true,false,Array,ArrayBuffer,Boolean,Date,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Error,eval,EvalError,Float32Array,Float64Array,Function,Infinity,Int16Array,Int32Array,Int8Array,isFinite,isNaN,Iterator,JSON,Math,NaN,Number,Object,parseFloat,parseInt,RangeError,ReferenceError,RegExp,StopIteration,String,SyntaxError,TypeError,Uint16Array,Uint32Array,Uint8Array,Uint8ClampedArray,undefined,uneval,URIError,applicationCache,closed,Components,content,_content,controllers,crypto,defaultStatus,dialogArguments,directories,document,frameElement,frames,fullScreen,globalStorage,history,innerHeight,innerWidth,length,location,locationbar,localStorage,menubar,messageManager,mozAnimationStartTime,mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance,personalbar,pkcs11,returnValue,screen,screenX,screenY,scrollbars,scrollMaxX,scrollMaxY,scrollX,scrollY,self,sessionStorage,sidebar,status,statusbar,toolbar,top,URL,window,addEventListener,alert,atob,back,blur,btoa,captureEvents,clearImmediate,clearInterval,clearTimeout,close,confirm,disableExternalCapture,dispatchEvent,dump,enableExternalCapture,escape,find,focus,forward,GeckoActiveXObject,getAttention,getAttentionWithCycleCount,getComputedStyle,getSelection,home,matchMedia,maximize,minimize,moveBy,moveTo,mozRequestAnimationFrame,open,openDialog,postMessage,print,prompt,QueryInterface,releaseEvents,removeEventListener,resizeBy,resizeTo,restore,routeEvent,scroll,scrollBy,scrollByLines,scrollByPages,scrollTo,setCursor,setImmediate,setInterval,setResizable,setTimeout,showModalDialog,sizeToContent,stop,unescape,updateCommands,XPCNativeWrapper,XPCSafeJSObjectWrapper,onabort,onbeforeunload,onblur,onchange,onclick,onclose,oncontextmenu,ondevicemotion,ondeviceorientation,ondragdrop,onerror,onfocus,onhashchange,onkeydown,onkeypress,onkeyup,onload,onmousedown,onmousemove,onmouseout,onmouseover,onmouseup,onmozbeforepaint,onpaint,onpopstate,onreset,onresize,onscroll,onselect,onsubmit,onunload,onpageshow,onpagehide,Image,Option,Worker,Event,Range,File,FileReader,Blob,BlobBuilder,Attr,CDATASection,CharacterData,Comment,console,DocumentFragment,DocumentType,DomConfiguration,DOMError,DOMErrorHandler,DOMException,DOMImplementation,DOMImplementationList,DOMImplementationRegistry,DOMImplementationSource,DOMLocator,DOMObject,DOMString,DOMStringList,DOMTimeStamp,DOMUserData,Entity,EntityReference,MediaQueryList,MediaQueryListListener,NameList,NamedNodeMap,Node,NodeFilter,NodeIterator,NodeList,Notation,Plugin,PluginArray,ProcessingInstruction,SharedWorker,Text,TimeRanges,Treewalker,TypeInfo,UserDataHandler,Worker,WorkerGlobalScope,HTMLDocument,HTMLElement,HTMLAnchorElement,HTMLAppletElement,HTMLAudioElement,HTMLAreaElement,HTMLBaseElement,HTMLBaseFontElement,HTMLBodyElement,HTMLBRElement,HTMLButtonElement,HTMLCanvasElement,HTMLDirectoryElement,HTMLDivElement,HTMLDListElement,HTMLEmbedElement,HTMLFieldSetElement,HTMLFontElement,HTMLFormElement,HTMLFrameElement,HTMLFrameSetElement,HTMLHeadElement,HTMLHeadingElement,HTMLHtmlElement,HTMLHRElement,HTMLIFrameElement,HTMLImageElement,HTMLInputElement,HTMLKeygenElement,HTMLLabelElement,HTMLLIElement,HTMLLinkElement,HTMLMapElement,HTMLMenuElement,HTMLMetaElement,HTMLModElement,HTMLObjectElement,HTMLOListElement,HTMLOptGroupElement,HTMLOptionElement,HTMLOutputElement,HTMLParagraphElement,HTMLParamElement,HTMLPreElement,HTMLQuoteElement,HTMLScriptElement,HTMLSelectElement,HTMLSourceElement,HTMLSpanElement,HTMLStyleElement,HTMLTableElement,HTMLTableCaptionElement,HTMLTableCellElement,HTMLTableDataCellElement,HTMLTableHeaderCellElement,HTMLTableColElement,HTMLTableRowElement,HTMLTableSectionElement,HTMLTextAreaElement,HTMLTimeElement,HTMLTitleElement,HTMLTrackElement,HTMLUListElement,HTMLUnknownElement,HTMLVideoElement,HTMLCanvasElement,CanvasRenderingContext2D,CanvasGradient,CanvasPattern,TextMetrics,ImageData,CanvasPixelArray,HTMLAudioElement,HTMLVideoElement,NotifyAudioAvailableEvent,HTMLCollection,HTMLAllCollection,HTMLFormControlsCollection,HTMLOptionsCollection,HTMLPropertiesCollection,DOMTokenList,DOMSettableTokenList,DOMStringMap,RadioNodeList,SVGDocument,SVGElement,SVGAElement,SVGAltGlyphElement,SVGAltGlyphDefElement,SVGAltGlyphItemElement,SVGAnimationElement,SVGAnimateElement,SVGAnimateColorElement,SVGAnimateMotionElement,SVGAnimateTransformElement,SVGSetElement,SVGCircleElement,SVGClipPathElement,SVGColorProfileElement,SVGCursorElement,SVGDefsElement,SVGDescElement,SVGEllipseElement,SVGFilterElement,SVGFilterPrimitiveStandardAttributes,SVGFEBlendElement,SVGFEColorMatrixElement,SVGFEComponentTransferElement,SVGFECompositeElement,SVGFEConvolveMatrixElement,SVGFEDiffuseLightingElement,SVGFEDisplacementMapElement,SVGFEDistantLightElement,SVGFEFloodElement,SVGFEGaussianBlurElement,SVGFEImageElement,SVGFEMergeElement,SVGFEMergeNodeElement,SVGFEMorphologyElement,SVGFEOffsetElement,SVGFEPointLightElement,SVGFESpecularLightingElement,SVGFESpotLightElement,SVGFETileElement,SVGFETurbulenceElement,SVGComponentTransferFunctionElement,SVGFEFuncRElement,SVGFEFuncGElement,SVGFEFuncBElement,SVGFEFuncAElement,SVGFontElement,SVGFontFaceElement,SVGFontFaceFormatElement,SVGFontFaceNameElement,SVGFontFaceSrcElement,SVGFontFaceUriElement,SVGForeignObjectElement,SVGGElement,SVGGlyphElement,SVGGlyphRefElement,SVGGradientElement,SVGLinearGradientElement,SVGRadialGradientElement,SVGHKernElement,SVGImageElement,SVGLineElement,SVGMarkerElement,SVGMaskElement,SVGMetadataElement,SVGMissingGlyphElement,SVGMPathElement,SVGPathElement,SVGPatternElement,SVGPolylineElement,SVGPolygonElement,SVGRectElement,SVGScriptElement,SVGStopElement,SVGStyleElement,SVGSVGElement,SVGSwitchElement,SVGSymbolElement,SVGTextElement,SVGTextPathElement,SVGTitleElement,SVGTRefElement,SVGTSpanElement,SVGUseElement,SVGViewElement,SVGVKernElement,SVGAngle,SVGColor,SVGICCColor,SVGElementInstance,SVGElementInstanceList,SVGLength,SVGLengthList,SVGMatrix,SVGNumber,SVGNumberList,SVGPaint,SVGPoint,SVGPointList,SVGPreserveAspectRatio,SVGRect,SVGStringList,SVGTransform,SVGTransformList,SVGAnimatedAngle,SVGAnimatedBoolean,SVGAnimatedEnumeration,SVGAnimatedInteger,SVGAnimatedLength,SVGAnimatedLengthList,SVGAnimatedNumber,SVGAnimatedNumberList,SVGAnimatedPreserveAspectRatio,SVGAnimatedRect,SVGAnimatedString,SVGAnimatedTransformList,SVGPathSegList,SVGPathSeg,SVGPathSegArcAbs,SVGPathSegArcRel,SVGPathSegClosePath,SVGPathSegCurvetoCubicAbs,SVGPathSegCurvetoCubicRel,SVGPathSegCurvetoCubicSmoothAbs,SVGPathSegCurvetoCubicSmoothRel,SVGPathSegCurvetoQuadraticAbs,SVGPathSegCurvetoQuadraticRel,SVGPathSegCurvetoQuadraticSmoothAbs,SVGPathSegCurvetoQuadraticSmoothRel,SVGPathSegLinetoAbs,SVGPathSegLinetoHorizontalAbs,SVGPathSegLinetoHorizontalRel,SVGPathSegLinetoRel,SVGPathSegLinetoVerticalAbs,SVGPathSegLinetoVerticalRel,SVGPathSegMovetoAbs,SVGPathSegMovetoRel,ElementTimeControl,TimeEvent,SVGAnimatedPathData,SVGAnimatedPoints,SVGColorProfileRule,SVGCSSRule,SVGExternalResourcesRequired,SVGFitToViewBox,SVGLangSpace,SVGLocatable,SVGRenderingIntent,SVGStylable,SVGTests,SVGTextContentElement,SVGTextPositioningElement,SVGTransformable,SVGUnitTypes,SVGURIReference,SVGViewSpec,SVGZoomAndPan"),e.JavaScript.ORDER_ATOMIC=0,e.JavaScript.ORDER_NEW=1.1,e.JavaScript.ORDER_MEMBER=1.2,e.JavaScript.ORDER_FUNCTION_CALL=2,e.JavaScript.ORDER_INCREMENT=3,e.JavaScript.ORDER_DECREMENT=3,e.JavaScript.ORDER_BITWISE_NOT=4.1,e.JavaScript.ORDER_UNARY_PLUS=4.2,e.JavaScript.ORDER_UNARY_NEGATION=4.3,e.JavaScript.ORDER_LOGICAL_NOT=4.4,e.JavaScript.ORDER_TYPEOF=4.5,e.JavaScript.ORDER_VOID=4.6,e.JavaScript.ORDER_DELETE=4.7,e.JavaScript.ORDER_AWAIT=4.8,e.JavaScript.ORDER_EXPONENTIATION=5,e.JavaScript.ORDER_MULTIPLICATION=5.1,e.JavaScript.ORDER_DIVISION=5.2,e.JavaScript.ORDER_MODULUS=5.3,e.JavaScript.ORDER_SUBTRACTION=6.1,e.JavaScript.ORDER_ADDITION=6.2,e.JavaScript.ORDER_BITWISE_SHIFT=7,e.JavaScript.ORDER_RELATIONAL=8,e.JavaScript.ORDER_IN=8,e.JavaScript.ORDER_INSTANCEOF=8,e.JavaScript.ORDER_EQUALITY=9,e.JavaScript.ORDER_BITWISE_AND=10,e.JavaScript.ORDER_BITWISE_XOR=11,e.JavaScript.ORDER_BITWISE_OR=12,e.JavaScript.ORDER_LOGICAL_AND=13,e.JavaScript.ORDER_LOGICAL_OR=14,e.JavaScript.ORDER_CONDITIONAL=15,e.JavaScript.ORDER_ASSIGNMENT=16,e.JavaScript.ORDER_YIELD=17,e.JavaScript.ORDER_COMMA=18,e.JavaScript.ORDER_NONE=99,e.JavaScript.ORDER_OVERRIDES=[[e.JavaScript.ORDER_FUNCTION_CALL,e.JavaScript.ORDER_MEMBER],[e.JavaScript.ORDER_FUNCTION_CALL,e.JavaScript.ORDER_FUNCTION_CALL],[e.JavaScript.ORDER_MEMBER,e.JavaScript.ORDER_MEMBER],[e.JavaScript.ORDER_MEMBER,e.JavaScript.ORDER_FUNCTION_CALL],[e.JavaScript.ORDER_LOGICAL_NOT,e.JavaScript.ORDER_LOGICAL_NOT],[e.JavaScript.ORDER_MULTIPLICATION,e.JavaScript.ORDER_MULTIPLICATION],[e.JavaScript.ORDER_ADDITION,e.JavaScript.ORDER_ADDITION],[e.JavaScript.ORDER_LOGICAL_AND,e.JavaScript.ORDER_LOGICAL_AND],[e.JavaScript.ORDER_LOGICAL_OR,e.JavaScript.ORDER_LOGICAL_OR]],e.JavaScript.init=function(t){e.JavaScript.definitions_=Object.create(null),e.JavaScript.functionNames_=Object.create(null),e.JavaScript.variableDB_?e.JavaScript.variableDB_.reset():e.JavaScript.variableDB_=new e.Names(e.JavaScript.RESERVED_WORDS_),e.JavaScript.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.JavaScript.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE));for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.JavaScript.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE));o.length&&(e.JavaScript.definitions_.variables="var "+o.join(", ")+";")},e.JavaScript.finish=function(t){var o,n=[];for(o in e.JavaScript.definitions_)n.push(e.JavaScript.definitions_[o]);return delete e.JavaScript.definitions_,delete e.JavaScript.functionNames_,e.JavaScript.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.JavaScript.scrubNakedValue=function(e){return e+";\n"},e.JavaScript.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.JavaScript.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.JavaScript.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+"/**\n"+e.JavaScript.prefixLines(r+"\n"," * ")+" */\n":i+e.JavaScript.prefixLines(r+"\n","// "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.JavaScript.allNestedComments(r))&&(i+=e.JavaScript.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.JavaScript.blockToCode(t))},e.JavaScript.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.JavaScript.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=0<n?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_ADDITION)||s:0>n?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_SUBTRACTION)||s:i?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_UNARY_NEGATION)||s:e.JavaScript.valueToCode(t,o,r)||s,e.isNumber(t))t=parseFloat(t)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.JavaScript.ORDER_ADDITION}else 0>n&&(t=t+" - "+-n,a=e.JavaScript.ORDER_SUBTRACTION);i&&(t=n?"-("+t+")":"-"+t,a=e.JavaScript.ORDER_UNARY_NEGATION),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.JavaScript.colour={},e.JavaScript.colour_picker=function(t){return[e.JavaScript.quote_(t.getFieldValue("COLOUR")),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.colour_random=function(t){return[e.JavaScript.provideFunction_("colourRandom",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"() {","  var num = Math.floor(Math.random() * Math.pow(2, 24));","  return '#' + ('00000' + num.toString(16)).substr(-6);","}"])+"()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.colour_rgb=function(t){var o=e.JavaScript.valueToCode(t,"RED",e.JavaScript.ORDER_COMMA)||0,n=e.JavaScript.valueToCode(t,"GREEN",e.JavaScript.ORDER_COMMA)||0;return t=e.JavaScript.valueToCode(t,"BLUE",e.JavaScript.ORDER_COMMA)||0,[e.JavaScript.provideFunction_("colourRgb",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b) {","  r = Math.max(Math.min(Number(r), 100), 0) * 2.55;","  g = Math.max(Math.min(Number(g), 100), 0) * 2.55;","  b = Math.max(Math.min(Number(b), 100), 0) * 2.55;","  r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);","  g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);","  b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);","  return '#' + r + g + b;","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.colour_blend=function(t){var o=e.JavaScript.valueToCode(t,"COLOUR1",e.JavaScript.ORDER_COMMA)||"'#000000'",n=e.JavaScript.valueToCode(t,"COLOUR2",e.JavaScript.ORDER_COMMA)||"'#000000'";return t=e.JavaScript.valueToCode(t,"RATIO",e.JavaScript.ORDER_COMMA)||.5,[e.JavaScript.provideFunction_("colourBlend",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(c1, c2, ratio) {","  ratio = Math.max(Math.min(Number(ratio), 1), 0);","  var r1 = parseInt(c1.substring(1, 3), 16);","  var g1 = parseInt(c1.substring(3, 5), 16);","  var b1 = parseInt(c1.substring(5, 7), 16);","  var r2 = parseInt(c2.substring(1, 3), 16);","  var g2 = parseInt(c2.substring(3, 5), 16);","  var b2 = parseInt(c2.substring(5, 7), 16);","  var r = Math.round(r1 * (1 - ratio) + r2 * ratio);","  var g = Math.round(g1 * (1 - ratio) + g2 * ratio);","  var b = Math.round(b1 * (1 - ratio) + b2 * ratio);","  r = ('0' + (r || 0).toString(16)).slice(-2);","  g = ('0' + (g || 0).toString(16)).slice(-2);","  b = ('0' + (b || 0).toString(16)).slice(-2);","  return '#' + r + g + b;","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists={},e.JavaScript.lists_create_empty=function(t){return["[]",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.JavaScript.valueToCode(t,"ADD"+n,e.JavaScript.ORDER_COMMA)||"null";return["["+o.join(", ")+"]",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.lists_repeat=function(t){return[e.JavaScript.provideFunction_("listsRepeat",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(value, n) {","  var array = [];","  for (var i = 0; i < n; i++) {","    array[i] = value;","  }","  return array;","}"])+"("+(e.JavaScript.valueToCode(t,"ITEM",e.JavaScript.ORDER_COMMA)||"null")+", "+(t=e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_COMMA)||"0")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_length=function(t){return[(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+".length",e.JavaScript.ORDER_MEMBER]},e.JavaScript.lists_isEmpty=function(t){return["!"+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+".length",e.JavaScript.ORDER_LOGICAL_NOT]},e.JavaScript.lists_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.JavaScript.valueToCode(t,"FIND",e.JavaScript.ORDER_NONE)||"''";return o=(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.JavaScript.ORDER_ADDITION]:[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.JavaScript.valueToCode(t,"VALUE","RANDOM"==n?e.JavaScript.ORDER_COMMA:e.JavaScript.ORDER_MEMBER)||"[]";switch(n){case"FIRST":if("GET"==o)return[i+"[0]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".shift()",e.JavaScript.ORDER_MEMBER];if("REMOVE"==o)return i+".shift();\n";break;case"LAST":if("GET"==o)return[i+".slice(-1)[0]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop()",e.JavaScript.ORDER_MEMBER];if("REMOVE"==o)return i+".pop();\n";break;case"FROM_START":if(t=e.JavaScript.getAdjusted(t,"AT"),"GET"==o)return[i+"["+t+"]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".splice("+t+", 1)[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".splice("+t+", 1);\n";break;case"FROM_END":if(t=e.JavaScript.getAdjusted(t,"AT",1,!0),"GET"==o)return[i+".slice("+t+")[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return[i+".splice("+t+", 1)[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".splice("+t+", 1);";break;case"RANDOM":if(i=e.JavaScript.provideFunction_("listsGetRandomItem",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list, remove) {","  var x = Math.floor(Math.random() * list.length);","  if (remove) {","    return list.splice(x, 1)[0];","  } else {","    return list[x];","  }","}"])+"("+i+", "+("GET"!=o)+")","GET"==o||"GET_REMOVE"==o)return[i,e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+";\n"}throw Error("Unhandled combination (lists_getIndex).")},e.JavaScript.lists_setIndex=function(t){function o(){if(n.match(/^\w+$/))return"";var t=e.JavaScript.variableDB_.getDistinctName("tmpList",e.Variables.NAME_TYPE),o="var "+t+" = "+n+";\n";return n=t,o}var n=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",i=t.getFieldValue("MODE")||"GET",r=t.getFieldValue("WHERE")||"FROM_START",s=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_ASSIGNMENT)||"null";switch(r){case"FIRST":if("SET"==i)return n+"[0] = "+s+";\n";if("INSERT"==i)return n+".unshift("+s+");\n";break;case"LAST":if("SET"==i)return(t=o())+(n+"[")+n+".length - 1] = "+s+";\n";if("INSERT"==i)return n+".push("+s+");\n";break;case"FROM_START":if(r=e.JavaScript.getAdjusted(t,"AT"),"SET"==i)return n+"["+r+"] = "+s+";\n";if("INSERT"==i)return n+".splice("+r+", 0, "+s+");\n";break;case"FROM_END":if(r=e.JavaScript.getAdjusted(t,"AT",1,!1,e.JavaScript.ORDER_SUBTRACTION),t=o(),"SET"==i)return t+(n+"[")+n+".length - "+r+"] = "+s+";\n";if("INSERT"==i)return t+(n+".splice(")+n+".length - "+r+", 0, "+s+");\n";break;case"RANDOM":if(t=o(),t+="var "+(r=e.JavaScript.variableDB_.getDistinctName("tmpX",e.Variables.NAME_TYPE))+" = Math.floor(Math.random() * "+n+".length);\n","SET"==i)return t+(n+"[")+r+"] = "+s+";\n";if("INSERT"==i)return t+(n+".splice(")+r+", 0, "+s+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.JavaScript.lists.getIndex_=function(e,t,o){return"FIRST"==t?"0":"FROM_END"==t?e+".length - 1 - "+o:"LAST"==t?e+".length - 1":o},e.JavaScript.lists_getSublist=function(t){var o=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"==n&&"LAST"==i)o+=".slice(0)";else if(o.match(/^\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.JavaScript.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.JavaScript.getAdjusted(t,"AT1",1,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":t=e.JavaScript.getAdjusted(t,"AT2",1);break;case"FROM_END":t=o+".length - "+(t=e.JavaScript.getAdjusted(t,"AT2",0,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"LAST":t=o+".length";break;default:throw Error("Unhandled option (lists_getSublist).")}o=o+".slice("+r+", "+t+")"}else{r=e.JavaScript.getAdjusted(t,"AT1"),t=e.JavaScript.getAdjusted(t,"AT2");var s=e.JavaScript.lists.getIndex_,a={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};o=e.JavaScript.provideFunction_("subsequence"+a[n]+a[i],["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+") {","  var start = "+s("sequence",n,"at1")+";","  var end = "+s("sequence",i,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")"}return[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_sort=function(t){var o=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_FUNCTION_CALL)||"[]",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[o+".slice().sort("+e.JavaScript.provideFunction_("listsGetSortCompare",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(type, direction) {","  var compareFuncs = {",'    "NUMERIC": function(a, b) {',"        return parseFloat(a) - parseFloat(b); },",'    "TEXT": function(a, b) {',"        return a.toString() > b.toString() ? 1 : -1; },",'    "IGNORE_CASE": function(a, b) {',"        return a.toString().toLowerCase() > b.toString().toLowerCase() ? 1 : -1; },","  };","  var compare = compareFuncs[type];","  return function(a, b) { return compare(a, b) * direction; }","}"])+'("'+t+'", '+n+"))",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_split=function(t){var o=e.JavaScript.valueToCode(t,"INPUT",e.JavaScript.ORDER_MEMBER),n=e.JavaScript.valueToCode(t,"DELIM",e.JavaScript.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="split";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="[]"),t="join"}return[o+"."+t+"("+n+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_reverse=function(t){return[(e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_FUNCTION_CALL)||"[]")+".slice().reverse()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.logic={},e.JavaScript.controls_if=function(t){var o=0,n="";e.JavaScript.STATEMENT_PREFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t));do{var i=e.JavaScript.valueToCode(t,"IF"+o,e.JavaScript.ORDER_NONE)||"false",r=e.JavaScript.statementToCode(t,"DO"+o);e.JavaScript.STATEMENT_SUFFIX&&(r=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)+r),n+=(0<o?" else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.JavaScript.STATEMENT_SUFFIX)&&(r=e.JavaScript.statementToCode(t,"ELSE"),e.JavaScript.STATEMENT_SUFFIX&&(r=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.JavaScript.controls_ifelse=e.JavaScript.controls_if,e.JavaScript.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.JavaScript.ORDER_EQUALITY:e.JavaScript.ORDER_RELATIONAL;return[(e.JavaScript.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.JavaScript.valueToCode(t,"B",n)||"0"),n]},e.JavaScript.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.JavaScript.ORDER_LOGICAL_AND:e.JavaScript.ORDER_LOGICAL_OR,i=e.JavaScript.valueToCode(t,"A",n);if(t=e.JavaScript.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.JavaScript.logic_negate=function(t){var o=e.JavaScript.ORDER_LOGICAL_NOT;return["!"+(e.JavaScript.valueToCode(t,"BOOL",o)||"true"),o]},e.JavaScript.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.logic_null=function(t){return["null",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.logic_ternary=function(t){return[(e.JavaScript.valueToCode(t,"IF",e.JavaScript.ORDER_CONDITIONAL)||"false")+" ? "+(e.JavaScript.valueToCode(t,"THEN",e.JavaScript.ORDER_CONDITIONAL)||"null")+" : "+(t=e.JavaScript.valueToCode(t,"ELSE",e.JavaScript.ORDER_CONDITIONAL)||"null"),e.JavaScript.ORDER_CONDITIONAL]},e.JavaScript.loops={},e.JavaScript.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.JavaScript.valueToCode(t,"TIMES",e.JavaScript.ORDER_ASSIGNMENT)||"0",n=e.JavaScript.statementToCode(t,"DO");n=e.JavaScript.addLoopTrap(n,t),t="";var i=e.JavaScript.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+="var "+(r=e.JavaScript.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for (var "+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.JavaScript.controls_repeat=e.JavaScript.controls_repeat_ext,e.JavaScript.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.JavaScript.valueToCode(t,"BOOL",o?e.JavaScript.ORDER_LOGICAL_NOT:e.JavaScript.ORDER_NONE)||"false",i=e.JavaScript.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.JavaScript.addLoopTrap(i,t))+"}\n"},e.JavaScript.controls_for=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_ASSIGNMENT)||"0",i=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_ASSIGNMENT)||"0",r=e.JavaScript.valueToCode(t,"BY",e.JavaScript.ORDER_ASSIGNMENT)||"1",s=e.JavaScript.statementToCode(t,"DO");if(s=e.JavaScript.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+="var "+(a=e.JavaScript.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+="var "+(n=e.JavaScript.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+="var "+(i=e.JavaScript.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"Math.abs("+r+");\n")+"if ("+a+" > "+n+") {\n"+(e.JavaScript.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.JavaScript.controls_forEach=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_ASSIGNMENT)||"[]",i=e.JavaScript.statementToCode(t,"DO");i=e.JavaScript.addLoopTrap(i,t),t="";var r=n;return n.match(/^\w+$/)||(t+="var "+(r=e.JavaScript.variableDB_.getDistinctName(o+"_list",e.Variables.NAME_TYPE))+" = "+n+";\n"),t+"for (var "+(n=e.JavaScript.variableDB_.getDistinctName(o+"_index",e.Variables.NAME_TYPE))+" in "+r+") {\n"+(i=e.JavaScript.INDENT+o+" = "+r+"["+n+"];\n"+i)+"}\n"},e.JavaScript.controls_flow_statements=function(t){var o="";if(e.JavaScript.STATEMENT_PREFIX&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t)),e.JavaScript.STATEMENT_SUFFIX&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t)),e.JavaScript.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.JavaScript.math={},e.JavaScript.math_number=function(t){return[t=parseFloat(t.getFieldValue("NUM")),0<=t?e.JavaScript.ORDER_ATOMIC:e.JavaScript.ORDER_UNARY_NEGATION]},e.JavaScript.math_arithmetic=function(t){var o={ADD:[" + ",e.JavaScript.ORDER_ADDITION],MINUS:[" - ",e.JavaScript.ORDER_SUBTRACTION],MULTIPLY:[" * ",e.JavaScript.ORDER_MULTIPLICATION],DIVIDE:[" / ",e.JavaScript.ORDER_DIVISION],POWER:[null,e.JavaScript.ORDER_COMMA]}[t.getFieldValue("OP")],n=o[0];o=o[1];var i=e.JavaScript.valueToCode(t,"A",o)||"0";return t=e.JavaScript.valueToCode(t,"B",o)||"0",n?[i+n+t,o]:["Math.pow("+i+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_UNARY_NEGATION)||"0")[0]&&(t=" "+t),["-"+t,e.JavaScript.ORDER_UNARY_NEGATION];switch(t="SIN"==o||"COS"==o||"TAN"==o?e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_DIVISION)||"0":e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_NONE)||"0",o){case"ABS":var n="Math.abs("+t+")";break;case"ROOT":n="Math.sqrt("+t+")";break;case"LN":n="Math.log("+t+")";break;case"EXP":n="Math.exp("+t+")";break;case"POW10":n="Math.pow(10,"+t+")";break;case"ROUND":n="Math.round("+t+")";break;case"ROUNDUP":n="Math.ceil("+t+")";break;case"ROUNDDOWN":n="Math.floor("+t+")";break;case"SIN":n="Math.sin("+t+" / 180 * Math.PI)";break;case"COS":n="Math.cos("+t+" / 180 * Math.PI)";break;case"TAN":n="Math.tan("+t+" / 180 * Math.PI)"}if(n)return[n,e.JavaScript.ORDER_FUNCTION_CALL];switch(o){case"LOG10":n="Math.log("+t+") / Math.log(10)";break;case"ASIN":n="Math.asin("+t+") / Math.PI * 180";break;case"ACOS":n="Math.acos("+t+") / Math.PI * 180";break;case"ATAN":n="Math.atan("+t+") / Math.PI * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.JavaScript.ORDER_DIVISION]},e.JavaScript.math_constant=function(t){return{PI:["Math.PI",e.JavaScript.ORDER_MEMBER],E:["Math.E",e.JavaScript.ORDER_MEMBER],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",e.JavaScript.ORDER_DIVISION],SQRT2:["Math.SQRT2",e.JavaScript.ORDER_MEMBER],SQRT1_2:["Math.SQRT1_2",e.JavaScript.ORDER_MEMBER],INFINITY:["Infinity",e.JavaScript.ORDER_ATOMIC]}[t.getFieldValue("CONSTANT")]},e.JavaScript.math_number_property=function(t){var o=e.JavaScript.valueToCode(t,"NUMBER_TO_CHECK",e.JavaScript.ORDER_MODULUS)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.JavaScript.provideFunction_("mathIsPrime",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if (n == 2 || n == 3) {","    return true;","  }","  // False if n is NaN, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (isNaN(n) || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {","    if (n % (x - 1) == 0 || n % (x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.JavaScript.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":i=o+" % "+(t=e.JavaScript.valueToCode(t,"DIVISOR",e.JavaScript.ORDER_MODULUS)||"0")+" == 0"}return[i,e.JavaScript.ORDER_EQUALITY]},e.JavaScript.math_change=function(t){var o=e.JavaScript.valueToCode(t,"DELTA",e.JavaScript.ORDER_ADDITION)||"0";return(t=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = (typeof "+t+" == 'number' ? "+t+" : 0) + "+o+";\n"},e.JavaScript.math_round=e.JavaScript.math_single,e.JavaScript.math_trig=e.JavaScript.math_single,e.JavaScript.math_on_list=function(t){var o=t.getFieldValue("OP");switch(o){case"SUM":t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",t+=".reduce(function(x, y) {return x + y;})";break;case"MIN":t="Math.min.apply(null, "+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_COMMA)||"[]")+")";break;case"MAX":t="Math.max.apply(null, "+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_COMMA)||"[]")+")";break;case"AVERAGE":t=(o=e.JavaScript.provideFunction_("mathMean",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  return myList.reduce(function(x, y) {return x + y;}) / myList.length;","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"MEDIAN":t=(o=e.JavaScript.provideFunction_("mathMedian",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  var localList = myList.filter(function (x) {return typeof x == 'number';});","  if (!localList.length) return null;","  localList.sort(function(a, b) {return b - a;});","  if (localList.length % 2 == 0) {","    return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;","  } else {","    return localList[(localList.length - 1) / 2];","  }","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"MODE":t=(o=e.JavaScript.provideFunction_("mathModes",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(values) {","  var modes = [];","  var counts = [];","  var maxCount = 0;","  for (var i = 0; i < values.length; i++) {","    var value = values[i];","    var found = false;","    var thisCount;","    for (var j = 0; j < counts.length; j++) {","      if (counts[j][0] === value) {","        thisCount = ++counts[j][1];","        found = true;","        break;","      }","    }","    if (!found) {","      counts.push([value, 1]);","      thisCount = 1;","    }","    maxCount = Math.max(thisCount, maxCount);","  }","  for (var j = 0; j < counts.length; j++) {","    if (counts[j][1] == maxCount) {","        modes.push(counts[j][0]);","    }","  }","  return modes;","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"STD_DEV":t=(o=e.JavaScript.provideFunction_("mathStandardDeviation",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(numbers) {","  var n = numbers.length;","  if (!n) return null;","  var mean = numbers.reduce(function(x, y) {return x + y;}) / n;","  var variance = 0;","  for (var j = 0; j < n; j++) {","    variance += Math.pow(numbers[j] - mean, 2);","  }","  variance = variance / n;","  return Math.sqrt(variance);","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"RANDOM":t=(o=e.JavaScript.provideFunction_("mathRandomList",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list) {","  var x = Math.floor(Math.random() * list.length);","  return list[x];","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;default:throw Error("Unknown operator: "+o)}return[t,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_modulo=function(t){return[(e.JavaScript.valueToCode(t,"DIVIDEND",e.JavaScript.ORDER_MODULUS)||"0")+" % "+(t=e.JavaScript.valueToCode(t,"DIVISOR",e.JavaScript.ORDER_MODULUS)||"0"),e.JavaScript.ORDER_MODULUS]},e.JavaScript.math_constrain=function(t){return["Math.min(Math.max("+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_COMMA)||"0")+", "+(e.JavaScript.valueToCode(t,"LOW",e.JavaScript.ORDER_COMMA)||"0")+"), "+(t=e.JavaScript.valueToCode(t,"HIGH",e.JavaScript.ORDER_COMMA)||"Infinity")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_random_int=function(t){var o=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_COMMA)||"0";return t=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_COMMA)||"0",[e.JavaScript.provideFunction_("mathRandomInt",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(a, b) {","  if (a > b) {","    // Swap a and b to ensure a is smaller.","    var c = a;","    a = b;","    b = c;","  }","  return Math.floor(Math.random() * (b - a + 1) + a);","}"])+"("+o+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_random_float=function(t){return["Math.random()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_atan2=function(t){var o=e.JavaScript.valueToCode(t,"X",e.JavaScript.ORDER_COMMA)||"0";return["Math.atan2("+(e.JavaScript.valueToCode(t,"Y",e.JavaScript.ORDER_COMMA)||"0")+", "+o+") / Math.PI * 180",e.JavaScript.ORDER_DIVISION]},e.JavaScript.procedures={},e.JavaScript.procedures_defreturn=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.JavaScript.STATEMENT_PREFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t)),e.JavaScript.STATEMENT_SUFFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t)),n&&(n=e.JavaScript.prefixLines(n,e.JavaScript.INDENT));var i="";e.JavaScript.INFINITE_LOOP_TRAP&&(i=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.INFINITE_LOOP_TRAP,t),e.JavaScript.INDENT));var r=e.JavaScript.statementToCode(t,"STACK"),s=e.JavaScript.valueToCode(t,"RETURN",e.JavaScript.ORDER_NONE)||"",a="";r&&s&&(a=n),s&&(s=e.JavaScript.INDENT+"return "+s+";\n");for(var l=[],u=0;u<t.arguments_.length;u++)l[u]=e.JavaScript.variableDB_.getName(t.arguments_[u],e.Variables.NAME_TYPE);return n="function "+o+"("+l.join(", ")+") {\n"+n+i+r+a+s+"}",n=e.JavaScript.scrub_(t,n),e.JavaScript.definitions_["%"+o]=n,null},e.JavaScript.procedures_defnoreturn=e.JavaScript.procedures_defreturn,e.JavaScript.procedures_callreturn=function(t){for(var o=e.JavaScript.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.JavaScript.valueToCode(t,"ARG"+i,e.JavaScript.ORDER_COMMA)||"null";return[o+"("+n.join(", ")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.procedures_callnoreturn=function(t){return e.JavaScript.procedures_callreturn(t)[0]+";\n"},e.JavaScript.procedures_ifreturn=function(t){var o="if ("+(e.JavaScript.valueToCode(t,"CONDITION",e.JavaScript.ORDER_NONE)||"false")+") {\n";return e.JavaScript.STATEMENT_SUFFIX&&(o+=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)),t.hasReturnValue_?(t=e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_NONE)||"null",o+=e.JavaScript.INDENT+"return "+t+";\n"):o+=e.JavaScript.INDENT+"return;\n",o+"}\n"},e.JavaScript.texts={},e.JavaScript.text=function(t){return[e.JavaScript.quote_(t.getFieldValue("TEXT")),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.text.forceString_=function(t){return e.JavaScript.text.forceString_.strRegExp.test(t)?t:"String("+t+")"},e.JavaScript.text.forceString_.strRegExp=/^\s*'([^']|\\')*'\s*$/,e.JavaScript.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.JavaScript.ORDER_ATOMIC];case 1:return t=e.JavaScript.valueToCode(t,"ADD0",e.JavaScript.ORDER_NONE)||"''",[t=e.JavaScript.text.forceString_(t),e.JavaScript.ORDER_FUNCTION_CALL];case 2:var o=e.JavaScript.valueToCode(t,"ADD0",e.JavaScript.ORDER_NONE)||"''";return t=e.JavaScript.valueToCode(t,"ADD1",e.JavaScript.ORDER_NONE)||"''",[t=e.JavaScript.text.forceString_(o)+" + "+e.JavaScript.text.forceString_(t),e.JavaScript.ORDER_ADDITION];default:o=Array(t.itemCount_);for(var n=0;n<t.itemCount_;n++)o[n]=e.JavaScript.valueToCode(t,"ADD"+n,e.JavaScript.ORDER_COMMA)||"''";return[t="["+o.join(",")+"].join('')",e.JavaScript.ORDER_FUNCTION_CALL]}},e.JavaScript.text_append=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return t=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''",o+" += "+e.JavaScript.text.forceString_(t)+";\n"},e.JavaScript.text_length=function(t){return[(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_FUNCTION_CALL)||"''")+".length",e.JavaScript.ORDER_MEMBER]},e.JavaScript.text_isEmpty=function(t){return["!"+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"''")+".length",e.JavaScript.ORDER_LOGICAL_NOT]},e.JavaScript.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.JavaScript.valueToCode(t,"FIND",e.JavaScript.ORDER_NONE)||"''";return o=(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.JavaScript.ORDER_ADDITION]:[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.JavaScript.valueToCode(t,"VALUE","RANDOM"==o?e.JavaScript.ORDER_NONE:e.JavaScript.ORDER_MEMBER)||"''";switch(o){case"FIRST":return[n+".charAt(0)",e.JavaScript.ORDER_FUNCTION_CALL];case"LAST":return[n+".slice(-1)",e.JavaScript.ORDER_FUNCTION_CALL];case"FROM_START":return[n+".charAt("+(t=e.JavaScript.getAdjusted(t,"AT"))+")",e.JavaScript.ORDER_FUNCTION_CALL];case"FROM_END":return[n+".slice("+(t=e.JavaScript.getAdjusted(t,"AT",1,!0))+").charAt(0)",e.JavaScript.ORDER_FUNCTION_CALL];case"RANDOM":return[e.JavaScript.provideFunction_("textRandomLetter",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(text) {","  var x = Math.floor(Math.random() * text.length);","  return text[x];","}"])+"("+n+")",e.JavaScript.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.JavaScript.text.getIndex_=function(e,t,o){return"FIRST"==t?"0":"FROM_END"==t?e+".length - 1 - "+o:"LAST"==t?e+".length - 1":o},e.JavaScript.text_getSubstring=function(t){var o=e.JavaScript.valueToCode(t,"STRING",e.JavaScript.ORDER_FUNCTION_CALL)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i)if(o.match(/^'?\w+'?$/)||"FROM_END"!=n&&"LAST"!=n&&"FROM_END"!=i&&"LAST"!=i){switch(n){case"FROM_START":var r=e.JavaScript.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.JavaScript.getAdjusted(t,"AT1",1,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (text_getSubstring).")}switch(i){case"FROM_START":t=e.JavaScript.getAdjusted(t,"AT2",1);break;case"FROM_END":t=o+".length - "+(t=e.JavaScript.getAdjusted(t,"AT2",0,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"LAST":t=o+".length";break;default:throw Error("Unhandled option (text_getSubstring).")}o=o+".slice("+r+", "+t+")"}else{r=e.JavaScript.getAdjusted(t,"AT1"),t=e.JavaScript.getAdjusted(t,"AT2");var s=e.JavaScript.text.getIndex_,a={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};o=e.JavaScript.provideFunction_("subsequence"+a[n]+a[i],["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+") {","  var start = "+s("sequence",n,"at1")+";","  var end = "+s("sequence",i,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")"}return[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_changeCase=function(t){var o={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[t.getFieldValue("CASE")];return t=e.JavaScript.valueToCode(t,"TEXT",o?e.JavaScript.ORDER_MEMBER:e.JavaScript.ORDER_NONE)||"''",[o?t+o:e.JavaScript.provideFunction_("textToTitleCase",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(str) {","  return str.replace(/\\S+/g,","      function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});","}"])+"("+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_trim=function(t){var o={LEFT:".replace(/^[\\s\\xa0]+/, '')",RIGHT:".replace(/[\\s\\xa0]+$/, '')",BOTH:".trim()"}[t.getFieldValue("MODE")];return[(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''")+o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_print=function(t){return"window.alert("+(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''")+");\n"},e.JavaScript.text_prompt_ext=function(t){var o="window.prompt("+(t.getField("TEXT")?e.JavaScript.quote_(t.getFieldValue("TEXT")):e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''")+")";return"NUMBER"==t.getFieldValue("TYPE")&&(o="parseFloat("+o+")"),[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_prompt=e.JavaScript.text_prompt_ext,e.JavaScript.text_count=function(t){var o=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''";return t=e.JavaScript.valueToCode(t,"SUB",e.JavaScript.ORDER_NONE)||"''",[e.JavaScript.provideFunction_("textCount",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle) {","  if (needle.length === 0) {","    return haystack.length + 1;","  } else {","    return haystack.split(needle).length - 1;","  }","}"])+"("+o+", "+t+")",e.JavaScript.ORDER_SUBTRACTION]},e.JavaScript.text_replace=function(t){var o=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''",n=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_NONE)||"''";return t=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_NONE)||"''",[e.JavaScript.provideFunction_("textReplace",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle, replacement) {",'  needle = needle.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,"\\\\$1")','                 .replace(/\\x08/g,"\\\\x08");',"  return haystack.replace(new RegExp(needle, 'g'), replacement);","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_MEMBER]},e.JavaScript.text_reverse=function(t){return[(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''")+".split('').reverse().join('')",e.JavaScript.ORDER_MEMBER]},e.JavaScript.variables={},e.JavaScript.variables_get=function(t){return[e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.variables_set=function(t){var o=e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_ASSIGNMENT)||"0";return e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.JavaScript.variablesDynamic={},e.JavaScript.variables_get_dynamic=e.JavaScript.variables_get,e.JavaScript.variables_set_dynamic=e.JavaScript.variables_set,e.JavaScript}},function(e,t){e.exports=function(e){"use strict";return e.Lua=new e.Generator("Lua"),e.Lua.addReservedWords("_,__inext,assert,bit,colors,colours,coroutine,disk,dofile,error,fs,fetfenv,getmetatable,gps,help,io,ipairs,keys,loadfile,loadstring,math,native,next,os,paintutils,pairs,parallel,pcall,peripheral,print,printError,rawequal,rawget,rawset,read,rednet,redstone,rs,select,setfenv,setmetatable,sleep,string,table,term,textutils,tonumber,tostring,turtle,type,unpack,vector,write,xpcall,_VERSION,__indext,HTTP,and,break,do,else,elseif,end,false,for,function,if,in,local,nil,not,or,repeat,return,then,true,until,while,add,sub,mul,div,mod,pow,unm,concat,len,eq,lt,le,index,newindex,call,assert,collectgarbage,dofile,error,_G,getmetatable,inpairs,load,loadfile,next,pairs,pcall,print,rawequal,rawget,rawlen,rawset,select,setmetatable,tonumber,tostring,type,_VERSION,xpcall,require,package,string,table,math,bit32,io,file,os,debug"),e.Lua.ORDER_ATOMIC=0,e.Lua.ORDER_HIGH=1,e.Lua.ORDER_EXPONENTIATION=2,e.Lua.ORDER_UNARY=3,e.Lua.ORDER_MULTIPLICATIVE=4,e.Lua.ORDER_ADDITIVE=5,e.Lua.ORDER_CONCATENATION=6,e.Lua.ORDER_RELATIONAL=7,e.Lua.ORDER_AND=8,e.Lua.ORDER_OR=9,e.Lua.ORDER_NONE=99,e.Lua.init=function(t){e.Lua.definitions_=Object.create(null),e.Lua.functionNames_=Object.create(null),e.Lua.variableDB_?e.Lua.variableDB_.reset():e.Lua.variableDB_=new e.Names(e.Lua.RESERVED_WORDS_),e.Lua.variableDB_.setVariableMap(t.getVariableMap())},e.Lua.finish=function(t){var o,n=[];for(o in e.Lua.definitions_)n.push(e.Lua.definitions_[o]);return delete e.Lua.definitions_,delete e.Lua.functionNames_,e.Lua.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.Lua.scrubNakedValue=function(e){return"local _ = "+e+"\n"},e.Lua.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.Lua.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Lua.COMMENT_WRAP-3))&&(i+=e.Lua.prefixLines(r,"-- ")+"\n");for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Lua.allNestedComments(r))&&(i+=e.Lua.prefixLines(r,"-- "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Lua.blockToCode(t))},e.Lua.colour={},e.Lua.colour_picker=function(t){return[e.Lua.quote_(t.getFieldValue("COLOUR")),e.Lua.ORDER_ATOMIC]},e.Lua.colour_random=function(t){return['string.format("#%06x", math.random(0, 2^24 - 1))',e.Lua.ORDER_HIGH]},e.Lua.colour_rgb=function(t){return[e.Lua.provideFunction_("colour_rgb",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b)","  r = math.floor(math.min(100, math.max(0, r)) * 2.55 + .5)","  g = math.floor(math.min(100, math.max(0, g)) * 2.55 + .5)","  b = math.floor(math.min(100, math.max(0, b)) * 2.55 + .5)",'  return string.format("#%02x%02x%02x", r, g, b)',"end"])+"("+(e.Lua.valueToCode(t,"RED",e.Lua.ORDER_NONE)||0)+", "+(e.Lua.valueToCode(t,"GREEN",e.Lua.ORDER_NONE)||0)+", "+(t=e.Lua.valueToCode(t,"BLUE",e.Lua.ORDER_NONE)||0)+")",e.Lua.ORDER_HIGH]},e.Lua.colour_blend=function(t){return[e.Lua.provideFunction_("colour_blend",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio)","  local r1 = tonumber(string.sub(colour1, 2, 3), 16)","  local r2 = tonumber(string.sub(colour2, 2, 3), 16)","  local g1 = tonumber(string.sub(colour1, 4, 5), 16)","  local g2 = tonumber(string.sub(colour2, 4, 5), 16)","  local b1 = tonumber(string.sub(colour1, 6, 7), 16)","  local b2 = tonumber(string.sub(colour2, 6, 7), 16)","  local ratio = math.min(1, math.max(0, ratio))","  local r = math.floor(r1 * (1 - ratio) + r2 * ratio + .5)","  local g = math.floor(g1 * (1 - ratio) + g2 * ratio + .5)","  local b = math.floor(b1 * (1 - ratio) + b2 * ratio + .5)",'  return string.format("#%02x%02x%02x", r, g, b)',"end"])+"("+(e.Lua.valueToCode(t,"COLOUR1",e.Lua.ORDER_NONE)||"'#000000'")+", "+(e.Lua.valueToCode(t,"COLOUR2",e.Lua.ORDER_NONE)||"'#000000'")+", "+(t=e.Lua.valueToCode(t,"RATIO",e.Lua.ORDER_NONE)||0)+")",e.Lua.ORDER_HIGH]},e.Lua.lists={},e.Lua.lists_create_empty=function(t){return["{}",e.Lua.ORDER_ATOMIC]},e.Lua.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Lua.valueToCode(t,"ADD"+n,e.Lua.ORDER_NONE)||"None";return["{"+o.join(", ")+"}",e.Lua.ORDER_ATOMIC]},e.Lua.lists_repeat=function(t){return[e.Lua.provideFunction_("create_list_repeated",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(item, count)","  local t = {}","  for i = 1, count do","    table.insert(t, item)","  end","  return t","end"])+"("+(e.Lua.valueToCode(t,"ITEM",e.Lua.ORDER_NONE)||"None")+", "+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_NONE)||"0")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_length=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"{}"),e.Lua.ORDER_UNARY]},e.Lua.lists_isEmpty=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"{}")+" == 0",e.Lua.ORDER_RELATIONAL]},e.Lua.lists_indexOf=function(t){var o=e.Lua.valueToCode(t,"FIND",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"{}";return[("FIRST"==t.getFieldValue("END")?e.Lua.provideFunction_("first_index",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t, elem)","  for k, v in ipairs(t) do","    if v == elem then","      return k","    end","  end","  return 0","end"]):e.Lua.provideFunction_("last_index",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t, elem)","  for i = #t, 1, -1 do","    if t[i] == elem then","      return i","    end","  end","  return 0","end"]))+"("+n+", "+o+")",e.Lua.ORDER_HIGH]},e.Lua.lists.getIndex_=function(e,t,o){return"FIRST"==t?"1":"FROM_END"==t?"#"+e+" + 1 - "+o:"LAST"==t?"#"+e:"RANDOM"==t?"math.random(#"+e+")":o},e.Lua.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_HIGH)||"{}",r=e.Lua.lists.getIndex_;if("LAST"!=n&&"FROM_END"!=n&&"RANDOM"!=n||i.match(/^\w+$/))return s="GET"==o&&"FROM_END"==n?e.Lua.ORDER_ADDITIVE:e.Lua.ORDER_NONE,t=r(i,n,t=e.Lua.valueToCode(t,"AT",s)||"1"),"GET"==o?[i+"["+t+"]",e.Lua.ORDER_HIGH]:(n="table.remove("+i+", "+t+")","GET_REMOVE"==o?[n,e.Lua.ORDER_HIGH]:n+"\n");if("REMOVE"==o){var s="FROM_END"==n?e.Lua.ORDER_ADDITIVE:e.Lua.ORDER_NONE;return t=e.Lua.valueToCode(t,"AT",s)||"1",(o=e.Lua.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = "+i+"\ntable.remove("+o+", "+(t=r(o,n,t))+")\n"}return t=e.Lua.valueToCode(t,"AT",e.Lua.ORDER_NONE)||"1",[("GET"==o?e.Lua.provideFunction_("list_get_"+n.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t"+("FROM_END"==n||"FROM_START"==n?", at)":")"),"  return t["+r("t",n,"at")+"]","end"]):e.Lua.provideFunction_("list_remove_"+n.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t"+("FROM_END"==n||"FROM_START"==n?", at)":")"),"  return table.remove(t, "+r("t",n,"at")+")","end"]))+"("+i+("FROM_END"==n||"FROM_START"==n?", "+t:"")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_setIndex=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_HIGH)||"{}",n=t.getFieldValue("MODE")||"SET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Lua.valueToCode(t,"AT",e.Lua.ORDER_ADDITIVE)||"1";t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"None";var s=e.Lua.lists.getIndex_,a="";if(("LAST"==i||"FROM_END"==i||"RANDOM"==i)&&!o.match(/^\w+$/)){var l=e.Lua.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE);a=l+" = "+o+"\n",o=l}return(a="SET"==n?a+(o+"[")+s(o,i,r)+"] = "+t:a+"table.insert("+o+", "+s(o,i,r)+("LAST"==i?" + 1":"")+", "+t+")")+"\n"},e.Lua.lists_getSublist=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2"),r=e.Lua.valueToCode(t,"AT1",e.Lua.ORDER_NONE)||"1";t=e.Lua.valueToCode(t,"AT2",e.Lua.ORDER_NONE)||"1";var s=e.Lua.lists.getIndex_;return[e.Lua.provideFunction_("list_sublist_"+n.toLowerCase()+"_"+i.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(source"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+")","  local t = {}","  local start = "+s("source",n,"at1"),"  local finish = "+s("source",i,"at2"),"  for i = start, finish do","    table.insert(t, source[i])","  end","  return t","end"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_sort=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.Lua.provideFunction_("list_sort",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(list, typev, direction)","  local t = {}","  for n,v in pairs(list) do table.insert(t, v) end","  local compareFuncs = {","    NUMERIC = function(a, b)","      return (tonumber(tostring(a)) or 0)","          < (tonumber(tostring(b)) or 0) end,","    TEXT = function(a, b)","      return tostring(a) < tostring(b) end,","    IGNORE_CASE = function(a, b)","      return string.lower(tostring(a)) < string.lower(tostring(b)) end","  }","  local compareTemp = compareFuncs[typev]","  local compare = compareTemp","  if direction == -1","  then compare = function(a, b) return compareTemp(b, a) end","  end","  table.sort(t, compare)","  return t","end"])+"("+o+',"'+t+'", '+n+")",e.Lua.ORDER_HIGH]},e.Lua.lists_split=function(t){var o=e.Lua.valueToCode(t,"INPUT",e.Lua.ORDER_NONE),n=e.Lua.valueToCode(t,"DELIM",e.Lua.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t=e.Lua.provideFunction_("list_string_split",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(input, delim)","  local t = {}","  local pos = 1","  while true do","    next_delim = string.find(input, delim, pos)","    if next_delim == nil then","      table.insert(t, string.sub(input, pos))","      break","    else","      table.insert(t, string.sub(input, pos, next_delim-1))","      pos = next_delim + #delim","    end","  end","  return t","end"]);else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="{}"),t="table.concat"}return[t+"("+o+", "+n+")",e.Lua.ORDER_HIGH]},e.Lua.lists_reverse=function(t){return t=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",e.Lua.provideFunction_("list_reverse",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(input)","  local reversed = {}","  for i = #input, 1, -1 do","    table.insert(reversed, input[i])","  end","  return reversed","end"]),["list_reverse("+t+")",e.Lua.ORDER_HIGH]},e.Lua.logic={},e.Lua.controls_if=function(t){var o=0,n="";e.Lua.STATEMENT_PREFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t));do{var i=e.Lua.valueToCode(t,"IF"+o,e.Lua.ORDER_NONE)||"false",r=e.Lua.statementToCode(t,"DO"+o);e.Lua.STATEMENT_SUFFIX&&(r=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)+r),n+=(0<o?"else":"")+"if "+i+" then\n"+r,++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Lua.STATEMENT_SUFFIX)&&(r=e.Lua.statementToCode(t,"ELSE"),e.Lua.STATEMENT_SUFFIX&&(r=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)+r),n+="else\n"+r),n+"end\n"},e.Lua.controls_ifelse=e.Lua.controls_if,e.Lua.logic_compare=function(t){var o={EQ:"==",NEQ:"~=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")];return[(e.Lua.valueToCode(t,"A",e.Lua.ORDER_RELATIONAL)||"0")+" "+o+" "+(t=e.Lua.valueToCode(t,"B",e.Lua.ORDER_RELATIONAL)||"0"),e.Lua.ORDER_RELATIONAL]},e.Lua.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"and":"or",n="and"==o?e.Lua.ORDER_AND:e.Lua.ORDER_OR,i=e.Lua.valueToCode(t,"A",n);if(t=e.Lua.valueToCode(t,"B",n),i||t){var r="and"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.Lua.logic_negate=function(t){return["not "+(e.Lua.valueToCode(t,"BOOL",e.Lua.ORDER_UNARY)||"true"),e.Lua.ORDER_UNARY]},e.Lua.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.Lua.ORDER_ATOMIC]},e.Lua.logic_null=function(t){return["nil",e.Lua.ORDER_ATOMIC]},e.Lua.logic_ternary=function(t){return[(e.Lua.valueToCode(t,"IF",e.Lua.ORDER_AND)||"false")+" and "+(e.Lua.valueToCode(t,"THEN",e.Lua.ORDER_AND)||"nil")+" or "+(t=e.Lua.valueToCode(t,"ELSE",e.Lua.ORDER_OR)||"nil"),e.Lua.ORDER_OR]},e.Lua.loops={},e.Lua.CONTINUE_STATEMENT="goto continue\n",e.Lua.addContinueLabel_=function(t){return-1!=t.indexOf(e.Lua.CONTINUE_STATEMENT)?t+e.Lua.INDENT+"::continue::\n":t},e.Lua.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.Lua.valueToCode(t,"TIMES",e.Lua.ORDER_NONE)||"0";o=e.isNumber(o)?parseInt(o,10):"math.floor("+o+")";var n=e.Lua.statementToCode(t,"DO");return n=e.Lua.addLoopTrap(n,t),n=e.Lua.addContinueLabel_(n),"for "+e.Lua.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE)+" = 1, "+o+" do\n"+n+"end\n"},e.Lua.controls_repeat=e.Lua.controls_repeat_ext,e.Lua.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Lua.valueToCode(t,"BOOL",o?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"false",i=e.Lua.statementToCode(t,"DO");return i=e.Lua.addLoopTrap(i,t),o&&(n="not "+n),"while "+n+" do\n"+(i=e.Lua.addContinueLabel_(i))+"end\n"},e.Lua.controls_for=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"0",i=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"0",r=e.Lua.valueToCode(t,"BY",e.Lua.ORDER_NONE)||"1",s=e.Lua.statementToCode(t,"DO");if(s=e.Lua.addLoopTrap(s,t),s=e.Lua.addContinueLabel_(s),t="",e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);a=(a?"":"-")+(r=Math.abs(parseFloat(r)))}else t="",t+=(a=e.Lua.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+"\n"):t+"math.abs("+r+")\n")+"if ("+n+") > ("+i+") then\n"+(e.Lua.INDENT+a)+" = -"+a+"\n",t+="end\n";return t+"for "+o+" = "+n+", "+i+", "+a+" do\n"+s+"end\n"},e.Lua.controls_forEach=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",i=e.Lua.statementToCode(t,"DO");return i=e.Lua.addLoopTrap(i,t),"for _, "+o+" in ipairs("+n+") do \n"+(i=e.Lua.addContinueLabel_(i))+"end\n"},e.Lua.controls_flow_statements=function(t){var o="";if(e.Lua.STATEMENT_PREFIX&&(o+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t)),e.Lua.STATEMENT_SUFFIX&&(o+=e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t)),e.Lua.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break\n";case"CONTINUE":return o+e.Lua.CONTINUE_STATEMENT}throw Error("Unknown flow statement.")},e.Lua.math={},e.Lua.math_number=function(t){return[t=parseFloat(t.getFieldValue("NUM")),0>t?e.Lua.ORDER_UNARY:e.Lua.ORDER_ATOMIC]},e.Lua.math_arithmetic=function(t){var o={ADD:[" + ",e.Lua.ORDER_ADDITIVE],MINUS:[" - ",e.Lua.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Lua.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Lua.ORDER_MULTIPLICATIVE],POWER:[" ^ ",e.Lua.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.Lua.valueToCode(t,"A",o)||"0")+n+(t=e.Lua.valueToCode(t,"B",o)||"0"),o]},e.Lua.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return["-"+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_UNARY)||"0"),e.Lua.ORDER_UNARY];if("POW10"==o)return["10 ^ "+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_EXPONENTIATION)||"0"),e.Lua.ORDER_EXPONENTIATION];switch(t="ROUND"==o?e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_ADDITIVE)||"0":e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_NONE)||"0",o){case"ABS":o="math.abs("+t+")";break;case"ROOT":o="math.sqrt("+t+")";break;case"LN":o="math.log("+t+")";break;case"LOG10":o="math.log("+t+", 10)";break;case"EXP":o="math.exp("+t+")";break;case"ROUND":o="math.floor("+t+" + .5)";break;case"ROUNDUP":o="math.ceil("+t+")";break;case"ROUNDDOWN":o="math.floor("+t+")";break;case"SIN":o="math.sin(math.rad("+t+"))";break;case"COS":o="math.cos(math.rad("+t+"))";break;case"TAN":o="math.tan(math.rad("+t+"))";break;case"ASIN":o="math.deg(math.asin("+t+"))";break;case"ACOS":o="math.deg(math.acos("+t+"))";break;case"ATAN":o="math.deg(math.atan("+t+"))";break;default:throw Error("Unknown math operator: "+o)}return[o,e.Lua.ORDER_HIGH]},e.Lua.math_constant=function(t){return{PI:["math.pi",e.Lua.ORDER_HIGH],E:["math.exp(1)",e.Lua.ORDER_HIGH],GOLDEN_RATIO:["(1 + math.sqrt(5)) / 2",e.Lua.ORDER_MULTIPLICATIVE],SQRT2:["math.sqrt(2)",e.Lua.ORDER_HIGH],SQRT1_2:["math.sqrt(1 / 2)",e.Lua.ORDER_HIGH],INFINITY:["math.huge",e.Lua.ORDER_HIGH]}[t.getFieldValue("CONSTANT")]},e.Lua.math_number_property=function(t){var o=e.Lua.valueToCode(t,"NUMBER_TO_CHECK",e.Lua.ORDER_MULTIPLICATIVE)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.Lua.provideFunction_("math_isPrime",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(n)","  -- https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if n == 2 or n == 3 then","    return true","  end","  -- False if n is NaN, negative, is 1, or not whole.","  -- And false if n is divisible by 2 or 3.","  if not(n > 1) or n % 1 ~= 0 or n % 2 == 0 or n % 3 == 0 then","    return false","  end","  -- Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for x = 6, math.sqrt(n) + 1.5, 6 do","    if n % (x - 1) == 0 or n % (x + 1) == 0 then","      return false","    end","  end","  return true","end"])+"("+o+")",e.Lua.ORDER_HIGH];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Lua.valueToCode(t,"DIVISOR",e.Lua.ORDER_MULTIPLICATIVE))||"0"==t)return["nil",e.Lua.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Lua.ORDER_RELATIONAL]},e.Lua.math_change=function(t){var o=e.Lua.valueToCode(t,"DELTA",e.Lua.ORDER_ADDITIVE)||"0";return(t=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = "+t+" + "+o+"\n"},e.Lua.math_round=e.Lua.math_single,e.Lua.math_trig=e.Lua.math_single,e.Lua.math_on_list=function(t){function o(){return e.Lua.provideFunction_("math_sum",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  local result = 0","  for _, v in ipairs(t) do","    result = result + v","  end","  return result","end"])}var n=t.getFieldValue("OP");switch(t=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n){case"SUM":n=o();break;case"MIN":n=e.Lua.provideFunction_("math_min",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  local result = math.huge","  for _, v in ipairs(t) do","    if v < result then","      result = v","    end","  end","  return result","end"]);break;case"AVERAGE":n=e.Lua.provideFunction_("math_average",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  return "+o()+"(t) / #t","end"]);break;case"MAX":n=e.Lua.provideFunction_("math_max",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  local result = -math.huge","  for _, v in ipairs(t) do","    if v > result then","      result = v","    end","  end","  return result","end"]);break;case"MEDIAN":n=e.Lua.provideFunction_("math_median",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  -- Source: http://lua-users.org/wiki/SimpleStats","  if #t == 0 then","    return 0","  end","  local temp={}","  for _, v in ipairs(t) do",'    if type(v) == "number" then',"      table.insert(temp, v)","    end","  end","  table.sort(temp)","  if #temp % 2 == 0 then","    return (temp[#temp/2] + temp[(#temp/2)+1]) / 2","  else","    return temp[math.ceil(#temp/2)]","  end","end"]);break;case"MODE":n=e.Lua.provideFunction_("math_modes",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  -- Source: http://lua-users.org/wiki/SimpleStats","  local counts={}","  for _, v in ipairs(t) do","    if counts[v] == nil then","      counts[v] = 1","    else","      counts[v] = counts[v] + 1","    end","  end","  local biggestCount = 0","  for _, v  in pairs(counts) do","    if v > biggestCount then","      biggestCount = v","    end","  end","  local temp={}","  for k, v in pairs(counts) do","    if v == biggestCount then","      table.insert(temp, k)","    end","  end","  return temp","end"]);break;case"STD_DEV":n=e.Lua.provideFunction_("math_standard_deviation",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  local m","  local vm","  local total = 0","  local count = 0","  local result","  m = #t == 0 and 0 or "+o()+"(t) / #t","  for _, v in ipairs(t) do","    if type(v) == 'number' then","      vm = v - m","      total = total + (vm * vm)","      count = count + 1","    end","  end","  result = math.sqrt(total / (count-1))","  return result","end"]);break;case"RANDOM":n=e.Lua.provideFunction_("math_random_list",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return nil","  end","  return t[math.random(#t)]","end"]);break;default:throw Error("Unknown operator: "+n)}return[n+"("+t+")",e.Lua.ORDER_HIGH]},e.Lua.math_modulo=function(t){return[(e.Lua.valueToCode(t,"DIVIDEND",e.Lua.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Lua.valueToCode(t,"DIVISOR",e.Lua.ORDER_MULTIPLICATIVE)||"0"),e.Lua.ORDER_MULTIPLICATIVE]},e.Lua.math_constrain=function(t){return["math.min(math.max("+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"0")+", "+(e.Lua.valueToCode(t,"LOW",e.Lua.ORDER_NONE)||"-math.huge")+"), "+(t=e.Lua.valueToCode(t,"HIGH",e.Lua.ORDER_NONE)||"math.huge")+")",e.Lua.ORDER_HIGH]},e.Lua.math_random_int=function(t){return["math.random("+(e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"0")+", "+(t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"0")+")",e.Lua.ORDER_HIGH]},e.Lua.math_random_float=function(t){return["math.random()",e.Lua.ORDER_HIGH]},e.Lua.math_atan2=function(t){var o=e.Lua.valueToCode(t,"X",e.Lua.ORDER_NONE)||"0";return["math.deg(math.atan2("+(e.Lua.valueToCode(t,"Y",e.Lua.ORDER_NONE)||"0")+", "+o+"))",e.Lua.ORDER_HIGH]},e.Lua.procedures={},e.Lua.procedures_defreturn=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.Lua.STATEMENT_PREFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t)),e.Lua.STATEMENT_SUFFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t)),n&&(n=e.Lua.prefixLines(n,e.Lua.INDENT));var i="";e.Lua.INFINITE_LOOP_TRAP&&(i=e.Lua.prefixLines(e.Lua.injectId(e.Lua.INFINITE_LOOP_TRAP,t),e.Lua.INDENT));var r=e.Lua.statementToCode(t,"STACK"),s=e.Lua.valueToCode(t,"RETURN",e.Lua.ORDER_NONE)||"",a="";r&&s&&(a=n),s?s=e.Lua.INDENT+"return "+s+"\n":r||(r="");for(var l=[],u=0;u<t.arguments_.length;u++)l[u]=e.Lua.variableDB_.getName(t.arguments_[u],e.Variables.NAME_TYPE);return n="function "+o+"("+l.join(", ")+")\n"+n+i+r+a+s+"end\n",n=e.Lua.scrub_(t,n),e.Lua.definitions_["%"+o]=n,null},e.Lua.procedures_defnoreturn=e.Lua.procedures_defreturn,e.Lua.procedures_callreturn=function(t){for(var o=e.Lua.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Lua.valueToCode(t,"ARG"+i,e.Lua.ORDER_NONE)||"nil";return[o+"("+n.join(", ")+")",e.Lua.ORDER_HIGH]},e.Lua.procedures_callnoreturn=function(t){return e.Lua.procedures_callreturn(t)[0]+"\n"},e.Lua.procedures_ifreturn=function(t){var o="if "+(e.Lua.valueToCode(t,"CONDITION",e.Lua.ORDER_NONE)||"false")+" then\n";return e.Lua.STATEMENT_SUFFIX&&(o+=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)),t.hasReturnValue_?(t=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"nil",o+=e.Lua.INDENT+"return "+t+"\n"):o+=e.Lua.INDENT+"return\n",o+"end\n"},e.Lua.texts={},e.Lua.text=function(t){return[e.Lua.quote_(t.getFieldValue("TEXT")),e.Lua.ORDER_ATOMIC]},e.Lua.text_join=function(t){if(0==t.itemCount_)return["''",e.Lua.ORDER_ATOMIC];if(1==t.itemCount_)return["tostring("+(e.Lua.valueToCode(t,"ADD0",e.Lua.ORDER_NONE)||"''")+")",e.Lua.ORDER_HIGH];if(2==t.itemCount_){var o=e.Lua.valueToCode(t,"ADD0",e.Lua.ORDER_CONCATENATION)||"''";return[o+" .. "+(t=e.Lua.valueToCode(t,"ADD1",e.Lua.ORDER_CONCATENATION)||"''"),e.Lua.ORDER_CONCATENATION]}o=[];for(var n=0;n<t.itemCount_;n++)o[n]=e.Lua.valueToCode(t,"ADD"+n,e.Lua.ORDER_NONE)||"''";return[t="table.concat({"+o.join(", ")+"})",e.Lua.ORDER_HIGH]},e.Lua.text_append=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return o+" = "+o+" .. "+(t=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_CONCATENATION)||"''")+"\n"},e.Lua.text_length=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"''"),e.Lua.ORDER_UNARY]},e.Lua.text_isEmpty=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"''")+" == 0",e.Lua.ORDER_RELATIONAL]},e.Lua.text_indexOf=function(t){var o=e.Lua.valueToCode(t,"FIND",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"''";return[("FIRST"==t.getFieldValue("END")?e.Lua.provideFunction_("firstIndexOf",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, substr) ","  local i = string.find(str, substr, 1, true)","  if i == nil then","    return 0","  else","    return i","  end","end"]):e.Lua.provideFunction_("lastIndexOf",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, substr)","  local i = string.find(string.reverse(str), string.reverse(substr), 1, true)","  if i then","    return #str + 2 - i - #substr","  end","  return 0","end"]))+"("+n+", "+o+")",e.Lua.ORDER_HIGH]},e.Lua.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Lua.valueToCode(t,"AT","FROM_END"==o?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1";if(t=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"''","RANDOM"==o)t=(o=e.Lua.provideFunction_("text_random_letter",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str)","  local index = math.random(string.len(str))","  return string.sub(str, index, index)","end"]))+"("+t+")";else{if("FIRST"==o)n="1";else if("LAST"==o)n="-1";else if("FROM_START"!=o){if("FROM_END"!=o)throw Error("Unhandled option (text_charAt).");n="-"+n}n.match(/^-?\w*$/)?t="string.sub("+t+", "+n+", "+n+")":t=(o=e.Lua.provideFunction_("text_char_at",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, index)","  return string.sub(str, index, index)","end"]))+"("+t+", "+n+")"}return[t,e.Lua.ORDER_HIGH]},e.Lua.text_getSubstring=function(t){var o=e.Lua.valueToCode(t,"STRING",e.Lua.ORDER_NONE)||"''",n=t.getFieldValue("WHERE1"),i=e.Lua.valueToCode(t,"AT1","FROM_END"==n?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1";if("FIRST"==n)n=1;else if("FROM_START"==n)n=i;else{if("FROM_END"!=n)throw Error("Unhandled option (text_getSubstring)");n="-"+i}if(i=t.getFieldValue("WHERE2"),t=e.Lua.valueToCode(t,"AT2","FROM_END"==i?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1","LAST"==i)t=-1;else if("FROM_START"!=i){if("FROM_END"!=i)throw Error("Unhandled option (text_getSubstring)");t="-"+t}return["string.sub("+o+", "+n+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_changeCase=function(t){var o=t.getFieldValue("CASE");if(t=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''","UPPERCASE"==o)var n="string.upper";else"LOWERCASE"==o?n="string.lower":"TITLECASE"==o&&(n=e.Lua.provideFunction_("text_titlecase",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str)","  local buf = {}","  local inWord = false","  for i = 1, #str do","    local c = string.sub(str, i, i)","    if inWord then","      table.insert(buf, string.lower(c))",'      if string.find(c, "%s") then',"        inWord = false","      end","    else","      table.insert(buf, string.upper(c))","      inWord = true","    end","  end","  return table.concat(buf)","end"]));return[n+"("+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_trim=function(t){var o={LEFT:"^%s*(,-)",RIGHT:"(.-)%s*$",BOTH:"^%s*(.-)%s*$"}[t.getFieldValue("MODE")];return["string.gsub("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''")+', "'+o+'", "%1")',e.Lua.ORDER_HIGH]},e.Lua.text_print=function(t){return"print("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''")+")\n"},e.Lua.text_prompt_ext=function(t){var o=t.getField("TEXT")?e.Lua.quote_(t.getFieldValue("TEXT")):e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''";return o=e.Lua.provideFunction_("text_prompt",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(msg)","  io.write(msg)","  io.flush()","  return io.read()","end"])+"("+o+")","NUMBER"==t.getFieldValue("TYPE")&&(o="tonumber("+o+", 10)"),[o,e.Lua.ORDER_HIGH]},e.Lua.text_prompt=e.Lua.text_prompt_ext,e.Lua.text_count=function(t){var o=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''";return t=e.Lua.valueToCode(t,"SUB",e.Lua.ORDER_NONE)||"''",[e.Lua.provideFunction_("text_count",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle)","  if #needle == 0 then","    return #haystack + 1","  end","  local i = 1","  local count = 0","  while true do","    i = string.find(haystack, needle, i, true)","    if i == nil then","      break","    end","    count = count + 1","    i = i + #needle","  end","  return count","end"])+"("+o+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_replace=function(t){var o=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"''";return t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"''",[e.Lua.provideFunction_("text_replace",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle, replacement)","  local buf = {}","  local i = 1","  while i <= #haystack do","    if string.sub(haystack, i, i + #needle - 1) == needle then","      for j = 1, #replacement do","        table.insert(buf, string.sub(replacement, j, j))","      end","      i = i + #needle","    else","      table.insert(buf, string.sub(haystack, i, i))","      i = i + 1","    end","  end","  return table.concat(buf)","end"])+"("+o+", "+n+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_reverse=function(t){return["string.reverse("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_HIGH)||"''")+")",e.Lua.ORDER_HIGH]},e.Lua.variables={},e.Lua.variables_get=function(t){return[e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Lua.ORDER_ATOMIC]},e.Lua.variables_set=function(t){var o=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"0";return e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+"\n"},e.Lua.variablesDynamic={},e.Lua.variables_get_dynamic=e.Lua.variables_get,e.Lua.variables_set_dynamic=e.Lua.variables_set,e.Lua}},function(e,t){e.exports=function(e){"use strict";return e.Dart=new e.Generator("Dart"),e.Dart.addReservedWords("assert,break,case,catch,class,const,continue,default,do,else,enum,extends,false,final,finally,for,if,in,is,new,null,rethrow,return,super,switch,this,throw,true,try,var,void,while,with,print,identityHashCode,identical,BidirectionalIterator,Comparable,double,Function,int,Invocation,Iterable,Iterator,List,Map,Match,num,Pattern,RegExp,Set,StackTrace,String,StringSink,Type,bool,DateTime,Deprecated,Duration,Expando,Null,Object,RuneIterator,Runes,Stopwatch,StringBuffer,Symbol,Uri,Comparator,AbstractClassInstantiationError,ArgumentError,AssertionError,CastError,ConcurrentModificationError,CyclicInitializationError,Error,Exception,FallThroughError,FormatException,IntegerDivisionByZeroException,NoSuchMethodError,NullThrownError,OutOfMemoryError,RangeError,StackOverflowError,StateError,TypeError,UnimplementedError,UnsupportedError"),e.Dart.ORDER_ATOMIC=0,e.Dart.ORDER_UNARY_POSTFIX=1,e.Dart.ORDER_UNARY_PREFIX=2,e.Dart.ORDER_MULTIPLICATIVE=3,e.Dart.ORDER_ADDITIVE=4,e.Dart.ORDER_SHIFT=5,e.Dart.ORDER_BITWISE_AND=6,e.Dart.ORDER_BITWISE_XOR=7,e.Dart.ORDER_BITWISE_OR=8,e.Dart.ORDER_RELATIONAL=9,e.Dart.ORDER_EQUALITY=10,e.Dart.ORDER_LOGICAL_AND=11,e.Dart.ORDER_LOGICAL_OR=12,e.Dart.ORDER_IF_NULL=13,e.Dart.ORDER_CONDITIONAL=14,e.Dart.ORDER_CASCADE=15,e.Dart.ORDER_ASSIGNMENT=16,e.Dart.ORDER_NONE=99,e.Dart.init=function(t){e.Dart.definitions_=Object.create(null),e.Dart.functionNames_=Object.create(null),e.Dart.variableDB_?e.Dart.variableDB_.reset():e.Dart.variableDB_=new e.Names(e.Dart.RESERVED_WORDS_),e.Dart.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.Dart.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE));for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.Dart.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE));o.length&&(e.Dart.definitions_.variables="var "+o.join(", ")+";")},e.Dart.finish=function(t){t&&(t=e.Dart.prefixLines(t,e.Dart.INDENT)),t="main() {\n"+t+"}";var o,n=[],i=[];for(o in e.Dart.definitions_){var r=e.Dart.definitions_[o];r.match(/^import\s/)?n.push(r):i.push(r)}return delete e.Dart.definitions_,delete e.Dart.functionNames_,e.Dart.variableDB_.reset(),(n.join("\n")+"\n\n"+i.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+t},e.Dart.scrubNakedValue=function(e){return e+";\n"},e.Dart.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'"))+"'"},e.Dart.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Dart.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+e.Dart.prefixLines(r+"\n","/// "):i+e.Dart.prefixLines(r+"\n","// "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Dart.allNestedComments(r))&&(i+=e.Dart.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Dart.blockToCode(t))},e.Dart.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.Dart.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=n?e.Dart.valueToCode(t,o,e.Dart.ORDER_ADDITIVE)||s:i?e.Dart.valueToCode(t,o,e.Dart.ORDER_UNARY_PREFIX)||s:e.Dart.valueToCode(t,o,r)||s,e.isNumber(t))t=parseInt(t,10)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.Dart.ORDER_ADDITIVE}else 0>n&&(t=t+" - "+-n,a=e.Dart.ORDER_ADDITIVE);i&&(t=n?"-("+t+")":"-"+t,a=e.Dart.ORDER_UNARY_PREFIX),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.Dart.colour={},e.Dart.addReservedWords("Math"),e.Dart.colour_picker=function(t){return[e.Dart.quote_(t.getFieldValue("COLOUR")),e.Dart.ORDER_ATOMIC]},e.Dart.colour_random=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_random",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"() {","  String hex = '0123456789abcdef';","  var rnd = new Math.Random();","  return '#${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'","      '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'","      '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}';","}"])+"()",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.colour_rgb=function(t){var o=e.Dart.valueToCode(t,"RED",e.Dart.ORDER_NONE)||0,n=e.Dart.valueToCode(t,"GREEN",e.Dart.ORDER_NONE)||0;return t=e.Dart.valueToCode(t,"BLUE",e.Dart.ORDER_NONE)||0,e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_rgb",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num r, num g, num b) {","  num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();","  String rs = rn.toInt().toRadixString(16);","  rs = '0$rs';","  rs = rs.substring(rs.length - 2);","  num gn = (Math.max(Math.min(g, 100), 0) * 2.55).round();","  String gs = gn.toInt().toRadixString(16);","  gs = '0$gs';","  gs = gs.substring(gs.length - 2);","  num bn = (Math.max(Math.min(b, 100), 0) * 2.55).round();","  String bs = bn.toInt().toRadixString(16);","  bs = '0$bs';","  bs = bs.substring(bs.length - 2);","  return '#$rs$gs$bs';","}"])+"("+o+", "+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.colour_blend=function(t){var o=e.Dart.valueToCode(t,"COLOUR1",e.Dart.ORDER_NONE)||"'#000000'",n=e.Dart.valueToCode(t,"COLOUR2",e.Dart.ORDER_NONE)||"'#000000'";return t=e.Dart.valueToCode(t,"RATIO",e.Dart.ORDER_NONE)||.5,e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_blend",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String c1, String c2, num ratio) {","  ratio = Math.max(Math.min(ratio, 1), 0);","  int r1 = int.parse('0x${c1.substring(1, 3)}');","  int g1 = int.parse('0x${c1.substring(3, 5)}');","  int b1 = int.parse('0x${c1.substring(5, 7)}');","  int r2 = int.parse('0x${c2.substring(1, 3)}');","  int g2 = int.parse('0x${c2.substring(3, 5)}');","  int b2 = int.parse('0x${c2.substring(5, 7)}');","  num rn = (r1 * (1 - ratio) + r2 * ratio).round();","  String rs = rn.toInt().toRadixString(16);","  num gn = (g1 * (1 - ratio) + g2 * ratio).round();","  String gs = gn.toInt().toRadixString(16);","  num bn = (b1 * (1 - ratio) + b2 * ratio).round();","  String bs = bn.toInt().toRadixString(16);","  rs = '0$rs';","  rs = rs.substring(rs.length - 2);","  gs = '0$gs';","  gs = gs.substring(gs.length - 2);","  bs = '0$bs';","  bs = bs.substring(bs.length - 2);","  return '#$rs$gs$bs';","}"])+"("+o+", "+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists={},e.Dart.addReservedWords("Math"),e.Dart.lists_create_empty=function(t){return["[]",e.Dart.ORDER_ATOMIC]},e.Dart.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Dart.valueToCode(t,"ADD"+n,e.Dart.ORDER_NONE)||"null";return["["+o.join(", ")+"]",e.Dart.ORDER_ATOMIC]},e.Dart.lists_repeat=function(t){var o=e.Dart.valueToCode(t,"ITEM",e.Dart.ORDER_NONE)||"null";return["new List.filled("+(e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_NONE)||"0")+", "+o+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_length=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+".length",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_isEmpty=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+".isEmpty",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.Dart.valueToCode(t,"FIND",e.Dart.ORDER_NONE)||"''";return o=(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Dart.ORDER_ADDITIVE]:[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_getIndex=function(t){function o(){var t=e.Dart.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE),o="List "+t+" = "+r+";\n";return r=t,o}var n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Dart.valueToCode(t,"VALUE","RANDOM"==i||"FROM_END"==i?e.Dart.ORDER_NONE:e.Dart.ORDER_UNARY_POSTFIX)||"[]";if(("RANDOM"!=i||"REMOVE"!=n)&&"FROM_END"!=i||r.match(/^\w+$/))switch(i){case"FIRST":if("GET"==n)return[r+".first",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeAt(0)",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeAt(0);\n";break;case"LAST":if("GET"==n)return[r+".last",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeLast()",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeLast();\n";break;case"FROM_START":if(i=e.Dart.getAdjusted(t,"AT"),"GET"==n)return[r+"["+i+"]",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeAt("+i+")",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeAt("+i+");\n";break;case"FROM_END":if(i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),"GET"==n)return[r+"["+r+".length - "+i+"]",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n||"REMOVE"==n){if(t=r+".removeAt("+r+".length - "+i+")","GET_REMOVE"==n)return[t,e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return t+";\n"}break;case"RANDOM":if(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;","REMOVE"==n)return"int "+(n=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n"+r+".removeAt("+n+");\n";if("GET"==n)return[(n=e.Dart.provideFunction_("lists_get_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {","  int x = new Math.Random().nextInt(my_list.length);","  return my_list[x];","}"]))+"("+r+")",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[(n=e.Dart.provideFunction_("lists_remove_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {","  int x = new Math.Random().nextInt(my_list.length);","  return my_list.removeAt(x);","}"]))+"("+r+")",e.Dart.ORDER_UNARY_POSTFIX]}else{if("RANDOM"==i)return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",(t=o())+"int "+(n=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n"+r+".removeAt("+n+");\n";if("REMOVE"==n)return i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),(t=o())+(r+".removeAt(")+r+".length - "+i+");\n";if("GET"==n)return i=e.Dart.getAdjusted(t,"AT",1),[(n=e.Dart.provideFunction_("lists_get_from_end",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {","  x = my_list.length - x;","  return my_list[x];","}"]))+"("+r+", "+i+")",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return i=e.Dart.getAdjusted(t,"AT",1),[(n=e.Dart.provideFunction_("lists_remove_from_end",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {","  x = my_list.length - x;","  return my_list.removeAt(x);","}"]))+"("+r+", "+i+")",e.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled combination (lists_getIndex).")},e.Dart.lists_setIndex=function(t){function o(){if(r.match(/^\w+$/))return"";var t=e.Dart.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE),o="List "+t+" = "+r+";\n";return r=t,o}var n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_UNARY_POSTFIX)||"[]",s=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_ASSIGNMENT)||"null";switch(i){case"FIRST":if("SET"==n)return r+"[0] = "+s+";\n";if("INSERT"==n)return r+".insert(0, "+s+");\n";break;case"LAST":if("SET"==n)return(t=o())+(r+"[")+r+".length - 1] = "+s+";\n";if("INSERT"==n)return r+".add("+s+");\n";break;case"FROM_START":if(i=e.Dart.getAdjusted(t,"AT"),"SET"==n)return r+"["+i+"] = "+s+";\n";if("INSERT"==n)return r+".insert("+i+", "+s+");\n";break;case"FROM_END":if(i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),t=o(),"SET"==n)return t+(r+"[")+r+".length - "+i+"] = "+s+";\n";if("INSERT"==n)return t+(r+".insert(")+r+".length - "+i+", "+s+");\n";break;case"RANDOM":if(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",t=o(),t+="int "+(i=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n","SET"==n)return t+(r+"[")+i+"] = "+s+";\n";if("INSERT"==n)return t+(r+".insert(")+i+", "+s+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.Dart.lists_getSublist=function(t){var o=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_UNARY_POSTFIX)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if(o.match(/^\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.Dart.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.Dart.getAdjusted(t,"AT1",1,!1,e.Dart.ORDER_ADDITIVE));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":var s=e.Dart.getAdjusted(t,"AT2",1);break;case"FROM_END":s=o+".length - "+(s=e.Dart.getAdjusted(t,"AT2",0,!1,e.Dart.ORDER_ADDITIVE));break;case"LAST":break;default:throw Error("Unhandled option (lists_getSublist).")}t="LAST"==i?o+".sublist("+r+")":o+".sublist("+r+", "+s+")"}else r=e.Dart.getAdjusted(t,"AT1"),s=e.Dart.getAdjusted(t,"AT2"),t=e.Dart.provideFunction_("lists_get_sublist",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String where1, num at1, String where2, num at2) {","  int getAt(String where, num at) {","    if (where == 'FROM_END') {","      at = list.length - 1 - at;","    } else if (where == 'FIRST') {","      at = 0;","    } else if (where == 'LAST') {","      at = list.length - 1;","    } else if (where != 'FROM_START') {","      throw 'Unhandled option (lists_getSublist).';","    }","    return at;","  }","  at1 = getAt(where1, at1);","  at2 = getAt(where2, at2) + 1;","  return list.sublist(at1, at2);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+s+")";return[t,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_sort=function(t){var o=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.Dart.provideFunction_("lists_sort",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String type, int direction) {","  var compareFuncs = {",'    "NUMERIC": (a, b) => (direction * a.compareTo(b)).toInt(),','    "TEXT": (a, b) => direction * a.toString().compareTo(b.toString()),','    "IGNORE_CASE": ',"       (a, b) => direction * ","      a.toString().toLowerCase().compareTo(b.toString().toLowerCase())","  };","  list = new List.from(list);","  var compare = compareFuncs[type];","  list.sort(compare);","  return list;","}"])+"("+o+', "'+t+'", '+n+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_split=function(t){var o=e.Dart.valueToCode(t,"INPUT",e.Dart.ORDER_UNARY_POSTFIX),n=e.Dart.valueToCode(t,"DELIM",e.Dart.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="split";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="[]"),t="join"}return[o+"."+t+"("+n+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_reverse=function(t){return["new List.from("+(e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]")+".reversed)",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.logic={},e.Dart.controls_if=function(t){var o=0,n="";e.Dart.STATEMENT_PREFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t));do{var i=e.Dart.valueToCode(t,"IF"+o,e.Dart.ORDER_NONE)||"false",r=e.Dart.statementToCode(t,"DO"+o);e.Dart.STATEMENT_SUFFIX&&(r=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)+r),n+=(0<o?"else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Dart.STATEMENT_SUFFIX)&&(r=e.Dart.statementToCode(t,"ELSE"),e.Dart.STATEMENT_SUFFIX&&(r=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.Dart.controls_ifelse=e.Dart.controls_if,e.Dart.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.Dart.ORDER_EQUALITY:e.Dart.ORDER_RELATIONAL;return[(e.Dart.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.Dart.valueToCode(t,"B",n)||"0"),n]},e.Dart.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.Dart.ORDER_LOGICAL_AND:e.Dart.ORDER_LOGICAL_OR,i=e.Dart.valueToCode(t,"A",n);if(t=e.Dart.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.Dart.logic_negate=function(t){var o=e.Dart.ORDER_UNARY_PREFIX;return["!"+(e.Dart.valueToCode(t,"BOOL",o)||"true"),o]},e.Dart.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.Dart.ORDER_ATOMIC]},e.Dart.logic_null=function(t){return["null",e.Dart.ORDER_ATOMIC]},e.Dart.logic_ternary=function(t){return[(e.Dart.valueToCode(t,"IF",e.Dart.ORDER_CONDITIONAL)||"false")+" ? "+(e.Dart.valueToCode(t,"THEN",e.Dart.ORDER_CONDITIONAL)||"null")+" : "+(t=e.Dart.valueToCode(t,"ELSE",e.Dart.ORDER_CONDITIONAL)||"null"),e.Dart.ORDER_CONDITIONAL]},e.Dart.loops={},e.Dart.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.Dart.valueToCode(t,"TIMES",e.Dart.ORDER_ASSIGNMENT)||"0",n=e.Dart.statementToCode(t,"DO");n=e.Dart.addLoopTrap(n,t),t="";var i=e.Dart.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+="var "+(r=e.Dart.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for (int "+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.Dart.controls_repeat=e.Dart.controls_repeat_ext,e.Dart.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Dart.valueToCode(t,"BOOL",o?e.Dart.ORDER_UNARY_PREFIX:e.Dart.ORDER_NONE)||"false",i=e.Dart.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.Dart.addLoopTrap(i,t))+"}\n"},e.Dart.controls_for=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_ASSIGNMENT)||"0",i=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_ASSIGNMENT)||"0",r=e.Dart.valueToCode(t,"BY",e.Dart.ORDER_ASSIGNMENT)||"1",s=e.Dart.statementToCode(t,"DO");if(s=e.Dart.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+="var "+(a=e.Dart.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+="var "+(n=e.Dart.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+="num "+(i=e.Dart.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"("+r+").abs();\n")+"if ("+a+" > "+n+") {\n"+(e.Dart.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.Dart.controls_forEach=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_ASSIGNMENT)||"[]",i=e.Dart.statementToCode(t,"DO");return"for (var "+o+" in "+n+") {\n"+(i=e.Dart.addLoopTrap(i,t))+"}\n"},e.Dart.controls_flow_statements=function(t){var o="";if(e.Dart.STATEMENT_PREFIX&&(o+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t)),e.Dart.STATEMENT_SUFFIX&&(o+=e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t)),e.Dart.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.Dart.math={},e.Dart.addReservedWords("Math"),e.Dart.math_number=function(t){if(1/0==(t=parseFloat(t.getFieldValue("NUM")))){t="double.infinity";var o=e.Dart.ORDER_UNARY_POSTFIX}else-1/0==t?(t="-double.infinity",o=e.Dart.ORDER_UNARY_PREFIX):o=0>t?e.Dart.ORDER_UNARY_PREFIX:e.Dart.ORDER_ATOMIC;return[t,o]},e.Dart.math_arithmetic=function(t){var o={ADD:[" + ",e.Dart.ORDER_ADDITIVE],MINUS:[" - ",e.Dart.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Dart.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Dart.ORDER_MULTIPLICATIVE],POWER:[null,e.Dart.ORDER_NONE]}[t.getFieldValue("OP")],n=o[0];o=o[1];var i=e.Dart.valueToCode(t,"A",o)||"0";return t=e.Dart.valueToCode(t,"B",o)||"0",n?[i+n+t,o]:(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.pow("+i+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX])},e.Dart.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),["-"+t,e.Dart.ORDER_UNARY_PREFIX];switch(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",t="ABS"==o||"ROUND"==o.substring(0,5)?e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_UNARY_POSTFIX)||"0":"SIN"==o||"COS"==o||"TAN"==o?e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_MULTIPLICATIVE)||"0":e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_NONE)||"0",o){case"ABS":var n=t+".abs()";break;case"ROOT":n="Math.sqrt("+t+")";break;case"LN":n="Math.log("+t+")";break;case"EXP":n="Math.exp("+t+")";break;case"POW10":n="Math.pow(10,"+t+")";break;case"ROUND":n=t+".round()";break;case"ROUNDUP":n=t+".ceil()";break;case"ROUNDDOWN":n=t+".floor()";break;case"SIN":n="Math.sin("+t+" / 180 * Math.pi)";break;case"COS":n="Math.cos("+t+" / 180 * Math.pi)";break;case"TAN":n="Math.tan("+t+" / 180 * Math.pi)"}if(n)return[n,e.Dart.ORDER_UNARY_POSTFIX];switch(o){case"LOG10":n="Math.log("+t+") / Math.log(10)";break;case"ASIN":n="Math.asin("+t+") / Math.pi * 180";break;case"ACOS":n="Math.acos("+t+") / Math.pi * 180";break;case"ATAN":n="Math.atan("+t+") / Math.pi * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.math_constant=function(t){var o={PI:["Math.pi",e.Dart.ORDER_UNARY_POSTFIX],E:["Math.e",e.Dart.ORDER_UNARY_POSTFIX],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",e.Dart.ORDER_MULTIPLICATIVE],SQRT2:["Math.sqrt2",e.Dart.ORDER_UNARY_POSTFIX],SQRT1_2:["Math.sqrt1_2",e.Dart.ORDER_UNARY_POSTFIX],INFINITY:["double.infinity",e.Dart.ORDER_ATOMIC]};return"INFINITY"!=(t=t.getFieldValue("CONSTANT"))&&(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;"),o[t]},e.Dart.math_number_property=function(t){var o=e.Dart.valueToCode(t,"NUMBER_TO_CHECK",e.Dart.ORDER_MULTIPLICATIVE);if(!o)return["false",e.Dart.ORDER_ATOMIC];var n=t.getFieldValue("PROPERTY");if("PRIME"==n)return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("math_isPrime",["bool "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if (n == 2 || n == 3) {","    return true;","  }","  // False if n is null, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (n == null || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {","    if (n % (x - 1) == 0 || n % (x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.Dart.ORDER_UNARY_POSTFIX];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Dart.valueToCode(t,"DIVISOR",e.Dart.ORDER_MULTIPLICATIVE)))return["false",e.Dart.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Dart.ORDER_EQUALITY]},e.Dart.math_change=function(t){var o=e.Dart.valueToCode(t,"DELTA",e.Dart.ORDER_ADDITIVE)||"0";return(t=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = ("+t+" is num ? "+t+" : 0) + "+o+";\n"},e.Dart.math_round=e.Dart.math_single,e.Dart.math_trig=e.Dart.math_single,e.Dart.math_on_list=function(t){var o=t.getFieldValue("OP");switch(t=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]",o){case"SUM":o=(o=e.Dart.provideFunction_("math_sum",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  num sumVal = 0;","  myList.forEach((num entry) {sumVal += entry;});","  return sumVal;","}"]))+"("+t+")";break;case"MIN":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_min",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  if (myList.isEmpty) return null;","  num minVal = myList[0];","  myList.forEach((num entry) {minVal = Math.min(minVal, entry);});","  return minVal;","}"]))+"("+t+")";break;case"MAX":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_max",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  if (myList.isEmpty) return null;","  num maxVal = myList[0];","  myList.forEach((num entry) {maxVal = Math.max(maxVal, entry);});","  return maxVal;","}"]))+"("+t+")";break;case"AVERAGE":o=(o=e.Dart.provideFunction_("math_mean",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only.","  List localList = new List.from(myList);","  localList.removeWhere((a) => a is! num);","  if (localList.isEmpty) return null;","  num sumVal = 0;","  localList.forEach((var entry) {sumVal += entry;});","  return sumVal / localList.length;","}"]))+"("+t+")";break;case"MEDIAN":o=(o=e.Dart.provideFunction_("math_median",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only, then sort, then return middle value","  // or the average of two middle values if list has an even number of elements.","  List localList = new List.from(myList);","  localList.removeWhere((a) => a is! num);","  if (localList.isEmpty) return null;","  localList.sort((a, b) => (a - b));","  int index = localList.length ~/ 2;","  if (localList.length % 2 == 1) {","    return localList[index];","  } else {","    return (localList[index - 1] + localList[index]) / 2;","  }","}"]))+"("+t+")";break;case"MODE":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_modes",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List values) {","  List modes = [];","  List counts = [];","  int maxCount = 0;","  for (int i = 0; i < values.length; i++) {","    var value = values[i];","    bool found = false;","    int thisCount;","    for (int j = 0; j < counts.length; j++) {","      if (counts[j][0] == value) {","        thisCount = ++counts[j][1];","        found = true;","        break;","      }","    }","    if (!found) {","      counts.add([value, 1]);","      thisCount = 1;","    }","    maxCount = Math.max(thisCount, maxCount);","  }","  for (int j = 0; j < counts.length; j++) {","    if (counts[j][1] == maxCount) {","        modes.add(counts[j][0]);","    }","  }","  return modes;","}"]))+"("+t+")";break;case"STD_DEV":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_standard_deviation",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only.","  List numbers = new List.from(myList);","  numbers.removeWhere((a) => a is! num);","  if (numbers.isEmpty) return null;","  num n = numbers.length;","  num sum = 0;","  numbers.forEach((x) => sum += x);","  num mean = sum / n;","  num sumSquare = 0;","  numbers.forEach((x) => sumSquare += Math.pow(x - mean, 2));","  return Math.sqrt(sumSquare / n);","}"]))+"("+t+")";break;case"RANDOM":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  int x = new Math.Random().nextInt(myList.length);","  return myList[x];","}"]))+"("+t+")";break;default:throw Error("Unknown operator: "+o)}return[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_modulo=function(t){return[(e.Dart.valueToCode(t,"DIVIDEND",e.Dart.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Dart.valueToCode(t,"DIVISOR",e.Dart.ORDER_MULTIPLICATIVE)||"0"),e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.math_constrain=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.min(Math.max("+(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_NONE)||"0")+", "+(e.Dart.valueToCode(t,"LOW",e.Dart.ORDER_NONE)||"0")+"), "+(t=e.Dart.valueToCode(t,"HIGH",e.Dart.ORDER_NONE)||"double.infinity")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_random_int=function(t){e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var o=e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_NONE)||"0";return t=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_NONE)||"0",[e.Dart.provideFunction_("math_random_int",["int "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num a, num b) {","  if (a > b) {","    // Swap a and b to ensure a is smaller.","    num c = a;","    a = b;","    b = c;","  }","  return new Math.Random().nextInt(b - a + 1) + a;","}"])+"("+o+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_random_float=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["new Math.Random().nextDouble()",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_atan2=function(t){e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var o=e.Dart.valueToCode(t,"X",e.Dart.ORDER_NONE)||"0";return["Math.atan2("+(e.Dart.valueToCode(t,"Y",e.Dart.ORDER_NONE)||"0")+", "+o+") / Math.pi * 180",e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.procedures={},e.Dart.procedures_defreturn=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.Dart.STATEMENT_PREFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t)),e.Dart.STATEMENT_SUFFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t)),n&&(n=e.Dart.prefixLines(n,e.Dart.INDENT));var i="";e.Dart.INFINITE_LOOP_TRAP&&(i=e.Dart.prefixLines(e.Dart.injectId(e.Dart.INFINITE_LOOP_TRAP,t),e.Dart.INDENT));var r=e.Dart.statementToCode(t,"STACK"),s=e.Dart.valueToCode(t,"RETURN",e.Dart.ORDER_NONE)||"",a="";r&&s&&(a=n),s&&(s=e.Dart.INDENT+"return "+s+";\n");for(var l=s?"dynamic":"void",u=[],c=0;c<t.arguments_.length;c++)u[c]=e.Dart.variableDB_.getName(t.arguments_[c],e.Variables.NAME_TYPE);return n=l+" "+o+"("+u.join(", ")+") {\n"+n+i+r+a+s+"}",n=e.Dart.scrub_(t,n),e.Dart.definitions_["%"+o]=n,null},e.Dart.procedures_defnoreturn=e.Dart.procedures_defreturn,e.Dart.procedures_callreturn=function(t){for(var o=e.Dart.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Dart.valueToCode(t,"ARG"+i,e.Dart.ORDER_NONE)||"null";return[o+"("+n.join(", ")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.procedures_callnoreturn=function(t){return e.Dart.procedures_callreturn(t)[0]+";\n"},e.Dart.procedures_ifreturn=function(t){var o="if ("+(e.Dart.valueToCode(t,"CONDITION",e.Dart.ORDER_NONE)||"false")+") {\n";return e.Dart.STATEMENT_SUFFIX&&(o+=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)),t.hasReturnValue_?(t=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_NONE)||"null",o+=e.Dart.INDENT+"return "+t+";\n"):o+=e.Dart.INDENT+"return;\n",o+"}\n"},e.Dart.texts={},e.Dart.addReservedWords("Html,Math"),e.Dart.text=function(t){return[e.Dart.quote_(t.getFieldValue("TEXT")),e.Dart.ORDER_ATOMIC]},e.Dart.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.Dart.ORDER_ATOMIC];case 1:return[(e.Dart.valueToCode(t,"ADD0",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".toString()",e.Dart.ORDER_UNARY_POSTFIX];default:for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Dart.valueToCode(t,"ADD"+n,e.Dart.ORDER_NONE)||"''";return[t="["+o.join(",")+"].join()",e.Dart.ORDER_UNARY_POSTFIX]}},e.Dart.text_append=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return o+" = ["+o+", "+(t=e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+"].join();\n"},e.Dart.text_length=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".length",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_isEmpty=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".isEmpty",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.Dart.valueToCode(t,"FIND",e.Dart.ORDER_NONE)||"''";return o=(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Dart.ORDER_ADDITIVE]:[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''";switch(o){case"FIRST":return[n+"[0]",e.Dart.ORDER_UNARY_POSTFIX];case"FROM_START":return[n+"["+(t=e.Dart.getAdjusted(t,"AT"))+"]",e.Dart.ORDER_UNARY_POSTFIX];case"LAST":case"FROM_END":return t=e.Dart.getAdjusted(t,"AT",1),[(o=e.Dart.provideFunction_("text_get_from_end",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text, num x) {","  return text[text.length - x];","}"]))+"("+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX];case"RANDOM":return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[(o=e.Dart.provideFunction_("text_random_letter",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text) {","  int x = new Math.Random().nextInt(text.length);","  return text[x];","}"]))+"("+n+")",e.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled option (text_charAt).")},e.Dart.text_getSubstring=function(t){var o=e.Dart.valueToCode(t,"STRING",e.Dart.ORDER_UNARY_POSTFIX)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"==n&&"LAST"==i)t=o;else if(o.match(/^'?\w+'?$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.Dart.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.Dart.getAdjusted(t,"AT1",1,!1,e.Dart.ORDER_ADDITIVE));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (text_getSubstring).")}switch(i){case"FROM_START":var s=e.Dart.getAdjusted(t,"AT2",1);break;case"FROM_END":s=o+".length - "+(s=e.Dart.getAdjusted(t,"AT2",0,!1,e.Dart.ORDER_ADDITIVE));break;case"LAST":break;default:throw Error("Unhandled option (text_getSubstring).")}t="LAST"==i?o+".substring("+r+")":o+".substring("+r+", "+s+")"}else r=e.Dart.getAdjusted(t,"AT1"),s=e.Dart.getAdjusted(t,"AT2"),t=e.Dart.provideFunction_("text_get_substring",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text, String where1, num at1, String where2, num at2) {","  int getAt(String where, num at) {","    if (where == 'FROM_END') {","      at = text.length - 1 - at;","    } else if (where == 'FIRST') {","      at = 0;","    } else if (where == 'LAST') {","      at = text.length - 1;","    } else if (where != 'FROM_START') {","      throw 'Unhandled option (text_getSubstring).';","    }","    return at;","  }","  at1 = getAt(where1, at1);","  at2 = getAt(where2, at2) + 1;","  return text.substring(at1, at2);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+s+")";return[t,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_changeCase=function(t){var o={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[t.getFieldValue("CASE")];return t=e.Dart.valueToCode(t,"TEXT",o?e.Dart.ORDER_UNARY_POSTFIX:e.Dart.ORDER_NONE)||"''",[o?t+o:e.Dart.provideFunction_("text_toTitleCase",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String str) {","  RegExp exp = new RegExp(r'\\b');","  List<String> list = str.split(exp);","  final title = new StringBuffer();","  for (String part in list) {","    if (part.length > 0) {","      title.write(part[0].toUpperCase());","      if (part.length > 0) {","        title.write(part.substring(1).toLowerCase());","      }","    }","  }","  return title.toString();","}"])+"("+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_trim=function(t){var o={LEFT:".replaceFirst(new RegExp(r'^\\s+'), '')",RIGHT:".replaceFirst(new RegExp(r'\\s+$'), '')",BOTH:".trim()"}[t.getFieldValue("MODE")];return[(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_print=function(t){return"print("+(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+");\n"},e.Dart.text_prompt_ext=function(t){e.Dart.definitions_.import_dart_html="import 'dart:html' as Html;";var o="Html.prompt("+(t.getField("TEXT")?e.Dart.quote_(t.getFieldValue("TEXT")):e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+", '')";return"NUMBER"==t.getFieldValue("TYPE")&&(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o="Math.parseDouble("+o+")"),[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_prompt=e.Dart.text_prompt_ext,e.Dart.text_count=function(t){var o=e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''";return t=e.Dart.valueToCode(t,"SUB",e.Dart.ORDER_NONE)||"''",[e.Dart.provideFunction_("text_count",["int "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String haystack, String needle) {","  if (needle.length == 0) {","    return haystack.length + 1;","  }","  int index = 0;","  int count = 0;","  while (index != -1) {","    index = haystack.indexOf(needle, index);","    if (index != -1) {","      count++;","     index += needle.length;","    }","  }","  return count;","}"])+"("+o+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_replace=function(t){return[(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".replaceAll("+(e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_NONE)||"''")+", "+(t=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_NONE)||"''")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_reverse=function(t){return["new String.fromCharCodes("+(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".runes.toList().reversed)",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.variables={},e.Dart.variables_get=function(t){return[e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Dart.ORDER_ATOMIC]},e.Dart.variables_set=function(t){var o=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_ASSIGNMENT)||"0";return e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.Dart.variablesDynamic={},e.Dart.variables_get_dynamic=e.Dart.variables_get,e.Dart.variables_set_dynamic=e.Dart.variables_set,e.Dart}},function(e,t){e.exports=function(e){"use strict";return e.PHP=new e.Generator("PHP"),e.PHP.addReservedWords("__halt_compiler,abstract,and,array,as,break,callable,case,catch,class,clone,const,continue,declare,default,die,do,echo,else,elseif,empty,enddeclare,endfor,endforeach,endif,endswitch,endwhile,eval,exit,extends,final,for,foreach,function,global,goto,if,implements,include,include_once,instanceof,insteadof,interface,isset,list,namespace,new,or,print,private,protected,public,require,require_once,return,static,switch,throw,trait,try,unset,use,var,while,xor,PHP_VERSION,PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_VERSION_ID,PHP_EXTRA_VERSION,PHP_ZTS,PHP_DEBUG,PHP_MAXPATHLEN,PHP_OS,PHP_SAPI,PHP_EOL,PHP_INT_MAX,PHP_INT_SIZE,DEFAULT_INCLUDE_PATH,PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR,PHP_EXTENSION_DIR,PHP_PREFIX,PHP_BINDIR,PHP_BINARY,PHP_MANDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR,PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_CONFIG_FILE_SCAN_DIR,PHP_SHLIB_SUFFIX,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE,E_DEPRECATED,E_USER_DEPRECATED,E_ALL,E_STRICT,__COMPILER_HALT_OFFSET__,TRUE,FALSE,NULL,__CLASS__,__DIR__,__FILE__,__FUNCTION__,__LINE__,__METHOD__,__NAMESPACE__,__TRAIT__"),e.PHP.ORDER_ATOMIC=0,e.PHP.ORDER_CLONE=1,e.PHP.ORDER_NEW=1,e.PHP.ORDER_MEMBER=2.1,e.PHP.ORDER_FUNCTION_CALL=2.2,e.PHP.ORDER_POWER=3,e.PHP.ORDER_INCREMENT=4,e.PHP.ORDER_DECREMENT=4,e.PHP.ORDER_BITWISE_NOT=4,e.PHP.ORDER_CAST=4,e.PHP.ORDER_SUPPRESS_ERROR=4,e.PHP.ORDER_INSTANCEOF=5,e.PHP.ORDER_LOGICAL_NOT=6,e.PHP.ORDER_UNARY_PLUS=7.1,e.PHP.ORDER_UNARY_NEGATION=7.2,e.PHP.ORDER_MULTIPLICATION=8.1,e.PHP.ORDER_DIVISION=8.2,e.PHP.ORDER_MODULUS=8.3,e.PHP.ORDER_ADDITION=9.1,e.PHP.ORDER_SUBTRACTION=9.2,e.PHP.ORDER_STRING_CONCAT=9.3,e.PHP.ORDER_BITWISE_SHIFT=10,e.PHP.ORDER_RELATIONAL=11,e.PHP.ORDER_EQUALITY=12,e.PHP.ORDER_REFERENCE=13,e.PHP.ORDER_BITWISE_AND=13,e.PHP.ORDER_BITWISE_XOR=14,e.PHP.ORDER_BITWISE_OR=15,e.PHP.ORDER_LOGICAL_AND=16,e.PHP.ORDER_LOGICAL_OR=17,e.PHP.ORDER_IF_NULL=18,e.PHP.ORDER_CONDITIONAL=19,e.PHP.ORDER_ASSIGNMENT=20,e.PHP.ORDER_LOGICAL_AND_WEAK=21,e.PHP.ORDER_LOGICAL_XOR=22,e.PHP.ORDER_LOGICAL_OR_WEAK=23,e.PHP.ORDER_COMMA=24,e.PHP.ORDER_NONE=99,e.PHP.ORDER_OVERRIDES=[[e.PHP.ORDER_MEMBER,e.PHP.ORDER_FUNCTION_CALL],[e.PHP.ORDER_MEMBER,e.PHP.ORDER_MEMBER],[e.PHP.ORDER_LOGICAL_NOT,e.PHP.ORDER_LOGICAL_NOT],[e.PHP.ORDER_MULTIPLICATION,e.PHP.ORDER_MULTIPLICATION],[e.PHP.ORDER_ADDITION,e.PHP.ORDER_ADDITION],[e.PHP.ORDER_LOGICAL_AND,e.PHP.ORDER_LOGICAL_AND],[e.PHP.ORDER_LOGICAL_OR,e.PHP.ORDER_LOGICAL_OR]],e.PHP.init=function(t){e.PHP.definitions_=Object.create(null),e.PHP.functionNames_=Object.create(null),e.PHP.variableDB_?e.PHP.variableDB_.reset():e.PHP.variableDB_=new e.Names(e.PHP.RESERVED_WORDS_,"$"),e.PHP.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.PHP.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE)+";");for(t=e.Variables.allUsedVarModels(t),i=0;n=t[i];i++)o.push(e.PHP.variableDB_.getName(n.getId(),e.Variables.NAME_TYPE)+";");e.PHP.definitions_.variables=o.join("\n")},e.PHP.finish=function(t){var o,n=[];for(o in e.PHP.definitions_)n.push(e.PHP.definitions_[o]);return delete e.PHP.definitions_,delete e.PHP.functionNames_,e.PHP.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.PHP.scrubNakedValue=function(e){return e+";\n"},e.PHP.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.PHP.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.PHP.COMMENT_WRAP-3))&&(i+=e.PHP.prefixLines(r,"// ")+"\n");for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.PHP.allNestedComments(r))&&(i+=e.PHP.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.PHP.blockToCode(t))},e.PHP.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.PHP.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=0<n?e.PHP.valueToCode(t,o,e.PHP.ORDER_ADDITION)||s:0>n?e.PHP.valueToCode(t,o,e.PHP.ORDER_SUBTRACTION)||s:i?e.PHP.valueToCode(t,o,e.PHP.ORDER_UNARY_NEGATION)||s:e.PHP.valueToCode(t,o,r)||s,e.isNumber(t))t=parseFloat(t)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.PHP.ORDER_ADDITION}else 0>n&&(t=t+" - "+-n,a=e.PHP.ORDER_SUBTRACTION);i&&(t=n?"-("+t+")":"-"+t,a=e.PHP.ORDER_UNARY_NEGATION),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.PHP.colour={},e.PHP.colour_picker=function(t){return[e.PHP.quote_(t.getFieldValue("COLOUR")),e.PHP.ORDER_ATOMIC]},e.PHP.colour_random=function(t){return[e.PHP.provideFunction_("colour_random",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {","  return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);","}"])+"()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.colour_rgb=function(t){var o=e.PHP.valueToCode(t,"RED",e.PHP.ORDER_COMMA)||0,n=e.PHP.valueToCode(t,"GREEN",e.PHP.ORDER_COMMA)||0;return t=e.PHP.valueToCode(t,"BLUE",e.PHP.ORDER_COMMA)||0,[e.PHP.provideFunction_("colour_rgb",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($r, $g, $b) {","  $r = round(max(min($r, 100), 0) * 2.55);","  $g = round(max(min($g, 100), 0) * 2.55);","  $b = round(max(min($b, 100), 0) * 2.55);","  $hex = '#';","  $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);","  return $hex;","}"])+"("+o+", "+n+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.colour_blend=function(t){var o=e.PHP.valueToCode(t,"COLOUR1",e.PHP.ORDER_COMMA)||"'#000000'",n=e.PHP.valueToCode(t,"COLOUR2",e.PHP.ORDER_COMMA)||"'#000000'";return t=e.PHP.valueToCode(t,"RATIO",e.PHP.ORDER_COMMA)||.5,[e.PHP.provideFunction_("colour_blend",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($c1, $c2, $ratio) {","  $ratio = max(min($ratio, 1), 0);","  $r1 = hexdec(substr($c1, 1, 2));","  $g1 = hexdec(substr($c1, 3, 2));","  $b1 = hexdec(substr($c1, 5, 2));","  $r2 = hexdec(substr($c2, 1, 2));","  $g2 = hexdec(substr($c2, 3, 2));","  $b2 = hexdec(substr($c2, 5, 2));","  $r = round($r1 * (1 - $ratio) + $r2 * $ratio);","  $g = round($g1 * (1 - $ratio) + $g2 * $ratio);","  $b = round($b1 * (1 - $ratio) + $b2 * $ratio);","  $hex = '#';","  $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);","  return $hex;","}"])+"("+o+", "+n+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists={},e.PHP.lists_create_empty=function(t){return["array()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.PHP.valueToCode(t,"ADD"+n,e.PHP.ORDER_COMMA)||"null";return[o="array("+o.join(", ")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_repeat=function(t){return[e.PHP.provideFunction_("lists_repeat",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value, $count) {","  $array = array();","  for ($index = 0; $index < $count; $index++) {","    $array[] = $value;","  }","  return $array;","}"])+"("+(e.PHP.valueToCode(t,"ITEM",e.PHP.ORDER_COMMA)||"null")+", "+(t=e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_COMMA)||"0")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_length=function(t){return[e.PHP.provideFunction_("length",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {","  if (is_string($value)) {","    return strlen($value);","  } else {","    return count($value);","  }","}"])+"("+(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_isEmpty=function(t){return["empty("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_indexOf=function(t){var o=e.PHP.valueToCode(t,"FIND",e.PHP.ORDER_NONE)||"''",n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"[]";if(t.workspace.options.oneBasedIndex)var i=" 0",r=" + 1";else i=" -1",r="";return[("FIRST"==t.getFieldValue("END")?e.PHP.provideFunction_("indexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {","  for ($index = 0; $index < count($haystack); $index++) {","    if ($haystack[$index] == $needle) return $index"+r+";","  }","  return "+i+";","}"]):e.PHP.provideFunction_("lastIndexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {","  $last = "+i+";","  for ($index = 0; $index < count($haystack); $index++) {","    if ($haystack[$index] == $needle) $last = $index"+r+";","  }","  return $last;","}"]))+"("+n+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET";switch(t.getFieldValue("WHERE")||"FROM_START"){case"FIRST":if("GET"==o){var n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"array()";return[n+"[0]",e.PHP.ORDER_MEMBER]}if("GET_REMOVE"==o)return["array_shift("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_shift("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+");\n";break;case"LAST":if("GET"==o)return["end("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return["array_pop("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_pop("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+");\n";break;case"FROM_START":var i=e.PHP.getAdjusted(t,"AT");if("GET"==o)return[(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"array()")+"["+i+"]",e.PHP.ORDER_MEMBER];if("GET_REMOVE"==o)return["array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+i+", 1)[0]",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+i+", 1);\n";break;case"FROM_END":if("GET"==o)return["array_slice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+(i=e.PHP.getAdjusted(t,"AT",1,!0))+", 1)[0]",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o||"REMOVE"==o){if(n="array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+", count("+n+") - "+(i=e.PHP.getAdjusted(t,"AT",1,!1,e.PHP.ORDER_SUBTRACTION))+", 1)[0]","GET_REMOVE"==o)return[n,e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return n+";\n"}break;case"RANDOM":if(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()","GET"==o)return[(o=e.PHP.provideFunction_("lists_get_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {","  return $list[rand(0,count($list)-1)];","}"]))+"("+n+")",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return[(o=e.PHP.provideFunction_("lists_get_remove_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {","  $x = rand(0,count($list)-1);","  unset($list[$x]);","  return array_values($list);","}"]))+"("+n+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return(o=e.PHP.provideFunction_("lists_remove_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {","  unset($list[rand(0,count($list)-1)]);","}"]))+"("+n+");\n"}throw Error("Unhandled combination (lists_getIndex).")},e.PHP.lists_setIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_ASSIGNMENT)||"null";switch(n){case"FIRST":if("SET"==o)return(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_MEMBER)||"array()")+"[0] = "+i+";\n";if("INSERT"==o)return"array_unshift("+(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()")+", "+i+");\n";break;case"LAST":if(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()","SET"==o)return(o=e.PHP.provideFunction_("lists_set_last_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $value) {","  $list[count($list) - 1] = $value;","}"]))+"("+n+", "+i+");\n";if("INSERT"==o)return"array_push("+n+", "+i+");\n";break;case"FROM_START":var r=e.PHP.getAdjusted(t,"AT");if("SET"==o)return(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_MEMBER)||"array()")+"["+r+"] = "+i+";\n";if("INSERT"==o)return"array_splice("+(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()")+", "+r+", 0, "+i+");\n";break;case"FROM_END":if(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",r=e.PHP.getAdjusted(t,"AT",1),"SET"==o)return(o=e.PHP.provideFunction_("lists_set_from_end",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {","  $list[count($list) - $at] = $value;","}"]))+"("+n+", "+r+", "+i+");\n";if("INSERT"==o)return(o=e.PHP.provideFunction_("lists_insert_from_end",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {","  return array_splice($list, count($list) - $at, 0, $value);","}"]))+"("+n+", "+r+", "+i+");\n";break;case"RANDOM":if((n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_REFERENCE)||"array()").match(/^\$\w+$/)?t="":(r=(t=e.PHP.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = &"+n+";\n",n=t,t=r),t+=(r=e.PHP.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = rand(0, count("+n+")-1);\n","SET"==o)return t+(n+"[")+r+"] = "+i+";\n";if("INSERT"==o)return t+"array_splice("+n+", "+r+", 0, "+i+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.PHP.lists_getSublist=function(t){var o=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i)if(o.match(/^\$\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.PHP.getAdjusted(t,"AT1");break;case"FROM_END":r="count("+o+") - "+(r=e.PHP.getAdjusted(t,"AT1",1,!1,e.PHP.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":n=(t=e.PHP.getAdjusted(t,"AT2",0,!1,e.PHP.ORDER_SUBTRACTION))+" - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")",n+=" + 1";break;case"FROM_END":n="count("+o+") - "+(t=e.PHP.getAdjusted(t,"AT2",0,!1,e.PHP.ORDER_SUBTRACTION))+" - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")";break;case"LAST":n="count("+o+") - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")";break;default:throw Error("Unhandled option (lists_getSublist).")}o="array_slice("+o+", "+r+", "+n+")"}else r=e.PHP.getAdjusted(t,"AT1"),t=e.PHP.getAdjusted(t,"AT2"),o=e.PHP.provideFunction_("lists_get_sublist",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $where1, $at1, $where2, $at2) {","  if ($where1 == 'FROM_END') {","    $at1 = count($list) - 1 - $at1;","  } else if ($where1 == 'FIRST') {","    $at1 = 0;","  } else if ($where1 != 'FROM_START'){","    throw new Exception('Unhandled option (lists_get_sublist).');","  }","  $length = 0;","  if ($where2 == 'FROM_START') {","    $length = $at2 - $at1 + 1;","  } else if ($where2 == 'FROM_END') {","    $length = count($list) - $at1 - $at2;","  } else if ($where2 == 'LAST') {","    $length = count($list) - $at1;","  } else {","    throw new Exception('Unhandled option (lists_get_sublist).');","  }","  return array_slice($list, $at1, $length);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+t+")";return[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_sort=function(t){var o=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.PHP.provideFunction_("lists_sort",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $type, $direction) {","  $sortCmpFuncs = array(",'    "NUMERIC" => "strnatcasecmp",','    "TEXT" => "strcmp",','    "IGNORE_CASE" => "strcasecmp"',"  );","  $sortCmp = $sortCmpFuncs[$type];","  $list2 = $list;","  usort($list2, $sortCmp);","  if ($direction == -1) {","    $list2 = array_reverse($list2);","  }","  return $list2;","}"])+"("+o+', "'+t+'", '+n+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_split=function(t){var o=e.PHP.valueToCode(t,"INPUT",e.PHP.ORDER_COMMA),n=e.PHP.valueToCode(t,"DELIM",e.PHP.ORDER_COMMA)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="explode";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="array()"),t="implode"}return[t+"("+n+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_reverse=function(t){return["array_reverse("+(e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"[]")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.logic={},e.PHP.controls_if=function(t){var o=0,n="";e.PHP.STATEMENT_PREFIX&&(n+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t));do{var i=e.PHP.valueToCode(t,"IF"+o,e.PHP.ORDER_NONE)||"false",r=e.PHP.statementToCode(t,"DO"+o);e.PHP.STATEMENT_SUFFIX&&(r=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)+r),n+=(0<o?" else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.PHP.STATEMENT_SUFFIX)&&(r=e.PHP.statementToCode(t,"ELSE"),e.PHP.STATEMENT_SUFFIX&&(r=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.PHP.controls_ifelse=e.PHP.controls_if,e.PHP.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.PHP.ORDER_EQUALITY:e.PHP.ORDER_RELATIONAL;return[(e.PHP.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.PHP.valueToCode(t,"B",n)||"0"),n]},e.PHP.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.PHP.ORDER_LOGICAL_AND:e.PHP.ORDER_LOGICAL_OR,i=e.PHP.valueToCode(t,"A",n);if(t=e.PHP.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.PHP.logic_negate=function(t){var o=e.PHP.ORDER_LOGICAL_NOT;return["!"+(e.PHP.valueToCode(t,"BOOL",o)||"true"),o]},e.PHP.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.PHP.ORDER_ATOMIC]},e.PHP.logic_null=function(t){return["null",e.PHP.ORDER_ATOMIC]},e.PHP.logic_ternary=function(t){return[(e.PHP.valueToCode(t,"IF",e.PHP.ORDER_CONDITIONAL)||"false")+" ? "+(e.PHP.valueToCode(t,"THEN",e.PHP.ORDER_CONDITIONAL)||"null")+" : "+(t=e.PHP.valueToCode(t,"ELSE",e.PHP.ORDER_CONDITIONAL)||"null"),e.PHP.ORDER_CONDITIONAL]},e.PHP.loops={},e.PHP.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.PHP.valueToCode(t,"TIMES",e.PHP.ORDER_ASSIGNMENT)||"0",n=e.PHP.statementToCode(t,"DO");n=e.PHP.addLoopTrap(n,t),t="";var i=e.PHP.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+=(r=e.PHP.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for ("+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.PHP.controls_repeat=e.PHP.controls_repeat_ext,e.PHP.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.PHP.valueToCode(t,"BOOL",o?e.PHP.ORDER_LOGICAL_NOT:e.PHP.ORDER_NONE)||"false",i=e.PHP.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.PHP.addLoopTrap(i,t))+"}\n"},e.PHP.controls_for=function(t){var o=e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_ASSIGNMENT)||"0",i=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_ASSIGNMENT)||"0",r=e.PHP.valueToCode(t,"BY",e.PHP.ORDER_ASSIGNMENT)||"1",s=e.PHP.statementToCode(t,"DO");if(s=e.PHP.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+=(a=e.PHP.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+=(n=e.PHP.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+=(i=e.PHP.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"abs("+r+");\n")+"if ("+a+" > "+n+") {\n"+(e.PHP.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.PHP.controls_forEach=function(t){var o=e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_ASSIGNMENT)||"[]",i=e.PHP.statementToCode(t,"DO");return"foreach ("+n+" as "+o+") {\n"+(i=e.PHP.addLoopTrap(i,t))+"}\n"},e.PHP.controls_flow_statements=function(t){var o="";if(e.PHP.STATEMENT_PREFIX&&(o+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t)),e.PHP.STATEMENT_SUFFIX&&(o+=e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t)),e.PHP.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.PHP.math={},e.PHP.math_number=function(t){var o=0<=(t=parseFloat(t.getFieldValue("NUM")))?e.PHP.ORDER_ATOMIC:e.PHP.ORDER_UNARY_NEGATION;return 1/0==t?t="INF":-1/0==t&&(t="-INF"),[t,o]},e.PHP.math_arithmetic=function(t){var o={ADD:[" + ",e.PHP.ORDER_ADDITION],MINUS:[" - ",e.PHP.ORDER_SUBTRACTION],MULTIPLY:[" * ",e.PHP.ORDER_MULTIPLICATION],DIVIDE:[" / ",e.PHP.ORDER_DIVISION],POWER:[" ** ",e.PHP.ORDER_POWER]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.PHP.valueToCode(t,"A",o)||"0")+n+(t=e.PHP.valueToCode(t,"B",o)||"0"),o]},e.PHP.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_UNARY_NEGATION)||"0")[0]&&(t=" "+t),["-"+t,e.PHP.ORDER_UNARY_NEGATION];switch(t="SIN"==o||"COS"==o||"TAN"==o?e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_DIVISION)||"0":e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_NONE)||"0",o){case"ABS":var n="abs("+t+")";break;case"ROOT":n="sqrt("+t+")";break;case"LN":n="log("+t+")";break;case"EXP":n="exp("+t+")";break;case"POW10":n="pow(10,"+t+")";break;case"ROUND":n="round("+t+")";break;case"ROUNDUP":n="ceil("+t+")";break;case"ROUNDDOWN":n="floor("+t+")";break;case"SIN":n="sin("+t+" / 180 * pi())";break;case"COS":n="cos("+t+" / 180 * pi())";break;case"TAN":n="tan("+t+" / 180 * pi())"}if(n)return[n,e.PHP.ORDER_FUNCTION_CALL];switch(o){case"LOG10":n="log("+t+") / log(10)";break;case"ASIN":n="asin("+t+") / pi() * 180";break;case"ACOS":n="acos("+t+") / pi() * 180";break;case"ATAN":n="atan("+t+") / pi() * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.PHP.ORDER_DIVISION]},e.PHP.math_constant=function(t){return{PI:["M_PI",e.PHP.ORDER_ATOMIC],E:["M_E",e.PHP.ORDER_ATOMIC],GOLDEN_RATIO:["(1 + sqrt(5)) / 2",e.PHP.ORDER_DIVISION],SQRT2:["M_SQRT2",e.PHP.ORDER_ATOMIC],SQRT1_2:["M_SQRT1_2",e.PHP.ORDER_ATOMIC],INFINITY:["INF",e.PHP.ORDER_ATOMIC]}[t.getFieldValue("CONSTANT")]},e.PHP.math_number_property=function(t){var o=e.PHP.valueToCode(t,"NUMBER_TO_CHECK",e.PHP.ORDER_MODULUS)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.PHP.provideFunction_("math_isPrime",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if ($n == 2 || $n == 3) {","    return true;","  }","  // False if n is NaN, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {","    if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.PHP.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i="is_int("+o+")";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":i=o+" % "+(t=e.PHP.valueToCode(t,"DIVISOR",e.PHP.ORDER_MODULUS)||"0")+" == 0"}return[i,e.PHP.ORDER_EQUALITY]},e.PHP.math_change=function(t){var o=e.PHP.valueToCode(t,"DELTA",e.PHP.ORDER_ADDITION)||"0";return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" += "+o+";\n"},e.PHP.math_round=e.PHP.math_single,e.PHP.math_trig=e.PHP.math_single,e.PHP.math_on_list=function(t){var o=t.getFieldValue("OP");switch(o){case"SUM":t="array_sum("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"MIN":t="min("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"MAX":t="max("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"AVERAGE":t=(o=e.PHP.provideFunction_("math_mean",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($myList) {","  return array_sum($myList) / count($myList);","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"array()")+")";break;case"MEDIAN":t=(o=e.PHP.provideFunction_("math_median",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($arr) {","  sort($arr,SORT_NUMERIC);","  return (count($arr) % 2) ? $arr[floor(count($arr)/2)] : ","      ($arr[floor(count($arr)/2)] + $arr[floor(count($arr)/2) - 1]) / 2;","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"MODE":t=(o=e.PHP.provideFunction_("math_modes",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($values) {","  if (empty($values)) return array();","  $counts = array_count_values($values);","  arsort($counts); // Sort counts in descending order","  $modes = array_keys($counts, current($counts), true);","  return $modes;","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"STD_DEV":t=(o=e.PHP.provideFunction_("math_standard_deviation",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($numbers) {","  $n = count($numbers);","  if (!$n) return null;","  $mean = array_sum($numbers) / count($numbers);","  foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);","  return sqrt(array_sum($devs) / (count($devs) - 1));","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"RANDOM":t=(o=e.PHP.provideFunction_("math_random_list",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {","  $x = rand(0, count($list)-1);","  return $list[$x];","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;default:throw Error("Unknown operator: "+o)}return[t,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_modulo=function(t){return[(e.PHP.valueToCode(t,"DIVIDEND",e.PHP.ORDER_MODULUS)||"0")+" % "+(t=e.PHP.valueToCode(t,"DIVISOR",e.PHP.ORDER_MODULUS)||"0"),e.PHP.ORDER_MODULUS]},e.PHP.math_constrain=function(t){return["min(max("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"0")+", "+(e.PHP.valueToCode(t,"LOW",e.PHP.ORDER_COMMA)||"0")+"), "+(t=e.PHP.valueToCode(t,"HIGH",e.PHP.ORDER_COMMA)||"Infinity")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_random_int=function(t){var o=e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_COMMA)||"0";return t=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_COMMA)||"0",[e.PHP.provideFunction_("math_random_int",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($a, $b) {","  if ($a > $b) {","    return rand($b, $a);","  }","  return rand($a, $b);","}"])+"("+o+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_random_float=function(t){return["(float)rand()/(float)getrandmax()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_atan2=function(t){var o=e.PHP.valueToCode(t,"X",e.PHP.ORDER_COMMA)||"0";return["atan2("+(e.PHP.valueToCode(t,"Y",e.PHP.ORDER_COMMA)||"0")+", "+o+") / pi() * 180",e.PHP.ORDER_DIVISION]},e.PHP.procedures={},e.PHP.procedures_defreturn=function(t){for(var o,n=[],i=t.workspace,r=e.Variables.allUsedVarModels(i)||[],s=0;o=r[s];s++)o=o.name,-1==t.arguments_.indexOf(o)&&n.push(e.PHP.variableDB_.getName(o,e.Variables.NAME_TYPE));for(i=e.Variables.allDeveloperVariables(i),s=0;s<i.length;s++)n.push(e.PHP.variableDB_.getName(i[s],e.Names.DEVELOPER_VARIABLE_TYPE));n=n.length?e.PHP.INDENT+"global "+n.join(", ")+";\n":"",i=e.PHP.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),r="",e.PHP.STATEMENT_PREFIX&&(r+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t)),e.PHP.STATEMENT_SUFFIX&&(r+=e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t)),r&&(r=e.PHP.prefixLines(r,e.PHP.INDENT)),o="",e.PHP.INFINITE_LOOP_TRAP&&(o=e.PHP.prefixLines(e.PHP.injectId(e.PHP.INFINITE_LOOP_TRAP,t),e.PHP.INDENT));var a=e.PHP.statementToCode(t,"STACK"),l=e.PHP.valueToCode(t,"RETURN",e.PHP.ORDER_NONE)||"",u="";a&&l&&(u=r),l&&(l=e.PHP.INDENT+"return "+l+";\n");var c=[];for(s=0;s<t.arguments_.length;s++)c[s]=e.PHP.variableDB_.getName(t.arguments_[s],e.Variables.NAME_TYPE);return n="function "+i+"("+c.join(", ")+") {\n"+n+r+o+a+u+l+"}",n=e.PHP.scrub_(t,n),e.PHP.definitions_["%"+i]=n,null},e.PHP.procedures_defnoreturn=e.PHP.procedures_defreturn,e.PHP.procedures_callreturn=function(t){for(var o=e.PHP.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.PHP.valueToCode(t,"ARG"+i,e.PHP.ORDER_COMMA)||"null";return[o+"("+n.join(", ")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.procedures_callnoreturn=function(t){return e.PHP.procedures_callreturn(t)[0]+";\n"},e.PHP.procedures_ifreturn=function(t){var o="if ("+(e.PHP.valueToCode(t,"CONDITION",e.PHP.ORDER_NONE)||"false")+") {\n";return e.PHP.STATEMENT_SUFFIX&&(o+=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)),t.hasReturnValue_?(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"null",o+=e.PHP.INDENT+"return "+t+";\n"):o+=e.PHP.INDENT+"return;\n",o+"}\n"},e.PHP.texts={},e.PHP.text=function(t){return[e.PHP.quote_(t.getFieldValue("TEXT")),e.PHP.ORDER_ATOMIC]},e.PHP.text_join=function(t){if(0==t.itemCount_)return["''",e.PHP.ORDER_ATOMIC];if(1==t.itemCount_)return[e.PHP.valueToCode(t,"ADD0",e.PHP.ORDER_NONE)||"''",e.PHP.ORDER_FUNCTION_CALL];if(2==t.itemCount_){var o=e.PHP.valueToCode(t,"ADD0",e.PHP.ORDER_ATOMIC)||"''";return[o+" . "+(t=e.PHP.valueToCode(t,"ADD1",e.PHP.ORDER_ATOMIC)||"''"),e.PHP.ORDER_STRING_CONCAT]}o=Array(t.itemCount_);for(var n=0;n<t.itemCount_;n++)o[n]=e.PHP.valueToCode(t,"ADD"+n,e.PHP.ORDER_COMMA)||"''";return[t="implode('', array("+o.join(",")+"))",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_append=function(t){return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" .= "+(t=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_ASSIGNMENT)||"''")+";\n"},e.PHP.text_length=function(t){return[e.PHP.provideFunction_("length",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {","  if (is_string($value)) {","    return strlen($value);","  } else {","    return count($value);","  }","}"])+"("+(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_isEmpty=function(t){return["empty("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"strpos":"strrpos",n=e.PHP.valueToCode(t,"FIND",e.PHP.ORDER_NONE)||"''",i=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''";if(t.workspace.options.oneBasedIndex)var r=" 0",s=" + 1";else r=" -1",s="";return[e.PHP.provideFunction_("FIRST"==t.getFieldValue("END")?"text_indexOf":"text_lastIndexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $search) {","  $pos = "+o+"($text, $search);","  return $pos === false ? "+r+" : $pos"+s+";","}"])+"("+i+", "+n+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.PHP.valueToCode(t,"VALUE","RANDOM"==o?e.PHP.ORDER_NONE:e.PHP.ORDER_COMMA)||"''";switch(o){case"FIRST":return["substr("+n+", 0, 1)",e.PHP.ORDER_FUNCTION_CALL];case"LAST":return["substr("+n+", -1)",e.PHP.ORDER_FUNCTION_CALL];case"FROM_START":return["substr("+n+", "+(t=e.PHP.getAdjusted(t,"AT"))+", 1)",e.PHP.ORDER_FUNCTION_CALL];case"FROM_END":return["substr("+n+", "+(t=e.PHP.getAdjusted(t,"AT",1,!0))+", 1)",e.PHP.ORDER_FUNCTION_CALL];case"RANDOM":return[e.PHP.provideFunction_("text_random_letter",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text) {","  return $text[rand(0, strlen($text) - 1)];","}"])+"("+n+")",e.PHP.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.PHP.text_getSubstring=function(t){var o=e.PHP.valueToCode(t,"STRING",e.PHP.ORDER_FUNCTION_CALL)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i){var r=e.PHP.getAdjusted(t,"AT1");t=e.PHP.getAdjusted(t,"AT2"),o=e.PHP.provideFunction_("text_get_substring",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $where1, $at1, $where2, $at2) {","  if ($where1 == 'FROM_END') {","    $at1 = strlen($text) - 1 - $at1;","  } else if ($where1 == 'FIRST') {","    $at1 = 0;","  } else if ($where1 != 'FROM_START'){","    throw new Exception('Unhandled option (text_get_substring).');","  }","  $length = 0;","  if ($where2 == 'FROM_START') {","    $length = $at2 - $at1 + 1;","  } else if ($where2 == 'FROM_END') {","    $length = strlen($text) - $at1 - $at2;","  } else if ($where2 == 'LAST') {","    $length = strlen($text) - $at1;","  } else {","    throw new Exception('Unhandled option (text_get_substring).');","  }","  return substr($text, $at1, $length);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+t+")"}return[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_changeCase=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''";if("UPPERCASE"==t.getFieldValue("CASE"))var n="strtoupper("+o+")";else"LOWERCASE"==t.getFieldValue("CASE")?n="strtolower("+o+")":"TITLECASE"==t.getFieldValue("CASE")&&(n="ucwords(strtolower("+o+"))");return[n,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_trim=function(t){return[{LEFT:"ltrim",RIGHT:"rtrim",BOTH:"trim"}[t.getFieldValue("MODE")]+"("+(t=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_print=function(t){return"print("+(e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+");\n"},e.PHP.text_prompt_ext=function(t){var o="readline("+(t.getField("TEXT")?e.PHP.quote_(t.getFieldValue("TEXT")):e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+")";return"NUMBER"==t.getFieldValue("TYPE")&&(o="floatval("+o+")"),[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_prompt=e.PHP.text_prompt_ext,e.PHP.text_count=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''";return["strlen("+(t=e.PHP.valueToCode(t,"SUB",e.PHP.ORDER_NONE)||"''")+") === 0 ? strlen("+o+") + 1 : substr_count("+o+", "+t+")",e.PHP.ORDER_CONDITIONAL]},e.PHP.text_replace=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''";return["str_replace("+(e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_NONE)||"''")+", "+(t=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_NONE)||"''")+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_reverse=function(t){return["strrev("+(e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.variables={},e.PHP.variables_get=function(t){return[e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.PHP.ORDER_ATOMIC]},e.PHP.variables_set=function(t){var o=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_ASSIGNMENT)||"0";return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.PHP.variablesDynamic={},e.PHP.variables_get_dynamic=e.PHP.variables_get,e.PHP.variables_set_dynamic=e.PHP.variables_set,e.PHP}},function(e,t){e.exports=function(e){"use strict";return e.Python=new e.Generator("Python"),e.Python.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),e.Python.ORDER_ATOMIC=0,e.Python.ORDER_COLLECTION=1,e.Python.ORDER_STRING_CONVERSION=1,e.Python.ORDER_MEMBER=2.1,e.Python.ORDER_FUNCTION_CALL=2.2,e.Python.ORDER_EXPONENTIATION=3,e.Python.ORDER_UNARY_SIGN=4,e.Python.ORDER_BITWISE_NOT=4,e.Python.ORDER_MULTIPLICATIVE=5,e.Python.ORDER_ADDITIVE=6,e.Python.ORDER_BITWISE_SHIFT=7,e.Python.ORDER_BITWISE_AND=8,e.Python.ORDER_BITWISE_XOR=9,e.Python.ORDER_BITWISE_OR=10,e.Python.ORDER_RELATIONAL=11,e.Python.ORDER_LOGICAL_NOT=12,e.Python.ORDER_LOGICAL_AND=13,e.Python.ORDER_LOGICAL_OR=14,e.Python.ORDER_CONDITIONAL=15,e.Python.ORDER_LAMBDA=16,e.Python.ORDER_NONE=99,e.Python.ORDER_OVERRIDES=[[e.Python.ORDER_FUNCTION_CALL,e.Python.ORDER_MEMBER],[e.Python.ORDER_FUNCTION_CALL,e.Python.ORDER_FUNCTION_CALL],[e.Python.ORDER_MEMBER,e.Python.ORDER_MEMBER],[e.Python.ORDER_MEMBER,e.Python.ORDER_FUNCTION_CALL],[e.Python.ORDER_LOGICAL_NOT,e.Python.ORDER_LOGICAL_NOT],[e.Python.ORDER_LOGICAL_AND,e.Python.ORDER_LOGICAL_AND],[e.Python.ORDER_LOGICAL_OR,e.Python.ORDER_LOGICAL_OR]],e.Python.init=function(t){e.Python.PASS=this.INDENT+"pass\n",e.Python.definitions_=Object.create(null),e.Python.functionNames_=Object.create(null),e.Python.variableDB_?e.Python.variableDB_.reset():e.Python.variableDB_=new e.Names(e.Python.RESERVED_WORDS_),e.Python.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.Python.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE)+" = None");for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.Python.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE)+" = None");e.Python.definitions_.variables=o.join("\n")},e.Python.finish=function(t){var o,n=[],i=[];for(o in e.Python.definitions_){var r=e.Python.definitions_[o];r.match(/^(from\s+\S+\s+)?import\s+\S+/)?n.push(r):i.push(r)}return delete e.Python.definitions_,delete e.Python.functionNames_,e.Python.variableDB_.reset(),(n.join("\n")+"\n\n"+i.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+t},e.Python.scrubNakedValue=function(e){return e+"\n"},e.Python.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},e.Python.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Python.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+'"""'+r+'\n"""\n':i+e.Python.prefixLines(r+"\n","# "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Python.allNestedComments(r))&&(i+=e.Python.prefixLines(r,"# "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Python.blockToCode(t))},e.Python.getAdjustedInt=function(t,o,n,i){n=n||0,t.workspace.options.oneBasedIndex&&n--;var r=t.workspace.options.oneBasedIndex?"1":"0";return t=e.Python.valueToCode(t,o,n?e.Python.ORDER_ADDITIVE:e.Python.ORDER_NONE)||r,e.isNumber(t)?(t=parseInt(t,10)+n,i&&(t=-t)):(t=0<n?"int("+t+" + "+n+")":0>n?"int("+t+" - "+-n+")":"int("+t+")",i&&(t="-"+t)),t},e.Python.colour={},e.Python.colour_picker=function(t){return[e.Python.quote_(t.getFieldValue("COLOUR")),e.Python.ORDER_ATOMIC]},e.Python.colour_random=function(t){return e.Python.definitions_.import_random="import random",["'#%06x' % random.randint(0, 2**24 - 1)",e.Python.ORDER_FUNCTION_CALL]},e.Python.colour_rgb=function(t){return[e.Python.provideFunction_("colour_rgb",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b):","  r = round(min(100, max(0, r)) * 2.55)","  g = round(min(100, max(0, g)) * 2.55)","  b = round(min(100, max(0, b)) * 2.55)","  return '#%02x%02x%02x' % (r, g, b)"])+"("+(e.Python.valueToCode(t,"RED",e.Python.ORDER_NONE)||0)+", "+(e.Python.valueToCode(t,"GREEN",e.Python.ORDER_NONE)||0)+", "+(t=e.Python.valueToCode(t,"BLUE",e.Python.ORDER_NONE)||0)+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.colour_blend=function(t){return[e.Python.provideFunction_("colour_blend",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio):","  r1, r2 = int(colour1[1:3], 16), int(colour2[1:3], 16)","  g1, g2 = int(colour1[3:5], 16), int(colour2[3:5], 16)","  b1, b2 = int(colour1[5:7], 16), int(colour2[5:7], 16)","  ratio = min(1, max(0, ratio))","  r = round(r1 * (1 - ratio) + r2 * ratio)","  g = round(g1 * (1 - ratio) + g2 * ratio)","  b = round(b1 * (1 - ratio) + b2 * ratio)","  return '#%02x%02x%02x' % (r, g, b)"])+"("+(e.Python.valueToCode(t,"COLOUR1",e.Python.ORDER_NONE)||"'#000000'")+", "+(e.Python.valueToCode(t,"COLOUR2",e.Python.ORDER_NONE)||"'#000000'")+", "+(t=e.Python.valueToCode(t,"RATIO",e.Python.ORDER_NONE)||0)+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists={},e.Python.lists_create_empty=function(t){return["[]",e.Python.ORDER_ATOMIC]},e.Python.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Python.valueToCode(t,"ADD"+n,e.Python.ORDER_NONE)||"None";return["["+o.join(", ")+"]",e.Python.ORDER_ATOMIC]},e.Python.lists_repeat=function(t){return["["+(e.Python.valueToCode(t,"ITEM",e.Python.ORDER_NONE)||"None")+"] * "+(t=e.Python.valueToCode(t,"NUM",e.Python.ORDER_MULTIPLICATIVE)||"0"),e.Python.ORDER_MULTIPLICATIVE]},e.Python.lists_length=function(t){return["len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"[]")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_isEmpty=function(t){return["not len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"[]")+")",e.Python.ORDER_LOGICAL_NOT]},e.Python.lists_indexOf=function(t){var o=e.Python.valueToCode(t,"FIND",e.Python.ORDER_NONE)||"[]",n=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''";if(t.workspace.options.oneBasedIndex)var i=" 0",r=" + 1",s="";else i=" -1",r="",s=" - 1";return"FIRST"==t.getFieldValue("END")?[(t=e.Python.provideFunction_("first_index",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):","  try: index = my_list.index(elem)"+r,"  except: index ="+i,"  return index"]))+"("+n+", "+o+")",e.Python.ORDER_FUNCTION_CALL]:[(t=e.Python.provideFunction_("last_index",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):","  try: index = len(my_list) - my_list[::-1].index(elem)"+s,"  except: index ="+i,"  return index"]))+"("+n+", "+o+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.Python.valueToCode(t,"VALUE","RANDOM"==n?e.Python.ORDER_NONE:e.Python.ORDER_MEMBER)||"[]";switch(n){case"FIRST":if("GET"==o)return[i+"[0]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop(0)",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop(0)\n";break;case"LAST":if("GET"==o)return[i+"[-1]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop()",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop()\n";break;case"FROM_START":if(t=e.Python.getAdjustedInt(t,"AT"),"GET"==o)return[i+"["+t+"]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop("+t+")",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop("+t+")\n";break;case"FROM_END":if(t=e.Python.getAdjustedInt(t,"AT",1,!0),"GET"==o)return[i+"["+t+"]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop("+t+")",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop("+t+")\n";break;case"RANDOM":if(e.Python.definitions_.import_random="import random","GET"==o)return["random.choice("+i+")",e.Python.ORDER_FUNCTION_CALL];if(i=e.Python.provideFunction_("lists_remove_random_item",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  x = int(random.random() * len(myList))","  return myList.pop(x)"])+"("+i+")","GET_REMOVE"==o)return[i,e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+"\n"}throw Error("Unhandled combination (lists_getIndex).")},e.Python.lists_setIndex=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_MEMBER)||"[]",n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"None";switch(i){case"FIRST":if("SET"==n)return o+"[0] = "+r+"\n";if("INSERT"==n)return o+".insert(0, "+r+")\n";break;case"LAST":if("SET"==n)return o+"[-1] = "+r+"\n";if("INSERT"==n)return o+".append("+r+")\n";break;case"FROM_START":if(t=e.Python.getAdjustedInt(t,"AT"),"SET"==n)return o+"["+t+"] = "+r+"\n";if("INSERT"==n)return o+".insert("+t+", "+r+")\n";break;case"FROM_END":if(t=e.Python.getAdjustedInt(t,"AT",1,!0),"SET"==n)return o+"["+t+"] = "+r+"\n";if("INSERT"==n)return o+".insert("+t+", "+r+")\n";break;case"RANDOM":if(e.Python.definitions_.import_random="import random",o.match(/^\w+$/)?t="":(i=(t=e.Python.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = "+o+"\n",o=t,t=i),t+=(i=e.Python.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = int(random.random() * len("+o+"))\n","SET"==n)return t+(o+"[")+i+"] = "+r+"\n";if("INSERT"==n)return t+(o+".insert(")+i+", "+r+")\n"}throw Error("Unhandled combination (lists_setIndex).")},e.Python.lists_getSublist=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");switch(n){case"FROM_START":"0"==(n=e.Python.getAdjustedInt(t,"AT1"))&&(n="");break;case"FROM_END":n=e.Python.getAdjustedInt(t,"AT1",1,!0);break;case"FIRST":n="";break;default:throw Error("Unhandled option (lists_getSublist)")}switch(i){case"FROM_START":t=e.Python.getAdjustedInt(t,"AT2",1);break;case"FROM_END":t=e.Python.getAdjustedInt(t,"AT2",0,!0),e.isNumber(String(t))?"0"==t&&(t=""):(e.Python.definitions_.import_sys="import sys",t+=" or sys.maxsize");break;case"LAST":t="";break;default:throw Error("Unhandled option (lists_getSublist)")}return[o+"["+n+" : "+t+"]",e.Python.ORDER_MEMBER]},e.Python.lists_sort=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]",n=t.getFieldValue("TYPE");return t="1"===t.getFieldValue("DIRECTION")?"False":"True",[e.Python.provideFunction_("lists_sort",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, type, reverse):","  def try_float(s):","    try:","      return float(s)","    except:","      return 0","  key_funcs = {",'    "NUMERIC": try_float,','    "TEXT": str,','    "IGNORE_CASE": lambda s: str(s).lower()',"  }","  key_func = key_funcs[type]","  list_cpy = list(my_list)","  return sorted(list_cpy, key=key_func, reverse=reverse)"])+"("+o+', "'+n+'", '+t+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_split=function(t){var o=t.getFieldValue("MODE");if("SPLIT"==o)t=(o=e.Python.valueToCode(t,"INPUT",e.Python.ORDER_MEMBER)||"''")+".split("+(t=e.Python.valueToCode(t,"DELIM",e.Python.ORDER_NONE))+")";else{if("JOIN"!=o)throw Error("Unknown mode: "+o);o=e.Python.valueToCode(t,"INPUT",e.Python.ORDER_NONE)||"[]",t=(t=e.Python.valueToCode(t,"DELIM",e.Python.ORDER_MEMBER)||"''")+".join("+o+")"}return[t,e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_reverse=function(t){return["list(reversed("+(e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]")+"))",e.Python.ORDER_FUNCTION_CALL]},e.Python.logic={},e.Python.controls_if=function(t){var o=0,n="";e.Python.STATEMENT_PREFIX&&(n+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t));do{var i=e.Python.valueToCode(t,"IF"+o,e.Python.ORDER_NONE)||"False",r=e.Python.statementToCode(t,"DO"+o)||e.Python.PASS;e.Python.STATEMENT_SUFFIX&&(r=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)+r),n+=(0==o?"if ":"elif ")+i+":\n"+r,++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Python.STATEMENT_SUFFIX)&&(r=e.Python.statementToCode(t,"ELSE")||e.Python.PASS,e.Python.STATEMENT_SUFFIX&&(r=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)+r),n+="else:\n"+r),n},e.Python.controls_ifelse=e.Python.controls_if,e.Python.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n=e.Python.ORDER_RELATIONAL;return[(e.Python.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.Python.valueToCode(t,"B",n)||"0"),n]},e.Python.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"and":"or",n="and"==o?e.Python.ORDER_LOGICAL_AND:e.Python.ORDER_LOGICAL_OR,i=e.Python.valueToCode(t,"A",n);if(t=e.Python.valueToCode(t,"B",n),i||t){var r="and"==o?"True":"False";i||(i=r),t||(t=r)}else t=i="False";return[i+" "+o+" "+t,n]},e.Python.logic_negate=function(t){return["not "+(e.Python.valueToCode(t,"BOOL",e.Python.ORDER_LOGICAL_NOT)||"True"),e.Python.ORDER_LOGICAL_NOT]},e.Python.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"True":"False",e.Python.ORDER_ATOMIC]},e.Python.logic_null=function(t){return["None",e.Python.ORDER_ATOMIC]},e.Python.logic_ternary=function(t){var o=e.Python.valueToCode(t,"IF",e.Python.ORDER_CONDITIONAL)||"False";return[(e.Python.valueToCode(t,"THEN",e.Python.ORDER_CONDITIONAL)||"None")+" if "+o+" else "+(t=e.Python.valueToCode(t,"ELSE",e.Python.ORDER_CONDITIONAL)||"None"),e.Python.ORDER_CONDITIONAL]},e.Python.loops={},e.Python.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(parseInt(t.getFieldValue("TIMES"),10)):e.Python.valueToCode(t,"TIMES",e.Python.ORDER_NONE)||"0";o=e.isNumber(o)?parseInt(o,10):"int("+o+")";var n=e.Python.statementToCode(t,"DO");return n=e.Python.addLoopTrap(n,t)||e.Python.PASS,"for "+e.Python.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE)+" in range("+o+"):\n"+n},e.Python.controls_repeat=e.Python.controls_repeat_ext,e.Python.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Python.valueToCode(t,"BOOL",o?e.Python.ORDER_LOGICAL_NOT:e.Python.ORDER_NONE)||"False",i=e.Python.statementToCode(t,"DO");return o&&(n="not "+n),"while "+n+":\n"+(i=e.Python.addLoopTrap(i,t)||e.Python.PASS)},e.Python.controls_for=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"0",i=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"0",r=e.Python.valueToCode(t,"BY",e.Python.ORDER_NONE)||"1",s=e.Python.statementToCode(t,"DO");s=e.Python.addLoopTrap(s,t)||e.Python.PASS;var a="",l=function(){return e.Python.provideFunction_("upRange",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):","  while start <= stop:","    yield start","    start += abs(step)"])},u=function(){return e.Python.provideFunction_("downRange",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):","  while start >= stop:","    yield start","    start -= abs(step)"])};if(t=function(e,t,o){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+o+") or "+u()+"("+e+", "+t+", "+o+")"},e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r))n=parseFloat(n),i=parseFloat(i),r=Math.abs(parseFloat(r)),0==n%1&&0==i%1&&0==r%1?(n<=i?(i++,t=0==n&&1==r?i:n+", "+i,1!=r&&(t+=", "+r)):t=n+", "+--i+", -"+r,t="range("+t+")"):(t=n<i?l():u(),t+="("+n+", "+i+", "+r+")");else{var c=function(t,n){if(e.isNumber(t))t=parseFloat(t);else if(t.match(/^\w+$/))t="float("+t+")";else{var i=e.Python.variableDB_.getDistinctName(o+n,e.Variables.NAME_TYPE);a+=i+" = float("+t+")\n",t=i}return t};n=c(n,"_start"),i=c(i,"_end"),c(r,"_inc"),t="number"==typeof n&&"number"==typeof i?n<i?l():u():t(n,i,r)}return a+="for "+o+" in "+t+":\n"+s},e.Python.controls_forEach=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Python.valueToCode(t,"LIST",e.Python.ORDER_RELATIONAL)||"[]",i=e.Python.statementToCode(t,"DO");return"for "+o+" in "+n+":\n"+(i=e.Python.addLoopTrap(i,t)||e.Python.PASS)},e.Python.controls_flow_statements=function(t){var o="";if(e.Python.STATEMENT_PREFIX&&(o+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t)),e.Python.STATEMENT_SUFFIX&&(o+=e.Python.injectId(e.Python.STATEMENT_SUFFIX,t)),e.Python.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Python.injectId(e.Python.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break\n";case"CONTINUE":return o+"continue\n"}throw Error("Unknown flow statement.")},e.Python.math={},e.Python.addReservedWords("math,random,Number"),e.Python.math_number=function(t){if(1/0==(t=parseFloat(t.getFieldValue("NUM")))){t='float("inf")';var o=e.Python.ORDER_FUNCTION_CALL}else-1/0==t?(t='-float("inf")',o=e.Python.ORDER_UNARY_SIGN):o=0>t?e.Python.ORDER_UNARY_SIGN:e.Python.ORDER_ATOMIC;return[t,o]},e.Python.math_arithmetic=function(t){var o={ADD:[" + ",e.Python.ORDER_ADDITIVE],MINUS:[" - ",e.Python.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Python.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Python.ORDER_MULTIPLICATIVE],POWER:[" ** ",e.Python.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.Python.valueToCode(t,"A",o)||"0")+n+(t=e.Python.valueToCode(t,"B",o)||"0"),o]},e.Python.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o){var n=e.Python.valueToCode(t,"NUM",e.Python.ORDER_UNARY_SIGN)||"0";return["-"+n,e.Python.ORDER_UNARY_SIGN]}switch(e.Python.definitions_.import_math="import math",t="SIN"==o||"COS"==o||"TAN"==o?e.Python.valueToCode(t,"NUM",e.Python.ORDER_MULTIPLICATIVE)||"0":e.Python.valueToCode(t,"NUM",e.Python.ORDER_NONE)||"0",o){case"ABS":n="math.fabs("+t+")";break;case"ROOT":n="math.sqrt("+t+")";break;case"LN":n="math.log("+t+")";break;case"LOG10":n="math.log10("+t+")";break;case"EXP":n="math.exp("+t+")";break;case"POW10":n="math.pow(10,"+t+")";break;case"ROUND":n="round("+t+")";break;case"ROUNDUP":n="math.ceil("+t+")";break;case"ROUNDDOWN":n="math.floor("+t+")";break;case"SIN":n="math.sin("+t+" / 180.0 * math.pi)";break;case"COS":n="math.cos("+t+" / 180.0 * math.pi)";break;case"TAN":n="math.tan("+t+" / 180.0 * math.pi)"}if(n)return[n,e.Python.ORDER_FUNCTION_CALL];switch(o){case"ASIN":n="math.asin("+t+") / math.pi * 180";break;case"ACOS":n="math.acos("+t+") / math.pi * 180";break;case"ATAN":n="math.atan("+t+") / math.pi * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.Python.ORDER_MULTIPLICATIVE]},e.Python.math_constant=function(t){var o={PI:["math.pi",e.Python.ORDER_MEMBER],E:["math.e",e.Python.ORDER_MEMBER],GOLDEN_RATIO:["(1 + math.sqrt(5)) / 2",e.Python.ORDER_MULTIPLICATIVE],SQRT2:["math.sqrt(2)",e.Python.ORDER_MEMBER],SQRT1_2:["math.sqrt(1.0 / 2)",e.Python.ORDER_MEMBER],INFINITY:["float('inf')",e.Python.ORDER_ATOMIC]};return"INFINITY"!=(t=t.getFieldValue("CONSTANT"))&&(e.Python.definitions_.import_math="import math"),o[t]},e.Python.math_number_property=function(t){var o=e.Python.valueToCode(t,"NUMBER_TO_CHECK",e.Python.ORDER_MULTIPLICATIVE)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return e.Python.definitions_.import_math="import math",e.Python.definitions_.from_numbers_import_Number="from numbers import Number",[e.Python.provideFunction_("math_isPrime",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(n):","  # https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  # If n is not a number but a string, try parsing it.","  if not isinstance(n, Number):","    try:","      n = float(n)","    except:","      return False","  if n == 2 or n == 3:","    return True","  # False if n is negative, is 1, or not whole, or if n is divisible by 2 or 3.","  if n <= 1 or n % 1 != 0 or n % 2 == 0 or n % 3 == 0:","    return False","  # Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for x in range(6, int(math.sqrt(n)) + 2, 6):","    if n % (x - 1) == 0 or n % (x + 1) == 0:","      return False","  return True"])+"("+o+")",e.Python.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Python.valueToCode(t,"DIVISOR",e.Python.ORDER_MULTIPLICATIVE))||"0"==t)return["False",e.Python.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Python.ORDER_RELATIONAL]},e.Python.math_change=function(t){e.Python.definitions_.from_numbers_import_Number="from numbers import Number";var o=e.Python.valueToCode(t,"DELTA",e.Python.ORDER_ADDITIVE)||"0";return(t=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = ("+t+" if isinstance("+t+", Number) else 0) + "+o+"\n"},e.Python.math_round=e.Python.math_single,e.Python.math_trig=e.Python.math_single,e.Python.math_on_list=function(t){var o=t.getFieldValue("OP");switch(t=e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]",o){case"SUM":o="sum("+t+")";break;case"MIN":o="min("+t+")";break;case"MAX":o="max("+t+")";break;case"AVERAGE":e.Python.definitions_.from_numbers_import_Number="from numbers import Number",o=(o=e.Python.provideFunction_("math_mean",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  localList = [e for e in myList if isinstance(e, Number)]","  if not localList: return","  return float(sum(localList)) / len(localList)"]))+"("+t+")";break;case"MEDIAN":e.Python.definitions_.from_numbers_import_Number="from numbers import Number",o=(o=e.Python.provideFunction_("math_median",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  localList = sorted([e for e in myList if isinstance(e, Number)])","  if not localList: return","  if len(localList) % 2 == 0:","    return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0","  else:","    return localList[(len(localList) - 1) // 2]"]))+"("+t+")";break;case"MODE":o=(o=e.Python.provideFunction_("math_modes",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(some_list):","  modes = []","  # Using a lists of [item, count] to keep count rather than dict",'  # to avoid "unhashable" errors when the counted item is itself a list or dict.',"  counts = []","  maxCount = 1","  for item in some_list:","    found = False","    for count in counts:","      if count[0] == item:","        count[1] += 1","        maxCount = max(maxCount, count[1])","        found = True","    if not found:","      counts.append([item, 1])","  for counted_item, item_count in counts:","    if item_count == maxCount:","      modes.append(counted_item)","  return modes"]))+"("+t+")";break;case"STD_DEV":e.Python.definitions_.import_math="import math",o=(o=e.Python.provideFunction_("math_standard_deviation",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(numbers):","  n = len(numbers)","  if n == 0: return","  mean = float(sum(numbers)) / n","  variance = sum((x - mean) ** 2 for x in numbers) / n","  return math.sqrt(variance)"]))+"("+t+")";break;case"RANDOM":e.Python.definitions_.import_random="import random",o="random.choice("+t+")";break;default:throw Error("Unknown operator: "+o)}return[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.math_modulo=function(t){return[(e.Python.valueToCode(t,"DIVIDEND",e.Python.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Python.valueToCode(t,"DIVISOR",e.Python.ORDER_MULTIPLICATIVE)||"0"),e.Python.ORDER_MULTIPLICATIVE]},e.Python.math_constrain=function(t){return["min(max("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"0")+", "+(e.Python.valueToCode(t,"LOW",e.Python.ORDER_NONE)||"0")+"), "+(t=e.Python.valueToCode(t,"HIGH",e.Python.ORDER_NONE)||"float('inf')")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_random_int=function(t){return e.Python.definitions_.import_random="import random",["random.randint("+(e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"0")+", "+(t=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"0")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_random_float=function(t){return e.Python.definitions_.import_random="import random",["random.random()",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_atan2=function(t){e.Python.definitions_.import_math="import math";var o=e.Python.valueToCode(t,"X",e.Python.ORDER_NONE)||"0";return["math.atan2("+(e.Python.valueToCode(t,"Y",e.Python.ORDER_NONE)||"0")+", "+o+") / math.pi * 180",e.Python.ORDER_MULTIPLICATIVE]},e.Python.procedures={},e.Python.procedures_defreturn=function(t){for(var o,n=[],i=t.workspace,r=e.Variables.allUsedVarModels(i)||[],s=0;o=r[s];s++)o=o.name,-1==t.arguments_.indexOf(o)&&n.push(e.Python.variableDB_.getName(o,e.Variables.NAME_TYPE));for(i=e.Variables.allDeveloperVariables(i),s=0;s<i.length;s++)n.push(e.Python.variableDB_.getName(i[s],e.Names.DEVELOPER_VARIABLE_TYPE));n=n.length?e.Python.INDENT+"global "+n.join(", ")+"\n":"",i=e.Python.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),r="",e.Python.STATEMENT_PREFIX&&(r+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t)),e.Python.STATEMENT_SUFFIX&&(r+=e.Python.injectId(e.Python.STATEMENT_SUFFIX,t)),r&&(r=e.Python.prefixLines(r,e.Python.INDENT)),o="",e.Python.INFINITE_LOOP_TRAP&&(o=e.Python.prefixLines(e.Python.injectId(e.Python.INFINITE_LOOP_TRAP,t),e.Python.INDENT));var a=e.Python.statementToCode(t,"STACK"),l=e.Python.valueToCode(t,"RETURN",e.Python.ORDER_NONE)||"",u="";a&&l&&(u=r),l?l=e.Python.INDENT+"return "+l+"\n":a||(a=e.Python.PASS);var c=[];for(s=0;s<t.arguments_.length;s++)c[s]=e.Python.variableDB_.getName(t.arguments_[s],e.Variables.NAME_TYPE);return n="def "+i+"("+c.join(", ")+"):\n"+n+r+o+a+u+l,n=e.Python.scrub_(t,n),e.Python.definitions_["%"+i]=n,null},e.Python.procedures_defnoreturn=e.Python.procedures_defreturn,e.Python.procedures_callreturn=function(t){for(var o=e.Python.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Python.valueToCode(t,"ARG"+i,e.Python.ORDER_NONE)||"None";return[o+"("+n.join(", ")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.procedures_callnoreturn=function(t){return e.Python.procedures_callreturn(t)[0]+"\n"},e.Python.procedures_ifreturn=function(t){var o="if "+(e.Python.valueToCode(t,"CONDITION",e.Python.ORDER_NONE)||"False")+":\n";return e.Python.STATEMENT_SUFFIX&&(o+=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)),t.hasReturnValue_?(t=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"None",o+=e.Python.INDENT+"return "+t+"\n"):o+=e.Python.INDENT+"return\n",o},e.Python.texts={},e.Python.text=function(t){return[e.Python.quote_(t.getFieldValue("TEXT")),e.Python.ORDER_ATOMIC]},e.Python.text.forceString_=function(t){return e.Python.text.forceString_.strRegExp.test(t)?t:"str("+t+")"},e.Python.text.forceString_.strRegExp=/^\s*'([^']|\\')*'\s*$/,e.Python.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.Python.ORDER_ATOMIC];case 1:return t=e.Python.valueToCode(t,"ADD0",e.Python.ORDER_NONE)||"''",[t=e.Python.text.forceString_(t),e.Python.ORDER_FUNCTION_CALL];case 2:var o=e.Python.valueToCode(t,"ADD0",e.Python.ORDER_NONE)||"''";return t=e.Python.valueToCode(t,"ADD1",e.Python.ORDER_NONE)||"''",[t=e.Python.text.forceString_(o)+" + "+e.Python.text.forceString_(t),e.Python.ORDER_ADDITIVE];default:o=[];for(var n=0;n<t.itemCount_;n++)o[n]=e.Python.valueToCode(t,"ADD"+n,e.Python.ORDER_NONE)||"''";return[t="''.join([str("+(t=e.Python.variableDB_.getDistinctName("x",e.Variables.NAME_TYPE))+") for "+t+" in ["+o.join(", ")+"]])",e.Python.ORDER_FUNCTION_CALL]}},e.Python.text_append=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return t=e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''",o+" = str("+o+") + "+e.Python.text.forceString_(t)+"\n"},e.Python.text_length=function(t){return["len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.text_isEmpty=function(t){return["not len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_LOGICAL_NOT]},e.Python.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"find":"rfind",n=e.Python.valueToCode(t,"FIND",e.Python.ORDER_NONE)||"''";return o=(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_MEMBER)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Python.ORDER_ADDITIVE]:[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_MEMBER)||"''";switch(o){case"FIRST":return[n+"[0]",e.Python.ORDER_MEMBER];case"LAST":return[n+"[-1]",e.Python.ORDER_MEMBER];case"FROM_START":return[n+"["+(t=e.Python.getAdjustedInt(t,"AT"))+"]",e.Python.ORDER_MEMBER];case"FROM_END":return[n+"["+(t=e.Python.getAdjustedInt(t,"AT",1,!0))+"]",e.Python.ORDER_MEMBER];case"RANDOM":return e.Python.definitions_.import_random="import random",[e.Python.provideFunction_("text_random_letter",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(text):","  x = int(random.random() * len(text))","  return text[x];"])+"("+n+")",e.Python.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.Python.text_getSubstring=function(t){var o=t.getFieldValue("WHERE1"),n=t.getFieldValue("WHERE2"),i=e.Python.valueToCode(t,"STRING",e.Python.ORDER_MEMBER)||"''";switch(o){case"FROM_START":"0"==(o=e.Python.getAdjustedInt(t,"AT1"))&&(o="");break;case"FROM_END":o=e.Python.getAdjustedInt(t,"AT1",1,!0);break;case"FIRST":o="";break;default:throw Error("Unhandled option (text_getSubstring)")}switch(n){case"FROM_START":t=e.Python.getAdjustedInt(t,"AT2",1);break;case"FROM_END":t=e.Python.getAdjustedInt(t,"AT2",0,!0),e.isNumber(String(t))?"0"==t&&(t=""):(e.Python.definitions_.import_sys="import sys",t+=" or sys.maxsize");break;case"LAST":t="";break;default:throw Error("Unhandled option (text_getSubstring)")}return[i+"["+o+" : "+t+"]",e.Python.ORDER_MEMBER]},e.Python.text_changeCase=function(t){var o={UPPERCASE:".upper()",LOWERCASE:".lower()",TITLECASE:".title()"}[t.getFieldValue("CASE")];return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_trim=function(t){var o={LEFT:".lstrip()",RIGHT:".rstrip()",BOTH:".strip()"}[t.getFieldValue("MODE")];return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_print=function(t){return"print("+(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''")+")\n"},e.Python.text_prompt_ext=function(t){var o=e.Python.provideFunction_("text_prompt",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(msg):","  try:","    return raw_input(msg)","  except NameError:","    return input(msg)"]);return o=o+"("+(t.getField("TEXT")?e.Python.quote_(t.getFieldValue("TEXT")):e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''")+")","NUMBER"==t.getFieldValue("TYPE")&&(o="float("+o+")"),[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_prompt=e.Python.text_prompt_ext,e.Python.text_count=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+".count("+(t=e.Python.valueToCode(t,"SUB",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_MEMBER]},e.Python.text_replace=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+".replace("+(e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"''")+", "+(t=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_MEMBER]},e.Python.text_reverse=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+"[::-1]",e.Python.ORDER_MEMBER]},e.Python.variables={},e.Python.variables_get=function(t){return[e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Python.ORDER_ATOMIC]},e.Python.variables_set=function(t){var o=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"0";return e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+"\n"},e.Python.variablesDynamic={},e.Python.variables_get_dynamic=e.Python.variables_get,e.Python.variables_set_dynamic=e.Python.variables_set,e.Python}},function(e,t,o){"use strict";var n=o(192);o.n(n).a},function(e,t,o){"use strict";var n=o(193);o.n(n).a},function(e,t,o){"use strict";var n=o(194);o.n(n).a},function(e,t,o){"use strict";var n=o(195);o.n(n).a},function(e,t,o){"use strict";var n=o(196);o.n(n).a},function(e,t,o){"use strict";var n=o(197);o.n(n).a},function(e,t,o){"use strict";var n=o(198);o.n(n).a},function(e,t,o){"use strict";var n=o(199);o.n(n).a},function(e,t,o){"use strict";o.r(t);o(323),o(324);var n=o(31);var i=function(){return(i=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function r(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))}function s(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}}var a,l,u=o(65),c=o(316),h=o.n(c),d=o(317),g=o.n(d),p=o(318),f=o.n(p),m=o(200),_=(new f.a).compile(m),y={startCase:o(396),snakeCase:o(422)};n.a.use(u.a);function v(e,t){t||(t="http");var o=window.location.host;return"8080"===window.location.port&&(o=window.location.hostname+":80"),t+"://"+o+e}function b(e){return new Promise((function(t){setTimeout((function(){return t(e)}),e)}))}function E(e,t){return e.filename===t.filename?0:e.filename.endsWith(".json")?1:t.filename.endsWith(".json")?-1:e.filename<t.filename?-1:1}function C(e){var t=e.filename.substring(e.filename.lastIndexOf(".")+1),o="py"===t?"application/x-python":"xml"===t?"application/xml":"text/plain",n=new Blob([e.content],{type:o+";charset=utf-8"});g.a.saveAs(n,e.filename)}var S=new u.a.Store({state:{loaded:!1,main:"",projects:[],openProjects:[],blocksConfiguration:void 0,currentProject:void 0,running:!1,saving:0,createOpen:!1,uploadFileKeyPressId:0,messages:[],messageCount:0,textLog:"",textLogOutputState:0,sidebarsHidden:{leftHidden:!1,rightHidden:!1}},mutations:(a={},a.SET_PROJECTS=function(e,t){e.loaded=!0,e.main=t.main,e.projects=t.projects.filter((function(e){return"blocks.json"!==e.filename})),e.projects.sort(E),e.blocksConfiguration=t.blocks},a.OPEN_PROJECT=function(e,t){var o=function(e){return e.filename===t},n=e.projects.find(o);n&&(e.openProjects.find(o)||e.openProjects.push(n),e.currentProject=n)},a.CLOSE_PROJECT=function(e,t){var o=e.openProjects.findIndex((function(e){return e.filename===t}));o>=0&&(e.openProjects.splice(o,1),e.currentProject&&e.currentProject.filename===t&&(o==e.openProjects.length&&o--,e.currentProject=e.openProjects[o]))},a.UPDATE_PROJECT=function(e,t){var o=t.content,n=t.blocklyGenerated,i=t.filename;i?e.projects=e.projects.map((function(e){return e.filename===i&&(e.content=o,e.blocklyGenerated=n),e})):e.currentProject&&(e.currentProject.content=o,e.currentProject.blocklyGenerated=n)},a.CREATE_PROJECT=function(e,t){e.projects.push(t),e.projects.sort(E)},a.DELETE_PROJECT=function(e,t){var o=e.projects.findIndex((function(e){return e.filename===t}));o>=0&&e.projects.splice(o,1)},a.SET_RUNNING=function(e,t){e.running=t},a.SET_SAVING=function(e,t){e.saving+=t?1:-1},a.MARK_SAVED=function(e,t){var o=function(e){return e.filename===t&&(e.lastSaveContent=e.content),e};e.currentProject&&e.currentProject.filename&&(e.currentProject.lastSaveContent=e.currentProject.content),e.projects=e.projects.map(o),e.openProjects=e.openProjects.map(o)},a.SET_CREATE_OPEN=function(e,t){e.createOpen=t},a.SHOW_UPLOAD_DIALOG=function(e){e.uploadFileKeyPressId++},a.SHOW_MESSAGE=function(e,t){var o=t.id,n=t.message,i=t.icon,r=e.messages.findIndex((function(e){return e.id===o}));r>=0?(e.messages[r].message=n,e.messages[r].icon=i):e.messages.push({id:o,message:n,icon:i}),e.messageCount++},a.DISMISS_MESSAGE=function(e,t){var o=e.messages.findIndex((function(e){return e.id===t}));o>=0&&(e.messages[o].timeout&&clearTimeout(e.messages[o].timeout),e.messages.splice(o,1))},a.SET_TEXT_LOG=function(e,t){e.textLog!==t&&(0==e.textLogOutputState?""===t.trim()&&(e.textLogOutputState=1):1==e.textLogOutputState&&""!==t.trim()&&(e.textLogOutputState=2)),e.textLog=t},a.RESET_TEXT_LOG_OUTPUT=function(e){e.textLogOutputState=0},a.SET_SIDEBAR_HIDDEN=function(e,t){var o=t.right,n=t.hidden;o?e.sidebarsHidden.rightHidden=n:e.sidebarsHidden.leftHidden=n},a),actions:(l={},l.FETCH_PROJECTS=function(e){var t=e.commit;return fetch(v("/files/")).then((function(e){return e.json()})).then((function(e){return e.projects.forEach((function(e){e.name=y.startCase(e.filename.substring(0,e.filename.lastIndexOf(".")))})),t("SET_PROJECTS",e),!0})).then((function(e){if(e){var o=function(){fetch(v("/run/output")).then((function(e){return e.text()})).then((function(e){t("SET_TEXT_LOG",e),setTimeout((function(){return o()}),1e3)})).catch((function(e){console.error(e),e.text="Unable to load logs!",setTimeout((function(){return o()}),1e3)}))};o()}}))},l.OPEN_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;o.currentProject&&i("SAVE_PROJECT",o.currentProject.filename),n("MARK_SAVED",t),n("OPEN_PROJECT",t)},l.CLOSE_PROJECT=function(e,t){var o=e.commit;(0,e.dispatch)("SAVE_PROJECT",t),o("CLOSE_PROJECT",t)},l.SAVE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;!t&&o.currentProject&&(t=o.currentProject.filename);var r=o.projects.find((function(e){return e.filename===t}));if(r){if(r.content===r.lastSaveContent)return;if(r.filename.endsWith(".json")){var s=void 0;try{s=JSON.parse(r.content)}catch(e){return void i("SHOW_MESSAGE",{id:"JSON_ERROR",message:"Unable to save block definitions! Failed to parse JSON!",icon:"exclamation-circle"})}if(!_(s)&&_.errors){console.log(_.errors);var a=_.errors[0];return void i("SHOW_MESSAGE",{id:"JSON_ERROR",message:"Unable to save block definitions! At "+a.dataPath+", "+a.message,icon:"exclamation-circle"})}}return n("SET_SAVING",!0),fetch(v("/files/save/"+r.filename),{method:"POST",body:r.content}).then((function(e){return setTimeout((function(){n("MARK_SAVED",t),n("SET_SAVING",!1),i("SHOW_MESSAGE",{id:"SAVED",message:r.name+" saved!",icon:"info-circle"})}),250),e}))}return Promise.resolve()},l.CREATE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch,r=t.type,s=t.name,a=t.filename,l=t.loadContent;if(a)s=y.startCase(a.substring(0,a.lastIndexOf(".")));else{var u="python"===r?"py":"xml",c=y.snakeCase(s);a=c+"."+u,s=y.startCase(c)}if(o.projects.find((function(e){return e.filename===a})))return a?(n("CLOSE_PROJECT",a),n("UPDATE_PROJECT",{filename:a,content:l}),i("SAVE_PROJECT",a),void i("OPEN_PROJECT",a)):void alert("Project with that name already exists!");var h={name:s,filename:a,content:l||("python"===r?"":'<xml xmlns="http://www.w3.org/1999/xhtml"></xml>')};n("CREATE_PROJECT",h),i("SAVE_PROJECT",h.filename),i("OPEN_PROJECT",h.filename)},l.DELETE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=o.openProjects.find((function(e){return e.filename===t}));return i&&n("CLOSE_PROJECT",i.filename),n("DELETE_PROJECT",t),fetch(v("/files/delete/"+t),{method:"DELETE"})},l.RUN_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;return r(this,void 0,void 0,(function(){var e,a,l,u,c,d,g=this;return s(this,(function(p){switch(p.label){case 0:return o.running?[2]:o.currentProject?(n("SET_RUNNING",!0),t||C(o.currentProject),[4,i("SAVE_PROJECT")]):[3,2];case 1:for(p.sent(),e=o.currentProject.filename,a=new h.a,l=[],o.currentProject.filename.endsWith(".xml")?(u=o.blocksConfiguration||{header:"",footer:"",requires:[],blocks:[]},c=o.currentProject.blocklyGenerated,a.file("main.py",c||""),l=o.projects.filter((function(e){return e.filename.endsWith(".py")&&u.requires.includes(e.filename)}))):(a.file("main.py",o.currentProject.content),l=o.projects.filter((function(t){return t.filename.endsWith(".py")&&t.filename!=e}))),d=0;d<l.length;d++)a.file(l[d].filename,l[d].content);a.generateAsync({type:"blob"}).then((function(e){var t=new FormData;return t.append("uploaded_file",e,"code.zip"),i("SHOW_MESSAGE",{id:"RUN",message:"Running on Robot...",icon:"info-circle"}),n("RESET_TEXT_LOG_OUTPUT"),fetch(v("/upload/upload"),{method:"POST",body:t})})).then((function(){return r(g,void 0,void 0,(function(){var e;return s(this,(function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return 2===o.textLogOutputState?[3,3]:[4,b(500)];case 2:return t.sent(),10==++e?[3,3]:[3,1];case 3:return[4,b(1e3)];case 4:return t.sent(),[2]}}))}))})).then((function(){var e=new FormData;return e.append("zone","0"),e.append("mode","development"),fetch(v("/run/start"),{method:"POST",body:e})})).then((function(){return n("SET_RUNNING",!1)})).catch((function(e){console.error(e),n("SET_RUNNING",!1)})),p.label=2;case 2:return[2]}}))}))},l.STOP_PROJECT=function(e){return(0,e.dispatch)("SHOW_MESSAGE",{id:"STOP",message:"Robot stopped!",icon:"info-circle"}),fetch(v("/run/stop"),{method:"POST"})},l.SHOW_MESSAGE=function(e,t){var o=e.commit,n=e.state;t.id=t.id||n.messageCount;var i=n.messages.findIndex((function(e){return e.id===t.id}));i>=0?clearTimeout(n.messages[i].timeout):i=n.messages.length,o("SHOW_MESSAGE",t),n.messages[i].timeout=setTimeout((function(){o("DISMISS_MESSAGE",t.id)}),5e3)},l)}),T=o(115),w={prefix:"fas",iconName:"chevron-left",icon:[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"]},k={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},O={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},R={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},L={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},N={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},I={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},D={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},A={prefix:"fas",iconName:"sync-alt",icon:[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"]},P={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},x={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},M=n.a.extend({name:"app",data:function(){return{deleteOpen:!1,deleteProject:void 0}},computed:Object(u.b)(["loaded","createOpen"]),methods:{openCreate:function(){this.$store.commit("SET_CREATE_OPEN",!0)},closeCreate:function(){this.$store.commit("SET_CREATE_OPEN",!1)},showDelete:function(e){this.deleteProject=e,this.deleteOpen=!0},download:function(e){C(e)}}});o(423);function B(e,t,o,n,i,r,s,a){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=o,u._compiled=!0),n&&(u.functional=!0),r&&(u._scopeId="data-v-"+r),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:u}}var F=B(M,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{attrs:{id:"app"}},[e.loaded?[o("Sidebar",[o("ProjectList",{on:{create:e.openCreate,delete:e.showDelete,download:e.download}})],1),e._v(" "),o("Editor"),e._v(" "),o("Sidebar",{attrs:{right:!0}},[o("Logs")],1),e._v(" "),o("CreateProjectDialog",{directives:[{name:"show",rawName:"v-show",value:e.createOpen,expression:"createOpen"}],on:{close:e.closeCreate}}),e._v(" "),o("DeleteProjectDialog",{directives:[{name:"show",rawName:"v-show",value:e.deleteOpen,expression:"deleteOpen"}],attrs:{project:e.deleteProject},on:{close:function(t){e.deleteOpen=!1}}})]:o("div",{staticClass:"empty-state"},[o("FontAwesomeIcon",{attrs:{icon:["fas","exclamation-triangle"],size:"10x"}}),e._v(" "),o("h2",[e._v("Unable to connect to Shepherd!")])],1),e._v(" "),o("Messages")],2)}),[],!1,null,null,null).exports,H=n.a.extend({name:"icon-button",props:{tooltip:{type:String}}}),U=(o(424),B(H,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("a",{staticClass:"icon-button",attrs:{title:e.tooltip},on:{click:function(t){return t.stopPropagation(),e.$emit("click",t)}}},[e._t("default")],2)}),[],!1,null,null,null).exports),V=n.a.extend({name:"messages",computed:Object(u.b)(["messages"]),methods:{dismiss:function(e){this.$store.commit("DISMISS_MESSAGE",e)}}}),W=(o(425),B(V,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"messages"},[o("transition-group",{attrs:{name:"message"}},e._l(e.messages,(function(t){return o("div",{key:t.id,staticClass:"message"},[o("FontAwesomeIcon",{attrs:{icon:["fas",t.icon],"fixed-width":""}}),e._v(" "),o("p",[e._v(e._s(t.message))]),e._v(" "),o("a",{staticClass:"close",attrs:{title:"Dismiss"},on:{click:function(o){return e.dismiss(t.id)}}})],1)})),0)],1)}),[],!1,null,null,null).exports),j=n.a.extend({name:"editor",computed:i({},Object(u.b)(["sidebarsHidden"]))}),G=(o(426),B(j,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"container"}},[t("Tabs"),this._v(" "),t("div",{class:this.sidebarsHidden,attrs:{id:"editor-container"}},[t("Monaco"),this._v(" "),t("Blockly")],1)],1)}),[],!1,null,null,null).exports),z=n.a.extend({name:"tabs",computed:Object(u.b)(["openProjects"])}),K=(o(427),B(z,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"tabs"}},this._l(this.openProjects,(function(e){return t("ProjectTab",{key:e.filename,attrs:{name:e.name,filename:e.filename,unsaved:e.content!==e.lastSaveContent,tab:!0}})})),1)}),[],!1,null,null,null).exports),Y=o(119),X=o(319),q=o(166),$=function(e,t){return($=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function J(e,t){function o(){this.constructor=e}$(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function Z(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s}function Q(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Z(arguments[t]));return e}var ee=function(e,t){this.target=t,this.type=e},te=function(e){function t(t,o){var n=e.call(this,"error",o)||this;return n.message=t.message,n.error=t,n}return J(t,e),t}(ee),oe=function(e){function t(t,o,n){void 0===t&&(t=1e3),void 0===o&&(o="");var i=e.call(this,"close",n)||this;return i.wasClean=!0,i.code=t,i.reason=o,i}return J(t,e),t}(ee),ne=function(){if("undefined"!=typeof WebSocket)return WebSocket},ie={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+4e3*Math.random(),minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},re=function(){function e(e,t,o){var n=this;void 0===o&&(o={}),this._listeners={error:[],message:[],open:[],close:[]},this._retryCount=-1,this._shouldReconnect=!0,this._connectLock=!1,this._binaryType="blob",this._closeCalled=!1,this._messageQueue=[],this.onclose=void 0,this.onerror=void 0,this.onmessage=void 0,this.onopen=void 0,this._handleOpen=function(e){n._debug("open event");var t=n._options.minUptime,o=void 0===t?ie.minUptime:t;clearTimeout(n._connectTimeout),n._uptimeTimeout=setTimeout((function(){return n._acceptOpen()}),o),n._ws.binaryType=n._binaryType,n._messageQueue.forEach((function(e){return n._ws.send(e)})),n._messageQueue=[],n.onopen&&n.onopen(e),n._listeners.open.forEach((function(t){return n._callEventListener(e,t)}))},this._handleMessage=function(e){n._debug("message event"),n.onmessage&&n.onmessage(e),n._listeners.message.forEach((function(t){return n._callEventListener(e,t)}))},this._handleError=function(e){n._debug("error event",e.message),n._disconnect(void 0,"TIMEOUT"===e.message?"timeout":void 0),n.onerror&&n.onerror(e),n._debug("exec error listeners"),n._listeners.error.forEach((function(t){return n._callEventListener(e,t)})),n._connect()},this._handleClose=function(e){n._debug("close event"),n._clearTimeouts(),n._shouldReconnect&&n._connect(),n.onclose&&n.onclose(e),n._listeners.close.forEach((function(t){return n._callEventListener(e,t)}))},this._url=e,this._protocols=t,this._options=o,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}return Object.defineProperty(e,"CONNECTING",{get:function(){return 0},enumerable:!0,configurable:!0}),Object.defineProperty(e,"OPEN",{get:function(){return 1},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSING",{get:function(){return 2},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSED",{get:function(){return 3},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CONNECTING",{get:function(){return e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"OPEN",{get:function(){return e.OPEN},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSING",{get:function(){return e.CLOSING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSED",{get:function(){return e.CLOSED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"binaryType",{get:function(){return this._ws?this._ws.binaryType:this._binaryType},set:function(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"retryCount",{get:function(){return Math.max(this._retryCount,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferedAmount",{get:function(){return this._messageQueue.reduce((function(e,t){return"string"==typeof t?e+=t.length:t instanceof Blob?e+=t.size:e+=t.byteLength,e}),0)+(this._ws?this._ws.bufferedAmount:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extensions",{get:function(){return this._ws?this._ws.extensions:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this._ws?this._ws.protocol:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readyState",{get:function(){return this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._ws?this._ws.url:""},enumerable:!0,configurable:!0}),e.prototype.close=function(e,t){void 0===e&&(e=1e3),this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),this._ws?this._ws.readyState!==this.CLOSED?this._ws.close(e,t):this._debug("close: already closed"):this._debug("close enqueued: no ws instance")},e.prototype.reconnect=function(e,t){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,this._ws&&this._ws.readyState!==this.CLOSED?(this._disconnect(e,t),this._connect()):this._connect()},e.prototype.send=function(e){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",e),this._ws.send(e);else{var t=this._options.maxEnqueuedMessages,o=void 0===t?ie.maxEnqueuedMessages:t;this._messageQueue.length<o&&(this._debug("enqueue",e),this._messageQueue.push(e))}},e.prototype.addEventListener=function(e,t){this._listeners[e]&&this._listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){this._listeners[e]&&(this._listeners[e]=this._listeners[e].filter((function(e){return e!==t})))},e.prototype._debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._options.debug&&console.log.apply(console,Q(["RWS>"],e))},e.prototype._getNextDelay=function(){var e=this._options,t=e.reconnectionDelayGrowFactor,o=void 0===t?ie.reconnectionDelayGrowFactor:t,n=e.minReconnectionDelay,i=void 0===n?ie.minReconnectionDelay:n,r=e.maxReconnectionDelay,s=void 0===r?ie.maxReconnectionDelay:r,a=0;return this._retryCount>0&&(a=i*Math.pow(o,this._retryCount-1))>s&&(a=s),this._debug("next delay",a),a},e.prototype._wait=function(){var e=this;return new Promise((function(t){setTimeout(t,e._getNextDelay())}))},e.prototype._getNextUrl=function(e){if("string"==typeof e)return Promise.resolve(e);if("function"==typeof e){var t=e();if("string"==typeof t)return Promise.resolve(t);if(t.then)return t}throw Error("Invalid URL")},e.prototype._connect=function(){var e=this;if(!this._connectLock&&this._shouldReconnect){this._connectLock=!0;var t=this._options,o=t.maxRetries,n=void 0===o?ie.maxRetries:o,i=t.connectionTimeout,r=void 0===i?ie.connectionTimeout:i,s=t.WebSocket,a=void 0===s?ne():s;if(this._retryCount>=n)this._debug("max retries reached",this._retryCount,">=",n);else{if(this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),void 0===(l=a)||!l||2!==l.CLOSING)throw Error("No valid WebSocket class provided");var l;this._wait().then((function(){return e._getNextUrl(e._url)})).then((function(t){e._closeCalled||(e._debug("connect",{url:t,protocols:e._protocols}),e._ws=e._protocols?new a(t,e._protocols):new a(t),e._ws.binaryType=e._binaryType,e._connectLock=!1,e._addListeners(),e._connectTimeout=setTimeout((function(){return e._handleTimeout()}),r))}))}}},e.prototype._handleTimeout=function(){this._debug("timeout event"),this._handleError(new te(Error("TIMEOUT"),this))},e.prototype._disconnect=function(e,t){if(void 0===e&&(e=1e3),this._clearTimeouts(),this._ws){this._removeListeners();try{this._ws.close(e,t),this._handleClose(new oe(e,t,this))}catch(e){}}},e.prototype._acceptOpen=function(){this._debug("accept open"),this._retryCount=0},e.prototype._callEventListener=function(e,t){"handleEvent"in t?t.handleEvent(e):t(e)},e.prototype._removeListeners=function(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))},e.prototype._addListeners=function(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))},e.prototype._clearTimeouts=function(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)},e}();function se(e){q.MonacoServices.install(e);var t=function(e){var t={maxReconnectionDelay:1e4,minReconnectionDelay:1e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:1e4,maxRetries:1/0,debug:!1};return new re(e,void 0,t)}(v("/pyls","ws"));Object(X.listen)({webSocket:t,onConnection:function(e){var t=function(e){return new q.MonacoLanguageClient({name:"Python Language Client",clientOptions:{documentSelector:["python"],errorHandler:{error:function(){return q.ErrorAction.Continue},closed:function(){return q.CloseAction.DoNotRestart}}},connectionProvider:{get:function(t,o){return Promise.resolve(Object(q.createConnection)(e,t,o))}}})}(e).start();e.onClose((function(){return t.dispose()}))}})}Y.languages.register({id:"python",extensions:[".py"],aliases:["PYTHON","python"]}),Y.languages.setMonarchTokensProvider("python",{keywords:["and","del","from","not","while","as","elif","global","or","with","assert","else","if","pass","yield","break","except","import","print","class","exec","in","raise","continue","finally","is","return","def","for","lambda","try",":","=","isinstance","__debug__"],operators:["+","-","*","**","/","//","%","<<",">>","&","|","^","~","<",">","<=",">=","==","!=","<>","+=","-=","*=","/=","//=","%=","&=","|=","^=",">>=","<<=","**="],brackets:[["(",")","delimiter.parenthesis"],["{","}","delimiter.curly"],["[","]","delimiter.square"]],symbols:/[=><!~&|+\-*\/\^%]+/,delimiters:/[;=.@:,`]/,escapes:/\\(?:[abfnrtv\\"'\n\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{\w+\})/,rawpre:/(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,strpre:/(?:[buBU])/,tokenizer:{root:[[/@strpre?("""|''')/,{token:"string.delim",bracket:"@open",next:"@mstring.$1"}],[/@strpre?"([^"\\]|\\.)*$/,"string.invalid"],[/@strpre?'([^'\\]|\\.)*$/,"string.invalid"],[/@strpre?(["'])/,{token:"string.delim",bracket:"@open",next:"@string.$1"}],[/@rawpre("""|''')/,{token:"string.delim",bracket:"@open",next:"@mrawstring.$1"}],[/@rawpre"([^"\\]|\\.)*$/,"string.invalid"],[/@rawpre'([^'\\]|\\.)*$/,"string.invalid"],[/@rawpre(["'])/,{token:"string.delim",bracket:"@open",next:"@rawstring.$1"}],[/__[\w$]*/,"predefined"],[/[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w]*/,{cases:{"~[A-Z0-9_]+":"constructor.identifier","@default":"namespace.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@keywords":"keyword","@operators":"operator","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+[lL]?/,"number.hex"],[/0[bB][0-1]+[lL]?/,"number.binary"],[/(0[oO][0-7]+|0[0-7]+)[lL]?/,"number.octal"],[/(0|[1-9]\d*)[lL]?/,"number"],[":",{token:"keyword",bracket:"@open"}],[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],mstring:[{include:"@strcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],string:[{include:"@strcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],strcontent:[[/[^\\"']+/,"string"],[/\\$/,"string.escape"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"]],mrawstring:[{include:"@rawstrcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],rawstring:[{include:"@rawstrcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],rawstrcontent:[[/[^\\"']+/,"string"],[/\\["']/,"string"],[/\\u[0-9A-Fa-f]{4}/,"string.escape"],[/\\/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#.*$/,"comment"]]}}),Y.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:[{uri:"http://robot.go/blocks-schema.json",fileMatch:["*.py"],schema:m}]});var ae,le=new n.a;var ue=B(n.a.extend({name:"monaco",data:function(){return{editor:void 0,saveTimeout:void 0}},computed:i(i({},Object(u.b)(["currentProject"])),{visible:function(){var e=this.currentProject;return e&&(e.filename.endsWith(".py")||e.filename.endsWith(".json"))||!this.editor}}),mounted:function(){var e,t,o,n,i=this;this.editor=(e=this.$refs.monaco,t="",o=this.$store.state.main,n=Y.editor.create(e,{model:Y.editor.createModel(t,"python",Y.Uri.parse(o)),language:"javascript",theme:"vs-dark"}),le.$on("resize",(function(){n.layout()})),window.addEventListener("resize",(function(){n.layout()})),se(n),n),this.editor.onDidChangeModelContent((function(){i.saveTimeout&&clearTimeout(i.saveTimeout),i.editor&&i.$store.commit("UPDATE_PROJECT",{content:i.editor.getModel().getValue()}),i.saveTimeout=setTimeout((function(){return i.saveTimeout=void 0,i.$store.dispatch("SAVE_PROJECT")}),3e3)}))},watch:(ae={},ae["$store.state.currentProject"]=function(e){if(e){var t=e.filename.substring(e.filename.lastIndexOf("."));if((".py"===t||".json"===t)&&this.editor){this.editor.getModel().setValue(e.content);var o=".py"==t?"python":"json";Y.editor.setModelLanguage(this.editor.getModel(),o)}}},ae.visible=function(e){var t=this;e&&setTimeout((function(){t.editor&&t.editor.layout()}),25)},ae)}),(function(){var e=this.$createElement;return(this._self._c||e)("div",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],ref:"monaco",attrs:{id:"monaco"}})}),[],!1,null,null,null).exports;var ce,he=o(320),de=o.n(he),ge=o(533),pe=n.a.extend({name:"blockly",data:function(){return{workspace:void 0,loaded:!1,saveTimeout:void 0,code:""}},computed:i(i({},Object(u.b)(["currentProject","blocksConfiguration"])),{visible:function(){var e=this.currentProject;return e&&e.filename.endsWith(".xml")||!this.loaded}}),mounted:function(){var e=this;!function(e){!function(e){e.Blocks.motors_set_power={init:function(){this.appendDummyInput().appendField("Set motor").appendField(new e.FieldNumber(1,1,2,1),"MOTOR_INDEX"),this.appendValueInput("MOTOR_PERCENT").setCheck("Number").appendField("to"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_move_for_time={init:function(){this.appendDummyInput().appendField("Move ").appendField(new e.FieldDropdown([["forwards","FORWARDS"],["backwards","BACKWARDS"]]),"MOTORS_DIRECTION"),this.appendValueInput("MOTORS_TIME").setCheck("Number").appendField("for"),this.appendValueInput("MOTORS_POWER_PERCENT").setCheck("Number").appendField("second(s) at"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_turn_for_time={init:function(){this.appendDummyInput().appendField("Turn").appendField(new e.FieldDropdown([["clockwise","CLOCKWISE"],["anticlockwise","ANTICLOCKWISE"]]),"MOTORS_DIRECTION"),this.appendValueInput("MOTORS_TIME").setCheck("Number").appendField("for"),this.appendValueInput("MOTORS_POWER").setCheck("Number").appendField("second(s) at"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_reset={init:function(){this.appendDummyInput().appendField("Stop both motors"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.servo_set_position={init:function(){this.appendDummyInput().appendField("Set servo").appendField(new e.FieldNumber(1,1,4,1),"SERVO_INDEX"),this.appendValueInput("SERVO_POSITION").setCheck("Number").appendField("to the"),this.appendDummyInput().appendField("% position"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.zone={init:function(){this.appendDummyInput().appendField("Zone"),this.setOutput(!0,null),this.setColour(0),this.setTooltip(""),this.setHelpUrl("")}},e.Python.motors_set_power=function(t){return`R.motors[${t.getFieldValue("MOTOR_INDEX")}] = ${e.Python.valueToCode(t,"MOTOR_PERCENT",e.Python.ORDER_ATOMIC)}\n`},e.Python.motors_move_for_time=function(t){const o=t.getFieldValue("MOTORS_DIRECTION"),n=e.Python.valueToCode(t,"MOTORS_TIME",e.Python.ORDER_ATOMIC),i=e.Python.valueToCode(t,"MOTORS_POWER_PERCENT",e.Python.ORDER_ATOMIC),r="FORWARDS"===o?"":"-";return[`R.motors[1] = ${r}${i}`,`R.motors[2] = ${r}${i}`,`time.sleep(${n})`,"R.motors[1] = 0","R.motors[2] = 0",""].join("\n")},e.Python.motors_turn_for_time=function(t){const o=t.getFieldValue("MOTORS_DIRECTION"),n=e.Python.valueToCode(t,"MOTORS_TIME",e.Python.ORDER_ATOMIC),i=e.Python.valueToCode(t,"MOTORS_POWER",e.Python.ORDER_ATOMIC);return[`R.motors[1] = ${"clockwise"===o?"":"-"}${i}`,`R.motors[2] = ${"clockwise"===o?"-":""}${i}`,`time.sleep(${n})`,"R.motors[1] = 0","R.motors[2] = 0",""].join("\n")},e.Python.motors_reset=function(){return"R.motors[1] = 0\nR.motors[2] = 0\n"},e.Python.servo_set_position=function(t){return`R.servos[${t.getFieldValue("SERVO_INDEX")}] = ${e.Python.valueToCode(t,"SERVO_POSITION",e.Python.ORDER_ATOMIC)}\n`},e.Python.zone=function(){return["R.zone",e.Python.ORDER_NONE]}}(e),function(e){e.Blocks.gpio_set_mode={init:function(){this.appendDummyInput().appendField("Set the mode of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX").appendField("to").appendField(new e.FieldDropdown([["Output","OUTPUT"],["Digital Input","INPUT"],["Analog Input","INPUT_ANALOG"],["Input Pullup","INPUT_PULLUP"]]),"GPIO_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_write_digital={init:function(){this.appendValueInput("GPIO_STATE").setCheck("Boolean").appendField("Set GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX").appendField("to"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_read_digital={init:function(){this.appendDummyInput().appendField("Digital value of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX"),this.setOutput(!0,"Boolean"),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_read_analog={init:function(){this.appendDummyInput().appendField("Analog value of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX"),this.setOutput(!0,"Number"),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Python.gpio_set_mode=function(e){return`R.gpio[${e.getFieldValue("GPIO_INDEX")}].mode = ${e.getFieldValue("GPIO_MODE")}\n`},e.Python.gpio_write_digital=function(t){return`R.gpio[${t.getFieldValue("GPIO_INDEX")}].digital = ${e.Python.valueToCode(t,"GPIO_STATE",e.Python.ORDER_ATOMIC)}\n`},e.Python.gpio_read_digital=function(t){return[`R.gpio[${t.getFieldValue("GPIO_INDEX")}].digital`,e.Python.ORDER_NONE]},e.Python.gpio_read_analog=function(t){return[`R.gpio[${t.getFieldValue("GPIO_INDEX")}].analog`,e.Python.ORDER_NONE]}}(e),function(e){e.Blocks.vision_see={init:function(){this.appendDummyInput().appendField("Visible markers at").appendField(new e.FieldDropdown([["640x480","(640, 480)"],["1296x736","(1296, 736)"],["1296x976","(1296, 976)"],["1920x1088","(1920, 1088)"],["1920x1440","(1920, 1440)"]]),"VISION_RESOLUTION").appendField("px"),this.setOutput(!0,"Array"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_distance_to={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Distance to"),this.setInputsInline(!1),this.setOutput(!0,"Number"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_angle_to={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Angle to"),this.setInputsInline(!1),this.setOutput(!0,"Number"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Marker type of"),this.setInputsInline(!1),this.setOutput(!0,"MarkerType"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_arena={init:function(){this.appendDummyInput().appendField("Arena"),this.setOutput(!0,"MarkerType"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_basket={init:function(){this.appendDummyInput().appendField("Basket"),this.setOutput(!0,"MarkerType"),this.setColour(90),this.setTooltip(""),this.setHelpUrl("")}},e.Python.vision_see=function(t){return[`R.see(res=${t.getFieldValue("VISION_RESOLUTION")})`,e.Python.ORDER_NONE]},e.Python.vision_distance_to=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.dist`,e.Python.ORDER_NONE]},e.Python.vision_angle_to=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.rot_y`,e.Python.ORDER_NONE]},e.Python.vision_marker_type=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.info.marker_type`,e.Python.ORDER_NONE]},e.Python.vision_marker_type_arena=function(){return["MARKER_TYPE_ARENA",e.Python.ORDER_NONE]},e.Python.vision_marker_type_basket=function(){return["MARKER_TYPE_BASKET",e.Python.ORDER_NONE]}}(e),e.Blocks.wait={init:function(){this.appendDummyInput().appendField("Wait").appendField(new e.FieldNumber(1,0,1/0,.1),"TIME").appendField("second(s)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Python.wait=function(e){return`time.sleep(${e.getFieldValue("TIME")})\n`}}(ge),this.workspace=ge.inject(this.$refs.blockly,{toolbox:de.a,trashcan:!1}),window.addEventListener("resize",this.onResize,!1),this.onResize(),le.$on("resize",this.onResize),ge.svgResize(this.workspace),this.workspace.addChangeListener((function(){e.code="from __future__ import print_function\nfrom robot import *\nimport time\n\nR = Robot()\n\n"+ge.Python.workspaceToCode(e.workspace)+"\n",e.saveTimeout&&clearTimeout(e.saveTimeout),e.workspace&&e.$store.commit("UPDATE_PROJECT",{content:e.toXML(),blocklyGenerated:e.code}),e.saveTimeout=setTimeout((function(){return e.saveTimeout=void 0,e.$store.dispatch("SAVE_PROJECT")}),3e3)})),this.loaded=!0},methods:{onResize:function(){var e=this.$refs.blocklyArea,t=this.$refs.blockly;t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px",ge.svgResize(this.workspace)},toXML:function(){var e=ge.Xml.workspaceToDom(this.workspace);return ge.Xml.domToPrettyText(e)},fromXML:function(e){var t=ge.Xml.textToDom(e);return this.workspace.clear(),ge.Xml.domToWorkspace(t,this.workspace)}},watch:(ce={},ce["$store.state.currentProject"]=function(e){var t=this;if(e&&e.filename.endsWith(".xml")&&this.workspace){var o=function(){t.fromXML(e.content),setTimeout((function(){return ge.svgResize(t.workspace)}),500)};o(),setTimeout(o,25)}},ce.visible=function(e){var t=this;e&&setTimeout((function(){t.workspace&&t.onResize()}),25)},ce)}),fe=(o(542),B(pe,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],attrs:{id:"blockly-container"}},[t("div",{ref:"blocklyArea",attrs:{id:"blockly-area"}},[t("div",{ref:"blockly",attrs:{id:"blockly"}})]),this._v(" "),t("div",{attrs:{id:"blockly-output"}},[t("Prism",{attrs:{code:this.code,language:"python"}})],1)])}),[],!1,null,null,null).exports),me=n.a.extend({name:"sidebar",props:{right:{type:Boolean,default:!1}},data:function(){return{visible:!0}},computed:{iconRotation:function(){return this.right?this.visible?180:0:this.visible?0:180}},methods:{toggle:function(){this.visible=!this.visible,this.$store.commit("SET_SIDEBAR_HIDDEN",{right:this.right,hidden:!this.visible}),setTimeout((function(){le.$emit("resize")}),50)}}}),_e=(o(543),B(me,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"sidebar",class:{hidden:!this.visible,right:this.right}},[this._t("default"),this._v(" "),t("div",{staticClass:"hide-button"},[t("IconButton",{attrs:{tooltip:"Toggle"},on:{click:this.toggle}},[t("FontAwesomeIcon",{attrs:{icon:["fas","chevron-left"],rotation:this.iconRotation}})],1)],1)],2)}),[],!1,null,null,null).exports),ye=B(n.a.extend({name:"project-list",computed:Object(u.b)(["projects","saving","uploadFileKeyPressId"]),methods:{selectFiles:function(){this.$refs.file.click()},filesChanged:function(){var e=this,t=this.$refs.file.files;if(t){for(var o=function(o){var n=t[o],i=new FileReader;i.onloadend=function(){e.$store.dispatch("CREATE_PROJECT",{filename:n.name,loadContent:i.result}),console.log(n.name),console.log(i.result)},i.readAsText(n)},n=0;n<t.length;n++)o(n);this.$refs.file.value=null}}},watch:{uploadFileKeyPressId:function(){this.selectFiles()}}}),(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("ProjectTab",{key:"header",attrs:{name:"Projects",header:!0}},[e.saving?o("IconButton",{staticClass:"disabled",attrs:{tooltip:"Saving..."}},[o("FontAwesomeIcon",{attrs:{icon:["fas","sync-alt"],spin:""}})],1):e._e(),e._v(" "),o("input",{ref:"file",staticStyle:{display:"none"},attrs:{type:"file",multiple:"",accept:".py,.xml"},on:{change:e.filesChanged}}),e._v(" "),o("IconButton",{attrs:{tooltip:"Upload (CTRL-U)"},on:{click:e.selectFiles}},[o("FontAwesomeIcon",{attrs:{icon:["fas","upload"]}})],1),e._v(" "),o("IconButton",{attrs:{tooltip:"New Project (CTRL-ALT-N)"},on:{click:function(t){return e.$emit("create")}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","plus"]}})],1)],1),e._v(" "),e._l(e.projects,(function(t){return o("ProjectTab",{key:t.filename,attrs:{name:t.name,filename:t.filename}},[o("IconButton",{attrs:{tooltip:"Download"},on:{click:function(o){return e.$emit("download",t)}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","download"]}})],1),e._v(" "),t.filename.endsWith(".json")?e._e():o("IconButton",{attrs:{tooltip:"Delete"},on:{click:function(o){return e.$emit("delete",t)}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","trash"]}})],1)],1)}))],2)}),[],!1,null,null,null).exports,ve=n.a.extend({name:"project-tab",props:{tab:{type:Boolean,default:!1},header:{type:Boolean,default:!1},name:{type:String,required:!0},unsaved:{type:Boolean,default:!1},filename:{type:String}},computed:i(i({},Object(u.b)(["currentProject"])),{classes:function(){var e=this.currentProject,t=!!e&&e.filename===this.filename;return{header:this.header,file:!this.header,tab:this.tab,active:t}}}),methods:{open:function(){if(!this.header)return this.$store.dispatch("OPEN_PROJECT",this.filename)},close:function(){return this.$store.dispatch("CLOSE_PROJECT",this.filename)}}}),be=(o(544),B(ve,(function(){var e,t=this,o=t.$createElement,n=t._self._c||o;return n("div",{class:t.classes,on:{click:t.open}},[t.header?t._e():n("i",{class:(e={},e[t.filename]=!0,e)}),t._v(" "),n("span",[t._v(t._s(t.name))]),t._v(" "),!t.header&&t.tab?n("a",{staticClass:"close",class:{unsaved:t.unsaved},attrs:{title:"Close"},on:{click:function(e){return e.stopPropagation(),t.close(e)}}}):t._e(),t._v(" "),t._t("default")],2)}),[],!1,null,null,null).exports),Ee=n.a.extend({name:"logs",computed:Object(u.b)(["running","currentProject"]),methods:{run:function(e){return this.$store.dispatch("RUN_PROJECT",e.shiftKey)},stop:function(){return this.$store.dispatch("STOP_PROJECT")}}}),Ce=(o(545),B(Ee,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{attrs:{id:"logs"}},[o("ProjectTab",{attrs:{name:"Logs",header:!0}},[e.currentProject&&!e.currentProject.filename.endsWith(".json")?o("IconButton",{class:{disabled:e.running},attrs:{tooltip:"Run (F5)"},on:{click:e.run}},[o("FontAwesomeIcon",{staticClass:"run-button",attrs:{icon:e.running?["fas","sync-alt"]:["fas","play"],spin:e.running}})],1):e._e(),e._v(" "),o("IconButton",{attrs:{tooltip:"Stop (CTRL-F5)"},on:{click:e.stop}},[o("FontAwesomeIcon",{staticClass:"stop-button",attrs:{icon:["fas","stop"]}})],1)],1),e._v(" "),o("Camera"),e._v(" "),o("div",{attrs:{id:"logs-wrapper"}},[o("LogText")],1)],1)}),[],!1,null,null,null).exports),Se={name:"Images",data:function(){return{url:v("/static/image.jpg"),cacheKey:+new Date}},mounted:function(){var e=this;this.interval=window.setInterval((function(){try{e.cacheKey=+new Date}catch(e){console.log(e)}}),1e3)},destroyed:function(){clearInterval(this.interval)}},Te=(o(546),B(Se,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"camera-preview"}},[t("img",{attrs:{src:this.url+"?rnd="+this.cacheKey}})])}),[],!1,null,null,null).exports),we=n.a.extend({name:"log-text",computed:Object(u.b)(["textLog"])}),ke=(o(547),B(we,(function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{attrs:{id:"log-text"}},[t("code",{domProps:{textContent:this._s(this.textLog)}})])}),[],!1,null,null,null).exports),Oe=n.a.extend({name:"dialog-wrapper"}),Re=(o(548),B(Oe,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"dialog-container"},[t("div",{staticClass:"dialog"},[t("h1",{staticClass:"title"},[this._t("title")],2),this._v(" "),t("div",{staticClass:"content"},[this._t("default")],2),this._v(" "),t("div",{staticClass:"actions"},[this._t("actions")],2)])])}),[],!1,null,null,null).exports),Le=n.a.extend({name:"create-project-dialog",data:function(){return{name:"",type:"python"}},methods:{close:function(){this.$emit("close"),this.name="",this.type="python"},create:function(){this.$store.dispatch("CREATE_PROJECT",{type:this.type,name:this.name}),this.close()}}}),Ne=(o(549),B(Le,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("DialogWrapper",[o("template",{slot:"title"},[e._v("Create Project")]),e._v(" "),o("div",{staticClass:"create-dialog"},[o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.name,expression:"name"}],attrs:{type:"text",placeholder:"Name"},domProps:{value:e.name},on:{input:function(t){t.target.composing||(e.name=t.target.value)}}})]),e._v(" "),o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.type,expression:"type"}],attrs:{type:"radio",id:"python",value:"python",checked:""},domProps:{checked:e._q(e.type,"python")},on:{change:function(t){e.type="python"}}}),e._v(" "),o("i",{staticClass:"python",on:{click:function(t){e.type="python"}}}),e._v(" "),o("div",{staticClass:"info",on:{click:function(t){e.type="python"}}},[o("h2",[e._v("Python")]),e._v(" "),o("p",[e._v("Create a new Python project allowing you to implement complex behaviour.")])])]),e._v(" "),o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.type,expression:"type"}],attrs:{type:"radio",value:"blockly"},domProps:{checked:e._q(e.type,"blockly")},on:{change:function(t){e.type="blockly"}}}),e._v(" "),o("i",{staticClass:"blockly",on:{click:function(t){e.type="blockly"}}}),e._v(" "),o("div",{staticClass:"info",on:{click:function(t){e.type="blockly"}}},[o("h2",[e._v("Blockly")]),e._v(" "),o("p",[e._v("Create a new Blockly project allowing you to use a simple drag and drop interface.")])])])]),e._v(" "),o("template",{slot:"actions"},[o("button",{on:{click:e.close}},[e._v("Cancel")]),e._v(" "),o("button",{attrs:{disabled:""===e.name},on:{click:e.create}},[e._v("Create")])])],2)}),[],!1,null,null,null).exports),Ie=B(n.a.extend({name:"delete-project-dialog",props:{project:{type:Object}},methods:{doDelete:function(){this.$store.dispatch("DELETE_PROJECT",this.project.filename),this.$emit("close")}}}),(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("DialogWrapper",[o("template",{slot:"title"},[e._v("Delete Project")]),e._v(" "),o("div",{staticClass:"delete-dialog"},[o("p",[e._v("Are you sure you want to delete "),o("b",[e._v(e._s(e.project&&e.project.name))]),e._v("?")])]),e._v(" "),o("template",{slot:"actions"},[o("button",{on:{click:function(t){return e.$emit("close")}}},[e._v("Cancel")]),e._v(" "),o("button",{on:{click:e.doDelete}},[e._v("Delete")])])],2)}),[],!1,null,null,null).exports,De=o(321),Ae=o.n(De),Pe=o(322);function xe(){new n.a({el:"#app",store:S,render:function(e){return e(F)}})}T.c.add(I,P,A,R,x,k,L,O,w,N,D),n.a.component("IconButton",U),n.a.component("Messages",W),n.a.component("Editor",G),n.a.component("Tabs",K),n.a.component("Monaco",ue),n.a.component("Blockly",fe),n.a.component("Sidebar",_e),n.a.component("ProjectList",ye),n.a.component("ProjectTab",be),n.a.component("Logs",Ce),n.a.component("Camera",Te),n.a.component("LogText",ke),n.a.component("DialogWrapper",Re),n.a.component("CreateProjectDialog",Ne),n.a.component("DeleteProjectDialog",Ie),n.a.component("Prism",Ae.a),n.a.component("FontAwesomeIcon",Pe.a),n.a.config.productionTip=!1,S.dispatch("FETCH_PROJECTS").then(xe).catch((function(e){console.error(e),xe()})),window.addEventListener("keydown",(function(e){"F5"===e.key&&(e.preventDefault(),e.ctrlKey?S.dispatch("STOP_PROJECT"):S.dispatch("RUN_PROJECT",e.shiftKey)),e.ctrlKey&&"s"===e.key&&(e.preventDefault(),S.dispatch("SAVE_PROJECT")),e.ctrlKey&&e.altKey&&"n"===e.key&&(e.preventDefault(),S.commit("SET_CREATE_OPEN",!0)),e.ctrlKey&&"u"===e.key&&(e.preventDefault(),S.commit("SHOW_UPLOAD_DIALOG"))}))},function(e,t,o){"use strict";o.r(t);var n,i,r=o(4),s=o(39),a=o(9),l=o(2),u=o(23),c=o(10),h=o(48),d=o(85),g=o(33);!function(e){e[e.Unnecessary=1]="Unnecessary"}(n||(n={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(i||(i={}));var p,f=function(){function e(){}return e.chord=function(e,t){return Object(s.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function m(){return{editor:void 0,languages:void 0,CancellationTokenSource:h.b,Emitter:r.a,KeyCode:p,KeyMod:f,Position:a.a,Range:l.a,Selection:u.a,SelectionDirection:u.b,MarkerSeverity:i,MarkerTag:n,Promise:c.b,Uri:g.a,Token:d.a}}!function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.US_SEMICOLON=80]="US_SEMICOLON",e[e.US_EQUAL=81]="US_EQUAL",e[e.US_COMMA=82]="US_COMMA",e[e.US_MINUS=83]="US_MINUS",e[e.US_DOT=84]="US_DOT",e[e.US_SLASH=85]="US_SLASH",e[e.US_BACKTICK=86]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=87]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=88]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=89]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=90]="US_QUOTE",e[e.OEM_8=91]="OEM_8",e[e.OEM_102=92]="OEM_102",e[e.NUMPAD_0=93]="NUMPAD_0",e[e.NUMPAD_1=94]="NUMPAD_1",e[e.NUMPAD_2=95]="NUMPAD_2",e[e.NUMPAD_3=96]="NUMPAD_3",e[e.NUMPAD_4=97]="NUMPAD_4",e[e.NUMPAD_5=98]="NUMPAD_5",e[e.NUMPAD_6=99]="NUMPAD_6",e[e.NUMPAD_7=100]="NUMPAD_7",e[e.NUMPAD_8=101]="NUMPAD_8",e[e.NUMPAD_9=102]="NUMPAD_9",e[e.NUMPAD_MULTIPLY=103]="NUMPAD_MULTIPLY",e[e.NUMPAD_ADD=104]="NUMPAD_ADD",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NUMPAD_SUBTRACT=106]="NUMPAD_SUBTRACT",e[e.NUMPAD_DECIMAL=107]="NUMPAD_DECIMAL",e[e.NUMPAD_DIVIDE=108]="NUMPAD_DIVIDE",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.MAX_VALUE=112]="MAX_VALUE"}(p||(p={}));o(489);var _,y=o(52),v=o(16),b=o(6),E=o(83),C=o(22),S=o(37),T=o(61),w=o(12),k=o(36),O=o(91),R=o(98),L=o(0),N=o(17),I=(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}_(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),D=function(e){function t(t,o,n,i,s){var a=e.call(this)||this;return a._contextKeyService=t,a._commandService=o,a._telemetryService=n,a._statusService=s,a._notificationService=i,a._currentChord=null,a._currentChordChecker=new N.b,a._currentChordStatusMessage=null,a._onDidUpdateKeybindings=a._register(new r.a),a}return I(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"onDidUpdateKeybindings",{get:function(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:r.b.None},enumerable:!0,configurable:!0}),t.prototype.lookupKeybinding=function(e){var t=this._getResolver().lookupPrimaryKeybinding(e);return t?t.resolvedKeybinding:null},t.prototype._enterChordMode=function(e,t){var o=this;this._currentChord={keypress:e,label:t},this._statusService&&(this._currentChordStatusMessage=this._statusService.setStatusMessage(L.a("first.chord","({0}) was pressed. Waiting for second key of chord...",t)));var n=Date.now();this._currentChordChecker.cancelAndSet((function(){o._documentHasFocus()?Date.now()-n>5e3&&o._leaveChordMode():o._leaveChordMode()}),500)},t.prototype._leaveChordMode=function(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null},t.prototype._dispatch=function(e,t){var o=this,n=!1,i=this.resolveKeyboardEvent(e);if(i.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;var r=i.getDispatchParts()[0];if(null===r)return n;var s=this._contextKeyService.getContext(t),a=this._currentChord?this._currentChord.keypress:null,l=i.getLabel(),u=this._getResolver().resolve(s,a,r);return u&&u.enterChord?(n=!0,this._enterChordMode(r,l),n):(this._statusService&&this._currentChord&&(u&&u.commandId||(this._statusService.setStatusMessage(L.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,l),1e4),n=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(n=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).done(void 0,(function(e){return o._notificationService.warn(e)})):this._commandService.executeCommand(u.commandId,u.commandArgs).done(void 0,(function(e){return o._notificationService.warn(e)})),this._telemetryService.publicLog("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),n)},t}(b.a),A=o(179),P=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),x=function(e){function t(t,o){var n=e.call(this)||this;if(n._os=o,null===t)throw new Error("Invalid USLayoutResolvedKeybinding");return 2===t.type?(n._firstPart=t.firstPart,n._chordPart=t.chordPart):(n._firstPart=t,n._chordPart=null),n}return P(t,e),t.prototype._keyCodeToUILabel=function(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return s.b.toString(e)},t.prototype._getUILabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode):null},t.prototype.getLabel=function(){var e=this._getUILabelForKeybinding(this._firstPart),t=this._getUILabelForKeybinding(this._chordPart);return A.b.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._getAriaLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":s.b.toString(e.keyCode):null},t.prototype.getAriaLabel=function(){var e=this._getAriaLabelForKeybinding(this._firstPart),t=this._getAriaLabelForKeybinding(this._chordPart);return A.a.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype.isChord=function(){return!!this._chordPart},t.prototype.getParts=function(){return[this._toResolvedKeybindingPart(this._firstPart),this._toResolvedKeybindingPart(this._chordPart)]},t.prototype._toResolvedKeybindingPart=function(e){return e?new s.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getUILabelForKeybinding(e),this._getAriaLabelForKeybinding(e)):null},t.prototype.getDispatchParts=function(){return[this._firstPart?t.getDispatchStr(this._firstPart):null,this._chordPart?t.getDispatchStr(this._chordPart):null]},t.getDispatchStr=function(e){if(e.isModifierKey())return null;var t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=s.b.toString(e.keyCode)},t}(s.c),M=function(){function e(t,o){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var n=0,i=t.length;n<i;n++){var r=t[n].command;this._defaultBoundCommands.set(r,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.combine(t,o);for(n=0,i=this._keybindings.length;n<i;n++){var s=this._keybindings[n];null!==s.keypressFirstPart&&this._addKeyPress(s.keypressFirstPart,s)}}return e._isTargetedForRemoval=function(e,t,o,n,i){if(e.command!==n)return!1;if(t&&e.keypressFirstPart!==t)return!1;if(o&&e.keypressChordPart!==o)return!1;if(i){if(!e.when)return!1;if(!i.equals(e.when))return!1}return!0},e.combine=function(e,t){e=e.slice(0);for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n];if(r.command&&0!==r.command.length&&"-"===r.command.charAt(0))for(var s=r.command.substr(1),a=r.keypressFirstPart,l=r.keypressChordPart,u=r.when,c=e.length-1;c>=0;c--)this._isTargetedForRemoval(e[c],a,l,s,u)&&e.splice(c,1);else o.push(r)}return e.concat(o)},e.prototype._addKeyPress=function(t,o){var n=this._map.get(t);if(void 0===n)return this._map.set(t,[o]),void this._addToLookupMap(o);for(var i=n.length-1;i>=0;i--){var r=n[i];if(r.command!==o.command){var s=null!==r.keypressChordPart,a=null!==o.keypressChordPart;s&&a&&r.keypressChordPart!==o.keypressChordPart||e.whenIsEntirelyIncluded(r.when,o.when)&&this._removeFromLookupMap(r)}}n.push(o),this._addToLookupMap(o)},e.prototype._addToLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);void 0===t?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}},e.prototype._removeFromLookupMap=function(e){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return void t.splice(o,1)},e.whenIsEntirelyIncluded=function(e,t){if(!t)return!0;if(!e)return!1;for(var o=e instanceof w.a?e.expr:[e],n=t instanceof w.a?t.expr:[t],i=0,r=0;r<n.length;r++){for(var s=n[r],a=!1;!a&&i<o.length;){o[i].equals(s)&&(a=!0),i++}if(!a)return!1}return!0},e.prototype.lookupPrimaryKeybinding=function(e){var t=this._lookupMap.get(e);return void 0===t||0===t.length?null:t[t.length-1]},e.prototype.resolve=function(e,t,o){var n=null;if(null!==t){if(void 0===(a=this._map.get(t)))return null;n=[];for(var i=0,r=a.length;i<r;i++){var s=a[i];s.keypressChordPart===o&&n.push(s)}}else{var a;if(void 0===(a=this._map.get(o)))return null;n=a}var l=this._findCommand(e,n);return l?null===t&&null!==l.keypressChordPart?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:l.command,commandArgs:l.commandArgs,bubble:l.bubble}:null},e.prototype._findCommand=function(t,o){for(var n=o.length-1;n>=0;n--){var i=o[n];if(e.contextMatchesRules(t,i.when))return i}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),B=o(143),F=o(79),H=o(25),U=o(21),V=o(30),W=o(104),j=o(49),G=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),z=function(){function e(e,t,o){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===o&&(o=[]),this._contents=e,this._keys=t,this._overrides=o,this.isFrozen=!1}return Object.defineProperty(e.prototype,"contents",{get:function(){return this.checkAndFreeze(this._contents)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"overrides",{get:function(){return this.checkAndFreeze(this._overrides)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"keys",{get:function(){return this.checkAndFreeze(this._keys)},enumerable:!0,configurable:!0}),e.prototype.getValue=function(e){return e?Object(j.e)(this.contents,e):this.contents},e.prototype.override=function(t){var o=this.getContentsForOverrideIdentifer(t);if(!o||"object"!=typeof o||!Object.keys(o).length)return this;for(var n={},i=0,r=H.d(Object.keys(this.contents).concat(Object.keys(o)));i<r.length;i++){var s=r[i],a=this.contents[s],l=o[s];l&&("object"==typeof a&&"object"==typeof l?(a=V.c(a),this.mergeContents(a,l)):a=l),n[s]=a}return new e(n)},e.prototype.merge=function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];for(var n=V.c(this.contents),i=V.c(this.overrides),r=this.keys.slice(),s=0,a=t;s<a.length;s++){var l=a[s];this.mergeContents(n,l.contents);for(var u=function(e){var t=i.filter((function(t){return H.e(t.identifiers,e.identifiers)}))[0];t?c.mergeContents(t.contents,e.contents):i.push(V.c(e))},c=this,h=0,d=l.overrides;h<d.length;h++){var g=d[h];u(g)}for(var p=0,f=l.keys;p<f.length;p++){var m=f[p];-1===r.indexOf(m)&&r.push(m)}}return new e(n,r,i)},e.prototype.freeze=function(){return this.isFrozen=!0,this},e.prototype.mergeContents=function(e,t){for(var o=0,n=Object.keys(t);o<n.length;o++){var i=n[o];i in e&&U.g(e[i])&&U.g(t[i])?this.mergeContents(e[i],t[i]):e[i]=V.c(t[i])}},e.prototype.checkAndFreeze=function(e){return this.isFrozen&&!Object.isFrozen(e)?V.d(e):e},e.prototype.getContentsForOverrideIdentifer=function(e){for(var t=0,o=this.overrides;t<o.length;t++){var n=o[t];if(-1!==n.identifiers.indexOf(e))return n.contents}return null},e.prototype.toJSON=function(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}},e.prototype.setValue=function(e,t){this.addKey(e),Object(j.c)(this.contents,e,t,(function(e){throw new Error(e)}))},e.prototype.removeValue=function(e){this.removeKey(e)&&Object(j.h)(this.contents,e)},e.prototype.addKey=function(e){for(var t=this.keys.length,o=0;o<t;o++)0===e.indexOf(this.keys[o])&&(t=o);this.keys.splice(t,1,e)},e.prototype.removeKey=function(e){var t=this.keys.indexOf(e);return-1!==t&&(this.keys.splice(t,1),!0)},e}(),K=function(e){function t(){for(var t=Object(j.f)(),o=Object(j.d)(),n=[],i=0,r=Object.keys(t);i<r.length;i++){var s=r[i];W.c.test(s)&&n.push({identifiers:[Object(j.g)(s).trim()],contents:Object(j.i)(t[s],(function(e){return console.error("Conflict in default settings file: "+e)}))})}return e.call(this,t,o,n)||this}return G(t,e),t}(z),Y=function(){function e(e,t,o,n,i,r,s){void 0===o&&(o=new z),void 0===n&&(n=new F.b),void 0===i&&(i=new z),void 0===r&&(r=new F.b),void 0===s&&(s=!0),this._defaultConfiguration=e,this._userConfiguration=t,this._workspaceConfiguration=o,this._folderConfigurations=n,this._memoryConfiguration=i,this._memoryConfigurationByResource=r,this._freeze=s,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new F.b}return e.prototype.getValue=function(e,t,o){return this.getConsolidateConfigurationModel(t,o).getValue(e)},e.prototype.updateValue=function(e,t,o){var n;void 0===o&&(o={}),o.resource?(n=this._memoryConfigurationByResource.get(o.resource))||(n=new z,this._memoryConfigurationByResource.set(o.resource,n)):n=this._memoryConfiguration,void 0===t?n.removeValue(e):n.setValue(e,t),o.resource||(this._workspaceConsolidatedConfiguration=null)},e.prototype.getConsolidateConfigurationModel=function(e,t){var o=this.getConsolidatedConfigurationModelForResource(e,t);return e.overrideIdentifier?o.override(e.overrideIdentifier):o},e.prototype.getConsolidatedConfigurationModelForResource=function(e,t){var o=e.resource,n=this.getWorkspaceConsolidatedConfiguration();if(t&&o){var i=t.getFolder(o);i&&(n=this.getFolderConsolidatedConfiguration(i.uri)||n);var r=this._memoryConfigurationByResource.get(o);r&&(n=n.merge(r))}return n},e.prototype.getWorkspaceConsolidatedConfiguration=function(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this._userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration},e.prototype.getFolderConsolidatedConfiguration=function(e){var t=this._foldersConsolidatedConfigurations.get(e);if(!t){var o=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(e);n?(t=o.merge(n),this._freeze&&(t=t.freeze()),this._foldersConsolidatedConfigurations.set(e,t)):t=o}return t},e}(),X=o(1),q=o(51),$=o(84),J=o(38),Z=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Q=function(e,t){return function(o,n){t(o,n,e)}},ee=function(){function e(t,o,n,i){var s=this;this._commandService=n,this._contextKeyService=i,this._menuGroups=[],this._disposables=[],this._onDidChange=new r.a,o.then((function(o){var n,i=J.d.getMenuItems(t),r=new Set;i.sort(e._compareMenuItems);for(var a=0,l=i;a<l.length;a++){var u=l[a],c=u.group;n&&n[0]===c||(n=[c,[]],s._menuGroups.push(n)),n[1].push(u),e._fillInKbExprKeys(u.when,r)}s._disposables.push(s._contextKeyService.onDidChangeContext((function(e){e.affectsSome(r)&&s._onDidChange.fire()}))),s._onDidChange.fire(s)}))}return e.prototype.dispose=function(){this._disposables=Object(b.d)(this._disposables),this._onDidChange.dispose()},e.prototype.getActions=function(e){for(var t=[],o=0,n=this._menuGroups;o<n.length;o++){for(var i=n[o],r=i[0],s=[],a=0,l=i[1];a<l.length;a++){var u=l[a];if(this._contextKeyService.contextMatchesRules(u.when)){var c=Object(J.f)(u)?new J.c(u.command,u.alt,e,this._contextKeyService,this._commandService):new J.e(u);c.order=u.order,s.push(c)}}s.length>0&&t.push([r,s])}return t},e._fillInKbExprKeys=function(e,t){if(e)for(var o=0,n=e.keys();o<n.length;o++){var i=n[o];t.add(i)}},e._compareMenuItems=function(e,t){var o=e.group,n=t.group;if(o!==n){if(!o)return 1;if(!n)return-1;if("navigation"===o)return-1;if("navigation"===n)return 1;var i=o.localeCompare(n);if(0!==i)return i}var r=e.order||0,s=t.order||0;if(r<s)return-1;if(r>s)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,l="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(l)},e=Z([Q(2,S.b),Q(3,w.e)],e)}(),te=function(e,t,o,n,i){if(this.resolvedKeybinding=e,e){var r=e.getDispatchParts(),s=r[0],a=r[1];this.keypressFirstPart=s,this.keypressChordPart=a}else this.keypressFirstPart=null,this.keypressChordPart=null;this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=o,this.when=n,this.isDefault=i},oe=o(15),ne=o(45),ie=o(131),re=o(11),se=o(53),ae=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),le=function(){function e(e){this.model=e,this._onDispose=new r.a}return Object.defineProperty(e.prototype,"textEditorModel",{get:function(){return this.model},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose.fire()},e}();var ue=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,o,n,i,r=this;return o=this.editor,n=function(t){return r.findModel(t,e)},i=function(t){return r.findModel(t.getOriginalEditor(),e)||r.findModel(t.getModifiedEditor(),e)},(t=Object(v.d)(o)?n(o):i(o))?c.b.as(new b.b(new le(t))):c.b.as(new b.b(null))},e.prototype.findModel=function(e,t){var o=e.getModel();return o.uri.toString()!==t.toString()?null:o},e}(),ce=function(){function e(){}return e.prototype.showWhile=function(e,t){return null},e}(),he=function(){},de=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:R.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:R.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:R.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case R.a.Error:console.error(t.message);break;case R.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.NO_OP=new ne.b,e}(),ge=function(){function e(e){this._onWillExecuteCommand=new r.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,o=e.id;return this._dynamicCommands[o]=e,Object(b.f)((function(){delete t._dynamicCommands[o]}))},e.prototype.executeCommand=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=S.a.getCommand(e)||this._dynamicCommands[e];if(!n)return c.b.wrapError(new Error("command '"+e+"' not found"));try{this._onWillExecuteCommand.fire({commandId:e});var i=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler].concat(t));return c.b.as(i)}catch(e){return c.b.wrapError(e)}},e}(),pe=function(e){function t(t,o,n,i,r){var s=e.call(this,t,o,n,i)||this;return s._cachedResolver=null,s._dynamicKeybindings=[],s._register(X.g(r,X.d.KEY_DOWN,(function(e){var t=new q.a(e);s._dispatch(t,t.target)&&t.preventDefault()}))),s}return ae(t,e),t.prototype.addDynamicKeybinding=function(e,t,o,n){var i=this,r=[];this._dynamicKeybindings.push({keybinding:Object(s.f)(t,oe.a),command:e,when:n,weight1:1e3,weight2:0}),r.push(Object(b.f)((function(){for(var t=0;t<i._dynamicKeybindings.length;t++){if(i._dynamicKeybindings[t].command===e)return i._dynamicKeybindings.splice(t,1),void i.updateResolver({source:T.b.Default})}})));var a=this._commandService;if(!(a instanceof ge))throw new Error("Unknown command service!");return r.push(a.addCommand({id:e,handler:o})),this.updateResolver({source:T.b.Default}),Object(b.c)(r)},t.prototype.updateResolver=function(e){this._cachedResolver=null,this._onDidUpdateKeybindings.fire(e)},t.prototype._getResolver=function(){if(!this._cachedResolver){var e=this._toNormalizedKeybindingItems($.a.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new M(e,t)}return this._cachedResolver},t.prototype._documentHasFocus=function(){return document.hasFocus()},t.prototype._toNormalizedKeybindingItems=function(e,t){for(var o=[],n=0,i=0,r=e.length;i<r;i++){var s=e[i],a=s.when?s.when.normalize():null,l=s.keybinding;if(l)for(var u=this.resolveKeybinding(l),c=0;c<u.length;c++)o[n++]=new te(u[c],s.command,s.commandArgs,a,t);else o[n++]=new te(null,s.command,s.commandArgs,a,t)}return o},t.prototype.resolveKeybinding=function(e){return[new x(e,oe.a)]},t.prototype.resolveKeyboardEvent=function(e){var t=new s.e(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new x(t,oe.a)},t}(D);function fe(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof g.a)}var me=function(){function e(){this._onDidChangeConfiguration=new r.a,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new Y(new K,new z)}return e.prototype.configuration=function(){return this._configuration},e.prototype.getValue=function(e,t){var o="string"==typeof e?e:void 0,n=fe(e)?e:fe(t)?t:{};return this.configuration().getValue(o,n,null)},e.prototype.updateValue=function(e,t,o,n){return this.configuration().updateValue(e,t),c.b.as(null)},e}(),_e=function(){function e(e){var t=this;this.configurationService=e,this._onDidChangeConfigurationEmitter=new r.a,this.configurationService.onDidChangeConfiguration((function(e){t._onDidChangeConfigurationEmitter.fire(e)}))}return e.prototype.getValue=function(e,t,o){var n=(a.a.isIPosition(t)?t:null)?"string"==typeof o?o:void 0:"string"==typeof t?t:void 0;return this.configurationService.getValue(n)},e}(),ye=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new ee(e,c.b.as(!0),this._commandService,t)},e}(),ve=function(){function e(){}return e.prototype.publicLog=function(e,t){return c.b.wrap(null)},e}(),be=function(){function e(){var t=g.a.from({scheme:e.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new B.b({uri:t,name:"",index:0})],name:t.fsPath}}return e.prototype.getWorkspace=function(){return this.workspace},e.prototype.getWorkspaceFolder=function(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:void 0},e}();function Ee(e,t,o){t&&e instanceof me&&Object.keys(t).forEach((function(n){Object(ie.d)(n)&&e.updateValue("editor."+n,t[n]),o&&Object(ie.c)(n)&&e.updateValue("diffEditor."+n,t[n])}))}var Ce=function(){function e(e){this._modelService=e}return e.prototype.apply=function(e,t){for(var o=new Map,n=0,i=e.edits;n<i.length;n++){var r=i[n];if(!Object(re.A)(r))return c.b.wrapError(new Error("bad edit - only text edits are supported"));var s=this._modelService.getModel(r.resource);if(!s)return c.b.wrapError(new Error("bad edit - model not found"));var a=o.get(s);a||(a=[]),o.set(s,a.concat(r.edits))}var u=0,h=0;return o.forEach((function(e,t){t.applyEdits(e.map((function(e){return se.a.replaceMove(l.a.lift(e.range),e.text)}))),h+=1,u+=e.length})),c.b.as({selection:void 0,ariaSummary:Object(L.a)("summary","Made {0} edits in {1} files",u,h)})},e}(),Se=function(){function e(){}return e.prototype.getLabel=function(e,t){return"file"===e.scheme?e.fsPath:e.path},e}(),Te=o(140),we=o(264),ke=o(103),Oe=o(206),Re=o(19),Le=o(58),Ne=o(24),Ie=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),De=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Ae=function(e,t){return function(o,n){t(o,n,e)}},Pe=0,xe=!1;var Me=function(e){function t(t,o,n,i,r,s,a,l,u){var c=this;return(o=o||{}).ariaLabel=o.ariaLabel||L.a("editorViewAccessibleLabel","Editor content"),o.ariaLabel=o.ariaLabel+";"+(Ne.k?L.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."):L.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")),c=e.call(this,t,o,{},n,i,r,s,l,u)||this,a instanceof pe&&(c._standaloneKeybindingService=a),xe||(xe=!0,Le.b(document.body)),c}return Ie(t,e),t.prototype.addCommand=function(e,t,o){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var n="DYNAMIC_"+ ++Pe,i=w.d.deserialize(o);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,i),n},t.prototype.createContextKey=function(e,t){return this._contextKeyService.createKey(e,t)},t.prototype.addAction=function(e){var t=this;if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),b.a.None;var o=e.id,n=e.label,i=w.d.and(w.d.equals("editorId",this.getId()),w.d.deserialize(e.precondition)),r=e.keybindings,s=w.d.and(i,w.d.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,u=function(){var o=e.run(t);return o||c.b.as(void 0)},h=[],d=this.getId()+":"+o;if(h.push(S.a.registerCommand(d,u)),a){var g={command:{id:d,title:n},when:i,group:a,order:l};h.push(J.d.appendMenuItem(J.b.EditorContext,g))}Array.isArray(r)&&(h=h.concat(r.map((function(e){return t._standaloneKeybindingService.addDynamicKeybinding(d,e,u,s)}))));var p=new Oe.a(d,n,n,i,u,this._contextKeyService);return this._actions[o]=p,h.push(Object(b.f)((function(){delete t._actions[o]}))),Object(b.c)(h)},t=De([Ae(2,C.a),Ae(3,k.a),Ae(4,S.b),Ae(5,w.e),Ae(6,T.a),Ae(7,Re.c),Ae(8,ne.a)],t)}(Te.a),Be=function(e){function t(t,o,n,i,r,s,a,l,u,c,h,d){var g=this;Ee(d,o,!1),"string"==typeof(o=o||{}).theme&&c.setTheme(o.theme);var p=o.model;if(delete o.model,(g=e.call(this,t,o,i,r,s,a,l,c,h)||this)._contextViewService=u,g._configurationService=d,g._register(n),void 0===p?(p=self.monaco.editor.createModel(o.value||"",o.language||"text/plain"),g._ownsModel=!0):g._ownsModel=!1,g._attachModel(p),p){var f={oldModelUrl:null,newModelUrl:p.uri};g._onDidChangeModel.fire(f)}return g}return Ie(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.updateOptions=function(t){Ee(this._configurationService,t,!1),e.prototype.updateOptions.call(this,t)},t.prototype._attachModel=function(t){e.prototype._attachModel.call(this,t),this._view&&this._contextViewService.setContainer(this._view.domNode.domNode)},t.prototype._postDetachModelCleanup=function(t){e.prototype._postDetachModelCleanup.call(this,t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)},t=De([Ae(3,C.a),Ae(4,k.a),Ae(5,S.b),Ae(6,w.e),Ae(7,T.a),Ae(8,E.b),Ae(9,ke.a),Ae(10,ne.a),Ae(11,j.b)],t)}(Me),Fe=function(e){function t(t,o,n,i,r,s,a,l,u,c,h,d){var g=this;return Ee(d,o,!0),"string"==typeof(o=o||{}).theme&&(o.theme=c.setTheme(o.theme)),(g=e.call(this,t,o,l,r,i,u,c,h)||this)._contextViewService=a,g._configurationService=d,g._register(n),g._contextViewService.setContainer(g._containerDomElement),g}return Ie(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.updateOptions=function(t){Ee(this._configurationService,t,!0),e.prototype.updateOptions.call(this,t)},t.prototype._createInnerEditor=function(e,t,o){return e.createInstance(Me,t,o)},t.prototype.getOriginalEditor=function(){return e.prototype.getOriginalEditor.call(this)},t.prototype.getModifiedEditor=function(){return e.prototype.getModifiedEditor.call(this)},t.prototype.addCommand=function(e,t,o){return this.getModifiedEditor().addCommand(e,t,o)},t.prototype.createContextKey=function(e,t){return this.getModifiedEditor().createContextKey(e,t)},t.prototype.addAction=function(e){return this.getModifiedEditor().addAction(e)},t=De([Ae(3,C.a),Ae(4,w.e),Ae(5,T.a),Ae(6,E.b),Ae(7,O.a),Ae(8,k.a),Ae(9,ke.a),Ae(10,ne.a),Ae(11,j.b)],t)}(we.a),He=o(42),Ue=(o(492),o(34)),Ve=o(41),We=o(78),je=(o(493),o(74)),Ge=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ze=function(e){function t(t,o,n){var i=e.call(this,n||"submenu",t,"",!0)||this;return i.entries=o,i}return Ge(t,e),t}(We.a),Ke=function(){function e(e,t,o){void 0===o&&(o={});var n=this;Object(X.f)(e,"monaco-menu-container"),e.setAttribute("role","presentation");var i=document.createElement("div");Object(X.f)(i,"monaco-menu"),i.setAttribute("role","presentation"),e.appendChild(i);var r={parent:this};this.actionBar=new je.a(i,{orientation:je.c.VERTICAL,actionItemProvider:function(e){return n.doGetActionItem(e,o,r)},context:o.context,actionRunner:o.actionRunner,isMenu:!0,ariaLabel:o.ariaLabel}),this.actionBar.push(t,{icon:!0,label:!0,isMenu:!0})}return e.prototype.doGetActionItem=function(e,t,o){if(e instanceof je.e)return new je.b(t.context,e,{icon:!0});if(e instanceof ze)return new Xe(e,e.entries,o,t);var n={};if(t.getKeyBinding){var i=t.getKeyBinding(e);i&&(n.keybinding=i.getLabel())}return new Ye(t.context,e,n)},Object.defineProperty(e.prototype,"onDidCancel",{get:function(){return this.actionBar.onDidCancel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBlur",{get:function(){return this.actionBar.onDidBlur},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){void 0===e&&(e=!0),this.actionBar&&this.actionBar.focus(e)},e.prototype.dispose=function(){this.actionBar&&(this.actionBar.dispose(),this.actionBar=null),this.listener&&(this.listener.dispose(),this.listener=null)},e}(),Ye=function(e){function t(t,o,n){void 0===n&&(n={});var i=this;return n.isMenu=!0,(i=e.call(this,o,o,n)||this).options=n,i.options.icon=void 0!==n.icon&&n.icon,i.options.label=void 0===n.label||n.label,i.cssClass="",i}return Ge(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.$e=Object(Ue.a)("a.action-menu-item").appendTo(this.builder),this._action.id===je.e.ID?this.$e.attr({role:"presentation"}):this.$e.attr({role:"menuitem"}),this.$label=Object(Ue.a)("span.action-label").appendTo(this.$e),this.options.label&&this.options.keybinding&&Object(Ue.a)("span.keybinding").text(this.options.keybinding).appendTo(this.$e),this._updateClass(),this._updateLabel(),this._updateTooltip(),this._updateEnabled(),this._updateChecked()},t.prototype._updateLabel=function(){if(this.options.label){var e=this.getAction().label;if(e){var o=t.MNEMONIC_REGEX.exec(e);if(o&&2===o.length){var n=o[1],i=e.replace(t.MNEMONIC_REGEX,n);this.$e.getHTMLElement().accessKey=n.toLocaleLowerCase(),this.$label.attr("aria-label",i)}else this.$label.attr("aria-label",e);e=e.replace(t.MNEMONIC_REGEX,"$1̲")}this.$label.text(e)}},t.prototype._updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=L.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&this.$e.attr({title:e})},t.prototype._updateClass=function(){this.cssClass&&this.$e.removeClass(this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,this.$label.addClass("icon"),this.cssClass&&this.$label.addClass(this.cssClass),this._updateEnabled()):this.$label.removeClass("icon")},t.prototype._updateEnabled=function(){this.getAction().enabled?(this.builder.removeClass("disabled"),this.$e.removeClass("disabled"),this.$e.attr({tabindex:0})):(this.builder.addClass("disabled"),this.$e.addClass("disabled"),Object(X.H)(this.$e.getHTMLElement()))},t.prototype._updateChecked=function(){this.getAction().checked?this.$label.addClass("checked"):this.$label.removeClass("checked")},t.MNEMONIC_REGEX=/&&(.)/g,t}(je.d),Xe=function(e){function t(t,o,n,i){var r=e.call(this,t,t,{label:!0,isMenu:!0})||this;return r.submenuActions=o,r.parentData=n,r.submenuOptions=i,r.showScheduler=new N.c((function(){r.mouseOver&&(r.cleanupExistingSubmenu(!1),r.createSubmenu(!1))}),250),r.hideScheduler=new N.c((function(){Object(X.B)(document.activeElement,r.builder.getHTMLElement())||r.parentData.submenu!==r.mysubmenu||(r.parentData.parent.focus(!1),r.cleanupExistingSubmenu(!0))}),750),r}return Ge(t,e),t.prototype.render=function(t){var o=this;e.prototype.render.call(this,t),this.$e.addClass("monaco-submenu-item"),this.$e.attr("aria-haspopup","true"),Object(Ue.a)("span.submenu-indicator").text("▶").appendTo(this.$e),Object(Ue.a)(this.builder).on(X.d.KEY_UP,(function(e){new q.a(e).equals(17)&&(X.c.stop(e,!0),o.createSubmenu(!0))})),Object(Ue.a)(this.builder).on(X.d.KEY_DOWN,(function(e){new q.a(e).equals(17)&&X.c.stop(e,!0)})),Object(Ue.a)(this.builder).on(X.d.MOUSE_OVER,(function(e){o.mouseOver||(o.mouseOver=!0,o.showScheduler.schedule())})),Object(Ue.a)(this.builder).on(X.d.MOUSE_LEAVE,(function(e){o.mouseOver=!1})),Object(Ue.a)(this.builder).on(X.d.FOCUS_OUT,(function(e){Object(X.B)(document.activeElement,o.builder.getHTMLElement())||o.hideScheduler.schedule()}))},t.prototype.onClick=function(e){X.c.stop(e,!0),this.createSubmenu(!1)},t.prototype.cleanupExistingSubmenu=function(e){this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=null,this.submenuContainer&&(this.submenuContainer.dispose(),this.submenuContainer=null))},t.prototype.createSubmenu=function(e){var t=this;void 0===e&&(e=!0),this.parentData.submenu?this.parentData.submenu.focus(!1):(this.submenuContainer=Object(Ue.a)(this.builder).div({class:"monaco-submenu menubar-menu-items-holder context-view"}),Object(Ue.a)(this.submenuContainer).style({left:Object(Ue.a)(this.builder).getClientArea().width+"px"}),Object(Ue.a)(this.submenuContainer).on(X.d.KEY_UP,(function(e){new q.a(e).equals(15)&&(X.c.stop(e,!0),t.parentData.parent.focus(),t.parentData.submenu.dispose(),t.parentData.submenu=null,t.submenuContainer.dispose(),t.submenuContainer=null)})),Object(Ue.a)(this.submenuContainer).on(X.d.KEY_DOWN,(function(e){new q.a(e).equals(15)&&X.c.stop(e,!0)})),this.parentData.submenu=new Ke(this.submenuContainer.getHTMLElement(),this.submenuActions,this.submenuOptions),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer.dispose(),this.submenuContainer=null)},t}(Ye),qe=function(){function e(e,t,o,n){this.setContainer(e),this.contextViewService=t,this.telemetryService=o,this.notificationService=n,this.menuContainerElement=null}return e.prototype.setContainer=function(e){var t=this;this.$el&&(this.$el.off(["click","mousedown"]),this.$el=null),e&&(this.$el=Object(Ue.a)(e),this.$el.on("mousedown",(function(e){return t.onMouseDown(e)})))},e.prototype.showContextMenu=function(e){var t=this;e.getActions().done((function(o){o.length&&t.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,render:function(n){t.menuContainerElement=n;var i=e.getMenuClassName?e.getMenuClassName():"";i&&(n.className+=" "+i);var r=[],s=e.actionRunner||new We.b;s.onDidBeforeRun(t.onActionRun,t,r),s.onDidRun(t.onDidActionRun,t,r);var a=new Ke(n,o,{actionItemProvider:e.getActionItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:s,getKeyBinding:e.getKeyBinding});return a.onDidCancel((function(){return t.contextViewService.hideContextView(!0)}),null,r),a.onDidBlur((function(){return t.contextViewService.hideContextView(!0)}),null,r),a.focus(!!e.autoSelectFirstItem),Object(b.c)(r.concat([a]))},onHide:function(o){e.onHide&&e.onHide(o),t.menuContainerElement=null}})}))},e.prototype.onActionRun=function(e){this.telemetryService&&this.telemetryService.publicLog("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)},e.prototype.onDidActionRun=function(e){e.error&&this.notificationService&&this.notificationService.error(e.error)},e.prototype.onMouseDown=function(e){if(this.menuContainerElement){for(var t=new Ve.b(e).target;t;){if(t===this.menuContainerElement)return;t=t.parentElement}this.contextViewService.hideContextView()}},e.prototype.dispose=function(){this.setContainer(null)},e}(),$e=function(){function e(e,t,o,n){this._onDidContextMenu=new r.a,this.contextMenuHandler=new qe(e,n,t,o)}return e.prototype.dispose=function(){this.contextMenuHandler.dispose()},e.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},e}(),Je=o(203),Ze=o(110),Qe=o(135),et=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},tt=function(e,t){return function(o,n){t(o,n,e)}},ot=function(){function e(e,t,o){this.logService=o,this.contextView=new Je.b(e)}return e.prototype.dispose=function(){this.contextView.dispose()},e.prototype.setContainer=function(e){this.logService.trace("ContextViewService#setContainer"),this.contextView.setContainer(e)},e.prototype.showContextView=function(e){this.logService.trace("ContextViewService#showContextView"),this.contextView.show(e)},e.prototype.layout=function(){this.contextView.layout()},e.prototype.hideContextView=function(e){this.logService.trace("ContextViewService#hideContextView"),this.contextView.hide(e)},e=et([tt(1,Ze.a),tt(2,Qe.a)],e)}(),nt=o(13),it=o(76),rt=Object.prototype.hasOwnProperty;function st(e,t){var o=function(o){if(rt.call(e,o)&&!1===t({key:o,value:e[o]},(function(){delete e[o]})))return{value:void 0}};for(var n in e){var i=o(n);if("object"==typeof i)return i.value}}var at,lt,ut=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return st(this._nodes,(function(t){Object(U.d)(t.value.outgoing)&&e.push(t.value)})),e},e.prototype.insertEdge=function(e,t){var o=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);o.outgoing[this._hashFn(t)]=n,n.incoming[this._hashFn(e)]=o},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],st(this._nodes,(function(e){delete e.value.outgoing[t],delete e.value.incoming[t]}))},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),o=this._nodes[t];return o||(o=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=o),o},Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this._nodes).length},enumerable:!0,configurable:!0}),e.prototype.toString=function(){var e=[];return st(this._nodes,(function(t){e.push(t.key+", (incoming)["+Object.keys(t.value.incoming).join(", ")+"], (outgoing)["+Object.keys(t.value.outgoing).join(",")+"]")})),e.join("\n")},e}(),ct=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];this.ctor=e,this.staticArguments=t},ht=o(117),dt=function(){function e(e,t){void 0===e&&(e=new ht.a),void 0===t&&(t=!1),this._services=e,this._strict=t,this._services.set(C.a,this)}return e.prototype.createChild=function(t){var o=this;return this._services.forEach((function(e,n){t.has(e)||(n instanceof ct&&(n=o._createAndCacheServiceInstance(e,n)),t.set(e,n))})),new e(t,this._strict)},e.prototype.invokeFunction=function(e){for(var t,o=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];try{return t={get:function(e,t){var n=o._getOrCreateServiceInstance(e);if(!n&&t!==C.d)throw new Error("[invokeFunction] unknown service '"+e+"'");return n}},e.apply(void 0,[t].concat(n))}finally{t.get=function(){throw Object(nt.c)("service accessor is only valid during the invocation of its target method")}}},e.prototype.createInstance=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return e instanceof ct?this._createInstance(e,t):this._createInstance(new ct(e),t)},e.prototype._createInstance=function(e,t){for(var o=e.staticArguments.concat(t),n=C.b.getServiceDependencies(e.ctor).sort((function(e,t){return e.index-t.index})),i=[],r=0,s=n;r<s.length;r++){var a=s[r],l=this._getOrCreateServiceInstance(a.id);if(!l&&this._strict&&!a.optional)throw new Error("[createInstance] "+e.ctor.name+" depends on UNKNOWN service "+a.id+".");i.push(l)}var u=n.length>0?n[0].index:o.length;if(o.length!==u){console.warn("[createInstance] First service dependency of "+e.ctor.name+" at position "+(u+1)+" conflicts with "+o.length+" static arguments");var c=u-o.length;o=c>0?o.concat(new Array(c)):o.slice(0,u)}var h=[e.ctor];return h.push.apply(h,o),h.push.apply(h,i),U.a.apply(null,h)},e.prototype._getOrCreateServiceInstance=function(e){var t=this._services.get(e);return t instanceof ct?this._createAndCacheServiceInstance(e,t):t},e.prototype._createAndCacheServiceInstance=function(e,t){it.a(this._services.get(e)instanceof ct);var o=new ut((function(e){return e.id.toString()}));function n(){var e=new Error("[createInstance] cyclic dependency between services");throw e.message=o.toString(),e}for(var i=0,r=[{id:e,desc:t}];r.length;){var s=r.pop();o.lookupOrInsertNode(s),i++>100&&n();for(var a=0,l=C.b.getServiceDependencies(s.desc.ctor);a<l.length;a++){var u=l[a],c=this._services.get(u.id);if(c||console.warn("[createInstance] "+e+" depends on "+u.id+" which is NOT registered."),c instanceof ct){var h={id:u.id,desc:c};o.insertEdge(s,h),r.push(h)}}}for(;;){var d=o.roots();if(0===d.length){0!==o.length&&n();break}for(var g=0,p=d;g<p.length;g++){var f=p[g],m=this._createInstance(f.data.desc,[]);this._services.set(f.data.id,m),o.removeNode(f.data)}}return this._services.get(e)},e}(),gt=o(62),pt=o(46);(lt=at||(at={})).get=function(e,t,o){if(e[t])return e[t][o]},lt.set=function(e,t,o,n){e[t]||(e[t]=Object.create(null)),e[t][o]=n},lt.remove=function(e,t,o){return!(!e[t]||!e[t][o]||(delete e[t][o],Object(U.d)(e[t])&&delete e[t],0))};var ft=function(){function e(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=Object.create(null),this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}return e.prototype.dispose=function(){this._subscription.dispose(),this._data=void 0},e.prototype._update=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n.toString(),r=this._data[i];r&&this._substract(r);var s=this._resourceStats(n);this._add(s),this._data[i]=s}},e.prototype._resourceStats=function(e){var t={errors:0,warnings:0,infos:0,unknowns:0};if(e.scheme===gt.a.inMemory||e.scheme===gt.a.walkThrough||e.scheme===gt.a.walkThroughSnippet)return t;for(var o=0,n=this._service.read({resource:e});o<n.length;o++){var i=n[o].severity;i===pt.b.Error?t.errors+=1:i===pt.b.Warning?t.warnings+=1:i===pt.b.Info?t.infos+=1:t.unknowns+=1}return t},e.prototype._substract=function(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns},e.prototype._add=function(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns},e}(),mt=function(){function e(){this._onMarkerChanged=new r.a,this._onMarkerChangedEvent=Object(r.h)(this._onMarkerChanged.event,e._debouncer,0),this._byResource=Object.create(null),this._byOwner=Object.create(null),this._stats=new ft(this)}return e.prototype.dispose=function(){this._stats.dispose()},Object.defineProperty(e.prototype,"onMarkerChanged",{get:function(){return this._onMarkerChangedEvent},enumerable:!0,configurable:!0}),e.prototype.remove=function(e,t){if(!Object(H.k)(t))for(var o=0,n=t;o<n.length;o++){var i=n[o];this.changeOne(e,i,void 0)}},e.prototype.changeOne=function(t,o,n){if(Object(H.k)(n)){var i=at.remove(this._byResource,o.toString(),t),r=at.remove(this._byOwner,t,o.toString());if(i!==r)throw new Error("invalid marker service state");i&&r&&this._onMarkerChanged.fire([o])}else{for(var s=[],a=0,l=n;a<l.length;a++){var u=l[a],c=e._toMarker(t,o,u);c&&s.push(c)}at.set(this._byResource,o.toString(),t,s),at.set(this._byOwner,t,o.toString(),s),this._onMarkerChanged.fire([o])}},e._toMarker=function(e,t,o){var n=o.code,i=o.severity,r=o.message,s=o.source,a=o.startLineNumber,l=o.startColumn,u=o.endLineNumber,c=o.endColumn,h=o.relatedInformation,d=o.tags;if(r)return{resource:t,owner:e,code:n=n||null,severity:i,message:r,source:s,startLineNumber:a=a>0?a:1,startColumn:l=l>0?l:1,endLineNumber:u=u>=a?u:a,endColumn:c=c>0?c:l,relatedInformation:h,tags:d}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var o=t.owner,n=t.resource,i=t.severities,r=t.take;if((!r||r<0)&&(r=-1),o&&n){if(v=at.get(this._byResource,n.toString(),o)){for(var s=[],a=0,l=v;a<l.length;a++){var u=l[a];if(e._accept(u,i)){var c=s.push(u);if(r>0&&c===r)break}}return s}return[]}if(o||n){var h=o?this._byOwner[o]:this._byResource[n.toString()];if(!h)return[];s=[];for(var d in h)for(var g=0,p=h[d];g<p.length;g++){v=p[g];if(e._accept(v,i)){c=s.push(v);if(r>0&&c===r)return s}}return s}var s=[];for(var f in this._byResource)for(var m in this._byResource[f])for(var _=0,y=this._byResource[f][m];_<y.length;_++){var v=y[_];if(e._accept(v,i)){var c=s.push(v);if(r>0&&c===r)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,o){t||(e._dedupeMap=Object.create(null),t=[]);for(var n=0,i=o;n<i.length;n++){var r=i[n];void 0===e._dedupeMap[r.toString()]&&(e._dedupeMap[r.toString()]=!0,t.push(r))}return t},e}(),_t=o(129),yt=o(55),vt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),bt="$initialize",Et=!1;function Ct(e){oe.f&&(Et||(Et=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq")),console.warn(e.message))}var St=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var o=String(++this._lastSentReq),n={c:null,e:null},i=new c.b((function(e,t){n.c=e,n.e=t}),(function(){}));return this._pendingReplies[o]=n,this._send({vsWorker:this._workerId,req:o,method:e,args:t}),i},e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var o=e;if(!this._pendingReplies[o.seq])return void console.warn("Got reply to unknown seq");var n=this._pendingReplies[o.seq];if(delete this._pendingReplies[o.seq],o.err){var i=o.err;return o.err.$isError&&((i=new Error).name=o.err.name,i.message=o.err.message,i.stack=o.err.stack),void n.e(i)}n.c(o.res)}else{var r=e,s=r.req;this._handler.handleMessage(r.method,r.args).then((function(e){t._send({vsWorker:t._workerId,seq:s,res:e,err:void 0})}),(function(e){e.detail instanceof Error&&(e.detail=Object(nt.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(nt.g)(e)})}))}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),Tt=function(e){function t(t,o){var n=e.call(this)||this,i=null,r=null;n._worker=n._register(t.create("vs/base/common/worker/simpleWorker",(function(e){n._protocol.handleMessage(e)}),(function(e){r(e)}))),n._protocol=new St({sendMessage:function(e){n._worker.postMessage(e)},handleMessage:function(e,t){return c.b.as(null)}}),n._protocol.setWorkerId(n._worker.getId());var s=null;void 0!==self.require&&"function"==typeof self.require.getConfig?s=self.require.getConfig():void 0!==self.requirejs&&(s=self.requirejs.s.contexts._.config),n._lazyProxy=new c.b((function(e,t){i=e,r=t}),(function(){})),n._onModuleLoaded=n._protocol.sendMessage(bt,[n._worker.getId(),o,s]),n._onModuleLoaded.then((function(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=l(e[o],a);i(t)}),(function(e){r(e),n._onError("Worker failed to load "+o,e)}));var a=function(e,t){return n._request(e,t)},l=function(e,t){return function(){var o=Array.prototype.slice.call(arguments,0);return t(e,o)}};return n}return vt(t,e),t.prototype.getProxyObject=function(){return new N.d(this._lazyProxy)},t.prototype._request=function(e,t){var o=this;return new c.b((function(n,i){o._onModuleLoaded.then((function(){o._protocol.sendMessage(e,t).then(n,i)}),i)}),(function(){}))},t.prototype._onError=function(e,t){console.error(e),console.info(t)},t}(b.a);!function(){function e(e,t){var o=this;this._requestHandler=t,this._protocol=new St({sendMessage:function(t){e(t)},handleMessage:function(e,t){return o._handleMessage(e,t)}})}e.prototype.onmessage=function(e){this._protocol.handleMessage(e)},e.prototype._handleMessage=function(e,t){if(e===bt)return this.initialize(t[0],t[1],t[2]);if(!this._requestHandler||"function"!=typeof this._requestHandler[e])return c.b.wrapError(new Error("Missing requestHandler or method: "+e));try{return c.b.as(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return c.b.wrapError(e)}},e.prototype.initialize=function(e,t,o){var n,i,r=this;if(this._protocol.setWorkerId(e),this._requestHandler){var s=[];for(var a in this._requestHandler)"function"==typeof this._requestHandler[a]&&s.push(a);return c.b.as(s)}o&&(void 0!==o.baseUrl&&delete o.baseUrl,void 0!==o.paths&&void 0!==o.paths.vs&&delete o.paths.vs,o.catchError=!0,self.require.config(o));var l=new c.b((function(e,t){n=e,i=t}));return self.require([t],(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=e[0];r._requestHandler=o.create();var i=[];for(var s in r._requestHandler)"function"==typeof r._requestHandler[s]&&i.push(s);n(i)}),i),l}}();var wt=function(){function e(e,t,o,n,i){this.id=t,this.worker=function(e,t){if(oe.b.MonacoEnvironment){if("function"==typeof oe.b.MonacoEnvironment.getWorker)return oe.b.MonacoEnvironment.getWorker(e,t);if("function"==typeof oe.b.MonacoEnvironment.getWorkerUrl)return new Worker(oe.b.MonacoEnvironment.getWorkerUrl(e,t))}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}("workerMain.js",o),this.postMessage(e),this.worker.onmessage=function(e){n(e.data)},"function"==typeof this.worker.addEventListener&&this.worker.addEventListener("error",i)}return e.prototype.getId=function(){return this.id},e.prototype.postMessage=function(e){this.worker&&this.worker.postMessage(e)},e.prototype.dispose=function(){this.worker.terminate(),this.worker=null},e}(),kt=function(){function e(e){this._label=e,this._webWorkerFailedBeforeError=!1}return e.prototype.create=function(t,o,n){var i=this,r=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new wt(t,r,this._label||"anonymous"+r,o,(function(e){Ct(e),i._webWorkerFailedBeforeError=e,n(e)}))},e.LAST_WORKER_ID=0,e}(),Ot=o(60),Rt=o(163),Lt=o(8),Nt=5e3,It=3;function Dt(e,t,o,n){return new Rt.a(e,t,o).ComputeDiff(n)}var At=function(){function e(t){for(var o=[],n=[],i=0,r=t.length;i<r;i++)o[i]=e._getFirstNonBlankColumn(t[i],1),n[i]=e._getLastNonBlankColumn(t[i],1);this._lines=t,this._startColumns=o,this._endColumns=n}return e.prototype.getLength=function(){return this._lines.length},e.prototype.getElementAtIndex=function(e){return this._lines[e].substring(this._startColumns[e]-1,this._endColumns[e]-1)},e.prototype.getStartLineNumber=function(e){return e+1},e.prototype.getEndLineNumber=function(e){return e+1},e._getFirstNonBlankColumn=function(e,t){var o=Lt.firstNonWhitespaceIndex(e);return-1===o?t:o+1},e._getLastNonBlankColumn=function(e,t){var o=Lt.lastNonWhitespaceIndex(e);return-1===o?t:o+2},e.prototype.getCharSequence=function(e,t,o){for(var n=[],i=[],r=[],s=0,a=t;a<=o;a++)for(var l=this._lines[a],u=e?this._startColumns[a]:1,c=e?this._endColumns[a]:l.length+1,h=u;h<c;h++)n[s]=l.charCodeAt(h-1),i[s]=a+1,r[s]=h,s++;return new Pt(n,i,r)},e}(),Pt=function(){function e(e,t,o){this._charCodes=e,this._lineNumbers=t,this._columns=o}return e.prototype.getLength=function(){return this._charCodes.length},e.prototype.getElementAtIndex=function(e){return this._charCodes[e]},e.prototype.getStartLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getStartColumn=function(e){return this._columns[e]},e.prototype.getEndLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getEndColumn=function(e){return this._columns[e]+1},e}(),xt=function(){function e(e,t,o,n,i,r,s,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=o,this.originalEndColumn=n,this.modifiedStartLineNumber=i,this.modifiedStartColumn=r,this.modifiedEndLineNumber=s,this.modifiedEndColumn=a}return e.createFromDiffChange=function(t,o,n){var i,r,s,a,l,u,c,h;return 0===t.originalLength?(i=0,r=0,s=0,a=0):(i=o.getStartLineNumber(t.originalStart),r=o.getStartColumn(t.originalStart),s=o.getEndLineNumber(t.originalStart+t.originalLength-1),a=o.getEndColumn(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(l=0,u=0,c=0,h=0):(l=n.getStartLineNumber(t.modifiedStart),u=n.getStartColumn(t.modifiedStart),c=n.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),h=n.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new e(i,r,s,a,l,u,c,h)},e}();var Mt=function(){function e(e,t,o,n,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=o,this.modifiedEndLineNumber=n,this.charChanges=i}return e.createFromDiffResult=function(t,o,n,i,r,s,a){var l,u,c,h,d;if(0===o.originalLength?(l=n.getStartLineNumber(o.originalStart)-1,u=0):(l=n.getStartLineNumber(o.originalStart),u=n.getEndLineNumber(o.originalStart+o.originalLength-1)),0===o.modifiedLength?(c=i.getStartLineNumber(o.modifiedStart)-1,h=0):(c=i.getStartLineNumber(o.modifiedStart),h=i.getEndLineNumber(o.modifiedStart+o.modifiedLength-1)),s&&0!==o.originalLength&&0!==o.modifiedLength&&r()){var g=n.getCharSequence(t,o.originalStart,o.originalStart+o.originalLength-1),p=i.getCharSequence(t,o.modifiedStart,o.modifiedStart+o.modifiedLength-1),f=Dt(g,p,r,!0);a&&(f=function(e){if(e.length<=1)return e;for(var t=[e[0]],o=t[0],n=1,i=e.length;n<i;n++){var r=e[n],s=r.originalStart-(o.originalStart+o.originalLength),a=r.modifiedStart-(o.modifiedStart+o.modifiedLength);Math.min(s,a)<It?(o.originalLength=r.originalStart+r.originalLength-o.originalStart,o.modifiedLength=r.modifiedStart+r.modifiedLength-o.modifiedStart):(t.push(r),o=r)}return t}(f)),d=[];for(var m=0,_=f.length;m<_;m++)d.push(xt.createFromDiffChange(f[m],g,p))}return new e(l,u,c,h,d)},e}(),Bt=function(){function e(e,t,o){this.shouldComputeCharChanges=o.shouldComputeCharChanges,this.shouldPostProcessCharChanges=o.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=o.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=o.shouldMakePrettyDiff,this.maximumRunTimeMs=Nt,this.originalLines=e,this.modifiedLines=t,this.original=new At(e),this.modified=new At(t)}return e.prototype.computeDiff=function(){if(1===this.original.getLength()&&0===this.original.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.getLength(),charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];if(1===this.modified.getLength()&&0===this.modified.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:this.original.getLength(),modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];this.computationStartTime=(new Date).getTime();var e=Dt(this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldMakePrettyDiff);if(this.shouldIgnoreTrimWhitespace){for(var t=[],o=0,n=e.length;o<n;o++)t.push(Mt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e[o],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return t}for(var i=[],r=0,s=0,a=(o=-1,e.length);o<a;o++){for(var l=o+1<a?e[o+1]:null,u=l?l.originalStart:this.originalLines.length,c=l?l.modifiedStart:this.modifiedLines.length;r<u&&s<c;){var h=this.originalLines[r],d=this.modifiedLines[s];if(h!==d){for(var g=At._getFirstNonBlankColumn(h,1),p=At._getFirstNonBlankColumn(d,1);g>1&&p>1;){if(h.charCodeAt(g-2)!==d.charCodeAt(p-2))break;g--,p--}(g>1||p>1)&&this._pushTrimWhitespaceCharChange(i,r+1,1,g,s+1,1,p);for(var f=At._getLastNonBlankColumn(h,1),m=At._getLastNonBlankColumn(d,1),_=h.length+1,y=d.length+1;f<_&&m<y;){if(h.charCodeAt(f-1)!==h.charCodeAt(m-1))break;f++,m++}(f<_||m<y)&&this._pushTrimWhitespaceCharChange(i,r+1,f,_,s+1,m,y)}r++,s++}l&&(i.push(Mt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,l,this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),r+=l.originalLength,s+=l.modifiedLength)}return i},e.prototype._pushTrimWhitespaceCharChange=function(e,t,o,n,i,r,s){var a;this._mergeTrimWhitespaceCharChange(e,t,o,n,i,r,s)||(this.shouldComputeCharChanges&&(a=[new xt(t,o,t,n,i,r,i,s)]),e.push(new Mt(t,t,i,i,a)))},e.prototype._mergeTrimWhitespaceCharChange=function(e,t,o,n,i,r,s){var a=e.length;if(0===a)return!1;var l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===i&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&l.charChanges.push(new xt(t,o,t,n,i,r,i,s)),!0))},e.prototype._continueProcessingPredicate=function(){return 0===this.maximumRunTimeMs||(new Date).getTime()-this.computationStartTime<this.maximumRunTimeMs},e}(),Ft=o(158),Ht=function(){function e(e,t,o,n){this._uri=e,this._lines=t,this._eol=o,this._versionId=n}return e.prototype.dispose=function(){this._lines.length=0},e.prototype.getText=function(){return this._lines.join(this._eol)},e.prototype.onEvents=function(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);for(var t=e.changes,o=0,n=t.length;o<n;o++){var i=t[o];this._acceptDeleteRange(i.range),this._acceptInsertText(new a.a(i.range.startLineNumber,i.range.startColumn),i.text)}this._versionId=e.versionId},e.prototype._ensureLineStarts=function(){if(!this._lineStarts){for(var e=this._eol.length,t=this._lines.length,o=new Uint32Array(t),n=0;n<t;n++)o[n]=this._lines[n].length+e;this._lineStarts=new Ft.a(o)}},e.prototype._setLineText=function(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.changeValue(e,this._lines[e].length+this._eol.length)},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber)this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber);else{if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1))}},e.prototype._acceptInsertText=function(e,t){if(0!==t.length){var o=t.split(/\r\n|\r|\n/);if(1!==o.length){o[o.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+o[0]);for(var n=new Uint32Array(o.length-1),i=1;i<o.length;i++)this._lines.splice(e.lineNumber+i-1,0,o[i]),n[i-1]=o[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,n)}else this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+o[0]+this._lines[e.lineNumber-1].substring(e.column-1))}},e}(),Ut=o(116),Vt=o(92),Wt=function(){function e(e){for(var t=0,o=0,n=0,i=e.length;n<i;n++){var r=e[n],s=r[0];(u=r[1])>t&&(t=u),s>o&&(o=s),(c=r[2])>o&&(o=c)}t++,o++;var a=new Vt.a(o,t,0);for(n=0,i=e.length;n<i;n++){var l=e[n],u=(s=l[0],l[1]),c=l[2];a.set(s,u,c)}this._states=a,this._maxCharCode=t}return e.prototype.nextState=function(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)},e}(),jt=null;var Gt=null;var zt=function(){function e(){}return e._createLink=function(e,t,o,n,i){var r=i-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>n);if(n>0){var a=t.charCodeAt(n-1),l=t.charCodeAt(r);(40===a&&41===l||91===a&&93===l||123===a&&125===l)&&r--}return{range:{startLineNumber:o,startColumn:n+1,endLineNumber:o,endColumn:r+2},url:t.substring(n,r+1)}},e.computeLinks=function(t){for(var o=(null===jt&&(jt=new Wt([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),jt),n=function(){if(null===Gt){Gt=new Ut.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Gt.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Gt.set(".,;".charCodeAt(e),2)}return Gt}(),i=[],r=1,s=t.getLineCount();r<=s;r++){for(var a=t.getLineContent(r),l=a.length,u=0,c=0,h=0,d=1,g=!1,p=!1,f=!1;u<l;){var m=!1,_=a.charCodeAt(u);if(13===d){var y=void 0;switch(_){case 40:g=!0,y=0;break;case 41:y=g?0:1;break;case 91:p=!0,y=0;break;case 93:y=p?0:1;break;case 123:f=!0,y=0;break;case 125:y=f?0:1;break;case 39:y=34===h||96===h?0:1;break;case 34:y=39===h||96===h?0:1;break;case 96:y=39===h||34===h?0:1;break;default:y=n.get(_)}1===y&&(i.push(e._createLink(n,a,r,c,u)),m=!0)}else if(12===d){1===(y=n.get(_))?m=!0:d=13}else 0===(d=o.nextState(d,_))&&(m=!0);m&&(d=1,g=!1,p=!1,f=!1,c=u+1,h=_),u++}13===d&&i.push(e._createLink(n,a,r,c,l))}return i},e}();var Kt=function(){function e(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}return e.prototype.navigateValueSet=function(e,t,o,n,i){var r;if(e&&t&&(r=this.doNavigateValueSet(t,i)))return{range:e,value:r};if(o&&n&&(r=this.doNavigateValueSet(n,i)))return{range:o,value:r};return null},e.prototype.doNavigateValueSet=function(e,t){var o=this.numberReplace(e,t);return null!==o?o:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var o=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),n=Number(e),i=parseFloat(e);return isNaN(n)||isNaN(i)||n!==i?null:0!==n||t?(n=Math.floor(n*o),n+=t?o:-o,String(n/o)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,o){for(var n=null,i=0,r=e.length;null===n&&i<r;i++)n=this.valueSetReplace(e[i],t,o);return n},e.prototype.valueSetReplace=function(e,t,o){var n=e.indexOf(t);return n>=0?((n+=o?1:-1)<0?n=e.length-1:n%=e.length,e[n]):null},e.INSTANCE=new e,e}(),Yt=o(105),Xt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),qt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Xt(t,e),Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eol",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var o=Object(Yt.d)(e.column,Object(Yt.c)(t),this._lines[e.lineNumber-1],0);return o?new l.a(e.lineNumber,o.startColumn,e.lineNumber,o.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var o=this.getWordAtPosition(e,t);return o?{word:this._lines[e.lineNumber-1].substring(o.startColumn-1,e.column-1),startColumn:o.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,o=this,n={done:!1,value:""},i=0,r=0,s=[],a=function(){if(r<s.length)n.done=!1,n.value=t.substring(s[r].start,s[r].end),r+=1;else{if(!(i>=o._lines.length))return t=o._lines[i],s=o._wordenize(t,e),r=0,i+=1,a();n.done=!0,n.value=void 0}return n};return{next:a}},t.prototype._wordenize=function(e,t){var o,n=[];for(t.lastIndex=0;(o=t.exec(e))&&0!==o[0].length;)n.push({start:o.index,end:o.index+o[0].length});return n},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);var t=this._eol,o=e.startLineNumber-1,n=e.endLineNumber-1,i=[];i.push(this._lines[o].substring(e.startColumn-1));for(var r=o+1;r<n;r++)i.push(this._lines[r]);return i.push(this._lines[n].substring(0,e.endColumn-1)),i.join(t)},t.prototype.offsetAt=function(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getAccumulatedValue(e.lineNumber-2)+(e.column-1)},t.prototype.positionAt=function(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();var t=this._lineStarts.getIndexOf(e),o=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,o)}},t.prototype._validateRange=function(e){var t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),o=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||o.lineNumber!==e.endLineNumber||o.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:o.lineNumber,endColumn:o.column}:e},t.prototype._validatePosition=function(e){if(!a.a.isIPosition(e))throw new Error("bad position");var t=e.lineNumber,o=e.column,n=!1;if(t<1)t=1,o=1,n=!0;else if(t>this._lines.length)t=this._lines.length,o=this._lines[t-1].length+1,n=!0;else{var i=this._lines[t-1].length+1;o<1?(o=1,n=!0):o>i&&(o=i,n=!0)}return n?{lineNumber:t,column:o}:e},t}(Ht),$t=function(e){function t(t){var o=e.call(this,t)||this;return o._models=Object.create(null),o}return Xt(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach((function(o){return t.push(e._models[o])})),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new qt(g.a.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(function(){function e(e){this._foreignModuleFactory=e,this._foreignModule=null}return e.prototype.computeDiff=function(e,t,o){var n=this._getModel(e),i=this._getModel(t);if(!n||!i)return null;var r=n.getLinesContent(),s=i.getLinesContent(),a=new Bt(r,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:o,shouldMakePrettyDiff:!0});return c.b.as(a.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,o){var n=this._getModel(t);if(!n)return c.b.as(o);for(var i,r=[],s=0,a=o;s<a.length;s++){var u=a[s],h=u.range,d=u.text,g=u.eol;if("number"==typeof g&&(i=g),h){var p=n.getValueInRange(h);if(p!==(d=d.replace(/\r\n|\n|\r/g,n.eol)))if(Math.max(d.length,p.length)>e._diffLimit)r.push({range:h,text:d});else for(var f=Object(Rt.b)(p,d,!1),m=n.offsetAt(l.a.lift(h).getStartPosition()),_=0,y=f;_<y.length;_++){var v=y[_],b=n.positionAt(m+v.originalStart),E=n.positionAt(m+v.originalStart+v.originalLength),C={text:d.substr(v.modifiedStart,v.modifiedLength),range:{startLineNumber:b.lineNumber,startColumn:b.column,endLineNumber:E.lineNumber,endColumn:E.column}};n.getValueInRange(C.range)!==C.text&&r.push(C)}}}return"number"==typeof i&&r.push({eol:i,text:void 0,range:void 0}),c.b.as(r)},e.prototype.computeLinks=function(e){var t=this._getModel(e);return t?c.b.as(function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?zt.computeLinks(e):[]}(t)):null},e.prototype.textualSuggest=function(t,o,n,i){var r=this._getModel(t);if(r){var s=[],a=new RegExp(n,i),l=r.getWordUntilPosition(o,a).word,u=Object.create(null);u[l]=!0;for(var h=r.createWordIterator(a),d=h.next();!d.done&&s.length<=e._suggestionsLimit;d=h.next()){var g=d.value;u[g]||(u[g]=!0,isNaN(Number(g))&&s.push({type:"text",label:g,insertText:g,noAutoAccept:!0,overwriteBefore:l.length}))}return c.b.as({suggestions:s})}},e.prototype.navigateValueSet=function(e,t,o,n,i){var r=this._getModel(e);if(!r)return null;var s=new RegExp(n,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});var a=r.getValueInRange(t),l=r.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},s),u=null;null!==l&&(u=r.getValueInRange(l));var h=Kt.INSTANCE.navigateValueSet(t,a,l,u,o);return c.b.as(h)},e.prototype.loadForeignModule=function(e,t){var o=this,n={getMirrorModels:function(){return o._getModels()}};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(n,t);var i=[];for(var r in this._foreignModule)"function"==typeof this._foreignModule[r]&&i.push(r);return c.b.as(i)}return c.b.wrapError(new Error("Unexpected usage"))},e.prototype.fmr=function(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return c.b.wrapError(new Error("Missing requestHandler or method: "+e));try{return c.b.as(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return c.b.wrapError(e)}},e._diffLimit=1e4,e._suggestionsLimit=1e4,e}());"function"==typeof importScripts&&(oe.b.monaco=m());var Jt=o(32),Zt=Object(C.c)("textResourceConfigurationService"),Qt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),eo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},to=function(e,t){return function(o,n){t(o,n,e)}},oo=6e4,no=3e5;function io(e,t){var o=e.getModel(t);return!!o&&!o.isTooLargeForSyncing()}var ro=function(e){function t(t,o){var n=e.call(this)||this;return n._modelService=t,n._workerManager=n._register(new ao(n._modelService)),n._register(re.p.register("*",{provideLinks:function(e,t){return io(n._modelService,e.uri)?Object(N.o)(t,n._workerManager.withWorker().then((function(t){return t.computeLinks(e.uri)}))):c.b.as([])}})),n._register(re.u.register("*",new so(n._workerManager,o,n._modelService))),n}return Qt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return io(this._modelService,e)&&io(this._modelService,t)},t.prototype.computeDiff=function(e,t,o){return this._workerManager.withWorker().then((function(n){return n.computeDiff(e,t,o)}))},t.prototype.computeMoreMinimalEdits=function(e,t){return Array.isArray(t)&&0!==t.length&&io(this._modelService,e)?this._workerManager.withWorker().then((function(o){return o.computeMoreMinimalEdits(e,t)})):c.b.as(t)},t.prototype.canNavigateValueSet=function(e){return io(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,o){return this._workerManager.withWorker().then((function(n){return n.navigateValueSet(e,t,o)}))},t=eo([to(0,Ot.a),to(1,Zt)],t)}(b.a),so=function(){function e(e,t,o){this._workerManager=e,this._configurationService=t,this._modelService=o}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&io(this._modelService,e.uri))return this._workerManager.withWorker().then((function(o){return o.textualSuggest(e.uri,t)}))},e}(),ao=function(e){function t(t){var o=e.call(this)||this;return o._modelService=t,o._editorWorkerClient=null,o._register(new N.b).cancelAndSet((function(){return o._checkStopIdleWorker()}),Math.round(no/2)),o._register(o._modelService.onModelRemoved((function(e){return o._checkStopEmptyWorker()}))),o}return Qt(t,e),t.prototype.dispose=function(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),e.prototype.dispose.call(this)},t.prototype._checkStopEmptyWorker=function(){this._editorWorkerClient&&(0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype._checkStopIdleWorker=function(){this._editorWorkerClient&&((new Date).getTime()-this._lastWorkerUsedTime>no&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new co(this._modelService,"editorWorkerService")),c.b.as(this._editorWorkerClient)},t}(b.a),lo=function(e){function t(t,o,n){var i=e.call(this)||this;if(i._syncedModels=Object.create(null),i._syncedModelsLastUsedTime=Object.create(null),i._proxy=t,i._modelService=o,!n){var r=new N.b;r.cancelAndSet((function(){return i._checkStopModelSync()}),Math.round(oo/2)),i._register(r)}return i}return Qt(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(b.d)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.esureSyncedResources=function(e){for(var t=0;t<e.length;t++){var o=e[t],n=o.toString();this._syncedModels[n]||this._beginModelSync(o),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=(new Date).getTime())}},t.prototype._checkStopModelSync=function(){var e=(new Date).getTime(),t=[];for(var o in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[o]>oo&&t.push(o)}for(var n=0;n<t.length;n++)this._stopModelSync(t[n])},t.prototype._beginModelSync=function(e){var t=this,o=this._modelService.getModel(e);if(o&&!o.isTooLargeForSyncing()){var n=e.toString();this._proxy.acceptNewModel({url:o.uri.toString(),lines:o.getLinesContent(),EOL:o.getEOL(),versionId:o.getVersionId()});var i=[];i.push(o.onDidChangeContent((function(e){t._proxy.acceptModelChanged(n.toString(),e)}))),i.push(o.onWillDispose((function(){t._stopModelSync(n)}))),i.push(Object(b.f)((function(){t._proxy.acceptRemovedModel(n)}))),this._syncedModels[n]=i}},t.prototype._stopModelSync=function(e){var t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Object(b.d)(t)},t}(b.a),uo=function(){function e(e){this._instance=e,this._proxyObj=c.b.as(this._instance)}return e.prototype.dispose=function(){this._instance.dispose(),this._instance=null,this._proxyObj=null},e.prototype.getProxyObject=function(){return new N.d(this._proxyObj)},e}(),co=function(e){function t(t,o){var n=e.call(this)||this;return n._modelService=t,n._workerFactory=new kt(o),n._worker=null,n._modelManager=null,n}return Qt(t,e),t.prototype._getOrCreateWorker=function(){if(!this._worker)try{this._worker=this._register(new Tt(this._workerFactory,"vs/editor/common/services/editorSimpleWorker"))}catch(e){Ct(e),this._worker=new uo(new $t(null))}return this._worker},t.prototype._getProxy=function(){var e=this;return new N.d(this._getOrCreateWorker().getProxyObject().then(null,(function(t){return Ct(t),e._worker=new uo(new $t(null)),e._getOrCreateWorker().getProxyObject()})))},t.prototype._getOrCreateModelManager=function(e){return this._modelManager||(this._modelManager=this._register(new lo(e,this._modelService,!1))),this._modelManager},t.prototype._withSyncedResources=function(e){var t=this;return this._getProxy().then((function(o){return t._getOrCreateModelManager(o).esureSyncedResources(e),o}))},t.prototype.computeDiff=function(e,t,o){return this._withSyncedResources([e,t]).then((function(n){return n.computeDiff(e.toString(),t.toString(),o)}))},t.prototype.computeMoreMinimalEdits=function(e,t){return this._withSyncedResources([e]).then((function(o){return o.computeMoreMinimalEdits(e.toString(),t)}))},t.prototype.computeLinks=function(e){return this._withSyncedResources([e]).then((function(t){return t.computeLinks(e.toString())}))},t.prototype.textualSuggest=function(e,t){var o=this;return this._withSyncedResources([e]).then((function(n){var i=o._modelService.getModel(e);if(!i)return null;var r=Jt.a.getWordDefinition(i.getLanguageIdentifier().id),s=r.source,a=(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":"");return n.textualSuggest(e.toString(),t,s,a)}))},t.prototype.navigateValueSet=function(e,t,o){var n=this;return this._withSyncedResources([e]).then((function(i){var r=n._modelService.getModel(e);if(!r)return null;var s=Jt.a.getWordDefinition(r.getLanguageIdentifier().id),a=s.source,l=(s.global?"g":"")+(s.ignoreCase?"i":"")+(s.multiline?"m":"");return i.navigateValueSet(e.toString(),t,o,a,l)}))},t}(b.a),ho=o(89),go=function(){function e(e){this._languageIdentifier=e}return e.prototype.getId=function(){return this._languageIdentifier.language},e.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},e}(),po=o(40),fo=o(202),mo="text/plain",_o="application/unknown",yo=[],vo=[],bo=[];function Eo(e,t){void 0===t&&(t=!1);var o=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:e.userConfigured,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?e.filepattern.toLowerCase():void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(po.i)>=0}}(e);yo.push(o),o.userConfigured?bo.push(o):vo.push(o),t&&!o.userConfigured&&yo.forEach((function(e){e.mime===o.mime||e.userConfigured||(o.extension&&e.extension===o.extension&&console.warn("Overwriting extension <<"+o.extension+">> to now point to mime <<"+o.mime+">>"),o.filename&&e.filename===o.filename&&console.warn("Overwriting filename <<"+o.filename+">> to now point to mime <<"+o.mime+">>"),o.filepattern&&e.filepattern===o.filepattern&&console.warn("Overwriting filepattern <<"+o.filepattern+">> to now point to mime <<"+o.mime+">>"),o.firstline&&e.firstline===o.firstline&&console.warn("Overwriting firstline <<"+o.firstline+">> to now point to mime <<"+o.mime+">>"))}))}function Co(e,t){if(!e)return[_o];e=e.toLowerCase();var o=po.a(e),n=So(e,o,bo);if(n)return[n,mo];var i=So(e,o,vo);if(i)return[i,mo];if(t){var r=function(e){Lt.startsWithUTF8BOM(e)&&(e=e.substr(1));if(e.length>0)for(var t=0;t<yo.length;++t){var o=yo[t];if(o.firstline){var n=e.match(o.firstline);if(n&&n.length>0)return o.mime}}return null}(t);if(r)return[r,mo]}return[_o]}function So(e,t,o){for(var n,i,r,s=o.length-1;s>=0;s--){var a=o[s];if(t===a.filenameLowercase){n=a;break}if(a.filepattern&&(!i||a.filepattern.length>i.filepattern.length)){var l=a.filepatternOnPath?e:t;Object(fo.a)(a.filepatternLowercase,l)&&(i=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&Lt.endsWith(t,a.extensionLowercase)&&(r=a)}return n?n.mime:i?i.mime:r?r.mime:null}var To=o(57),wo=new(function(){function e(){this._onDidAddLanguages=new r.a,this.onDidAddLanguages=this._onDidAddLanguages.event,this._languages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidAddLanguages.fire([e])},e.prototype.getLanguages=function(){return this._languages.slice(0)},e}());To.a.add("editor.modesRegistry",wo);var ko=new re.o("plaintext",1);wo.registerLanguage({id:"plaintext",extensions:[".txt",".gitignore"],aliases:[L.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),Jt.a.register(ko,{brackets:[["(",")"],["[","]"],["{","}"]]});var Oo=o(69),Ro=Object.prototype.hasOwnProperty,Lo=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=!1);var o=this;this._nextLanguageId=1,this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},this._languageIds=[],this._warnOnOverwrite=t,e&&(this._registerLanguages(wo.getLanguages()),wo.onDidAddLanguages((function(e){return o._registerLanguages(e)})))}return e.prototype._registerLanguages=function(e){var t=this;if(0!==e.length){for(var o=0;o<e.length;o++)this._registerLanguage(e[o]);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((function(e){var o=t._languages[e];o.name&&(t._nameMap[o.name]=o.identifier),o.aliases.forEach((function(e){t._lowercaseNameMap[e.toLowerCase()]=o.identifier})),o.mimetypes.forEach((function(e){t._mimeTypesMap[e]=o.identifier}))})),To.a.as(W.b.Configuration).registerOverrideIdentifiers(wo.getLanguages().map((function(e){return e.id})))}},e.prototype._registerLanguage=function(e){var t=e.id,o=null;if(Ro.call(this._languages,t))o=this._languages[t];else{var n=this._nextLanguageId++;o={identifier:new re.o(t,n),name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languageIds[n]=t,this._languages[t]=o}this._mergeLanguage(o,e)},e.prototype._mergeLanguage=function(e,t){var o,n=t.id,i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&((o=e.mimetypes).push.apply(o,t.mimetypes),i=t.mimetypes[0]),i||(i="text/x-"+n,e.mimetypes.push(i)),Array.isArray(t.extensions))for(var r=0,s=t.extensions;r<s.length;r++){var a=s[r];Eo({id:n,mime:i,extension:a},this._warnOnOverwrite),e.extensions.push(a)}if(Array.isArray(t.filenames))for(var l=0,u=t.filenames;l<u.length;l++){var c=u[l];Eo({id:n,mime:i,filename:c},this._warnOnOverwrite),e.filenames.push(c)}if(Array.isArray(t.filenamePatterns))for(var h=0,d=t.filenamePatterns;h<d.length;h++){Eo({id:n,mime:i,filepattern:d[h]},this._warnOnOverwrite)}if("string"==typeof t.firstLine&&t.firstLine.length>0){var g=t.firstLine;"^"!==g.charAt(0)&&(g="^"+g);try{var p=new RegExp(g);Lt.regExpLeadsToEndlessLoop(p)||Eo({id:n,mime:i,firstline:p},this._warnOnOverwrite)}catch(e){Object(nt.e)(e)}}e.aliases.push(n);var f=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(f=0===t.aliases.length?[null]:t.aliases),null!==f)for(var m=0;m<f.length;m++)f[m]&&0!==f[m].length&&e.aliases.push(f[m]);var _=null!==f&&f.length>0;if(_&&null===f[0]);else{var y=(_?f[0]:null)||n;!_&&e.name||(e.name=y)}t.configuration&&e.configurationFiles.push(t.configuration)},e.prototype.isRegisteredMode=function(e){return!!Ro.call(this._mimeTypesMap,e)||Ro.call(this._languages,e)},e.prototype.getModeIdForLanguageNameLowercase=function(e){return Ro.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},e.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map((function(e){return e.trim()})).map((function(e){return Ro.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e})).filter((function(e){return Ro.call(t._languages,e)})):[]},e.prototype.getLanguageIdentifier=function(e){if(e===Oo.b||0===e)return Oo.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIds[e]))return null;return Ro.call(this._languages,t)?this._languages[t].identifier:null},e.prototype.getModeIdsFromFilenameOrFirstLine=function(e,t){if(!e&&!t)return[];var o=Co(e,t);return this.extractModeIds(o.join(","))},e}(),No=function(){function e(e){void 0===e&&(e=!1),this._onDidCreateMode=new r.a,this.onDidCreateMode=this._onDidCreateMode.event,this._instantiatedModes={},this._registry=new Lo(!0,e)}return e.prototype._onReady=function(){return c.b.as(!0)},e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var o=this._registry.getModeIdsFromFilenameOrFirstLine(e,t);return o.length>0?o[0]:null},e.prototype.getModeId=function(e){var t=this._registry.extractModeIds(e);return t.length>0?t[0]:null},e.prototype.getLanguageIdentifier=function(e){return this._registry.getLanguageIdentifier(e)},e.prototype.getMode=function(e){for(var t=this._registry.extractModeIds(e),o=!1,n=0;n<t.length;n++){if(this._instantiatedModes.hasOwnProperty(t[n]))return this._instantiatedModes[t[n]];o=o||"plaintext"===t[n]}if(o){var i=null;return this.getOrCreateMode(e).then((function(e){i=e})).done(null,nt.e),i}return null},e.prototype.getOrCreateMode=function(e){var t=this;return this._onReady().then((function(){var o=t.getModeId(e);return t._getOrCreateMode(o||"plaintext")}))},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var o=this;return this._onReady().then((function(){var n=o.getModeIdByFilenameOrFirstLine(e,t);return o._getOrCreateMode(n||"plaintext")}))},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e);this._instantiatedModes[e]=new go(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),Io=o(71),Do=o(26),Ao=o(27),Po=o(29),xo=o(18),Mo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Bo=function(e,t){return function(o,n){t(o,n,e)}};function Fo(e){return e.toString()}var Ho=function(){function e(e,t,o){this.model=e,this._markerDecorations=[],this._modelEventListeners=[],this._modelEventListeners.push(e.onWillDispose((function(){return t(e)}))),this._modelEventListeners.push(e.onDidChangeLanguage((function(t){return o(e,t)})))}return e.prototype.dispose=function(){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,[]),this._modelEventListeners=Object(b.d)(this._modelEventListeners),this.model=null},e.prototype.acceptMarkerDecorations=function(e){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,e)},e}(),Uo=function(){function e(){}return e.setMarkers=function(e,t){var o=this,n=t.read({resource:e.model.uri,take:500}).map((function(t){return{range:o._createDecorationRange(e.model,t),options:o._createDecorationOption(t)}}));e.acceptMarkerDecorations(n)},e._createDecorationRange=function(e,t){var o=l.a.lift(t);if(t.severity===pt.b.Hint&&l.a.spansMultipleLines(o)&&(o=o.setEndPosition(o.startLineNumber,o.startColumn)),(o=e.validateRange(o)).isEmpty()){var n=e.getWordAtPosition(o.getStartPosition());if(n)o=new l.a(o.startLineNumber,n.startColumn,o.endLineNumber,n.endColumn);else{var i=e.getLineLastNonWhitespaceColumn(o.startLineNumber)||e.getLineMaxColumn(o.startLineNumber);1===i||(o=o.endColumn>=i?new l.a(o.startLineNumber,i-1,o.endLineNumber,i):new l.a(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&o.startLineNumber===o.endLineNumber){var r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<o.endColumn&&(o=new l.a(o.startLineNumber,r,o.endLineNumber,o.endColumn),t.startColumn=r)}return o},e._createDecorationOption=function(e){var t,o,n,i,r;switch(e.severity){case pt.b.Hint:t=e.tags&&e.tags.indexOf(pt.c.Unnecessary)>=0?"squiggly-unnecessary":"squiggly-hint",i=0;break;case pt.b.Warning:t="squiggly-warning",o=Object(Re.f)(Po.z),n=Object(Re.f)(Po.z),i=20;break;case pt.b.Info:t="squiggly-info",o=Object(Re.f)(Po.y),n=Object(Re.f)(Po.y),i=10;break;case pt.b.Error:default:t="squiggly-error",o=Object(Re.f)(Po.x),n=Object(Re.f)(Po.x),i=30}e.tags&&-1!==e.tags.indexOf(pt.c.Unnecessary)&&(r="squiggly-inline-unnecessary");var s=null,a=e.message,l=e.source,u=e.relatedInformation;if("string"==typeof a&&(a=a.trim(),l&&(a=/\n/g.test(a)?L.a("diagAndSourceMultiline","[{0}]\n{1}",l,a):L.a("diagAndSource","[{0}] {1}",l,a)),s=(new Io.a).appendCodeblock("_",a),!Object(H.k)(u))){s.appendMarkdown("\n");for(var c=0,h=u;c<h.length;c++){var d=h[c],g=d.message,p=d.resource,f=d.startLineNumber,m=d.startColumn;s.appendMarkdown("* ["+Object(po.a)(p.path)+"("+f+", "+m+")]("+p.toString(!1)+"#"+f+","+m+"): "),s.appendText(""+g),s.appendMarkdown("\n")}s.appendMarkdown("\n")}return{stickiness:xo.h.NeverGrowsWhenTypingAtEdges,className:t,hoverMessage:s,showIfCollapsed:!0,overviewRuler:{color:o,darkColor:n,position:xo.f.Right},zIndex:i,inlineClassName:r}},e}(),Vo=oe.c||oe.d?xo.b.LF:xo.b.CRLF,Wo=function(){function e(e,t){var o=this;this._markerService=e,this._configurationService=t,this._models={},this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._onModelAdded=new r.a,this._onModelRemoved=new r.a,this._onModelModeChanged=new r.a,this._markerService&&(this._markerServiceSubscription=this._markerService.onMarkerChanged(this._handleMarkerChange,this)),this._configurationServiceSubscription=this._configurationService.onDidChangeConfiguration((function(e){return o._updateModelOptions()})),this._updateModelOptions()}return e._readModelOptions=function(e,t){var o=Ao.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var n=parseInt(e.editor.tabSize,10);isNaN(n)||(o=n),o<1&&(o=1)}var i=Ao.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(i="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var r=Vo,s=e.files&&e.files.eol;"\r\n"===s?r=xo.b.CRLF:"\n"===s&&(r=xo.b.LF);var a=Ao.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var l=Ao.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var u=Ao.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(u="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:o,insertSpaces:i,detectIndentation:l,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:u}},e.prototype.getCreationOptions=function(t,o,n){var i=this._modelCreationOptionsByLanguageAndResource[t+o];return i||(i=e._readModelOptions(this._configurationService.getValue({overrideIdentifier:t,resource:o}),n),this._modelCreationOptionsByLanguageAndResource[t+o]=i),i},e.prototype._updateModelOptions=function(){var t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var o=Object.keys(this._models),n=0,i=o.length;n<i;n++){var r=o[n],s=this._models[r],a=s.model.getLanguageIdentifier().language,l=s.model.uri,u=t[a+l],c=this.getCreationOptions(a,l,s.model.isForSimpleWidget);e._setModelOptionsForModel(s.model,c,u)}},e._setModelOptionsForModel=function(e,t,o){o&&o.detectIndentation===t.detectIndentation&&o.insertSpaces===t.insertSpaces&&o.tabSize===t.tabSize&&o.trimAutoWhitespace===t.trimAutoWhitespace||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,trimAutoWhitespace:t.trimAutoWhitespace}))},e.prototype.dispose=function(){this._markerServiceSubscription&&this._markerServiceSubscription.dispose(),this._configurationServiceSubscription.dispose()},e.prototype._handleMarkerChange=function(e){var t=this;e.forEach((function(e){var o=Fo(e),n=t._models[o];n&&Uo.setMarkers(n,t._markerService)}))},e.prototype._cleanUp=function(e){var t=this;e.uri.scheme!==gt.a.inMemory&&e.uri.scheme!==gt.a.internal&&e.uri.scheme!==gt.a.vscode||this._markerService&&this._markerService.read({resource:e.uri}).map((function(e){return e.owner})).forEach((function(o){return t._markerService.remove(o,[e.uri])})),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageIdentifier().language+e.uri]},e.prototype._createModelData=function(e,t,o,n){var i=this,r=this.getCreationOptions(t.language,o,n),s=new Do.b(e,r,t,o),a=Fo(s.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");var l=new Ho(s,(function(e){return i._onWillDispose(e)}),(function(e,t){return i._onDidChangeLanguage(e,t)}));return this._models[a]=l,l},e.prototype.createModel=function(e,t,o,n){var i;return void 0===n&&(n=!1),!t||c.b.is(t)?(i=this._createModelData(e,ko,o,n),this.setMode(i.model,t)):i=this._createModelData(e,t.getLanguageIdentifier(),o,n),this._markerService&&Uo.setMarkers(i,this._markerService),this._onModelAdded.fire(i.model),i.model},e.prototype.setMode=function(e,t){t&&(c.b.is(t)?t.then((function(t){e.isDisposed()||e.setMode(t.getLanguageIdentifier())})):e.setMode(t.getLanguageIdentifier()))},e.prototype.getModels=function(){for(var e=[],t=Object.keys(this._models),o=0,n=t.length;o<n;o++){var i=t[o];e.push(this._models[i].model)}return e},e.prototype.getModel=function(e){var t=Fo(e),o=this._models[t];return o?o.model:null},Object.defineProperty(e.prototype,"onModelAdded",{get:function(){return this._onModelAdded?this._onModelAdded.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onModelRemoved",{get:function(){return this._onModelRemoved?this._onModelRemoved.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onModelModeChanged",{get:function(){return this._onModelModeChanged?this._onModelModeChanged.event:null},enumerable:!0,configurable:!0}),e.prototype._onWillDispose=function(e){var t=Fo(e.uri),o=this._models[t];delete this._models[t],o.dispose(),this._cleanUp(e),this._onModelRemoved.fire(e)},e.prototype._onDidChangeLanguage=function(t,o){var n=o.oldLanguage,i=t.getLanguageIdentifier().language,r=this.getCreationOptions(n,t.uri,t.isForSimpleWidget),s=this.getCreationOptions(i,t.uri,t.isForSimpleWidget);e._setModelOptionsForModel(t,s,r),this._onModelModeChanged.fire({model:t,oldModeId:n})},e=Mo([Bo(0,pt.a),Bo(1,j.b)],e)}(),jo=function(){function e(){this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._onCodeEditorAdd=new r.a,this._onCodeEditorRemove=new r.a,this._onDiffEditorAdd=new r.a,this._onDiffEditorRemove=new r.a}return e.prototype.addCodeEditor=function(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorAdd",{get:function(){return this._onCodeEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeCodeEditor=function(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)},e.prototype.listCodeEditors=function(){var e=this;return Object.keys(this._codeEditors).map((function(t){return e._codeEditors[t]}))},e.prototype.addDiffEditor=function(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)},e.prototype.removeDiffEditor=function(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)},e.prototype.listDiffEditors=function(){var e=this;return Object.keys(this._diffEditors).map((function(t){return e._diffEditors[t]}))},e.prototype.getFocusedCodeEditor=function(){for(var e=null,t=this.listCodeEditors(),o=0;o<t.length;o++){var n=t[o];if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e},e}(),Go=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),zo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Ko=function(e,t){return function(o,n){t(o,n,e)}},Yo=function(e){function t(t,o){void 0===o&&(o=X.o());var n=e.call(this)||this;return n._styleSheet=o,n._decorationOptionProviders=Object.create(null),n._themeService=t,n}return Go(t,e),t.prototype.registerDecorationType=function(e,t,o){var n=this._decorationOptionProviders[e];if(!n){var i={styleSheet:this._styleSheet,key:e,parentTypeKey:o,options:t||Object.create(null)};n=o?new Xo(this._themeService,i):new qo(this._themeService,i),this._decorationOptionProviders[e]=n}n.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders[e];t&&(t.refCount--,t.refCount<=0&&(delete this._decorationOptionProviders[e],t.dispose(),this.listCodeEditors().forEach((function(t){return t.removeDecorations(e)}))))},t.prototype.resolveDecorationOptions=function(e,t){var o=this._decorationOptionProviders[e];if(!o)throw new Error("Unknown decoration type key: "+e);return o.getOptions(this,t)},t=zo([Ko(0,Re.c)],t)}(jo),Xo=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new Jo(3,t,e),this._afterContentRules=new Jo(4,t,e)}return e.prototype.getOptions=function(e,t){var o=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(o.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(o.afterContentClassName=this._afterContentRules.className),o},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),qo=function(){function e(e,t){var o=this;this.refCount=0,this._disposables=[];var n=function(n){var i=new Jo(n,t,e);if(i.hasContent)return o._disposables.push(i),i.className};this.className=n(0);var i,r=(i=new Jo(1,t,e)).hasContent?(o._disposables.push(i),{className:i.className,hasLetterSpacing:i.hasLetterSpacing}):null;r&&(this.inlineClassName=r.className,this.inlineClassNameAffectsLetterSpacing=r.hasLetterSpacing),this.beforeContentClassName=n(3),this.afterContentClassName=n(4),this.glyphMarginClassName=n(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,l=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===l||(this.overviewRuler={color:a||l,darkColor:l||a,position:s.overviewRulerLane||xo.f.Center})}return e.prototype.getOptions=function(e,t){return t?{inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness}:this},e.prototype.dispose=function(){this._disposables=Object(b.d)(this._disposables)},e}(),$o={color:"color:{0} !important;",opacity:"opacity:{0}; will-change: opacity;",backgroundColor:"background-color:{0};",outline:"outline:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",border:"border:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",fontStyle:"font-style:{0};",fontWeight:"font-weight:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",letterSpacing:"letter-spacing:{0};",gutterIconPath:"background:url('{0}') center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:url('{0}');",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},Jo=function(){function e(e,t,o){var n=this;this._theme=o.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var i=Zo.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(i=i+" "+Zo.getClassName(this._providerArgs.parentTypeKey,e)),this._className=i,this._unThemedSelector=Zo.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors&&(this._themeListener=o.onThemeChange((function(e){n._theme=o.getTheme(),n._removeCSS(),n._buildCSS()})))}return e.prototype.dispose=function(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)},Object.defineProperty(e.prototype,"hasContent",{get:function(){return this._hasContent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLetterSpacing",{get:function(){return this._hasLetterSpacing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{get:function(){return this._className},enumerable:!0,configurable:!0}),e.prototype._buildCSS=function(){var e,t,o,n=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(n),t=this.getCSSTextForModelDecorationClassName(n.light),o=this.getCSSTextForModelDecorationClassName(n.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(n),t=this.getCSSTextForModelDecorationInlineClassName(n.light),o=this.getCSSTextForModelDecorationInlineClassName(n.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(n),t=this.getCSSTextForModelDecorationGlyphMarginClassName(n.light),o=this.getCSSTextForModelDecorationGlyphMarginClassName(n.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(n.before),t=this.getCSSTextForModelDecorationContentClassName(n.light&&n.light.before),o=this.getCSSTextForModelDecorationContentClassName(n.dark&&n.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(n.after),t=this.getCSSTextForModelDecorationContentClassName(n.light&&n.light.after),o=this.getCSSTextForModelDecorationContentClassName(n.dark&&n.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var i=this._providerArgs.styleSheet.sheet,r=!1;e.length>0&&(i.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(i.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),o.length>0&&(i.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+o+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){X.F(this._unThemedSelector,this._providerArgs.styleSheet)},e.prototype.getCSSTextForModelDecorationClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["backgroundColor"],t),this.collectCSSText(e,["outline","outlineColor","outlineStyle","outlineWidth"],t),this.collectBorderSettingsCSSText(e,t),t.join("")},e.prototype.getCSSTextForModelDecorationInlineClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],t),e.letterSpacing&&(this._hasLetterSpacing=!0),t.join("")},e.prototype.getCSSTextForModelDecorationContentClassName=function(e){if(!e)return"";var t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),void 0!==e.contentIconPath&&("string"==typeof e.contentIconPath?t.push(Lt.format($o.contentIconPath,g.a.file(e.contentIconPath).toString().replace(/'/g,"%27"))):t.push(Lt.format($o.contentIconPath,g.a.revive(e.contentIconPath).toString(!0).replace(/'/g,"%27")))),"string"==typeof e.contentText){var o=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(Lt.format($o.contentText,o))}this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","color","opacity","backgroundColor","margin"],t),this.collectCSSText(e,["width","height"],t)&&t.push("display:inline-block;")}return t.join("")},e.prototype.getCSSTextForModelDecorationGlyphMarginClassName=function(e){if(!e)return"";var t=[];return void 0!==e.gutterIconPath&&("string"==typeof e.gutterIconPath?t.push(Lt.format($o.gutterIconPath,g.a.file(e.gutterIconPath).toString())):t.push(Lt.format($o.gutterIconPath,g.a.revive(e.gutterIconPath).toString(!0).replace(/'/g,"%27"))),void 0!==e.gutterIconSize&&t.push(Lt.format($o.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(Lt.format("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,o){for(var n=o.length,i=0,r=t;i<r.length;i++){var s=r[i],a=this.resolveValue(e[s]);"string"==typeof a&&o.push(Lt.format($o[s],a))}return o.length!==n},e.prototype.resolveValue=function(e){if(Object(y.c)(e)){this._usesThemeColors=!0;var t=this._theme.getColor(e.id);return t?t.toString():"transparent"}return e},e}(),Zo=function(){function e(){}return e.getClassName=function(e,t){return"ced-"+e+"-"+t},e.getSelector=function(e,t,o){var n=".monaco-editor ."+this.getClassName(e,o);return t&&(n=n+"."+this.getClassName(t,o)),3===o?n+="::before":4===o&&(n+="::after"),n},e}(),Qo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),en=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Qo(t,e),t.prototype.getActiveCodeEditor=function(){return null},t.prototype.openCodeEditor=function(e,t,o){return t?c.b.as(this.doOpenEditor(t,e)):c.b.as(null)},t.prototype.doOpenEditor=function(e,t){if(!this.findModel(e,t.resource)){if(t.resource){var o=t.resource.scheme;if(o===gt.a.http||o===gt.a.https)return Object(X.P)(t.resource.toString()),e}return null}var n=t.options.selection;if(n)if("number"==typeof n.endLineNumber&&"number"==typeof n.endColumn)e.setSelection(n),e.revealRangeInCenter(n,1);else{var i={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(i),e.revealPositionInCenter(i,1)}return e},t.prototype.findModel=function(e,t){var o=e.getModel();return o.uri.toString()!==t.toString()?null:o},t}(Yo),tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),on=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},nn=function(e,t){return function(o,n){t(o,n,e)}},rn="data-keybinding-context",sn=function(){function e(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}return e.prototype.setValue=function(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)},e.prototype.removeValue=function(e){return e in this._value&&(delete this._value[e],!0)},e.prototype.getValue=function(e){var t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t},e}(),an=function(e){function t(t,o,n){var i=e.call(this,t,null)||this;return i._emitter=n,i._configurationService=o,i._subscription=o.onDidChangeConfiguration(i._onConfigurationUpdated,i),i._initFromConfiguration(),i}return tn(t,e),t.prototype.dispose=function(){this._subscription.dispose()},t.prototype._onConfigurationUpdated=function(e){if(e.source===j.a.DEFAULT)this._initFromConfiguration();else for(var t=0,o=e.affectedKeys;t<o.length;t++){var n=o[t],i="config."+n;i in this._value&&(this._value[i]=this._configurationService.getValue(n),this._emitter.fire(i))}},t.prototype._initFromConfiguration=function(){var e=this,t=this._configurationService.getValue(),o=Object.create(null),n=[],i=function(t,r){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){r.push(s);var a=t[s];if("boolean"==typeof a){var l=r.join("."),u=e._value[l];e._value[l]=a,u!==a?(n.push(l),o[l]=!0):o[l]=!1}else"object"==typeof a&&i(a,r);r.pop()}};for(var r in i(t,["config"]),this._value)0===r.indexOf("config.")&&void 0===o[r]&&(delete this._value[r],o[r]=!0,n.push(r));this._emitter.fire(n)},t}(sn),ln=function(){function e(e,t,o){this._parent=e,this._key=t,this._defaultValue=o,this.reset()}return e.prototype.set=function(e){this._parent.setContext(this._key,e)},e.prototype.reset=function(){void 0===this._defaultValue?this._parent.removeContext(this._key):this._parent.setContext(this._key,this._defaultValue)},e.prototype.get=function(){return this._parent.getContextKeyValue(this._key)},e}(),un=function(){function e(){this._keys=[]}return e.prototype.collect=function(e){this._keys=this._keys.concat(e)},e.prototype.affectsSome=function(e){for(var t=0,o=this._keys;t<o.length;t++){var n=o[t];if(e.has(n))return!0}return!1},e}(),cn=function(){function e(e){this._myContextId=e,this._onDidChangeContextKey=new r.a}return e.prototype.createKey=function(e,t){return new ln(this,e,t)},Object.defineProperty(e.prototype,"onDidChangeContext",{get:function(){return this._onDidChangeContext||(this._onDidChangeContext=Object(r.h)(this._onDidChangeContextKey.event,(function(e,t){return e||(e=new un),e.collect(t),e}),25)),this._onDidChangeContext},enumerable:!0,configurable:!0}),e.prototype.createScoped=function(e){return new dn(this,this._onDidChangeContextKey,e)},e.prototype.contextMatchesRules=function(e){var t=this.getContextValuesContainer(this._myContextId);return M.contextMatchesRules(t,e)},e.prototype.getContextKeyValue=function(e){return this.getContextValuesContainer(this._myContextId).getValue(e)},e.prototype.setContext=function(e,t){var o=this.getContextValuesContainer(this._myContextId);o&&o.setValue(e,t)&&this._onDidChangeContextKey.fire(e)},e.prototype.removeContext=function(e){this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContextKey.fire(e)},e.prototype.getContext=function(e){return this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(rn))return parseInt(e.getAttribute(rn),10);e=e.parentElement}return 0}(e))},e}(),hn=function(e){function t(t){var o=e.call(this,0)||this;o._toDispose=[],o._lastContextId=0,o._contexts=Object.create(null);var n=new an(o._myContextId,t,o._onDidChangeContextKey);return o._contexts[String(o._myContextId)]=n,o._toDispose.push(n),o}return tn(t,e),t.prototype.dispose=function(){this._toDispose=Object(b.d)(this._toDispose)},t.prototype.getContextValuesContainer=function(e){return this._contexts[String(e)]},t.prototype.createChildContext=function(e){void 0===e&&(e=this._myContextId);var t=++this._lastContextId;return this._contexts[String(t)]=new sn(t,this.getContextValuesContainer(e)),t},t.prototype.disposeContext=function(e){delete this._contexts[String(e)]},t=on([nn(0,j.b)],t)}(cn),dn=function(e){function t(t,o,n){var i=e.call(this,t.createChildContext())||this;return i._parent=t,i._onDidChangeContextKey=o,n&&(i._domNode=n,i._domNode.setAttribute(rn,String(i._myContextId))),i}return tn(t,e),t.prototype.dispose=function(){this._parent.disposeContext(this._myContextId),this._domNode&&(this._domNode.removeAttribute(rn),this._domNode=void 0)},Object.defineProperty(t.prototype,"onDidChangeContext",{get:function(){return this._parent.onDidChangeContext},enumerable:!0,configurable:!0}),t.prototype.getContextValuesContainer=function(e){return this._parent.getContextValuesContainer(e)},t.prototype.createChildContext=function(e){return void 0===e&&(e=this._myContextId),this._parent.createChildContext(e)},t.prototype.disposeContext=function(e){this._parent.disposeContext(e)},t}(cn);S.a.registerCommand(w.g,(function(e,t,o){e.get(w.e).createKey(String(t),o)}));var gn=o(14),pn=function(e,t,o,n,i){this.token=e,this.index=t,this.fontStyle=o,this.foreground=n,this.background=i};function fn(e,t){e.sort((function(e,t){var o=function(e,t){if(e<t)return-1;if(e>t)return 1;return 0}(e.token,t.token);return 0!==o?o:e.index-t.index}));for(var o=0,n="000000",i="ffffff";e.length>=1&&""===e[0].token;){var r=e.shift();-1!==r.fontStyle&&(o=r.fontStyle),null!==r.foreground&&(n=r.foreground),null!==r.background&&(i=r.background)}for(var s=new _n,a=0,l=t;a<l.length;a++){var u=l[a];s.getId(u)}for(var c=s.getId(n),h=s.getId(i),d=new bn(o,c,h),g=new En(d),p=0,f=e.length;p<f;p++){var m=e[p];g.insert(m.token,m.fontStyle,s.getId(m.foreground),s.getId(m.background))}return new yn(s,g)}var mn=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/,_n=function(){function e(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}return e.prototype.getId=function(e){if(null===e)return 0;var t=e.match(mn);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();var o=this._color2id.get(e);return o||(o=++this._lastColorId,this._color2id.set(e,o),this._id2color[o]=gn.a.fromHex("#"+e),o)},e.prototype.getColorMap=function(){return this._id2color.slice(0)},e}(),yn=function(){function e(e,t){this._colorMap=e,this._root=t,this._cache=new Map}return e.createFromRawTokenTheme=function(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];for(var t=[],o=0,n=0,i=e.length;n<i;n++){var r=e[n],s=-1;if("string"==typeof r.fontStyle){s=0;for(var a=r.fontStyle.split(" "),l=0,u=a.length;l<u;l++){switch(a[l]){case"italic":s|=1;break;case"bold":s|=2;break;case"underline":s|=4}}}var c=null;"string"==typeof r.foreground&&(c=r.foreground);var h=null;"string"==typeof r.background&&(h=r.background),t[o++]=new pn(r.token||"",n,s,c,h)}return t}(e),t)},e.createFromParsedTokenTheme=function(e,t){return fn(e,t)},e.prototype.getColorMap=function(){return this._colorMap.getColorMap()},e.prototype._match=function(e){return this._root.match(e)},e.prototype.match=function(e,t){var o=this._cache.get(t);if(void 0===o){var n=this._match(t),i=function(e){var t=e.match(vn);if(!t)return 0;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":return 4}throw new Error("Unexpected match for standard token type!")}(t);o=(n.metadata|i<<8)>>>0,this._cache.set(t,o)}return(o|e<<0)>>>0},e}(),vn=/\b(comment|string|regex)\b/;var bn=function(){function e(e,t,o){this._fontStyle=e,this._foreground=t,this._background=o,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}return e.prototype.clone=function(){return new e(this._fontStyle,this._foreground,this._background)},e.prototype.acceptOverwrite=function(e,t,o){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==o&&(this._background=o),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),En=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,o,n=e.indexOf(".");-1===n?(t=e,o=""):(t=e.substring(0,n),o=e.substring(n+1));var i=this._children.get(t);return void 0!==i?i.match(o):this._mainRule},e.prototype.insert=function(t,o,n,i){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var l=this._children.get(r);void 0===l&&(l=new e(this._mainRule.clone()),this._children.set(r,l)),l.insert(s,o,n,i)}else this._mainRule.acceptOverwrite(o,n,i)},e}();var Cn,Sn,Tn,wn=o(7),kn={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"09885A"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"09885A"},{token:"attribute.value.unit",foreground:"09885A"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Cn={},Cn[wn.n]="#FFFFFE",Cn[wn.u]="#000000",Cn[wn.y]="#E5EBF1",Cn[Po.l]="#D3D3D3",Cn[Po.a]="#939393",Cn[wn.B]="#ADD6FF4D",Cn)},On={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Sn={},Sn[wn.n]="#1E1E1E",Sn[wn.u]="#D4D4D4",Sn[wn.y]="#3A3D41",Sn[Po.l]="#404040",Sn[Po.a]="#707070",Sn[wn.B]="#ADD6FF26",Sn)},Rn={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Tn={},Tn[wn.n]="#000000",Tn[wn.u]="#FFFFFF",Tn[Po.l]="#FFFFFF",Tn[Po.a]="#FFFFFF",Tn)},Ln="vs",Nn="vs-dark",In="hc-black",Dn=To.a.as(wn.a.ColorContribution),An=To.a.as(Re.a.ThemingContribution),Pn=function(){function e(e,t){this.themeData=t;var o=t.base;e.length>0?(this.id=o+" "+e,this.themeName=e):(this.id=o,this.themeName=o),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}return Object.defineProperty(e.prototype,"base",{get:function(){return this.themeData.base},enumerable:!0,configurable:!0}),e.prototype.notifyBaseUpdated=function(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)},e.prototype.getColors=function(){if(!this.colors){var e=Object.create(null);for(var t in this.themeData.colors)e[t]=gn.a.fromHex(this.themeData.colors[t]);if(this.themeData.inherit){var o=Mn(this.themeData.base);for(var t in o.colors)e[t]||(e[t]=gn.a.fromHex(o.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var o=this.getColors()[e];return o||(!1!==t?this.getDefault(e):null)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=Dn.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)},e.prototype.defines=function(e){return Object.prototype.hasOwnProperty.call(this.getColors(),e)},Object.defineProperty(e.prototype,"type",{get:function(){switch(this.base){case Ln:return"light";case In:return"hc";default:return"dark"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tokenTheme",{get:function(){if(!this._tokenTheme){var e=[],t=[];if(this.themeData.inherit){var o=Mn(this.themeData.base);e=o.rules,o.encodedTokensColors&&(t=o.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=yn.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function xn(e){return e===Ln||e===Nn||e===In}function Mn(e){switch(e){case Ln:return kn;case Nn:return On;case In:return Rn}}function Bn(e){var t=Mn(e);return new Pn(e,t)}var Fn,Hn=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new r.a,this._knownThemes=new Map,this._knownThemes.set(Ln,Bn(Ln)),this._knownThemes.set(Nn,Bn(Nn)),this._knownThemes.set(In,Bn(In)),this._styleElement=X.o(),this._styleElement.className="monaco-colors",this.setTheme(Ln)}return Object.defineProperty(e.prototype,"onThemeChange",{get:function(){return this._onThemeChange.event},enumerable:!0,configurable:!0}),e.prototype.defineTheme=function(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw new Error("Illegal theme name!");if(!xn(t.base)&&!xn(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new Pn(e,t)),xn(e)&&this._knownThemes.forEach((function(t){t.base===e&&t.notifyBaseUpdated()})),this._theme&&this._theme.themeName===e&&this.setTheme(e)},e.prototype.getTheme=function(){return this._theme},e.prototype.setTheme=function(e){var t,o=this;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Ln),this._theme=t;var n=[],i={},r={addRule:function(e){i[e]||(n.push(e),i[e]=!0)}};An.getThemingParticipants().forEach((function(e){return e(t,r,o.environment)}));var s=t.tokenTheme.getColorMap();return r.addRule(function(e){for(var t=[],o=1,n=e.length;o<n;o++){var i=e[o];t[o]=".mtk"+o+" { color: "+i+"; }"}return t.push(".mtki { font-style: italic; }"),t.push(".mtkb { font-weight: bold; }"),t.push(".mtku { text-decoration: underline; text-underline-position: under; }"),t.join("\n")}(s)),this._styleElement.innerHTML=n.join("\n"),re.y.setColorMap(s),this._onThemeChange.fire(t),t.id},e}(),Un=Object(C.c)("dialogService"),Vn=o(134),Wn=o(156),jn=o(208),Gn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();!function(e){var t=new ht.a,o=function(){function e(e,t){this._serviceId=e,this._factory=t,this._value=null}return Object.defineProperty(e.prototype,"id",{get:function(){return this._serviceId},enumerable:!0,configurable:!0}),e.prototype.get=function(e){if(!this._value){if(e&&(this._value=e[this._serviceId.toString()]),this._value||(this._value=this._factory(e)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");t.set(this._serviceId,this._value)}return this._value},e}();e.LazyStaticService=o;var n=[];function i(e,t){var i=new o(e,t);return n.push(i),i}e.init=function(e){var t=new ht.a;for(var o in e)e.hasOwnProperty(o)&&t.set(Object(C.c)(o),e[o]);n.forEach((function(o){return t.set(o.id,o.get(e))}));var i=new dt(t,!0);return t.set(C.a,i),[t,i]},e.instantiationService=i(C.a,(function(){return new dt(t,!0)}));var r=new me;e.configurationService=i(j.b,(function(){return r})),e.resourceConfigurationService=i(Zt,(function(){return new _e(r)})),e.contextService=i(B.a,(function(){return new be})),e.uriDisplayService=i(jn.a,(function(){return new Se})),e.telemetryService=i(Ze.a,(function(){return new ve})),e.dialogService=i(Un,(function(){return new he})),e.notificationService=i(ne.a,(function(){return new de})),e.markerService=i(pt.a,(function(){return new mt})),e.modeService=i(ho.a,(function(e){return new No})),e.modelService=i(Ot.a,(function(t){return new Wo(e.markerService.get(t),e.configurationService.get(t))})),e.editorWorkerService=i(O.a,(function(t){return new ro(e.modelService.get(t),e.resourceConfigurationService.get(t))})),e.standaloneThemeService=i(ke.a,(function(){return new Hn})),e.codeEditorService=i(k.a,(function(t){return new en(e.standaloneThemeService.get(t))})),e.progressService=i(_t.a,(function(){return new ce})),e.storageService=i(yt.a,(function(){return yt.b})),e.logService=i(Qe.a,(function(){return new Qe.b}))}(Fn||(Fn={}));var zn=function(e){function t(t,o){var n=e.call(this)||this,i=Fn.init(o),r=i[0],s=i[1];n._serviceCollection=r,n._instantiationService=s;var a=n.get(j.b),l=n.get(ne.a),u=n.get(Ze.a),c=function(e,t){var i=null;return o&&(i=o[e.toString()]),i||(i=t()),n._serviceCollection.set(e,i),i},h=c(w.e,(function(){return n._register(new hn(a))}));c(Vn.a,(function(){return new Vn.b(h)}));var d=c(S.b,(function(){return new ge(n._instantiationService)}));c(T.a,(function(){return n._register(new pe(h,d,u,l,t))}));var g=c(E.b,(function(){return n._register(new ot(t,u,new Qe.b))}));return c(E.a,(function(){return n._register(new $e(t,u,l,g))})),c(J.a,(function(){return new ye(d)})),c(Wn.a,(function(){return new Ce(Fn.modelService.get(Ot.a))})),n}return Gn(t,e),t.prototype.get=function(e){var t=this._serviceCollection.get(e);if(!t)throw new Error("Missing service "+e);return t},t.prototype.set=function(e,t){this._serviceCollection.set(e,t)},t.prototype.has=function(e){return this._serviceCollection.has(e)},t}(b.a);function Kn(e){var t=JSON.parse(e);return t=function e(t,o){if(!t||o>200)return t;if("object"==typeof t){switch(t.$mid){case 1:return g.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var n in t)Object.hasOwnProperty.call(t,n)&&(t[n]=e(t[n],o+1))}return t}(t,0)}var Yn=new(function(){function e(){}return e.prototype.publicLog=function(e,t){return c.b.wrap(null)},e.prototype.getTelemetryInfo=function(){return c.b.wrap({instanceId:"someValue.instanceId",sessionId:"someValue.sessionId",machineId:"someValue.machineId"})},e}()),Xn=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},qn=function(e,t){return function(o,n){t(o,n,e)}},$n=function(){function e(e,t,o){void 0===o&&(o=Yn),this._editorService=e,this._commandService=t,this._telemetryService=o}return e.prototype.open=function(e,t){var o;this._telemetryService.publicLog("openerService",{scheme:e.scheme});var n=e.scheme,i=e.path,r=e.query,s=e.fragment,a=c.b.wrap(void 0);if(n===gt.a.http||n===gt.a.https||n===gt.a.mailto)X.P(e.toString(!0));else if("command"===n&&S.a.getCommand(i)){var l=[];try{l=Kn(r),Array.isArray(l)||(l=[l])}catch(e){}a=(o=this._commandService).executeCommand.apply(o,[i].concat(l))}else{var u=void 0,h=/^L?(\d+)(?:,(\d+))?/.exec(s);if(h&&(u={startLineNumber:parseInt(h[1]),startColumn:h[2]?parseInt(h[2]):1},e=e.with({fragment:""})),!e.scheme)return c.b.as(void 0);e.scheme===gt.a.file&&(e=e.with({path:Object(po.h)(e.path)})),a=this._editorService.openCodeEditor({resource:e,options:{selection:u}},this._editorService.getFocusedCodeEditor(),t&&t.openToSide)}return a},e=Xn([qn(0,k.a),qn(1,S.b),qn(2,Object(C.d)(Ze.a))],e)}(),Jn=o(82),Zn=o(68),Qn=o(87),ei=o(54),ti=function(){function e(){}return e.colorizeElement=function(e,t,o,n){var i=(n=n||{}).theme||"vs",r=n.mimeType||o.getAttribute("lang")||o.getAttribute("data-lang");if(r){e.setTheme(i);var s=o.firstChild.nodeValue;o.className+=" "+i;return this.colorize(t,s,r,n).then((function(e){o.innerHTML=e}),(function(e){return console.error(e)}))}console.error("Mode not detected")},e._tokenizationSupportChangedPromise=function(e){var t=null,o=function(){t&&(t.dispose(),t=null)};return new c.b((function(n,i){t=re.y.onDidChange((function(t){t.changedLanguages.indexOf(e)>=0&&(o(),n(void 0))}))}),o)},e.colorize=function(e,t,o,n){Lt.startsWithUTF8BOM(t)&&(t=t.substr(1));var i=t.split(/\r\n|\r|\n/),r=e.getModeId(o);void 0===(n=n||{}).tabSize&&(n.tabSize=4),e.getOrCreateMode(r);var s=re.y.get(r);return s?c.b.as(oi(i,n.tabSize,s)):c.b.any([this._tokenizationSupportChangedPromise(r),c.b.timeout(500)]).then((function(e){var t=re.y.get(r);return t?oi(i,n.tabSize,t):function(e,t){var o=[],n=new Uint32Array(2);n[0]=0,n[1]=16793600;for(var i=0,r=e.length;i<r;i++){var s=e[i];n[0]=s.length;var a=new Qn.a(n,s),l=ei.d.isBasicASCII(s,!0),u=ei.d.containsRTL(s,l,!0),c=Object(Zn.d)(new Zn.b(!1,s,!1,l,u,0,a,[],t,0,-1,"none",!1,!1));(o=o.concat(c.html)).push("<br/>")}return o.join("")}(i,n.tabSize)}))},e.colorizeLine=function(e,t,o,n,i){void 0===i&&(i=4);var r=ei.d.isBasicASCII(e,t),s=ei.d.containsRTL(e,r,o);return Object(Zn.d)(new Zn.b(!1,e,!1,r,s,0,n,[],i,0,-1,"none",!1,!1)).html},e.colorizeModelLine=function(e,t,o){void 0===o&&(o=4);var n=e.getLineContent(t);e.forceTokenization(t);var i=e.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,o)},e}();function oi(e,t,o){return function(e,t,o){for(var n=[],i=o.getInitialState(),r=0,s=e.length;r<s;r++){var a=e[r],l=o.tokenize2(a,i,0);Qn.a.convertToEndOffset(l.tokens,a.length);var u=new Qn.a(l.tokens,a),c=ei.d.isBasicASCII(a,!0),h=ei.d.containsRTL(a,c,!0),d=Object(Zn.d)(new Zn.b(!1,a,!1,c,h,0,u.inflate(),[],t,0,-1,"none",!1,!1));(n=n.concat(d.html)).push("<br/>"),i=l.endState}return n.join("")}(e,t,o)}var ni=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var ii,ri,si=function(e){function t(t,o){var n=e.call(this,t,o.label)||this;return n._foreignModuleId=o.moduleId,n._foreignModuleCreateData=o.createData||null,n._foreignProxy=null,n}return ni(t,e),t.prototype._getForeignProxy=function(){var e=this;return this._foreignProxy||(this._foreignProxy=new N.d(this._getProxy().then((function(t){return t.loadForeignModule(e._foreignModuleId,e._foreignModuleCreateData).then((function(o){e._foreignModuleId=null,e._foreignModuleCreateData=null;for(var n=function(e,o){return t.fmr(e,o)},i=function(e,t){return function(){var o=Array.prototype.slice.call(arguments,0);return t(e,o)}},r={},s=0;s<o.length;s++)r[o[s]]=i(o[s],n);return r}))})))),this._foreignProxy},t.prototype.getProxy=function(){return this._getForeignProxy()},t.prototype.withSyncedResources=function(e){var t=this;return this._withSyncedResources(e).then((function(e){return t.getProxy()}))},t}(co),ai=o(263),li=o(133),ui=o(132),ci=o(35);function hi(e,t,o){var n=new zn(e,t),i=null;n.has(li.a)||(i=new ue,n.set(li.a,i)),n.has(Jn.a)||n.set(Jn.a,new $n(n.get(k.a),n.get(S.b)));var r=o(n);return i&&i.setEditor(r),r}function di(e,t,o){return hi(e,o,(function(o){return new Be(e,t,o,o.get(C.a),o.get(k.a),o.get(S.b),o.get(w.e),o.get(T.a),o.get(E.b),o.get(ke.a),o.get(ne.a),o.get(j.b))}))}function gi(e){return Fn.codeEditorService.get().onCodeEditorAdd((function(t){e(t)}))}function pi(e,t,o){return hi(e,o,(function(o){return new Fe(e,t,o,o.get(C.a),o.get(w.e),o.get(T.a),o.get(E.b),o.get(O.a),o.get(k.a),o.get(ke.a),o.get(ne.a),o.get(j.b))}))}function fi(e,t){return new ai.a(e,t)}function mi(e,t,o){return Fn.modelService.get().createModel(e,t,o)}function _i(e,t,o){if(e=e||"",!t){var n=o?o.path:null,i=e.indexOf("\n"),r=e;return-1!==i&&(r=e.substring(0,i)),mi(e,Fn.modeService.get().getOrCreateModeByFilenameOrFirstLine(n,r),o)}return mi(e,Fn.modeService.get().getOrCreateMode(t),o)}function yi(e,t){Fn.modelService.get().setMode(e,Fn.modeService.get().getOrCreateMode(t))}function vi(e,t,o){e&&Fn.markerService.get().changeOne(t,e.uri,o)}function bi(e){return Fn.markerService.get().read(e)}function Ei(e){return Fn.modelService.get().getModel(e)}function Ci(){return Fn.modelService.get().getModels()}function Si(e){return Fn.modelService.get().onModelAdded(e)}function Ti(e){return Fn.modelService.get().onModelRemoved(e)}function wi(e){return Fn.modelService.get().onModelModeChanged((function(t){e({model:t.model,oldLanguage:t.oldModeId})}))}function ki(e){return function(e,t){return new si(e,t)}(Fn.modelService.get(),e)}function Oi(e,t){return ti.colorizeElement(Fn.standaloneThemeService.get(),Fn.modeService.get(),e,t)}function Ri(e,t,o){return ti.colorize(Fn.modeService.get(),e,t,o)}function Li(e,t,o){return void 0===o&&(o=4),ti.colorizeModelLine(e,t,o)}function Ni(e,t){Fn.modeService.get().getOrCreateMode(t);for(var o=function(e){var t=re.y.get(e);return t||{getInitialState:function(){return Oo.c},tokenize:function(t,o,n){return Object(Oo.d)(e,t,o,n)},tokenize2:void 0}}(t),n=e.split(/\r\n|\r|\n/),i=[],r=o.getInitialState(),s=0,a=n.length;s<a;s++){var l=n[s],u=o.tokenize(l,r,0);i[s]=u.tokens,r=u.endState}return i}function Ii(e,t){Fn.standaloneThemeService.get().defineTheme(e,t)}function Di(e){Fn.standaloneThemeService.get().setTheme(e)}!function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(ii||(ii={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(ri||(ri={}));var Ai=o(44);function Pi(e){return!function(e){return Array.isArray(e)}(e)}function xi(e){return"string"==typeof e}function Mi(e){return!xi(e)}function Bi(e){return!e}function Fi(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Hi(e){return e.replace(/[&<>'"_]/g,"-")}function Ui(e,t){throw new Error(e.languageId+": "+t)}function Vi(e,t,o,n,i){var r=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,s,a,l,u,c,h,d,g){return Bi(a)?Bi(l)?!Bi(u)&&u<n.length?Fi(e,n[u]):!Bi(h)&&e&&"string"==typeof e[h]?e[h]:(null===r&&(r=i.split(".")).unshift(i),!Bi(c)&&c<r.length?Fi(e,r[c]):""):Fi(e,o):"$"}))}function Wi(e,t){for(;t&&t.length>0;){var o=e.tokenizer[t];if(o)return o;var n=t.lastIndexOf(".");t=n<0?null:t.substr(0,n)}return null}function ji(e,t,o){return"boolean"==typeof e?e:(o&&(e||void 0===t)&&o(),void 0===t?null:t)}function Gi(e,t,o){return"string"==typeof e?e:(o&&(e||void 0===t)&&o(),void 0===t?null:t)}function zi(e,t){if("string"!=typeof t)return null;for(var o=0;t.indexOf("@")>=0&&o<5;)o++,t=t.replace(/@(\w+)/g,(function(o,n){var i="";return"string"==typeof e[n]?i=e[n]:e[n]&&e[n]instanceof RegExp?i=e[n].source:void 0===e[n]?Ui(e,"language definition does not contain attribute '"+n+"', used at: "+t):Ui(e,"attribute reference '"+n+"' must be a string, used at: "+t),Bi(i)?"":"(?:"+i+")"}));return new RegExp(t,e.ignoreCase?"i":"")}function Ki(e,t,o,n){var i=-1,r=o,s=o.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);s&&(s[3]&&(i=parseInt(s[3]),s[2]&&(i+=100)),r=s[4]);var a,l="~",u=r;if(r&&0!==r.length?/^\w*$/.test(u)?l="==":(s=r.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(l=s[1],u=s[2]):(l="!=",u=""),"~"!==l&&"!~"!==l||!/^(\w|\|)*$/.test(u))if("@"===l||"!@"===l){var c=e[u];c||Ui(e,"the @ match target '"+u+"' is not defined, in rule: "+t),function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var o in t)if(t.hasOwnProperty(o)&&!e(t[o]))return!1;return!0}((function(e){return"string"==typeof e}),c)||Ui(e,"the @ match target '"+u+"' must be an array of strings, in rule: "+t);var h=V.b(c,e.ignoreCase);a=function(e){return"@"===l?h(e):!h(e)}}else if("~"===l||"!~"===l)if(u.indexOf("$")<0){var d=zi(e,"^"+u+"$");a=function(e){return"~"===l?d.test(e):!d.test(e)}}else a=function(t,o,n,i){return zi(e,"^"+Vi(e,u,o,n,i)+"$").test(t)};else if(u.indexOf("$")<0){var g=Fi(e,u);a=function(e){return"=="===l?e===g:e!==g}}else{var p=Fi(e,u);a=function(t,o,n,i,r){var s=Vi(e,p,o,n,i);return"=="===l?t===s:t!==s}}else{var f=V.b(u.split("|"),e.ignoreCase);a=function(e){return"~"===l?f(e):!f(e)}}return-1===i?{name:o,value:n,test:function(e,t,o,n){return a(e,e,t,o,n)}}:{name:o,value:n,test:function(e,t,o,n){var r=function(e,t,o,n){if(n<0)return e;if(n<t.length)return t[n];if(n>=100){n-=100;var i=o.split(".");if(i.unshift(o),n<i.length)return i[n]}return null}(e,t,o,i);return a(r||"",e,t,o,n)}}}var Yi=function(){function e(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}return e.prototype.setRegex=function(e,t){var o;"string"==typeof t?o=t:t instanceof RegExp?o=t.source:Ui(e,"rules must start with a match string or regular expression: "+this.name),this.matchOnlyAtLineStart=o.length>0&&"^"===o[0],this.name=this.name+": "+o,this.regex=zi(e,"^(?:"+(this.matchOnlyAtLineStart?o.substr(1):o)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,o,n){if(n){if("string"==typeof n)return n;if(n.token||""===n.token){if("string"!=typeof n.token)return Ui(t,"a 'token' attribute must be of type string, in rule: "+o),{token:""};var i={token:n.token};if(n.token.indexOf("$")>=0&&(i.tokenSubst=!0),"string"==typeof n.bracket&&("@open"===n.bracket?i.bracket=1:"@close"===n.bracket?i.bracket=-1:Ui(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+o)),n.next)if("string"!=typeof n.next)Ui(t,"the next state must be a string value in rule: "+o);else{var r=n.next;/^(@pop|@push|@popall)$/.test(r)||("@"===r[0]&&(r=r.substr(1)),r.indexOf("$")<0&&(function(e,t){for(;t&&t.length>0;){if(e.stateNames[t])return!0;var o=t.lastIndexOf(".");t=o<0?null:t.substr(0,o)}return!1}(t,Vi(t,r,"",[],""))||Ui(t,"the next state '"+n.next+"' is not defined in rule: "+o))),i.next=r}return"number"==typeof n.goBack&&(i.goBack=n.goBack),"string"==typeof n.switchTo&&(i.switchTo=n.switchTo),"string"==typeof n.log&&(i.log=n.log),"string"==typeof n.nextEmbedded&&(i.nextEmbedded=n.nextEmbedded,t.usesEmbedded=!0),i}if(Array.isArray(n)){var s=[];for(var a in n)n.hasOwnProperty(a)&&(s[a]=e(t,o,n[a]));return{group:s}}if(n.cases){var l=[];for(var u in n.cases)if(n.cases.hasOwnProperty(u)){var c=e(t,o,n.cases[u]);"@default"===u||"@"===u||""===u?l.push({test:null,value:c,name:u}):"@eos"===u?l.push({test:function(e,t,o,n){return n},value:c,name:u}):l.push(Ki(t,o,u,c))}var h=t.defaultToken;return{test:function(e,t,o,n){for(var i in l){if(l.hasOwnProperty(i))if(!l[i].test||l[i].test(e,t,o,n))return l[i].value}return h}}}return Ui(t,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+o),""}return{token:""}}(e,this.name,t)},e}();var Xi=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new qi(e,t);var o=qi.getStackElementId(e);o.length>0&&(o+="|"),o+=t;var n=this._entries[o];return n||(n=new qi(e,t),this._entries[o]=n,n)},e._INSTANCE=new e(5),e}(),qi=function(){function e(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}return e.getStackElementId=function(e){for(var t="";null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t},e._equals=function(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t},e.prototype.equals=function(t){return e._equals(this,t)},e.prototype.push=function(e){return Xi.create(this,e)},e.prototype.pop=function(){return this.parent},e.prototype.popall=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.switchTo=function(e){return Xi.create(this.parent,e)},e}(),$i=function(){function e(e,t){this.modeId=e,this.state=t}return e.prototype.equals=function(e){return this.modeId===e.modeId&&this.state.equals(e.state)},e.prototype.clone=function(){return this.state.clone()===this.state?this:new e(this.modeId,this.state)},e}(),Ji=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==t)return new Zi(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Zi(e,t);var o=qi.getStackElementId(e),n=this._entries[o];return n||(n=new Zi(e,null),this._entries[o]=n,n)},e._INSTANCE=new e(5),e}(),Zi=function(){function e(e,t){this.stack=e,this.embeddedModeData=t}return e.prototype.clone=function(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:Ji.create(this.stack,this.embeddedModeData)},e.prototype.equals=function(t){return t instanceof e&&(!!this.stack.equals(t.stack)&&(null===this.embeddedModeData&&null===t.embeddedModeData||null!==this.embeddedModeData&&null!==t.embeddedModeData&&this.embeddedModeData.equals(t.embeddedModeData)))},e}(),Qi=Object.hasOwnProperty,er=function(){function e(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}return e.prototype.enterMode=function(e,t){this._language=t},e.prototype.emit=function(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new d.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,o){var n=t.modeId,i=t.state,r=re.y.get(n);if(!r)return this.enterMode(o,n),this.emit(o,""),i;var s=r.tokenize(e,i,o);return this._tokens=this._tokens.concat(s.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,s.endState},e.prototype.finalize=function(e){return new d.b(this._tokens,e)},e}(),tr=function(){function e(e,t){this._modeService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}return e.prototype.enterMode=function(e,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id},e.prototype.emit=function(e,t){var o=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==o&&(this._lastTokenMetadata=o,this._tokens.push(e),this._tokens.push(o))},e._merge=function(e,t,o){var n=null!==e?e.length:0,i=t.length,r=null!==o?o.length:0;if(0===n&&0===i&&0===r)return new Uint32Array(0);if(0===n&&0===i)return o;if(0===i&&0===r)return e;var s=new Uint32Array(n+i+r);null!==e&&s.set(e);for(var a=0;a<i;a++)s[n+a]=t[a];return null!==o&&s.set(o,n+i),s},e.prototype.nestedModeTokenize=function(t,o,n){var i=o.modeId,r=o.state,s=re.y.get(i);if(!s)return this.enterMode(n,i),this.emit(n,""),r;var a=s.tokenize2(t,r,n);return this._prependTokens=e._merge(this._prependTokens,this._tokens,a.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,a.endState},e.prototype.finalize=function(t){return new d.c(e._merge(this._prependTokens,this._tokens,null),t)},e}(),or=function(){function e(e,t,o,n){var i=this;this._modeService=e,this._standaloneThemeService=t,this._modeId=o,this._lexer=n,this._embeddedModes=Object.create(null);var r=!1;this._tokenizationRegistryListener=re.y.onDidChange((function(e){if(!r){for(var t=!1,o=0,n=e.changedLanguages.length;o<n;o++){var s=e.changedLanguages[o];if(i._embeddedModes[s]){t=!0;break}}t&&(r=!0,re.y.fire([i._modeId]),r=!1)}}))}return e.prototype.dispose=function(){this._tokenizationRegistryListener.dispose()},e.prototype.getInitialState=function(){var e=Xi.create(null,this._lexer.start);return Ji.create(e,null)},e.prototype.tokenize=function(e,t,o){var n=new er,i=this._tokenize(e,t,o,n);return n.finalize(i)},e.prototype.tokenize2=function(e,t,o){var n=new tr(this._modeService,this._standaloneThemeService.getTheme().tokenTheme),i=this._tokenize(e,t,o,n);return n.finalize(i)},e.prototype._tokenize=function(e,t,o,n){return t.embeddedModeData?this._nestedTokenize(e,t,o,n):this._myTokenize(e,t,o,n)},e.prototype._findLeavingNestedModeOffset=function(e,t){var o=this._lexer.tokenizer[t.stack.state];o||(o=Wi(this._lexer,t.stack.state))||Ui(this._lexer,"tokenizer state is not defined: "+t.stack.state);var n=-1,i=!1;for(var r in o)if(Qi.call(o,r)){var s=o[r];if(Mi(s.action)&&"@pop"===s.action.nextEmbedded){i=!0;var a=s.regex,l=s.regex.source;"^(?:"===l.substr(0,4)&&")"===l.substr(l.length-1,1)&&(a=new RegExp(l.substr(4,l.length-5),a.ignoreCase?"i":""));var u=e.search(a);-1!==u&&(-1===n||u<n)&&(n=u)}}return i||Ui(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+t.stack.state),n},e.prototype._nestedTokenize=function(e,t,o,n){var i=this._findLeavingNestedModeOffset(e,t);if(-1===i){var r=n.nestedModeTokenize(e,t.embeddedModeData,o);return Ji.create(t.stack,new $i(t.embeddedModeData.modeId,r))}var s=e.substring(0,i);s.length>0&&n.nestedModeTokenize(s,t.embeddedModeData,o);var a=e.substring(i);return this._myTokenize(a,t,o+i,n)},e.prototype._myTokenize=function(e,t,o,n){n.enterMode(o,this._modeId);for(var i,r,s=e.length,a=t.embeddedModeData,l=t.stack,u=0,c=null,h=null,d=null,g=null;u<s;){var p=u,f=l.depth,m=c?c.length:0,_=l.state,y=null,v=null,b=null,E=null,C=null;if(c)y=h,v=d.shift(),b=c.shift(),E=g,0===c.length&&(c=null,h=null,d=null,g=null);else{if(u>=s)break;var S=this._lexer.tokenizer[_];S||(S=Wi(this._lexer,_))||Ui(this._lexer,"tokenizer state is not defined: "+_);var T=e.substr(u);for(var w in S)if(Qi.call(S,w)){var k=S[w];if((0===u||!k.matchOnlyAtLineStart)&&(y=T.match(k.regex))){v=y[0],b=k.action;break}}}for(y||(y=[""],v=""),b||(u<s&&(v=(y=[e.charAt(u)])[0]),b=this._lexer.defaultToken),u+=v.length;Pi(b)&&Mi(b)&&b.test;)b=b.test(v,y,_,u===s);var O=null;if("string"==typeof b||Array.isArray(b))O=b;else if(b.group)O=b.group;else if(null!==b.token&&void 0!==b.token){if(O=b.tokenSubst?Vi(this._lexer,b.token,v,y,_):b.token,b.nextEmbedded&&("@pop"===b.nextEmbedded?(a||Ui(this._lexer,"cannot pop embedded mode if not inside one"),a=null):a?Ui(this._lexer,"cannot enter embedded mode from within an embedded mode"):C=Vi(this._lexer,b.nextEmbedded,v,y,_)),b.goBack&&(u=Math.max(0,u-b.goBack)),b.switchTo&&"string"==typeof b.switchTo)"@"===(R=Vi(this._lexer,b.switchTo,v,y,_))[0]&&(R=R.substr(1)),Wi(this._lexer,R)?l=l.switchTo(R):Ui(this._lexer,"trying to switch to a state '"+R+"' that is undefined in rule: "+E.name);else if(b.transform&&"function"==typeof b.transform)Ui(this._lexer,"action.transform not supported");else if(b.next)if("@push"===b.next)l.depth>=this._lexer.maxStack?Ui(this._lexer,"maximum tokenizer stack size reached: ["+l.state+","+l.parent.state+",...]"):l=l.push(_);else if("@pop"===b.next)l.depth<=1?Ui(this._lexer,"trying to pop an empty stack in rule: "+E.name):l=l.pop();else if("@popall"===b.next)l=l.popall();else{var R;"@"===(R=Vi(this._lexer,b.next,v,y,_))[0]&&(R=R.substr(1)),Wi(this._lexer,R)?l=l.push(R):Ui(this._lexer,"trying to set a next state '"+R+"' that is undefined in rule: "+E.name)}b.log&&"string"==typeof b.log&&(i=this._lexer,r=this._lexer.languageId+": "+Vi(this._lexer,b.log,v,y,_),console.log(i.languageId+": "+r))}if(null===O&&Ui(this._lexer,"lexer rule has no well-defined action in rule: "+E.name),Array.isArray(O)){c&&c.length>0&&Ui(this._lexer,"groups cannot be nested: "+E.name),y.length!==O.length+1&&Ui(this._lexer,"matched number of groups does not match the number of actions in rule: "+E.name);for(var L=0,N=1;N<y.length;N++)L+=y[N].length;L!==v.length&&Ui(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+E.name),h=y,d=y.slice(1),c=O.slice(0),g=E,u-=v.length}else{if("@rematch"===O&&(u-=v.length,v="",y=null,O=""),0===v.length){if(f!==l.depth||_!==l.state||(c?c.length:0)!==m)continue;Ui(this._lexer,"no progress in tokenizer in rule: "+E.name),u=s}var I=null;if(xi(O)&&0===O.indexOf("@brackets")){var D=O.substr("@brackets".length),A=nr(this._lexer,v);A||(Ui(this._lexer,"@brackets token returned but no bracket defined as: "+v),A={token:"",bracketType:0}),I=Hi(A.token+D)}else{I=Hi(""===O?"":O+this._lexer.tokenPostfix)}if(n.emit(p+o,I),null!==C){var P=this._modeService.getModeIdForLanguageName(C);P&&(C=P);var x=this._getNestedEmbeddedModeData(C);if(u<s){T=e.substr(u);return this._nestedTokenize(T,Ji.create(l,x),o+u,n)}return Ji.create(l,x)}}}return Ji.create(l,a)},e.prototype._getNestedEmbeddedModeData=function(e){var t=this._locateMode(e);if(t){var o=re.y.get(t.getId());if(o)return new $i(t.getId(),o.getInitialState())}var n=t?t.getId():Oo.b;return new $i(n,Oo.c)},e.prototype._locateMode=function(e){if(!e||!this._modeService.isRegisteredMode(e))return null;var t=this._modeService.getModeId(e);this._modeService.getOrCreateMode(t);var o=this._modeService.getMode(t);return o?(this._embeddedModes[t]=!0,o):(this._embeddedModes[t]=!0,null)},e}();function nr(e,t){if(!t)return null;t=Fi(e,t);for(var o=e.brackets,n=0;n<o.length;n++){var i=o[n];if(i.open===t)return{token:i.token,bracketType:1};if(i.close===t)return{token:i.token,bracketType:-1}}return null}function ir(e){wo.registerLanguage(e)}function rr(){var e=[];return e=e.concat(wo.getLanguages())}function sr(e){var t=Fn.modeService.get().getLanguageIdentifier(e);return t&&t.id}function ar(e,t){var o=Fn.modeService.get().onDidCreateMode((function(n){n.getId()===e&&(o.dispose(),t())}));return o}function lr(e,t){var o=Fn.modeService.get().getLanguageIdentifier(e);if(!o)throw new Error("Cannot set configuration for unknown language "+e);return Jt.a.register(o,t)}var ur,cr=function(){function e(e){this._actual=e}return e.prototype.getInitialState=function(){return this._actual.getInitialState()},e.prototype.tokenize=function(e,t,o){throw new Error("Not supported!")},e.prototype.tokenize2=function(e,t){var o=this._actual.tokenizeEncoded(e,t);return new d.c(o.tokens,o.endState)},e}(),hr=function(){function e(e,t,o){this._standaloneThemeService=e,this._languageIdentifier=t,this._actual=o}return e.prototype.getInitialState=function(){return this._actual.getInitialState()},e.prototype._toClassicTokens=function(e,t,o){for(var n=[],i=0,r=0,s=e.length;r<s;r++){var a=e[r],l=a.startIndex;0===r?l=0:l<i&&(l=i),n[r]=new d.a(l+o,a.scopes,t),i=l}return n},e.prototype.tokenize=function(e,t,o){var n,i=this._actual.tokenize(e,t),r=this._toClassicTokens(i.tokens,this._languageIdentifier.language,o);return n=i.endState.equals(t)?t:i.endState,new d.b(r,n)},e.prototype._toBinaryTokens=function(e,t){for(var o=this._languageIdentifier.id,n=this._standaloneThemeService.getTheme().tokenTheme,i=[],r=0,s=0,a=0,l=e.length;a<l;a++){var u=e[a],c=n.match(o,u.scopes);if(!(r>0&&i[r-1]===c)){var h=u.startIndex;0===a?h=0:h<s&&(h=s),i[r++]=h+t,i[r++]=c,s=h}}var d=new Uint32Array(r);for(a=0;a<r;a++)d[a]=i[a];return d},e.prototype.tokenize2=function(e,t,o){var n,i=this._actual.tokenize(e,t),r=this._toBinaryTokens(i.tokens,o);return n=i.endState.equals(t)?t:i.endState,new d.c(r,n)},e}();function dr(e,t){var o,n=Fn.modeService.get().getLanguageIdentifier(e);if(!n)throw new Error("Cannot set tokens provider for unknown language "+e);return o=function(e){return e.tokenizeEncoded}(t)?new cr(t):new hr(Fn.standaloneThemeService.get(),n,t),re.y.register(e,o)}function gr(e,t){var o=function(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");var o={};o.languageId=e,o.noThrow=!1,o.maxStack=100,o.start=Gi(t.start),o.ignoreCase=ji(t.ignoreCase,!1),o.tokenPostfix=Gi(t.tokenPostfix,"."+o.languageId),o.defaultToken=Gi(t.defaultToken,"source",(function(){Ui(o,"the 'defaultToken' must be a string")})),o.usesEmbedded=!1;var n=t;function i(e,r,s){for(var a in s)if(s.hasOwnProperty(a)){var l=s[a],u=l.include;if(u)"string"!=typeof u&&Ui(o,"an 'include' attribute must be a string at: "+e),"@"===u[0]&&(u=u.substr(1)),t.tokenizer[u]||Ui(o,"include target '"+u+"' is not defined at: "+e),i(e+"."+u,r,t.tokenizer[u]);else{var c=new Yi(e);if(Array.isArray(l)&&l.length>=1&&l.length<=3)if(c.setRegex(n,l[0]),l.length>=3)if("string"==typeof l[1])c.setAction(n,{token:l[1],next:l[2]});else if("object"==typeof l[1]){var h=l[1];h.next=l[2],c.setAction(n,h)}else Ui(o,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);else c.setAction(n,l[1]);else l.regex||Ui(o,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e),l.name&&(c.name=Gi(l.name)),l.matchOnlyAtStart&&(c.matchOnlyAtLineStart=ji(l.matchOnlyAtLineStart)),c.setRegex(n,l.regex),c.setAction(n,l.action);r.push(c)}}}for(var r in n.languageId=e,n.ignoreCase=o.ignoreCase,n.noThrow=o.noThrow,n.usesEmbedded=o.usesEmbedded,n.stateNames=t.tokenizer,n.defaultToken=o.defaultToken,t.tokenizer&&"object"==typeof t.tokenizer||Ui(o,"a language definition must define the 'tokenizer' attribute as an object"),o.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){o.start||(o.start=r);var s=t.tokenizer[r];o.tokenizer[r]=new Array,i("tokenizer."+r,o.tokenizer[r],s)}o.usesEmbedded=n.usesEmbedded,t.brackets?Array.isArray(t.brackets)||Ui(o,"the 'brackets' attribute must be defined as an array"):t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];var a=[];for(var l in t.brackets)if(t.brackets.hasOwnProperty(l)){var u=t.brackets[l];u&&Array.isArray(u)&&3===u.length&&(u={token:u[2],open:u[0],close:u[1]}),u.open===u.close&&Ui(o,"open and close brackets in a 'brackets' attribute must be different: "+u.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required."),"string"==typeof u.open&&"string"==typeof u.token?a.push({token:Gi(u.token)+o.tokenPostfix,open:Fi(o,Gi(u.open)),close:Fi(o,Gi(u.close))}):Ui(o,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return o.brackets=a,o.noThrow=!0,o}(e,t),n=function(e,t,o,n){return new or(e,t,o,n)}(Fn.modeService.get(),Fn.standaloneThemeService.get(),e,o);return re.y.register(e,n)}function pr(e,t){return re.r.register(e,t)}function fr(e,t){return re.s.register(e,t)}function mr(e,t){return re.t.register(e,t)}function _r(e,t){return re.m.register(e,{provideHover:function(e,o,n){var i=e.getWordAtPosition(o);return Object(N.n)(t.provideHover(e,o,n)).then((function(e){if(e)return!e.range&&i&&(e.range=new l.a(o.lineNumber,i.startColumn,o.lineNumber,i.endColumn)),e.range||(e.range=new l.a(o.lineNumber,o.column,o.lineNumber,o.column)),e}))}})}function yr(e,t){return re.j.register(e,t)}function vr(e,t){return re.h.register(e,t)}function br(e,t){return re.e.register(e,t)}function Er(e,t){return re.n.register(e,t)}function Cr(e,t){return re.z.register(e,t)}function Sr(e,t){return re.c.register(e,t)}function Tr(e,t){return re.a.register(e,{provideCodeActions:function(e,o,n,i){var r=Fn.markerService.get().read({resource:e.uri}).filter((function(e){return l.a.areIntersectingOrTouching(e,o)}));return t.provideCodeActions(e,o,{markers:r,only:n.only},i)}})}function wr(e,t){return re.f.register(e,t)}function kr(e,t){return re.i.register(e,t)}function Or(e,t){return re.q.register(e,t)}function Rr(e,t){return re.p.register(e,t)}function Lr(e,t){var o=new Ar(t);return re.u.register(e,{triggerCharacters:t.triggerCharacters,provideCompletionItems:function(e,t,n,i){return o.provideCompletionItems(e,t,n,i)},resolveCompletionItem:function(e,t,n,i){return o.resolveCompletionItem(e,t,n,i)}})}function Nr(e,t){return re.d.register(e,t)}function Ir(e,t){return re.l.register(e,t)}function Dr(e){switch(e){case ur.Method:return"method";case ur.Function:return"function";case ur.Constructor:return"constructor";case ur.Field:return"field";case ur.Variable:return"variable";case ur.Class:return"class";case ur.Interface:return"interface";case ur.Module:return"module";case ur.Property:return"property";case ur.Unit:return"unit";case ur.Value:return"value";case ur.Enum:return"enum";case ur.Keyword:return"keyword";case ur.Snippet:return"snippet";case ur.Text:return"text";case ur.Color:return"color";case ur.File:return"file";case ur.Reference:return"reference";case ur.Folder:return"folder"}return"property"}!function(e){e[e.Text=0]="Text",e[e.Method=1]="Method",e[e.Function=2]="Function",e[e.Constructor=3]="Constructor",e[e.Field=4]="Field",e[e.Variable=5]="Variable",e[e.Class=6]="Class",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Unit=10]="Unit",e[e.Value=11]="Value",e[e.Enum=12]="Enum",e[e.Keyword=13]="Keyword",e[e.Snippet=14]="Snippet",e[e.Color=15]="Color",e[e.File=16]="File",e[e.Reference=17]="Reference",e[e.Folder=18]="Folder"}(ur||(ur={}));var Ar=function(){function e(e){this._provider=e}return e.from=function(e,t,o){var n={_actual:e,label:e.label,insertText:e.label,type:Dr(e.kind),detail:e.detail,documentation:e.documentation,command:e.command,sortText:e.sortText,filterText:e.filterText,snippetType:"internal",additionalTextEdits:e.additionalTextEdits,commitCharacters:e.commitCharacters},i=e.textEdit?e.textEdit.range:e.range;if(i){if(!(i.startLineNumber===i.endLineNumber)||i.startLineNumber!==t.lineNumber)return console.warn("INVALID range, must be single line and on the same line"),null;n.overwriteBefore=t.column-i.startColumn,n.overwriteAfter=i.endColumn-t.column}else n.overwriteBefore=t.column-o.column,n.overwriteAfter=0;return e.textEdit?n.insertText=e.textEdit.text:"object"==typeof e.insertText&&"string"==typeof e.insertText.value?(n.insertText=e.insertText.value,n.snippetType="textmate"):"string"==typeof e.insertText&&(n.insertText=e.insertText),n},e.prototype.provideCompletionItems=function(t,o,n,i){var r=this._provider.provideCompletionItems(t,o,i,n);return Object(N.n)(r).then((function(n){var i,r={suggestions:[]},s=o,l=t.getWordUntilPosition(o);if(l&&(s=new a.a(s.lineNumber,l.startColumn)),Array.isArray(n))i={items:n,isIncomplete:!1};else if("object"==typeof n&&Array.isArray(n.items))i=n,r.incomplete=i.isIncomplete;else{if(!n)return;console.warn("INVALID result from completion provider. expected CompletionItem-array or CompletionList but got:",n)}for(var u=0;u<i.items.length;u++){var c=i.items[u],h=e.from(c,o,s);h&&r.suggestions.push(h)}return r}))},e.prototype.resolveCompletionItem=function(t,o,n,i){if("function"!=typeof this._provider.resolveCompletionItem)return c.b.as(n);var r=n._actual;return r?Object(N.n)(this._provider.resolveCompletionItem(r,i)).then((function(n){var i=o,r=t.getWordUntilPosition(o);return r&&(i=new a.a(i.lineNumber,r.startColumn)),e.from(n,o,i)})):c.b.as(n)},e}();var Pr=function(){function e(e){c.a.is(e)?this._winjsPromise=e:this._winjsPromise=new c.a((function(t,o){var n=!0;e((function(e){n?oe.h((function(){return t(e)})):t(e)}),(function(e){n?oe.h((function(){return o(e)})):o(e)})),n=!1}))}return e.all=function(t){return new e(c.a.join(t).then(null,(function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t]})))},e.race=function(t){return new e(c.a.any(t).then((function(e){return e.value}),(function(e){return e.value})))},e.resolve=function(t){return new e(c.a.wrap(t))},e.reject=function(t){return new e(c.a.wrapError(t))},e.prototype.then=function(t,o){var n=!0,i=new e(this._winjsPromise.then(t&&function(e){n?oe.h((function(){return t(e)})):t(e)},o&&function(e){n?oe.h((function(){return o(e)})):o(e)}));return n=!1,i},e.prototype.catch=function(e){return this.then(null,e)},e}();o.d(t,"CancellationTokenSource",(function(){return Br})),o.d(t,"Emitter",(function(){return Fr})),o.d(t,"KeyCode",(function(){return Hr})),o.d(t,"KeyMod",(function(){return Ur})),o.d(t,"Position",(function(){return Vr})),o.d(t,"Range",(function(){return Wr})),o.d(t,"Selection",(function(){return jr})),o.d(t,"SelectionDirection",(function(){return Gr})),o.d(t,"MarkerSeverity",(function(){return zr})),o.d(t,"MarkerTag",(function(){return Kr})),o.d(t,"Promise",(function(){return Yr})),o.d(t,"Uri",(function(){return Xr})),o.d(t,"Token",(function(){return qr})),o.d(t,"editor",(function(){return $r})),o.d(t,"languages",(function(){return Jr}));var xr=self;void 0===xr.Promise&&(xr.Promise=Pr),Ao.a.wrappingIndent=Ao.j.None,Ao.a.viewInfo.glyphMargin=!1,Ao.a.autoIndent=!1;var Mr=m();Mr.editor={create:di,onDidCreateEditor:gi,createDiffEditor:pi,createDiffNavigator:fi,createModel:_i,setModelLanguage:yi,setModelMarkers:vi,getModelMarkers:bi,getModels:Ci,getModel:Ei,onDidCreateModel:Si,onWillDisposeModel:Ti,onDidChangeModelLanguage:wi,createWebWorker:ki,colorizeElement:Oi,colorize:Ri,colorizeModelLine:Li,tokenize:Ni,defineTheme:Ii,setTheme:Di,ScrollbarVisibility:He.b,WrappingIndent:Ao.j,OverviewRulerLane:xo.f,EndOfLinePreference:xo.c,DefaultEndOfLine:xo.b,EndOfLineSequence:xo.d,TrackedRangeStickiness:xo.h,CursorChangeReason:ci.a,MouseTargetType:v.b,TextEditorCursorStyle:Ao.i,TextEditorCursorBlinkingStyle:Ao.h,ContentWidgetPositionPreference:v.a,OverlayWidgetPositionPreference:v.c,RenderMinimap:Ao.g,ScrollType:ii,RenderLineNumbersType:ri,InternalEditorOptions:Ao.e,BareFontInfo:ui.a,FontInfo:ui.b,TextModelResolvedOptions:xo.g,FindMatch:xo.e,EditorType:y.a},Mr.languages={register:ir,getLanguages:rr,onLanguage:ar,getEncodedLanguageId:sr,setLanguageConfiguration:lr,setTokensProvider:dr,setMonarchTokensProvider:gr,registerReferenceProvider:pr,registerRenameProvider:fr,registerCompletionItemProvider:Lr,registerSignatureHelpProvider:mr,registerHoverProvider:_r,registerDocumentSymbolProvider:yr,registerDocumentHighlightProvider:vr,registerDefinitionProvider:br,registerImplementationProvider:Er,registerTypeDefinitionProvider:Cr,registerCodeLensProvider:Sr,registerCodeActionProvider:Tr,registerDocumentFormattingEditProvider:wr,registerDocumentRangeFormattingEditProvider:kr,registerOnTypeFormattingEditProvider:Or,registerLinkProvider:Rr,registerColorProvider:Nr,registerFoldingRangeProvider:Ir,DocumentHighlightKind:re.g,CompletionItemKind:ur,SymbolKind:re.w,IndentAction:Ai.a,SuggestTriggerKind:re.v,FoldingRangeKind:re.k};var Br=Mr.CancellationTokenSource,Fr=Mr.Emitter,Hr=Mr.KeyCode,Ur=Mr.KeyMod,Vr=Mr.Position,Wr=Mr.Range,jr=Mr.Selection,Gr=Mr.SelectionDirection,zr=Mr.MarkerSeverity,Kr=Mr.MarkerTag,Yr=Mr.Promise,Xr=Mr.Uri,qr=Mr.Token,$r=Mr.editor,Jr=Mr.languages;xr.monaco=Mr,void 0!==xr.require&&"function"==typeof xr.require.config&&xr.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index"]})},function(e,t,o){"use strict";o(137);var n="undefined"==typeof monaco?self.monaco:monaco,i={};var r={};function s(e){return r[e]||(r[e]=function(e){return(0,i[e].loader)().then((function(t){n.languages.setMonarchTokensProvider(e,t.language),n.languages.setLanguageConfiguration(e,t.conf)}))}(e)),r[e]}function a(e){var t=e.id;i[t]=e,n.languages.register(e),n.languages.onLanguage(t,(function(){s(t)}))}var l="undefined"==typeof monaco?self.monaco:monaco;a({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:function(){return l.Promise.wrap(o.e(5).then(o.bind(null,558)))}});var u="undefined"==typeof monaco?self.monaco:monaco;a({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:function(){return u.Promise.wrap(o.e(7).then(o.bind(null,559)))}});var c="undefined"==typeof monaco?self.monaco:monaco;a({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:function(){return c.Promise.wrap(o.e(0).then(o.bind(null,560)))}}),a({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:function(){return c.Promise.wrap(o.e(0).then(o.bind(null,560)))}});var h="undefined"==typeof monaco?self.monaco:monaco;a({id:"csharp",extensions:[".cs",".csx"],aliases:["C#","csharp"],loader:function(){return h.Promise.wrap(o.e(8).then(o.bind(null,561)))}});var d="undefined"==typeof monaco?self.monaco:monaco;a({id:"csp",extensions:[],aliases:["CSP","csp"],loader:function(){return d.Promise.wrap(o.e(9).then(o.bind(null,562)))}});var g="undefined"==typeof monaco?self.monaco:monaco;a({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:function(){return g.Promise.wrap(o.e(10).then(o.bind(null,563)))}});var p="undefined"==typeof monaco?self.monaco:monaco;a({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:function(){return p.Promise.wrap(o.e(11).then(o.bind(null,564)))}});var f="undefined"==typeof monaco?self.monaco:monaco;a({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:function(){return f.Promise.wrap(o.e(12).then(o.bind(null,565)))}});var m="undefined"==typeof monaco?self.monaco:monaco;a({id:"go",extensions:[".go"],aliases:["Go"],loader:function(){return m.Promise.wrap(o.e(13).then(o.bind(null,566)))}});var _="undefined"==typeof monaco?self.monaco:monaco;a({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars"],mimetypes:["text/x-handlebars-template"],loader:function(){return _.Promise.wrap(o.e(14).then(o.bind(null,567)))}});var y="undefined"==typeof monaco?self.monaco:monaco;a({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:function(){return y.Promise.wrap(o.e(15).then(o.bind(null,568)))}});var v="undefined"==typeof monaco?self.monaco:monaco;a({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:function(){return v.Promise.wrap(o.e(16).then(o.bind(null,569)))}});var b="undefined"==typeof monaco?self.monaco:monaco;a({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:function(){return b.Promise.wrap(o.e(17).then(o.bind(null,570)))}});var E="undefined"==typeof monaco?self.monaco:monaco;a({id:"javascript",extensions:[".js",".es6",".jsx"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:function(){return E.Promise.wrap(o.e(2).then(o.bind(null,571)))}});var C="undefined"==typeof monaco?self.monaco:monaco;a({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:function(){return C.Promise.wrap(o.e(18).then(o.bind(null,572)))}});var S="undefined"==typeof monaco?self.monaco:monaco;a({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:function(){return S.Promise.wrap(o.e(19).then(o.bind(null,573)))}});var T="undefined"==typeof monaco?self.monaco:monaco;a({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:function(){return T.Promise.wrap(o.e(20).then(o.bind(null,574)))}});var w="undefined"==typeof monaco?self.monaco:monaco;a({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:function(){return w.Promise.wrap(o.e(21).then(o.bind(null,575)))}});var k="undefined"==typeof monaco?self.monaco:monaco;a({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:function(){return k.Promise.wrap(o.e(22).then(o.bind(null,576)))}});var O="undefined"==typeof monaco?self.monaco:monaco;a({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:function(){return O.Promise.wrap(o.e(23).then(o.bind(null,577)))}});var R="undefined"==typeof monaco?self.monaco:monaco;a({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:function(){return R.Promise.wrap(o.e(25).then(o.bind(null,578)))}});var L="undefined"==typeof monaco?self.monaco:monaco;a({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:function(){return L.Promise.wrap(o.e(26).then(o.bind(null,579)))}});var N="undefined"==typeof monaco?self.monaco:monaco;a({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:function(){return N.Promise.wrap(o.e(27).then(o.bind(null,580)))}});var I="undefined"==typeof monaco?self.monaco:monaco;a({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:function(){return I.Promise.wrap(o.e(28).then(o.bind(null,581)))}});var D="undefined"==typeof monaco?self.monaco:monaco;a({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:function(){return D.Promise.wrap(o.e(29).then(o.bind(null,582)))}});var A="undefined"==typeof monaco?self.monaco:monaco;a({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:function(){return A.Promise.wrap(o.e(30).then(o.bind(null,583)))}});var P="undefined"==typeof monaco?self.monaco:monaco;a({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:function(){return P.Promise.wrap(o.e(31).then(o.bind(null,584)))}});var x="undefined"==typeof monaco?self.monaco:monaco;a({id:"r",extensions:[".r",".rhistory",".rprofile",".rt"],aliases:["R","r"],loader:function(){return x.Promise.wrap(o.e(32).then(o.bind(null,585)))}});var M="undefined"==typeof monaco?self.monaco:monaco;a({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:function(){return M.Promise.wrap(o.e(33).then(o.bind(null,586)))}});var B="undefined"==typeof monaco?self.monaco:monaco;a({id:"redis",extensions:[".redis"],aliases:["redis"],loader:function(){return B.Promise.wrap(o.e(34).then(o.bind(null,587)))}});var F="undefined"==typeof monaco?self.monaco:monaco;a({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:function(){return F.Promise.wrap(o.e(35).then(o.bind(null,588)))}});var H="undefined"==typeof monaco?self.monaco:monaco;a({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile"],aliases:["Ruby","rb"],loader:function(){return H.Promise.wrap(o.e(36).then(o.bind(null,589)))}});var U="undefined"==typeof monaco?self.monaco:monaco;a({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:function(){return U.Promise.wrap(o.e(37).then(o.bind(null,590)))}});var V="undefined"==typeof monaco?self.monaco:monaco;a({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:function(){return V.Promise.wrap(o.e(38).then(o.bind(null,591)))}});var W="undefined"==typeof monaco?self.monaco:monaco;a({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:function(){return W.Promise.wrap(o.e(40).then(o.bind(null,592)))}});var j="undefined"==typeof monaco?self.monaco:monaco;a({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:function(){return j.Promise.wrap(o.e(42).then(o.bind(null,593)))}});var G="undefined"==typeof monaco?self.monaco:monaco;a({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return G.Promise.wrap(o.e(43).then(o.bind(null,594)))}});var z="undefined"==typeof monaco?self.monaco:monaco;a({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:function(){return z.Promise.wrap(o.e(44).then(o.bind(null,595)))}});var K="undefined"==typeof monaco?self.monaco:monaco;a({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:function(){return K.Promise.wrap(o.e(45).then(o.bind(null,596)))}});var Y="undefined"==typeof monaco?self.monaco:monaco;a({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:function(){return Y.Promise.wrap(o.e(46).then(o.bind(null,557)))}});var X="undefined"==typeof monaco?self.monaco:monaco;a({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:function(){return X.Promise.wrap(o.e(47).then(o.bind(null,597)))}});var q="undefined"==typeof monaco?self.monaco:monaco;a({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:function(){return q.Promise.wrap(o.e(48).then(o.bind(null,598)))}});var $="undefined"==typeof monaco?self.monaco:monaco;a({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml"],loader:function(){return $.Promise.wrap(o.e(49).then(o.bind(null,599)))}});var J="undefined"==typeof monaco?self.monaco:monaco;a({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:function(){return J.Promise.wrap(o.e(39).then(o.bind(null,600)))}});var Z="undefined"==typeof monaco?self.monaco:monaco;a({id:"clojure",extensions:[".clj",".clojure"],aliases:["clojure","Clojure"],loader:function(){return Z.Promise.wrap(o.e(6).then(o.bind(null,601)))}});var Q="undefined"==typeof monaco?self.monaco:monaco;a({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:function(){return Q.Promise.wrap(o.e(41).then(o.bind(null,602)))}});var ee="undefined"==typeof monaco?self.monaco:monaco;a({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:function(){return ee.Promise.wrap(o.e(24).then(o.bind(null,603)))}});var te="undefined"==typeof monaco?self.monaco:monaco;a({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:function(){return te.Promise.wrap(o.e(4).then(o.bind(null,604)))}});var oe="undefined"==typeof monaco?self.monaco:monaco;a({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:function(){return oe.Promise.wrap(o.e(3).then(o.bind(null,605)))}})}]);
\ No newline at end of file
+!function(e){"use strict";function t(){for(var e=arguments.length,t=Array(e),o=0;o<e;o++)t[o]=arguments[o];if(t.length>1){t[0]=t[0].slice(0,-1);for(var n=t.length-1,i=1;i<n;++i)t[i]=t[i].slice(1,-1);return t[n]=t[n].slice(1),t.join("")}return t[0]}function o(e){return"(?:"+e+")"}function n(e){return void 0===e?"undefined":null===e?"null":Object.prototype.toString.call(e).split(" ").pop().split("]").shift().toLowerCase()}function i(e){return e.toUpperCase()}function r(e){var n=t("[0-9]","[A-Fa-f]"),i=o(o("%[EFef]"+n+"%"+n+n+"%"+n+n)+"|"+o("%[89A-Fa-f]"+n+"%"+n+n)+"|"+o("%"+n+n)),r="[\\!\\$\\&\\'\\(\\)\\*\\+\\,\\;\\=]",s=t("[\\:\\/\\?\\#\\[\\]\\@]",r),a=e?"[\\uE000-\\uF8FF]":"[]",l=t("[A-Za-z]","[0-9]","[\\-\\.\\_\\~]",e?"[\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]":"[]"),u=o("[A-Za-z]"+t("[A-Za-z]","[0-9]","[\\+\\-\\.]")+"*"),c=o(o(i+"|"+t(l,r,"[\\:]"))+"*"),h=(o(o("25[0-5]")+"|"+o("2[0-4][0-9]")+"|"+o("1[0-9][0-9]")+"|"+o("[1-9][0-9]")+"|[0-9]"),o(o("25[0-5]")+"|"+o("2[0-4][0-9]")+"|"+o("1[0-9][0-9]")+"|"+o("0?[1-9][0-9]")+"|0?0?[0-9]")),d=o(h+"\\."+h+"\\."+h+"\\."+h),g=o(n+"{1,4}"),p=o(o(g+"\\:"+g)+"|"+d),f=o(o(g+"\\:")+"{6}"+p),m=o("\\:\\:"+o(g+"\\:")+"{5}"+p),_=o(o(g)+"?\\:\\:"+o(g+"\\:")+"{4}"+p),y=o(o(o(g+"\\:")+"{0,1}"+g)+"?\\:\\:"+o(g+"\\:")+"{3}"+p),v=o(o(o(g+"\\:")+"{0,2}"+g)+"?\\:\\:"+o(g+"\\:")+"{2}"+p),b=o(o(o(g+"\\:")+"{0,3}"+g)+"?\\:\\:"+g+"\\:"+p),E=o(o(o(g+"\\:")+"{0,4}"+g)+"?\\:\\:"+p),C=o(o(o(g+"\\:")+"{0,5}"+g)+"?\\:\\:"+g),S=o(o(o(g+"\\:")+"{0,6}"+g)+"?\\:\\:"),T=o([f,m,_,y,v,b,E,C,S].join("|")),w=o(o(l+"|"+i)+"+"),k=(o(T+"\\%25"+w),o(T+o("\\%25|\\%(?!"+n+"{2})")+w)),O=o("[vV]"+n+"+\\."+t(l,r,"[\\:]")+"+"),R=o("\\["+o(k+"|"+T+"|"+O)+"\\]"),N=o(o(i+"|"+t(l,r))+"*"),L=o(R+"|"+d+"(?!"+N+")|"+N),I=o("[0-9]*"),D=o(o(c+"@")+"?"+L+o("\\:"+I)+"?"),A=o(i+"|"+t(l,r,"[\\:\\@]")),P=o(A+"*"),M=o(A+"+"),x=o(o(i+"|"+t(l,r,"[\\@]"))+"+"),B=o(o("\\/"+P)+"*"),F=o("\\/"+o(M+B)+"?"),H=o(x+B),U=o(M+B),V="(?!"+A+")",W=(o(B+"|"+F+"|"+H+"|"+U+"|"+V),o(o(A+"|"+t("[\\/\\?]",a))+"*")),j=o(o(A+"|[\\/\\?]")+"*"),G=o(o("\\/\\/"+D+B)+"|"+F+"|"+U+"|"+V),z=o(u+"\\:"+G+o("\\?"+W)+"?"+o("\\#"+j)+"?"),K=o(o("\\/\\/"+D+B)+"|"+F+"|"+H+"|"+V),Y=o(K+o("\\?"+W)+"?"+o("\\#"+j)+"?");return o(z+"|"+Y),o(u+"\\:"+G+o("\\?"+W)+"?"),o(o("\\/\\/("+o("("+c+")@")+"?("+L+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+U+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o(o("\\/\\/("+o("("+c+")@")+"?("+L+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+H+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o(o("\\/\\/("+o("("+c+")@")+"?("+L+")"+o("\\:("+I+")")+"?)")+"?("+B+"|"+F+"|"+U+"|"+V+")"),o("\\?("+W+")"),o("\\#("+j+")"),o("("+c+")@"),o("\\:("+I+")"),{NOT_SCHEME:new RegExp(t("[^]","[A-Za-z]","[0-9]","[\\+\\-\\.]"),"g"),NOT_USERINFO:new RegExp(t("[^\\%\\:]",l,r),"g"),NOT_HOST:new RegExp(t("[^\\%\\[\\]\\:]",l,r),"g"),NOT_PATH:new RegExp(t("[^\\%\\/\\:\\@]",l,r),"g"),NOT_PATH_NOSCHEME:new RegExp(t("[^\\%\\/\\@]",l,r),"g"),NOT_QUERY:new RegExp(t("[^\\%]",l,r,"[\\:\\@\\/\\?]",a),"g"),NOT_FRAGMENT:new RegExp(t("[^\\%]",l,r,"[\\:\\@\\/\\?]"),"g"),ESCAPE:new RegExp(t("[^]",l,r),"g"),UNRESERVED:new RegExp(l,"g"),OTHER_CHARS:new RegExp(t("[^\\%]",l,s),"g"),PCT_ENCODED:new RegExp(i,"g"),IPV4ADDRESS:new RegExp("^("+d+")$"),IPV6ADDRESS:new RegExp("^\\[?("+T+")"+o(o("\\%25|\\%(?!"+n+"{2})")+"("+w+")")+"?\\]?$")}}var s=r(!1),a=r(!0),l=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var o=[],n=!0,i=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(o.push(s.value),!t||o.length!==t);n=!0);}catch(e){i=!0,r=e}finally{try{!n&&a.return&&a.return()}finally{if(i)throw r}}return o}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},u=2147483647,c=/^xn--/,h=/[^\0-\x7E]/,d=/[\x2E\u3002\uFF0E\uFF61]/g,g={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=Math.floor,f=String.fromCharCode;function m(e){throw new RangeError(g[e])}function _(e,t){var o=e.split("@"),n="";o.length>1&&(n=o[0]+"@",e=o[1]);var i=function(e,t){for(var o=[],n=e.length;n--;)o[n]=t(e[n]);return o}((e=e.replace(d,".")).split("."),t).join(".");return n+i}function y(e){for(var t=[],o=0,n=e.length;o<n;){var i=e.charCodeAt(o++);if(i>=55296&&i<=56319&&o<n){var r=e.charCodeAt(o++);56320==(64512&r)?t.push(((1023&i)<<10)+(1023&r)+65536):(t.push(i),o--)}else t.push(i)}return t}var v=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},b=function(e,t,o){var n=0;for(e=o?p(e/700):e>>1,e+=p(e/t);e>455;n+=36)e=p(e/35);return p(n+36*e/(e+38))},E=function(e){var t,o=[],n=e.length,i=0,r=128,s=72,a=e.lastIndexOf("-");a<0&&(a=0);for(var l=0;l<a;++l)e.charCodeAt(l)>=128&&m("not-basic"),o.push(e.charCodeAt(l));for(var c=a>0?a+1:0;c<n;){for(var h=i,d=1,g=36;;g+=36){c>=n&&m("invalid-input");var f=(t=e.charCodeAt(c++))-48<10?t-22:t-65<26?t-65:t-97<26?t-97:36;(f>=36||f>p((u-i)/d))&&m("overflow"),i+=f*d;var _=g<=s?1:g>=s+26?26:g-s;if(f<_)break;var y=36-_;d>p(u/y)&&m("overflow"),d*=y}var v=o.length+1;s=b(i-h,v,0==h),p(i/v)>u-r&&m("overflow"),r+=p(i/v),i%=v,o.splice(i++,0,r)}return String.fromCodePoint.apply(String,o)},C=function(e){var t=[],o=(e=y(e)).length,n=128,i=0,r=72,s=!0,a=!1,l=void 0;try{for(var c,h=e[Symbol.iterator]();!(s=(c=h.next()).done);s=!0){var d=c.value;d<128&&t.push(f(d))}}catch(e){a=!0,l=e}finally{try{!s&&h.return&&h.return()}finally{if(a)throw l}}var g=t.length,_=g;for(g&&t.push("-");_<o;){var E=u,C=!0,S=!1,T=void 0;try{for(var w,k=e[Symbol.iterator]();!(C=(w=k.next()).done);C=!0){var O=w.value;O>=n&&O<E&&(E=O)}}catch(e){S=!0,T=e}finally{try{!C&&k.return&&k.return()}finally{if(S)throw T}}var R=_+1;E-n>p((u-i)/R)&&m("overflow"),i+=(E-n)*R,n=E;var N=!0,L=!1,I=void 0;try{for(var D,A=e[Symbol.iterator]();!(N=(D=A.next()).done);N=!0){var P=D.value;if(P<n&&++i>u&&m("overflow"),P==n){for(var M=i,x=36;;x+=36){var B=x<=r?1:x>=r+26?26:x-r;if(M<B)break;var F=M-B,H=36-B;t.push(f(v(B+F%H,0))),M=p(F/H)}t.push(f(v(M,0))),r=b(i,R,_==g),i=0,++_}}}catch(e){L=!0,I=e}finally{try{!N&&A.return&&A.return()}finally{if(L)throw I}}++i,++n}return t.join("")},S={version:"2.1.0",ucs2:{decode:y,encode:function(e){return String.fromCodePoint.apply(String,function(e){if(Array.isArray(e)){for(var t=0,o=Array(e.length);t<e.length;t++)o[t]=e[t];return o}return Array.from(e)}(e))}},decode:E,encode:C,toASCII:function(e){return _(e,(function(e){return h.test(e)?"xn--"+C(e):e}))},toUnicode:function(e){return _(e,(function(e){return c.test(e)?E(e.slice(4).toLowerCase()):e}))}},T={};function w(e){var t=e.charCodeAt(0);return t<16?"%0"+t.toString(16).toUpperCase():t<128?"%"+t.toString(16).toUpperCase():t<2048?"%"+(t>>6|192).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase():"%"+(t>>12|224).toString(16).toUpperCase()+"%"+(t>>6&63|128).toString(16).toUpperCase()+"%"+(63&t|128).toString(16).toUpperCase()}function k(e){for(var t="",o=0,n=e.length;o<n;){var i=parseInt(e.substr(o+1,2),16);if(i<128)t+=String.fromCharCode(i),o+=3;else if(i>=194&&i<224){if(n-o>=6){var r=parseInt(e.substr(o+4,2),16);t+=String.fromCharCode((31&i)<<6|63&r)}else t+=e.substr(o,6);o+=6}else if(i>=224){if(n-o>=9){var s=parseInt(e.substr(o+4,2),16),a=parseInt(e.substr(o+7,2),16);t+=String.fromCharCode((15&i)<<12|(63&s)<<6|63&a)}else t+=e.substr(o,9);o+=9}else t+=e.substr(o,3),o+=3}return t}function O(e,t){function o(e){var o=k(e);return o.match(t.UNRESERVED)?o:e}return e.scheme&&(e.scheme=String(e.scheme).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_SCHEME,"")),void 0!==e.userinfo&&(e.userinfo=String(e.userinfo).replace(t.PCT_ENCODED,o).replace(t.NOT_USERINFO,w).replace(t.PCT_ENCODED,i)),void 0!==e.host&&(e.host=String(e.host).replace(t.PCT_ENCODED,o).toLowerCase().replace(t.NOT_HOST,w).replace(t.PCT_ENCODED,i)),void 0!==e.path&&(e.path=String(e.path).replace(t.PCT_ENCODED,o).replace(e.scheme?t.NOT_PATH:t.NOT_PATH_NOSCHEME,w).replace(t.PCT_ENCODED,i)),void 0!==e.query&&(e.query=String(e.query).replace(t.PCT_ENCODED,o).replace(t.NOT_QUERY,w).replace(t.PCT_ENCODED,i)),void 0!==e.fragment&&(e.fragment=String(e.fragment).replace(t.PCT_ENCODED,o).replace(t.NOT_FRAGMENT,w).replace(t.PCT_ENCODED,i)),e}function R(e){return e.replace(/^0*(.*)/,"$1")||"0"}function N(e,t){var o=e.match(t.IPV4ADDRESS)||[],n=l(o,2)[1];return n?n.split(".").map(R).join("."):e}function L(e,t){var o=e.match(t.IPV6ADDRESS)||[],n=l(o,3),i=n[1],r=n[2];if(i){for(var s=i.toLowerCase().split("::").reverse(),a=l(s,2),u=a[0],c=a[1],h=c?c.split(":").map(R):[],d=u.split(":").map(R),g=t.IPV4ADDRESS.test(d[d.length-1]),p=g?7:8,f=d.length-p,m=Array(p),_=0;_<p;++_)m[_]=h[_]||d[f+_]||"";g&&(m[p-1]=N(m[p-1],t));var y=m.reduce((function(e,t,o){if(!t||"0"===t){var n=e[e.length-1];n&&n.index+n.length===o?n.length++:e.push({index:o,length:1})}return e}),[]).sort((function(e,t){return t.length-e.length}))[0],v=void 0;if(y&&y.length>1){var b=m.slice(0,y.index),E=m.slice(y.index+y.length);v=b.join(":")+"::"+E.join(":")}else v=m.join(":");return r&&(v+="%"+r),v}return e}var I=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,D=void 0==="".match(/(){0}/)[1];function A(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o={},n=!1!==t.iri?a:s;"suffix"===t.reference&&(e=(t.scheme?t.scheme+":":"")+"//"+e);var i=e.match(I);if(i){D?(o.scheme=i[1],o.userinfo=i[3],o.host=i[4],o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=i[7],o.fragment=i[8],isNaN(o.port)&&(o.port=i[5])):(o.scheme=i[1]||void 0,o.userinfo=-1!==e.indexOf("@")?i[3]:void 0,o.host=-1!==e.indexOf("//")?i[4]:void 0,o.port=parseInt(i[5],10),o.path=i[6]||"",o.query=-1!==e.indexOf("?")?i[7]:void 0,o.fragment=-1!==e.indexOf("#")?i[8]:void 0,isNaN(o.port)&&(o.port=e.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?i[4]:void 0)),o.host&&(o.host=L(N(o.host,n),n)),void 0!==o.scheme||void 0!==o.userinfo||void 0!==o.host||void 0!==o.port||o.path||void 0!==o.query?void 0===o.scheme?o.reference="relative":void 0===o.fragment?o.reference="absolute":o.reference="uri":o.reference="same-document",t.reference&&"suffix"!==t.reference&&t.reference!==o.reference&&(o.error=o.error||"URI is not a "+t.reference+" reference.");var r=T[(t.scheme||o.scheme||"").toLowerCase()];if(t.unicodeSupport||r&&r.unicodeSupport)O(o,n);else{if(o.host&&(t.domainHost||r&&r.domainHost))try{o.host=S.toASCII(o.host.replace(n.PCT_ENCODED,k).toLowerCase())}catch(e){o.error=o.error||"Host's domain name can not be converted to ASCII via punycode: "+e}O(o,s)}r&&r.parse&&r.parse(o,t)}else o.error=o.error||"URI can not be parsed.";return o}var P=/^\.\.?\//,M=/^\/\.(\/|$)/,x=/^\/\.\.(\/|$)/,B=/^\/?(?:.|\n)*?(?=\/|$)/;function F(e){for(var t=[];e.length;)if(e.match(P))e=e.replace(P,"");else if(e.match(M))e=e.replace(M,"/");else if(e.match(x))e=e.replace(x,"/"),t.pop();else if("."===e||".."===e)e="";else{var o=e.match(B);if(!o)throw new Error("Unexpected dot segment condition");var n=o[0];e=e.slice(n.length),t.push(n)}return t.join("")}function H(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t.iri?a:s,n=[],i=T[(t.scheme||e.scheme||"").toLowerCase()];if(i&&i.serialize&&i.serialize(e,t),e.host)if(o.IPV6ADDRESS.test(e.host));else if(t.domainHost||i&&i.domainHost)try{e.host=t.iri?S.toUnicode(e.host):S.toASCII(e.host.replace(o.PCT_ENCODED,k).toLowerCase())}catch(o){e.error=e.error||"Host's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+o}O(e,o),"suffix"!==t.reference&&e.scheme&&(n.push(e.scheme),n.push(":"));var r=function(e,t){var o=!1!==t.iri?a:s,n=[];return void 0!==e.userinfo&&(n.push(e.userinfo),n.push("@")),void 0!==e.host&&n.push(L(N(String(e.host),o),o).replace(o.IPV6ADDRESS,(function(e,t,o){return"["+t+(o?"%25"+o:"")+"]"}))),"number"==typeof e.port&&(n.push(":"),n.push(e.port.toString(10))),n.length?n.join(""):void 0}(e,t);if(void 0!==r&&("suffix"!==t.reference&&n.push("//"),n.push(r),e.path&&"/"!==e.path.charAt(0)&&n.push("/")),void 0!==e.path){var l=e.path;t.absolutePath||i&&i.absolutePath||(l=F(l)),void 0===r&&(l=l.replace(/^\/\//,"/%2F")),n.push(l)}return void 0!==e.query&&(n.push("?"),n.push(e.query)),void 0!==e.fragment&&(n.push("#"),n.push(e.fragment)),n.join("")}function U(e,t){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n={};return arguments[3]||(e=A(H(e,o),o),t=A(H(t,o),o)),!(o=o||{}).tolerant&&t.scheme?(n.scheme=t.scheme,n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(void 0!==t.userinfo||void 0!==t.host||void 0!==t.port?(n.userinfo=t.userinfo,n.host=t.host,n.port=t.port,n.path=F(t.path||""),n.query=t.query):(t.path?("/"===t.path.charAt(0)?n.path=F(t.path):(void 0===e.userinfo&&void 0===e.host&&void 0===e.port||e.path?e.path?n.path=e.path.slice(0,e.path.lastIndexOf("/")+1)+t.path:n.path=t.path:n.path="/"+t.path,n.path=F(n.path)),n.query=t.query):(n.path=e.path,void 0!==t.query?n.query=t.query:n.query=e.query),n.userinfo=e.userinfo,n.host=e.host,n.port=e.port),n.scheme=e.scheme),n.fragment=t.fragment,n}function V(e,t){return e&&e.toString().replace(t&&t.iri?a.PCT_ENCODED:s.PCT_ENCODED,k)}var W={scheme:"http",domainHost:!0,parse:function(e,t){return e.host||(e.error=e.error||"HTTP URIs must have a host."),e},serialize:function(e,t){return e.port!==("https"!==String(e.scheme).toLowerCase()?80:443)&&""!==e.port||(e.port=void 0),e.path||(e.path="/"),e}},j={scheme:"https",domainHost:W.domainHost,parse:W.parse,serialize:W.serialize},G={},z="[A-Za-z0-9\\-\\.\\_\\~\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]",K="[0-9A-Fa-f]",Y=o(o("%[EFef][0-9A-Fa-f]%"+K+K+"%"+K+K)+"|"+o("%[89A-Fa-f][0-9A-Fa-f]%"+K+K)+"|"+o("%"+K+K)),X=t("[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",'[\\"\\\\]'),q=new RegExp(z,"g"),$=new RegExp(Y,"g"),J=new RegExp(t("[^]","[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]","[\\.]",'[\\"]',X),"g"),Z=new RegExp(t("[^]",z,"[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]"),"g"),Q=Z;function ee(e){var t=k(e);return t.match(q)?t:e}var te={scheme:"mailto",parse:function(e,t){var o=e,n=o.to=o.path?o.path.split(","):[];if(o.path=void 0,o.query){for(var i=!1,r={},s=o.query.split("&"),a=0,l=s.length;a<l;++a){var u=s[a].split("=");switch(u[0]){case"to":for(var c=u[1].split(","),h=0,d=c.length;h<d;++h)n.push(c[h]);break;case"subject":o.subject=V(u[1],t);break;case"body":o.body=V(u[1],t);break;default:i=!0,r[V(u[0],t)]=V(u[1],t)}}i&&(o.headers=r)}o.query=void 0;for(var g=0,p=n.length;g<p;++g){var f=n[g].split("@");if(f[0]=V(f[0]),t.unicodeSupport)f[1]=V(f[1],t).toLowerCase();else try{f[1]=S.toASCII(V(f[1],t).toLowerCase())}catch(e){o.error=o.error||"Email address's domain name can not be converted to ASCII via punycode: "+e}n[g]=f.join("@")}return o},serialize:function(e,t){var o,n=e,r=null!=(o=e.to)?o instanceof Array?o:"number"!=typeof o.length||o.split||o.setInterval||o.call?[o]:Array.prototype.slice.call(o):[];if(r){for(var s=0,a=r.length;s<a;++s){var l=String(r[s]),u=l.lastIndexOf("@"),c=l.slice(0,u).replace($,ee).replace($,i).replace(J,w),h=l.slice(u+1);try{h=t.iri?S.toUnicode(h):S.toASCII(V(h,t).toLowerCase())}catch(e){n.error=n.error||"Email address's domain name can not be converted to "+(t.iri?"Unicode":"ASCII")+" via punycode: "+e}r[s]=c+"@"+h}n.path=r.join(",")}var d=e.headers=e.headers||{};e.subject&&(d.subject=e.subject),e.body&&(d.body=e.body);var g=[];for(var p in d)d[p]!==G[p]&&g.push(p.replace($,ee).replace($,i).replace(Z,w)+"="+d[p].replace($,ee).replace($,i).replace(Q,w));return g.length&&(n.query=g.join("&")),n}},oe=/^([^\:]+)\:(.*)/,ne={scheme:"urn",parse:function(e,t){var o=e.path&&e.path.match(oe),n=e;if(o){var i=t.scheme||n.scheme||"urn",r=o[1].toLowerCase(),s=o[2],a=i+":"+(t.nid||r),l=T[a];n.nid=r,n.nss=s,n.path=void 0,l&&(n=l.parse(n,t))}else n.error=n.error||"URN can not be parsed.";return n},serialize:function(e,t){var o=t.scheme||e.scheme||"urn",n=e.nid,i=o+":"+(t.nid||n),r=T[i];r&&(e=r.serialize(e,t));var s=e,a=e.nss;return s.path=(n||t.nid)+":"+a,s}},ie=/^[0-9A-Fa-f]{8}(?:\-[0-9A-Fa-f]{4}){3}\-[0-9A-Fa-f]{12}$/,re={scheme:"urn:uuid",parse:function(e,t){var o=e;return o.uuid=o.nss,o.nss=void 0,t.tolerant||o.uuid&&o.uuid.match(ie)||(o.error=o.error||"UUID is not valid."),o},serialize:function(e,t){var o=e;return o.nss=(e.uuid||"").toLowerCase(),o}};T[W.scheme]=W,T[j.scheme]=j,T[te.scheme]=te,T[ne.scheme]=ne,T[re.scheme]=re,e.SCHEMES=T,e.pctEncChar=w,e.pctDecChars=k,e.parse=A,e.removeDotSegments=F,e.serialize=H,e.resolveComponents=U,e.resolve=function(e,t,o){var n=function(e,t){var o=e;if(t)for(var n in t)o[n]=t[n];return o}({scheme:"null"},o);return H(U(A(e,n),A(t,n),n,!0),n)},e.normalize=function(e,t){return"string"==typeof e?e=H(A(e,t),t):"object"===n(e)&&(e=A(H(e,t),t)),e},e.equal=function(e,t,o){return"string"==typeof e?e=H(A(e,o),o):"object"===n(e)&&(e=H(e,o)),"string"==typeof t?t=H(A(t,o),o):"object"===n(t)&&(t=H(t,o)),e===t},e.escapeComponent=function(e,t){return e&&e.toString().replace(t&&t.iri?a.ESCAPE:s.ESCAPE,w)},e.unescapeComponent=V,Object.defineProperty(e,"__esModule",{value:!0})}(t)},function(e,t,o){"use strict";e.exports=function(e){for(var t,o=0,n=e.length,i=0;i<n;)o++,(t=e.charCodeAt(i++))>=55296&&t<=56319&&i<n&&56320==(64512&(t=e.charCodeAt(i)))&&i++;return o}},function(e,t,o){"use strict";var n=e.exports=function(e,t,o){"function"==typeof t&&(o=t,t={}),function e(t,o,i,r,s,a,l,u,c,h){if(r&&"object"==typeof r&&!Array.isArray(r)){for(var d in o(r,s,a,l,u,c,h),r){var g=r[d];if(Array.isArray(g)){if(d in n.arrayKeywords)for(var p=0;p<g.length;p++)e(t,o,i,g[p],s+"/"+d+"/"+p,a,s,d,r,p)}else if(d in n.propsKeywords){if(g&&"object"==typeof g)for(var f in g)e(t,o,i,g[f],s+"/"+d+"/"+f.replace(/~/g,"~0").replace(/\//g,"~1"),a,s,d,r,f)}else(d in n.keywords||t.allKeys&&!(d in n.skipKeywords))&&e(t,o,i,g,s+"/"+d,a,s,d,r)}i(r,s,a,l,u,c,h)}}(t,"function"==typeof(o=t.cb||o)?o:o.pre||function(){},o.post||function(){},e,"",e)};n.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0},n.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0},n.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0},n.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0}},function(e,t,o){"use strict";var n=e.exports=function(){this._cache={}};n.prototype.put=function(e,t){this._cache[e]=t},n.prototype.get=function(e){return this._cache[e]},n.prototype.del=function(e){delete this._cache[e]},n.prototype.clear=function(){this._cache={}}},function(e,t,o){"use strict";var n=o(149),i=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,r=[0,31,28,31,30,31,30,31,31,30,31,30,31],s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)?$/i,a=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i,l=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,u=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,c=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-?)*(?:[0-9KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[KSa-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,h=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,d=/^(?:\/(?:[^~/]|~0|~1)*)*$/,g=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,p=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function f(e){return e="full"==e?"full":"fast",n.copy(f[e])}function m(e){var t=e.match(i);if(!t)return!1;var o=+t[1],n=+t[2],s=+t[3];return n>=1&&n<=12&&s>=1&&s<=(2==n&&function(e){return e%4==0&&(e%100!=0||e%400==0)}(o)?29:r[n])}function _(e,t){var o=e.match(s);if(!o)return!1;var n=o[1],i=o[2],r=o[3],a=o[5];return(n<=23&&i<=59&&r<=59||23==n&&59==i&&60==r)&&(!t||a)}e.exports=f,f.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d:\d\d)$/i,uri:/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:a,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p},f.full={date:m,time:_,"date-time":function(e){var t=e.split(y);return 2==t.length&&m(t[0])&&_(t[1],!0)},uri:function(e){return v.test(e)&&l.test(e)},"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":u,url:c,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:function(e){return e.length<=255&&a.test(e)},ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:E,uuid:h,"json-pointer":d,"json-pointer-uri-fragment":g,"relative-json-pointer":p};var y=/t|\s/i;var v=/\/|:/;var b=/[^\\]\\Z/;function E(e){if(b.test(e))return!1;try{return new RegExp(e),!0}catch(e){return!1}}},function(e,t,o){"use strict";var n=o(370),i=o(149).toHash;e.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"];return e.all=i(t),e.types=i(["number","integer","string","array","object","boolean","null"]),e.forEach((function(o){o.rules=o.rules.map((function(o){var i;if("object"==typeof o){var r=Object.keys(o)[0];i=o[r],o=r,i.forEach((function(o){t.push(o),e.all[o]=!0}))}return t.push(o),e.all[o]={keyword:o,code:n[o],implements:i}})),e.all.$comment={keyword:"$comment",code:n.$comment},o.type&&(e.types[o.type]=o)})),e.keywords=i(t.concat(["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"])),e.custom={},e}},function(e,t,o){"use strict";e.exports={$ref:o(371),allOf:o(372),anyOf:o(373),$comment:o(374),const:o(375),contains:o(376),dependencies:o(377),enum:o(378),format:o(379),if:o(380),items:o(381),maximum:o(292),minimum:o(292),maxItems:o(293),minItems:o(293),maxLength:o(294),minLength:o(294),maxProperties:o(295),minProperties:o(295),multipleOf:o(382),not:o(383),oneOf:o(384),pattern:o(385),properties:o(386),propertyNames:o(387),required:o(388),uniqueItems:o(389),validate:o(291)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(a||""),d="valid"+s;if("#"==l||"#/"==l)e.isRoot?(n=e.async,i="validate"):(n=!0===e.root.schema.$async,i="root.refVal[0]");else{var g=e.resolveRef(e.baseId,l,e.isRoot);if(void 0===g){var p=e.MissingRefError.message(e.baseId,l);if("fail"==e.opts.missingRefs){e.logger.error(p),(y=y||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { ref: '"+e.util.escapeQuotes(l)+"' } ",!1!==e.opts.messages&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(l)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(l)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ";var f=r;r=y.pop(),!e.compositeRule&&c?e.async?r+=" throw new ValidationError(["+f+"]); ":r+=" validate.errors = ["+f+"]; return false; ":r+=" var err = "+f+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",c&&(r+=" if (false) { ")}else{if("ignore"!=e.opts.missingRefs)throw new e.MissingRefError(e.baseId,l,p);e.logger.warn(p),c&&(r+=" if (true) { ")}}else if(g.inline){var m=e.util.copy(e);m.level++;var _="valid"+m.level;m.schema=g.schema,m.schemaPath="",m.errSchemaPath=l,r+=" "+e.validate(m).replace(/validate\.schema/g,g.code)+" ",c&&(r+=" if ("+_+") { ")}else n=!0===g.$async||e.async&&!1!==g.$async,i=g.code}if(i){var y;(y=y||[]).push(r),r="",e.opts.passContext?r+=" "+i+".call(this, ":r+=" "+i+"( ",r+=" "+h+", (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var v=r+=" , "+(a?"data"+(a-1||""):"parentData")+" , "+(a?e.dataPathArr[a]:"parentDataProperty")+", rootData)  ";if(r=y.pop(),n){if(!e.async)throw new Error("async schema referenced by sync schema");c&&(r+=" var "+d+"; "),r+=" try { await "+v+"; ",c&&(r+=" "+d+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",c&&(r+=" "+d+" = false; "),r+=" } ",c&&(r+=" if ("+d+") { ")}else r+=" if (!"+v+") { if (vErrors === null) vErrors = "+i+".errors; else vErrors = vErrors.concat("+i+".errors); errors = vErrors.length; } ",c&&(r+=" else { ")}return r}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.schemaPath+e.util.getProperty(t),s=e.errSchemaPath+"/"+t,a=!e.opts.allErrors,l=e.util.copy(e),u="";l.level++;var c="valid"+l.level,h=l.baseId,d=!0,g=i;if(g)for(var p,f=-1,m=g.length-1;f<m;)p=g[f+=1],(e.opts.strictKeywords?"object"==typeof p&&Object.keys(p).length>0:e.util.schemaHasRules(p,e.RULES.all))&&(d=!1,l.schema=p,l.schemaPath=r+"["+f+"]",l.errSchemaPath=s+"/"+f,n+="  "+e.validate(l)+" ",l.baseId=h,a&&(n+=" if ("+c+") { ",u+="}"));return a&&(n+=d?" if (true) { ":" "+u.slice(0,-1)+" "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level;if(s.every((function(t){return e.opts.strictKeywords?"object"==typeof t&&Object.keys(t).length>0:e.util.schemaHasRules(t,e.RULES.all)}))){var m=g.baseId;n+=" var "+d+" = errors; var "+h+" = false;  ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var y=s;if(y)for(var v,b=-1,E=y.length-1;b<E;)v=y[b+=1],g.schema=v,g.schemaPath=a+"["+b+"]",g.errSchemaPath=l+"/"+b,n+="  "+e.validate(g)+" ",g.baseId=m,n+=" "+h+" = "+h+" || "+f+"; if (!"+h+") { ",p+="}";e.compositeRule=g.compositeRule=_,n+=" "+p+" if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'anyOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should match some schema in anyOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" } else {  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.schema[t],r=e.errSchemaPath+"/"+t,s=(e.opts.allErrors,e.util.toQuotedString(i));return!0===e.opts.$comment?n+=" console.log("+s+");":"function"==typeof e.opts.$comment&&(n+=" self._opts.$comment("+s+", "+e.util.toQuotedString(r)+", validate.root.schema);"),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; "),d||(n+=" var schema"+i+" = validate.schema"+a+";"),n+="var "+h+" = equal("+c+", schema"+i+"); if (!"+h+") {   ";var g=g||[];g.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValue: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to constant' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var p=n;return n=g.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+p+"]); ":n+=" validate.errors = ["+p+"]; return false; ":n+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f="i"+i,m=g.dataLevel=e.dataLevel+1,_="data"+m,y=e.baseId,v=e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all);if(n+="var "+d+" = errors;var "+h+";",v){var b=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+p+" = false; for (var "+f+" = 0; "+f+" < "+c+".length; "+f+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers,!0);var E=c+"["+f+"]";g.dataPathArr[m]=f;var C=e.validate(g);g.baseId=y,e.util.varOccurences(C,_)<2?n+=" "+e.util.varReplace(C,_,E)+" ":n+=" var "+_+" = "+E+"; "+C+" ",n+=" if ("+p+") break; }  ",e.compositeRule=g.compositeRule=b,n+="  if (!"+p+") {"}else n+=" if ("+c+".length == 0) {";var S=S||[];S.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should contain a valid item' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;return n=S.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { ",v&&(n+="  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; } "),e.opts.allErrors&&(n+=" } "),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f={},m={},_=e.opts.ownProperties;for(E in s){var y=s[E],v=Array.isArray(y)?m:f;v[E]=y}n+="var "+h+" = errors;";var b=e.errorPath;for(var E in n+="var missing"+i+";",m)if((v=m[E]).length){if(n+=" if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),u){n+=" && ( ";var C=v;if(C)for(var S=-1,T=C.length-1;S<T;){L=C[S+=1],S&&(n+=" || "),n+=" ( ( "+(P=c+(A=e.util.getProperty(L)))+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(L)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?L:A)+") ) "}n+=")) {  ";var w="missing"+i,k="' + "+w+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,w,!0):b+" + "+w);var O=O||[];O.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+k+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==v.length?n+="property "+e.util.escapeQuotes(v[0]):n+="properties "+e.util.escapeQuotes(v.join(", ")),n+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var R=n;n=O.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+R+"]); ":n+=" validate.errors = ["+R+"]; return false; ":n+=" var err = "+R+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else{n+=" ) { ";var N=v;if(N)for(var L,I=-1,D=N.length-1;I<D;){L=N[I+=1];var A=e.util.getProperty(L),P=(k=e.util.escapeQuotes(L),c+A);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,L,e.opts.jsonPointers)),n+=" if ( "+P+" === undefined ",_&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(L)+"') "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'dependencies' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { property: '"+e.util.escapeQuotes(E)+"', missingProperty: '"+k+"', depsCount: "+v.length+", deps: '"+e.util.escapeQuotes(1==v.length?v[0]:v.join(", "))+"' } ",!1!==e.opts.messages&&(n+=" , message: 'should have ",1==v.length?n+="property "+e.util.escapeQuotes(v[0]):n+="properties "+e.util.escapeQuotes(v.join(", ")),n+=" when property "+e.util.escapeQuotes(E)+" is present' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}n+=" }   ",u&&(g+="}",n+=" else { ")}e.errorPath=b;var M=d.baseId;for(var E in f){y=f[E];(e.opts.strictKeywords?"object"==typeof y&&Object.keys(y).length>0:e.util.schemaHasRules(y,e.RULES.all))&&(n+=" "+p+" = true; if ( "+c+e.util.getProperty(E)+" !== undefined ",_&&(n+=" && Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(E)+"') "),n+=") { ",d.schema=y,d.schemaPath=a+e.util.getProperty(E),d.errSchemaPath=l+"/"+e.util.escapeFragment(E),n+="  "+e.validate(d)+" ",d.baseId=M,n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}"))}return u&&(n+="   "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="i"+i,p="schema"+i;d||(n+=" var "+p+" = validate.schema"+a+";"),n+="var "+h+";",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=h+" = false;for (var "+g+"=0; "+g+"<"+p+".length; "+g+"++) if (equal("+c+", "+p+"["+g+"])) { "+h+" = true; break; }",d&&(n+="  }  "),n+=" if (!"+h+") {   ";var f=f||[];f.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { allowedValues: schema"+i+" } ",!1!==e.opts.messages&&(n+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var m=n;return n=f.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+m+"]); ":n+=" validate.errors = ["+m+"]; return false; ":n+=" var err = "+m+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" }",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||"");if(!1===e.opts.format)return u&&(n+=" if (true) { "),n;var h,d=e.opts.$data&&s&&s.$data;d?(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ",h="schema"+i):h=s;var g=e.opts.unknownFormats,p=Array.isArray(g);if(d){n+=" var "+(f="format"+i)+" = formats["+h+"]; var "+(m="isObject"+i)+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+(_="formatType"+i)+" = "+m+" && "+f+".type || 'string'; if ("+m+") { ",e.async&&(n+=" var async"+i+" = "+f+".async; "),n+=" "+f+" = "+f+".validate; } if (  ",d&&(n+=" ("+h+" !== undefined && typeof "+h+" != 'string') || "),n+=" (","ignore"!=g&&(n+=" ("+h+" && !"+f+" ",p&&(n+=" && self._opts.unknownFormats.indexOf("+h+") == -1 "),n+=") || "),n+=" ("+f+" && "+_+" == '"+o+"' && !(typeof "+f+" == 'function' ? ",e.async?n+=" (async"+i+" ? await "+f+"("+c+") : "+f+"("+c+")) ":n+=" "+f+"("+c+") ",n+=" : "+f+".test("+c+"))))) {"}else{var f;if(!(f=e.formats[s])){if("ignore"==g)return e.logger.warn('unknown format "'+s+'" ignored in schema at path "'+e.errSchemaPath+'"'),u&&(n+=" if (true) { "),n;if(p&&g.indexOf(s)>=0)return u&&(n+=" if (true) { "),n;throw new Error('unknown format "'+s+'" is used in schema at path "'+e.errSchemaPath+'"')}var m,_=(m="object"==typeof f&&!(f instanceof RegExp)&&f.validate)&&f.type||"string";if(m){var y=!0===f.async;f=f.validate}if(_!=o)return u&&(n+=" if (true) { "),n;if(y){if(!e.async)throw new Error("async format in sync schema");n+=" if (!(await "+(v="formats"+e.util.getProperty(s)+".validate")+"("+c+"))) { "}else{n+=" if (! ";var v="formats"+e.util.getProperty(s);m&&(v+=".validate"),n+="function"==typeof f?" "+v+"("+c+") ":" "+v+".test("+c+") ",n+=") { "}}var b=b||[];b.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { format:  ",n+=d?""+h:""+e.util.toQuotedString(s),n+="  } ",!1!==e.opts.messages&&(n+=" , message: 'should match format \"",n+=d?"' + "+h+" + '":""+e.util.escapeQuotes(s),n+="\"' "),e.opts.verbose&&(n+=" , schema:  ",n+=d?"validate.schema"+a:""+e.util.toQuotedString(s),n+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var E=n;return n=b.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+E+"]); ":n+=" validate.errors = ["+E+"]; return false; ":n+=" var err = "+E+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",u&&(n+=" else { "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e);g.level++;var p="valid"+g.level,f=e.schema.then,m=e.schema.else,_=void 0!==f&&(e.opts.strictKeywords?"object"==typeof f&&Object.keys(f).length>0:e.util.schemaHasRules(f,e.RULES.all)),y=void 0!==m&&(e.opts.strictKeywords?"object"==typeof m&&Object.keys(m).length>0:e.util.schemaHasRules(m,e.RULES.all)),v=g.baseId;if(_||y){var b;g.createErrors=!1,g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+=" var "+d+" = errors; var "+h+" = true;  ";var E=e.compositeRule;e.compositeRule=g.compositeRule=!0,n+="  "+e.validate(g)+" ",g.baseId=v,g.createErrors=!0,n+="  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }  ",e.compositeRule=g.compositeRule=E,_?(n+=" if ("+p+") {  ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",n+="  "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'then'; ":b="'then'",n+=" } ",y&&(n+=" else { ")):n+=" if (!"+p+") { ",y&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",n+="  "+e.validate(g)+" ",g.baseId=v,n+=" "+h+" = "+p+"; ",_&&y?n+=" var "+(b="ifClause"+i)+" = 'else'; ":b="'else'",n+=" } "),n+=" if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { failingKeyword: "+b+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match \"' + "+b+" + '\" schema' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+=" }   ",u&&(n+=" else { "),n=e.util.cleanUpCode(n)}else u&&(n+=" if (true) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m="i"+i,_=g.dataLevel=e.dataLevel+1,y="data"+_,v=e.baseId;if(n+="var "+d+" = errors;var "+h+";",Array.isArray(s)){var b=e.schema.additionalItems;if(!1===b){n+=" "+h+" = "+c+".length <= "+s.length+"; ";var E=l;l=e.errSchemaPath+"/additionalItems",n+="  if (!"+h+") {   ";var C=C||[];C.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { limit: "+s.length+" } ",!1!==e.opts.messages&&(n+=" , message: 'should NOT have more than "+s.length+" items' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var S=n;n=C.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+S+"]); ":n+=" validate.errors = ["+S+"]; return false; ":n+=" var err = "+S+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } ",l=E,u&&(p+="}",n+=" else { ")}var T=s;if(T)for(var w,k=-1,O=T.length-1;k<O;)if(w=T[k+=1],e.opts.strictKeywords?"object"==typeof w&&Object.keys(w).length>0:e.util.schemaHasRules(w,e.RULES.all)){n+=" "+f+" = true; if ("+c+".length > "+k+") { ";var R=c+"["+k+"]";g.schema=w,g.schemaPath=a+"["+k+"]",g.errSchemaPath=l+"/"+k,g.errorPath=e.util.getPathExpr(e.errorPath,k,e.opts.jsonPointers,!0),g.dataPathArr[_]=k;var N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",n+=" }  ",u&&(n+=" if ("+f+") { ",p+="}")}if("object"==typeof b&&(e.opts.strictKeywords?"object"==typeof b&&Object.keys(b).length>0:e.util.schemaHasRules(b,e.RULES.all))){g.schema=b,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",n+=" "+f+" = true; if ("+c+".length > "+s.length+") {  for (var "+m+" = "+s.length+"; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" } }  ",u&&(n+=" if ("+f+") { ",p+="}")}}else if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){g.schema=s,g.schemaPath=a,g.errSchemaPath=l,n+="  for (var "+m+" = 0; "+m+" < "+c+".length; "+m+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,m,e.opts.jsonPointers,!0);R=c+"["+m+"]";g.dataPathArr[_]=m;N=e.validate(g);g.baseId=v,e.util.varOccurences(N,y)<2?n+=" "+e.util.varReplace(N,y,R)+" ":n+=" var "+y+" = "+R+"; "+N+" ",u&&(n+=" if (!"+f+") break; "),n+=" }"}return u&&(n+=" "+p+" if ("+d+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="var division"+r+";if (",d&&(i+=" "+n+" !== undefined && ( typeof "+n+" != 'number' || "),i+=" (division"+r+" = "+h+" / "+n+", ",e.opts.multipleOfPrecision?i+=" Math.abs(Math.round(division"+r+") - division"+r+") > 1e-"+e.opts.multipleOfPrecision+" ":i+=" division"+r+" !== parseInt(division"+r+") ",i+=" ) ",d&&(i+="  )  "),i+=" ) {   ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+n+" } ",!1!==e.opts.messages&&(i+=" , message: 'should be multiple of ",i+=d?"' + "+n:n+"'"),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l,n+=" var "+h+" = errors;  ";var p,f=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.createErrors=!1,d.opts.allErrors&&(p=d.opts.allErrors,d.opts.allErrors=!1),n+=" "+e.validate(d)+" ",d.createErrors=!0,p&&(d.opts.allErrors=p),e.compositeRule=d.compositeRule=f,n+=" if ("+g+") {   ";var m=m||[];m.push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var _=n;n=m.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+_+"]); ":n+=" validate.errors = ["+_+"]; return false; ":n+=" var err = "+_+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else {  errors = "+h+"; if (vErrors !== null) { if ("+h+") vErrors.length = "+h+"; else vErrors = null; } ",e.opts.allErrors&&(n+=" } ")}else n+="  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: {} ",!1!==e.opts.messages&&(n+=" , message: 'should NOT be valid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(n+=" if (false) { ");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d="errs__"+i,g=e.util.copy(e),p="";g.level++;var f="valid"+g.level,m=g.baseId,_="prevValid"+i,y="passingSchemas"+i;n+="var "+d+" = errors , "+_+" = false , "+h+" = false , "+y+" = null; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var b=s;if(b)for(var E,C=-1,S=b.length-1;C<S;)E=b[C+=1],(e.opts.strictKeywords?"object"==typeof E&&Object.keys(E).length>0:e.util.schemaHasRules(E,e.RULES.all))?(g.schema=E,g.schemaPath=a+"["+C+"]",g.errSchemaPath=l+"/"+C,n+="  "+e.validate(g)+" ",g.baseId=m):n+=" var "+f+" = true; ",C&&(n+=" if ("+f+" && "+_+") { "+h+" = false; "+y+" = ["+y+", "+C+"]; } else { ",p+="}"),n+=" if ("+f+") { "+h+" = "+_+" = true; "+y+" = "+C+"; }";return e.compositeRule=g.compositeRule=v,n+=p+"if (!"+h+") {   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { passingSchemas: "+y+" } ",!1!==e.opts.messages&&(n+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),n+="} else {  errors = "+d+"; if (vErrors !== null) { if ("+d+") vErrors.length = "+d+"; else vErrors = null; }",e.opts.allErrors&&(n+=" } "),n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d=e.opts.$data&&a&&a.$data;d?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,i+="if ( ",d&&(i+=" ("+n+" !== undefined && typeof "+n+" != 'string') || "),i+=" !"+(d?"(new RegExp("+n+"))":e.usePattern(a))+".test("+h+") ) {   ";var g=g||[];g.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern:  ",i+=d?""+n:""+e.util.toQuotedString(a),i+="  } ",!1!==e.opts.messages&&(i+=" , message: 'should match pattern \"",i+=d?"' + "+n+" + '":""+e.util.escapeQuotes(a),i+="\"' "),e.opts.verbose&&(i+=" , schema:  ",i+=d?"validate.schema"+l:""+e.util.toQuotedString(a),i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var p=i;return i=g.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+p+"]); ":i+=" validate.errors = ["+p+"]; return false; ":i+=" var err = "+p+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+="} ",c&&(i+=" else { "),i}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e),g="";d.level++;var p="valid"+d.level,f="key"+i,m="idx"+i,_=d.dataLevel=e.dataLevel+1,y="data"+_,v="dataProperties"+i,b=Object.keys(s||{}),E=e.schema.patternProperties||{},C=Object.keys(E),S=e.schema.additionalProperties,T=b.length||C.length,w=!1===S,k="object"==typeof S&&Object.keys(S).length,O=e.opts.removeAdditional,R=w||k||O,N=e.opts.ownProperties,L=e.baseId,I=e.schema.required;if(I&&(!e.opts.$data||!I.$data)&&I.length<e.opts.loopRequired)var D=e.util.toHash(I);if(n+="var "+h+" = errors;var "+p+" = true;",N&&(n+=" var "+v+" = undefined;"),R){if(n+=N?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",T){if(n+=" var isAdditional"+i+" = !(false ",b.length)if(b.length>8)n+=" || validate.schema"+a+".hasOwnProperty("+f+") ";else{var A=b;if(A)for(var P=-1,M=A.length-1;P<M;)X=A[P+=1],n+=" || "+f+" == "+e.util.toQuotedString(X)+" "}if(C.length){var x=C;if(x)for(var B=-1,F=x.length-1;B<F;)ie=x[B+=1],n+=" || "+e.usePattern(ie)+".test("+f+") "}n+=" ); if (isAdditional"+i+") { "}if("all"==O)n+=" delete "+c+"["+f+"]; ";else{var H=e.errorPath,U="' + "+f+" + '";if(e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers)),w)if(O)n+=" delete "+c+"["+f+"]; ";else{n+=" "+p+" = false; ";var V=l;l=e.errSchemaPath+"/additionalProperties",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'additionalProperties' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { additionalProperty: '"+U+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is an invalid additional property":n+="should NOT have additional properties",n+="' "),e.opts.verbose&&(n+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,u&&(n+=" break; ")}else if(k)if("failing"==O){n+=" var "+h+" = errors;  ";var j=e.compositeRule;e.compositeRule=d.compositeRule=!0,d.schema=S,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var G=c+"["+f+"]";d.dataPathArr[_]=f;var z=e.validate(d);d.baseId=L,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",n+=" if (!"+p+") { errors = "+h+"; if (validate.errors !== null) { if (errors) validate.errors.length = errors; else validate.errors = null; } delete "+c+"["+f+"]; }  ",e.compositeRule=d.compositeRule=j}else{d.schema=S,d.schemaPath=e.schemaPath+".additionalProperties",d.errSchemaPath=e.errSchemaPath+"/additionalProperties",d.errorPath=e.opts._errorDataPathProperty?e.errorPath:e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=L,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; ")}e.errorPath=H}T&&(n+=" } "),n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}")}var K=e.opts.useDefaults&&!e.compositeRule;if(b.length){var Y=b;if(Y)for(var X,q=-1,$=Y.length-1;q<$;){var J=s[X=Y[q+=1]];if(e.opts.strictKeywords?"object"==typeof J&&Object.keys(J).length>0:e.util.schemaHasRules(J,e.RULES.all)){var Z=e.util.getProperty(X),Q=(G=c+Z,K&&void 0!==J.default);d.schema=J,d.schemaPath=a+Z,d.errSchemaPath=l+"/"+e.util.escapeFragment(X),d.errorPath=e.util.getPath(e.errorPath,X,e.opts.jsonPointers),d.dataPathArr[_]=e.util.toQuotedString(X);z=e.validate(d);if(d.baseId=L,e.util.varOccurences(z,y)<2){z=e.util.varReplace(z,y,G);var ee=G}else{ee=y;n+=" var "+y+" = "+G+"; "}if(Q)n+=" "+z+" ";else{if(D&&D[X]){n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = false; ";H=e.errorPath,V=l;var te,oe=e.util.escapeQuotes(X);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(H,X,e.opts.jsonPointers)),l=e.errSchemaPath+"/required",(te=te||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+oe+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+oe+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";W=n;n=te.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+W+"]); ":n+=" validate.errors = ["+W+"]; return false; ":n+=" var err = "+W+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l=V,e.errorPath=H,n+=" } else { "}else u?(n+=" if ( "+ee+" === undefined ",N&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=") { "+p+" = true; } else { "):(n+=" if ("+ee+" !== undefined ",N&&(n+=" &&   Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(X)+"') "),n+=" ) { ");n+=" "+z+" } "}}u&&(n+=" if ("+p+") { ",g+="}")}}if(C.length){var ne=C;if(ne)for(var ie,re=-1,se=ne.length-1;re<se;){J=E[ie=ne[re+=1]];if(e.opts.strictKeywords?"object"==typeof J&&Object.keys(J).length>0:e.util.schemaHasRules(J,e.RULES.all)){d.schema=J,d.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(ie),d.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(ie),n+=N?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+m+"=0; "+m+"<"+v+".length; "+m+"++) { var "+f+" = "+v+"["+m+"]; ":" for (var "+f+" in "+c+") { ",n+=" if ("+e.usePattern(ie)+".test("+f+")) { ",d.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);G=c+"["+f+"]";d.dataPathArr[_]=f;z=e.validate(d);d.baseId=L,e.util.varOccurences(z,y)<2?n+=" "+e.util.varReplace(z,y,G)+" ":n+=" var "+y+" = "+G+"; "+z+" ",u&&(n+=" if (!"+p+") break; "),n+=" } ",u&&(n+=" else "+p+" = true; "),n+=" }  ",u&&(n+=" if ("+p+") { ",g+="}")}}}return u&&(n+=" "+g+" if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="errs__"+i,d=e.util.copy(e);d.level++;var g="valid"+d.level;if(n+="var "+h+" = errors;",e.opts.strictKeywords?"object"==typeof s&&Object.keys(s).length>0:e.util.schemaHasRules(s,e.RULES.all)){d.schema=s,d.schemaPath=a,d.errSchemaPath=l;var p="key"+i,f="idx"+i,m="i"+i,_="' + "+p+" + '",y="data"+(d.dataLevel=e.dataLevel+1),v="dataProperties"+i,b=e.opts.ownProperties,E=e.baseId;b&&(n+=" var "+v+" = undefined; "),n+=b?" "+v+" = "+v+" || Object.keys("+c+"); for (var "+f+"=0; "+f+"<"+v+".length; "+f+"++) { var "+p+" = "+v+"["+f+"]; ":" for (var "+p+" in "+c+") { ",n+=" var startErrs"+i+" = errors; ";var C=p,S=e.compositeRule;e.compositeRule=d.compositeRule=!0;var T=e.validate(d);d.baseId=E,e.util.varOccurences(T,y)<2?n+=" "+e.util.varReplace(T,y,C)+" ":n+=" var "+y+" = "+C+"; "+T+" ",e.compositeRule=d.compositeRule=S,n+=" if (!"+g+") { for (var "+m+"=startErrs"+i+"; "+m+"<errors; "+m+"++) { vErrors["+m+"].propertyName = "+p+"; }   var err =   ",!1!==e.createErrors?(n+=" { keyword: 'propertyNames' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { propertyName: '"+_+"' } ",!1!==e.opts.messages&&(n+=" , message: 'property name \\'"+_+"\\' is invalid' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&u&&(e.async?n+=" throw new ValidationError(vErrors); ":n+=" validate.errors = vErrors; return false; "),u&&(n+=" break; "),n+=" } }"}return u&&(n+="  if ("+h+" == errors) {"),n=e.util.cleanUpCode(n)}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n=" ",i=e.level,r=e.dataLevel,s=e.schema[t],a=e.schemaPath+e.util.getProperty(t),l=e.errSchemaPath+"/"+t,u=!e.opts.allErrors,c="data"+(r||""),h="valid"+i,d=e.opts.$data&&s&&s.$data;d&&(n+=" var schema"+i+" = "+e.util.getData(s.$data,r,e.dataPathArr)+"; ");var g="schema"+i;if(!d)if(s.length<e.opts.loopRequired&&e.schema.properties&&Object.keys(e.schema.properties).length){var p=[],f=s;if(f)for(var m,_=-1,y=f.length-1;_<y;){m=f[_+=1];var v=e.schema.properties[m];v&&(e.opts.strictKeywords?"object"==typeof v&&Object.keys(v).length>0:e.util.schemaHasRules(v,e.RULES.all))||(p[p.length]=m)}}else p=s;if(d||p.length){var b=e.errorPath,E=d||p.length>=e.opts.loopRequired,C=e.opts.ownProperties;if(u)if(n+=" var missing"+i+"; ",E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var S="' + "+(N="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,N,e.opts.jsonPointers)),n+=" var "+h+" = true; ",d&&(n+=" if (schema"+i+" === undefined) "+h+" = true; else if (!Array.isArray(schema"+i+")) "+h+" = false; else {"),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { "+h+" = "+c+"["+g+"["+k+"]] !== undefined ",C&&(n+=" &&   Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+="; if (!"+h+") break; } ",d&&(n+="  }  "),n+="  if (!"+h+") {   ",(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";var T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else{n+=" if ( ";var w=p;if(w)for(var k=-1,O=w.length-1;k<O;){I=w[k+=1],k&&(n+=" || "),n+=" ( ( "+(M=c+(P=e.util.getProperty(I)))+" === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") && (missing"+i+" = "+e.util.toQuotedString(e.opts.jsonPointers?I:P)+") ) "}n+=") {  ";var R;S="' + "+(N="missing"+i)+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.opts.jsonPointers?e.util.getPathExpr(b,N,!0):b+" + "+N),(R=R||[]).push(n),n="",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ";T=n;n=R.pop(),!e.compositeRule&&u?e.async?n+=" throw new ValidationError(["+T+"]); ":n+=" validate.errors = ["+T+"]; return false; ":n+=" var err = "+T+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",n+=" } else { "}else if(E){d||(n+=" var "+g+" = validate.schema"+a+"; ");var N;S="' + "+(N="schema"+i+"["+(k="i"+i)+"]")+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(b,N,e.opts.jsonPointers)),d&&(n+=" if ("+g+" && !Array.isArray("+g+")) {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if ("+g+" !== undefined) { "),n+=" for (var "+k+" = 0; "+k+" < "+g+".length; "+k+"++) { if ("+c+"["+g+"["+k+"]] === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", "+g+"["+k+"]) "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ",d&&(n+="  }  ")}else{var L=p;if(L)for(var I,D=-1,A=L.length-1;D<A;){I=L[D+=1];var P=e.util.getProperty(I),M=(S=e.util.escapeQuotes(I),c+P);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(b,I,e.opts.jsonPointers)),n+=" if ( "+M+" === undefined ",C&&(n+=" || ! Object.prototype.hasOwnProperty.call("+c+", '"+e.util.escapeQuotes(I)+"') "),n+=") {  var err =   ",!1!==e.createErrors?(n+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(l)+" , params: { missingProperty: '"+S+"' } ",!1!==e.opts.messages&&(n+=" , message: '",e.opts._errorDataPathProperty?n+="is a required property":n+="should have required property \\'"+S+"\\'",n+="' "),e.opts.verbose&&(n+=" , schema: validate.schema"+a+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+c+" "),n+=" } "):n+=" {} ",n+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } "}}e.errorPath=b}else u&&(n+=" if (true) {");return n}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i=" ",r=e.level,s=e.dataLevel,a=e.schema[t],l=e.schemaPath+e.util.getProperty(t),u=e.errSchemaPath+"/"+t,c=!e.opts.allErrors,h="data"+(s||""),d="valid"+r,g=e.opts.$data&&a&&a.$data;if(g?(i+=" var schema"+r+" = "+e.util.getData(a.$data,s,e.dataPathArr)+"; ",n="schema"+r):n=a,(a||g)&&!1!==e.opts.uniqueItems){g&&(i+=" var "+d+"; if ("+n+" === false || "+n+" === undefined) "+d+" = true; else if (typeof "+n+" != 'boolean') "+d+" = false; else { "),i+=" var i = "+h+".length , "+d+" = true , j; if (i > 1) { ";var p=e.schema.items&&e.schema.items.type,f=Array.isArray(p);if(!p||"object"==p||"array"==p||f&&(p.indexOf("object")>=0||p.indexOf("array")>=0))i+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+h+"[i], "+h+"[j])) { "+d+" = false; break outer; } } } ";else{i+=" var itemIndices = {}, item; for (;i--;) { var item = "+h+"[i]; ";var m="checkDataType"+(f?"s":"");i+=" if ("+e.util[m](p,"item",!0)+") continue; ",f&&(i+=" if (typeof item == 'string') item = '\"' + item; "),i+=" if (typeof itemIndices[item] == 'number') { "+d+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}i+=" } ",g&&(i+="  }  "),i+=" if (!"+d+") {   ";var _=_||[];_.push(i),i="",!1!==e.createErrors?(i+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",!1!==e.opts.messages&&(i+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(i+=" , schema:  ",i+=g?"validate.schema"+l:""+a,i+="         , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),i+=" } "):i+=" {} ";var y=i;i=_.pop(),!e.compositeRule&&c?e.async?i+=" throw new ValidationError(["+y+"]); ":i+=" validate.errors = ["+y+"]; return false; ":i+=" var err = "+y+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",i+=" } ",c&&(i+=" else { ")}else c&&(i+=" if (true) { ");return i}},function(e,t,o){"use strict";var n=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];e.exports=function(e,t){for(var o=0;o<t.length;o++){e=JSON.parse(JSON.stringify(e));var i,r=t[o].split("/"),s=e;for(i=1;i<r.length;i++)s=s[r[i]];for(i=0;i<n.length;i++){var a=n[i],l=s[a];l&&(s[a]={anyOf:[l,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]})}}return e}},function(e,t,o){"use strict";var n=o(220).MissingRef;e.exports=function e(t,o,i){var r=this;if("function"!=typeof this._opts.loadSchema)throw new Error("options.loadSchema should be a function");"function"==typeof o&&(i=o,o=void 0);var s=a(t).then((function(){var e=r._addSchema(t,void 0,o);return e.validate||function e(t){try{return r._compile(t)}catch(i){if(i instanceof n)return function(n){var i=n.missingSchema;if(u(i))throw new Error("Schema "+i+" is loaded but "+n.missingRef+" cannot be resolved");var s=r._loadingSchemas[i];s||(s=r._loadingSchemas[i]=r._opts.loadSchema(i)).then(l,l);return s.then((function(e){if(!u(i))return a(e).then((function(){u(i)||r.addSchema(e,i,void 0,o)}))})).then((function(){return e(t)}));function l(){delete r._loadingSchemas[i]}function u(e){return r._refs[e]||r._schemas[e]}}(i);throw i}}(e)}));i&&s.then((function(e){i(null,e)}),i);return s;function a(t){var o=t.$schema;return o&&!r.getSchema(o)?e.call(r,{$ref:o},!0):Promise.resolve()}}},function(e,t,o){"use strict";var n=/^[a-z_$][a-z0-9_$-]*$/i,i=o(393),r=o(394);e.exports={add:function(e,t){var o=this.RULES;if(o.keywords[e])throw new Error("Keyword "+e+" is already defined");if(!n.test(e))throw new Error("Keyword "+e+" is not a valid identifier");if(t){this.validateKeyword(t,!0);var r=t.type;if(Array.isArray(r))for(var s=0;s<r.length;s++)l(e,r[s],t);else l(e,r,t);var a=t.metaSchema;a&&(t.$data&&this._opts.$data&&(a={anyOf:[a,{$ref:"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#"}]}),t.validateSchema=this.compile(a,!0))}function l(e,t,n){for(var r,s=0;s<o.length;s++){var a=o[s];if(a.type==t){r=a;break}}r||(r={type:t,rules:[]},o.push(r));var l={keyword:e,definition:n,custom:!0,code:i,implements:n.implements};r.rules.push(l),o.custom[e]=l}return o.keywords[e]=o.all[e]=!0,this},get:function(e){var t=this.RULES.custom[e];return t?t.definition:this.RULES.keywords[e]||!1},remove:function(e){var t=this.RULES;delete t.keywords[e],delete t.all[e],delete t.custom[e];for(var o=0;o<t.length;o++)for(var n=t[o].rules,i=0;i<n.length;i++)if(n[i].keyword==e){n.splice(i,1);break}return this},validate:function e(t,o){e.errors=null;var n=this._validateKeyword=this._validateKeyword||this.compile(r,!0);if(n(t))return!0;e.errors=n.errors;if(o)throw new Error("custom keyword definition is invalid: "+this.errorsText(n.errors));return!1}}},function(e,t,o){"use strict";e.exports=function(e,t,o){var n,i,r=" ",s=e.level,a=e.dataLevel,l=e.schema[t],u=e.schemaPath+e.util.getProperty(t),c=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,d="data"+(a||""),g="valid"+s,p="errs__"+s,f=e.opts.$data&&l&&l.$data;f?(r+=" var schema"+s+" = "+e.util.getData(l.$data,a,e.dataPathArr)+"; ",i="schema"+s):i=l;var m,_,y,v,b,E="definition"+s,C=this.definition,S="";if(f&&C.$data){b="keywordValidate"+s;var T=C.validateSchema;r+=" var "+E+" = RULES.custom['"+t+"'].definition; var "+b+" = "+E+".validate;"}else{if(!(v=e.useCustomRule(this,l,e.schema,e)))return;i="validate.schema"+u,b=v.code,m=C.compile,_=C.inline,y=C.macro}var w=b+".errors",k="i"+s,O="ruleErr"+s,R=C.async;if(R&&!e.async)throw new Error("async keyword in sync schema");if(_||y||(r+=w+" = null;"),r+="var "+p+" = errors;var "+g+";",f&&C.$data&&(S+="}",r+=" if ("+i+" === undefined) { "+g+" = true; } else { ",T&&(S+="}",r+=" "+g+" = "+E+".validateSchema("+i+"); if ("+g+") { ")),_)C.statements?r+=" "+v.validate+" ":r+=" "+g+" = "+v.validate+"; ";else if(y){var N=e.util.copy(e);S="";N.level++;var L="valid"+N.level;N.schema=v.validate,N.schemaPath="";var I=e.compositeRule;e.compositeRule=N.compositeRule=!0;var D=e.validate(N).replace(/validate\.schema/g,b);e.compositeRule=N.compositeRule=I,r+=" "+D}else{(x=x||[]).push(r),r="",r+="  "+b+".call( ",e.opts.passContext?r+="this":r+="self",m||!1===C.schema?r+=" , "+d+" ":r+=" , "+i+" , "+d+" , validate.schema"+e.schemaPath+" ",r+=" , (dataPath || '')",'""'!=e.errorPath&&(r+=" + "+e.errorPath);var A=a?"data"+(a-1||""):"parentData",P=a?e.dataPathArr[a]:"parentDataProperty",M=r+=" , "+A+" , "+P+" , rootData )  ";r=x.pop(),!1===C.errors?(r+=" "+g+" = ",R&&(r+="await "),r+=M+"; "):r+=R?" var "+(w="customErrors"+s)+" = null; try { "+g+" = await "+M+"; } catch (e) { "+g+" = false; if (e instanceof ValidationError) "+w+" = e.errors; else throw e; } ":" "+w+" = null; "+g+" = "+M+"; "}if(C.modifying&&(r+=" if ("+A+") "+d+" = "+A+"["+P+"];"),r+=""+S,C.valid)h&&(r+=" if (true) { ");else{var x;r+=" if ( ",void 0===C.valid?(r+=" !",r+=y?""+L:""+g):r+=" "+!C.valid+" ",r+=") { ",n=this.keyword,(x=x||[]).push(r),r="",(x=x||[]).push(r),r="",!1!==e.createErrors?(r+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(r+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ";var B=r;r=x.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+B+"]); ":r+=" validate.errors = ["+B+"]; return false; ":r+=" var err = "+B+";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var F=r;r=x.pop(),_?C.errors?"full"!=C.errors&&(r+="  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } "):!1===C.errors?r+=" "+F+" ":(r+=" if ("+p+" == errors) { "+F+" } else {  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+"; if ("+O+".schemaPath === undefined) { "+O+'.schemaPath = "'+c+'"; } ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } } "):y?(r+="   var err =   ",!1!==e.createErrors?(r+=" { keyword: '"+(n||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { keyword: '"+this.keyword+"' } ",!1!==e.opts.messages&&(r+=" , message: 'should pass \""+this.keyword+"\" keyword validation' "),e.opts.verbose&&(r+=" , schema: validate.schema"+u+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),r+=" } "):r+=" {} ",r+=";  if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; ")):!1===C.errors?r+=" "+F+" ":(r+=" if (Array.isArray("+w+")) { if (vErrors === null) vErrors = "+w+"; else vErrors = vErrors.concat("+w+"); errors = vErrors.length;  for (var "+k+"="+p+"; "+k+"<errors; "+k+"++) { var "+O+" = vErrors["+k+"]; if ("+O+".dataPath === undefined) "+O+".dataPath = (dataPath || '') + "+e.errorPath+";  "+O+'.schemaPath = "'+c+'";  ',e.opts.verbose&&(r+=" "+O+".schema = "+i+"; "+O+".data = "+d+"; "),r+=" } } else { "+F+" } "),r+=" } ",h&&(r+=" else { ")}return r}},function(e,t,o){"use strict";var n=o(296);e.exports={$id:"https://github.com/epoberezkin/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:n.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:n.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}},function(e){e.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://raw.githubusercontent.com/epoberezkin/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON Schema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},function(e,t,o){var n=o(297),i=o(415),r=n((function(e,t,o){return e+(o?" ":"")+i(t)}));e.exports=r},function(e,t){e.exports=function(e,t,o,n){var i=-1,r=null==e?0:e.length;for(n&&r&&(o=e[++i]);++i<r;)o=t(o,e[i],i,e);return o}},function(e,t,o){var n=o(399),i=o(221),r=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,s=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");e.exports=function(e){return(e=i(e))&&e.replace(r,n).replace(s,"")}},function(e,t,o){var n=o(400)({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"});e.exports=n},function(e,t){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},function(e,t,o){var n=o(222),i=o(404),r=o(405),s=o(406),a=1/0,l=n?n.prototype:void 0,u=l?l.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(r(t))return i(t,e)+"";if(s(t))return u?u.call(t):"";var o=t+"";return"0"==o&&1/t==-a?"-0":o}},function(e,t,o){var n=o(403),i="object"==typeof self&&self&&self.Object===Object&&self,r=n||i||Function("return this")();e.exports=r},function(e,t,o){(function(t){var o="object"==typeof t&&t&&t.Object===Object&&t;e.exports=o}).call(this,o(80))},function(e,t){e.exports=function(e,t){for(var o=-1,n=null==e?0:e.length,i=Array(n);++o<n;)i[o]=t(e[o],o,e);return i}},function(e,t){var o=Array.isArray;e.exports=o},function(e,t,o){var n=o(407),i=o(410),r="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||i(e)&&n(e)==r}},function(e,t,o){var n=o(222),i=o(408),r=o(409),s="[object Null]",a="[object Undefined]",l=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:s:l&&l in Object(e)?i(e):r(e)}},function(e,t,o){var n=o(222),i=Object.prototype,r=i.hasOwnProperty,s=i.toString,a=n?n.toStringTag:void 0;e.exports=function(e){var t=r.call(e,a),o=e[a];try{e[a]=void 0;var n=!0}catch(e){}var i=s.call(e);return n&&(t?e[a]=o:delete e[a]),i}},function(e,t){var o=Object.prototype.toString;e.exports=function(e){return o.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,o){var n=o(412),i=o(413),r=o(221),s=o(414);e.exports=function(e,t,o){return e=r(e),void 0===(t=o?void 0:t)?i(e)?s(e):n(e):e.match(t)||[]}},function(e,t){var o=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;e.exports=function(e){return e.match(o)||[]}},function(e,t){var o=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;e.exports=function(e){return o.test(e)}},function(e,t){var o="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",n="["+o+"]",i="\\d+",r="[\\u2700-\\u27bf]",s="[a-z\\xdf-\\xf6\\xf8-\\xff]",a="[^\\ud800-\\udfff"+o+i+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",l="(?:\\ud83c[\\udde6-\\uddff]){2}",u="[\\ud800-\\udbff][\\udc00-\\udfff]",c="[A-Z\\xc0-\\xd6\\xd8-\\xde]",h="(?:"+s+"|"+a+")",d="(?:"+c+"|"+a+")",g="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",p="[\\ufe0e\\ufe0f]?"+g+("(?:\\u200d(?:"+["[^\\ud800-\\udfff]",l,u].join("|")+")[\\ufe0e\\ufe0f]?"+g+")*"),f="(?:"+[r,l,u].join("|")+")"+p,m=RegExp([c+"?"+s+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[n,c,"$"].join("|")+")",d+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[n,c+h,"$"].join("|")+")",c+"?"+h+"+(?:['’](?:d|ll|m|re|s|t|ve))?",c+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",i,f].join("|"),"g");e.exports=function(e){return e.match(m)||[]}},function(e,t,o){var n=o(416)("toUpperCase");e.exports=n},function(e,t,o){var n=o(417),i=o(298),r=o(419),s=o(221);e.exports=function(e){return function(t){t=s(t);var o=i(t)?r(t):void 0,a=o?o[0]:t.charAt(0),l=o?n(o,1).join(""):t.slice(1);return a[e]()+l}}},function(e,t,o){var n=o(418);e.exports=function(e,t,o){var i=e.length;return o=void 0===o?i:o,!t&&o>=i?e:n(e,t,o)}},function(e,t){e.exports=function(e,t,o){var n=-1,i=e.length;t<0&&(t=-t>i?0:i+t),(o=o>i?i:o)<0&&(o+=i),i=t>o?0:o-t>>>0,t>>>=0;for(var r=Array(i);++n<i;)r[n]=e[n+t];return r}},function(e,t,o){var n=o(420),i=o(298),r=o(421);e.exports=function(e){return i(e)?r(e):n(e)}},function(e,t){e.exports=function(e){return e.split("")}},function(e,t){var o="[\\ud800-\\udfff]",n="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",i="\\ud83c[\\udffb-\\udfff]",r="[^\\ud800-\\udfff]",s="(?:\\ud83c[\\udde6-\\uddff]){2}",a="[\\ud800-\\udbff][\\udc00-\\udfff]",l="(?:"+n+"|"+i+")"+"?",u="[\\ufe0e\\ufe0f]?"+l+("(?:\\u200d(?:"+[r,s,a].join("|")+")[\\ufe0e\\ufe0f]?"+l+")*"),c="(?:"+[r+n+"?",n,s,a,o].join("|")+")",h=RegExp(i+"(?="+i+")|"+c+u,"g");e.exports=function(e){return e.match(h)||[]}},function(e,t,o){var n=o(297)((function(e,t,o){return e+(o?"_":"")+t.toLowerCase()}));e.exports=n},function(e,t,o){"use strict";var n=o(187);o.n(n).a},function(e,t,o){"use strict";var n=o(188);o.n(n).a},function(e,t,o){"use strict";var n=o(189);o.n(n).a},function(e,t,o){"use strict";var n=o(190);o.n(n).a},function(e,t,o){"use strict";var n=o(191);o.n(n).a},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){"use strict";o.r(t);o(488),o(494),o(241),o(495),o(552);var n=o(300);for(var i in n)"default"!==i&&function(e){o.d(t,e,(function(){return n[e]}))}(i)},function(e,t,o){"use strict";o(137);var n,i,r,s,a,l=monaco.Emitter,u=function(){function e(e,t){this._onDidChange=new l,this._extraLibs=Object.create(null),this._workerMaxIdleTime=12e4,this.setCompilerOptions(e),this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),e.prototype.getExtraLibs=function(){var e=Object.create(null);for(var t in this._extraLibs)e[t]=this._extraLibs[t];return Object.freeze(e)},e.prototype.addExtraLib=function(e,t){var o=this;if(void 0===t&&(t="ts:extralib-"+Date.now()),this._extraLibs[t])throw new Error(t+" already a extra lib");return this._extraLibs[t]=e,this._onDidChange.fire(this),{dispose:function(){delete o._extraLibs[t]&&o._onDidChange.fire(o)}}},e.prototype.getCompilerOptions=function(){return this._compilerOptions},e.prototype.setCompilerOptions=function(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(this)},e.prototype.getDiagnosticsOptions=function(){return this._diagnosticsOptions},e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e.prototype.setMaximumWorkerIdleTime=function(e){this._workerMaxIdleTime=e},e.prototype.getWorkerMaxIdleTime=function(){return this._workerMaxIdleTime},e.prototype.setEagerModelSync=function(e){this._eagerModelSync=e},e.prototype.getEagerModelSync=function(){return this._eagerModelSync},e}();!function(e){e[e.None=0]="None",e[e.CommonJS=1]="CommonJS",e[e.AMD=2]="AMD",e[e.UMD=3]="UMD",e[e.System=4]="System",e[e.ES2015=5]="ES2015",e[e.ESNext=6]="ESNext"}(n||(n={})),function(e){e[e.None=0]="None",e[e.Preserve=1]="Preserve",e[e.React=2]="React",e[e.ReactNative=3]="ReactNative"}(i||(i={})),function(e){e[e.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",e[e.LineFeed=1]="LineFeed"}(r||(r={})),function(e){e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ESNext=6]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=6]="Latest"}(s||(s={})),function(e){e[e.Classic=1]="Classic",e[e.NodeJs=2]="NodeJs"}(a||(a={}));var c=new u({allowNonTsExtensions:!0,target:s.Latest},{noSemanticValidation:!1,noSyntaxValidation:!1}),h=new u({allowNonTsExtensions:!0,allowJs:!0,target:s.Latest},{noSemanticValidation:!0,noSyntaxValidation:!1});function d(){return p().then((function(e){return e.getTypeScriptWorker()}))}function g(){return p().then((function(e){return e.getJavaScriptWorker()}))}function p(){return monaco.Promise.wrap(o.e(53).then(o.bind(null,556)))}monaco.languages.typescript={ModuleKind:n,JsxEmit:i,NewLineKind:r,ScriptTarget:s,ModuleResolutionKind:a,typescriptDefaults:c,javascriptDefaults:h,getTypeScriptWorker:d,getJavaScriptWorker:g},monaco.languages.onLanguage("typescript",(function(){return p().then((function(e){return e.setupTypeScript(c)}))})),monaco.languages.onLanguage("javascript",(function(){return p().then((function(e){return e.setupJavaScript(h)}))}))},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){},function(e,t,o){"use strict";o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setDiagnosticsOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"diagnosticsOptions",{get:function(){return this._diagnosticsOptions},enumerable:!0,configurable:!0}),e.prototype.setDiagnosticsOptions=function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)},e}(),r={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"}},s=new i("css",r),a=new i("scss",r),l=new i("less",r);function u(){return monaco.Promise.wrap(o.e(50).then(o.bind(null,555)))}monaco.languages.css={cssDefaults:s,lessDefaults:l,scssDefaults:a},monaco.languages.onLanguage("less",(function(){u().then((function(e){return e.setupMode(l)}))})),monaco.languages.onLanguage("scss",(function(){u().then((function(e){return e.setupMode(a)}))})),monaco.languages.onLanguage("css",(function(){u().then((function(e){return e.setupMode(s)}))}))},function(e,t,o){"use strict";o(137);var n=monaco.Emitter,i=function(){function e(e,t){this._onDidChange=new n,this._languageId=e,this.setOptions(t)}return Object.defineProperty(e.prototype,"onDidChange",{get:function(){return this._onDidChange.event},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"options",{get:function(){return this._options},enumerable:!0,configurable:!0}),e.prototype.setOptions=function(e){this._options=e||Object.create(null),this._onDidChange.fire(this)},e}(),r={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:null,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},s={format:r,suggest:{html5:!0}},a={format:r,suggest:{html5:!0,razor:!0}},l=new i("html",{format:r,suggest:{html5:!0,angular1:!0,ionic:!0}}),u=new i("handlebars",s),c=new i("razor",a);function h(){return monaco.Promise.wrap(o.e(51).then(o.bind(null,554)))}monaco.languages.html={htmlDefaults:l,razorDefaults:c,handlebarDefaults:u},monaco.languages.onLanguage("html",(function(){h().then((function(e){return e.setupMode(l)}))})),monaco.languages.onLanguage("handlebars",(function(){h().then((function(e){return e.setupMode(u)}))})),monaco.languages.onLanguage("razor",(function(){h().then((function(e){return e.setupMode(c)}))}))},function(e,t,o){"use strict";o(72),o(140),o(264),o(263),o(224),o(259),o(238),o(225),o(254),o(172),o(252),o(226),o(227),o(258),o(141),o(248),o(228),o(253),o(154),o(229),o(257),o(247),o(262),o(250),o(261),o(233),o(251),o(249),o(235),o(260),o(255),o(139),o(246),o(153),o(239),o(130),o(240)},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,i=o(170),r=o(169);!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:i.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:i.Event.None}),e.is=function(t){var o=t;return o&&(o===e.None||o===e.Cancelled||r.boolean(o.isCancellationRequested)&&!!o.onCancellationRequested)}}(n=t.CancellationToken||(t.CancellationToken={}));var s=Object.freeze((function(e,t){var o=setTimeout(e.bind(t),0);return{dispose:function(){clearTimeout(o)}}})),a=function(){function e(){this._isCancelled=!1}return e.prototype.cancel=function(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))},Object.defineProperty(e.prototype,"isCancellationRequested",{get:function(){return this._isCancelled},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onCancellationRequested",{get:function(){return this._isCancelled?s:(this._emitter||(this._emitter=new i.Emitter),this._emitter.event)},enumerable:!0,configurable:!0}),e}(),l=function(){function e(){}return Object.defineProperty(e.prototype,"token",{get:function(){return this._token||(this._token=new a),this._token},enumerable:!0,configurable:!0}),e.prototype.cancel=function(){this._token?this._token.cancel():this._token=n.Cancelled},e.prototype.dispose=function(){this.cancel()},e}();t.CancellationTokenSource=l},function(e,t,o){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.None=0,e.First=1,e.Last=2}(n=t.Touch||(t.Touch={}));var i=function(){function e(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}return e.prototype.clear=function(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0},e.prototype.isEmpty=function(){return!this._head&&!this._tail},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!0,configurable:!0}),e.prototype.has=function(e){return this._map.has(e)},e.prototype.get=function(e){var t=this._map.get(e);if(t)return t.value},e.prototype.set=function(e,t,o){void 0===o&&(o=n.None);var i=this._map.get(e);if(i)i.value=t,o!==n.None&&this.touch(i,o);else{switch(i={key:e,value:t,next:void 0,previous:void 0},o){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}},e.prototype.delete=function(e){var t=this._map.get(e);return!!t&&(this._map.delete(e),this.removeItem(t),this._size--,!0)},e.prototype.shift=function(){if(this._head||this._tail){if(!this._head||!this._tail)throw new Error("Invalid list");var e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}},e.prototype.forEach=function(e,t){for(var o=this._head;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next},e.prototype.forEachReverse=function(e,t){for(var o=this._tail;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.previous},e.prototype.values=function(){for(var e=[],t=this._head;t;)e.push(t.value),t=t.next;return e},e.prototype.keys=function(){for(var e=[],t=this._head;t;)e.push(t.key),t=t.next;return e},e.prototype.addItemFirst=function(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e},e.prototype.addItemLast=function(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e},e.prototype.removeItem=function(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{var t=e.next,o=e.previous;if(!t||!o)throw new Error("Invalid list");t.previous=o,o.next=t}},e.prototype.touch=function(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;var o=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(o.previous=i,i.next=o),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===n.Last){if(e===this._tail)return;o=e.next,i=e.previous;e===this._head?(o.previous=void 0,this._head=o):(o.previous=i,i.next=o),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}},e}();t.LinkedMap=i},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var n=o(302),i=o(303),r=o(150),s=o(150),a=o(183),l=o(184);t.generateRandomPipeName=function(){var t=r.randomBytes(21).toString("hex");return"win32"===e.platform?"\\\\.\\pipe\\vscode-jsonrpc-"+t+"-sock":n.join(i.tmpdir(),"vscode-"+t+".sock")},t.createClientPipeTransport=function(e,t){var o;void 0===t&&(t="utf-8");var n=new Promise((function(e,t){o=e}));return new Promise((function(i,r){var u=s.createServer((function(e){u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])}));u.on("error",r),u.listen(e,(function(){u.removeListener("error",r),i({onConnected:function(){return n}})}))}))},t.createServerPipeTransport=function(e,t){void 0===t&&(t="utf-8");var o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(150),i=o(183),r=o(184);t.createClientSocketTransport=function(e,t){var o;void 0===t&&(t="utf-8");var s=new Promise((function(e,t){o=e}));return new Promise((function(a,l){var u=n.createServer((function(e){u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])}));u.on("error",l),u.listen(e,"127.0.0.1",(function(){u.removeListener("error",l),a({onConnected:function(){return s}})}))}))},t.createServerSocketTransport=function(e,t){void 0===t&&(t="utf-8");var o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(170);t.Disposable=n.Disposable;var i=function(){function e(){this.disposables=[]}return e.prototype.dispose=function(){for(;0!==this.disposables.length;)this.disposables.pop().dispose()},e.prototype.push=function(e){var t=this.disposables;return t.push(e),{dispose:function(){var o=t.indexOf(e);-1!==o&&t.splice(o,1)}}},e}();t.DisposableCollection=i},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(242),i=o(305),r=o(306);t.createWebSocketConnection=function(e,t){var o=new i.WebSocketMessageReader(e),s=new r.WebSocketMessageWriter(e),a=n.createMessageConnection(o,s,t);return a.onClose((function(){return a.dispose()})),a}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(304),i=o(307);function r(e){return{send:function(t){return e.send(t)},onMessage:function(t){return e.onmessage=function(e){return t(e.data)}},onError:function(t){return e.onerror=function(e){"message"in e&&t(e.message)}},onClose:function(t){return e.onclose=function(e){return t(e.code,e.reason)}},dispose:function(){return e.close()}}}t.listen=function(e){var t=e.webSocket,o=e.onConnection,s=e.logger||new i.ConsoleLogger;t.onopen=function(){var e=r(t),i=n.createWebSocketConnection(e,s);o(i)}},t.toSocket=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(171);var i;!function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.serverErrorStart=-32099,e.serverErrorEnd=-32e3,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.RequestCancelled=-32800,e.MessageWriteError=1,e.MessageReadError=2}(i=t.ErrorCodes||(t.ErrorCodes={}));class r extends Error{constructor(e,t,o){super(t),this.code=n.number(e)?e:i.UnknownErrorCode,this.data=o,Object.setPrototypeOf(this,r.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}}t.ResponseError=r;class s{constructor(e,t){this._method=e,this._numberOfParams=t}get method(){return this._method}get numberOfParams(){return this._numberOfParams}}t.AbstractMessageType=s;t.RequestType0=class extends s{constructor(e){super(e,0),this._=void 0}};t.RequestType=class extends s{constructor(e){super(e,1),this._=void 0}};t.RequestType1=class extends s{constructor(e){super(e,1),this._=void 0}};t.RequestType2=class extends s{constructor(e){super(e,2),this._=void 0}};t.RequestType3=class extends s{constructor(e){super(e,3),this._=void 0}};t.RequestType4=class extends s{constructor(e){super(e,4),this._=void 0}};t.RequestType5=class extends s{constructor(e){super(e,5),this._=void 0}};t.RequestType6=class extends s{constructor(e){super(e,6),this._=void 0}};t.RequestType7=class extends s{constructor(e){super(e,7),this._=void 0}};t.RequestType8=class extends s{constructor(e){super(e,8),this._=void 0}};t.RequestType9=class extends s{constructor(e){super(e,9),this._=void 0}};t.NotificationType=class extends s{constructor(e){super(e,1),this._=void 0}};t.NotificationType0=class extends s{constructor(e){super(e,0),this._=void 0}};t.NotificationType1=class extends s{constructor(e){super(e,1),this._=void 0}};t.NotificationType2=class extends s{constructor(e){super(e,2),this._=void 0}};t.NotificationType3=class extends s{constructor(e){super(e,3),this._=void 0}};t.NotificationType4=class extends s{constructor(e){super(e,4),this._=void 0}};t.NotificationType5=class extends s{constructor(e){super(e,5),this._=void 0}};t.NotificationType6=class extends s{constructor(e){super(e,6),this._=void 0}};t.NotificationType7=class extends s{constructor(e){super(e,7),this._=void 0}};t.NotificationType8=class extends s{constructor(e){super(e,8),this._=void 0}};t.NotificationType9=class extends s{constructor(e){super(e,9),this._=void 0}},t.isRequestMessage=function(e){let t=e;return t&&n.string(t.method)&&(n.string(t.id)||n.number(t.id))},t.isNotificationMessage=function(e){let t=e;return t&&n.string(t.method)&&void 0===e.id},t.isResponseMessage=function(e){let t=e;return t&&(void 0!==t.result||!!t.error)&&(n.string(t.id)||n.number(t.id)||null===t.id)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(186),i=o(171);var r;!function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None}),e.is=function(t){let o=t;return o&&(o===e.None||o===e.Cancelled||i.boolean(o.isCancellationRequested)&&!!o.onCancellationRequested)}}(r=t.CancellationToken||(t.CancellationToken={}));const s=Object.freeze((function(e,t){let o=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(o)}}}));class a{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this._emitter=void 0))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}}t.CancellationTokenSource=class{get token(){return this._token||(this._token=new a),this._token}cancel(){this._token?this._token.cancel():this._token=r.Cancelled}dispose(){this.cancel()}}},function(e,t,o){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.None=0,e.First=1,e.Last=2}(n=t.Touch||(t.Touch={}));t.LinkedMap=class{constructor(){this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}has(e){return this._map.has(e)}get(e){const t=this._map.get(e);if(t)return t.value}set(e,t,o=n.None){let i=this._map.get(e);if(i)i.value=t,o!==n.None&&this.touch(i,o);else{switch(i={key:e,value:t,next:void 0,previous:void 0},o){case n.None:this.addItemLast(i);break;case n.First:this.addItemFirst(i);break;case n.Last:default:this.addItemLast(i)}this._map.set(e,i),this._size++}}delete(e){const t=this._map.get(e);return!!t&&(this._map.delete(e),this.removeItem(t),this._size--,!0)}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let o=this._head;for(;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.next}forEachReverse(e,t){let o=this._tail;for(;o;)t?e.bind(t)(o.value,o.key,this):e(o.value,o.key,this),o=o.previous}values(){let e=[],t=this._head;for(;t;)e.push(t.value),t=t.next;return e}keys(){let e=[],t=this._head;for(;t;)e.push(t.key),t=t.next;return e}addItemFirst(e){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");e.next=this._head,this._head.previous=e}else this._tail=e;this._head=e}addItemLast(e){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");e.previous=this._tail,this._tail.next=e}else this._head=e;this._tail=e}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head)this._head=e.next;else if(e===this._tail)this._tail=e.previous;else{const t=e.next,o=e.previous;if(!t||!o)throw new Error("Invalid list");t.previous=o,o.next=t}}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(t===n.First||t===n.Last)if(t===n.First){if(e===this._head)return;const t=e.next,o=e.previous;e===this._tail?(o.next=void 0,this._tail=o):(t.previous=o,o.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e}else if(t===n.Last){if(e===this._tail)return;const t=e.next,o=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=o,o.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e}}}},function(e,t,o){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const n=o(302),i=o(303),r=o(150),s=o(150),a=o(243),l=o(244);t.generateRandomPipeName=function(){const t=r.randomBytes(21).toString("hex");return"win32"===e.platform?`\\\\.\\pipe\\vscode-jsonrpc-${t}-sock`:n.join(i.tmpdir(),`vscode-${t}.sock`)},t.createClientPipeTransport=function(e,t="utf-8"){let o,n=new Promise((e,t)=>{o=e});return new Promise((i,r)=>{let u=s.createServer(e=>{u.close(),o([new a.SocketMessageReader(e,t),new l.SocketMessageWriter(e,t)])});u.on("error",r),u.listen(e,()=>{u.removeListener("error",r),i({onConnected:()=>n})})})},t.createServerPipeTransport=function(e,t="utf-8"){const o=s.createConnection(e);return[new a.SocketMessageReader(o,t),new l.SocketMessageWriter(o,t)]}}).call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(150),i=o(243),r=o(244);t.createClientSocketTransport=function(e,t="utf-8"){let o,s=new Promise((e,t)=>{o=e});return new Promise((a,l)=>{let u=n.createServer(e=>{u.close(),o([new i.SocketMessageReader(e,t),new r.SocketMessageWriter(e,t)])});u.on("error",l),u.listen(e,"127.0.0.1",()=>{u.removeListener("error",l),a({onConnected:()=>s})})})},t.createServerSocketTransport=function(e,t="utf-8"){const o=n.createConnection(e,"127.0.0.1");return[new i.SocketMessageReader(o,t),new r.SocketMessageWriter(o,t)]}},function(e,t,o){"use strict";var n,i,r,s,a,l,u,c,h,d,g,p,f,m,_,y,v,b,E;o.r(t),o.d(t,"Position",(function(){return n})),o.d(t,"Range",(function(){return i})),o.d(t,"Location",(function(){return r})),o.d(t,"LocationLink",(function(){return s})),o.d(t,"Color",(function(){return a})),o.d(t,"ColorInformation",(function(){return l})),o.d(t,"ColorPresentation",(function(){return u})),o.d(t,"FoldingRangeKind",(function(){return c})),o.d(t,"FoldingRange",(function(){return h})),o.d(t,"DiagnosticRelatedInformation",(function(){return d})),o.d(t,"DiagnosticSeverity",(function(){return g})),o.d(t,"Diagnostic",(function(){return p})),o.d(t,"Command",(function(){return f})),o.d(t,"TextEdit",(function(){return m})),o.d(t,"TextDocumentEdit",(function(){return _})),o.d(t,"CreateFile",(function(){return y})),o.d(t,"RenameFile",(function(){return v})),o.d(t,"DeleteFile",(function(){return b})),o.d(t,"WorkspaceEdit",(function(){return E})),o.d(t,"WorkspaceChange",(function(){return U})),o.d(t,"TextDocumentIdentifier",(function(){return C})),o.d(t,"VersionedTextDocumentIdentifier",(function(){return S})),o.d(t,"TextDocumentItem",(function(){return T})),o.d(t,"MarkupKind",(function(){return w})),o.d(t,"MarkupContent",(function(){return k})),o.d(t,"CompletionItemKind",(function(){return O})),o.d(t,"InsertTextFormat",(function(){return R})),o.d(t,"CompletionItem",(function(){return N})),o.d(t,"CompletionList",(function(){return L})),o.d(t,"MarkedString",(function(){return I})),o.d(t,"Hover",(function(){return D})),o.d(t,"ParameterInformation",(function(){return A})),o.d(t,"SignatureInformation",(function(){return P})),o.d(t,"DocumentHighlightKind",(function(){return M})),o.d(t,"DocumentHighlight",(function(){return x})),o.d(t,"SymbolKind",(function(){return B})),o.d(t,"SymbolInformation",(function(){return F})),o.d(t,"DocumentSymbol",(function(){return K})),o.d(t,"CodeActionKind",(function(){return V})),o.d(t,"CodeActionContext",(function(){return W})),o.d(t,"CodeAction",(function(){return j})),o.d(t,"CodeLens",(function(){return G})),o.d(t,"FormattingOptions",(function(){return z})),o.d(t,"DocumentLink",(function(){return Y})),o.d(t,"EOL",(function(){return $})),o.d(t,"TextDocument",(function(){return X})),o.d(t,"TextDocumentSaveReason",(function(){return q})),function(e){e.create=function(e,t){return{line:e,character:t}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.number(t.line)&&J.number(t.character)}}(n||(n={})),function(e){e.create=function(e,t,o,i){if(J.number(e)&&J.number(t)&&J.number(o)&&J.number(i))return{start:n.create(e,t),end:n.create(o,i)};if(n.is(e)&&n.is(t))return{start:e,end:t};throw new Error("Range#create called with invalid arguments["+e+", "+t+", "+o+", "+i+"]")},e.is=function(e){var t=e;return J.objectLiteral(t)&&n.is(t.start)&&n.is(t.end)}}(i||(i={})),function(e){e.create=function(e,t){return{uri:e,range:t}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.string(t.uri)||J.undefined(t.uri))}}(r||(r={})),function(e){e.create=function(e,t,o,n){return{targetUri:e,targetRange:t,targetSelectionRange:o,originSelectionRange:n}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.targetRange)&&J.string(t.targetUri)&&(i.is(t.targetSelectionRange)||J.undefined(t.targetSelectionRange))&&(i.is(t.originSelectionRange)||J.undefined(t.originSelectionRange))}}(s||(s={})),function(e){e.create=function(e,t,o,n){return{red:e,green:t,blue:o,alpha:n}},e.is=function(e){var t=e;return J.number(t.red)&&J.number(t.green)&&J.number(t.blue)&&J.number(t.alpha)}}(a||(a={})),function(e){e.create=function(e,t){return{range:e,color:t}},e.is=function(e){var t=e;return i.is(t.range)&&a.is(t.color)}}(l||(l={})),function(e){e.create=function(e,t,o){return{label:e,textEdit:t,additionalTextEdits:o}},e.is=function(e){var t=e;return J.string(t.label)&&(J.undefined(t.textEdit)||m.is(t))&&(J.undefined(t.additionalTextEdits)||J.typedArray(t.additionalTextEdits,m.is))}}(u||(u={})),function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(c||(c={})),function(e){e.create=function(e,t,o,n,i){var r={startLine:e,endLine:t};return J.defined(o)&&(r.startCharacter=o),J.defined(n)&&(r.endCharacter=n),J.defined(i)&&(r.kind=i),r},e.is=function(e){var t=e;return J.number(t.startLine)&&J.number(t.startLine)&&(J.undefined(t.startCharacter)||J.number(t.startCharacter))&&(J.undefined(t.endCharacter)||J.number(t.endCharacter))&&(J.undefined(t.kind)||J.string(t.kind))}}(h||(h={})),function(e){e.create=function(e,t){return{location:e,message:t}},e.is=function(e){var t=e;return J.defined(t)&&r.is(t.location)&&J.string(t.message)}}(d||(d={})),function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4}(g||(g={})),function(e){e.create=function(e,t,o,n,i,r){var s={range:e,message:t};return J.defined(o)&&(s.severity=o),J.defined(n)&&(s.code=n),J.defined(i)&&(s.source=i),J.defined(r)&&(s.relatedInformation=r),s},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&J.string(t.message)&&(J.number(t.severity)||J.undefined(t.severity))&&(J.number(t.code)||J.string(t.code)||J.undefined(t.code))&&(J.string(t.source)||J.undefined(t.source))&&(J.undefined(t.relatedInformation)||J.typedArray(t.relatedInformation,d.is))}}(p||(p={})),function(e){e.create=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i={title:e,command:t};return J.defined(o)&&o.length>0&&(i.arguments=o),i},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.title)&&J.string(t.command)}}(f||(f={})),function(e){e.replace=function(e,t){return{range:e,newText:t}},e.insert=function(e,t){return{range:{start:e,end:e},newText:t}},e.del=function(e){return{range:e,newText:""}},e.is=function(e){var t=e;return J.objectLiteral(t)&&J.string(t.newText)&&i.is(t.range)}}(m||(m={})),function(e){e.create=function(e,t){return{textDocument:e,edits:t}},e.is=function(e){var t=e;return J.defined(t)&&S.is(t.textDocument)&&Array.isArray(t.edits)}}(_||(_={})),function(e){e.create=function(e,t){var o={kind:"create",uri:e};return void 0===t||void 0===t.overwrite&&void 0===t.ignoreIfExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"create"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(y||(y={})),function(e){e.create=function(e,t,o){var n={kind:"rename",oldUri:e,newUri:t};return void 0===o||void 0===o.overwrite&&void 0===o.ignoreIfExists||(n.options=o),n},e.is=function(e){var t=e;return t&&"rename"===t.kind&&J.string(t.oldUri)&&J.string(t.newUri)&&(void 0===t.options||(void 0===t.options.overwrite||J.boolean(t.options.overwrite))&&(void 0===t.options.ignoreIfExists||J.boolean(t.options.ignoreIfExists)))}}(v||(v={})),function(e){e.create=function(e,t){var o={kind:"delete",uri:e};return void 0===t||void 0===t.recursive&&void 0===t.ignoreIfNotExists||(o.options=t),o},e.is=function(e){var t=e;return t&&"delete"===t.kind&&J.string(t.uri)&&(void 0===t.options||(void 0===t.options.recursive||J.boolean(t.options.recursive))&&(void 0===t.options.ignoreIfNotExists||J.boolean(t.options.ignoreIfNotExists)))}}(b||(b={})),function(e){e.is=function(e){var t=e;return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(e){return J.string(e.kind)?y.is(e)||v.is(e)||b.is(e):_.is(e)})))}}(E||(E={}));var C,S,T,w,k,O,R,N,L,I,D,A,P,M,x,B,F,H=function(){function e(e){this.edits=e}return e.prototype.insert=function(e,t){this.edits.push(m.insert(e,t))},e.prototype.replace=function(e,t){this.edits.push(m.replace(e,t))},e.prototype.delete=function(e){this.edits.push(m.del(e))},e.prototype.add=function(e){this.edits.push(e)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e}(),U=function(){function e(e){var t=this;this._textEditChanges=Object.create(null),e&&(this._workspaceEdit=e,e.documentChanges?e.documentChanges.forEach((function(e){if(_.is(e)){var o=new H(e.edits);t._textEditChanges[e.textDocument.uri]=o}})):e.changes&&Object.keys(e.changes).forEach((function(o){var n=new H(e.changes[o]);t._textEditChanges[o]=n})))}return Object.defineProperty(e.prototype,"edit",{get:function(){return this._workspaceEdit},enumerable:!0,configurable:!0}),e.prototype.getTextEditChange=function(e){if(S.is(e)){if(this._workspaceEdit||(this._workspaceEdit={documentChanges:[]}),!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var t=e;if(!(n=this._textEditChanges[t.uri])){var o={textDocument:t,edits:i=[]};this._workspaceEdit.documentChanges.push(o),n=new H(i),this._textEditChanges[t.uri]=n}return n}if(this._workspaceEdit||(this._workspaceEdit={changes:Object.create(null)}),!this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var n;if(!(n=this._textEditChanges[e])){var i=[];this._workspaceEdit.changes[e]=i,n=new H(i),this._textEditChanges[e]=n}return n},e.prototype.createFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(y.create(e,t))},e.prototype.renameFile=function(e,t,o){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(v.create(e,t,o))},e.prototype.deleteFile=function(e,t){this.checkDocumentChanges(),this._workspaceEdit.documentChanges.push(b.create(e,t))},e.prototype.checkDocumentChanges=function(){if(!this._workspaceEdit||!this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.")},e}();!function(e){e.create=function(e){return{uri:e}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)}}(C||(C={})),function(e){e.create=function(e,t){return{uri:e,version:t}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&(null===t.version||J.number(t.version))}}(S||(S={})),function(e){e.create=function(e,t,o,n){return{uri:e,languageId:t,version:o,text:n}},e.is=function(e){var t=e;return J.defined(t)&&J.string(t.uri)&&J.string(t.languageId)&&J.number(t.version)&&J.string(t.text)}}(T||(T={})),function(e){e.PlainText="plaintext",e.Markdown="markdown"}(w||(w={})),function(e){e.is=function(t){var o=t;return o===e.PlainText||o===e.Markdown}}(w||(w={})),function(e){e.is=function(e){var t=e;return J.objectLiteral(e)&&w.is(t.kind)&&J.string(t.value)}}(k||(k={})),function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25}(O||(O={})),function(e){e.PlainText=1,e.Snippet=2}(R||(R={})),function(e){e.create=function(e){return{label:e}}}(N||(N={})),function(e){e.create=function(e,t){return{items:e||[],isIncomplete:!!t}}}(L||(L={})),function(e){e.fromPlainText=function(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},e.is=function(e){var t=e;return J.string(t)||J.objectLiteral(t)&&J.string(t.language)&&J.string(t.value)}}(I||(I={})),function(e){e.is=function(e){var t=e;return!!t&&J.objectLiteral(t)&&(k.is(t.contents)||I.is(t.contents)||J.typedArray(t.contents,I.is))&&(void 0===e.range||i.is(e.range))}}(D||(D={})),function(e){e.create=function(e,t){return t?{label:e,documentation:t}:{label:e}}}(A||(A={})),function(e){e.create=function(e,t){for(var o=[],n=2;n<arguments.length;n++)o[n-2]=arguments[n];var i={label:e};return J.defined(t)&&(i.documentation=t),J.defined(o)?i.parameters=o:i.parameters=[],i}}(P||(P={})),function(e){e.Text=1,e.Read=2,e.Write=3}(M||(M={})),function(e){e.create=function(e,t){var o={range:e};return J.number(t)&&(o.kind=t),o}}(x||(x={})),function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26}(B||(B={})),function(e){e.create=function(e,t,o,n,i){var r={name:e,kind:t,location:{uri:n,range:o}};return i&&(r.containerName=i),r}}(F||(F={}));var V,W,j,G,z,K=function(){};!function(e){e.create=function(e,t,o,n,i,r){var s={name:e,detail:t,kind:o,range:n,selectionRange:i};return void 0!==r&&(s.children=r),s},e.is=function(e){var t=e;return t&&J.string(t.name)&&J.number(t.kind)&&i.is(t.range)&&i.is(t.selectionRange)&&(void 0===t.detail||J.string(t.detail))&&(void 0===t.deprecated||J.boolean(t.deprecated))&&(void 0===t.children||Array.isArray(t.children))}}(K||(K={})),function(e){e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports"}(V||(V={})),function(e){e.create=function(e,t){var o={diagnostics:e};return null!=t&&(o.only=t),o},e.is=function(e){var t=e;return J.defined(t)&&J.typedArray(t.diagnostics,p.is)&&(void 0===t.only||J.typedArray(t.only,J.string))}}(W||(W={})),function(e){e.create=function(e,t,o){var n={title:e};return f.is(t)?n.command=t:n.edit=t,void 0!==o&&(n.kind=o),n},e.is=function(e){var t=e;return t&&J.string(t.title)&&(void 0===t.diagnostics||J.typedArray(t.diagnostics,p.is))&&(void 0===t.kind||J.string(t.kind))&&(void 0!==t.edit||void 0!==t.command)&&(void 0===t.command||f.is(t.command))&&(void 0===t.edit||E.is(t.edit))}}(j||(j={})),function(e){e.create=function(e,t){var o={range:e};return J.defined(t)&&(o.data=t),o},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.undefined(t.command)||f.is(t.command))}}(G||(G={})),function(e){e.create=function(e,t){return{tabSize:e,insertSpaces:t}},e.is=function(e){var t=e;return J.defined(t)&&J.number(t.tabSize)&&J.boolean(t.insertSpaces)}}(z||(z={}));var Y=function(){};!function(e){e.create=function(e,t,o){return{range:e,target:t,data:o}},e.is=function(e){var t=e;return J.defined(t)&&i.is(t.range)&&(J.undefined(t.target)||J.string(t.target))}}(Y||(Y={}));var X,q,$=["\n","\r\n","\r"];!function(e){e.create=function(e,t,o,n){return new Z(e,t,o,n)},e.is=function(e){var t=e;return!!(J.defined(t)&&J.string(t.uri)&&(J.undefined(t.languageId)||J.string(t.languageId))&&J.number(t.lineCount)&&J.func(t.getText)&&J.func(t.positionAt)&&J.func(t.offsetAt))},e.applyEdits=function(e,t){for(var o=e.getText(),n=function e(t,o){if(t.length<=1)return t;var n=t.length/2|0;var i=t.slice(0,n);var r=t.slice(n);e(i,o);e(r,o);var s=0;var a=0;var l=0;for(;s<i.length&&a<r.length;){var u=o(i[s],r[a]);t[l++]=u<=0?i[s++]:r[a++]}for(;s<i.length;)t[l++]=i[s++];for(;a<r.length;)t[l++]=r[a++];return t}(t,(function(e,t){var o=e.range.start.line-t.range.start.line;return 0===o?e.range.start.character-t.range.start.character:o})),i=o.length,r=n.length-1;r>=0;r--){var s=n[r],a=e.offsetAt(s.range.start),l=e.offsetAt(s.range.end);if(!(l<=i))throw new Error("Overlapping edit");o=o.substring(0,a)+s.newText+o.substring(l,o.length),i=a}return o}}(X||(X={})),function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3}(q||(q={}));var J,Z=function(){function e(e,t,o,n){this._uri=e,this._languageId=t,this._version=o,this._content=n,this._lineOffsets=null}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!0,configurable:!0}),e.prototype.getText=function(e){if(e){var t=this.offsetAt(e.start),o=this.offsetAt(e.end);return this._content.substring(t,o)}return this._content},e.prototype.update=function(e,t){this._content=e.text,this._version=t,this._lineOffsets=null},e.prototype.getLineOffsets=function(){if(null===this._lineOffsets){for(var e=[],t=this._content,o=!0,n=0;n<t.length;n++){o&&(e.push(n),o=!1);var i=t.charAt(n);o="\r"===i||"\n"===i,"\r"===i&&n+1<t.length&&"\n"===t.charAt(n+1)&&n++}o&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets},e.prototype.positionAt=function(e){e=Math.max(Math.min(e,this._content.length),0);var t=this.getLineOffsets(),o=0,i=t.length;if(0===i)return n.create(0,e);for(;o<i;){var r=Math.floor((o+i)/2);t[r]>e?i=r:o=r+1}var s=o-1;return n.create(s,e-t[s])},e.prototype.offsetAt=function(e){var t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;var o=t[e.line],n=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(o+e.character,n),o)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!0,configurable:!0}),e}();!function(e){var t=Object.prototype.toString;e.defined=function(e){return void 0!==e},e.undefined=function(e){return void 0===e},e.boolean=function(e){return!0===e||!1===e},e.string=function(e){return"[object String]"===t.call(e)},e.number=function(e){return"[object Number]"===t.call(e)},e.func=function(e){return"[object Function]"===t.call(e)},e.objectLiteral=function(e){return null!==e&&"object"==typeof e},e.typedArray=function(e,t){return Array.isArray(e)&&e.every(t)}}(J||(J={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(245),i=o(122),r=o(511);t.ImplementationRequest=r.ImplementationRequest;const s=o(512);t.TypeDefinitionRequest=s.TypeDefinitionRequest;const a=o(513);t.WorkspaceFoldersRequest=a.WorkspaceFoldersRequest,t.DidChangeWorkspaceFoldersNotification=a.DidChangeWorkspaceFoldersNotification;const l=o(514);t.ConfigurationRequest=l.ConfigurationRequest;const u=o(515);t.DocumentColorRequest=u.DocumentColorRequest,t.ColorPresentationRequest=u.ColorPresentationRequest;const c=o(516);t.FoldingRangeRequest=c.FoldingRangeRequest;const h=o(517);t.DeclarationRequest=h.DeclarationRequest,function(e){e.is=function(e){let t=e;return n.string(t.language)||n.string(t.scheme)||n.string(t.pattern)}}(t.DocumentFilter||(t.DocumentFilter={})),function(e){e.type=new i.RequestType("client/registerCapability")}(t.RegistrationRequest||(t.RegistrationRequest={})),function(e){e.type=new i.RequestType("client/unregisterCapability")}(t.UnregistrationRequest||(t.UnregistrationRequest={})),function(e){e.Create="create",e.Rename="rename",e.Delete="delete"}(t.ResourceOperationKind||(t.ResourceOperationKind={})),function(e){e.Abort="abort",e.Transactional="transactional",e.TextOnlyTransactional="textOnlyTransactional",e.Undo="undo"}(t.FailureHandlingKind||(t.FailureHandlingKind={})),function(e){e.None=0,e.Full=1,e.Incremental=2}(t.TextDocumentSyncKind||(t.TextDocumentSyncKind={})),function(e){e.type=new i.RequestType("initialize")}(t.InitializeRequest||(t.InitializeRequest={})),function(e){e.unknownProtocolVersion=1}(t.InitializeError||(t.InitializeError={})),function(e){e.type=new i.NotificationType("initialized")}(t.InitializedNotification||(t.InitializedNotification={})),function(e){e.type=new i.RequestType0("shutdown")}(t.ShutdownRequest||(t.ShutdownRequest={})),function(e){e.type=new i.NotificationType0("exit")}(t.ExitNotification||(t.ExitNotification={})),function(e){e.type=new i.NotificationType("workspace/didChangeConfiguration")}(t.DidChangeConfigurationNotification||(t.DidChangeConfigurationNotification={})),function(e){e.Error=1,e.Warning=2,e.Info=3,e.Log=4}(t.MessageType||(t.MessageType={})),function(e){e.type=new i.NotificationType("window/showMessage")}(t.ShowMessageNotification||(t.ShowMessageNotification={})),function(e){e.type=new i.RequestType("window/showMessageRequest")}(t.ShowMessageRequest||(t.ShowMessageRequest={})),function(e){e.type=new i.NotificationType("window/logMessage")}(t.LogMessageNotification||(t.LogMessageNotification={})),function(e){e.type=new i.NotificationType("telemetry/event")}(t.TelemetryEventNotification||(t.TelemetryEventNotification={})),function(e){e.type=new i.NotificationType("textDocument/didOpen")}(t.DidOpenTextDocumentNotification||(t.DidOpenTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didChange")}(t.DidChangeTextDocumentNotification||(t.DidChangeTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didClose")}(t.DidCloseTextDocumentNotification||(t.DidCloseTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/didSave")}(t.DidSaveTextDocumentNotification||(t.DidSaveTextDocumentNotification={})),function(e){e.type=new i.NotificationType("textDocument/willSave")}(t.WillSaveTextDocumentNotification||(t.WillSaveTextDocumentNotification={})),function(e){e.type=new i.RequestType("textDocument/willSaveWaitUntil")}(t.WillSaveTextDocumentWaitUntilRequest||(t.WillSaveTextDocumentWaitUntilRequest={})),function(e){e.type=new i.NotificationType("workspace/didChangeWatchedFiles")}(t.DidChangeWatchedFilesNotification||(t.DidChangeWatchedFilesNotification={})),function(e){e.Created=1,e.Changed=2,e.Deleted=3}(t.FileChangeType||(t.FileChangeType={})),function(e){e.Create=1,e.Change=2,e.Delete=4}(t.WatchKind||(t.WatchKind={})),function(e){e.type=new i.NotificationType("textDocument/publishDiagnostics")}(t.PublishDiagnosticsNotification||(t.PublishDiagnosticsNotification={})),function(e){e.Invoked=1,e.TriggerCharacter=2,e.TriggerForIncompleteCompletions=3}(t.CompletionTriggerKind||(t.CompletionTriggerKind={})),function(e){e.type=new i.RequestType("textDocument/completion")}(t.CompletionRequest||(t.CompletionRequest={})),function(e){e.type=new i.RequestType("completionItem/resolve")}(t.CompletionResolveRequest||(t.CompletionResolveRequest={})),function(e){e.type=new i.RequestType("textDocument/hover")}(t.HoverRequest||(t.HoverRequest={})),function(e){e.type=new i.RequestType("textDocument/signatureHelp")}(t.SignatureHelpRequest||(t.SignatureHelpRequest={})),function(e){e.type=new i.RequestType("textDocument/definition")}(t.DefinitionRequest||(t.DefinitionRequest={})),function(e){e.type=new i.RequestType("textDocument/references")}(t.ReferencesRequest||(t.ReferencesRequest={})),function(e){e.type=new i.RequestType("textDocument/documentHighlight")}(t.DocumentHighlightRequest||(t.DocumentHighlightRequest={})),function(e){e.type=new i.RequestType("textDocument/documentSymbol")}(t.DocumentSymbolRequest||(t.DocumentSymbolRequest={})),function(e){e.type=new i.RequestType("workspace/symbol")}(t.WorkspaceSymbolRequest||(t.WorkspaceSymbolRequest={})),function(e){e.type=new i.RequestType("textDocument/codeAction")}(t.CodeActionRequest||(t.CodeActionRequest={})),function(e){e.type=new i.RequestType("textDocument/codeLens")}(t.CodeLensRequest||(t.CodeLensRequest={})),function(e){e.type=new i.RequestType("codeLens/resolve")}(t.CodeLensResolveRequest||(t.CodeLensResolveRequest={})),function(e){e.type=new i.RequestType("textDocument/formatting")}(t.DocumentFormattingRequest||(t.DocumentFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/rangeFormatting")}(t.DocumentRangeFormattingRequest||(t.DocumentRangeFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/onTypeFormatting")}(t.DocumentOnTypeFormattingRequest||(t.DocumentOnTypeFormattingRequest={})),function(e){e.type=new i.RequestType("textDocument/rename")}(t.RenameRequest||(t.RenameRequest={})),function(e){e.type=new i.RequestType("textDocument/prepareRename")}(t.PrepareRenameRequest||(t.PrepareRenameRequest={})),function(e){e.type=new i.RequestType("textDocument/documentLink")}(t.DocumentLinkRequest||(t.DocumentLinkRequest={})),function(e){e.type=new i.RequestType("documentLink/resolve")}(t.DocumentLinkResolveRequest||(t.DocumentLinkResolveRequest={})),function(e){e.type=new i.RequestType("workspace/executeCommand")}(t.ExecuteCommandRequest||(t.ExecuteCommandRequest={})),function(e){e.type=new i.RequestType("workspace/applyEdit")}(t.ApplyWorkspaceEditRequest||(t.ApplyWorkspaceEditRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/implementation")}(t.ImplementationRequest||(t.ImplementationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/typeDefinition")}(t.TypeDefinitionRequest||(t.TypeDefinitionRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType0("workspace/workspaceFolders")}(t.WorkspaceFoldersRequest||(t.WorkspaceFoldersRequest={})),function(e){e.type=new n.NotificationType("workspace/didChangeWorkspaceFolders")}(t.DidChangeWorkspaceFoldersNotification||(t.DidChangeWorkspaceFoldersNotification={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("workspace/configuration")}(t.ConfigurationRequest||(t.ConfigurationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/documentColor")}(t.DocumentColorRequest||(t.DocumentColorRequest={})),function(e){e.type=new n.RequestType("textDocument/colorPresentation")}(t.ColorPresentationRequest||(t.ColorPresentationRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.Comment="comment",e.Imports="imports",e.Region="region"}(t.FoldingRangeKind||(t.FoldingRangeKind={})),function(e){e.type=new n.RequestType("textDocument/foldingRange")}(t.FoldingRangeRequest||(t.FoldingRangeRequest={}))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=o(122);!function(e){e.type=new n.RequestType("textDocument/declaration")}(t.DeclarationRequest||(t.DeclarationRequest={}))},function(e,t,o){"use strict";var n=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},i=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(n(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var r=o(101),s=o(245);t.createConnection=function(e,t,o){return e.onError((function(e){t(e[0],e[1],e[2])})),e.onClose(o),{listen:function(){return e.listen()},sendRequest:function(t){for(var o=[],n=1;n<arguments.length;n++)o[n-1]=arguments[n];return e.sendRequest.apply(e,i([s.string(t)?t:t.method],o))},onRequest:function(t,o){return e.onRequest(s.string(t)?t:t.method,o)},sendNotification:function(t,o){return e.sendNotification(s.string(t)?t:t.method,o)},onNotification:function(t,o){return e.onNotification(s.string(t)?t:t.method,o)},trace:function(t,o,n){return void 0===n&&(n=!1),e.trace(t,o,n)},initialize:function(t){return e.sendRequest(r.InitializeRequest.type,t)},shutdown:function(){return e.sendRequest(r.ShutdownRequest.type,void 0)},exit:function(){return e.sendNotification(r.ExitNotification.type)},onLogMessage:function(t){return e.onNotification(r.LogMessageNotification.type,t)},onShowMessage:function(t){return e.onNotification(r.ShowMessageNotification.type,t)},onTelemetry:function(t){return e.onNotification(r.TelemetryEventNotification.type,t)},didChangeConfiguration:function(t){return e.sendNotification(r.DidChangeConfigurationNotification.type,t)},didChangeWatchedFiles:function(t){return e.sendNotification(r.DidChangeWatchedFilesNotification.type,t)},didOpenTextDocument:function(t){return e.sendNotification(r.DidOpenTextDocumentNotification.type,t)},didChangeTextDocument:function(t){return e.sendNotification(r.DidChangeTextDocumentNotification.type,t)},didCloseTextDocument:function(t){return e.sendNotification(r.DidCloseTextDocumentNotification.type,t)},didSaveTextDocument:function(t){return e.sendNotification(r.DidSaveTextDocumentNotification.type,t)},onDiagnostics:function(t){return e.onNotification(r.PublishDiagnosticsNotification.type,t)},dispose:function(){return e.dispose()}}}},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=function(e,t){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(151),s=o(525),a=o(526),l=o(527),u=o(528),c=o(529);!function(e){for(var o in e)t.hasOwnProperty(o)||(t[o]=e[o])}(o(151));var h=function(e){function t(o){var n=o.id,i=o.name,r=o.clientOptions,s=o.connectionProvider,a=e.call(this,n||i.toLowerCase(),i,r)||this;a.connectionProvider=s,a.createConnection=a.doCreateConnection.bind(a);var l=a;return l._p2c=new Proxy(l._p2c,{get:function(e,o){return"asUri"===o?e[o]:t.bypassConversion}}),l._c2p=new Proxy(l._c2p,{get:function(e,o){return"asUri"===o?e[o]:"asCompletionParams"===o?function(t,o,n){return{textDocument:e.asTextDocumentIdentifier(t),position:o,context:n}}:"asWillSaveTextDocumentParams"===o?function(t){return{textDocument:e.asTextDocumentIdentifier(t.document),reason:t.reason}}:o.endsWith("Params")?e[o]:t.bypassConversion}}),a}return i(t,e),t.prototype.doCreateConnection=function(){var e=this.handleConnectionError.bind(this),t=this.handleConnectionClosed.bind(this);return this.connectionProvider.get(e,t,this.outputChannel)},t.prototype.createMessageTransports=function(e){throw new Error("Unsupported")},t.prototype.registerBuiltinFeatures=function(){e.prototype.registerBuiltinFeatures.call(this),this.registerFeature(new s.TypeDefinitionFeature(this)),this.registerFeature(new a.ImplementationFeature(this)),this.registerFeature(new l.ColorProviderFeature(this)),this.registerFeature(new u.WorkspaceFoldersFeature(this));var o=new c.FoldingRangeFeature(this);o.asFoldingRanges=t.bypassConversion,this.registerFeature(o)},t.bypassConversion=function(e){return e||void 0},t}(r.BaseLanguageClient);t.MonacoLanguageClient=h},function(e,t,o){"use strict";var n=this&&this.__awaiter||function(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))},i=this&&this.__generator||function(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}},r=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s},s=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(r(arguments[t]));return e};Object.defineProperty(t,"__esModule",{value:!0});var a=o(521),l=o(185),u=o(121);t.createVSCodeApi=function(e){var t=this,o=function(){throw new Error("unsupported")},r=a.default,c=function(e,t){this.label=e,this.kind=t},h=function(){function e(e,t){this.range=e,this.command=t}return Object.defineProperty(e.prototype,"isResolved",{get:function(){return!!this.command},enumerable:!0,configurable:!0}),e}(),d=function(e,t){this.range=e,this.target=t},g=function(){function e(e){this.value=e,this.append=o,this.contains=o}return e.Empty=new e,e.QuickFix=new e("quickfix"),e.Refactor=new e("refactor"),e.RefactorExtract=new e("refactor.extract"),e.RefactorInline=new e("refactor.inline"),e.RefactorRewrite=new e("refactor.rewrite"),e.Source=new e("source"),e.SourceOrganizeImports=new e("source.organizeImports"),e}(),p={createFileSystemWatcher:function(t,o,n,i){var r=e();if("string"!=typeof t)throw new Error("unsupported");if(r.workspace.createFileSystemWatcher){var s=r.workspace.createFileSystemWatcher(t,o,n,i);return Object.assign(s,{ignoreCreateEvents:!!o,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!i})}return{ignoreCreateEvents:!!o,ignoreChangeEvents:!!n,ignoreDeleteEvents:!!i,onDidCreate:u.Event.None,onDidChange:u.Event.None,onDidDelete:u.Event.None,dispose:function(){}}},applyEdit:function(o){return n(t,void 0,void 0,(function(){var t;return i(this,(function(n){if(t=e(),u.WorkspaceEdit.is(o))return[2,t.workspace.applyEdit(o)];throw new Error("unsupported")}))}))},getConfiguration:function(t,n){var i=e().workspace,r=i.configurations?i.configurations.getConfiguration(t,n?n.toString():void 0):void 0,s={get:function(e,t){return r?r.get(e,t):t},has:function(e){return!!r&&r.has(e)},inspect:o,update:o};return Object.assign(s,{toJSON:function(){return r?r.toJSON():void 0}})},get onDidChangeConfiguration(){var t=e();return t.workspace.configurations?t.workspace.configurations.onDidChangeConfiguration:u.Event.None},get workspaceFolders(){var t=e().workspace.rootUri;if(t){var o=r.parse(t);return[{uri:o,index:0,name:o.toString()}]}},get textDocuments(){return e().workspace.textDocuments},get onDidOpenTextDocument(){return e().workspace.onDidOpenTextDocument},get onDidCloseTextDocument(){return e().workspace.onDidCloseTextDocument},get onDidChangeTextDocument(){var t=e();return function(e,o,n){return t.workspace.onDidChangeTextDocument((function(t){var n=t.textDocument,i=t.contentChanges;e.bind(o)({document:n,contentChanges:i})}),void 0,n)}},get onWillSaveTextDocument(){var t=e().workspace.onWillSaveTextDocument;return t?function(e,o,n){return t((function(t){var n=t.textDocument,i=t.reason,r=t.waitUntil;e.bind(o)({document:n,reason:i,waitUntil:function(e){r&&r(e)}})}),void 0,n)}:u.Event.None},get onDidSaveTextDocument(){return e().workspace.onDidSaveTextDocument||u.Event.None},onDidChangeWorkspaceFolders:u.Event.None,getWorkspaceFolder:o,asRelativePath:o,updateWorkspaceFolders:o,findFiles:o,saveAll:o,openTextDocument:o,registerTextDocumentContentProvider:o,registerTaskProvider:o,registerFileSystemProvider:o,rootPath:void 0,name:void 0},f={match:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));if(!u.DocumentIdentifier.is(o))throw new Error("unexpected document: "+JSON.stringify(o));return e().languages.match(t,o)?1:0},createDiagnosticCollection:function(t){var n=e(),i=n.languages.createDiagnosticCollection?n.languages.createDiagnosticCollection(t):void 0;return{name:t||"default",set:function(e,t){i&&(t?i.set(e.toString(),t):i.set(e.toString(),[]))},dispose:function(){i&&i.dispose()},delete:o,clear:o,forEach:o,get:o,has:o}},registerCompletionItemProvider:function(t,o){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var r=e().languages;if(!r.registerCompletionItemProvider)return l.Disposable.create((function(){}));var a=o.resolveCompletionItem;return r.registerCompletionItemProvider.apply(r,s([t,{provideCompletionItems:function(e,t){var n=e.textDocument,i=e.position,r=e.context;return o.provideCompletionItems(n,i,t,r||{triggerKind:u.CompletionTriggerKind.Invoked})},resolveCompletionItem:a?function(e,t){return a(e,t)}:void 0}],n))},registerCodeActionsProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerCodeActionsProvider?n.registerCodeActionsProvider(t,{provideCodeActions:function(e,t){var n=e.textDocument,i=e.range,r=e.context;return o.provideCodeActions(n,i,r,t)}}):l.Disposable.create((function(){}))},registerCodeLensProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;if(!n.registerCodeLensProvider)return l.Disposable.create((function(){}));var i=o.resolveCodeLens;return n.registerCodeLensProvider(t,{provideCodeLenses:function(e,t){var n=e.textDocument;return o.provideCodeLenses(n,t)},resolveCodeLens:i?function(e,t){return i(e,t)}:void 0})},registerDefinitionProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDefinitionProvider?n.registerDefinitionProvider(t,{provideDefinition:function(e,t){var n=e.textDocument,i=e.position;return o.provideDefinition(n,i,t)}}):l.Disposable.create((function(){}))},registerImplementationProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerImplementationProvider?n.registerImplementationProvider(t,{provideImplementation:function(e,t){var n=e.textDocument,i=e.position;return o.provideImplementation(n,i,t)}}):l.Disposable.create((function(){}))},registerTypeDefinitionProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerTypeDefinitionProvider?n.registerTypeDefinitionProvider(t,{provideTypeDefinition:function(e,t){var n=e.textDocument,i=e.position;return o.provideTypeDefinition(n,i,t)}}):l.Disposable.create((function(){}))},registerHoverProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerHoverProvider?n.registerHoverProvider(t,{provideHover:function(e,t){var n=e.textDocument,i=e.position;return o.provideHover(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentHighlightProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentHighlightProvider?n.registerDocumentHighlightProvider(t,{provideDocumentHighlights:function(e,t){var n=e.textDocument,i=e.position;return o.provideDocumentHighlights(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentSymbolProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentSymbolProvider?n.registerDocumentSymbolProvider(t,{provideDocumentSymbols:function(e,t){var n=e.textDocument;return o.provideDocumentSymbols(n,t)}}):l.Disposable.create((function(){}))},registerWorkspaceSymbolProvider:function(t){var o=e().languages;return o.registerWorkspaceSymbolProvider?o.registerWorkspaceSymbolProvider({provideWorkspaceSymbols:function(e,o){var n=e.query;return t.provideWorkspaceSymbols(n,o)}}):l.Disposable.create((function(){}))},registerReferenceProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerReferenceProvider?n.registerReferenceProvider(t,{provideReferences:function(e,t){var n=e.textDocument,i=e.position,r=e.context;return o.provideReferences(n,i,r,t)}}):l.Disposable.create((function(){}))},registerRenameProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerRenameProvider?n.registerRenameProvider(t,{provideRenameEdits:function(e,t){var n=e.textDocument,i=e.position,r=e.newName;return o.provideRenameEdits(n,i,r,t)}}):l.Disposable.create((function(){}))},registerDocumentFormattingEditProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentFormattingEditProvider?n.registerDocumentFormattingEditProvider(t,{provideDocumentFormattingEdits:function(e,t){var n=e.textDocument,i=e.options;return o.provideDocumentFormattingEdits(n,i,t)}}):l.Disposable.create((function(){}))},registerDocumentRangeFormattingEditProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerDocumentRangeFormattingEditProvider?n.registerDocumentRangeFormattingEditProvider(t,{provideDocumentRangeFormattingEdits:function(e,t){var n=e.textDocument,i=e.range,r=e.options;return o.provideDocumentRangeFormattingEdits(n,i,r,t)}}):l.Disposable.create((function(){}))},registerOnTypeFormattingEditProvider:function(t,o,n){for(var i=[],r=3;r<arguments.length;r++)i[r-3]=arguments[r];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var a=e().languages;return a.registerOnTypeFormattingEditProvider?a.registerOnTypeFormattingEditProvider.apply(a,s([t,{provideOnTypeFormattingEdits:function(e,t){var n=e.textDocument,i=e.position,r=e.ch,s=e.options;return o.provideOnTypeFormattingEdits(n,i,r,s,t)}},n],i)):l.Disposable.create((function(){}))},registerSignatureHelpProvider:function(t,o){for(var n=[],i=2;i<arguments.length;i++)n[i-2]=arguments[i];if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var r=e().languages;return r.registerSignatureHelpProvider?r.registerSignatureHelpProvider.apply(r,s([t,{provideSignatureHelp:function(e,t){var n=e.textDocument,i=e.position;return o.provideSignatureHelp(n,i,t)}}],n)):l.Disposable.create((function(){}))},registerDocumentLinkProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;if(!n.registerDocumentLinkProvider)return l.Disposable.create((function(){}));var i=o.resolveDocumentLink;return n.registerDocumentLinkProvider(t,{provideDocumentLinks:function(e,t){var n=e.textDocument;return o.provideDocumentLinks(n,t)},resolveDocumentLink:i?function(e,t){return i(e,t)}:void 0})},registerColorProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerColorProvider?n.registerColorProvider(t,{provideDocumentColors:function(e,t){var n=e.textDocument;return o.provideDocumentColors(n,t)},provideColorPresentations:function(e,t){var n=e.textDocument,i=e.color,r=e.range;return o.provideColorPresentations(i,{document:n,range:r},t)}}):l.Disposable.create((function(){}))},registerFoldingRangeProvider:function(t,o){if(!u.isDocumentSelector(t))throw new Error("unexpected selector: "+JSON.stringify(t));var n=e().languages;return n.registerFoldingRangeProvider?n.registerFoldingRangeProvider(t,{provideFoldingRanges:function(e,t){var n=e.textDocument;return o.provideFoldingRanges(n,{},t)}}):l.Disposable.create((function(){}))},getLanguages:o,getDiagnostics:o,setLanguageConfiguration:o,onDidChangeDiagnostics:o};function m(t,o,n){if("string"!=typeof o)throw new Error("unexpected message: "+JSON.stringify(o));var i=o;if(void 0!==n&&!Array.isArray(n))throw new Error("unexpected actions: "+JSON.stringify(n));var r=n||[],a=e().window;return a?a.showMessage.apply(a,s([t,i],r)):Promise.resolve(void 0)}var _={showInformationMessage:m.bind(void 0,u.MessageType.Info),showWarningMessage:m.bind(void 0,u.MessageType.Warning),showErrorMessage:m.bind(void 0,u.MessageType.Error),createOutputChannel:function(t){var n=e().window,i=n?n.createOutputChannel:void 0,r=i?i.bind(n)(t):void 0;return{name:t,append:r.append.bind(r),appendLine:r.appendLine.bind(r),clear:o,show:r.show.bind(r),hide:o,dispose:r.dispose.bind(r)}},showTextDocument:o,createTextEditorDecorationType:o,showQuickPick:o,showWorkspaceFolderPick:o,showOpenDialog:o,showSaveDialog:o,showInputBox:o,createWebviewPanel:o,setStatusBarMessage:o,withScmProgress:o,withProgress:o,createStatusBarItem:o,createTerminal:o,registerTreeDataProvider:o,createTreeView:o,registerWebviewPanelSerializer:o,get activeTextEditor(){return o()},get visibleTextEditors(){return o()},onDidChangeActiveTextEditor:o,onDidChangeVisibleTextEditors:o,onDidChangeTextEditorSelection:o,onDidChangeTextEditorVisibleRanges:o,onDidChangeTextEditorOptions:o,onDidChangeTextEditorViewColumn:o,onDidCloseTerminal:o,get state(){return o()},onDidChangeWindowState:o},y={registerCommand:function(t,o,n){var i=e().commands;return i?i.registerCommand(t,o,n):l.Disposable.create((function(){}))},registerTextEditorCommand:o,executeCommand:o,getCommands:o},v=function(){function e(e){this.callOnDispose=e}return e.prototype.dispose=function(){this.callOnDispose()},e}();return{workspace:p,languages:f,window:_,commands:y,Uri:r,CompletionItem:c,CodeLens:h,DocumentLink:d,CodeActionKind:g,Disposable:v}}},function(e,t,o){"use strict";o.r(t),function(e){o.d(t,"setUriThrowOnMissingScheme",(function(){return h}));var n,i,r=(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});if("object"==typeof e)i="win32"===e.platform;else if("object"==typeof navigator){var s=navigator.userAgent;i=s.indexOf("Windows")>=0}var a=/^\w[\w\d+.-]*$/,l=/^\//,u=/^\/\//,c=!0;function h(e){var t=c;return c=e,t}var d="",g="/",p=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,f=function(){function e(e,t,o,n,i,r){void 0===r&&(r=!1),"object"==typeof e?(this.scheme=e.scheme||d,this.authority=e.authority||d,this.path=e.path||d,this.query=e.query||d,this.fragment=e.fragment||d):(this.scheme=function(e,t){return t||c?e||d:(e||(e="file"),e)}(e,r),this.authority=t||d,this.path=function(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==g&&(t=g+t):t=g}return t}(this.scheme,o||d),this.query=n||d,this.fragment=i||d,function(e,t){if(!e.scheme&&(t||c))throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!a.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path)if(e.authority){if(!l.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(u.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,r))}return e.isUri=function(t){return t instanceof e||!!t&&("string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"function"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString)},Object.defineProperty(e.prototype,"fsPath",{get:function(){return C(this)},enumerable:!0,configurable:!0}),e.prototype.with=function(e){if(!e)return this;var t=e.scheme,o=e.authority,n=e.path,i=e.query,r=e.fragment;return void 0===t?t=this.scheme:null===t&&(t=d),void 0===o?o=this.authority:null===o&&(o=d),void 0===n?n=this.path:null===n&&(n=d),void 0===i?i=this.query:null===i&&(i=d),void 0===r?r=this.fragment:null===r&&(r=d),t===this.scheme&&o===this.authority&&n===this.path&&i===this.query&&r===this.fragment?this:new y(t,o,n,i,r)},e.parse=function(e,t){void 0===t&&(t=!1);var o=p.exec(e);return o?new y(o[2]||d,decodeURIComponent(o[4]||d),decodeURIComponent(o[5]||d),decodeURIComponent(o[7]||d),decodeURIComponent(o[9]||d),t):new y(d,d,d,d,d)},e.file=function(e){var t=d;if(i&&(e=e.replace(/\\/g,g)),e[0]===g&&e[1]===g){var o=e.indexOf(g,2);-1===o?(t=e.substring(2),e=g):(t=e.substring(2,o),e=e.substring(o)||g)}return new y("file",t,e,d,d)},e.from=function(e){return new y(e.scheme,e.authority,e.path,e.query,e.fragment)},e.prototype.toString=function(e){return void 0===e&&(e=!1),S(this,e)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var o=new y(t);return o._formatted=t.external,o._fsPath=t._sep===_?t.fsPath:null,o}return t},e}();t.default=f;var m,_=i?1:void 0,y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._formatted=null,t._fsPath=null,t}return r(t,e),Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=C(this)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(e){return void 0===e&&(e=!1),e?S(this,!0):(this._formatted||(this._formatted=S(this,!1)),this._formatted)},t.prototype.toJSON=function(){var e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e},t}(f),v=((m={})[58]="%3A",m[47]="%2F",m[63]="%3F",m[35]="%23",m[91]="%5B",m[93]="%5D",m[64]="%40",m[33]="%21",m[36]="%24",m[38]="%26",m[39]="%27",m[40]="%28",m[41]="%29",m[42]="%2A",m[43]="%2B",m[44]="%2C",m[59]="%3B",m[61]="%3D",m[32]="%20",m);function b(e,t){for(var o=void 0,n=-1,i=0;i<e.length;i++){var r=e.charCodeAt(i);if(r>=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||t&&47===r)-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),void 0!==o&&(o+=e.charAt(i));else{void 0===o&&(o=e.substr(0,i));var s=v[r];void 0!==s?(-1!==n&&(o+=encodeURIComponent(e.substring(n,i)),n=-1),o+=s):-1===n&&(n=i)}}return-1!==n&&(o+=encodeURIComponent(e.substring(n))),void 0!==o?o:e}function E(e){for(var t=void 0,o=0;o<e.length;o++){var n=e.charCodeAt(o);35===n||63===n?(void 0===t&&(t=e.substr(0,o)),t+=v[n]):void 0!==t&&(t+=e[o])}return void 0!==t?t:e}function C(e){var t;return t=e.authority&&e.path.length>1&&"file"===e.scheme?"//"+e.authority+e.path:47===e.path.charCodeAt(0)&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&58===e.path.charCodeAt(2)?e.path[1].toLowerCase()+e.path.substr(2):e.path,i&&(t=t.replace(/\//g,"\\")),t}function S(e,t){var o=t?E:b,n="",i=e.scheme,r=e.authority,s=e.path,a=e.query,l=e.fragment;if(i&&(n+=i,n+=":"),(r||"file"===i)&&(n+=g,n+=g),r){var u=r.indexOf("@");if(-1!==u){var c=r.substr(0,u);r=r.substr(u+1),-1===(u=c.indexOf(":"))?n+=o(c,!1):(n+=o(c.substr(0,u),!1),n+=":",n+=o(c.substr(u+1),!1)),n+="@"}-1===(u=(r=r.toLowerCase()).indexOf(":"))?n+=o(r,!1):(n+=o(r.substr(0,u),!1),n+=r.substr(u))}if(s){if(s.length>=3&&47===s.charCodeAt(0)&&58===s.charCodeAt(2))(h=s.charCodeAt(1))>=65&&h<=90&&(s="/"+String.fromCharCode(h+32)+":"+s.substr(3));else if(s.length>=2&&58===s.charCodeAt(1)){var h;(h=s.charCodeAt(0))>=65&&h<=90&&(s=String.fromCharCode(h+32)+":"+s.substr(2))}n+=o(s,!0)}return a&&(n+="?",n+=o(a,!1)),l&&(n+="#",n+=t?l:b(l,!1)),n}}.call(this,o(108))},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(109),i=o(101),r=o(138),s=o(308),a=o(309),l=o(310);t.createConverter=function(e){var t=e||function(e){return e.toString()};function o(e){return t(e)}function u(e){return{uri:t(e.uri)}}function c(e){return{uri:t(e.uri),version:e.version}}function h(e){switch(e){case n.TextDocumentSaveReason.Manual:return i.TextDocumentSaveReason.Manual;case n.TextDocumentSaveReason.AfterDelay:return i.TextDocumentSaveReason.AfterDelay;case n.TextDocumentSaveReason.FocusOut:return i.TextDocumentSaveReason.FocusOut}return i.TextDocumentSaveReason.Manual}function d(e){switch(e){case n.CompletionTriggerKind.TriggerCharacter:return i.CompletionTriggerKind.TriggerCharacter;case n.CompletionTriggerKind.TriggerForIncompleteCompletions:return i.CompletionTriggerKind.TriggerForIncompleteCompletions;default:return i.CompletionTriggerKind.Invoked}}function g(e){return{line:e.line,character:e.character}}function p(e){if(void 0!==e)return null===e?null:{line:e.line,character:e.character}}function f(e){return null==e?e:{start:p(e.start),end:p(e.end)}}function m(e){switch(e){case n.DiagnosticSeverity.Error:return i.DiagnosticSeverity.Error;case n.DiagnosticSeverity.Warning:return i.DiagnosticSeverity.Warning;case n.DiagnosticSeverity.Information:return i.DiagnosticSeverity.Information;case n.DiagnosticSeverity.Hint:return i.DiagnosticSeverity.Hint}}function _(e){var t=i.Diagnostic.create(f(e.range),e.message);return r.number(e.severity)&&(t.severity=m(e.severity)),(r.number(e.code)||r.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),t}function y(e){return null==e?e:e.map(_)}function v(e){return{range:f(e.range),newText:e.newText}}function b(e){var t=i.Command.create(e.title,e.command);return e.arguments&&(t.arguments=e.arguments),t}return{asUri:o,asTextDocumentIdentifier:u,asOpenTextDocumentParams:function(e){return{textDocument:{uri:t(e.uri),languageId:e.languageId,version:e.version,text:e.getText()}}},asChangeTextDocumentParams:function(e){var o;if((o=e).uri&&o.version)return{textDocument:{uri:t(e.uri),version:e.version},contentChanges:[{text:e.getText()}]};if(function(e){var t=e;return!!t.document&&!!t.contentChanges}(e)){var n=e.document;return{textDocument:{uri:t(n.uri),version:n.version},contentChanges:e.contentChanges.map((function(e){var t=e.range;return{range:{start:{line:t.start.line,character:t.start.character},end:{line:t.end.line,character:t.end.character}},rangeLength:e.rangeLength,text:e.text}}))}}throw Error("Unsupported text document change parameter")},asCloseTextDocumentParams:function(e){return{textDocument:u(e)}},asSaveTextDocumentParams:function(e,t){void 0===t&&(t=!1);var o={textDocument:c(e)};return t&&(o.text=e.getText()),o},asWillSaveTextDocumentParams:function(e){return{textDocument:u(e.document),reason:h(e.reason)}},asTextDocumentPositionParams:function(e,t){return{textDocument:u(e),position:g(t)}},asCompletionParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{triggerKind:d(o.triggerKind),triggerCharacter:o.triggerCharacter}}},asWorkerPosition:g,asRange:f,asPosition:p,asDiagnosticSeverity:m,asDiagnostic:_,asDiagnostics:y,asCompletionItem:function(e){var t,o,a={label:e.label},l=e instanceof s.default?e:void 0;return e.detail&&(a.detail=e.detail),e.documentation&&(l&&"$string"!==l.documentationFormat?a.documentation=function(e,t){switch(e){case"$string":return t;case i.MarkupKind.PlainText:return{kind:e,value:t};case i.MarkupKind.Markdown:return{kind:e,value:t.value};default:return"Unsupported Markup content received. Kind is: "+e}}(l.documentationFormat,e.documentation):a.documentation=e.documentation),e.filterText&&(a.filterText=e.filterText),function(e,t){var o,r=i.InsertTextFormat.PlainText,s=void 0;t.textEdit?(o=t.textEdit.newText,s=f(t.textEdit.range)):t.insertText instanceof n.SnippetString?(r=i.InsertTextFormat.Snippet,o=t.insertText.value):o=t.insertText;t.range&&(s=f(t.range));e.insertTextFormat=r,t.fromEdit&&o&&s?e.textEdit={newText:o,range:s}:e.insertText=o}(a,e),r.number(e.kind)&&(a.kind=(t=e.kind,void 0!==(o=l&&l.originalItemKind)?o:t+1)),e.sortText&&(a.sortText=e.sortText),e.additionalTextEdits&&(a.additionalTextEdits=function(e){if(null==e)return e;return e.map(v)}(e.additionalTextEdits)),e.commitCharacters&&(a.commitCharacters=e.commitCharacters.slice()),e.command&&(a.command=b(e.command)),!0!==e.preselect&&!1!==e.preselect||(a.preselect=e.preselect),l&&(void 0!==l.data&&(a.data=l.data),!0!==l.deprecated&&!1!==l.deprecated||(a.deprecated=l.deprecated)),a},asTextEdit:v,asReferenceParams:function(e,t,o){return{textDocument:u(e),position:g(t),context:{includeDeclaration:o.includeDeclaration}}},asCodeActionContext:function(e){return null==e?e:i.CodeActionContext.create(y(e.diagnostics),r.string(e.only)?[e.only]:void 0)},asCommand:b,asCodeLens:function(e){var t=i.CodeLens.create(f(e.range));return e.command&&(t.command=b(e.command)),e instanceof a.default&&e.data&&(t.data=e.data),t},asFormattingOptions:function(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}},asDocumentSymbolParams:function(e){return{textDocument:u(e)}},asCodeLensParams:function(e){return{textDocument:u(e)}},asDocumentLink:function(e){var t=i.DocumentLink.create(f(e.range));e.target&&(t.target=o(e.target));var n=e instanceof l.default?e:void 0;return n&&n.data&&(t.data=n.data),t},asDocumentLinkParams:function(e){return{textDocument:u(e)}}}}},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}},i=this&&this.__read||function(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s};Object.defineProperty(t,"__esModule",{value:!0});var r,s=o(109),a=o(101),l=o(138),u=o(308),c=o(309),h=o(310);!function(e){e.is=function(e){var t=e;return t&&l.string(t.language)&&l.string(t.value)}}(r||(r={})),t.createConverter=function(e){var t=e||function(e){return s.Uri.parse(e)};function o(e){return t(e)}function d(e){return e.map(g)}function g(e){var t=new s.Diagnostic(m(e.range),e.message,_(e.severity));return(l.number(e.code)||l.string(e.code))&&(t.code=e.code),e.source&&(t.source=e.source),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(p)),t}function p(e){return new s.DiagnosticRelatedInformation(k(e.location),e.message)}function f(e){if(e)return new s.Position(e.line,e.character)}function m(e){if(e)return new s.Range(f(e.start),f(e.end))}function _(e){if(null==e)return s.DiagnosticSeverity.Error;switch(e){case a.DiagnosticSeverity.Error:return s.DiagnosticSeverity.Error;case a.DiagnosticSeverity.Warning:return s.DiagnosticSeverity.Warning;case a.DiagnosticSeverity.Information:return s.DiagnosticSeverity.Information;case a.DiagnosticSeverity.Hint:return s.DiagnosticSeverity.Hint}return s.DiagnosticSeverity.Error}function y(e){if(l.string(e))return e;switch(e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return e.value;default:return"Unsupported Markup content received. Kind is: "+e.kind}}function v(e){var t=new u.default(e.label);e.detail&&(t.detail=e.detail),e.documentation&&(t.documentation=y(e.documentation),t.documentationFormat=l.string(e.documentation)?"$string":e.documentation.kind),e.filterText&&(t.filterText=e.filterText);var o,n=function(e){return e.textEdit?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.textEdit.newText),range:m(e.textEdit.range),fromEdit:!0}:{text:e.textEdit.newText,range:m(e.textEdit.range),fromEdit:!0}:e.insertText?e.insertTextFormat===a.InsertTextFormat.Snippet?{text:new s.SnippetString(e.insertText),fromEdit:!1}:{text:e.insertText,fromEdit:!1}:void 0}(e);if(n&&(t.insertText=n.text,t.range=n.range,t.fromEdit=n.fromEdit),l.number(e.kind)){var r=i((o=e.kind,a.CompletionItemKind.Text<=o&&o<=a.CompletionItemKind.TypeParameter?[o-1,void 0]:[s.CompletionItemKind.Text,o]),2),c=r[0],h=r[1];t.kind=c,h&&(t.originalItemKind=h)}return e.sortText&&(t.sortText=e.sortText),e.additionalTextEdits&&(t.additionalTextEdits=E(e.additionalTextEdits)),l.stringArray(e.commitCharacters)&&(t.commitCharacters=e.commitCharacters.slice()),e.command&&(t.command=D(e.command)),!0!==e.deprecated&&!1!==e.deprecated||(t.deprecated=e.deprecated),!0!==e.preselect&&!1!==e.preselect||(t.preselect=e.preselect),void 0!==e.data&&(t.data=e.data),t}function b(e){if(e)return new s.TextEdit(m(e.range),e.newText)}function E(e){if(e)return e.map(b)}function C(e){return e.map(S)}function S(e){var t=new s.SignatureInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),e.parameters&&(t.parameters=T(e.parameters)),t}function T(e){return e.map(w)}function w(e){var t=new s.ParameterInformation(e.label);return e.documentation&&(t.documentation=y(e.documentation)),t}function k(e){if(e)return new s.Location(t(e.uri),m(e.range))}function O(e){var t=new s.DocumentHighlight(m(e.range));return l.number(e.kind)&&(t.kind=R(e.kind)),t}function R(e){switch(e){case a.DocumentHighlightKind.Text:return s.DocumentHighlightKind.Text;case a.DocumentHighlightKind.Read:return s.DocumentHighlightKind.Read;case a.DocumentHighlightKind.Write:return s.DocumentHighlightKind.Write}return s.DocumentHighlightKind.Text}function N(e){return e<=a.SymbolKind.TypeParameter?e-1:s.SymbolKind.Property}function L(e,o){var n=new s.SymbolInformation(e.name,N(e.kind),m(e.location.range),e.location.uri?t(e.location.uri):o);return e.containerName&&(n.containerName=e.containerName),n}function I(e){var t,o,i=new s.DocumentSymbol(e.name,void 0!==e.detail?e.detail:e.name,N(e.kind),m(e.range),m(e.selectionRange));if(void 0!==e.children&&e.children.length>0){var r=[];try{for(var a=n(e.children),l=a.next();!l.done;l=a.next()){var u=l.value;r.push(I(u))}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}i.children=r}return i}function D(e){var t={title:e.title,command:e.command};return e.arguments&&(t.arguments=e.arguments),t}var A=new Map;function P(e){if(e){var t=new c.default(m(e.range));return e.command&&(t.command=D(e.command)),void 0!==e.data&&null!==e.data&&(t.data=e.data),t}}function M(e){if(e){var o=new s.WorkspaceEdit;return e.documentChanges?e.documentChanges.forEach((function(e){o.set(t(e.textDocument.uri),E(e.edits))})):e.changes&&Object.keys(e.changes).forEach((function(n){o.set(t(n),E(e.changes[n]))})),o}}function x(e){var t=m(e.range),n=e.target?o(e.target):void 0,i=new h.default(t,n);return void 0!==e.data&&null!==e.data&&(i.data=e.data),i}function B(e){return new s.Color(e.red,e.green,e.blue,e.alpha)}function F(e){return new s.ColorInformation(m(e.range),B(e.color))}function H(e){var t=new s.ColorPresentation(e.label);return t.additionalTextEdits=E(e.additionalTextEdits),e.textEdit&&(t.textEdit=b(e.textEdit)),t}function U(e){if(e)switch(e){case a.FoldingRangeKind.Comment:return s.FoldingRangeKind.Comment;case a.FoldingRangeKind.Imports:return s.FoldingRangeKind.Imports;case a.FoldingRangeKind.Region:return s.FoldingRangeKind.Region}}function V(e){return new s.FoldingRange(e.startLine,e.endLine,U(e.kind))}return A.set("",s.CodeActionKind.Empty),A.set(a.CodeActionKind.QuickFix,s.CodeActionKind.QuickFix),A.set(a.CodeActionKind.Refactor,s.CodeActionKind.Refactor),A.set(a.CodeActionKind.RefactorExtract,s.CodeActionKind.RefactorExtract),A.set(a.CodeActionKind.RefactorInline,s.CodeActionKind.RefactorInline),A.set(a.CodeActionKind.RefactorRewrite,s.CodeActionKind.RefactorRewrite),A.set(a.CodeActionKind.Source,s.CodeActionKind.Source),A.set(a.CodeActionKind.SourceOrganizeImports,s.CodeActionKind.SourceOrganizeImports),{asUri:o,asDiagnostics:d,asDiagnostic:g,asRange:m,asPosition:f,asDiagnosticSeverity:_,asHover:function(e){if(e)return new s.Hover(function(e){var t,o;if(l.string(e))return new s.MarkdownString(e);if(r.is(e))return(i=new s.MarkdownString).appendCodeblock(e.value,e.language);if(Array.isArray(e)){var i=[];try{for(var u=n(e),c=u.next();!c.done;c=u.next()){var h=c.value,d=new s.MarkdownString;r.is(h)?d.appendCodeblock(h.value,h.language):d.appendMarkdown(h),i.push(d)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(o=u.return)&&o.call(u)}finally{if(t)throw t.error}}return i}switch(i=void 0,e.kind){case a.MarkupKind.Markdown:return new s.MarkdownString(e.value);case a.MarkupKind.PlainText:return(i=new s.MarkdownString).appendText(e.value),i;default:return(i=new s.MarkdownString).appendText("Unsupported Markup content received. Kind is: "+e.kind),i}}(e.contents),m(e.range))},asCompletionResult:function(e){if(e){if(Array.isArray(e))return e.map(v);var t=e;return new s.CompletionList(t.items.map(v),t.isIncomplete)}},asCompletionItem:v,asTextEdit:b,asTextEdits:E,asSignatureHelp:function(e){if(e){var t=new s.SignatureHelp;return l.number(e.activeSignature)?t.activeSignature=e.activeSignature:t.activeSignature=0,l.number(e.activeParameter)?t.activeParameter=e.activeParameter:t.activeParameter=0,e.signatures&&(t.signatures=C(e.signatures)),t}},asSignatureInformations:C,asSignatureInformation:S,asParameterInformations:T,asParameterInformation:w,asDefinitionResult:function(e){if(e)return l.array(e)?e.map((function(e){return k(e)})):k(e)},asLocation:k,asReferences:function(e){if(e)return e.map((function(e){return k(e)}))},asDocumentHighlights:function(e){if(e)return e.map(O)},asDocumentHighlight:O,asDocumentHighlightKind:R,asSymbolInformations:function(e,t){if(e)return e.map((function(e){return L(e,t)}))},asSymbolInformation:L,asDocumentSymbols:function(e){if(null!=e)return e.map(I)},asDocumentSymbol:I,asCommand:D,asCommands:function(e){if(e)return e.map(D)},asCodeAction:function(e){if(null!=e){var t=new s.CodeAction(e.title);return void 0!==e.kind&&(t.kind=function(e){var t,o;if(null!=e){var i=A.get(e);if(i)return i;var r=e.split(".");i=s.CodeActionKind.Empty;try{for(var a=n(r),l=a.next();!l.done;l=a.next()){var u=l.value;i=i.append(u)}}catch(e){t={error:e}}finally{try{l&&!l.done&&(o=a.return)&&o.call(a)}finally{if(t)throw t.error}}return i}}(e.kind)),e.diagnostics&&(t.diagnostics=d(e.diagnostics)),e.edit&&(t.edit=M(e.edit)),e.command&&(t.command=D(e.command)),t}},asCodeLens:P,asCodeLenses:function(e){if(e)return e.map((function(e){return P(e)}))},asWorkspaceEdit:M,asDocumentLink:x,asDocumentLinks:function(e){if(e)return e.map(x)},asFoldingRangeKind:U,asFoldingRange:V,asFoldingRanges:function(e){if(Array.isArray(e))return e.map(V)},asColor:B,asColorInformation:F,asColorInformations:function(e){if(Array.isArray(e))return e.map(F)},asColorPresentation:H,asColorPresentations:function(e){if(Array.isArray(e))return e.map(H)}}}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e){this.defaultDelay=e,this.timeout=void 0,this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0}return e.prototype.trigger=function(e,t){var o=this;return void 0===t&&(t=this.defaultDelay),this.task=e,t>=0&&this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((function(e){o.onSuccess=e})).then((function(){o.completionPromise=void 0,o.onSuccess=void 0;var e=o.task();return o.task=void 0,e}))),(t>=0||void 0===this.timeout)&&(this.timeout=setTimeout((function(){o.timeout=void 0,o.onSuccess(void 0)}),t>=0?t:this.defaultDelay)),this.completionPromise},e.prototype.forceDelivery=function(){if(this.completionPromise){this.cancelTimeout();var e=this.task();return this.completionPromise=void 0,this.onSuccess=void 0,this.task=void 0,e}},e.prototype.isTriggered=function(){return void 0!==this.timeout},e.prototype.cancel=function(){this.cancelTimeout(),this.completionPromise=void 0},e.prototype.cancelTimeout=function(){void 0!==this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)},e}();t.Delayer=n},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.TypeDefinitionRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"typeDefinition").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.typeDefinitionProvider)if(!0===e.typeDefinitionProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.typeDefinitionProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.TypeDefinitionRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.TypeDefinitionRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerTypeDefinitionProvider(e.documentSelector,{provideTypeDefinition:function(e,t,i){return n.provideTypeDefinition?n.provideTypeDefinition(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.TypeDefinitionFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.ImplementationRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"implementation").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.implementationProvider)if(!0===e.implementationProvider){if(!t)return;this.register(this.messages,{id:r.generateUuid(),registerOptions:Object.assign({},{documentSelector:t})})}else{var o=e.implementationProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this._client,o=function(e,o,n){return t.sendRequest(l.ImplementationRequest.type,t.code2ProtocolConverter.asTextDocumentPositionParams(e,o),n).then(t.protocol2CodeConverter.asDefinitionResult,(function(e){return t.logFailedRequest(l.ImplementationRequest.type,e),Promise.resolve(null)}))},n=t.clientOptions.middleware;return a.languages.registerImplementationProvider(e.documentSelector,{provideImplementation:function(e,t,i){return n.provideImplementation?n.provideImplementation(e,t,i,o):o(e,t,i)}})},t}(o(151).TextDocumentFeature);t.ImplementationFeature=c},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.DocumentColorRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){u(u(e,"textDocument"),"colorProvider").dynamicRegistration=!0},t.prototype.initialize=function(e,t){if(e.colorProvider){var o=e.colorProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={color:e,textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(n.document),range:o.code2ProtocolConverter.asRange(n.range)};return o.sendRequest(l.ColorPresentationRequest.type,r,i).then(t.asColorPresentations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},i=function(e,n){var i={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.DocumentColorRequest.type,i,n).then(t.asColorInformations.bind(t),(function(e){return o.logFailedRequest(l.ColorPresentationRequest.type,e),Promise.resolve(null)}))},r=o.clientOptions.middleware;return a.languages.registerColorProvider(e.documentSelector,{provideColorPresentations:function(e,t,o){return r.provideColorPresentations?r.provideColorPresentations(e,t,o,n):n(e,t,o)},provideDocumentColors:function(e,t){return r.provideDocumentColors?r.provideDocumentColors(e,t,i):i(e,t)}})},t.prototype.asColor=function(e){return new a.Color(e.red,e.green,e.blue,e.alpha)},t.prototype.asColorInformations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.ColorInformation(t._client.protocol2CodeConverter.asRange(e.range),t.asColor(e.color))})):[]},t.prototype.asColorPresentations=function(e){var t=this;return Array.isArray(e)?e.map((function(e){var o=new a.ColorPresentation(e.label);return o.additionalTextEdits=t._client.protocol2CodeConverter.asTextEdits(e.additionalTextEdits),o.textEdit=t._client.protocol2CodeConverter.asTextEdit(e.textEdit),o})):[]},t}(o(151).TextDocumentFeature);t.ColorProviderFeature=c},function(e,t,o){"use strict";var n=this&&this.__values||function(e){var t="function"==typeof Symbol&&e[Symbol.iterator],o=0;return t?t.call(e):{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}}};Object.defineProperty(t,"__esModule",{value:!0});var i=o(152),r=o(109),s=o(101);function a(e,t){if(void 0!==e)return e[t]}var l=function(){function e(e){this._client=e,this._listeners=new Map}return Object.defineProperty(e.prototype,"messages",{get:function(){return s.DidChangeWorkspaceFoldersNotification.type},enumerable:!0,configurable:!0}),e.prototype.fillInitializeParams=function(e){var t=this,o=r.workspace.workspaceFolders;e.workspaceFolders=void 0===o?null:o.map((function(e){return t.asProtocol(e)}))},e.prototype.fillClientCapabilities=function(e){e.workspace=e.workspace||{},e.workspace.workspaceFolders=!0},e.prototype.initialize=function(e){var t=this,o=this._client;o.onRequest(s.WorkspaceFoldersRequest.type,(function(e){var n=function(){var e=r.workspace.workspaceFolders;return void 0===e?null:e.map((function(e){return t.asProtocol(e)}))},i=o.clientOptions.middleware.workspace;return i&&i.workspaceFolders?i.workspaceFolders(e,n):n()}));var n,l=a(a(a(e,"workspace"),"workspaceFolders"),"changeNotifications");"string"==typeof l?n=l:!0===l&&(n=i.generateUuid()),n&&this.register(this.messages,{id:n,registerOptions:void 0})},e.prototype.register=function(e,t){var o=this,n=t.id,i=this._client,a=r.workspace.onDidChangeWorkspaceFolders((function(e){var t=function(e){var t={event:{added:e.added.map((function(e){return o.asProtocol(e)})),removed:e.removed.map((function(e){return o.asProtocol(e)}))}};o._client.sendNotification(s.DidChangeWorkspaceFoldersNotification.type,t)},n=i.clientOptions.middleware.workspace;n&&n.didChangeWorkspaceFolders?n.didChangeWorkspaceFolders(e,t):t(e)}));this._listeners.set(n,a)},e.prototype.unregister=function(e){var t=this._listeners.get(e);void 0!==t&&(this._listeners.delete(e),t.dispose())},e.prototype.dispose=function(){var e,t;try{for(var o=n(this._listeners.values()),i=o.next();!i.done;i=o.next()){i.value.dispose()}}catch(t){e={error:t}}finally{try{i&&!i.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}this._listeners.clear()},e.prototype.asProtocol=function(e){return void 0===e?null:{uri:this._client.code2ProtocolConverter.asUri(e.uri),name:e.name}},e}();t.WorkspaceFoldersFeature=l},function(e,t,o){"use strict";var n,i=this&&this.__extends||(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)});Object.defineProperty(t,"__esModule",{value:!0});var r=o(152),s=o(138),a=o(109),l=o(101);function u(e,t){return void 0===e[t]&&(e[t]={}),e[t]}var c=function(e){function t(t){return e.call(this,t,l.FoldingRangeRequest.type)||this}return i(t,e),t.prototype.fillClientCapabilities=function(e){var t=u(u(e,"textDocument"),"foldingRange");t.dynamicRegistration=!0,t.rangeLimit=5e3,t.lineFoldingOnly=!0},t.prototype.initialize=function(e,t){if(e.foldingRangeProvider){var o=e.foldingRangeProvider,n=s.string(o.id)&&o.id.length>0?o.id:r.generateUuid(),i=o.documentSelector||t;i&&this.register(this.messages,{id:n,registerOptions:Object.assign({},{documentSelector:i})})}},t.prototype.registerLanguageProvider=function(e){var t=this,o=this._client,n=function(e,n,i){var r={textDocument:o.code2ProtocolConverter.asTextDocumentIdentifier(e)};return o.sendRequest(l.FoldingRangeRequest.type,r,i).then(t.asFoldingRanges.bind(t),(function(e){return o.logFailedRequest(l.FoldingRangeRequest.type,e),Promise.resolve(null)}))},i=o.clientOptions.middleware;return a.languages.registerFoldingRangeProvider(e.documentSelector,{provideFoldingRanges:function(e,t,o){return i.provideFoldingRanges?i.provideFoldingRanges(e,t,o,n):n(e,0,o)}})},t.prototype.asFoldingRangeKind=function(e){if(e)switch(e){case l.FoldingRangeKind.Comment:return a.FoldingRangeKind.Comment;case l.FoldingRangeKind.Imports:return a.FoldingRangeKind.Imports;case l.FoldingRangeKind.Region:return a.FoldingRangeKind.Region}},t.prototype.asFoldingRanges=function(e){var t=this;return Array.isArray(e)?e.map((function(e){return new a.FoldingRange(e.startLine,e.endLine,t.asFoldingRangeKind(e.kind))})):[]},t}(o(151).TextDocumentFeature);t.FoldingRangeFeature=c},function(e,t){e.exports=function(e,t){if("string"!=typeof e)throw new TypeError("Expected a string");for(var o,n=String(e),i="",r=!!t&&!!t.extended,s=!!t&&!!t.globstar,a=!1,l=t&&"string"==typeof t.flags?t.flags:"",u=0,c=n.length;u<c;u++)switch(o=n[u]){case"\\":case"/":case"$":case"^":case"+":case".":case"(":case")":case"=":case"!":case"|":i+="\\"+o;break;case"?":if(r){i+=".";break}case"[":case"]":if(r){i+=o;break}case"{":if(r){a=!0,i+="(";break}case"}":if(r){a=!1,i+=")";break}case",":if(a){i+="|";break}i+="\\"+o;break;case"*":for(var h=n[u-1],d=1;"*"===n[u+1];)d++,u++;var g=n[u+1];if(s)d>1&&("/"===h||void 0===h)&&("/"===g||void 0===g)?(i+="(?:[^/]*(?:/|$))*",u++):i+="[^/]*";else i+=".*";break;default:i+=o}return l&&~l.indexOf("g")||(i="^"+i+"$"),new RegExp(i,l)}},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(185),i=function(){function e(e,t){this.name=e,this.p2m=t,this.diagnostics=new Map,this.toDispose=new n.DisposableCollection}return e.prototype.dispose=function(){this.toDispose.dispose()},e.prototype.get=function(e){var t=this.diagnostics.get(e);return t?t.diagnostics:[]},e.prototype.set=function(e,t){var o=this,i=this.diagnostics.get(e);if(i)i.diagnostics=t;else{var s=new r(e,t,this.name,this.p2m);this.diagnostics.set(e,s),this.toDispose.push(n.Disposable.create((function(){o.diagnostics.delete(e),s.dispose()})))}},e}();t.MonacoDiagnosticCollection=i;var r=function(){function e(e,t,o,n){var i=this;this.owner=o,this.p2m=n,this._markers=[],this._diagnostics=[],this.uri=monaco.Uri.parse(e),this.diagnostics=t,monaco.editor.onDidCreateModel((function(e){return i.doUpdateModelMarkers(e)}))}return Object.defineProperty(e.prototype,"diagnostics",{get:function(){return this._diagnostics},set:function(e){this._diagnostics=e,this._markers=this.p2m.asDiagnostics(e),this.updateModelMarkers()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._markers},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._markers=[],this.updateModelMarkers()},e.prototype.updateModelMarkers=function(){var e=monaco.editor.getModel(this.uri);this.doUpdateModelMarkers(e)},e.prototype.doUpdateModelMarkers=function(e){e&&this.uri.toString()===e.uri.toString()&&monaco.editor.setModelMarkers(e,this.owner,this._markers)},e}();t.MonacoModelDiagnostics=r},function(e,t,o){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=o(315),i=o(311),r=o(313),s=o(314),a=o(312),l=o(121);!function(e){function t(e,t){void 0===t&&(t={});var o=new n.MonacoToProtocolConverter,l=new n.ProtocolToMonacoConverter;return{commands:new i.MonacoCommands(e),languages:new r.MonacoLanguages(l,o),workspace:new s.MonacoWorkspace(l,o,t.rootUri),window:new a.ConsoleWindow}}e.create=t,e.install=function(e,o){void 0===o&&(o={});var n=t(e,o);return l.Services.install(n),n},e.get=function(){return l.Services.get()}}(t.MonacoServices||(t.MonacoServices={}))},function(e,t,o){const n=o(534);n.setLocale=function(e){"function"==typeof e.default?n.Msg=Object.assign(n.Msg,e.default()):n.Msg=Object.assign(e,n.Msg)()},n.setLocale(o(535)),n.Blocks=Object.assign(n.Blocks,o(536)(n)),n.JavaScript=o(537)(n),n.Lua=o(538)(n),n.Dart=o(539)(n),n.PHP=o(540)(n),n.Python=o(541)(n),e.exports=n},function(module,exports){module.exports=function(){"use strict";var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this||self,goog.isDef=function(e){return void 0!==e},goog.isString=function(e){return"string"==typeof e},goog.isBoolean=function(e){return"boolean"==typeof e},goog.isNumber=function(e){return"number"==typeof e},goog.exportPath_=function(e,t,o){e=e.split("."),o=o||goog.global,e[0]in o||void 0===o.execScript||o.execScript("var "+e[0]);for(var n;e.length&&(n=e.shift());)!e.length&&goog.isDef(t)?o[n]=t:o=o[n]&&o[n]!==Object.prototype[n]?o[n]:o[n]={}},goog.define=function(e,t){var o=t;if(!COMPILED){var n=goog.global.CLOSURE_UNCOMPILED_DEFINES,i=goog.global.CLOSURE_DEFINES;n&&void 0===n.nodeType&&Object.prototype.hasOwnProperty.call(n,e)?o=n[e]:i&&void 0===i.nodeType&&Object.prototype.hasOwnProperty.call(i,e)&&(o=i[e])}return o},goog.FEATURESET_YEAR=2012,goog.DEBUG=!1,goog.LOCALE="en",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(".")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.getScriptNonce=function(e){return e&&e!=goog.global?goog.getScriptNonce_(e.document):(null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)),goog.cspNonce_)},goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/,goog.cspNonce_=null,goog.getScriptNonce_=function(e){return(e=e.querySelector&&e.querySelector("script[nonce]"))&&(e=e.nonce||e.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(e)?e:""},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+e+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace "'+e+'" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED){if(e in goog.loadedModules_)return goog.loadedModules_[e].exports;if(!goog.implicitNamespaces_[e])return null!=(e=goog.getObjectByName(e))?e:null}return null},goog.ModuleType={ES6:"es6",GOOG:"goog"},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()},goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG},goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var e=goog.global.$jscomp;return!!e&&("function"==typeof e.getCurrentModulePath&&!!e.getCurrentModulePath())},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.declareModuleId=function(e){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.declareModuleId may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.declareModuleId may only be called once per module.");if(e in goog.loadedModules_)throw Error('Module with namespace "'+e+'" already exists.')}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=e;else{var t=goog.global.$jscomp;if(!t||"function"!=typeof t.getCurrentModulePath)throw Error('Module with namespace "'+e+'" has been loaded incorrectly.');t=t.require(t.getCurrentModulePath()),goog.loadedModules_[e]={exports:t,type:goog.ModuleType.ES6,moduleId:e}}},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||"",Error("Importing test-only code into non-debug environment"+(e?": "+e:"."))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={"goog.module":!0}),goog.getObjectByName=function(e,t){for(var o=e.split("."),n=t||goog.global,i=0;i<o.length;i++)if(n=n[o[i]],!goog.isDefAndNotNull(n))return null;return n},goog.globalize=function(e,t){var o,n=t||goog.global;for(o in e)n[o]=e[o]},goog.addDependency=function(e,t,o,n){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(e,t,o,n)},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(e){goog.global.console&&goog.global.console.error(e)},goog.require=function(e){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(e),goog.isProvided_(e)){if(goog.isInModuleLoader_())return goog.module.getInternal_(e)}else if(goog.ENABLE_DEBUG_LOADER){var t=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(e)}finally{goog.moduleLoaderState_=t}}return null}},goog.requireType=function(e){return{}},goog.basePath="",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error("unimplemented abstract method")},goog.addSingletonGetter=function(e){e.instance_=void 0,e.getInstance=function(){return e.instance_?e.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=e),e.instance_=new e)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.TRANSPILE="detect",goog.ASSUME_ES_MODULES_TRANSPILED=!1,goog.TRANSPILE_TO_LANGUAGE="",goog.TRANSPILER="transpile.js",goog.hasBadLetScoping=null,goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(e){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping},goog.workaroundSafari10EvalBug=function(e){return"(function(){"+e+"\n;})();\n"},goog.loadModule=function(e){var t=goog.moduleLoaderState_;try{if(goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG},goog.isFunction(e))var o=e.call(void 0,{});else{if(!goog.isString(e))throw Error("Invalid module definition");goog.useSafari10Workaround()&&(e=goog.workaroundSafari10EvalBug(e)),o=goog.loadModuleFromSource_.call(void 0,e)}var n=goog.moduleLoaderState_.moduleName;if(!goog.isString(n)||!n)throw Error('Invalid module name "'+n+'"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(n,o):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof o&&null!=o&&Object.seal(o),goog.loadedModules_[n]={exports:o,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName}}finally{goog.moduleLoaderState_=t}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.normalizePath_=function(e){e=e.split("/");for(var t=0;t<e.length;)"."==e[t]?e.splice(t,1):t&&".."==e[t]&&e[t-1]&&".."!=e[t-1]?e.splice(--t,2):t++;return e.join("/")},goog.loadFileSync_=function(e){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(e);try{var t=new goog.global.XMLHttpRequest;return t.open("get",e,!1),t.send(),0==t.status||200==t.status?t.responseText:null}catch(e){return null}},goog.transpile_=function(e,t,o){var n=goog.global.$jscomp;n||(goog.global.$jscomp=n={});var i=n.transpile;if(!i){var r=goog.basePath+goog.TRANSPILER,s=goog.loadFileSync_(r);if(s){if(function(){(0,eval)(s+"\n//# sourceURL="+r)}.call(goog.global),goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=goog.global.$gwtExport.$jscomp.transpile,i=(n=goog.global.$jscomp).transpile}}return i||(i=n.transpile=function(e,t){return goog.logToConsole_(t+" requires transpilation but no transpiler was found."),e}),i(e,t,o)},goog.typeOf=function(e){var t=typeof e;if("object"==t){if(!e)return"null";if(e instanceof Array)return"array";if(e instanceof Object)return t;var o=Object.prototype.toString.call(e);if("[object Window]"==o)return"object";if("[object Array]"==o||"number"==typeof e.length&&void 0!==e.splice&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("splice"))return"array";if("[object Function]"==o||void 0!==e.call&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable("call"))return"function"}else if("function"==t&&void 0===e.call)return"object";return t},goog.isNull=function(e){return null===e},goog.isDefAndNotNull=function(e){return null!=e},goog.isArray=function(e){return"array"==goog.typeOf(e)},goog.isArrayLike=function(e){var t=goog.typeOf(e);return"array"==t||"object"==t&&"number"==typeof e.length},goog.isDateLike=function(e){return goog.isObject(e)&&"function"==typeof e.getFullYear},goog.isFunction=function(e){return"function"==goog.typeOf(e)},goog.isObject=function(e){var t=typeof e;return"object"==t&&null!=e||"function"==t},goog.getUid=function(e){return e[goog.UID_PROPERTY_]||(e[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(e){return!!e[goog.UID_PROPERTY_]},goog.removeUid=function(e){null!==e&&"removeAttribute"in e&&e.removeAttribute(goog.UID_PROPERTY_);try{delete e[goog.UID_PROPERTY_]}catch(e){}},goog.UID_PROPERTY_="closure_uid_"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if("function"==typeof e.clone)return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.cloneObject(e[o]);return t}return e},goog.bindNative_=function(e,t,o){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,o){if(!e)throw Error();if(2<arguments.length){var n=Array.prototype.slice.call(arguments,2);return function(){var o=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(o,n),e.apply(t,o)}}return function(){return e.apply(t,arguments)}},goog.bind=function(e,t,o){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(e,t){var o=Array.prototype.slice.call(arguments,1);return function(){var t=o.slice();return t.push.apply(t,arguments),e.apply(this,t)}},goog.mixin=function(e,t){for(var o in t)e[o]=t[o]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(e){if(goog.global.execScript)goog.global.execScript(e,"JavaScript");else{if(!goog.global.eval)throw Error("goog.globalEval not available");if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(e){}if(void 0!==goog.global._evalTest_){try{delete goog.global._evalTest_}catch(e){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(e);else{var t=goog.global.document,o=t.createElement("SCRIPT");o.type="text/javascript",o.defer=!1,o.appendChild(t.createTextNode(e)),t.head.appendChild(o),t.head.removeChild(o)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(e,t){if("."==String(e).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+e);var o=function(e){return goog.cssNameMapping_[e]||e},n=function(e){e=e.split("-");for(var t=[],n=0;n<e.length;n++)t.push(o(e[n]));return t.join("-")};return n=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?o:n:function(e){return e},n=t?e+"-"+n(t):n(e),goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(n):n},goog.setCssNameMapping=function(e,t){goog.cssNameMapping_=e,goog.cssNameMappingStyle_=t},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(e,t){return t&&(e=e.replace(/\{\$([^}]+)}/g,(function(e,o){return null!=t&&o in t?t[o]:e}))),e},goog.getMsgWithFallback=function(e,t){return e},goog.exportSymbol=function(e,t,o){goog.exportPath_(e,t,o)},goog.exportProperty=function(e,t,o){e[t]=o},goog.inherits=function(e,t){function o(){}o.prototype=t.prototype,e.superClass_=t.prototype,e.prototype=new o,e.prototype.constructor=e,e.base=function(e,o,n){for(var i=Array(arguments.length-2),r=2;r<arguments.length;r++)i[r-2]=arguments[r];return t.prototype[o].apply(e,i)}},goog.base=function(e,t,o){var n=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!n)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if(void 0!==n.superClass_){for(var i=Array(arguments.length-1),r=1;r<arguments.length;r++)i[r-1]=arguments[r];return n.superClass_.constructor.apply(e,i)}if("string"!=typeof t&&"symbol"!=typeof t)throw Error("method names provided to goog.base must be a string or a symbol");for(i=Array(arguments.length-2),r=2;r<arguments.length;r++)i[r-2]=arguments[r];r=!1;for(var s=e.constructor.prototype;s;s=Object.getPrototypeOf(s))if(s[t]===n)r=!0;else if(r)return s[t].apply(e,i);if(e[t]===n)return e.constructor.prototype[t].apply(e,i);throw Error("goog.base called from a method of one name to a method of a different name")},goog.scope=function(e){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");e.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(e,t){var o=t.constructor,n=t.statics;return o&&o!=Object.prototype.constructor||(o=function(){throw Error("cannot instantiate an interface (no constructor defined).")}),o=goog.defineClass.createSealingConstructor_(o,e),e&&goog.inherits(o,e),delete t.constructor,delete t.statics,goog.defineClass.applyProperties_(o.prototype,t),null!=n&&(n instanceof Function?n(o):goog.defineClass.applyProperties_(o,n)),o},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(e,t){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return e;var o=!goog.defineClass.isUnsealable_(t),n=function(){var t=e.apply(this,arguments)||this;return t[goog.UID_PROPERTY_]=t[goog.UID_PROPERTY_],this.constructor===n&&o&&Object.seal instanceof Function&&Object.seal(t),t};return n},goog.defineClass.isUnsealable_=function(e){return e&&e.prototype&&e.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.defineClass.applyProperties_=function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);for(var n=0;n<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;n++)o=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[n],Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},goog.tagUnsealableClass=function(e){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(e.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable",!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var e=goog.global.document;return null!=e&&"write"in e},goog.isDocumentLoading_=function(){var e=goog.global.document;return e.attachEvent?"complete"!=e.readyState:"loading"==e.readyState},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var e=goog.global.document,t=e.currentScript;for(t=(e=t?[t]:e.getElementsByTagName("SCRIPT")).length-1;0<=t;--t){var o=e[t].src,n=o.lastIndexOf("?");if(n=-1==n?o.length:n,"base.js"==o.substr(n-7,7)){goog.basePath=o.substr(0,n-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null,this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(t,o){e?d[t]=!0:o()?(c=t,d[t]=!1):e=d[t]=!0}function b(a){try{return!!eval(a)}catch(e){return!1}}var c="es3",d={es3:!1},e=!1,f=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";return a("es5",(function(){return b("[1,].length==1")})),a("es6",(function(){return!f.match(/Edge\/(\d+)(\.\d)*/i)&&b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')})),a("es7",(function(){return b("2 ** 2 == 4")})),a("es8",(function(){return b("async () => 1, true")})),a("es9",(function(){return b("({...rest} = {}), true")})),a("es_next",(function(){return!1})),{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(e,t){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var o=this.createRequiresTranspilation_();this.requiresTranspilation_=o.map,this.transpilationTarget_=this.transpilationTarget_||o.target}if(e in this.requiresTranspilation_)return!!this.requiresTranspilation_[e]||!(!goog.inHtmlDocument_()||"es6"!=t||"noModule"in goog.global.document.createElement("script"));throw Error("Unknown language mode: "+e)},goog.Transpiler.prototype.transpile=function(e,t){return goog.transpile_(e,t,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(e){return e.replace(/<\/(SCRIPT)/gi,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_={},this.idToPath_={},this.written_={},this.loadingDeps_=[],this.depsToLoad_=[],this.paused_=!1,this.factory_=new goog.DependencyFactory(goog.transpiler_),this.deferredCallbacks_={},this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(e,t){function o(){n&&(goog.global.setTimeout(n,0),n=null)}var n=t;if(e.length){for(var i=[],r=0;r<e.length;r++){var s=this.getPathFromDeps_(e[r]);if(!s)throw Error("Unregonized namespace: "+e[r]);i.push(this.dependencies_[s])}s=goog.require;var a=0;for(r=0;r<e.length;r++)s(e[r]),i[r].onLoad((function(){++a==e.length&&o()}))}else o()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1)),this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(e,t){var o=this.getPathFromDeps_(e);if(o&&(t||this.areDepsLoaded_(this.dependencies_[o].requires))){var n=this.deferredCallbacks_[o];n&&(delete this.deferredCallbacks_[o],n())}},goog.DebugLoader_.prototype.setDependencyFactory=function(e){this.factory_=e},goog.DebugLoader_.prototype.load_=function(e){if(!this.getPathFromDeps_(e))throw e="goog.require could not find: "+e,goog.logToConsole_(e),Error(e);var t=this,o=[],n=function(e){var i=t.getPathFromDeps_(e);if(!i)throw Error("Bad dependency path or symbol: "+e);if(!t.written_[i]){for(t.written_[i]=!0,e=t.dependencies_[i],i=0;i<e.requires.length;i++)goog.isProvided_(e.requires[i])||n(e.requires[i]);o.push(e)}};n(e),e=!!this.depsToLoad_.length,this.depsToLoad_=this.depsToLoad_.concat(o),this.paused_||e||this.loadDeps_()},goog.DebugLoader_.prototype.loadDeps_=function(){for(var e=this,t=this.paused_;this.depsToLoad_.length&&!t;)!function(){var o=!1,n=e.depsToLoad_.shift(),i=!1;e.loading_(n);var r={pause:function(){if(o)throw Error("Cannot call pause after the call to load.");t=!0},resume:function(){o?e.resume_():t=!1},loaded:function(){if(i)throw Error("Double call to loaded.");i=!0,e.loaded_(n)},pending:function(){for(var t=[],o=0;o<e.loadingDeps_.length;o++)t.push(e.loadingDeps_[o]);return t},setModuleState:function(e){goog.moduleLoaderState_={type:e,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(e,t,o){o&&(goog.loadedModules_[o]={exports:t,type:goog.ModuleType.ES6,moduleId:o||""})},registerGoogModuleExports:function(e,t){goog.loadedModules_[e]={exports:t,type:goog.ModuleType.GOOG,moduleId:e}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(t){if(o)throw Error("Cannot register with defer after the call to load.");e.defer_(n,t)},areDepsLoaded:function(){return e.areDepsLoaded_(n.requires)}};try{n.load(r)}finally{o=!0}}();t&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(e){this.loadingDeps_.push(e)},goog.DebugLoader_.prototype.loaded_=function(e){for(var t=0;t<this.loadingDeps_.length;t++)if(this.loadingDeps_[t]==e){this.loadingDeps_.splice(t,1);break}for(t=0;t<this.deferredQueue_.length;t++)if(this.deferredQueue_[t]==e.path){this.deferredQueue_.splice(t,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);e.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(e){for(var t=0;t<e.length;t++){var o=this.getPathFromDeps_(e[t]);if(!o||!(o in this.deferredCallbacks_||goog.isProvided_(e[t])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=function(e){return e in this.idToPath_?this.idToPath_[e]:e in this.dependencies_?e:null},goog.DebugLoader_.prototype.defer_=function(e,t){this.deferredCallbacks_[e.path]=t,this.deferredQueue_.push(e.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(e,t,o){},goog.LoadController.prototype.setModuleState=function(e){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(e){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(e,t,o,n,i){this.path=e,this.relativePath=t,this.provides=o,this.requires=n,this.loadFlags=i,this.loaded_=!1,this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var e=this.path,t=e.indexOf("://");return 0<=t&&(0<=(t=(e=e.substring(t+3)).indexOf("/"))&&(e=e.substring(t+1))),e},goog.Dependency.prototype.onLoad=function(e){this.loaded_?e():this.loadCallbacks_.push(e)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var e=this.loadCallbacks_;this.loadCallbacks_=[];for(var t=0;t<e.length;t++)e[t]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(e){var t=Math.random().toString(32);return goog.Dependency.callbackMap_[t]=e,t},goog.Dependency.unregisterCallback_=function(e){delete goog.Dependency.callbackMap_[e]},goog.Dependency.callback_=function(e,t){if(!(e in goog.Dependency.callbackMap_))throw Error("Callback key "+e+" does not exist (was base.js loaded more than once?).");for(var o=goog.Dependency.callbackMap_[e],n=[],i=1;i<arguments.length;i++)n.push(arguments[i]);o.apply(void 0,n)},goog.Dependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document;if("complete"==t.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path))return void e.loaded();throw Error('Cannot write "'+this.path+'" after document load')}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var o=goog.Dependency.registerCallback_((function(t){goog.DebugLoader_.IS_OLD_IE_&&"complete"!=t.readyState||(goog.Dependency.unregisterCallback_(o),e.loaded())})),n=!goog.DebugLoader_.IS_OLD_IE_&&goog.getScriptNonce()?' nonce="'+goog.getScriptNonce()+'"':"";n='<script src="'+this.path+'" '+(goog.DebugLoader_.IS_OLD_IE_?"onreadystatechange":"onload")+"=\"goog.Dependency.callback_('"+o+'\', this)" type="text/javascript" '+(goog.Dependency.defer_?"defer":"")+n+"><\/script>",t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}else{var i=t.createElement("script");i.defer=goog.Dependency.defer_,i.async=!1,i.type="text/javascript",(n=goog.getScriptNonce())&&i.setAttribute("nonce",n),goog.DebugLoader_.IS_OLD_IE_?(e.pause(),i.onreadystatechange=function(){"loaded"!=i.readyState&&"complete"!=i.readyState||(e.loaded(),e.resume())}):i.onload=function(){i.onload=null,e.loaded()},i.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(this.path):this.path,t.head.appendChild(i)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),e.loaded()):e.pause()},goog.Es6ModuleDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i)},goog.inherits(goog.Es6ModuleDependency,goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(e){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?e.loaded():e.pause();else if(goog.inHtmlDocument_()){var t=goog.global.document,o=this;if(goog.isDocumentLoading_()){var n=function(e,o){var n=o?'<script type="module" crossorigin>'+o+"<\/script>":'<script type="module" crossorigin src="'+e+'"><\/script>';t.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)};goog.Dependency.defer_=!0}else n=function(e,o){var n=t.createElement("script");n.defer=!0,n.async=!1,n.type="module",n.setAttribute("crossorigin",!0);var i=goog.getScriptNonce();i&&n.setAttribute("nonce",i),o?n.textContent=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScript(o):o:n.src=goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createScriptURL(e):e,t.head.appendChild(n)};var i=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(i),e.setModuleState(goog.ModuleType.ES6)}));n(void 0,'goog.Dependency.callback_("'+i+'")'),n(this.path,void 0);var r=goog.Dependency.registerCallback_((function(t){goog.Dependency.unregisterCallback_(r),e.registerEs6ModuleExports(o.path,t,goog.moduleLoaderState_.moduleName)}));n(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+r+'", m)');var s=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(s),e.clearModuleState(),e.loaded()}));n(void 0,'goog.Dependency.callback_("'+s+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),e.pause()},goog.TransformedDependency=function(e,t,o,n,i){goog.Dependency.call(this,e,t,o,n,i),this.contents_=null,this.lazyFetch_=!(goog.inHtmlDocument_()&&"noModule"in goog.global.document.createElement("script"))},goog.inherits(goog.TransformedDependency,goog.Dependency),goog.TransformedDependency.prototype.load=function(e){function t(){n.contents_=goog.loadFileSync_(n.path),n.contents_&&(n.contents_=n.transform(n.contents_),n.contents_&&(n.contents_+="\n//# sourceURL="+n.path))}function o(){if(n.lazyFetch_&&t(),n.contents_){i&&e.setModuleState(goog.ModuleType.ES6);try{var o=n.contents_;if(n.contents_=null,goog.globalEval(o),i)var r=goog.moduleLoaderState_.moduleName}finally{i&&e.clearModuleState()}i&&goog.global.$jscomp.require.ensure([n.getPathName()],(function(){e.registerEs6ModuleExports(n.path,goog.global.$jscomp.require(n.getPathName()),r)})),e.loaded()}}var n=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)t(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,e.loaded()):e.pause();else{var i=this.loadFlags.module==goog.ModuleType.ES6;this.lazyFetch_||t();var r=1<e.pending().length,s=r&&goog.DebugLoader_.IS_OLD_IE_;if(r=goog.Dependency.defer_&&(r||goog.isDocumentLoading_()),s||r)e.defer((function(){o()}));else{var a=goog.global.document;if(s=goog.inHtmlDocument_()&&"ActiveXObject"in goog.global,i&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!s){goog.Dependency.defer_=!0,e.pause();var l=a.onreadystatechange;a.onreadystatechange=function(){"interactive"==a.readyState&&(a.onreadystatechange=l,o(),e.resume()),goog.isFunction(l)&&l.apply(void 0,arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?function(){var e=goog.global.document,t=goog.Dependency.registerCallback_((function(){goog.Dependency.unregisterCallback_(t),o()})),n='<script type="text/javascript">'+goog.protectScriptTag_('goog.Dependency.callback_("'+t+'");')+"<\/script>";e.write(goog.TRUSTED_TYPES_POLICY_?goog.TRUSTED_TYPES_POLICY_.createHTML(n):n)}():o()}}},goog.TransformedDependency.prototype.transform=function(e){},goog.TranspiledDependency=function(e,t,o,n,i,r){goog.TransformedDependency.call(this,e,t,o,n,i),this.transpiler=r},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(e){return this.transpiler.transpile(e,this.getPathName())},goog.PreTranspiledEs6ModuleDependency=function(e,t,o,n,i){goog.TransformedDependency.call(this,e,t,o,n,i)},goog.inherits(goog.PreTranspiledEs6ModuleDependency,goog.TransformedDependency),goog.PreTranspiledEs6ModuleDependency.prototype.transform=function(e){return e},goog.GoogModuleDependency=function(e,t,o,n,i,r,s){goog.TransformedDependency.call(this,e,t,o,n,i),this.needsTranspile_=r,this.transpiler_=s},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(e){return this.needsTranspile_&&(e=this.transpiler_.transpile(e,this.getPathName())),goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(e+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+e+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(e,t,o,n){t=t||[],e=e.replace(/\\/g,"/");var i=goog.normalizePath_(goog.basePath+e);for(n&&"boolean"!=typeof n||(n=n?{module:goog.ModuleType.GOOG}:{}),o=this.factory_.createDependency(i,e,t,o,n,goog.transpiler_.needsTranspile(n.lang||"es3",n.module)),this.dependencies_[i]=o,o=0;o<t.length;o++)this.idToPath_[t[o]]=i;this.idToPath_[e]=i},goog.DependencyFactory=function(e){this.transpiler=e},goog.DependencyFactory.prototype.createDependency=function(e,t,o,n,i,r){return i.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(e,t,o,n,i,r,this.transpiler):r?new goog.TranspiledDependency(e,t,o,n,i,this.transpiler):i.module==goog.ModuleType.ES6?"never"==goog.TRANSPILE&&goog.ASSUME_ES_MODULES_TRANSPILED?new goog.PreTranspiledEs6ModuleDependency(e,t,o,n,i):new goog.Es6ModuleDependency(e,t,o,n,i):new goog.Dependency(e,t,o,n,i)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},goog.setDependencyFactory=function(e){goog.debugLoader_.setDependencyFactory(e)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(e,t){goog.debugLoader_.bootstrap(e,t)}),goog.TRUSTED_TYPES_POLICY_NAME="",goog.identity_=function(e){return e},goog.createTrustedTypesPolicy=function(e){var t=null;if("undefined"==typeof TrustedTypes||!TrustedTypes.createPolicy)return t;try{t=TrustedTypes.createPolicy(e,{createHTML:goog.identity_,createScript:goog.identity_,createScriptURL:goog.identity_,createURL:goog.identity_})}catch(e){goog.logToConsole_(e.message)}return t},goog.TRUSTED_TYPES_POLICY_=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#base"):null,goog.debug={},goog.debug.Error=function(e){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var t=Error().stack;t&&(this.stack=t)}e&&(this.message=String(e)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name="CustomError",goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(e,t){goog.debug.Error.call(this,goog.asserts.subs_(e,t)),this.messagePattern=e},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name="AssertionError",goog.asserts.DEFAULT_ERROR_HANDLER=function(e){throw e},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.subs_=function(e,t){for(var o=e.split("%s"),n="",i=o.length-1,r=0;r<i;r++)n+=o[r]+(r<t.length?t[r]:"%s");return n+o[i]},goog.asserts.doAssertFailure_=function(e,t,o,n){var i="Assertion failed";if(o){i+=": "+o;var r=n}else e&&(i+=": "+e,r=t);e=new goog.asserts.AssertionError(""+i,r||[]),goog.asserts.errorHandler_(e)},goog.asserts.setErrorHandler=function(e){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=e)},goog.asserts.assert=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!e&&goog.asserts.doAssertFailure_("",null,t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertExists=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&null==e&&goog.asserts.doAssertFailure_("Expected to exist: %s.",[e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.fail=function(e,t){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(e?": "+e:""),Array.prototype.slice.call(arguments,1)))},goog.asserts.assertNumber=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(e)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertString=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(e)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertFunction=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(e)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertObject=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(e)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertArray=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(e)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertBoolean=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(e)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertElement=function(e,t,o){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(e)&&e.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertInstanceof=function(e,t,o,n){return!goog.asserts.ENABLE_ASSERTS||e instanceof t||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(t),goog.asserts.getType_(e)],o,Array.prototype.slice.call(arguments,3)),e},goog.asserts.assertFinite=function(e,t,o){return!goog.asserts.ENABLE_ASSERTS||"number"==typeof e&&isFinite(e)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var e in Object.prototype)goog.asserts.fail(e+" should not be enumerable in Object.prototype.")},goog.asserts.getType_=function(e){return e instanceof Function?e.displayName||e.name||"unknown type name":e instanceof Object?e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e):null===e?"null":typeof e},goog.debug.entryPointRegistry={},goog.debug.EntryPointMonitor=function(){},goog.debug.entryPointRegistry.refList_=[],goog.debug.entryPointRegistry.monitors_=[],goog.debug.entryPointRegistry.monitorsMayExist_=!1,goog.debug.entryPointRegistry.register=function(e){if(goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=e,goog.debug.entryPointRegistry.monitorsMayExist_)for(var t=goog.debug.entryPointRegistry.monitors_,o=0;o<t.length;o++)e(goog.bind(t[o].wrap,t[o]))},goog.debug.entryPointRegistry.monitorAll=function(e){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var t=goog.bind(e.wrap,e),o=0;o<goog.debug.entryPointRegistry.refList_.length;o++)goog.debug.entryPointRegistry.refList_[o](t);goog.debug.entryPointRegistry.monitors_.push(e)},goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(e){var t=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(e==t[t.length-1],"Only the most recent monitor can be unwrapped."),e=goog.bind(e.unwrap,e);for(var o=0;o<goog.debug.entryPointRegistry.refList_.length;o++)goog.debug.entryPointRegistry.refList_[o](e);t.length--},goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE,goog.array.ASSUME_NATIVE_FUNCTIONS=!1,goog.array.peek=function(e){return e[e.length-1]},goog.array.last=goog.array.peek,goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.indexOf.call(e,t,o)}:function(e,t,o){if(o=null==o?0:0>o?Math.max(0,e.length+o):o,goog.isString(e))return goog.isString(t)&&1==t.length?e.indexOf(t,o):-1;for(;o<e.length;o++)if(o in e&&e[o]===t)return o;return-1},goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.lastIndexOf.call(e,t,null==o?e.length-1:o)}:function(e,t,o){if(0>(o=null==o?e.length-1:o)&&(o=Math.max(0,e.length+o)),goog.isString(e))return goog.isString(t)&&1==t.length?e.lastIndexOf(t,o):-1;for(;0<=o;o--)if(o in e&&e[o]===t)return o;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(e,t,o){goog.asserts.assert(null!=e.length),Array.prototype.forEach.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)r in i&&t.call(o,i[r],r,e)},goog.array.forEachRight=function(e,t,o){var n=e.length,i=goog.isString(e)?e.split(""):e;for(--n;0<=n;--n)n in i&&t.call(o,i[n],n,e)},goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.filter.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=[],r=0,s=goog.isString(e)?e.split(""):e,a=0;a<n;a++)if(a in s){var l=s[a];t.call(o,l,a,e)&&(i[r++]=l)}return i},goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.map.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=Array(n),r=goog.isString(e)?e.split(""):e,s=0;s<n;s++)s in r&&(i[s]=t.call(o,r[s],s,e));return i},goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(e,t,o,n){return goog.asserts.assert(null!=e.length),n&&(t=goog.bind(t,n)),Array.prototype.reduce.call(e,t,o)}:function(e,t,o,n){var i=o;return goog.array.forEach(e,(function(o,r){i=t.call(n,i,o,r,e)})),i},goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(e,t,o,n){return goog.asserts.assert(null!=e.length),goog.asserts.assert(null!=t),n&&(t=goog.bind(t,n)),Array.prototype.reduceRight.call(e,t,o)}:function(e,t,o,n){var i=o;return goog.array.forEachRight(e,(function(o,r){i=t.call(n,i,o,r,e)})),i},goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.some.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&t.call(o,i[r],r,e))return!0;return!1},goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.every.call(e,t,o)}:function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&!t.call(o,i[r],r,e))return!1;return!0},goog.array.count=function(e,t,o){var n=0;return goog.array.forEach(e,(function(e,i,r){t.call(o,e,i,r)&&++n}),o),n},goog.array.find=function(e,t,o){return 0>(t=goog.array.findIndex(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndex=function(e,t,o){for(var n=e.length,i=goog.isString(e)?e.split(""):e,r=0;r<n;r++)if(r in i&&t.call(o,i[r],r,e))return r;return-1},goog.array.findRight=function(e,t,o){return 0>(t=goog.array.findIndexRight(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndexRight=function(e,t,o){var n=e.length,i=goog.isString(e)?e.split(""):e;for(--n;0<=n;n--)if(n in i&&t.call(o,i[n],n,e))return n;return-1},goog.array.contains=function(e,t){return 0<=goog.array.indexOf(e,t)},goog.array.isEmpty=function(e){return 0==e.length},goog.array.clear=function(e){if(!goog.isArray(e))for(var t=e.length-1;0<=t;t--)delete e[t];e.length=0},goog.array.insert=function(e,t){goog.array.contains(e,t)||e.push(t)},goog.array.insertAt=function(e,t,o){goog.array.splice(e,o,0,t)},goog.array.insertArrayAt=function(e,t,o){goog.partial(goog.array.splice,e,o,0).apply(null,t)},goog.array.insertBefore=function(e,t,o){var n;2==arguments.length||0>(n=goog.array.indexOf(e,o))?e.push(t):goog.array.insertAt(e,t,n)},goog.array.remove=function(e,t){var o,n=goog.array.indexOf(e,t);return(o=0<=n)&&goog.array.removeAt(e,n),o},goog.array.removeLast=function(e,t){var o=goog.array.lastIndexOf(e,t);return 0<=o&&(goog.array.removeAt(e,o),!0)},goog.array.removeAt=function(e,t){return goog.asserts.assert(null!=e.length),1==Array.prototype.splice.call(e,t,1).length},goog.array.removeIf=function(e,t,o){return 0<=(t=goog.array.findIndex(e,t,o))&&(goog.array.removeAt(e,t),!0)},goog.array.removeAllIf=function(e,t,o){var n=0;return goog.array.forEachRight(e,(function(i,r){t.call(o,i,r,e)&&goog.array.removeAt(e,r)&&n++})),n},goog.array.concat=function(e){return Array.prototype.concat.apply([],arguments)},goog.array.join=function(e){return Array.prototype.concat.apply([],arguments)},goog.array.toArray=function(e){var t=e.length;if(0<t){for(var o=Array(t),n=0;n<t;n++)o[n]=e[n];return o}return[]},goog.array.clone=goog.array.toArray,goog.array.extend=function(e,t){for(var o=1;o<arguments.length;o++){var n=arguments[o];if(goog.isArrayLike(n)){var i=e.length||0,r=n.length||0;e.length=i+r;for(var s=0;s<r;s++)e[i+s]=n[s]}else e.push(n)}},goog.array.splice=function(e,t,o,n){return goog.asserts.assert(null!=e.length),Array.prototype.splice.apply(e,goog.array.slice(arguments,1))},goog.array.slice=function(e,t,o){return goog.asserts.assert(null!=e.length),2>=arguments.length?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,o)},goog.array.removeDuplicates=function(e,t,o){t=t||e;var n=function(e){return goog.isObject(e)?"o"+goog.getUid(e):(typeof e).charAt(0)+e};o=o||n,n={};for(var i=0,r=0;r<e.length;){var s=e[r++],a=o(s);Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,t[i++]=s)}t.length=i},goog.array.binarySearch=function(e,t,o){return goog.array.binarySearch_(e,o||goog.array.defaultCompare,!1,t)},goog.array.binarySelect=function(e,t,o){return goog.array.binarySearch_(e,t,!0,void 0,o)},goog.array.binarySearch_=function(e,t,o,n,i){for(var r,s=0,a=e.length;s<a;){var l=s+a>>1,u=o?t.call(i,e[l],l,e):t(n,e[l]);0<u?s=l+1:(a=l,r=!u)}return r?s:~s},goog.array.sort=function(e,t){e.sort(t||goog.array.defaultCompare)},goog.array.stableSort=function(e,t){for(var o=Array(e.length),n=0;n<e.length;n++)o[n]={index:n,value:e[n]};var i=t||goog.array.defaultCompare;for(goog.array.sort(o,(function(e,t){return i(e.value,t.value)||e.index-t.index})),n=0;n<e.length;n++)e[n]=o[n].value},goog.array.sortByKey=function(e,t,o){var n=o||goog.array.defaultCompare;goog.array.sort(e,(function(e,o){return n(t(e),t(o))}))},goog.array.sortObjectsByKey=function(e,t,o){goog.array.sortByKey(e,(function(e){return e[t]}),o)},goog.array.isSorted=function(e,t,o){t=t||goog.array.defaultCompare;for(var n=1;n<e.length;n++){var i=t(e[n-1],e[n]);if(0<i||0==i&&o)return!1}return!0},goog.array.equals=function(e,t,o){if(!goog.isArrayLike(e)||!goog.isArrayLike(t)||e.length!=t.length)return!1;var n=e.length;o=o||goog.array.defaultCompareEquality;for(var i=0;i<n;i++)if(!o(e[i],t[i]))return!1;return!0},goog.array.compare3=function(e,t,o){o=o||goog.array.defaultCompare;for(var n=Math.min(e.length,t.length),i=0;i<n;i++){var r=o(e[i],t[i]);if(0!=r)return r}return goog.array.defaultCompare(e.length,t.length)},goog.array.defaultCompare=function(e,t){return e>t?1:e<t?-1:0},goog.array.inverseDefaultCompare=function(e,t){return-goog.array.defaultCompare(e,t)},goog.array.defaultCompareEquality=function(e,t){return e===t},goog.array.binaryInsert=function(e,t,o){return 0>(o=goog.array.binarySearch(e,t,o))&&(goog.array.insertAt(e,t,-(o+1)),!0)},goog.array.binaryRemove=function(e,t,o){return 0<=(t=goog.array.binarySearch(e,t,o))&&goog.array.removeAt(e,t)},goog.array.bucket=function(e,t,o){for(var n={},i=0;i<e.length;i++){var r=e[i],s=t.call(o,r,i,e);goog.isDef(s)&&(n[s]||(n[s]=[])).push(r)}return n},goog.array.toObject=function(e,t,o){var n={};return goog.array.forEach(e,(function(i,r){n[t.call(o,i,r,e)]=i})),n},goog.array.range=function(e,t,o){var n=[],i=0,r=e;if(void 0!==t&&(i=e,r=t),0>(o=o||1)*(r-i))return[];if(0<o)for(e=i;e<r;e+=o)n.push(e);else for(e=i;e>r;e+=o)n.push(e);return n},goog.array.repeat=function(e,t){for(var o=[],n=0;n<t;n++)o[n]=e;return o},goog.array.flatten=function(e){for(var t=[],o=0;o<arguments.length;o++){var n=arguments[o];if(goog.isArray(n))for(var i=0;i<n.length;i+=8192){var r=goog.array.slice(n,i,i+8192);r=goog.array.flatten.apply(null,r);for(var s=0;s<r.length;s++)t.push(r[s])}else t.push(n)}return t},goog.array.rotate=function(e,t){return goog.asserts.assert(null!=e.length),e.length&&(0<(t%=e.length)?Array.prototype.unshift.apply(e,e.splice(-t,t)):0>t&&Array.prototype.push.apply(e,e.splice(0,-t))),e},goog.array.moveItem=function(e,t,o){goog.asserts.assert(0<=t&&t<e.length),goog.asserts.assert(0<=o&&o<e.length),t=Array.prototype.splice.call(e,t,1),Array.prototype.splice.call(e,o,0,t[0])},goog.array.zip=function(e){if(!arguments.length)return[];for(var t=[],o=arguments[0].length,n=1;n<arguments.length;n++)arguments[n].length<o&&(o=arguments[n].length);for(n=0;n<o;n++){for(var i=[],r=0;r<arguments.length;r++)i.push(arguments[r][n]);t.push(i)}return t},goog.array.shuffle=function(e,t){for(var o=t||Math.random,n=e.length-1;0<n;n--){var i=Math.floor(o()*(n+1)),r=e[n];e[n]=e[i],e[i]=r}},goog.array.copyByIndex=function(e,t){var o=[];return goog.array.forEach(t,(function(t){o.push(e[t])})),o},goog.array.concatMap=function(e,t,o){return goog.array.concat.apply([],goog.array.map(e,t,o))},goog.debug.errorcontext={},goog.debug.errorcontext.addErrorContext=function(e,t,o){e[goog.debug.errorcontext.CONTEXT_KEY_]||(e[goog.debug.errorcontext.CONTEXT_KEY_]={}),e[goog.debug.errorcontext.CONTEXT_KEY_][t]=o},goog.debug.errorcontext.getErrorContext=function(e){return e[goog.debug.errorcontext.CONTEXT_KEY_]||{}},goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382",goog.string={},goog.string.internal={},goog.string.internal.startsWith=function(e,t){return 0==e.lastIndexOf(t,0)},goog.string.internal.endsWith=function(e,t){var o=e.length-t.length;return 0<=o&&e.indexOf(t,o)==o},goog.string.internal.caseInsensitiveStartsWith=function(e,t){return 0==goog.string.internal.caseInsensitiveCompare(t,e.substr(0,t.length))},goog.string.internal.caseInsensitiveEndsWith=function(e,t){return 0==goog.string.internal.caseInsensitiveCompare(t,e.substr(e.length-t.length,t.length))},goog.string.internal.caseInsensitiveEquals=function(e,t){return e.toLowerCase()==t.toLowerCase()},goog.string.internal.isEmptyOrWhitespace=function(e){return/^[\s\xa0]*$/.test(e)},goog.string.internal.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(e){return e.trim()}:function(e){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(e)[1]},goog.string.internal.caseInsensitiveCompare=function(e,t){var o=String(e).toLowerCase(),n=String(t).toLowerCase();return o<n?-1:o==n?0:1},goog.string.internal.newLineToBr=function(e,t){return e.replace(/(\r\n|\r|\n)/g,t?"<br />":"<br>")},goog.string.internal.htmlEscape=function(e,t){if(t)e=e.replace(goog.string.internal.AMP_RE_,"&amp;").replace(goog.string.internal.LT_RE_,"&lt;").replace(goog.string.internal.GT_RE_,"&gt;").replace(goog.string.internal.QUOT_RE_,"&quot;").replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.internal.NULL_RE_,"&#0;");else{if(!goog.string.internal.ALL_RE_.test(e))return e;-1!=e.indexOf("&")&&(e=e.replace(goog.string.internal.AMP_RE_,"&amp;")),-1!=e.indexOf("<")&&(e=e.replace(goog.string.internal.LT_RE_,"&lt;")),-1!=e.indexOf(">")&&(e=e.replace(goog.string.internal.GT_RE_,"&gt;")),-1!=e.indexOf('"')&&(e=e.replace(goog.string.internal.QUOT_RE_,"&quot;")),-1!=e.indexOf("'")&&(e=e.replace(goog.string.internal.SINGLE_QUOTE_RE_,"&#39;")),-1!=e.indexOf("\0")&&(e=e.replace(goog.string.internal.NULL_RE_,"&#0;"))}return e},goog.string.internal.AMP_RE_=/&/g,goog.string.internal.LT_RE_=/</g,goog.string.internal.GT_RE_=/>/g,goog.string.internal.QUOT_RE_=/"/g,goog.string.internal.SINGLE_QUOTE_RE_=/'/g,goog.string.internal.NULL_RE_=/\x00/g,goog.string.internal.ALL_RE_=/[\x00&<>"']/,goog.string.internal.whitespaceEscape=function(e,t){return goog.string.internal.newLineToBr(e.replace(/  /g," &#160;"),t)},goog.string.internal.contains=function(e,t){return-1!=e.indexOf(t)},goog.string.internal.caseInsensitiveContains=function(e,t){return goog.string.internal.contains(e.toLowerCase(),t.toLowerCase())},goog.string.internal.compareVersions=function(e,t){for(var o=0,n=goog.string.internal.trim(String(e)).split("."),i=goog.string.internal.trim(String(t)).split("."),r=Math.max(n.length,i.length),s=0;0==o&&s<r;s++){var a=n[s]||"",l=i[s]||"";do{if(a=/(\d*)(\D*)(.*)/.exec(a)||["","","",""],l=/(\d*)(\D*)(.*)/.exec(l)||["","","",""],0==a[0].length&&0==l[0].length)break;o=0==a[1].length?0:parseInt(a[1],10);var u=0==l[1].length?0:parseInt(l[1],10);o=goog.string.internal.compareElements_(o,u)||goog.string.internal.compareElements_(0==a[2].length,0==l[2].length)||goog.string.internal.compareElements_(a[2],l[2]),a=a[3],l=l[3]}while(0==o)}return o},goog.string.internal.compareElements_=function(e,t){return e<t?-1:e>t?1:0},goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var e=goog.labs.userAgent.util.getNavigator_();return e&&(e=e.userAgent)?e:""},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(e){goog.labs.userAgent.util.userAgent_=e||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.contains(t,e)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.internal.caseInsensitiveContains(t,e)},goog.labs.userAgent.util.extractVersionTuples=function(e){for(var t,o=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),n=[];t=o.exec(e);)n.push([t[1],t[2],t[3]||void 0]);return n},goog.object={},goog.object.is=function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},goog.object.forEach=function(e,t,o){for(var n in e)t.call(o,e[n],n,e)},goog.object.filter=function(e,t,o){var n,i={};for(n in e)t.call(o,e[n],n,e)&&(i[n]=e[n]);return i},goog.object.map=function(e,t,o){var n,i={};for(n in e)i[n]=t.call(o,e[n],n,e);return i},goog.object.some=function(e,t,o){for(var n in e)if(t.call(o,e[n],n,e))return!0;return!1},goog.object.every=function(e,t,o){for(var n in e)if(!t.call(o,e[n],n,e))return!1;return!0},goog.object.getCount=function(e){var t,o=0;for(t in e)o++;return o},goog.object.getAnyKey=function(e){for(var t in e)return t},goog.object.getAnyValue=function(e){for(var t in e)return e[t]},goog.object.contains=function(e,t){return goog.object.containsValue(e,t)},goog.object.getValues=function(e){var t,o=[],n=0;for(t in e)o[n++]=e[t];return o},goog.object.getKeys=function(e){var t,o=[],n=0;for(t in e)o[n++]=t;return o},goog.object.getValueByKeys=function(e,t){var o=goog.isArrayLike(t),n=o?t:arguments;for(o=o?0:1;o<n.length;o++){if(null==e)return;e=e[n[o]]}return e},goog.object.containsKey=function(e,t){return null!==e&&t in e},goog.object.containsValue=function(e,t){for(var o in e)if(e[o]==t)return!0;return!1},goog.object.findKey=function(e,t,o){for(var n in e)if(t.call(o,e[n],n,e))return n},goog.object.findValue=function(e,t,o){return(t=goog.object.findKey(e,t,o))&&e[t]},goog.object.isEmpty=function(e){for(var t in e)return!1;return!0},goog.object.clear=function(e){for(var t in e)delete e[t]},goog.object.remove=function(e,t){var o;return(o=t in e)&&delete e[t],o},goog.object.add=function(e,t,o){if(null!==e&&t in e)throw Error('The object already contains the key "'+t+'"');goog.object.set(e,t,o)},goog.object.get=function(e,t,o){return null!==e&&t in e?e[t]:o},goog.object.set=function(e,t,o){e[t]=o},goog.object.setIfUndefined=function(e,t,o){return t in e?e[t]:e[t]=o},goog.object.setWithReturnValueIfNotSet=function(e,t,o){return t in e?e[t]:(o=o(),e[t]=o)},goog.object.equals=function(e,t){for(var o in e)if(!(o in t)||e[o]!==t[o])return!1;for(o in t)if(!(o in e))return!1;return!0},goog.object.clone=function(e){var t,o={};for(t in e)o[t]=e[t];return o},goog.object.unsafeClone=function(e){var t=goog.typeOf(e);if("object"==t||"array"==t){if(goog.isFunction(e.clone))return e.clone();for(var o in t="array"==t?[]:{},e)t[o]=goog.object.unsafeClone(e[o]);return t}return e},goog.object.transpose=function(e){var t,o={};for(t in e)o[e[t]]=t;return o},goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),goog.object.extend=function(e,t){for(var o,n,i=1;i<arguments.length;i++){for(o in n=arguments[i])e[o]=n[o];for(var r=0;r<goog.object.PROTOTYPE_FIELDS_.length;r++)o=goog.object.PROTOTYPE_FIELDS_[r],Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}},goog.object.create=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(t%2)throw Error("Uneven number of arguments");for(var o={},n=0;n<t;n+=2)o[arguments[n]]=arguments[n+1];return o},goog.object.createSet=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var o={},n=0;n<t;n++)o[arguments[n]]=!0;return o},goog.object.createImmutableView=function(e){var t=e;return Object.isFrozen&&!Object.isFrozen(e)&&(t=Object.create(e),Object.freeze(t)),t},goog.object.isImmutableView=function(e){return!!Object.isFrozen&&Object.isFrozen(e)},goog.object.getAllPropertyNames=function(e,t,o){if(!e)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(e);for(var n={};e&&(e!==Object.prototype||t)&&(e!==Function.prototype||o);){for(var i=Object.getOwnPropertyNames(e),r=0;r<i.length;r++)n[i[r]]=!0;e=Object.getPrototypeOf(e)}return goog.object.getKeys(n)},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.browser.matchEdgeHtml_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.browser.matchEdgeChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("Edg/")},goog.labs.userAgent.browser.matchOperaChromium_=function(){return goog.labs.userAgent.util.matchUserAgent("OPR")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")||goog.labs.userAgent.util.matchUserAgent("FxiOS")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdgeHtml_()||goog.labs.userAgent.browser.matchEdgeChromium_()||goog.labs.userAgent.browser.matchOperaChromium_()||goog.labs.userAgent.browser.matchFirefox_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&!goog.labs.userAgent.browser.matchFirefox_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdgeHtml_()},goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdgeHtml_,goog.labs.userAgent.browser.isEdgeChromium=goog.labs.userAgent.browser.matchEdgeChromium_,goog.labs.userAgent.browser.isOperaChromium=goog.labs.userAgent.browser.matchOperaChromium_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")},goog.labs.userAgent.browser.getVersion=function(){function e(e){return e=goog.array.find(e,n),o[e]||""}var t=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(t);t=goog.labs.userAgent.util.extractVersionTuples(t);var o={};goog.array.forEach(t,(function(e){o[e[0]]=e[1]}));var n=goog.partial(goog.object.containsKey,o);return goog.labs.userAgent.browser.isOpera()?e(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?e(["Edge"]):goog.labs.userAgent.browser.isEdgeChromium()?e(["Edg"]):goog.labs.userAgent.browser.isChrome()?e(["Chrome","CriOS"]):(t=t[2])&&t[1]||""},goog.labs.userAgent.browser.isVersionOrHigher=function(e){return 0<=goog.string.internal.compareVersions(goog.labs.userAgent.browser.getVersion(),e)},goog.labs.userAgent.browser.getIEVersion_=function(e){var t=/rv: *([\d\.]*)/.exec(e);if(t&&t[1])return t[1];t="";var o=/MSIE +([\d\.]+)/.exec(e);if(o&&o[1])if(e=/Trident\/(\d.\d)/.exec(e),"7.0"==o[1])if(e&&e[1])switch(e[1]){case"4.0":t="8.0";break;case"5.0":t="9.0";break;case"6.0":t="10.0";break;case"7.0":t="11.0"}else t="7.0";else t=o[1];return t},goog.dom.asserts={},goog.dom.asserts.assertIsLocation=function(e){if(goog.asserts.ENABLE_ASSERTS){var t=goog.dom.asserts.getWindow_(e);t&&(!e||!(e instanceof t.Location)&&e instanceof t.Element)&&goog.asserts.fail("Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(e))}return e},goog.dom.asserts.assertIsElementType_=function(e,t){if(goog.asserts.ENABLE_ASSERTS){var o=goog.dom.asserts.getWindow_(e);o&&void 0!==o[t]&&(e&&(e instanceof o[t]||!(e instanceof o.Location||e instanceof o.Element))||goog.asserts.fail("Argument is not a %s (or a non-Element, non-Location mock); got: %s",t,goog.dom.asserts.debugStringForType_(e)))}return e},goog.dom.asserts.assertIsHTMLAnchorElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLAnchorElement")},goog.dom.asserts.assertIsHTMLButtonElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLButtonElement")},goog.dom.asserts.assertIsHTMLLinkElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLLinkElement")},goog.dom.asserts.assertIsHTMLImageElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLImageElement")},goog.dom.asserts.assertIsHTMLAudioElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLAudioElement")},goog.dom.asserts.assertIsHTMLVideoElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLVideoElement")},goog.dom.asserts.assertIsHTMLInputElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLInputElement")},goog.dom.asserts.assertIsHTMLTextAreaElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLTextAreaElement")},goog.dom.asserts.assertIsHTMLCanvasElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLCanvasElement")},goog.dom.asserts.assertIsHTMLEmbedElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLEmbedElement")},goog.dom.asserts.assertIsHTMLFormElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLFormElement")},goog.dom.asserts.assertIsHTMLFrameElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLFrameElement")},goog.dom.asserts.assertIsHTMLIFrameElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLIFrameElement")},goog.dom.asserts.assertIsHTMLObjectElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLObjectElement")},goog.dom.asserts.assertIsHTMLScriptElement=function(e){return goog.dom.asserts.assertIsElementType_(e,"HTMLScriptElement")},goog.dom.asserts.debugStringForType_=function(e){if(!goog.isObject(e))return void 0===e?"undefined":null===e?"null":typeof e;try{return e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e)}catch(e){return"<object could not be stringified>"}},goog.dom.asserts.getWindow_=function(e){try{var t=e&&e.ownerDocument,o=t&&(t.defaultView||t.parentWindow);if((o=o||goog.global).Element&&o.Location)return o}catch(e){}return null},goog.functions={},goog.functions.constant=function(e){return function(){return e}},goog.functions.FALSE=function(){return!1},goog.functions.TRUE=function(){return!0},goog.functions.NULL=function(){return null},goog.functions.identity=function(e,t){return e},goog.functions.error=function(e){return function(){throw Error(e)}},goog.functions.fail=function(e){return function(){throw e}},goog.functions.lock=function(e,t){return t=t||0,function(){return e.apply(this,Array.prototype.slice.call(arguments,0,t))}},goog.functions.nth=function(e){return function(){return arguments[e]}},goog.functions.partialRight=function(e,t){var o=Array.prototype.slice.call(arguments,1);return function(){var t=Array.prototype.slice.call(arguments);return t.push.apply(t,o),e.apply(this,t)}},goog.functions.withReturnValue=function(e,t){return goog.functions.sequence(e,goog.functions.constant(t))},goog.functions.equalTo=function(e,t){return function(o){return t?e==o:e===o}},goog.functions.compose=function(e,t){var o=arguments,n=o.length;return function(){var e;n&&(e=o[n-1].apply(this,arguments));for(var t=n-2;0<=t;t--)e=o[t].call(this,e);return e}},goog.functions.sequence=function(e){var t=arguments,o=t.length;return function(){for(var e,n=0;n<o;n++)e=t[n].apply(this,arguments);return e}},goog.functions.and=function(e){var t=arguments,o=t.length;return function(){for(var e=0;e<o;e++)if(!t[e].apply(this,arguments))return!1;return!0}},goog.functions.or=function(e){var t=arguments,o=t.length;return function(){for(var e=0;e<o;e++)if(t[e].apply(this,arguments))return!0;return!1}},goog.functions.not=function(e){return function(){return!e.apply(this,arguments)}},goog.functions.create=function(e,t){var o=function(){};return o.prototype=e.prototype,o=new o,e.apply(o,Array.prototype.slice.call(arguments,1)),o},goog.functions.CACHE_RETURN_VALUE=!0,goog.functions.cacheReturnValue=function(e){var t,o=!1;return function(){return goog.functions.CACHE_RETURN_VALUE?(o||(t=e(),o=!0),t):e()}},goog.functions.once=function(e){var t=e;return function(){if(t){var e=t;t=null,e()}}},goog.functions.debounce=function(e,t,o){var n=0;return function(i){goog.global.clearTimeout(n);var r=arguments;n=goog.global.setTimeout((function(){e.apply(o,r)}),t)}},goog.functions.throttle=function(e,t,o){var n=0,i=!1,r=[],s=function(){n=0,i&&(i=!1,a())},a=function(){n=goog.global.setTimeout(s,t),e.apply(o,r)};return function(e){r=arguments,n?i=!0:a()}},goog.functions.rateLimit=function(e,t,o){var n=0,i=function(){n=0};return function(r){n||(n=goog.global.setTimeout(i,t),e.apply(o,arguments))}},goog.dom.HtmlElement=function(){},goog.dom.TagName=function(e){this.tagName_=e},goog.dom.TagName.prototype.toString=function(){return this.tagName_},goog.dom.TagName.A=new goog.dom.TagName("A"),goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR"),goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM"),goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS"),goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET"),goog.dom.TagName.AREA=new goog.dom.TagName("AREA"),goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE"),goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE"),goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO"),goog.dom.TagName.B=new goog.dom.TagName("B"),goog.dom.TagName.BASE=new goog.dom.TagName("BASE"),goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT"),goog.dom.TagName.BDI=new goog.dom.TagName("BDI"),goog.dom.TagName.BDO=new goog.dom.TagName("BDO"),goog.dom.TagName.BIG=new goog.dom.TagName("BIG"),goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE"),goog.dom.TagName.BODY=new goog.dom.TagName("BODY"),goog.dom.TagName.BR=new goog.dom.TagName("BR"),goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON"),goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS"),goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION"),goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER"),goog.dom.TagName.CITE=new goog.dom.TagName("CITE"),goog.dom.TagName.CODE=new goog.dom.TagName("CODE"),goog.dom.TagName.COL=new goog.dom.TagName("COL"),goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP"),goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND"),goog.dom.TagName.DATA=new goog.dom.TagName("DATA"),goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST"),goog.dom.TagName.DD=new goog.dom.TagName("DD"),goog.dom.TagName.DEL=new goog.dom.TagName("DEL"),goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS"),goog.dom.TagName.DFN=new goog.dom.TagName("DFN"),goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG"),goog.dom.TagName.DIR=new goog.dom.TagName("DIR"),goog.dom.TagName.DIV=new goog.dom.TagName("DIV"),goog.dom.TagName.DL=new goog.dom.TagName("DL"),goog.dom.TagName.DT=new goog.dom.TagName("DT"),goog.dom.TagName.EM=new goog.dom.TagName("EM"),goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED"),goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET"),goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION"),goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE"),goog.dom.TagName.FONT=new goog.dom.TagName("FONT"),goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER"),goog.dom.TagName.FORM=new goog.dom.TagName("FORM"),goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME"),goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET"),goog.dom.TagName.H1=new goog.dom.TagName("H1"),goog.dom.TagName.H2=new goog.dom.TagName("H2"),goog.dom.TagName.H3=new goog.dom.TagName("H3"),goog.dom.TagName.H4=new goog.dom.TagName("H4"),goog.dom.TagName.H5=new goog.dom.TagName("H5"),goog.dom.TagName.H6=new goog.dom.TagName("H6"),goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD"),goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER"),goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP"),goog.dom.TagName.HR=new goog.dom.TagName("HR"),goog.dom.TagName.HTML=new goog.dom.TagName("HTML"),goog.dom.TagName.I=new goog.dom.TagName("I"),goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME"),goog.dom.TagName.IMG=new goog.dom.TagName("IMG"),goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT"),goog.dom.TagName.INS=new goog.dom.TagName("INS"),goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX"),goog.dom.TagName.KBD=new goog.dom.TagName("KBD"),goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN"),goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL"),goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND"),goog.dom.TagName.LI=new goog.dom.TagName("LI"),goog.dom.TagName.LINK=new goog.dom.TagName("LINK"),goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN"),goog.dom.TagName.MAP=new goog.dom.TagName("MAP"),goog.dom.TagName.MARK=new goog.dom.TagName("MARK"),goog.dom.TagName.MATH=new goog.dom.TagName("MATH"),goog.dom.TagName.MENU=new goog.dom.TagName("MENU"),goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM"),goog.dom.TagName.META=new goog.dom.TagName("META"),goog.dom.TagName.METER=new goog.dom.TagName("METER"),goog.dom.TagName.NAV=new goog.dom.TagName("NAV"),goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES"),goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT"),goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT"),goog.dom.TagName.OL=new goog.dom.TagName("OL"),goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP"),goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION"),goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT"),goog.dom.TagName.P=new goog.dom.TagName("P"),goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM"),goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE"),goog.dom.TagName.PRE=new goog.dom.TagName("PRE"),goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS"),goog.dom.TagName.Q=new goog.dom.TagName("Q"),goog.dom.TagName.RP=new goog.dom.TagName("RP"),goog.dom.TagName.RT=new goog.dom.TagName("RT"),goog.dom.TagName.RTC=new goog.dom.TagName("RTC"),goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY"),goog.dom.TagName.S=new goog.dom.TagName("S"),goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP"),goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT"),goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION"),goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT"),goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL"),goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE"),goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN"),goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE"),goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG"),goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE"),goog.dom.TagName.SUB=new goog.dom.TagName("SUB"),goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY"),goog.dom.TagName.SUP=new goog.dom.TagName("SUP"),goog.dom.TagName.SVG=new goog.dom.TagName("SVG"),goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE"),goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY"),goog.dom.TagName.TD=new goog.dom.TagName("TD"),goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE"),goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA"),goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT"),goog.dom.TagName.TH=new goog.dom.TagName("TH"),goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD"),goog.dom.TagName.TIME=new goog.dom.TagName("TIME"),goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE"),goog.dom.TagName.TR=new goog.dom.TagName("TR"),goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK"),goog.dom.TagName.TT=new goog.dom.TagName("TT"),goog.dom.TagName.U=new goog.dom.TagName("U"),goog.dom.TagName.UL=new goog.dom.TagName("UL"),goog.dom.TagName.VAR=new goog.dom.TagName("VAR"),goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO"),goog.dom.TagName.WBR=new goog.dom.TagName("WBR"),goog.dom.tags={},goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},goog.dom.tags.isVoidTag=function(e){return!0===goog.dom.tags.VOID_TAGS_[e]},goog.html={},goog.html.trustedtypes={},goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY=goog.TRUSTED_TYPES_POLICY_NAME?goog.createTrustedTypesPolicy(goog.TRUSTED_TYPES_POLICY_NAME+"#html"):null,goog.string.TypedString=function(){},goog.string.Const=function(e,t){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=e===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&t||"",this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_},goog.string.Const.prototype.implementsGoogStringTypedString=!0,goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_},goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"},goog.string.Const.unwrap=function(e){return e instanceof goog.string.Const&&e.constructor===goog.string.Const&&e.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_?e.stringConstValueWithSecurityContract__googStringSecurityPrivate_:(goog.asserts.fail("expected object of type Const, got '"+e+"'"),"type_error:Const")},goog.string.Const.from=function(e){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,e)},goog.string.Const.TYPE_MARKER_={},goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={},goog.string.Const.EMPTY=goog.string.Const.from(""),goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="",this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0,goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeScript.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeScript.fromConstantAndArgs=function(e,t){for(var o=[],n=1;n<arguments.length;n++)o.push(goog.html.SafeScript.stringify_(arguments[n]));return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(e)+")("+o.join(", ")+");")},goog.html.SafeScript.fromJson=function(e){return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(goog.html.SafeScript.stringify_(e))},goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"}),goog.html.SafeScript.unwrap=function(e){return goog.html.SafeScript.unwrapTrustedScript(e).toString()},goog.html.SafeScript.unwrapTrustedScript=function(e){return e instanceof goog.html.SafeScript&&e.constructor===goog.html.SafeScript&&e.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeScriptWrappedValue_:(goog.asserts.fail("expected object of type SafeScript, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeScript")},goog.html.SafeScript.stringify_=function(e){return JSON.stringify(e).replace(/</g,"\\x3c")},goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScript(e):e,this},goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(""),goog.fs={},goog.fs.url={},goog.fs.url.createObjectUrl=function(e){return goog.fs.url.getUrlObject_().createObjectURL(e)},goog.fs.url.revokeObjectUrl=function(e){goog.fs.url.getUrlObject_().revokeObjectURL(e)},goog.fs.url.getUrlObject_=function(){var e=goog.fs.url.findUrlObject_();if(null!=e)return e;throw Error("This browser doesn't seem to support blob URLs")},goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null},goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()},goog.i18n={},goog.i18n.bidi={},goog.i18n.bidi.FORCE_RTL=!1,goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))||7<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))&&("adlm"==goog.LOCALE.substring(3,7).toLowerCase()||"arab"==goog.LOCALE.substring(3,7).toLowerCase()||"hebr"==goog.LOCALE.substring(3,7).toLowerCase()||"nkoo"==goog.LOCALE.substring(3,7).toLowerCase()||"rohg"==goog.LOCALE.substring(3,7).toLowerCase()||"thaa"==goog.LOCALE.substring(3,7).toLowerCase())||8<=goog.LOCALE.length&&("-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4))&&("adlm"==goog.LOCALE.substring(4,8).toLowerCase()||"arab"==goog.LOCALE.substring(4,8).toLowerCase()||"hebr"==goog.LOCALE.substring(4,8).toLowerCase()||"nkoo"==goog.LOCALE.substring(4,8).toLowerCase()||"rohg"==goog.LOCALE.substring(4,8).toLowerCase()||"thaa"==goog.LOCALE.substring(4,8).toLowerCase()),goog.i18n.bidi.Format={LRE:"‪",RLE:"‫",PDF:"‬",LRM:"‎",RLM:"‏"},goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0},goog.i18n.bidi.RIGHT="right",goog.i18n.bidi.LEFT="left",goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT,goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,goog.i18n.bidi.toDir=function(e,t){return"number"==typeof e?0<e?goog.i18n.bidi.Dir.LTR:0>e?goog.i18n.bidi.Dir.RTL:t?null:goog.i18n.bidi.Dir.NEUTRAL:null==e?null:e?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.ltrChars_="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ऀ-῿‎Ⰰ-\ud801\ud804-\ud839\ud83c-\udbff豈-﬜︀-﹯﻽-￿",goog.i18n.bidi.rtlChars_="֑-ۯۺ-ࣿ‏\ud802-\ud803\ud83a-\ud83bיִ-﷿ﹰ-ﻼ",goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g,goog.i18n.bidi.stripHtmlIfNeeded_=function(e,t){return t?e.replace(goog.i18n.bidi.htmlSkipReg_,""):e},goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.hasAnyRtl=function(e,t){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl,goog.i18n.bidi.hasAnyLtr=function(e,t){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.isRtlChar=function(e){return goog.i18n.bidi.rtlRe_.test(e)},goog.i18n.bidi.isLtrChar=function(e){return goog.i18n.bidi.ltrRe_.test(e)},goog.i18n.bidi.isNeutralChar=function(e){return!goog.i18n.bidi.isLtrChar(e)&&!goog.i18n.bidi.isRtlChar(e)},goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]"),goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]"),goog.i18n.bidi.startsWithRtl=function(e,t){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl,goog.i18n.bidi.startsWithLtr=function(e,t){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr,goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/,goog.i18n.bidi.isNeutralText=function(e,t){return e=goog.i18n.bidi.stripHtmlIfNeeded_(e,t),goog.i18n.bidi.isRequiredLtrRe_.test(e)||!goog.i18n.bidi.hasAnyLtr(e)&&!goog.i18n.bidi.hasAnyRtl(e)},goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$"),goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$"),goog.i18n.bidi.endsWithLtr=function(e,t){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr,goog.i18n.bidi.endsWithRtl=function(e,t){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(e,t))},goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl,goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i,goog.i18n.bidi.isRtlLanguage=function(e){return goog.i18n.bidi.rtlLocalesRe_.test(e)},goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g,goog.i18n.bidi.guardBracketInText=function(e,t){var o=(void 0===t?goog.i18n.bidi.hasAnyRtl(e):t)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return e.replace(goog.i18n.bidi.bracketGuardTextRe_,o+"$&"+o)},goog.i18n.bidi.enforceRtlInHtml=function(e){return"<"==e.charAt(0)?e.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+e+"</span>"},goog.i18n.bidi.enforceRtlInText=function(e){return goog.i18n.bidi.Format.RLE+e+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.enforceLtrInHtml=function(e){return"<"==e.charAt(0)?e.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+e+"</span>"},goog.i18n.bidi.enforceLtrInText=function(e){return goog.i18n.bidi.Format.LRE+e+goog.i18n.bidi.Format.PDF},goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g,goog.i18n.bidi.leftRe_=/left/gi,goog.i18n.bidi.rightRe_=/right/gi,goog.i18n.bidi.tempRe_=/%%%%/g,goog.i18n.bidi.mirrorCSS=function(e){return e.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)},goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g,goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g,goog.i18n.bidi.normalizeHebrewQuote=function(e){return e.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1״").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1׳")},goog.i18n.bidi.wordSeparatorRe_=/\s+/,goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/,goog.i18n.bidi.rtlDetectionThreshold_=.4,goog.i18n.bidi.estimateDirection=function(e,t){for(var o=0,n=0,i=!1,r=goog.i18n.bidi.stripHtmlIfNeeded_(e,t).split(goog.i18n.bidi.wordSeparatorRe_),s=0;s<r.length;s++){var a=r[s];goog.i18n.bidi.startsWithRtl(a)?(o++,n++):goog.i18n.bidi.isRequiredLtrRe_.test(a)?i=!0:goog.i18n.bidi.hasAnyLtr(a)?n++:goog.i18n.bidi.hasNumeralsRe_.test(a)&&(i=!0)}return 0==n?i?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:o/n>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR},goog.i18n.bidi.detectRtlDirectionality=function(e,t){return goog.i18n.bidi.estimateDirection(e,t)==goog.i18n.bidi.Dir.RTL},goog.i18n.bidi.setElementDirAndAlign=function(e,t){e&&(t=goog.i18n.bidi.toDir(t))&&(e.style.textAlign=t==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,e.dir=t==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")},goog.i18n.bidi.setElementDirByTextDirectionality=function(e,t){switch(goog.i18n.bidi.estimateDirection(t)){case goog.i18n.bidi.Dir.LTR:e.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:e.dir="rtl";break;default:e.removeAttribute("dir")}},goog.i18n.bidi.DirectionalString=function(){},goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="",this.trustedURL_=null,this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0,goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_.toString()},goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(e,t){var o=goog.html.TrustedResourceUrl.unwrap(this),n=(o=goog.html.TrustedResourceUrl.URL_PARAM_PARSER_.exec(o))[3]||"";return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(o[1]+goog.html.TrustedResourceUrl.stringifyParams_("?",o[2]||"",e)+goog.html.TrustedResourceUrl.stringifyParams_("#",n,t))},goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"}),goog.html.TrustedResourceUrl.unwrap=function(e){return goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(e).toString()},goog.html.TrustedResourceUrl.unwrapTrustedScriptURL=function(e){return e instanceof goog.html.TrustedResourceUrl&&e.constructor===goog.html.TrustedResourceUrl&&e.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_:(goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+e+"' of type "+goog.typeOf(e)),"type_error:TrustedResourceUrl")},goog.html.TrustedResourceUrl.unwrapTrustedURL=function(e){return e.trustedURL_?e.trustedURL_:goog.html.TrustedResourceUrl.unwrap(e)},goog.html.TrustedResourceUrl.format=function(e,t){var o=goog.string.Const.unwrap(e);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(o))throw Error("Invalid TrustedResourceUrl format: "+o);var n=o.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,(function(e,n){if(!Object.prototype.hasOwnProperty.call(t,n))throw Error('Found marker, "'+n+'", in format string, "'+o+'", but no valid label mapping found in args: '+JSON.stringify(t));var i=t[n];return i instanceof goog.string.Const?goog.string.Const.unwrap(i):encodeURIComponent(String(i))}));return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(n)},goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g,goog.html.TrustedResourceUrl.BASE_URL_=/^((https:)?\/\/[0-9a-z.:[\]-]+\/|\/[^/\\]|[^:/\\%]+\/|[^:/\\%]*[?#]|about:blank#)/i,goog.html.TrustedResourceUrl.URL_PARAM_PARSER_=/^([^?#]*)(\?[^#]*)?(#[\s\S]*)?/,goog.html.TrustedResourceUrl.formatWithParams=function(e,t,o,n){return goog.html.TrustedResourceUrl.format(e,t).cloneWithParams(o,n)},goog.html.TrustedResourceUrl.fromConstant=function(e){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(e))},goog.html.TrustedResourceUrl.fromConstants=function(e){for(var t="",o=0;o<e.length;o++)t+=goog.string.Const.unwrap(e[o]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(e){var t=new goog.html.TrustedResourceUrl;return t.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createScriptURL(e):e,goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY&&(t.trustedURL_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(e)),t},goog.html.TrustedResourceUrl.stringifyParams_=function(e,t,o){if(null==o)return t;if(goog.isString(o))return o?e+encodeURIComponent(o):"";for(var n in o){var i=o[n];i=goog.isArray(i)?i:[i];for(var r=0;r<i.length;r++){var s=i[r];null!=s&&(t||(t=e),t+=(t.length>e.length?"&":"")+encodeURIComponent(n)+"="+encodeURIComponent(String(s)))}}return t},goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeUrlWrappedValue_="",this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez",goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0,goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeUrlWrappedValue_.toString()},goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR},goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeUrlWrappedValue_+"}"}),goog.html.SafeUrl.unwrap=function(e){return goog.html.SafeUrl.unwrapTrustedURL(e).toString()},goog.html.SafeUrl.unwrapTrustedURL=function(e){return e instanceof goog.html.SafeUrl&&e.constructor===goog.html.SafeUrl&&e.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeUrlWrappedValue_:(goog.asserts.fail("expected object of type SafeUrl, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeUrl")},goog.html.SafeUrl.fromConstant=function(e){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(e))},goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|L16|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp|x-icon)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))(?:;\w+=(?:\w+|"[\w;=]+"))*$/i,goog.html.SafeUrl.isSafeMimeType=function(e){return goog.html.SAFE_MIME_TYPE_PATTERN_.test(e)},goog.html.SafeUrl.fromBlob=function(e){return e=goog.html.SAFE_MIME_TYPE_PATTERN_.test(e.type)?goog.fs.url.createObjectUrl(e):goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.DATA_URL_PATTERN_=/^data:([^,]*);base64,[a-z0-9+\/]+=*$/i,goog.html.SafeUrl.fromDataUrl=function(e){var t=(e=e.replace(/(%0A|%0D)/g,"")).match(goog.html.DATA_URL_PATTERN_);return t=t&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(t[1]),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t?e:goog.html.SafeUrl.INNOCUOUS_STRING)},goog.html.SafeUrl.fromTelUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"tel:")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i,goog.html.SafeUrl.fromSipUrl=function(e){return goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(e))||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromFacebookMessengerUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"fb-messenger://share")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromWhatsAppUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"whatsapp://send")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.fromSmsUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.isSmsUrlBodyValid_=function(e){var t=e.indexOf("#");if(0<t&&(e=e.substring(0,t)),!(t=e.match(/[?&]body=/gi)))return!0;if(1<t.length)return!1;if(!(e=e.match(/[?&]body=([^&]*)/)[1]))return!0;try{decodeURIComponent(e)}catch(e){return!1}return/^(?:[a-z0-9\-_.~]|%[0-9a-f]{2})+$/i.test(e)},goog.html.SafeUrl.fromSshUrl=function(e){return goog.string.internal.caseInsensitiveStartsWith(e,"ssh://")||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.sanitizeChromeExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^chrome-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeFirefoxExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^moz-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeEdgeExtensionUrl=function(e,t){return goog.html.SafeUrl.sanitizeExtensionUrl_(/^ms-browser-extension:\/\/([^\/]+)\//,e,t)},goog.html.SafeUrl.sanitizeExtensionUrl_=function(e,t,o){return(e=e.exec(t))?(e=e[1],-1==(o instanceof goog.string.Const?[goog.string.Const.unwrap(o)]:o.map((function(e){return goog.string.Const.unwrap(e)}))).indexOf(e)&&(t=goog.html.SafeUrl.INNOCUOUS_STRING)):t=goog.html.SafeUrl.INNOCUOUS_STRING,goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeUrl.fromTrustedResourceUrl=function(e){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(e))},goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,goog.html.SafeUrl.SAFE_URL_PATTERN=goog.html.SAFE_URL_PATTERN_,goog.html.SafeUrl.sanitize=function(e){return e instanceof goog.html.SafeUrl?e:(e="object"==typeof e&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),goog.html.SAFE_URL_PATTERN_.test(e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeUrl.sanitizeAssertUnchanged=function(e,t){if(e instanceof goog.html.SafeUrl)return e;if(e="object"==typeof e&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),t&&/^data:/i.test(e)){var o=goog.html.SafeUrl.fromDataUrl(e);if(o.getTypedStringValue()==e)return o}return goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(e),"%s does not match the safe URL pattern",e)||(e=goog.html.SafeUrl.INNOCUOUS_STRING),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(e)},goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(e){var t=new goog.html.SafeUrl;return t.privateDoNotAccessOrElseSafeUrlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createURL(e):e,t},goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank"),goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="",this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyle.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeStyle.EMPTY:(goog.asserts.assert(goog.string.internal.endsWith(e,";"),"Last character of style string is not ';': "+e),goog.asserts.assert(goog.string.internal.contains(e,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+e),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_},goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"}),goog.html.SafeStyle.unwrap=function(e){return e instanceof goog.html.SafeStyle&&e.constructor===goog.html.SafeStyle&&e.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeStyleWrappedValue_:(goog.asserts.fail("expected object of type SafeStyle, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeStyle")},goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_=e,this},goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez",goog.html.SafeStyle.create=function(e){var t,o="";for(t in e){if(!/^[-_a-zA-Z0-9]+$/.test(t))throw Error("Name allows only [-_a-zA-Z0-9], got: "+t);var n=e[t];null!=n&&(o+=t+":"+(n=goog.isArray(n)?goog.array.map(n,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(n))+";")}return o?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(o):goog.html.SafeStyle.EMPTY},goog.html.SafeStyle.sanitizePropertyValue_=function(e){if(e instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(e).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';if(e=e instanceof goog.string.Const?goog.string.Const.unwrap(e):goog.html.SafeStyle.sanitizePropertyValueString_(String(e)),/[{;}]/.test(e))throw new goog.asserts.AssertionError("Value does not allow [{;}], got: %s.",[e]);return e},goog.html.SafeStyle.sanitizePropertyValueString_=function(e){var t=e.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");return goog.html.SafeStyle.VALUE_RE_.test(t)?goog.html.SafeStyle.COMMENT_RE_.test(e)?(goog.asserts.fail("String value disallows comments, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):goog.html.SafeStyle.hasBalancedQuotes_(e)?goog.html.SafeStyle.hasBalancedSquareBrackets_(e)?goog.html.SafeStyle.sanitizeUrl_(e):(goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value requires balanced quotes, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING):(goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+e),goog.html.SafeStyle.INNOCUOUS_STRING)},goog.html.SafeStyle.hasBalancedQuotes_=function(e){for(var t=!0,o=!0,n=0;n<e.length;n++){var i=e.charAt(n);"'"==i&&o?t=!t:'"'==i&&t&&(o=!o)}return t&&o},goog.html.SafeStyle.hasBalancedSquareBrackets_=function(e){for(var t=!0,o=/^[-_a-zA-Z0-9]$/,n=0;n<e.length;n++){var i=e.charAt(n);if("]"==i){if(t)return!1;t=!0}else if("["==i){if(!t)return!1;t=!1}else if(!t&&!o.test(i))return!1}return t},goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]",goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$"),goog.html.SafeStyle.URL_RE_=RegExp("\\b(url\\([ \t\n]*)('[ -&(-\\[\\]-~]*'|\"[ !#-\\[\\]-~]*\"|[!#-&*-\\[\\]-~]*)([ \t\n]*\\))","g"),goog.html.SafeStyle.FUNCTIONS_RE_=RegExp("\\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\\([-+*/0-9a-z.%\\[\\], ]+\\)","g"),goog.html.SafeStyle.COMMENT_RE_=/\/\*/,goog.html.SafeStyle.sanitizeUrl_=function(e){return e.replace(goog.html.SafeStyle.URL_RE_,(function(e,t,o,n){var i="";return o=o.replace(/^(['"])(.*)\1$/,(function(e,t,o){return i=t,o})),e=goog.html.SafeUrl.sanitize(o).getTypedStringValue(),t+i+e+i+n}))},goog.html.SafeStyle.concat=function(e){var t="",o=function(e){goog.isArray(e)?goog.array.forEach(e,o):t+=goog.html.SafeStyle.unwrap(e)};return goog.array.forEach(arguments,o),t?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t):goog.html.SafeStyle.EMPTY},goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="",this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_},goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0,goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeStyleSheet.createRule=function(e,t){if(goog.string.internal.contains(e,"<"))throw Error("Selector does not allow '<', got: "+e);var o=e.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(o))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+e);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(o))throw Error("() and [] in selector must be balanced, got: "+e);return t instanceof goog.html.SafeStyle||(t=goog.html.SafeStyle.create(t)),o=e+"{"+goog.html.SafeStyle.unwrap(t).replace(/</g,"\\3C ")+"}",goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(o)},goog.html.SafeStyleSheet.hasBalancedBrackets_=function(e){for(var t={"(":")","[":"]"},o=[],n=0;n<e.length;n++){var i=e[n];if(t[i])o.push(t[i]);else if(goog.object.contains(t,i)&&o.pop()!=i)return!1}return 0==o.length},goog.html.SafeStyleSheet.concat=function(e){var t="",o=function(e){goog.isArray(e)?goog.array.forEach(e,o):t+=goog.html.SafeStyleSheet.unwrap(e)};return goog.array.forEach(arguments,o),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)},goog.html.SafeStyleSheet.fromConstant=function(e){return 0===(e=goog.string.Const.unwrap(e)).length?goog.html.SafeStyleSheet.EMPTY:(goog.asserts.assert(!goog.string.internal.contains(e,"<"),"Forbidden '<' character in style sheet string: "+e),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(e))},goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_},goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"}),goog.html.SafeStyleSheet.unwrap=function(e){return e instanceof goog.html.SafeStyleSheet&&e.constructor===goog.html.SafeStyleSheet&&e.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_:(goog.asserts.fail("expected object of type SafeStyleSheet, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeStyleSheet")},goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(e){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(e)},goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=e,this},goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(""),goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="",this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_,this.dir_=null},goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0,goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_},goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0,goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_.toString()},goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"}),goog.html.SafeHtml.unwrap=function(e){return goog.html.SafeHtml.unwrapTrustedHTML(e).toString()},goog.html.SafeHtml.unwrapTrustedHTML=function(e){return e instanceof goog.html.SafeHtml&&e.constructor===goog.html.SafeHtml&&e.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_?e.privateDoNotAccessOrElseSafeHtmlWrappedValue_:(goog.asserts.fail("expected object of type SafeHtml, got '"+e+"' of type "+goog.typeOf(e)),"type_error:SafeHtml")},goog.html.SafeHtml.htmlEscape=function(e){if(e instanceof goog.html.SafeHtml)return e;var t="object"==typeof e,o=null;return t&&e.implementsGoogI18nBidiDirectionalString&&(o=e.getDirection()),e=t&&e.implementsGoogStringTypedString?e.getTypedStringValue():String(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.htmlEscape(e),o)},goog.html.SafeHtml.htmlEscapePreservingNewlines=function(e){return e instanceof goog.html.SafeHtml?e:(e=goog.html.SafeHtml.htmlEscape(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.newLineToBr(goog.html.SafeHtml.unwrap(e)),e.getDirection()))},goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(e){return e instanceof goog.html.SafeHtml?e:(e=goog.html.SafeHtml.htmlEscape(e),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.internal.whitespaceEscape(goog.html.SafeHtml.unwrap(e)),e.getDirection()))},goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape,goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/,goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.html.SafeHtml.create=function(e,t,o){return goog.html.SafeHtml.verifyTagName(String(e)),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(e),t,o)},goog.html.SafeHtml.verifyTagName=function(e){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(e))throw Error("Invalid tag name <"+e+">.");if(e.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+e+"> is not allowed for SafeHtml.")},goog.html.SafeHtml.createIframe=function(e,t,o,n){e&&goog.html.TrustedResourceUrl.unwrap(e);var i={};return i.src=e||null,i.srcdoc=t&&goog.html.SafeHtml.unwrap(t),e=goog.html.SafeHtml.combineAttributes(i,{sandbox:""},o),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",e,n)},goog.html.SafeHtml.createSandboxIframe=function(e,t,o,n){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var i={};return i.src=e?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e)):null,i.srcdoc=t||null,i.sandbox="",e=goog.html.SafeHtml.combineAttributes(i,{},o),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",e,n)},goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype},goog.html.SafeHtml.createScriptSrc=function(e,t){goog.html.TrustedResourceUrl.unwrap(e);var o=goog.html.SafeHtml.combineAttributes({src:e},{},t);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",o)},goog.html.SafeHtml.createScript=function(e,t){for(var o in t){var n=o.toLowerCase();if("language"==n||"src"==n||"text"==n||"type"==n)throw Error('Cannot set "'+n+'" attribute')}for(o="",e=goog.array.concat(e),n=0;n<e.length;n++)o+=goog.html.SafeScript.unwrap(e[n]);return o=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(o,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",t,o)},goog.html.SafeHtml.createStyle=function(e,t){var o=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},t),n="";e=goog.array.concat(e);for(var i=0;i<e.length;i++)n+=goog.html.SafeStyleSheet.unwrap(e[i]);return n=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(n,goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",o,n)},goog.html.SafeHtml.createMetaRefresh=function(e,t){var o=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(e));return(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.internal.contains(o,";")&&(o="'"+o.replace(/'/g,"%27")+"'"),goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(t||0)+"; url="+o})},goog.html.SafeHtml.getAttrNameAndValue_=function(e,t,o){if(o instanceof goog.string.Const)o=goog.string.Const.unwrap(o);else if("style"==t.toLowerCase())o=goog.html.SafeHtml.getStyleValue_(o);else{if(/^on/i.test(t))throw Error('Attribute "'+t+'" requires goog.string.Const value, "'+o+'" given.');if(t.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(o instanceof goog.html.TrustedResourceUrl)o=goog.html.TrustedResourceUrl.unwrap(o);else if(o instanceof goog.html.SafeUrl)o=goog.html.SafeUrl.unwrap(o);else{if(!goog.isString(o))throw Error('Attribute "'+t+'" on tag "'+e+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+o+'" given.');o=goog.html.SafeUrl.sanitize(o).getTypedStringValue()}}return o.implementsGoogStringTypedString&&(o=o.getTypedStringValue()),goog.asserts.assert(goog.isString(o)||goog.isNumber(o),"String or number value expected, got "+typeof o+" with value: "+o),t+'="'+goog.string.internal.htmlEscape(String(o))+'"'},goog.html.SafeHtml.getStyleValue_=function(e){if(!goog.isObject(e))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof e+" given: "+e);return e instanceof goog.html.SafeStyle||(e=goog.html.SafeStyle.create(e)),goog.html.SafeStyle.unwrap(e)},goog.html.SafeHtml.createWithDir=function(e,t,o,n){return(t=goog.html.SafeHtml.create(t,o,n)).dir_=e,t},goog.html.SafeHtml.join=function(e,t){var o=goog.html.SafeHtml.htmlEscape(e),n=o.getDirection(),i=[],r=function(e){goog.isArray(e)?goog.array.forEach(e,r):(e=goog.html.SafeHtml.htmlEscape(e),i.push(goog.html.SafeHtml.unwrap(e)),e=e.getDirection(),n==goog.i18n.bidi.Dir.NEUTRAL?n=e:e!=goog.i18n.bidi.Dir.NEUTRAL&&n!=e&&(n=null))};return goog.array.forEach(t,r),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i.join(goog.html.SafeHtml.unwrap(o)),n)},goog.html.SafeHtml.concat=function(e){return goog.html.SafeHtml.join(goog.html.SafeHtml.EMPTY,Array.prototype.slice.call(arguments))},goog.html.SafeHtml.concatWithDir=function(e,t){var o=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));return o.dir_=e,o},goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={},goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(e,t){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(e,t)},goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(e,t){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY?goog.html.trustedtypes.PRIVATE_DO_NOT_ACCESS_OR_ELSE_POLICY.createHTML(e):e,this.dir_=t,this},goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(e,t,o){var n=null,i="<"+e+goog.html.SafeHtml.stringifyAttributes(e,t);return goog.isDefAndNotNull(o)?goog.isArray(o)||(o=[o]):o=[],goog.dom.tags.isVoidTag(e.toLowerCase())?(goog.asserts.assert(!o.length,"Void tag <"+e+"> does not allow content."),i+=">"):(n=goog.html.SafeHtml.concat(o),i+=">"+goog.html.SafeHtml.unwrap(n)+"</"+e+">",n=n.getDirection()),(e=t&&t.dir)&&(n=/^(ltr|rtl|auto)$/i.test(e)?goog.i18n.bidi.Dir.NEUTRAL:null),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(i,n)},goog.html.SafeHtml.stringifyAttributes=function(e,t){var o="";if(t)for(var n in t){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(n))throw Error('Invalid attribute name "'+n+'".');var i=t[n];goog.isDefAndNotNull(i)&&(o+=" "+goog.html.SafeHtml.getAttrNameAndValue_(e,n,i))}return o},goog.html.SafeHtml.combineAttributes=function(e,t,o){var n,i={};for(n in e)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=e[n];for(n in t)goog.asserts.assert(n.toLowerCase()==n,"Must be lower case"),i[n]=t[n];for(n in o){var r=n.toLowerCase();if(r in e)throw Error('Cannot override "'+r+'" attribute, got "'+n+'" with value "'+o[n]+'"');r in t&&delete i[r],i[n]=o[n]}return i},goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL),goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL),goog.html.uncheckedconversions={},goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(e,t,o){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(t,o||null)},goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(t)},goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(e,t){return goog.asserts.assertString(goog.string.Const.unwrap(e),"must provide justification"),goog.asserts.assert(!goog.string.internal.isEmptyOrWhitespace(goog.string.Const.unwrap(e)),"must provide non-empty justification"),goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(t)},goog.dom.safe={},goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"},goog.dom.safe.insertAdjacentHtml=function(e,t,o){e.insertAdjacentHTML(t,goog.html.SafeHtml.unwrapTrustedHTML(o))},goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0},goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue((function(){if(goog.DEBUG&&"undefined"==typeof document)return!1;var e=document.createElement("div"),t=document.createElement("div");return t.appendChild(document.createElement("div")),e.appendChild(t),!(goog.DEBUG&&!e.firstChild)&&(t=e.firstChild.firstChild,e.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(goog.html.SafeHtml.EMPTY),!t.parentElement)})),goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(e,t){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;e.lastChild;)e.removeChild(e.lastChild);e.innerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setInnerHtml=function(e,t){if(goog.asserts.ENABLE_ASSERTS){var o=e.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[o])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+e.tagName+".")}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(e,t)},goog.dom.safe.setOuterHtml=function(e,t){e.outerHTML=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setFormElementAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLFormElement(e).action=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setButtonFormAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLButtonElement(e).formAction=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setInputFormAction=function(e,t){var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);goog.dom.asserts.assertIsHTMLInputElement(e).formAction=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setStyle=function(e,t){e.style.cssText=goog.html.SafeStyle.unwrap(t)},goog.dom.safe.documentWrite=function(e,t){e.write(goog.html.SafeHtml.unwrapTrustedHTML(t))},goog.dom.safe.setAnchorHref=function(e,t){goog.dom.asserts.assertIsHTMLAnchorElement(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.href=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setImageSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLImageElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:image\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setAudioSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLAudioElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:audio\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setVideoSrc=function(e,t){if(goog.dom.asserts.assertIsHTMLVideoElement(e),t instanceof goog.html.SafeUrl)var o=t;else o=/^data:video\//i.test(t),o=goog.html.SafeUrl.sanitizeAssertUnchanged(t,o);e.src=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.setEmbedSrc=function(e,t){goog.dom.asserts.assertIsHTMLEmbedElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)},goog.dom.safe.setFrameSrc=function(e,t){goog.dom.asserts.assertIsHTMLFrameElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)},goog.dom.safe.setIframeSrc=function(e,t){goog.dom.asserts.assertIsHTMLIFrameElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)},goog.dom.safe.setIframeSrcdoc=function(e,t){goog.dom.asserts.assertIsHTMLIFrameElement(e),e.srcdoc=goog.html.SafeHtml.unwrapTrustedHTML(t)},goog.dom.safe.setLinkHrefAndRel=function(e,t,o){goog.dom.asserts.assertIsHTMLLinkElement(e),e.rel=o,goog.string.internal.caseInsensitiveContains(o,"stylesheet")?(goog.asserts.assert(t instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),e.href=goog.html.TrustedResourceUrl.unwrapTrustedURL(t)):e.href=t instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrapTrustedURL(t):t instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrapTrustedURL(t):goog.html.SafeUrl.unwrapTrustedURL(goog.html.SafeUrl.sanitizeAssertUnchanged(t))},goog.dom.safe.setObjectData=function(e,t){goog.dom.asserts.assertIsHTMLObjectElement(e),e.data=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t)},goog.dom.safe.setScriptSrc=function(e,t){goog.dom.asserts.assertIsHTMLScriptElement(e),e.src=goog.html.TrustedResourceUrl.unwrapTrustedScriptURL(t);var o=goog.getScriptNonce();o&&e.setAttribute("nonce",o)},goog.dom.safe.setScriptContent=function(e,t){goog.dom.asserts.assertIsHTMLScriptElement(e),e.text=goog.html.SafeScript.unwrapTrustedScript(t);var o=goog.getScriptNonce();o&&e.setAttribute("nonce",o)},goog.dom.safe.setLocationHref=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.href=goog.html.SafeUrl.unwrapTrustedURL(o)},goog.dom.safe.assignLocation=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.assign(goog.html.SafeUrl.unwrapTrustedURL(o))},goog.dom.safe.replaceLocation=function(e,t){goog.dom.asserts.assertIsLocation(e);var o=t instanceof goog.html.SafeUrl?t:goog.html.SafeUrl.sanitizeAssertUnchanged(t);e.replace(goog.html.SafeUrl.unwrapTrustedURL(o))},goog.dom.safe.openInWindow=function(e,t,o,n,i){return e=e instanceof goog.html.SafeUrl?e:goog.html.SafeUrl.sanitizeAssertUnchanged(e),(t||goog.global).open(goog.html.SafeUrl.unwrapTrustedURL(e),o?goog.string.Const.unwrap(o):"",n,i)},goog.dom.safe.parseFromStringHtml=function(e,t){return goog.dom.safe.parseFromString(e,t,"text/html")},goog.dom.safe.parseFromString=function(e,t,o){return e.parseFromString(goog.html.SafeHtml.unwrapTrustedHTML(t),o)},goog.dom.safe.createImageFromBlob=function(e){if(!/^image\/.*/g.test(e.type))throw Error("goog.dom.safe.createImageFromBlob only accepts MIME type image/.*.");var t=goog.global.URL.createObjectURL(e);return(e=new goog.global.Image).onload=function(){goog.global.URL.revokeObjectURL(t)},goog.dom.safe.setImageSrc(e,goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Image blob URL."),t)),e},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:" "},goog.string.startsWith=goog.string.internal.startsWith,goog.string.endsWith=goog.string.internal.endsWith,goog.string.caseInsensitiveStartsWith=goog.string.internal.caseInsensitiveStartsWith,goog.string.caseInsensitiveEndsWith=goog.string.internal.caseInsensitiveEndsWith,goog.string.caseInsensitiveEquals=goog.string.internal.caseInsensitiveEquals,goog.string.subs=function(e,t){for(var o=e.split("%s"),n="",i=Array.prototype.slice.call(arguments,1);i.length&&1<o.length;)n+=o.shift()+i.shift();return n+o.join("%s")},goog.string.collapseWhitespace=function(e){return e.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},goog.string.isEmptyOrWhitespace=goog.string.internal.isEmptyOrWhitespace,goog.string.isEmptyString=function(e){return 0==e.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(e){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(e))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(e){return!/[^\t\n\r ]/.test(e)},goog.string.isAlpha=function(e){return!/[^a-zA-Z]/.test(e)},goog.string.isNumeric=function(e){return!/[^0-9]/.test(e)},goog.string.isAlphaNumeric=function(e){return!/[^a-zA-Z0-9]/.test(e)},goog.string.isSpace=function(e){return" "==e},goog.string.isUnicodeChar=function(e){return 1==e.length&&" "<=e&&"~">=e||"€"<=e&&"�">=e},goog.string.stripNewlines=function(e){return e.replace(/(\r\n|\r|\n)+/g," ")},goog.string.canonicalizeNewlines=function(e){return e.replace(/(\r\n|\r|\n)/g,"\n")},goog.string.normalizeWhitespace=function(e){return e.replace(/\xa0|\s/g," ")},goog.string.normalizeSpaces=function(e){return e.replace(/\xa0|[ \t]+/g," ")},goog.string.collapseBreakingSpaces=function(e){return e.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")},goog.string.trim=goog.string.internal.trim,goog.string.trimLeft=function(e){return e.replace(/^[\s\xa0]+/,"")},goog.string.trimRight=function(e){return e.replace(/[\s\xa0]+$/,"")},goog.string.caseInsensitiveCompare=goog.string.internal.caseInsensitiveCompare,goog.string.numberAwareCompare_=function(e,t,o){if(e==t)return 0;if(!e)return-1;if(!t)return 1;for(var n=e.toLowerCase().match(o),i=t.toLowerCase().match(o),r=Math.min(n.length,i.length),s=0;s<r;s++){o=n[s];var a=i[s];if(o!=a)return e=parseInt(o,10),!isNaN(e)&&(t=parseInt(a,10),!isNaN(t)&&e-t)?e-t:o<a?-1:1}return n.length!=i.length?n.length-i.length:e<t?-1:1},goog.string.intAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\d+|\D+/g)},goog.string.floatAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\d+|\.\d+|\D+/g)},goog.string.numerateCompare=goog.string.floatAwareCompare,goog.string.urlEncode=function(e){return encodeURIComponent(String(e))},goog.string.urlDecode=function(e){return decodeURIComponent(e.replace(/\+/g," "))};goog.string.newLineToBr=goog.string.internal.newLineToBr,goog.string.htmlEscape=function(e,t){return e=goog.string.internal.htmlEscape(e,t),goog.string.DETECT_DOUBLE_ESCAPING&&(e=e.replace(goog.string.E_RE_,"&#101;")),e},goog.string.E_RE_=/e/g,goog.string.unescapeEntities=function(e){return goog.string.contains(e,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(e):goog.string.unescapePureXmlEntities_(e):e},goog.string.unescapeEntitiesWithDocument=function(e,t){return goog.string.contains(e,"&")?goog.string.unescapeEntitiesUsingDom_(e,t):e},goog.string.unescapeEntitiesUsingDom_=function(e,t){var o={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'},n=t?t.createElement("div"):goog.global.document.createElement("div");return e.replace(goog.string.HTML_ENTITY_PATTERN_,(function(e,t){var i=o[e];if(i)return i;if("#"==t.charAt(0)){var r=Number("0"+t.substr(1));isNaN(r)||(i=String.fromCharCode(r))}return i||(goog.dom.safe.setInnerHtml(n,goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Single HTML entity."),e+" ")),i=n.firstChild.nodeValue.slice(0,-1)),o[e]=i}))},goog.string.unescapePureXmlEntities_=function(e){return e.replace(/&([^;]+);/g,(function(e,t){switch(t){case"amp":return"&";case"lt":return"<";case"gt":return">";case"quot":return'"';default:if("#"==t.charAt(0)){var o=Number("0"+t.substr(1));if(!isNaN(o))return String.fromCharCode(o)}return e}}))},goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g,goog.string.whitespaceEscape=function(e,t){return goog.string.newLineToBr(e.replace(/  /g," &#160;"),t)},goog.string.preserveSpaces=function(e){return e.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(e,t){for(var o=t.length,n=0;n<o;n++){var i=1==o?t:t.charAt(n);if(e.charAt(0)==i&&e.charAt(e.length-1)==i)return e.substring(1,e.length-1)}return e},goog.string.truncate=function(e,t,o){return o&&(e=goog.string.unescapeEntities(e)),e.length>t&&(e=e.substring(0,t-3)+"..."),o&&(e=goog.string.htmlEscape(e)),e},goog.string.truncateMiddle=function(e,t,o,n){if(o&&(e=goog.string.unescapeEntities(e)),n&&e.length>t){n>t&&(n=t);var i=e.length-n;e=e.substring(0,t-n)+"..."+e.substring(i)}else e.length>t&&(n=Math.floor(t/2),i=e.length-n,e=e.substring(0,n+t%2)+"..."+e.substring(i));return o&&(e=goog.string.htmlEscape(e)),e},goog.string.specialEscapeChars_={"\0":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},goog.string.jsEscapeCache_={"'":"\\'"},goog.string.quote=function(e){e=String(e);for(var t=['"'],o=0;o<e.length;o++){var n=e.charAt(o),i=n.charCodeAt(0);t[o+1]=goog.string.specialEscapeChars_[n]||(31<i&&127>i?n:goog.string.escapeChar(n))}return t.push('"'),t.join("")},goog.string.escapeString=function(e){for(var t=[],o=0;o<e.length;o++)t[o]=goog.string.escapeChar(e.charAt(o));return t.join("")},goog.string.escapeChar=function(e){if(e in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[e];if(e in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[e]=goog.string.specialEscapeChars_[e];var t=e.charCodeAt(0);if(31<t&&127>t)var o=e;else 256>t?(o="\\x",(16>t||256<t)&&(o+="0")):(o="\\u",4096>t&&(o+="0")),o+=t.toString(16).toUpperCase();return goog.string.jsEscapeCache_[e]=o},goog.string.contains=goog.string.internal.contains,goog.string.caseInsensitiveContains=goog.string.internal.caseInsensitiveContains,goog.string.countOf=function(e,t){return e&&t?e.split(t).length-1:0},goog.string.removeAt=function(e,t,o){var n=e;return 0<=t&&t<e.length&&0<o&&(n=e.substr(0,t)+e.substr(t+o,e.length-t-o)),n},goog.string.remove=function(e,t){return e.replace(t,"")},goog.string.removeAll=function(e,t){var o=new RegExp(goog.string.regExpEscape(t),"g");return e.replace(o,"")},goog.string.replaceAll=function(e,t,o){return t=new RegExp(goog.string.regExpEscape(t),"g"),e.replace(t,o.replace(/\$/g,"$$$$"))},goog.string.regExpEscape=function(e){return String(e).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},goog.string.repeat=String.prototype.repeat?function(e,t){return e.repeat(t)}:function(e,t){return Array(t+1).join(e)},goog.string.padNumber=function(e,t,o){return-1==(o=(e=goog.isDef(o)?e.toFixed(o):String(e)).indexOf("."))&&(o=e.length),goog.string.repeat("0",Math.max(0,t-o))+e},goog.string.makeSafe=function(e){return null==e?"":String(e)},goog.string.buildString=function(e){return Array.prototype.join.call(arguments,"")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=goog.string.internal.compareVersions,goog.string.hashCode=function(e){for(var t=0,o=0;o<e.length;++o)t=31*t+e.charCodeAt(o)>>>0;return t},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(e){var t=Number(e);return 0==t&&goog.string.isEmptyOrWhitespace(e)?NaN:t},goog.string.isLowerCamelCase=function(e){return/^[a-z]+([A-Z][a-z]*)*$/.test(e)},goog.string.isUpperCamelCase=function(e){return/^([A-Z][a-z]*)+$/.test(e)},goog.string.toCamelCase=function(e){return String(e).replace(/\-([a-z])/g,(function(e,t){return t.toUpperCase()}))},goog.string.toSelectorCase=function(e){return String(e).replace(/([A-Z])/g,"-$1").toLowerCase()},goog.string.toTitleCase=function(e,t){var o=goog.isString(t)?goog.string.regExpEscape(t):"\\s";return e.replace(new RegExp("(^"+(o?"|["+o+"]+":"")+")([a-z])","g"),(function(e,t,o){return t+o.toUpperCase()}))},goog.string.capitalize=function(e){return String(e.charAt(0)).toUpperCase()+String(e.substr(1)).toLowerCase()},goog.string.parseInt=function(e){return isFinite(e)&&(e=String(e)),goog.isString(e)?/^\s*-?0x/i.test(e)?parseInt(e,16):parseInt(e,10):NaN},goog.string.splitLimit=function(e,t,o){e=e.split(t);for(var n=[];0<o&&e.length;)n.push(e.shift()),o--;return e.length&&n.push(e.join(t)),n},goog.string.lastComponent=function(e,t){if(!t)return e;"string"==typeof t&&(t=[t]);for(var o=-1,n=0;n<t.length;n++)if(""!=t[n]){var i=e.lastIndexOf(t[n]);i>o&&(o=i)}return-1==o?e:e.slice(o+1)},goog.string.editDistance=function(e,t){var o=[],n=[];if(e==t)return 0;if(!e.length||!t.length)return Math.max(e.length,t.length);for(var i=0;i<t.length+1;i++)o[i]=i;for(i=0;i<e.length;i++){n[0]=i+1;for(var r=0;r<t.length;r++)n[r+1]=Math.min(n[r]+1,o[r+1]+1,o[r]+Number(e[i]!=t[r]));for(r=0;r<o.length;r++)o[r]=n[r]}return n[t.length]},goog.labs.userAgent.engine={},goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")},goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")},goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")},goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.getVersion=function(){var e=goog.labs.userAgent.util.getUserAgent();if(e){e=goog.labs.userAgent.util.extractVersionTuples(e);var t,o=goog.labs.userAgent.engine.getEngineTuple_(e);if(o)return"Gecko"==o[0]?goog.labs.userAgent.engine.getVersionForKey_(e,"Firefox"):o[1];if((e=e[0])&&(t=e[2])&&(t=/Trident\/([^\s;]+)/.exec(t)))return t[1]}return""},goog.labs.userAgent.engine.getEngineTuple_=function(e){if(!goog.labs.userAgent.engine.isEdge())return e[1];for(var t=0;t<e.length;t++){var o=e[t];if("Edge"==o[0])return o}},goog.labs.userAgent.engine.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),e)},goog.labs.userAgent.engine.getVersionForKey_=function(e,t){var o=goog.array.find(e,(function(e){return t==e[0]}));return o&&o[1]||""},goog.labs.userAgent.platform={},goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")},goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")},goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")},goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()},goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")},goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")},goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")},goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")},goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")},goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")},goog.labs.userAgent.platform.isGo2Phone=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("GAFP")},goog.labs.userAgent.platform.getVersion=function(){var e=goog.labs.userAgent.util.getUserAgent(),t="";return goog.labs.userAgent.platform.isWindows()?t=(e=(t=/Windows (?:NT|Phone) ([0-9.]+)/).exec(e))?e[1]:"0.0":goog.labs.userAgent.platform.isIos()?t=(e=(t=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/).exec(e))&&e[1].replace(/_/g,"."):goog.labs.userAgent.platform.isMacintosh()?t=(e=(t=/Mac OS X ([0-9_.]+)/).exec(e))?e[1].replace(/_/g,"."):"10":goog.labs.userAgent.platform.isKaiOS()?t=(e=(t=/(?:KaiOS)\/(\S+)/i).exec(e))&&e[1]:goog.labs.userAgent.platform.isAndroid()?t=(e=(t=/Android\s+([^\);]+)(\)|;)/).exec(e))&&e[1]:goog.labs.userAgent.platform.isChromeOS()&&(t=(e=(t=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/).exec(e))&&e[1]),t||""},goog.labs.userAgent.platform.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),e)},goog.reflect={},goog.reflect.object=function(e,t){return t},goog.reflect.objectProperty=function(e,t){return e},goog.reflect.sinkValue=function(e){return goog.reflect.sinkValue[" "](e),e},goog.reflect.sinkValue[" "]=goog.nullFunction,goog.reflect.canAccessProperty=function(e,t){try{return goog.reflect.sinkValue(e[t]),!0}catch(e){}return!1},goog.reflect.cache=function(e,t,o,n){return n=n?n(t):t,Object.prototype.hasOwnProperty.call(e,n)?e[n]:e[n]=o(t)},goog.userAgent={},goog.userAgent.ASSUME_IE=!1,goog.userAgent.ASSUME_EDGE=!1,goog.userAgent.ASSUME_GECKO=!1,goog.userAgent.ASSUME_WEBKIT=!1,goog.userAgent.ASSUME_MOBILE_WEBKIT=!1,goog.userAgent.ASSUME_OPERA=!1,goog.userAgent.ASSUME_ANY_VERSION=!1,goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA,goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()},goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null},goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()},goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera(),goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE(),goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge(),goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE,goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko(),goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit(),goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")},goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_(),goog.userAgent.SAFARI=goog.userAgent.WEBKIT,goog.userAgent.determinePlatform_=function(){var e=goog.userAgent.getNavigatorTyped();return e&&e.platform||""},goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_(),goog.userAgent.ASSUME_MAC=!1,goog.userAgent.ASSUME_WINDOWS=!1,goog.userAgent.ASSUME_LINUX=!1,goog.userAgent.ASSUME_X11=!1,goog.userAgent.ASSUME_ANDROID=!1,goog.userAgent.ASSUME_IPHONE=!1,goog.userAgent.ASSUME_IPAD=!1,goog.userAgent.ASSUME_IPOD=!1,goog.userAgent.ASSUME_KAIOS=!1,goog.userAgent.ASSUME_GO2PHONE=!1,goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD,goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh(),goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows(),goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()},goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_(),goog.userAgent.isX11_=function(){var e=goog.userAgent.getNavigatorTyped();return!!e&&goog.string.contains(e.appVersion||"","X11")},goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_(),goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid(),goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone(),goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod(),goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos(),goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS(),goog.userAgent.GO2PHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_GO2PHONE:goog.labs.userAgent.platform.isGo2Phone(),goog.userAgent.determineVersion_=function(){var e="",t=goog.userAgent.getVersionRegexResult_();return t&&(e=t?t[1]:""),goog.userAgent.IE&&(null!=(t=goog.userAgent.getDocumentMode_())&&t>parseFloat(e))?String(t):e},goog.userAgent.getVersionRegexResult_=function(){var e=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv:([^\);]+)(\)|;)/.exec(e):goog.userAgent.EDGE?/Edge\/([\d\.]+)/.exec(e):goog.userAgent.IE?/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(e):goog.userAgent.WEBKIT?/WebKit\/(\S+)/.exec(e):goog.userAgent.OPERA?/(?:Version)[ \/]?(\S+)/.exec(e):void 0},goog.userAgent.getDocumentMode_=function(){var e=goog.global.document;return e?e.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(e,t){return goog.string.compareVersions(e,t)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(e){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,e,(function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,e)}))},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(e){return Number(goog.userAgent.DOCUMENT_MODE)>=e},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){if(goog.global.document&&goog.userAgent.IE)return goog.userAgent.getDocumentMode_()}(),goog.debug.LOGGING_ENABLED=goog.DEBUG,goog.debug.FORCE_SLOPPY_STACKS=!1,goog.debug.catchErrors=function(e,t,o){var n=(o=o||goog.global).onerror,i=!!t;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(i=!i),o.onerror=function(t,o,r,s,a){return n&&n(t,o,r,s,a),e({message:t,fileName:o,line:r,lineNumber:r,col:s,error:a}),i}},goog.debug.expose=function(e,t){if(void 0===e)return"undefined";if(null==e)return"NULL";var o,n=[];for(o in e)if(t||!goog.isFunction(e[o])){var i=o+" = ";try{i+=e[o]}catch(e){i+="*** "+e+" ***"}n.push(i)}return n.join("\n")},goog.debug.deepExpose=function(e,t){var o=[],n=[],i={},r=function(e,s){var a=s+"  ";try{if(goog.isDef(e))if(goog.isNull(e))o.push("NULL");else if(goog.isString(e))o.push('"'+e.replace(/\n/g,"\n"+s)+'"');else if(goog.isFunction(e))o.push(String(e).replace(/\n/g,"\n"+s));else if(goog.isObject(e)){goog.hasUid(e)||n.push(e);var l=goog.getUid(e);if(i[l])o.push("*** reference loop detected (id="+l+") ***");else{for(var u in i[l]=!0,o.push("{"),e)!t&&goog.isFunction(e[u])||(o.push("\n"),o.push(a),o.push(u+" = "),r(e[u],a));o.push("\n"+s+"}"),delete i[l]}}else o.push(e);else o.push("undefined")}catch(e){o.push("*** "+e+" ***")}};r(e,"");for(var s=0;s<n.length;s++)goog.removeUid(n[s]);return o.join("")},goog.debug.exposeArray=function(e){for(var t=[],o=0;o<e.length;o++)goog.isArray(e[o])?t.push(goog.debug.exposeArray(e[o])):t.push(e[o]);return"[ "+t.join(", ")+" ]"},goog.debug.normalizeErrorObject=function(e){var t=goog.getObjectByName("window.location.href");if(null==e&&(e='Unknown Error of type "null/undefined"'),goog.isString(e))return{message:e,name:"Unknown error",lineNumber:"Not available",fileName:t,stack:"Not available"};var o=!1;try{var n=e.lineNumber||e.line||"Not available"}catch(e){n="Not available",o=!0}try{var i=e.fileName||e.filename||e.sourceURL||goog.global.$googDebugFname||t}catch(e){i="Not available",o=!0}return!o&&e.lineNumber&&e.fileName&&e.stack&&e.message&&e.name?e:(null==(t=e.message)&&(t=e.constructor&&e.constructor instanceof Function?'Unknown Error of type "'+(e.constructor.name?e.constructor.name:goog.debug.getFunctionName(e.constructor))+'"':"Unknown Error of unknown type"),{message:t,name:e.name||"UnknownError",lineNumber:n,fileName:i,stack:e.stack||"Not available"})},goog.debug.enhanceError=function(e,t){if(e instanceof Error)var o=e;else o=Error(e),Error.captureStackTrace&&Error.captureStackTrace(o,goog.debug.enhanceError);if(o.stack||(o.stack=goog.debug.getStacktrace(goog.debug.enhanceError)),t){for(var n=0;o["message"+n];)++n;o["message"+n]=String(t)}return o},goog.debug.enhanceErrorWithContext=function(e,t){var o=goog.debug.enhanceError(e);if(t)for(var n in t)goog.debug.errorcontext.addErrorContext(o,n,t[n]);return o},goog.debug.getStacktraceSimple=function(e){if(!goog.debug.FORCE_SLOPPY_STACKS){var t=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(t)return t}t=[];for(var o=arguments.callee.caller,n=0;o&&(!e||n<e);){t.push(goog.debug.getFunctionName(o)),t.push("()\n");try{o=o.caller}catch(e){t.push("[exception trying to get caller]\n");break}if(++n>=goog.debug.MAX_STACK_DEPTH){t.push("[...long stack...]");break}}return e&&n>=e?t.push("[...reached max depth limit...]"):t.push("[end]"),t.join("")},goog.debug.MAX_STACK_DEPTH=50,goog.debug.getNativeStackTrace_=function(e){var t=Error();if(Error.captureStackTrace)return Error.captureStackTrace(t,e),String(t.stack);try{throw t}catch(e){t=e}return(e=t.stack)?String(e):null},goog.debug.getStacktrace=function(e){var t;return goog.debug.FORCE_SLOPPY_STACKS||(t=goog.debug.getNativeStackTrace_(e||goog.debug.getStacktrace)),t||(t=goog.debug.getStacktraceHelper_(e||arguments.callee.caller,[])),t},goog.debug.getStacktraceHelper_=function(e,t){var o=[];if(goog.array.contains(t,e))o.push("[...circular reference...]");else if(e&&t.length<goog.debug.MAX_STACK_DEPTH){o.push(goog.debug.getFunctionName(e)+"(");for(var n=e.arguments,i=0;n&&i<n.length;i++){0<i&&o.push(", ");var r=n[i];switch(typeof r){case"object":r=r?"object":"null";break;case"string":break;case"number":r=String(r);break;case"boolean":r=r?"true":"false";break;case"function":r=(r=goog.debug.getFunctionName(r))?r:"[fn]";break;default:r=typeof r}40<r.length&&(r=r.substr(0,40)+"..."),o.push(r)}t.push(e),o.push(")\n");try{o.push(goog.debug.getStacktraceHelper_(e.caller,t))}catch(e){o.push("[exception trying to get caller]\n")}}else e?o.push("[...long stack...]"):o.push("[end]");return o.join("")},goog.debug.getFunctionName=function(e){if(goog.debug.fnNameCache_[e])return goog.debug.fnNameCache_[e];if(e=String(e),!goog.debug.fnNameCache_[e]){var t=/function\s+([^\(]+)/m.exec(e);goog.debug.fnNameCache_[e]=t?t[1]:"[Anonymous]"}return goog.debug.fnNameCache_[e]},goog.debug.makeWhitespaceVisible=function(e){return e.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")},goog.debug.runtimeType=function(e){return e instanceof Function?e.displayName||e.name||"unknown type name":e instanceof Object?e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e):null===e?"null":typeof e},goog.debug.fnNameCache_={},goog.debug.freezeInternal_=goog.DEBUG&&Object.freeze||function(e){return e},goog.debug.freeze=function(e){return goog.debug.freezeInternal_(e)},goog.events={},$jscomp.scope.purify=function(e){return{valueOf:e}.valueOf()},goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints&&!goog.global.navigator.msMaxTouchPoints),POINTER_EVENTS:"PointerEvent"in goog.global,MSPOINTER_EVENTS:"MSPointerEvent"in goog.global&&!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)((function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{goog.global.addEventListener("test",goog.nullFunction,t),goog.global.removeEventListener("test",goog.nullFunction,t)}catch(e){}return e}))},goog.disposable={},goog.disposable.IDisposable=function(){},goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod,goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod,goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this),this.disposed_=this.disposed_,this.onDisposeCallbacks_=this.onDisposeCallbacks_},goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2},goog.Disposable.MONITORING_MODE=0,goog.Disposable.INCLUDE_STACK_ON_CREATION=!0,goog.Disposable.instances_={},goog.Disposable.getUndisposedObjects=function(){var e,t=[];for(e in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(e)&&t.push(goog.Disposable.instances_[Number(e)]);return t},goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}},goog.Disposable.prototype.disposed_=!1,goog.Disposable.prototype.isDisposed=function(){return this.disposed_},goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed,goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var e=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(e))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");if(goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&this.onDisposeCallbacks_&&0<this.onDisposeCallbacks_.length)throw Error(this+" did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");delete goog.Disposable.instances_[e]}},goog.Disposable.prototype.registerDisposable=function(e){this.addOnDisposeCallback(goog.partial(goog.dispose,e))},goog.Disposable.prototype.addOnDisposeCallback=function(e,t){this.disposed_?goog.isDef(t)?e.call(t):e():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(t)?goog.bind(e,t):e))},goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()},goog.Disposable.isDisposed=function(e){return!(!e||"function"!=typeof e.isDisposed)&&e.isDisposed()},goog.dispose=function(e){e&&"function"==typeof e.dispose&&e.dispose()},goog.disposeAll=function(e){for(var t=0,o=arguments.length;t<o;++t){var n=arguments[t];goog.isArrayLike(n)?goog.disposeAll.apply(null,n):goog.dispose(n)}},goog.events.EventId=function(e){this.id=e},goog.events.EventId.prototype.toString=function(){return this.id},goog.events.Event=function(e,t){this.type=e instanceof goog.events.EventId?String(e):e,this.currentTarget=this.target=t,this.defaultPrevented=this.propagationStopped_=!1,this.returnValue_=!0},goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0},goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0,this.returnValue_=!1},goog.events.Event.stopPropagation=function(e){e.stopPropagation()},goog.events.Event.preventDefault=function(e){e.preventDefault()},goog.events.getVendorPrefixedName_=function(e){return goog.userAgent.WEBKIT?"webkit"+e:goog.userAgent.OPERA?"o"+e.toLowerCase():e.toLowerCase()},goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",AUXCLICK:"auxclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",MOUSECANCEL:"mousecancel",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:"focusin",FOCUSOUT:"focusout",CHANGE:"change",RESET:"reset",SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICECHANGE:"devicechange",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",AFTERPRINT:"afterprint",BEFOREINSTALLPROMPT:"beforeinstallprompt",APPINSTALLED:"appinstalled"},goog.events.getPointerFallbackEventName_=function(e,t,o){return goog.events.BrowserFeature.POINTER_EVENTS?e:goog.events.BrowserFeature.MSPOINTER_EVENTS?t:o},goog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.MOUSECANCEL),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,goog.events.EventType.MSPOINTERENTER,goog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)},goog.events.PointerTouchFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.TOUCHSTART),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.TOUCHEND),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.TOUCHCANCEL),POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.TOUCHMOVE)},goog.events.PointerAsMouseEventType={MOUSEDOWN:goog.events.PointerFallbackEventType.POINTERDOWN,MOUSEUP:goog.events.PointerFallbackEventType.POINTERUP,MOUSECANCEL:goog.events.PointerFallbackEventType.POINTERCANCEL,MOUSEMOVE:goog.events.PointerFallbackEventType.POINTERMOVE,MOUSEOVER:goog.events.PointerFallbackEventType.POINTEROVER,MOUSEOUT:goog.events.PointerFallbackEventType.POINTEROUT,MOUSEENTER:goog.events.PointerFallbackEventType.POINTERENTER,MOUSELEAVE:goog.events.PointerFallbackEventType.POINTERLEAVE},goog.events.MouseAsMouseEventType={MOUSEDOWN:goog.events.EventType.MOUSEDOWN,MOUSEUP:goog.events.EventType.MOUSEUP,MOUSECANCEL:goog.events.EventType.MOUSECANCEL,MOUSEMOVE:goog.events.EventType.MOUSEMOVE,MOUSEOVER:goog.events.EventType.MOUSEOVER,MOUSEOUT:goog.events.EventType.MOUSEOUT,MOUSEENTER:goog.events.EventType.MOUSEENTER,MOUSELEAVE:goog.events.EventType.MOUSELEAVE},goog.events.PointerAsTouchEventType={TOUCHCANCEL:goog.events.PointerTouchFallbackEventType.POINTERCANCEL,TOUCHEND:goog.events.PointerTouchFallbackEventType.POINTERUP,TOUCHMOVE:goog.events.PointerTouchFallbackEventType.POINTERMOVE,TOUCHSTART:goog.events.PointerTouchFallbackEventType.POINTERDOWN},goog.events.USE_LAYER_XY_AS_OFFSET_XY=!1,goog.events.BrowserEvent=function(e,t){goog.events.Event.call(this,e?e.type:""),this.relatedTarget=this.currentTarget=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0,this.key="",this.charCode=this.keyCode=0,this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.platformModifierKey=!1,this.pointerId=0,this.pointerType="",this.event_=null,e&&this.init(e,t)},goog.inherits(goog.events.BrowserEvent,goog.events.Event),goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2},goog.events.BrowserEvent.PointerType={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]),goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap,goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE}),goog.events.BrowserEvent.prototype.init=function(e,t){var o=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.currentTarget=t;var i=e.relatedTarget;i?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(i,"nodeName")||(i=null)):o==goog.events.EventType.MOUSEOVER?i=e.fromElement:o==goog.events.EventType.MOUSEOUT&&(i=e.toElement),this.relatedTarget=i,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(goog.events.USE_LAYER_XY_AS_OFFSET_XY?(this.offsetX=void 0!==e.layerX?e.layerX:e.offsetX,this.offsetY=void 0!==e.layerY?e.layerY:e.offsetY):(this.offsetX=goog.userAgent.WEBKIT||void 0!==e.offsetX?e.offsetX:e.layerX,this.offsetY=goog.userAgent.WEBKIT||void 0!==e.offsetY?e.offsetY:e.layerY),this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.keyCode=e.keyCode||0,this.key=e.key||"",this.charCode=e.charCode||("keypress"==o?e.keyCode:0),this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.platformModifierKey=goog.userAgent.MAC?e.metaKey:e.ctrlKey,this.pointerId=e.pointerId||0,this.pointerType=goog.events.BrowserEvent.getPointerType_(e),this.state=e.state,this.event_=e,e.defaultPrevented&&this.preventDefault()},goog.events.BrowserEvent.prototype.isButton=function(e){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==e:"click"==this.type?e==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE_BUTTON_MAP[e])},goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)},goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this),this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0},goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var e=this.event_;if(e.preventDefault)e.preventDefault();else if(e.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{(e.ctrlKey||112<=e.keyCode&&123>=e.keyCode)&&(e.keyCode=-1)}catch(e){}},goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_},goog.events.BrowserEvent.getPointerType_=function(e){return goog.isString(e.pointerType)?e.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[e.pointerType]||""},goog.events.Listenable=function(){},goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1e6*Math.random()|0),goog.events.Listenable.addImplementation=function(e){e.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0},goog.events.Listenable.isImplementedBy=function(e){return!(!e||!e[goog.events.Listenable.IMPLEMENTED_BY_PROP])},goog.events.ListenableKey=function(){},goog.events.ListenableKey.counter_=0,goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_},goog.events.Listener=function(e,t,o,n,i,r){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack),this.listener=e,this.proxy=t,this.src=o,this.type=n,this.capture=!!i,this.handler=r,this.key=goog.events.ListenableKey.reserveKey(),this.removed=this.callOnce=!1},goog.events.Listener.ENABLE_MONITORING=!1,goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0,this.handler=this.src=this.proxy=this.listener=null},goog.events.ListenerMap=function(e){this.src=e,this.listeners={},this.typeCount_=0},goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_},goog.events.ListenerMap.prototype.getListenerCount=function(){var e,t=0;for(e in this.listeners)t+=this.listeners[e].length;return t},goog.events.ListenerMap.prototype.add=function(e,t,o,n,i){var r=e.toString();(e=this.listeners[r])||(e=this.listeners[r]=[],this.typeCount_++);var s=goog.events.ListenerMap.findListenerIndex_(e,t,n,i);return-1<s?(t=e[s],o||(t.callOnce=!1)):((t=new goog.events.Listener(t,null,this.src,r,!!n,i)).callOnce=o,e.push(t)),t},goog.events.ListenerMap.prototype.remove=function(e,t,o,n){if(!((e=e.toString())in this.listeners))return!1;var i=this.listeners[e];return-1<(t=goog.events.ListenerMap.findListenerIndex_(i,t,o,n))&&(i[t].markAsRemoved(),goog.array.removeAt(i,t),0==i.length&&(delete this.listeners[e],this.typeCount_--),!0)},goog.events.ListenerMap.prototype.removeByKey=function(e){var t=e.type;if(!(t in this.listeners))return!1;var o=goog.array.remove(this.listeners[t],e);return o&&(e.markAsRemoved(),0==this.listeners[t].length&&(delete this.listeners[t],this.typeCount_--)),o},goog.events.ListenerMap.prototype.removeAll=function(e){e=e&&e.toString();var t,o=0;for(t in this.listeners)if(!e||t==e){for(var n=this.listeners[t],i=0;i<n.length;i++)++o,n[i].markAsRemoved();delete this.listeners[t],this.typeCount_--}return o},goog.events.ListenerMap.prototype.getListeners=function(e,t){var o=this.listeners[e.toString()],n=[];if(o)for(var i=0;i<o.length;++i){var r=o[i];r.capture==t&&n.push(r)}return n},goog.events.ListenerMap.prototype.getListener=function(e,t,o,n){var i=-1;return(e=this.listeners[e.toString()])&&(i=goog.events.ListenerMap.findListenerIndex_(e,t,o,n)),-1<i?e[i]:null},goog.events.ListenerMap.prototype.hasListener=function(e,t){var o=goog.isDef(e),n=o?e.toString():"",i=goog.isDef(t);return goog.object.some(this.listeners,(function(e,r){for(var s=0;s<e.length;++s)if(!(o&&e[s].type!=n||i&&e[s].capture!=t))return!0;return!1}))},goog.events.ListenerMap.findListenerIndex_=function(e,t,o,n){for(var i=0;i<e.length;++i){var r=e[i];if(!r.removed&&r.listener==t&&r.capture==!!o&&r.handler==n)return i}return-1},goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1e6*Math.random()|0),goog.events.onString_="on",goog.events.onStringMap_={},goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2},goog.events.CAPTURE_SIMULATION_MODE=2,goog.events.listenerCountEstimate_=0,goog.events.listen=function(e,t,o,n,i){if(n&&n.once)return goog.events.listenOnce(e,t,o,n,i);if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.listen(e,t[r],o,n,i);return null}return o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?(n=goog.isObject(n)?!!n.capture:!!n,e.listen(t,o,n,i)):goog.events.listen_(e,t,o,!1,n,i)},goog.events.listen_=function(e,t,o,n,i,r){if(!t)throw Error("Invalid event type");var s=goog.isObject(i)?!!i.capture:!!i;if(s&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var a=goog.events.getListenerMap_(e);if(a||(e[goog.events.LISTENER_MAP_PROP_]=a=new goog.events.ListenerMap(e)),(o=a.add(t,o,n,s,r)).proxy)return o;if(n=goog.events.getProxy(),o.proxy=n,n.src=e,n.listener=o,e.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(i=s),void 0===i&&(i=!1),e.addEventListener(t.toString(),n,i);else if(e.attachEvent)e.attachEvent(goog.events.getOnString_(t.toString()),n);else{if(!e.addListener||!e.removeListener)throw Error("addEventListener and attachEvent are unavailable.");goog.asserts.assert("change"===t,"MediaQueryList only has a change event"),e.addListener(n)}return goog.events.listenerCountEstimate_++,o},goog.events.getProxy=function(){var e=goog.events.handleBrowserEvent_,t=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(o){return e.call(t.src,t.listener,o)}:function(o){if(!(o=e.call(t.src,t.listener,o)))return o};return t},goog.events.listenOnce=function(e,t,o,n,i){if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.listenOnce(e,t[r],o,n,i);return null}return o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?(n=goog.isObject(n)?!!n.capture:!!n,e.listenOnce(t,o,n,i)):goog.events.listen_(e,t,o,!0,n,i)},goog.events.listenWithWrapper=function(e,t,o,n,i){t.listen(e,o,n,i)},goog.events.unlisten=function(e,t,o,n,i){if(goog.isArray(t)){for(var r=0;r<t.length;r++)goog.events.unlisten(e,t[r],o,n,i);return null}return n=goog.isObject(n)?!!n.capture:!!n,o=goog.events.wrapListener(o),goog.events.Listenable.isImplementedBy(e)?e.unlisten(t,o,n,i):!!e&&(!(!(e=goog.events.getListenerMap_(e))||!(t=e.getListener(t,o,n,i)))&&goog.events.unlistenByKey(t))},goog.events.unlistenByKey=function(e){if(goog.isNumber(e)||!e||e.removed)return!1;var t=e.src;if(goog.events.Listenable.isImplementedBy(t))return t.unlistenByKey(e);var o=e.type,n=e.proxy;return t.removeEventListener?t.removeEventListener(o,n,e.capture):t.detachEvent?t.detachEvent(goog.events.getOnString_(o),n):t.addListener&&t.removeListener&&t.removeListener(n),goog.events.listenerCountEstimate_--,(o=goog.events.getListenerMap_(t))?(o.removeByKey(e),0==o.getTypeCount()&&(o.src=null,t[goog.events.LISTENER_MAP_PROP_]=null)):e.markAsRemoved(),!0},goog.events.unlistenWithWrapper=function(e,t,o,n,i){t.unlisten(e,o,n,i)},goog.events.removeAll=function(e,t){if(!e)return 0;if(goog.events.Listenable.isImplementedBy(e))return e.removeAllListeners(t);var o=goog.events.getListenerMap_(e);if(!o)return 0;var n,i=0,r=t&&t.toString();for(n in o.listeners)if(!r||n==r)for(var s=o.listeners[n].concat(),a=0;a<s.length;++a)goog.events.unlistenByKey(s[a])&&++i;return i},goog.events.getListeners=function(e,t,o){return goog.events.Listenable.isImplementedBy(e)?e.getListeners(t,o):e&&(e=goog.events.getListenerMap_(e))?e.getListeners(t,o):[]},goog.events.getListener=function(e,t,o,n,i){return o=goog.events.wrapListener(o),n=!!n,goog.events.Listenable.isImplementedBy(e)?e.getListener(t,o,n,i):e&&(e=goog.events.getListenerMap_(e))?e.getListener(t,o,n,i):null},goog.events.hasListener=function(e,t,o){return goog.events.Listenable.isImplementedBy(e)?e.hasListener(t,o):!!(e=goog.events.getListenerMap_(e))&&e.hasListener(t,o)},goog.events.expose=function(e){var t,o=[];for(t in e)e[t]&&e[t].id?o.push(t+" = "+e[t]+" ("+e[t].id+")"):o.push(t+" = "+e[t]);return o.join("\n")},goog.events.getOnString_=function(e){return e in goog.events.onStringMap_?goog.events.onStringMap_[e]:goog.events.onStringMap_[e]=goog.events.onString_+e},goog.events.fireListeners=function(e,t,o,n){return goog.events.Listenable.isImplementedBy(e)?e.fireListeners(t,o,n):goog.events.fireListeners_(e,t,o,n)},goog.events.fireListeners_=function(e,t,o,n){var i=!0;if((e=goog.events.getListenerMap_(e))&&(t=e.listeners[t.toString()]))for(t=t.concat(),e=0;e<t.length;e++){var r=t[e];r&&r.capture==o&&!r.removed&&(r=goog.events.fireListener(r,n),i=i&&!1!==r)}return i},goog.events.fireListener=function(e,t){var o=e.listener,n=e.handler||e.src;return e.callOnce&&goog.events.unlistenByKey(e),o.call(n,t)},goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_},goog.events.dispatchEvent=function(e,t){return goog.asserts.assert(goog.events.Listenable.isImplementedBy(e),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance."),e.dispatchEvent(t)},goog.events.protectBrowserEventEntryPoint=function(e){goog.events.handleBrowserEvent_=e.protectEntryPoint(goog.events.handleBrowserEvent_)},goog.events.handleBrowserEvent_=function(e,t){if(e.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var o=t||goog.getObjectByName("window.event"),n=new goog.events.BrowserEvent(o,this),i=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(o)){goog.events.markIeEvent_(o),o=[];for(var r=n.currentTarget;r;r=r.parentNode)o.push(r);r=e.type;for(var s=o.length-1;!n.propagationStopped_&&0<=s;s--){n.currentTarget=o[s];var a=goog.events.fireListeners_(o[s],r,!0,n);i=i&&a}for(s=0;!n.propagationStopped_&&s<o.length;s++)n.currentTarget=o[s],a=goog.events.fireListeners_(o[s],r,!1,n),i=i&&a}}else i=goog.events.fireListener(e,n);return i}return goog.events.fireListener(e,new goog.events.BrowserEvent(t,this))},goog.events.markIeEvent_=function(e){var t=!1;if(0==e.keyCode)try{return void(e.keyCode=-1)}catch(e){t=!0}(t||null==e.returnValue)&&(e.returnValue=!0)},goog.events.isMarkedIeEvent_=function(e){return 0>e.keyCode||null!=e.returnValue},goog.events.uniqueIdCounter_=0,goog.events.getUniqueId=function(e){return e+"_"+goog.events.uniqueIdCounter_++},goog.events.getListenerMap_=function(e){return(e=e[goog.events.LISTENER_MAP_PROP_])instanceof goog.events.ListenerMap?e:null},goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1e9*Math.random()>>>0),goog.events.wrapListener=function(e){return goog.asserts.assert(e,"Listener can not be null."),goog.isFunction(e)?e:(goog.asserts.assert(e.handleEvent,"An object listener must have handleEvent method."),e[goog.events.LISTENER_WRAPPER_PROP_]||(e[goog.events.LISTENER_WRAPPER_PROP_]=function(t){return e.handleEvent(t)}),e[goog.events.LISTENER_WRAPPER_PROP_])},goog.debug.entryPointRegistry.register((function(e){goog.events.handleBrowserEvent_=e(goog.events.handleBrowserEvent_)})),goog.math={},goog.math.randomInt=function(e){return Math.floor(Math.random()*e)},goog.math.uniformRandom=function(e,t){return e+Math.random()*(t-e)},goog.math.clamp=function(e,t,o){return Math.min(Math.max(e,t),o)},goog.math.modulo=function(e,t){var o=e%t;return 0>o*t?o+t:o},goog.math.lerp=function(e,t,o){return e+o*(t-e)},goog.math.nearlyEquals=function(e,t,o){return Math.abs(e-t)<=(o||1e-6)},goog.math.standardAngle=function(e){return goog.math.modulo(e,360)},goog.math.standardAngleInRadians=function(e){return goog.math.modulo(e,2*Math.PI)},goog.math.toRadians=function(e){return e*Math.PI/180},goog.math.toDegrees=function(e){return 180*e/Math.PI},goog.math.angleDx=function(e,t){return t*Math.cos(goog.math.toRadians(e))},goog.math.angleDy=function(e,t){return t*Math.sin(goog.math.toRadians(e))},goog.math.angle=function(e,t,o,n){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(n-t,o-e)))},goog.math.angleDifference=function(e,t){var o=goog.math.standardAngle(t)-goog.math.standardAngle(e);return 180<o?o-=360:-180>=o&&(o=360+o),o},goog.math.sign=function(e){return 0<e?1:0>e?-1:e},goog.math.longestCommonSubsequence=function(e,t,o,n){o=o||function(e,t){return e==t},n=n||function(t,o){return e[t]};for(var i=e.length,r=t.length,s=[],a=0;a<i+1;a++)s[a]=[],s[a][0]=0;for(var l=0;l<r+1;l++)s[0][l]=0;for(a=1;a<=i;a++)for(l=1;l<=r;l++)o(e[a-1],t[l-1])?s[a][l]=s[a-1][l-1]+1:s[a][l]=Math.max(s[a-1][l],s[a][l-1]);var u=[];for(a=i,l=r;0<a&&0<l;)o(e[a-1],t[l-1])?(u.unshift(n(a-1,l-1)),a--,l--):s[a-1][l]>s[a][l-1]?a--:l--;return u},goog.math.sum=function(e){return goog.array.reduce(arguments,(function(e,t){return e+t}),0)},goog.math.average=function(e){return goog.math.sum.apply(null,arguments)/arguments.length},goog.math.sampleVariance=function(e){var t=arguments.length;if(2>t)return 0;var o=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,(function(e){return Math.pow(e-o,2)})))/(t-1)},goog.math.standardDeviation=function(e){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))},goog.math.isInt=function(e){return isFinite(e)&&0==e%1},goog.math.isFiniteNumber=function(e){return isFinite(e)},goog.math.isNegativeZero=function(e){return 0==e&&0>1/e},goog.math.log10Floor=function(e){if(0<e){var t=Math.round(Math.log(e)*Math.LOG10E);return t-(parseFloat("1e"+t)>e?1:0)}return 0==e?-1/0:NaN},goog.math.safeFloor=function(e,t){return goog.asserts.assert(!goog.isDef(t)||0<t),Math.floor(e+(t||2e-15))},goog.math.safeCeil=function(e,t){return goog.asserts.assert(!goog.isDef(t)||0<t),Math.ceil(e-(t||2e-15))},goog.math.Coordinate=function(e,t){this.x=goog.isDef(e)?e:0,this.y=goog.isDef(t)?t:0},goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)},goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"}),goog.math.Coordinate.prototype.equals=function(e){return e instanceof goog.math.Coordinate&&goog.math.Coordinate.equals(this,e)},goog.math.Coordinate.equals=function(e,t){return e==t||!(!e||!t)&&(e.x==t.x&&e.y==t.y)},goog.math.Coordinate.distance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return Math.sqrt(o*o+n*n)},goog.math.Coordinate.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},goog.math.Coordinate.azimuth=function(e){return goog.math.angle(0,0,e.x,e.y)},goog.math.Coordinate.squaredDistance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return o*o+n*n},goog.math.Coordinate.difference=function(e,t){return new goog.math.Coordinate(e.x-t.x,e.y-t.y)},goog.math.Coordinate.sum=function(e,t){return new goog.math.Coordinate(e.x+t.x,e.y+t.y)},goog.math.Coordinate.prototype.ceil=function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},goog.math.Coordinate.prototype.floor=function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},goog.math.Coordinate.prototype.round=function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},goog.math.Coordinate.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.x+=e.x,this.y+=e.y):(this.x+=Number(e),goog.isNumber(t)&&(this.y+=t)),this},goog.math.Coordinate.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.x*=e,this.y*=o,this},goog.math.Coordinate.prototype.rotateRadians=function(e,t){var o=t||new goog.math.Coordinate(0,0),n=this.x,i=this.y,r=Math.cos(e),s=Math.sin(e);this.x=(n-o.x)*r-(i-o.y)*s+o.x,this.y=(n-o.x)*s+(i-o.y)*r+o.y},goog.math.Coordinate.prototype.rotateDegrees=function(e,t){this.rotateRadians(goog.math.toRadians(e),t)},goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)},goog.math.Size=function(e,t){this.width=e,this.height=t},goog.math.Size.equals=function(e,t){return e==t||!(!e||!t)&&(e.width==t.width&&e.height==t.height)},goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)},goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"}),goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)},goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)},goog.math.Size.prototype.area=function(){return this.width*this.height},goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)},goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height},goog.math.Size.prototype.isEmpty=function(){return!this.area()},goog.math.Size.prototype.ceil=function(){return this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Size.prototype.fitsInside=function(e){return this.width<=e.width&&this.height<=e.height},goog.math.Size.prototype.floor=function(){return this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Size.prototype.round=function(){return this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Size.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.width*=e,this.height*=o,this},goog.math.Size.prototype.scaleToCover=function(e){return e=this.aspectRatio()<=e.aspectRatio()?e.width/this.width:e.height/this.height,this.scale(e)},goog.math.Size.prototype.scaleToFit=function(e){return e=this.aspectRatio()>e.aspectRatio()?e.width/this.width:e.height/this.height,this.scale(e)},goog.dom.ASSUME_QUIRKS_MODE=!1,goog.dom.ASSUME_STANDARDS_MODE=!1,goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE,goog.dom.getDomHelper=function(e){return e?new goog.dom.DomHelper(goog.dom.getOwnerDocument(e)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)},goog.dom.getDocument=function(){return document},goog.dom.getElement=function(e){return goog.dom.getElementHelper_(document,e)},goog.dom.getElementHelper_=function(e,t){return goog.isString(t)?e.getElementById(t):t},goog.dom.getRequiredElement=function(e){return goog.dom.getRequiredElementHelper_(document,e)},goog.dom.getRequiredElementHelper_=function(e,t){goog.asserts.assertString(t);var o=goog.dom.getElementHelper_(e,t);return goog.asserts.assertElement(o,"No element found with id: "+t)},goog.dom.$=goog.dom.getElement,goog.dom.getElementsByTagName=function(e,t){return(t||document).getElementsByTagName(String(e))},goog.dom.getElementsByTagNameAndClass=function(e,t,o){return goog.dom.getElementsByTagNameAndClass_(document,e,t,o)},goog.dom.getElementByTagNameAndClass=function(e,t,o){return goog.dom.getElementByTagNameAndClass_(document,e,t,o)},goog.dom.getElementsByClass=function(e,t){var o=t||document;return goog.dom.canUseQuerySelector_(o)?o.querySelectorAll("."+e):goog.dom.getElementsByTagNameAndClass_(document,"*",e,t)},goog.dom.getElementByClass=function(e,t){var o=t||document;return(o.getElementsByClassName?o.getElementsByClassName(e)[0]:goog.dom.getElementByTagNameAndClass_(document,"*",e,t))||null},goog.dom.getRequiredElementByClass=function(e,t){var o=goog.dom.getElementByClass(e,t);return goog.asserts.assert(o,"No element found with className: "+e)},goog.dom.canUseQuerySelector_=function(e){return!(!e.querySelectorAll||!e.querySelector)},goog.dom.getElementsByTagNameAndClass_=function(e,t,o,n){if(e=n||e,t=t&&"*"!=t?String(t).toUpperCase():"",goog.dom.canUseQuerySelector_(e)&&(t||o))return e.querySelectorAll(t+(o?"."+o:""));if(o&&e.getElementsByClassName){if(e=e.getElementsByClassName(o),t){n={};for(var i,r=0,s=0;i=e[s];s++)t==i.nodeName&&(n[r++]=i);return n.length=r,n}return e}if(e=e.getElementsByTagName(t||"*"),o){for(n={},s=r=0;i=e[s];s++)"function"==typeof(t=i.className).split&&goog.array.contains(t.split(/\s+/),o)&&(n[r++]=i);return n.length=r,n}return e},goog.dom.getElementByTagNameAndClass_=function(e,t,o,n){var i=n||e,r=t&&"*"!=t?String(t).toUpperCase():"";return goog.dom.canUseQuerySelector_(i)&&(r||o)?i.querySelector(r+(o?"."+o:"")):goog.dom.getElementsByTagNameAndClass_(e,t,o,n)[0]||null},goog.dom.$$=goog.dom.getElementsByTagNameAndClass,goog.dom.setProperties=function(e,t){goog.object.forEach(t,(function(t,o){t&&"object"==typeof t&&t.implementsGoogStringTypedString&&(t=t.getTypedStringValue()),"style"==o?e.style.cssText=t:"class"==o?e.className=t:"for"==o?e.htmlFor=t:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(o)?e.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[o],t):goog.string.startsWith(o,"aria-")||goog.string.startsWith(o,"data-")?e.setAttribute(o,t):e[o]=t}))},goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},goog.dom.getViewportSize=function(e){return goog.dom.getViewportSize_(e||window)},goog.dom.getViewportSize_=function(e){return e=e.document,e=goog.dom.isCss1CompatMode_(e)?e.documentElement:e.body,new goog.math.Size(e.clientWidth,e.clientHeight)},goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)},goog.dom.getDocumentHeightForWindow=function(e){return goog.dom.getDocumentHeight_(e)},goog.dom.getDocumentHeight_=function(e){var t=e.document,o=0;if(t){o=t.body;var n=t.documentElement;if(!n||!o)return 0;if(e=goog.dom.getViewportSize_(e).height,goog.dom.isCss1CompatMode_(t)&&n.scrollHeight)o=n.scrollHeight!=e?n.scrollHeight:n.offsetHeight;else{t=n.scrollHeight;var i=n.offsetHeight;n.clientHeight!=i&&(t=o.scrollHeight,i=o.offsetHeight),o=t>e?t>i?t:i:t<i?t:i}}return o},goog.dom.getPageScroll=function(e){return goog.dom.getDomHelper((e||goog.global||window).document).getDocumentScroll()},goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)},goog.dom.getDocumentScroll_=function(e){var t=goog.dom.getDocumentScrollElement_(e);return e=goog.dom.getWindow_(e),goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&e.pageYOffset!=t.scrollTop?new goog.math.Coordinate(t.scrollLeft,t.scrollTop):new goog.math.Coordinate(e.pageXOffset||t.scrollLeft,e.pageYOffset||t.scrollTop)},goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)},goog.dom.getDocumentScrollElement_=function(e){return e.scrollingElement?e.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(e)?e.documentElement:e.body||e.documentElement},goog.dom.getWindow=function(e){return e?goog.dom.getWindow_(e):window},goog.dom.getWindow_=function(e){return e.parentWindow||e.defaultView},goog.dom.createDom=function(e,t,o){return goog.dom.createDom_(document,arguments)},goog.dom.createDom_=function(e,t){var o=String(t[0]),n=t[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&n&&(n.name||n.type)){if(o=["<",o],n.name&&o.push(' name="',goog.string.htmlEscape(n.name),'"'),n.type){o.push(' type="',goog.string.htmlEscape(n.type),'"');var i={};goog.object.extend(i,n),delete i.type,n=i}o.push(">"),o=o.join("")}return o=e.createElement(o),n&&(goog.isString(n)?o.className=n:goog.isArray(n)?o.className=n.join(" "):goog.dom.setProperties(o,n)),2<t.length&&goog.dom.append_(e,o,t,2),o},goog.dom.append_=function(e,t,o,n){function i(o){o&&t.appendChild(goog.isString(o)?e.createTextNode(o):o)}for(;n<o.length;n++){var r=o[n];goog.isArrayLike(r)&&!goog.dom.isNodeLike(r)?goog.array.forEach(goog.dom.isNodeList(r)?goog.array.toArray(r):r,i):i(r)}},goog.dom.$dom=goog.dom.createDom,goog.dom.createElement=function(e){return goog.dom.createElement_(document,e)},goog.dom.createElement_=function(e,t){return e.createElement(String(t))},goog.dom.createTextNode=function(e){return document.createTextNode(String(e))},goog.dom.createTable=function(e,t,o){return goog.dom.createTable_(document,e,t,!!o)},goog.dom.createTable_=function(e,t,o,n){for(var i=goog.dom.createElement_(e,"TABLE"),r=i.appendChild(goog.dom.createElement_(e,"TBODY")),s=0;s<t;s++){for(var a=goog.dom.createElement_(e,"TR"),l=0;l<o;l++){var u=goog.dom.createElement_(e,"TD");n&&goog.dom.setTextContent(u,goog.string.Unicode.NBSP),a.appendChild(u)}r.appendChild(a)}return i},goog.dom.constHtmlToNode=function(e){var t=goog.array.map(arguments,goog.string.Const.unwrap);return t=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),t.join("")),goog.dom.safeHtmlToNode(t)},goog.dom.safeHtmlToNode=function(e){return goog.dom.safeHtmlToNode_(document,e)},goog.dom.safeHtmlToNode_=function(e,t){var o=goog.dom.createElement_(e,"DIV");return goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(o,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,t)),o.removeChild(goog.asserts.assert(o.firstChild))):goog.dom.safe.setInnerHtml(o,t),goog.dom.childrenToNode_(e,o)},goog.dom.childrenToNode_=function(e,t){if(1==t.childNodes.length)return t.removeChild(goog.asserts.assert(t.firstChild));for(var o=e.createDocumentFragment();t.firstChild;)o.appendChild(t.firstChild);return o},goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)},goog.dom.isCss1CompatMode_=function(e){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==e.compatMode},goog.dom.canHaveChildren=function(e){if(e.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(e.tagName){case"APPLET":case"AREA":case"BASE":case"BR":case"COL":case"COMMAND":case"EMBED":case"FRAME":case"HR":case"IMG":case"INPUT":case"IFRAME":case"ISINDEX":case"KEYGEN":case"LINK":case"NOFRAMES":case"NOSCRIPT":case"META":case"OBJECT":case"PARAM":case"SCRIPT":case"SOURCE":case"STYLE":case"TRACK":case"WBR":return!1}return!0},goog.dom.appendChild=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.appendChild expects non-null arguments"),e.appendChild(t)},goog.dom.append=function(e,t){goog.dom.append_(goog.dom.getOwnerDocument(e),e,arguments,1)},goog.dom.removeChildren=function(e){for(var t;t=e.firstChild;)e.removeChild(t)},goog.dom.insertSiblingBefore=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.insertSiblingBefore expects non-null arguments"),t.parentNode&&t.parentNode.insertBefore(e,t)},goog.dom.insertSiblingAfter=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.insertSiblingAfter expects non-null arguments"),t.parentNode&&t.parentNode.insertBefore(e,t.nextSibling)},goog.dom.insertChildAt=function(e,t,o){goog.asserts.assert(null!=e,"goog.dom.insertChildAt expects a non-null parent"),e.insertBefore(t,e.childNodes[o]||null)},goog.dom.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},goog.dom.replaceNode=function(e,t){goog.asserts.assert(null!=e&&null!=t,"goog.dom.replaceNode expects non-null arguments");var o=t.parentNode;o&&o.replaceChild(e,t)},goog.dom.flattenElement=function(e){var t,o=e.parentNode;if(o&&o.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(e.removeNode)return e.removeNode(!1);for(;t=e.firstChild;)o.insertBefore(t,e);return goog.dom.removeNode(e)}},goog.dom.getChildren=function(e){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&null!=e.children?e.children:goog.array.filter(e.childNodes,(function(e){return e.nodeType==goog.dom.NodeType.ELEMENT}))},goog.dom.getFirstElementChild=function(e){return goog.isDef(e.firstElementChild)?e.firstElementChild:goog.dom.getNextElementNode_(e.firstChild,!0)},goog.dom.getLastElementChild=function(e){return goog.isDef(e.lastElementChild)?e.lastElementChild:goog.dom.getNextElementNode_(e.lastChild,!1)},goog.dom.getNextElementSibling=function(e){return goog.isDef(e.nextElementSibling)?e.nextElementSibling:goog.dom.getNextElementNode_(e.nextSibling,!0)},goog.dom.getPreviousElementSibling=function(e){return goog.isDef(e.previousElementSibling)?e.previousElementSibling:goog.dom.getNextElementNode_(e.previousSibling,!1)},goog.dom.getNextElementNode_=function(e,t){for(;e&&e.nodeType!=goog.dom.NodeType.ELEMENT;)e=t?e.nextSibling:e.previousSibling;return e},goog.dom.getNextNode=function(e){if(!e)return null;if(e.firstChild)return e.firstChild;for(;e&&!e.nextSibling;)e=e.parentNode;return e?e.nextSibling:null},goog.dom.getPreviousNode=function(e){if(!e)return null;if(!e.previousSibling)return e.parentNode;for(e=e.previousSibling;e&&e.lastChild;)e=e.lastChild;return e},goog.dom.isNodeLike=function(e){return goog.isObject(e)&&0<e.nodeType},goog.dom.isElement=function(e){return goog.isObject(e)&&e.nodeType==goog.dom.NodeType.ELEMENT},goog.dom.isWindow=function(e){return goog.isObject(e)&&e.window==e},goog.dom.getParentElement=function(e){var t;return!goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&e instanceof goog.global.SVGElement||!(t=e.parentElement)?(t=e.parentNode,goog.dom.isElement(t)?t:null):t},goog.dom.contains=function(e,t){if(!e||!t)return!1;if(e.contains&&t.nodeType==goog.dom.NodeType.ELEMENT)return e==t||e.contains(t);if(void 0!==e.compareDocumentPosition)return e==t||!!(16&e.compareDocumentPosition(t));for(;t&&e!=t;)t=t.parentNode;return t==e},goog.dom.compareNodeOrder=function(e,t){if(e==t)return 0;if(e.compareDocumentPosition)return 2&e.compareDocumentPosition(t)?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(e.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(t.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in e||e.parentNode&&"sourceIndex"in e.parentNode){var o=e.nodeType==goog.dom.NodeType.ELEMENT,n=t.nodeType==goog.dom.NodeType.ELEMENT;if(o&&n)return e.sourceIndex-t.sourceIndex;var i=e.parentNode,r=t.parentNode;return i==r?goog.dom.compareSiblingOrder_(e,t):!o&&goog.dom.contains(i,t)?-1*goog.dom.compareParentsDescendantNodeIe_(e,t):!n&&goog.dom.contains(r,e)?goog.dom.compareParentsDescendantNodeIe_(t,e):(o?e.sourceIndex:i.sourceIndex)-(n?t.sourceIndex:r.sourceIndex)}return(o=(n=goog.dom.getOwnerDocument(e)).createRange()).selectNode(e),o.collapse(!0),(n=n.createRange()).selectNode(t),n.collapse(!0),o.compareBoundaryPoints(goog.global.Range.START_TO_END,n)},goog.dom.compareParentsDescendantNodeIe_=function(e,t){var o=e.parentNode;if(o==t)return-1;for(var n=t;n.parentNode!=o;)n=n.parentNode;return goog.dom.compareSiblingOrder_(n,e)},goog.dom.compareSiblingOrder_=function(e,t){for(var o=t;o=o.previousSibling;)if(o==e)return-1;return 1},goog.dom.findCommonAncestor=function(e){var t,o=arguments.length;if(!o)return null;if(1==o)return arguments[0];var n=[],i=1/0;for(t=0;t<o;t++){for(var r=[],s=arguments[t];s;)r.unshift(s),s=s.parentNode;n.push(r),i=Math.min(i,r.length)}for(r=null,t=0;t<i;t++){s=n[0][t];for(var a=1;a<o;a++)if(s!=n[a][t])return r;r=s}return r},goog.dom.isInDocument=function(e){return 16==(16&e.ownerDocument.compareDocumentPosition(e))},goog.dom.getOwnerDocument=function(e){return goog.asserts.assert(e,"Node cannot be null or undefined."),e.nodeType==goog.dom.NodeType.DOCUMENT?e:e.ownerDocument||e.document},goog.dom.getFrameContentDocument=function(e){return e.contentDocument||e.contentWindow.document},goog.dom.getFrameContentWindow=function(e){try{return e.contentWindow||(e.contentDocument?goog.dom.getWindow(e.contentDocument):null)}catch(e){}return null},goog.dom.setTextContent=function(e,t){if(goog.asserts.assert(null!=e,"goog.dom.setTextContent expects a non-null value for node"),"textContent"in e)e.textContent=t;else if(e.nodeType==goog.dom.NodeType.TEXT)e.data=String(t);else if(e.firstChild&&e.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;e.lastChild!=e.firstChild;)e.removeChild(goog.asserts.assert(e.lastChild));e.firstChild.data=String(t)}else{goog.dom.removeChildren(e);var o=goog.dom.getOwnerDocument(e);e.appendChild(o.createTextNode(String(t)))}},goog.dom.getOuterHtml=function(e){if(goog.asserts.assert(null!==e,"goog.dom.getOuterHtml expects a non-null value for element"),"outerHTML"in e)return e.outerHTML;var t=goog.dom.getOwnerDocument(e);return(t=goog.dom.createElement_(t,"DIV")).appendChild(e.cloneNode(!0)),t.innerHTML},goog.dom.findNode=function(e,t){var o=[];return goog.dom.findNodes_(e,t,o,!0)?o[0]:void 0},goog.dom.findNodes=function(e,t){var o=[];return goog.dom.findNodes_(e,t,o,!1),o},goog.dom.findNodes_=function(e,t,o,n){if(null!=e)for(e=e.firstChild;e;){if(t(e)&&(o.push(e),n)||goog.dom.findNodes_(e,t,o,n))return!0;e=e.nextSibling}return!1},goog.dom.findElement=function(e,t){for(var o=goog.dom.getChildrenReverse_(e);0<o.length;){var n=o.pop();if(t(n))return n;for(n=n.lastElementChild;n;n=n.previousElementSibling)o.push(n)}return null},goog.dom.findElements=function(e,t){for(var o=[],n=goog.dom.getChildrenReverse_(e);0<n.length;){var i=n.pop();for(t(i)&&o.push(i),i=i.lastElementChild;i;i=i.previousElementSibling)n.push(i)}return o},goog.dom.getChildrenReverse_=function(e){if(e.nodeType==goog.dom.NodeType.DOCUMENT)return[e.documentElement];var t=[];for(e=e.lastElementChild;e;e=e.previousElementSibling)t.push(e);return t},goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1},goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"},goog.dom.isFocusableTabIndex=function(e){return goog.dom.hasSpecifiedTabIndex_(e)&&goog.dom.isTabIndexFocusable_(e)},goog.dom.setFocusableTabIndex=function(e,t){t?e.tabIndex=0:(e.tabIndex=-1,e.removeAttribute("tabIndex"))},goog.dom.isFocusable=function(e){var t;return(t=goog.dom.nativelySupportsFocus_(e)?!e.disabled&&(!goog.dom.hasSpecifiedTabIndex_(e)||goog.dom.isTabIndexFocusable_(e)):goog.dom.isFocusableTabIndex(e))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(e):t},goog.dom.hasSpecifiedTabIndex_=function(e){return goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9")?(e=e.getAttributeNode("tabindex"),goog.isDefAndNotNull(e)&&e.specified):e.hasAttribute("tabindex")},goog.dom.isTabIndexFocusable_=function(e){return e=e.tabIndex,goog.isNumber(e)&&0<=e&&32768>e},goog.dom.nativelySupportsFocus_=function(e){return"A"==e.tagName&&e.hasAttribute("href")||"INPUT"==e.tagName||"TEXTAREA"==e.tagName||"SELECT"==e.tagName||"BUTTON"==e.tagName},goog.dom.hasNonZeroBoundingRect_=function(e){return e=!goog.isFunction(e.getBoundingClientRect)||goog.userAgent.IE&&null==e.parentElement?{height:e.offsetHeight,width:e.offsetWidth}:e.getBoundingClientRect(),goog.isDefAndNotNull(e)&&0<e.height&&0<e.width},goog.dom.getTextContent=function(e){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==e&&"innerText"in e)e=goog.string.canonicalizeNewlines(e.innerText);else{var t=[];goog.dom.getTextContent_(e,t,!0),e=t.join("")}return e=(e=e.replace(/ \xAD /g," ").replace(/\xAD/g,"")).replace(/\u200B/g,""),goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(e=e.replace(/ +/g," "))," "!=e&&(e=e.replace(/^\s*/,"")),e},goog.dom.getRawTextContent=function(e){var t=[];return goog.dom.getTextContent_(e,t,!1),t.join("")},goog.dom.getTextContent_=function(e,t,o){if(!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT)o?t.push(String(e.nodeValue).replace(/(\r\n|\r|\n)/g,"")):t.push(e.nodeValue);else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)t.push(goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName]);else for(e=e.firstChild;e;)goog.dom.getTextContent_(e,t,o),e=e.nextSibling},goog.dom.getNodeTextLength=function(e){return goog.dom.getTextContent(e).length},goog.dom.getNodeTextOffset=function(e,t){for(var o=t||goog.dom.getOwnerDocument(e).body,n=[];e&&e!=o;){for(var i=e;i=i.previousSibling;)n.unshift(goog.dom.getTextContent(i));e=e.parentNode}return goog.string.trimLeft(n.join("")).replace(/ +/g," ").length},goog.dom.getNodeAtOffset=function(e,t,o){e=[e];for(var n=0,i=null;0<e.length&&n<t;)if(!((i=e.pop()).nodeName in goog.dom.TAGS_TO_IGNORE_))if(i.nodeType==goog.dom.NodeType.TEXT){var r=i.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");n+=r.length}else if(i.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)n+=goog.dom.PREDEFINED_TAG_VALUES_[i.nodeName].length;else for(r=i.childNodes.length-1;0<=r;r--)e.push(i.childNodes[r]);return goog.isObject(o)&&(o.remainder=i?i.nodeValue.length+t-n-1:0,o.node=i),i},goog.dom.isNodeList=function(e){if(e&&"number"==typeof e.length){if(goog.isObject(e))return"function"==typeof e.item||"string"==typeof e.item;if(goog.isFunction(e))return"function"==typeof e.item}return!1},goog.dom.getAncestorByTagNameAndClass=function(e,t,o,n){if(!t&&!o)return null;var i=t?String(t).toUpperCase():null;return goog.dom.getAncestor(e,(function(e){return(!i||e.nodeName==i)&&(!o||goog.isString(e.className)&&goog.array.contains(e.className.split(/\s+/),o))}),!0,n)},goog.dom.getAncestorByClass=function(e,t,o){return goog.dom.getAncestorByTagNameAndClass(e,null,t,o)},goog.dom.getAncestor=function(e,t,o,n){for(e&&!o&&(e=e.parentNode),o=0;e&&(null==n||o<=n);){if(goog.asserts.assert("parentNode"!=e.name),t(e))return e;e=e.parentNode,o++}return null},goog.dom.getActiveElement=function(e){try{var t=e&&e.activeElement;return t&&t.nodeName?t:null}catch(e){return null}},goog.dom.getPixelRatio=function(){var e=goog.dom.getWindow();return goog.isDef(e.devicePixelRatio)?e.devicePixelRatio:e.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1},goog.dom.matchesPixelRatio_=function(e){return goog.dom.getWindow().matchMedia("(min-resolution: "+e+"dppx),(min--moz-device-pixel-ratio: "+e+"),(min-resolution: "+96*e+"dpi)").matches?e:0},goog.dom.getCanvasContext2D=function(e){return e.getContext("2d")},goog.dom.DomHelper=function(e){this.document_=e||goog.global.document||document},goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper,goog.dom.DomHelper.prototype.setDocument=function(e){this.document_=e},goog.dom.DomHelper.prototype.getDocument=function(){return this.document_},goog.dom.DomHelper.prototype.getElement=function(e){return goog.dom.getElementHelper_(this.document_,e)},goog.dom.DomHelper.prototype.getRequiredElement=function(e){return goog.dom.getRequiredElementHelper_(this.document_,e)},goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement,goog.dom.DomHelper.prototype.getElementsByTagName=function(e,t){return(t||this.document_).getElementsByTagName(String(e))},goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(e,t,o){return goog.dom.getElementsByTagNameAndClass_(this.document_,e,t,o)},goog.dom.DomHelper.prototype.getElementByTagNameAndClass=function(e,t,o){return goog.dom.getElementByTagNameAndClass_(this.document_,e,t,o)},goog.dom.DomHelper.prototype.getElementsByClass=function(e,t){return goog.dom.getElementsByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.getElementByClass=function(e,t){return goog.dom.getElementByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.getRequiredElementByClass=function(e,t){return goog.dom.getRequiredElementByClass(e,t||this.document_)},goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass,goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties,goog.dom.DomHelper.prototype.getViewportSize=function(e){return goog.dom.getViewportSize(e||this.getWindow())},goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())},goog.dom.DomHelper.prototype.createDom=function(e,t,o){return goog.dom.createDom_(this.document_,arguments)},goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom,goog.dom.DomHelper.prototype.createElement=function(e){return goog.dom.createElement_(this.document_,e)},goog.dom.DomHelper.prototype.createTextNode=function(e){return this.document_.createTextNode(String(e))},goog.dom.DomHelper.prototype.createTable=function(e,t,o){return goog.dom.createTable_(this.document_,e,t,!!o)},goog.dom.DomHelper.prototype.safeHtmlToNode=function(e){return goog.dom.safeHtmlToNode_(this.document_,e)},goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)},goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)},goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)},goog.dom.DomHelper.prototype.getActiveElement=function(e){return goog.dom.getActiveElement(e||this.document_)},goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild,goog.dom.DomHelper.prototype.append=goog.dom.append,goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren,goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren,goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore,goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter,goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt,goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode,goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode,goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement,goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren,goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild,goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild,goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling,goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling,goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode,goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode,goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike,goog.dom.DomHelper.prototype.isElement=goog.dom.isElement,goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow,goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement,goog.dom.DomHelper.prototype.contains=goog.dom.contains,goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder,goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor,goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument,goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument,goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow,goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent,goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml,goog.dom.DomHelper.prototype.findNode=goog.dom.findNode,goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes,goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex,goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex,goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable,goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent,goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength,goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset,goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset,goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList,goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass,goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass,goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor,goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D,goog.dom.vendor={},goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null},goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null},goog.dom.vendor.getPrefixedPropertyName=function(e,t){if(t&&e in t)return e;var o=goog.dom.vendor.getVendorJsPrefix();return o?(o=o.toLowerCase(),o+=goog.string.toTitleCase(e),!goog.isDef(t)||o in t?o:null):null},goog.dom.vendor.getPrefixedEventType=function(e){return((goog.dom.vendor.getVendorJsPrefix()||"")+e).toLowerCase()},goog.math.Box=function(e,t,o,n){this.top=e,this.right=t,this.bottom=o,this.left=n},goog.math.Box.boundingBox=function(e){for(var t=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),o=1;o<arguments.length;o++)t.expandToIncludeCoordinate(arguments[o]);return t},goog.math.Box.prototype.getWidth=function(){return this.right-this.left},goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top},goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)},goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"}),goog.math.Box.prototype.contains=function(e){return goog.math.Box.contains(this,e)},goog.math.Box.prototype.expand=function(e,t,o,n){return goog.isObject(e)?(this.top-=e.top,this.right+=e.right,this.bottom+=e.bottom,this.left-=e.left):(this.top-=e,this.right+=Number(t),this.bottom+=Number(o),this.left-=Number(n)),this},goog.math.Box.prototype.expandToInclude=function(e){this.left=Math.min(this.left,e.left),this.top=Math.min(this.top,e.top),this.right=Math.max(this.right,e.right),this.bottom=Math.max(this.bottom,e.bottom)},goog.math.Box.prototype.expandToIncludeCoordinate=function(e){this.top=Math.min(this.top,e.y),this.right=Math.max(this.right,e.x),this.bottom=Math.max(this.bottom,e.y),this.left=Math.min(this.left,e.x)},goog.math.Box.equals=function(e,t){return e==t||!(!e||!t)&&(e.top==t.top&&e.right==t.right&&e.bottom==t.bottom&&e.left==t.left)},goog.math.Box.contains=function(e,t){return!(!e||!t)&&(t instanceof goog.math.Box?t.left>=e.left&&t.right<=e.right&&t.top>=e.top&&t.bottom<=e.bottom:t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom)},goog.math.Box.relativePositionX=function(e,t){return t.x<e.left?t.x-e.left:t.x>e.right?t.x-e.right:0},goog.math.Box.relativePositionY=function(e,t){return t.y<e.top?t.y-e.top:t.y>e.bottom?t.y-e.bottom:0},goog.math.Box.distance=function(e,t){var o=goog.math.Box.relativePositionX(e,t),n=goog.math.Box.relativePositionY(e,t);return Math.sqrt(o*o+n*n)},goog.math.Box.intersects=function(e,t){return e.left<=t.right&&t.left<=e.right&&e.top<=t.bottom&&t.top<=e.bottom},goog.math.Box.intersectsWithPadding=function(e,t,o){return e.left<=t.right+o&&t.left<=e.right+o&&e.top<=t.bottom+o&&t.top<=e.bottom+o},goog.math.Box.prototype.ceil=function(){return this.top=Math.ceil(this.top),this.right=Math.ceil(this.right),this.bottom=Math.ceil(this.bottom),this.left=Math.ceil(this.left),this},goog.math.Box.prototype.floor=function(){return this.top=Math.floor(this.top),this.right=Math.floor(this.right),this.bottom=Math.floor(this.bottom),this.left=Math.floor(this.left),this},goog.math.Box.prototype.round=function(){return this.top=Math.round(this.top),this.right=Math.round(this.right),this.bottom=Math.round(this.bottom),this.left=Math.round(this.left),this},goog.math.Box.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.left+=e.x,this.right+=e.x,this.top+=e.y,this.bottom+=e.y):(goog.asserts.assertNumber(e),this.left+=e,this.right+=e,goog.isNumber(t)&&(this.top+=t,this.bottom+=t)),this},goog.math.Box.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.left*=e,this.right*=e,this.top*=o,this.bottom*=o,this},goog.math.IRect=function(){},goog.math.Rect=function(e,t,o,n){this.left=e,this.top=t,this.width=o,this.height=n},goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)},goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)},goog.math.Rect.createFromPositionAndSize=function(e,t){return new goog.math.Rect(e.x,e.y,t.width,t.height)},goog.math.Rect.createFromBox=function(e){return new goog.math.Rect(e.left,e.top,e.right-e.left,e.bottom-e.top)},goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"}),goog.math.Rect.equals=function(e,t){return e==t||!(!e||!t)&&(e.left==t.left&&e.width==t.width&&e.top==t.top&&e.height==t.height)},goog.math.Rect.prototype.intersection=function(e){var t=Math.max(this.left,e.left),o=Math.min(this.left+this.width,e.left+e.width);if(t<=o){var n=Math.max(this.top,e.top);if(n<=(e=Math.min(this.top+this.height,e.top+e.height)))return this.left=t,this.top=n,this.width=o-t,this.height=e-n,!0}return!1},goog.math.Rect.intersection=function(e,t){var o=Math.max(e.left,t.left),n=Math.min(e.left+e.width,t.left+t.width);if(o<=n){var i=Math.max(e.top,t.top),r=Math.min(e.top+e.height,t.top+t.height);if(i<=r)return new goog.math.Rect(o,i,n-o,r-i)}return null},goog.math.Rect.intersects=function(e,t){return e.left<=t.left+t.width&&t.left<=e.left+e.width&&e.top<=t.top+t.height&&t.top<=e.top+e.height},goog.math.Rect.prototype.intersects=function(e){return goog.math.Rect.intersects(this,e)},goog.math.Rect.difference=function(e,t){var o=goog.math.Rect.intersection(e,t);if(!o||!o.height||!o.width)return[e.clone()];o=[];var n=e.top,i=e.height,r=e.left+e.width,s=e.top+e.height,a=t.left+t.width,l=t.top+t.height;return t.top>e.top&&(o.push(new goog.math.Rect(e.left,e.top,e.width,t.top-e.top)),n=t.top,i-=t.top-e.top),l<s&&(o.push(new goog.math.Rect(e.left,l,e.width,s-l)),i=l-n),t.left>e.left&&o.push(new goog.math.Rect(e.left,n,t.left-e.left,i)),a<r&&o.push(new goog.math.Rect(a,n,r-a,i)),o},goog.math.Rect.prototype.difference=function(e){return goog.math.Rect.difference(this,e)},goog.math.Rect.prototype.boundingRect=function(e){var t=Math.max(this.left+this.width,e.left+e.width),o=Math.max(this.top+this.height,e.top+e.height);this.left=Math.min(this.left,e.left),this.top=Math.min(this.top,e.top),this.width=t-this.left,this.height=o-this.top},goog.math.Rect.boundingRect=function(e,t){if(!e||!t)return null;var o=new goog.math.Rect(e.left,e.top,e.width,e.height);return o.boundingRect(t),o},goog.math.Rect.prototype.contains=function(e){return e instanceof goog.math.Coordinate?e.x>=this.left&&e.x<=this.left+this.width&&e.y>=this.top&&e.y<=this.top+this.height:this.left<=e.left&&this.left+this.width>=e.left+e.width&&this.top<=e.top&&this.top+this.height>=e.top+e.height},goog.math.Rect.prototype.squaredDistance=function(e){var t=e.x<this.left?this.left-e.x:Math.max(e.x-(this.left+this.width),0);return t*t+(e=e.y<this.top?this.top-e.y:Math.max(e.y-(this.top+this.height),0))*e},goog.math.Rect.prototype.distance=function(e){return Math.sqrt(this.squaredDistance(e))},goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)},goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)},goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)},goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)},goog.math.Rect.prototype.ceil=function(){return this.left=Math.ceil(this.left),this.top=Math.ceil(this.top),this.width=Math.ceil(this.width),this.height=Math.ceil(this.height),this},goog.math.Rect.prototype.floor=function(){return this.left=Math.floor(this.left),this.top=Math.floor(this.top),this.width=Math.floor(this.width),this.height=Math.floor(this.height),this},goog.math.Rect.prototype.round=function(){return this.left=Math.round(this.left),this.top=Math.round(this.top),this.width=Math.round(this.width),this.height=Math.round(this.height),this},goog.math.Rect.prototype.translate=function(e,t){return e instanceof goog.math.Coordinate?(this.left+=e.x,this.top+=e.y):(this.left+=goog.asserts.assertNumber(e),goog.isNumber(t)&&(this.top+=t)),this},goog.math.Rect.prototype.scale=function(e,t){var o=goog.isNumber(t)?t:e;return this.left*=e,this.width*=e,this.top*=o,this.height*=o,this},goog.style={},goog.style.setStyle=function(e,t,o){if(goog.isString(t))goog.style.setStyle_(e,o,t);else for(var n in t)goog.style.setStyle_(e,t[n],n)},goog.style.setStyle_=function(e,t,o){(o=goog.style.getVendorJsStyleName_(e,o))&&(e.style[o]=t)},goog.style.styleNameCache_={},goog.style.getVendorJsStyleName_=function(e,t){var o=goog.style.styleNameCache_[t];if(!o){var n=goog.string.toCamelCase(t);o=n,void 0===e.style[n]&&(n=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(n),void 0!==e.style[n]&&(o=n)),goog.style.styleNameCache_[t]=o}return o},goog.style.getVendorStyleName_=function(e,t){var o=goog.string.toCamelCase(t);return void 0===e.style[o]&&(o=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(o),void 0!==e.style[o])?goog.dom.vendor.getVendorPrefix()+"-"+t:t},goog.style.getStyle=function(e,t){var o=e.style[goog.string.toCamelCase(t)];return void 0!==o?o:e.style[goog.style.getVendorJsStyleName_(e,t)]||""},goog.style.getComputedStyle=function(e,t){var o=goog.dom.getOwnerDocument(e);return o.defaultView&&o.defaultView.getComputedStyle&&(o=o.defaultView.getComputedStyle(e,null))&&(o[t]||o.getPropertyValue(t))||""},goog.style.getCascadedStyle=function(e,t){return e.currentStyle?e.currentStyle[t]:null},goog.style.getStyle_=function(e,t){return goog.style.getComputedStyle(e,t)||goog.style.getCascadedStyle(e,t)||e.style&&e.style[t]},goog.style.getComputedBoxSizing=function(e){return goog.style.getStyle_(e,"boxSizing")||goog.style.getStyle_(e,"MozBoxSizing")||goog.style.getStyle_(e,"WebkitBoxSizing")||null},goog.style.getComputedPosition=function(e){return goog.style.getStyle_(e,"position")},goog.style.getBackgroundColor=function(e){return goog.style.getStyle_(e,"backgroundColor")},goog.style.getComputedOverflowX=function(e){return goog.style.getStyle_(e,"overflowX")},goog.style.getComputedOverflowY=function(e){return goog.style.getStyle_(e,"overflowY")},goog.style.getComputedZIndex=function(e){return goog.style.getStyle_(e,"zIndex")},goog.style.getComputedTextAlign=function(e){return goog.style.getStyle_(e,"textAlign")},goog.style.getComputedCursor=function(e){return goog.style.getStyle_(e,"cursor")},goog.style.getComputedTransform=function(e){var t=goog.style.getVendorStyleName_(e,"transform");return goog.style.getStyle_(e,t)||goog.style.getStyle_(e,"transform")},goog.style.setPosition=function(e,t,o){if(t instanceof goog.math.Coordinate){var n=t.x;t=t.y}else n=t,t=o;e.style.left=goog.style.getPixelStyleValue_(n,!1),e.style.top=goog.style.getPixelStyleValue_(t,!1)},goog.style.getPosition=function(e){return new goog.math.Coordinate(e.offsetLeft,e.offsetTop)},goog.style.getClientViewportElement=function(e){return e=e?goog.dom.getOwnerDocument(e):goog.dom.getDocument(),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(e).isCss1CompatMode()?e.documentElement:e.body},goog.style.getViewportPageOffset=function(e){var t=e.body;return e=e.documentElement,new goog.math.Coordinate(t.scrollLeft||e.scrollLeft,t.scrollTop||e.scrollTop)},goog.style.getBoundingClientRect_=function(e){try{var t=e.getBoundingClientRect()}catch(e){return{left:0,top:0,right:0,bottom:0}}return goog.userAgent.IE&&e.ownerDocument.body&&(e=e.ownerDocument,t.left-=e.documentElement.clientLeft+e.body.clientLeft,t.top-=e.documentElement.clientTop+e.body.clientTop),t},goog.style.getOffsetParent=function(e){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(e&&"offsetParent"in e),e.offsetParent;var t=goog.dom.getOwnerDocument(e),o=goog.style.getStyle_(e,"position"),n="fixed"==o||"absolute"==o;for(e=e.parentNode;e&&e!=t;e=e.parentNode)if(e.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&e.host&&(e=e.host),o=goog.style.getStyle_(e,"position"),!(n=n&&"static"==o&&e!=t.documentElement&&e!=t.body)&&(e.scrollWidth>e.clientWidth||e.scrollHeight>e.clientHeight||"fixed"==o||"absolute"==o||"relative"==o))return e;return null},goog.style.getVisibleRectForElement=function(e){for(var t=new goog.math.Box(0,1/0,1/0,0),o=goog.dom.getDomHelper(e),n=o.getDocument().body,i=o.getDocument().documentElement,r=o.getDocumentScrollElement();e=goog.style.getOffsetParent(e);)if(!(goog.userAgent.IE&&0==e.clientWidth||goog.userAgent.WEBKIT&&0==e.clientHeight&&e==n)&&e!=n&&e!=i&&"visible"!=goog.style.getStyle_(e,"overflow")){var s=goog.style.getPageOffset(e),a=goog.style.getClientLeftTop(e);s.x+=a.x,s.y+=a.y,t.top=Math.max(t.top,s.y),t.right=Math.min(t.right,s.x+e.clientWidth),t.bottom=Math.min(t.bottom,s.y+e.clientHeight),t.left=Math.max(t.left,s.x)}return n=r.scrollLeft,r=r.scrollTop,t.left=Math.max(t.left,n),t.top=Math.max(t.top,r),o=o.getViewportSize(),t.right=Math.min(t.right,n+o.width),t.bottom=Math.min(t.bottom,r+o.height),0<=t.top&&0<=t.left&&t.bottom>t.top&&t.right>t.left?t:null},goog.style.getContainerOffsetToScrollInto=function(e,t,o){var n=t||goog.dom.getDocumentScrollElement(),i=goog.style.getPageOffset(e),r=goog.style.getPageOffset(n),s=goog.style.getBorderBox(n);return n==goog.dom.getDocumentScrollElement()?(t=i.x-n.scrollLeft,i=i.y-n.scrollTop,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(t+=s.left,i+=s.top)):(t=i.x-r.x-s.left,i=i.y-r.y-s.top),s=goog.style.getSizeWithDisplay_(e),e=n.clientWidth-s.width,s=n.clientHeight-s.height,r=n.scrollLeft,n=n.scrollTop,o?(r+=t-e/2,n+=i-s/2):(r+=Math.min(t,Math.max(t-e,0)),n+=Math.min(i,Math.max(i-s,0))),new goog.math.Coordinate(r,n)},goog.style.scrollIntoContainerView=function(e,t,o){t=t||goog.dom.getDocumentScrollElement(),e=goog.style.getContainerOffsetToScrollInto(e,t,o),t.scrollLeft=e.x,t.scrollTop=e.y},goog.style.getClientLeftTop=function(e){return new goog.math.Coordinate(e.clientLeft,e.clientTop)},goog.style.getPageOffset=function(e){var t=goog.dom.getOwnerDocument(e);goog.asserts.assertObject(e,"Parameter is required");var o=new goog.math.Coordinate(0,0);return e==goog.style.getClientViewportElement(t)?o:(e=goog.style.getBoundingClientRect_(e),t=goog.dom.getDomHelper(t).getDocumentScroll(),o.x=e.left+t.x,o.y=e.top+t.y,o)},goog.style.getPageOffsetLeft=function(e){return goog.style.getPageOffset(e).x},goog.style.getPageOffsetTop=function(e){return goog.style.getPageOffset(e).y},goog.style.getFramedPageOffset=function(e,t){var o=new goog.math.Coordinate(0,0),n=goog.dom.getWindow(goog.dom.getOwnerDocument(e));if(!goog.reflect.canAccessProperty(n,"parent"))return o;var i=e;do{var r=n==t?goog.style.getPageOffset(i):goog.style.getClientPositionForElement_(goog.asserts.assert(i));o.x+=r.x,o.y+=r.y}while(n&&n!=t&&n!=n.parent&&(i=n.frameElement)&&(n=n.parent));return o},goog.style.translateRectForAnotherFrame=function(e,t,o){if(t.getDocument()!=o.getDocument()){var n=t.getDocument().body;o=goog.style.getFramedPageOffset(n,o.getWindow()),o=goog.math.Coordinate.difference(o,goog.style.getPageOffset(n)),!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||t.isCss1CompatMode()||(o=goog.math.Coordinate.difference(o,t.getDocumentScroll())),e.left+=o.x,e.top+=o.y}},goog.style.getRelativePosition=function(e,t){var o=goog.style.getClientPosition(e),n=goog.style.getClientPosition(t);return new goog.math.Coordinate(o.x-n.x,o.y-n.y)},goog.style.getClientPositionForElement_=function(e){return e=goog.style.getBoundingClientRect_(e),new goog.math.Coordinate(e.left,e.top)},goog.style.getClientPosition=function(e){return goog.asserts.assert(e),e.nodeType==goog.dom.NodeType.ELEMENT?goog.style.getClientPositionForElement_(e):(e=e.changedTouches?e.changedTouches[0]:e,new goog.math.Coordinate(e.clientX,e.clientY))},goog.style.setPageOffset=function(e,t,o){var n=goog.style.getPageOffset(e);t instanceof goog.math.Coordinate&&(o=t.y,t=t.x),t=goog.asserts.assertNumber(t)-n.x,goog.style.setPosition(e,e.offsetLeft+t,e.offsetTop+(Number(o)-n.y))},goog.style.setSize=function(e,t,o){if(t instanceof goog.math.Size)o=t.height,t=t.width;else if(null==o)throw Error("missing height argument");goog.style.setWidth(e,t),goog.style.setHeight(e,o)},goog.style.getPixelStyleValue_=function(e,t){return"number"==typeof e&&(e=(t?Math.round(e):e)+"px"),e},goog.style.setHeight=function(e,t){e.style.height=goog.style.getPixelStyleValue_(t,!0)},goog.style.setWidth=function(e,t){e.style.width=goog.style.getPixelStyleValue_(t,!0)},goog.style.getSize=function(e){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,e)},goog.style.evaluateWithTemporaryDisplay_=function(e,t){if("none"!=goog.style.getStyle_(t,"display"))return e(t);var o=t.style,n=o.display,i=o.visibility,r=o.position;o.visibility="hidden",o.position="absolute",o.display="inline";var s=e(t);return o.display=n,o.position=r,o.visibility=i,s},goog.style.getSizeWithDisplay_=function(e){var t=e.offsetWidth,o=e.offsetHeight,n=goog.userAgent.WEBKIT&&!t&&!o;return goog.isDef(t)&&!n||!e.getBoundingClientRect?new goog.math.Size(t,o):(e=goog.style.getBoundingClientRect_(e),new goog.math.Size(e.right-e.left,e.bottom-e.top))},goog.style.getTransformedSize=function(e){return e.getBoundingClientRect?(e=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,e),new goog.math.Size(e.right-e.left,e.bottom-e.top)):null},goog.style.getBounds=function(e){var t=goog.style.getPageOffset(e);return e=goog.style.getSize(e),new goog.math.Rect(t.x,t.y,e.width,e.height)},goog.style.toCamelCase=function(e){return goog.string.toCamelCase(String(e))},goog.style.toSelectorCase=function(e){return goog.string.toSelectorCase(e)},goog.style.getOpacity=function(e){goog.asserts.assert(e);var t=e.style;return e="","opacity"in t?e=t.opacity:"MozOpacity"in t?e=t.MozOpacity:"filter"in t&&(t=t.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(e=String(t[1]/100)),""==e?e:Number(e)},goog.style.setOpacity=function(e,t){goog.asserts.assert(e);var o=e.style;"opacity"in o?o.opacity=t:"MozOpacity"in o?o.MozOpacity=t:"filter"in o&&(o.filter=""===t?"":"alpha(opacity="+100*Number(t)+")")},goog.style.setTransparentBackgroundImage=function(e,t){var o=e.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?o.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+t+'", sizingMethod="crop")':(o.backgroundImage="url("+t+")",o.backgroundPosition="top left",o.backgroundRepeat="no-repeat")},goog.style.clearTransparentBackgroundImage=function(e){"filter"in(e=e.style)?e.filter="":e.backgroundImage="none"},goog.style.showElement=function(e,t){goog.style.setElementShown(e,t)},goog.style.setElementShown=function(e,t){e.style.display=t?"":"none"},goog.style.isElementShown=function(e){return"none"!=e.style.display},goog.style.installSafeStyleSheet=function(e,t){var o=goog.dom.getDomHelper(t),n=o.getDocument();if(goog.userAgent.IE&&n.createStyleSheet)return o=n.createStyleSheet(),goog.style.setSafeStyleSheet(o,e),o;if(!(n=o.getElementsByTagNameAndClass("HEAD")[0])){var i=o.getElementsByTagNameAndClass("BODY")[0];n=o.createDom("HEAD"),i.parentNode.insertBefore(n,i)}return i=o.createDom("STYLE"),goog.style.setSafeStyleSheet(i,e),o.appendChild(n,i),i},goog.style.uninstallStyles=function(e){goog.dom.removeNode(e.ownerNode||e.owningElement||e)},goog.style.setSafeStyleSheet=function(e,t){var o=goog.html.SafeStyleSheet.unwrap(t);goog.userAgent.IE&&goog.isDef(e.cssText)?e.cssText=o:e.innerHTML=o},goog.style.setPreWrap=function(e){e=e.style,goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(e.whiteSpace="pre",e.wordWrap="break-word"):e.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"},goog.style.setInlineBlock=function(e){(e=e.style).position="relative",goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(e.zoom="1",e.display="inline"):e.display="inline-block"},goog.style.isRightToLeft=function(e){return"rtl"==goog.style.getStyle_(e,"direction")},goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT||goog.userAgent.EDGE?"WebkitUserSelect":null,goog.style.isUnselectable=function(e){return goog.style.unselectableStyle_?"none"==e.style[goog.style.unselectableStyle_].toLowerCase():!(!goog.userAgent.IE&&!goog.userAgent.OPERA)&&"on"==e.getAttribute("unselectable")},goog.style.setUnselectable=function(e,t,o){o=o?null:e.getElementsByTagName("*");var n=goog.style.unselectableStyle_;if(n){if(t=t?"none":"",e.style&&(e.style[n]=t),o){e=0;for(var i;i=o[e];e++)i.style&&(i.style[n]=t)}}else if((goog.userAgent.IE||goog.userAgent.OPERA)&&(t=t?"on":"",e.setAttribute("unselectable",t),o))for(e=0;i=o[e];e++)i.setAttribute("unselectable",t)},goog.style.getBorderBoxSize=function(e){return new goog.math.Size(e.offsetWidth,e.offsetHeight)},goog.style.setBorderBoxSize=function(e,t){var o=goog.dom.getOwnerDocument(e),n=goog.dom.getDomHelper(o).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||n&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(e,t,"border-box");else if(o=e.style,n){n=goog.style.getPaddingBox(e);var i=goog.style.getBorderBox(e);o.pixelWidth=t.width-i.left-n.left-n.right-i.right,o.pixelHeight=t.height-i.top-n.top-n.bottom-i.bottom}else o.pixelWidth=t.width,o.pixelHeight=t.height},goog.style.getContentBoxSize=function(e){var t=goog.dom.getOwnerDocument(e),o=goog.userAgent.IE&&e.currentStyle;return o&&goog.dom.getDomHelper(t).isCss1CompatMode()&&"auto"!=o.width&&"auto"!=o.height&&!o.boxSizing?(t=goog.style.getIePixelValue_(e,o.width,"width","pixelWidth"),e=goog.style.getIePixelValue_(e,o.height,"height","pixelHeight"),new goog.math.Size(t,e)):(o=goog.style.getBorderBoxSize(e),t=goog.style.getPaddingBox(e),e=goog.style.getBorderBox(e),new goog.math.Size(o.width-e.left-t.left-t.right-e.right,o.height-e.top-t.top-t.bottom-e.bottom))},goog.style.setContentBoxSize=function(e,t){var o=goog.dom.getOwnerDocument(e),n=goog.dom.getDomHelper(o).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||n&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(e,t,"content-box");else if(o=e.style,n)o.pixelWidth=t.width,o.pixelHeight=t.height;else{n=goog.style.getPaddingBox(e);var i=goog.style.getBorderBox(e);o.pixelWidth=t.width+i.left+n.left+n.right+i.right,o.pixelHeight=t.height+i.top+n.top+n.bottom+i.bottom}},goog.style.setBoxSizingSize_=function(e,t,o){e=e.style,goog.userAgent.GECKO?e.MozBoxSizing=o:goog.userAgent.WEBKIT?e.WebkitBoxSizing=o:e.boxSizing=o,e.width=Math.max(t.width,0)+"px",e.height=Math.max(t.height,0)+"px"},goog.style.getIePixelValue_=function(e,t,o,n){if(/^\d+px?$/.test(t))return parseInt(t,10);var i=e.style[o],r=e.runtimeStyle[o];return e.runtimeStyle[o]=e.currentStyle[o],e.style[o]=t,t=e.style[n],e.style[o]=i,e.runtimeStyle[o]=r,+t},goog.style.getIePixelDistance_=function(e,t){var o=goog.style.getCascadedStyle(e,t);return o?goog.style.getIePixelValue_(e,o,"left","pixelLeft"):0},goog.style.getBox_=function(e,t){if(goog.userAgent.IE){var o=goog.style.getIePixelDistance_(e,t+"Left"),n=goog.style.getIePixelDistance_(e,t+"Right"),i=goog.style.getIePixelDistance_(e,t+"Top"),r=goog.style.getIePixelDistance_(e,t+"Bottom");return new goog.math.Box(i,n,r,o)}return o=goog.style.getComputedStyle(e,t+"Left"),n=goog.style.getComputedStyle(e,t+"Right"),i=goog.style.getComputedStyle(e,t+"Top"),r=goog.style.getComputedStyle(e,t+"Bottom"),new goog.math.Box(parseFloat(i),parseFloat(n),parseFloat(r),parseFloat(o))},goog.style.getPaddingBox=function(e){return goog.style.getBox_(e,"padding")},goog.style.getMarginBox=function(e){return goog.style.getBox_(e,"margin")},goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6},goog.style.getIePixelBorder_=function(e,t){if("none"==goog.style.getCascadedStyle(e,t+"Style"))return 0;var o=goog.style.getCascadedStyle(e,t+"Width");return o in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[o]:goog.style.getIePixelValue_(e,o,"left","pixelLeft")},goog.style.getBorderBox=function(e){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var t=goog.style.getIePixelBorder_(e,"borderLeft"),o=goog.style.getIePixelBorder_(e,"borderRight"),n=goog.style.getIePixelBorder_(e,"borderTop");return e=goog.style.getIePixelBorder_(e,"borderBottom"),new goog.math.Box(n,o,e,t)}return t=goog.style.getComputedStyle(e,"borderLeftWidth"),o=goog.style.getComputedStyle(e,"borderRightWidth"),n=goog.style.getComputedStyle(e,"borderTopWidth"),e=goog.style.getComputedStyle(e,"borderBottomWidth"),new goog.math.Box(parseFloat(n),parseFloat(o),parseFloat(e),parseFloat(t))},goog.style.getFontFamily=function(e){var t=goog.dom.getOwnerDocument(e),o="";if(t.body.createTextRange&&goog.dom.contains(t,e)){(t=t.body.createTextRange()).moveToElementText(e);try{o=t.queryCommandValue("FontName")}catch(e){o=""}}return o||(o=goog.style.getStyle_(e,"fontFamily")),1<(e=o.split(",")).length&&(o=e[0]),goog.string.stripQuotes(o,"\"'")},goog.style.lengthUnitRegex_=/[^\d]+$/,goog.style.getLengthUnits=function(e){return(e=e.match(goog.style.lengthUnitRegex_))&&e[0]||null},goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,in:1,mm:1,pc:1,pt:1},goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1},goog.style.getFontSize=function(e){var t=goog.style.getStyle_(e,"fontSize"),o=goog.style.getLengthUnits(t);if(t&&"px"==o)return parseInt(t,10);if(goog.userAgent.IE){if(String(o)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(e,t,"left","pixelLeft");if(e.parentNode&&e.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&String(o)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return e=e.parentNode,o=goog.style.getStyle_(e,"fontSize"),goog.style.getIePixelValue_(e,t==o?"1em":t,"left","pixelLeft")}return o=goog.dom.createDom("SPAN",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"}),goog.dom.appendChild(e,o),t=o.offsetHeight,goog.dom.removeNode(o),t},goog.style.parseStyleAttribute=function(e){var t={};return goog.array.forEach(e.split(/\s*;\s*/),(function(e){var o=e.match(/\s*([\w-]+)\s*:(.+)/);o&&(e=o[1],o=goog.string.trim(o[2]),t[goog.string.toCamelCase(e.toLowerCase())]=o)})),t},goog.style.toStyleAttribute=function(e){var t=[];return goog.object.forEach(e,(function(e,o){t.push(goog.string.toSelectorCase(o),":",e,";")})),t.join("")},goog.style.setFloat=function(e,t){e.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=t},goog.style.getFloat=function(e){return e.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""},goog.style.getScrollbarWidth=function(e){var t=goog.dom.createElement("DIV");return e&&(t.className=e),t.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px",e=goog.dom.createElement("DIV"),goog.style.setSize(e,"200px","200px"),t.appendChild(e),goog.dom.appendChild(goog.dom.getDocument().body,t),e=t.offsetWidth-t.clientWidth,goog.dom.removeNode(t),e},goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/,goog.style.getCssTranslation=function(e){return(e=goog.style.getComputedTransform(e))&&(e=e.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(e[1]),parseFloat(e[2])):new goog.math.Coordinate(0,0)},goog.events.EventHandler=function(e){goog.Disposable.call(this),this.handler_=e,this.keys_={}},goog.inherits(goog.events.EventHandler,goog.Disposable),goog.events.EventHandler.typeArray_=[],goog.events.EventHandler.prototype.listen=function(e,t,o,n){return this.listen_(e,t,o,n)},goog.events.EventHandler.prototype.listenWithScope=function(e,t,o,n,i){return this.listen_(e,t,o,n,i)},goog.events.EventHandler.prototype.listen_=function(e,t,o,n,i){goog.isArray(t)||(t&&(goog.events.EventHandler.typeArray_[0]=t.toString()),t=goog.events.EventHandler.typeArray_);for(var r=0;r<t.length;r++){var s=goog.events.listen(e,t[r],o||this.handleEvent,n||!1,i||this.handler_||this);if(!s)break;this.keys_[s.key]=s}return this},goog.events.EventHandler.prototype.listenOnce=function(e,t,o,n){return this.listenOnce_(e,t,o,n)},goog.events.EventHandler.prototype.listenOnceWithScope=function(e,t,o,n,i){return this.listenOnce_(e,t,o,n,i)},goog.events.EventHandler.prototype.listenOnce_=function(e,t,o,n,i){if(goog.isArray(t))for(var r=0;r<t.length;r++)this.listenOnce_(e,t[r],o,n,i);else{if(!(e=goog.events.listenOnce(e,t,o||this.handleEvent,n,i||this.handler_||this)))return this;this.keys_[e.key]=e}return this},goog.events.EventHandler.prototype.listenWithWrapper=function(e,t,o,n){return this.listenWithWrapper_(e,t,o,n)},goog.events.EventHandler.prototype.listenWithWrapperAndScope=function(e,t,o,n,i){return this.listenWithWrapper_(e,t,o,n,i)},goog.events.EventHandler.prototype.listenWithWrapper_=function(e,t,o,n,i){return t.listen(e,o,n,i||this.handler_||this,this),this},goog.events.EventHandler.prototype.getListenerCount=function(){var e,t=0;for(e in this.keys_)Object.prototype.hasOwnProperty.call(this.keys_,e)&&t++;return t},goog.events.EventHandler.prototype.unlisten=function(e,t,o,n,i){if(goog.isArray(t))for(var r=0;r<t.length;r++)this.unlisten(e,t[r],o,n,i);else n=goog.isObject(n)?!!n.capture:!!n,(e=goog.events.getListener(e,t,o||this.handleEvent,n,i||this.handler_||this))&&(goog.events.unlistenByKey(e),delete this.keys_[e.key]);return this},goog.events.EventHandler.prototype.unlistenWithWrapper=function(e,t,o,n,i){return t.unlisten(e,o,n,i||this.handler_||this,this),this},goog.events.EventHandler.prototype.removeAll=function(){goog.object.forEach(this.keys_,(function(e,t){this.keys_.hasOwnProperty(t)&&goog.events.unlistenByKey(e)}),this),this.keys_={}},goog.events.EventHandler.prototype.disposeInternal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this),this.removeAll()},goog.events.EventHandler.prototype.handleEvent=function(e){throw Error("EventHandler.handleEvent not implemented")},goog.events.EventTarget=function(){goog.Disposable.call(this),this.eventTargetListeners_=new goog.events.ListenerMap(this),this.actualEventTarget_=this,this.parentEventTarget_=null},goog.inherits(goog.events.EventTarget,goog.Disposable),goog.events.Listenable.addImplementation(goog.events.EventTarget),goog.events.EventTarget.MAX_ANCESTORS_=1e3,goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_},goog.events.EventTarget.prototype.setParentEventTarget=function(e){this.parentEventTarget_=e},goog.events.EventTarget.prototype.addEventListener=function(e,t,o,n){goog.events.listen(this,e,t,o,n)},goog.events.EventTarget.prototype.removeEventListener=function(e,t,o,n){goog.events.unlisten(this,e,t,o,n)},goog.events.EventTarget.prototype.dispatchEvent=function(e){this.assertInitialized_();var t=this.getParentEventTarget();if(t)for(var o=[],n=1;t;t=t.getParentEventTarget())o.push(t),goog.asserts.assert(++n<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop");return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,e,o)},goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this),this.removeAllListeners(),this.parentEventTarget_=null},goog.events.EventTarget.prototype.listen=function(e,t,o,n){return this.assertInitialized_(),this.eventTargetListeners_.add(String(e),t,!1,o,n)},goog.events.EventTarget.prototype.listenOnce=function(e,t,o,n){return this.eventTargetListeners_.add(String(e),t,!0,o,n)},goog.events.EventTarget.prototype.unlisten=function(e,t,o,n){return this.eventTargetListeners_.remove(String(e),t,o,n)},goog.events.EventTarget.prototype.unlistenByKey=function(e){return this.eventTargetListeners_.removeByKey(e)},goog.events.EventTarget.prototype.removeAllListeners=function(e){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(e):0},goog.events.EventTarget.prototype.fireListeners=function(e,t,o){if(!(e=this.eventTargetListeners_.listeners[String(e)]))return!0;e=e.concat();for(var n=!0,i=0;i<e.length;++i){var r=e[i];if(r&&!r.removed&&r.capture==t){var s=r.listener,a=r.handler||r.src;r.callOnce&&this.unlistenByKey(r),n=!1!==s.call(a,o)&&n}}return n&&0!=o.returnValue_},goog.events.EventTarget.prototype.getListeners=function(e,t){return this.eventTargetListeners_.getListeners(String(e),t)},goog.events.EventTarget.prototype.getListener=function(e,t,o,n){return this.eventTargetListeners_.getListener(String(e),t,o,n)},goog.events.EventTarget.prototype.hasListener=function(e,t){var o=goog.isDef(e)?String(e):void 0;return this.eventTargetListeners_.hasListener(o,t)},goog.events.EventTarget.prototype.setTargetForTesting=function(e){this.actualEventTarget_=e},goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")},goog.events.EventTarget.dispatchEventInternal_=function(e,t,o){var n=t.type||t;if(goog.isString(t))t=new goog.events.Event(t,e);else if(t instanceof goog.events.Event)t.target=t.target||e;else{var i=t;t=new goog.events.Event(n,e),goog.object.extend(t,i)}if(i=!0,o)for(var r=o.length-1;!t.propagationStopped_&&0<=r;r--){var s=t.currentTarget=o[r];i=s.fireListeners(n,!0,t)&&i}if(t.propagationStopped_||(i=(s=t.currentTarget=e).fireListeners(n,!0,t)&&i,t.propagationStopped_||(i=s.fireListeners(n,!1,t)&&i)),o)for(r=0;!t.propagationStopped_&&r<o.length;r++)i=(s=t.currentTarget=o[r]).fireListeners(n,!1,t)&&i;return i},goog.ui={},goog.ui.IdGenerator=function(){},goog.addSingletonGetter(goog.ui.IdGenerator),goog.ui.IdGenerator.prototype.nextId_=0,goog.ui.IdGenerator.prototype.idPrefix_="",goog.ui.IdGenerator.prototype.setIdPrefix=function(e){this.idPrefix_=e},goog.ui.IdGenerator.prototype.getNextUniqueId=function(){return this.idPrefix_+":"+(this.nextId_++).toString(36)},goog.ui.Component=function(e){goog.events.EventTarget.call(this),this.dom_=e||goog.dom.getDomHelper(),this.rightToLeft_=goog.ui.Component.defaultRightToLeft_,this.id_=null,this.inDocument_=!1,this.element_=null,this.googUiComponentHandler_=void 0,this.childIndex_=this.children_=this.parent_=this.model_=null,this.pointerEventsEnabled_=this.wasDecorated_=!1},goog.inherits(goog.ui.Component,goog.events.EventTarget),goog.ui.Component.ALLOW_DETACHED_DECORATION=!1,goog.ui.Component.prototype.idGenerator_=goog.ui.IdGenerator.getInstance(),goog.ui.Component.DEFAULT_BIDI_DIR=0,goog.ui.Component.defaultRightToLeft_=1!=goog.ui.Component.DEFAULT_BIDI_DIR&&(-1==goog.ui.Component.DEFAULT_BIDI_DIR||null),goog.ui.Component.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",HIDE:"hide",DISABLE:"disable",ENABLE:"enable",HIGHLIGHT:"highlight",UNHIGHLIGHT:"unhighlight",ACTIVATE:"activate",DEACTIVATE:"deactivate",SELECT:"select",UNSELECT:"unselect",CHECK:"check",UNCHECK:"uncheck",FOCUS:"focus",BLUR:"blur",OPEN:"open",CLOSE:"close",ENTER:"enter",LEAVE:"leave",ACTION:"action",CHANGE:"change"},goog.ui.Component.Error={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"},goog.ui.Component.State={ALL:255,DISABLED:1,HOVER:2,ACTIVE:4,SELECTED:8,CHECKED:16,FOCUSED:32,OPENED:64},goog.ui.Component.getStateTransitionEvent=function(e,t){switch(e){case goog.ui.Component.State.DISABLED:return t?goog.ui.Component.EventType.DISABLE:goog.ui.Component.EventType.ENABLE;case goog.ui.Component.State.HOVER:return t?goog.ui.Component.EventType.HIGHLIGHT:goog.ui.Component.EventType.UNHIGHLIGHT;case goog.ui.Component.State.ACTIVE:return t?goog.ui.Component.EventType.ACTIVATE:goog.ui.Component.EventType.DEACTIVATE;case goog.ui.Component.State.SELECTED:return t?goog.ui.Component.EventType.SELECT:goog.ui.Component.EventType.UNSELECT;case goog.ui.Component.State.CHECKED:return t?goog.ui.Component.EventType.CHECK:goog.ui.Component.EventType.UNCHECK;case goog.ui.Component.State.FOCUSED:return t?goog.ui.Component.EventType.FOCUS:goog.ui.Component.EventType.BLUR;case goog.ui.Component.State.OPENED:return t?goog.ui.Component.EventType.OPEN:goog.ui.Component.EventType.CLOSE}throw Error(goog.ui.Component.Error.STATE_INVALID)},goog.ui.Component.setDefaultRightToLeft=function(e){goog.ui.Component.defaultRightToLeft_=e},goog.ui.Component.prototype.getId=function(){return this.id_||(this.id_=this.idGenerator_.getNextUniqueId())},goog.ui.Component.prototype.setId=function(e){this.parent_&&this.parent_.childIndex_&&(goog.object.remove(this.parent_.childIndex_,this.id_),goog.object.add(this.parent_.childIndex_,e,this)),this.id_=e},goog.ui.Component.prototype.getElement=function(){return this.element_},goog.ui.Component.prototype.getElementStrict=function(){var e=this.element_;return goog.asserts.assert(e,"Can not call getElementStrict before rendering/decorating."),e},goog.ui.Component.prototype.setElementInternal=function(e){this.element_=e},goog.ui.Component.prototype.getElementsByClass=function(e){return this.element_?this.dom_.getElementsByClass(e,this.element_):[]},goog.ui.Component.prototype.getElementByClass=function(e){return this.element_?this.dom_.getElementByClass(e,this.element_):null},goog.ui.Component.prototype.getRequiredElementByClass=function(e){var t=this.getElementByClass(e);return goog.asserts.assert(t,"Expected element in component with class: %s",e),t},goog.ui.Component.prototype.getHandler=function(){return this.googUiComponentHandler_||(this.googUiComponentHandler_=new goog.events.EventHandler(this)),goog.asserts.assert(this.googUiComponentHandler_)},goog.ui.Component.prototype.setParent=function(e){if(this==e)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);if(e&&this.parent_&&this.id_&&this.parent_.getChild(this.id_)&&this.parent_!=e)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);this.parent_=e,goog.ui.Component.superClass_.setParentEventTarget.call(this,e)},goog.ui.Component.prototype.getParent=function(){return this.parent_},goog.ui.Component.prototype.setParentEventTarget=function(e){if(this.parent_&&this.parent_!=e)throw Error(goog.ui.Component.Error.NOT_SUPPORTED);goog.ui.Component.superClass_.setParentEventTarget.call(this,e)},goog.ui.Component.prototype.getDomHelper=function(){return this.dom_},goog.ui.Component.prototype.isInDocument=function(){return this.inDocument_},goog.ui.Component.prototype.createDom=function(){this.element_=this.dom_.createElement("DIV")},goog.ui.Component.prototype.render=function(e){this.render_(e)},goog.ui.Component.prototype.renderBefore=function(e){this.render_(e.parentNode,e)},goog.ui.Component.prototype.render_=function(e,t){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.element_||this.createDom(),e?e.insertBefore(this.element_,t||null):this.dom_.getDocument().body.appendChild(this.element_),this.parent_&&!this.parent_.isInDocument()||this.enterDocument()},goog.ui.Component.prototype.decorate=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(!e||!this.canDecorate(e))throw Error(goog.ui.Component.Error.DECORATE_INVALID);this.wasDecorated_=!0;var t=goog.dom.getOwnerDocument(e);this.dom_&&this.dom_.getDocument()==t||(this.dom_=goog.dom.getDomHelper(e)),this.decorateInternal(e),goog.ui.Component.ALLOW_DETACHED_DECORATION&&!goog.dom.contains(t,e)||this.enterDocument()},goog.ui.Component.prototype.canDecorate=function(e){return!0},goog.ui.Component.prototype.wasDecorated=function(){return this.wasDecorated_},goog.ui.Component.prototype.decorateInternal=function(e){this.element_=e},goog.ui.Component.prototype.enterDocument=function(){this.inDocument_=!0,this.forEachChild((function(e){!e.isInDocument()&&e.getElement()&&e.enterDocument()}))},goog.ui.Component.prototype.exitDocument=function(){this.forEachChild((function(e){e.isInDocument()&&e.exitDocument()})),this.googUiComponentHandler_&&this.googUiComponentHandler_.removeAll(),this.inDocument_=!1},goog.ui.Component.prototype.disposeInternal=function(){this.inDocument_&&this.exitDocument(),this.googUiComponentHandler_&&(this.googUiComponentHandler_.dispose(),delete this.googUiComponentHandler_),this.forEachChild((function(e){e.dispose()})),!this.wasDecorated_&&this.element_&&goog.dom.removeNode(this.element_),this.parent_=this.model_=this.element_=this.childIndex_=this.children_=null,goog.ui.Component.superClass_.disposeInternal.call(this)},goog.ui.Component.prototype.makeId=function(e){return this.getId()+"."+e},goog.ui.Component.prototype.makeIds=function(e){var t,o={};for(t in e)o[t]=this.makeId(e[t]);return o},goog.ui.Component.prototype.getModel=function(){return this.model_},goog.ui.Component.prototype.setModel=function(e){this.model_=e},goog.ui.Component.prototype.getFragmentFromId=function(e){return e.substring(this.getId().length+1)},goog.ui.Component.prototype.getElementByFragment=function(e){if(!this.inDocument_)throw Error(goog.ui.Component.Error.NOT_IN_DOCUMENT);return this.dom_.getElement(this.makeId(e))},goog.ui.Component.prototype.addChild=function(e,t){this.addChildAt(e,this.getChildCount(),t)},goog.ui.Component.prototype.addChildAt=function(e,t,o){if(goog.asserts.assert(!!e,"Provided element must not be null."),e.inDocument_&&(o||!this.inDocument_))throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(0>t||t>this.getChildCount())throw Error(goog.ui.Component.Error.CHILD_INDEX_OUT_OF_BOUNDS);this.childIndex_&&this.children_||(this.childIndex_={},this.children_=[]),e.getParent()==this?(goog.object.set(this.childIndex_,e.getId(),e),goog.array.remove(this.children_,e)):goog.object.add(this.childIndex_,e.getId(),e),e.setParent(this),goog.array.insertAt(this.children_,e,t),e.inDocument_&&this.inDocument_&&e.getParent()==this?(t=(o=this.getContentElement()).childNodes[t]||null)!=e.getElement()&&o.insertBefore(e.getElement(),t):o?(this.element_||this.createDom(),t=this.getChildAt(t+1),e.render_(this.getContentElement(),t?t.element_:null)):this.inDocument_&&!e.inDocument_&&e.element_&&e.element_.parentNode&&e.element_.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&e.enterDocument()},goog.ui.Component.prototype.getContentElement=function(){return this.element_},goog.ui.Component.prototype.isRightToLeft=function(){return null==this.rightToLeft_&&(this.rightToLeft_=goog.style.isRightToLeft(this.inDocument_?this.element_:this.dom_.getDocument().body)),this.rightToLeft_},goog.ui.Component.prototype.setRightToLeft=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.rightToLeft_=e},goog.ui.Component.prototype.hasChildren=function(){return!!this.children_&&0!=this.children_.length},goog.ui.Component.prototype.getChildCount=function(){return this.children_?this.children_.length:0},goog.ui.Component.prototype.getChildIds=function(){var e=[];return this.forEachChild((function(t){e.push(t.getId())})),e},goog.ui.Component.prototype.getChild=function(e){return this.childIndex_&&e&&goog.object.get(this.childIndex_,e)||null},goog.ui.Component.prototype.getChildAt=function(e){return this.children_&&this.children_[e]||null},goog.ui.Component.prototype.forEachChild=function(e,t){this.children_&&goog.array.forEach(this.children_,e,t)},goog.ui.Component.prototype.indexOfChild=function(e){return this.children_&&e?goog.array.indexOf(this.children_,e):-1},goog.ui.Component.prototype.removeChild=function(e,t){if(e){var o=goog.isString(e)?e:e.getId();e=this.getChild(o),o&&e&&(goog.object.remove(this.childIndex_,o),goog.array.remove(this.children_,e),t&&(e.exitDocument(),e.element_&&goog.dom.removeNode(e.element_)),e.setParent(null))}if(!e)throw Error(goog.ui.Component.Error.NOT_OUR_CHILD);return e},goog.ui.Component.prototype.removeChildAt=function(e,t){return this.removeChild(this.getChildAt(e),t)},goog.ui.Component.prototype.removeChildren=function(e){for(var t=[];this.hasChildren();)t.push(this.removeChildAt(0,e));return t},goog.ui.Component.prototype.pointerEventsEnabled=function(){return this.pointerEventsEnabled_},goog.ui.Component.prototype.setPointerEventsEnabled=function(e){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.pointerEventsEnabled_=e},goog.a11y={},goog.a11y.aria={},goog.a11y.aria.Role={ALERT:"alert",ALERTDIALOG:"alertdialog",APPLICATION:"application",ARTICLE:"article",BANNER:"banner",BUTTON:"button",CHECKBOX:"checkbox",COLUMNHEADER:"columnheader",COMBOBOX:"combobox",COMPLEMENTARY:"complementary",CONTENTINFO:"contentinfo",DEFINITION:"definition",DIALOG:"dialog",DIRECTORY:"directory",DOCUMENT:"document",FORM:"form",GRID:"grid",GRIDCELL:"gridcell",GROUP:"group",HEADING:"heading",IMG:"img",LINK:"link",LIST:"list",LISTBOX:"listbox",LISTITEM:"listitem",LOG:"log",MAIN:"main",MARQUEE:"marquee",MATH:"math",MENU:"menu",MENUBAR:"menubar",MENU_ITEM:"menuitem",MENU_ITEM_CHECKBOX:"menuitemcheckbox",MENU_ITEM_RADIO:"menuitemradio",NAVIGATION:"navigation",NOTE:"note",OPTION:"option",PRESENTATION:"presentation",PROGRESSBAR:"progressbar",RADIO:"radio",RADIOGROUP:"radiogroup",REGION:"region",ROW:"row",ROWGROUP:"rowgroup",ROWHEADER:"rowheader",SCROLLBAR:"scrollbar",SEARCH:"search",SEPARATOR:"separator",SLIDER:"slider",SPINBUTTON:"spinbutton",STATUS:"status",TAB:"tab",TAB_LIST:"tablist",TAB_PANEL:"tabpanel",TEXTBOX:"textbox",TEXTINFO:"textinfo",TIMER:"timer",TOOLBAR:"toolbar",TOOLTIP:"tooltip",TREE:"tree",TREEGRID:"treegrid",TREEITEM:"treeitem"},goog.a11y.aria.State={ACTIVEDESCENDANT:"activedescendant",ATOMIC:"atomic",AUTOCOMPLETE:"autocomplete",BUSY:"busy",CHECKED:"checked",COLINDEX:"colindex",CONTROLS:"controls",DESCRIBEDBY:"describedby",DISABLED:"disabled",DROPEFFECT:"dropeffect",EXPANDED:"expanded",FLOWTO:"flowto",GRABBED:"grabbed",HASPOPUP:"haspopup",HIDDEN:"hidden",INVALID:"invalid",LABEL:"label",LABELLEDBY:"labelledby",LEVEL:"level",LIVE:"live",MULTILINE:"multiline",MULTISELECTABLE:"multiselectable",ORIENTATION:"orientation",OWNS:"owns",POSINSET:"posinset",PRESSED:"pressed",READONLY:"readonly",RELEVANT:"relevant",REQUIRED:"required",ROWINDEX:"rowindex",SELECTED:"selected",SETSIZE:"setsize",SORT:"sort",VALUEMAX:"valuemax",VALUEMIN:"valuemin",VALUENOW:"valuenow",VALUETEXT:"valuetext"},goog.a11y.aria.AutoCompleteValues={INLINE:"inline",LIST:"list",BOTH:"both",NONE:"none"},goog.a11y.aria.DropEffectValues={COPY:"copy",MOVE:"move",LINK:"link",EXECUTE:"execute",POPUP:"popup",NONE:"none"},goog.a11y.aria.LivePriority={OFF:"off",POLITE:"polite",ASSERTIVE:"assertive"},goog.a11y.aria.OrientationValues={VERTICAL:"vertical",HORIZONTAL:"horizontal"},goog.a11y.aria.RelevantValues={ADDITIONS:"additions",REMOVALS:"removals",TEXT:"text",ALL:"all"},goog.a11y.aria.SortValues={ASCENDING:"ascending",DESCENDING:"descending",NONE:"none",OTHER:"other"},goog.a11y.aria.CheckedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"},goog.a11y.aria.ExpandedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.GrabbedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.InvalidValues={FALSE:"false",TRUE:"true",GRAMMAR:"grammar",SPELLING:"spelling"},goog.a11y.aria.PressedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"},goog.a11y.aria.SelectedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"},goog.a11y.aria.datatables={},goog.a11y.aria.datatables.getDefaultValuesMap=function(){return goog.a11y.aria.DefaultStateValueMap_||(goog.a11y.aria.DefaultStateValueMap_=goog.object.create(goog.a11y.aria.State.ATOMIC,!1,goog.a11y.aria.State.AUTOCOMPLETE,"none",goog.a11y.aria.State.DROPEFFECT,"none",goog.a11y.aria.State.HASPOPUP,!1,goog.a11y.aria.State.LIVE,"off",goog.a11y.aria.State.MULTILINE,!1,goog.a11y.aria.State.MULTISELECTABLE,!1,goog.a11y.aria.State.ORIENTATION,"vertical",goog.a11y.aria.State.READONLY,!1,goog.a11y.aria.State.RELEVANT,"additions text",goog.a11y.aria.State.REQUIRED,!1,goog.a11y.aria.State.SORT,"none",goog.a11y.aria.State.BUSY,!1,goog.a11y.aria.State.DISABLED,!1,goog.a11y.aria.State.HIDDEN,!1,goog.a11y.aria.State.INVALID,"false")),goog.a11y.aria.DefaultStateValueMap_},goog.a11y.aria.ARIA_PREFIX_="aria-",goog.a11y.aria.ROLE_ATTRIBUTE_="role",goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_=goog.object.createSet("A AREA BUTTON HEAD INPUT LINK MENU META OPTGROUP OPTION PROGRESS STYLE SELECT SOURCE TEXTAREA TITLE TRACK".split(" ")),goog.a11y.aria.CONTAINER_ROLES_=[goog.a11y.aria.Role.COMBOBOX,goog.a11y.aria.Role.GRID,goog.a11y.aria.Role.GROUP,goog.a11y.aria.Role.LISTBOX,goog.a11y.aria.Role.MENU,goog.a11y.aria.Role.MENUBAR,goog.a11y.aria.Role.RADIOGROUP,goog.a11y.aria.Role.ROW,goog.a11y.aria.Role.ROWGROUP,goog.a11y.aria.Role.TAB_LIST,goog.a11y.aria.Role.TEXTBOX,goog.a11y.aria.Role.TOOLBAR,goog.a11y.aria.Role.TREE,goog.a11y.aria.Role.TREEGRID],goog.a11y.aria.setRole=function(e,t){t?(goog.asserts.ENABLE_ASSERTS&&goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.Role,t),"No such ARIA role "+t),e.setAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_,t)):goog.a11y.aria.removeRole(e)},goog.a11y.aria.getRole=function(e){return e.getAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)||null},goog.a11y.aria.removeRole=function(e){e.removeAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)},goog.a11y.aria.setState=function(e,t,o){goog.isArray(o)&&(o=o.join(" "));var n=goog.a11y.aria.getAriaAttributeName_(t);""===o||null==o?t in(o=goog.a11y.aria.datatables.getDefaultValuesMap())?e.setAttribute(n,o[t]):e.removeAttribute(n):e.setAttribute(n,o)},goog.a11y.aria.toggleState=function(e,t){var o=goog.a11y.aria.getState(e,t);goog.string.isEmptyOrWhitespace(goog.string.makeSafe(o))||"true"==o||"false"==o?goog.a11y.aria.setState(e,t,"true"==o?"false":"true"):goog.a11y.aria.removeState(e,t)},goog.a11y.aria.removeState=function(e,t){e.removeAttribute(goog.a11y.aria.getAriaAttributeName_(t))},goog.a11y.aria.getState=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return null==o||null==o?"":String(o)},goog.a11y.aria.getActiveDescendant=function(e){var t=goog.a11y.aria.getState(e,goog.a11y.aria.State.ACTIVEDESCENDANT);return goog.dom.getOwnerDocument(e).getElementById(t)},goog.a11y.aria.setActiveDescendant=function(e,t){var o="";t&&(o=t.id,goog.asserts.assert(o,"The active element should have an id.")),goog.a11y.aria.setState(e,goog.a11y.aria.State.ACTIVEDESCENDANT,o)},goog.a11y.aria.getLabel=function(e){return goog.a11y.aria.getState(e,goog.a11y.aria.State.LABEL)},goog.a11y.aria.setLabel=function(e,t){goog.a11y.aria.setState(e,goog.a11y.aria.State.LABEL,t)},goog.a11y.aria.assertRoleIsSetInternalUtil=function(e,t){if(!goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_[e.tagName]){var o=goog.a11y.aria.getRole(e);goog.asserts.assert(null!=o,"The element ARIA role cannot be null."),goog.asserts.assert(goog.array.contains(t,o),'Non existing or incorrect role set for element.The role set is "'+o+'". The role should be any of "'+t+'". Check the ARIA specification for more details http://www.w3.org/TR/wai-aria/roles.')}},goog.a11y.aria.getStateBoolean=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert(goog.isBoolean(o)||null==o||"true"==o||"false"==o),null==o?o:goog.isBoolean(o)?o:"true"==o},goog.a11y.aria.getStateNumber=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert(!(null!=o&&isNaN(Number(o))||goog.isBoolean(o))),null==o?null:Number(o)},goog.a11y.aria.getStateString=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.asserts.assert((null==o||goog.isString(o))&&(""==o||isNaN(Number(o)))&&"true"!=o&&"false"!=o),null==o||""==o?null:o};goog.a11y.aria.getStringArrayStateInternalUtil=function(e,t){var o=e.getAttribute(goog.a11y.aria.getAriaAttributeName_(t));return goog.a11y.aria.splitStringOnWhitespace_(o)},goog.a11y.aria.hasState=function(e,t){return e.hasAttribute(goog.a11y.aria.getAriaAttributeName_(t))},goog.a11y.aria.isContainerRole=function(e){return e=goog.a11y.aria.getRole(e),goog.array.contains(goog.a11y.aria.CONTAINER_ROLES_,e)},goog.a11y.aria.splitStringOnWhitespace_=function(e){return e?e.split(/\s+/):[]},goog.a11y.aria.getAriaAttributeName_=function(e){return goog.asserts.ENABLE_ASSERTS&&(goog.asserts.assert(e,"ARIA attribute cannot be empty."),goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.State,e),"No such ARIA attribute "+e)),goog.a11y.aria.ARIA_PREFIX_+e},goog.events.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,FF_HASH:163,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255},goog.events.KeyCodes.isTextModifyingKeyEvent=function(e){if(e.altKey&&!e.ctrlKey||e.metaKey||e.keyCode>=goog.events.KeyCodes.F1&&e.keyCode<=goog.events.KeyCodes.F12)return!1;if(goog.events.KeyCodes.isCharacterKey(e.keyCode))return!0;switch(e.keyCode){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goog.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog.events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.SCROLL_LOCK:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.VK_NONAME:case goog.events.KeyCodes.WIN_KEY:case goog.events.KeyCodes.WIN_KEY_RIGHT:return!1;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return!goog.userAgent.GECKO;default:return e.keyCode<goog.events.KeyCodes.FIRST_MEDIA_KEY||e.keyCode>goog.events.KeyCodes.LAST_MEDIA_KEY}},goog.events.KeyCodes.firesKeyPressEvent=function(e,t,o,n,i,r){if(goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("525"))return!0;if(goog.userAgent.MAC&&i)return goog.events.KeyCodes.isCharacterKey(e);if(i&&!n)return!1;if(!goog.userAgent.GECKO){goog.isNumber(t)&&(t=goog.events.KeyCodes.normalizeKeyCode(t));var s=t==goog.events.KeyCodes.CTRL||t==goog.events.KeyCodes.ALT||goog.userAgent.MAC&&t==goog.events.KeyCodes.META,a=t==goog.events.KeyCodes.SHIFT&&(n||r);if((!o||goog.userAgent.MAC)&&s||goog.userAgent.MAC&&a)return!1}if((goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&n&&o)switch(e){case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.TILDE:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:return!1}if(goog.userAgent.IE&&n&&t==e)return!1;switch(e){case goog.events.KeyCodes.ENTER:return!goog.userAgent.GECKO||!r&&!i&&!(o&&n);case goog.events.KeyCodes.ESC:return!(goog.userAgent.WEBKIT||goog.userAgent.EDGE||goog.userAgent.GECKO)}return(!goog.userAgent.GECKO||!(n||i||r))&&goog.events.KeyCodes.isCharacterKey(e)},goog.events.KeyCodes.isCharacterKey=function(e){if(e>=goog.events.KeyCodes.ZERO&&e<=goog.events.KeyCodes.NINE||e>=goog.events.KeyCodes.NUM_ZERO&&e<=goog.events.KeyCodes.NUM_MULTIPLY||e>=goog.events.KeyCodes.A&&e<=goog.events.KeyCodes.Z||(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&0==e)return!0;switch(e){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.PLUS_SIGN:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.AT_SIGN:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.FF_SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.FF_EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.FF_HASH:return!0;case goog.events.KeyCodes.FF_DASH:return goog.userAgent.GECKO;default:return!1}},goog.events.KeyCodes.normalizeKeyCode=function(e){return goog.userAgent.GECKO?goog.events.KeyCodes.normalizeGeckoKeyCode(e):goog.userAgent.MAC&&goog.userAgent.WEBKIT?goog.events.KeyCodes.normalizeMacWebKitKeyCode(e):e},goog.events.KeyCodes.normalizeGeckoKeyCode=function(e){switch(e){case goog.events.KeyCodes.FF_EQUALS:return goog.events.KeyCodes.EQUALS;case goog.events.KeyCodes.FF_SEMICOLON:return goog.events.KeyCodes.SEMICOLON;case goog.events.KeyCodes.FF_DASH:return goog.events.KeyCodes.DASH;case goog.events.KeyCodes.MAC_FF_META:return goog.events.KeyCodes.META;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return goog.events.KeyCodes.WIN_KEY;default:return e}},goog.events.KeyCodes.normalizeMacWebKitKeyCode=function(e){switch(e){case goog.events.KeyCodes.MAC_WK_CMD_RIGHT:return goog.events.KeyCodes.META;default:return e}},goog.events.KeyHandler=function(e,t){goog.events.EventTarget.call(this),e&&this.attach(e,t)},goog.inherits(goog.events.KeyHandler,goog.events.EventTarget),goog.events.KeyHandler.prototype.element_=null,goog.events.KeyHandler.prototype.keyPressKey_=null,goog.events.KeyHandler.prototype.keyDownKey_=null,goog.events.KeyHandler.prototype.keyUpKey_=null,goog.events.KeyHandler.prototype.lastKey_=-1,goog.events.KeyHandler.prototype.keyCode_=-1,goog.events.KeyHandler.prototype.altKey_=!1,goog.events.KeyHandler.EventType={KEY:"key"},goog.events.KeyHandler.safariKey_={3:goog.events.KeyCodes.ENTER,12:goog.events.KeyCodes.NUMLOCK,63232:goog.events.KeyCodes.UP,63233:goog.events.KeyCodes.DOWN,63234:goog.events.KeyCodes.LEFT,63235:goog.events.KeyCodes.RIGHT,63236:goog.events.KeyCodes.F1,63237:goog.events.KeyCodes.F2,63238:goog.events.KeyCodes.F3,63239:goog.events.KeyCodes.F4,63240:goog.events.KeyCodes.F5,63241:goog.events.KeyCodes.F6,63242:goog.events.KeyCodes.F7,63243:goog.events.KeyCodes.F8,63244:goog.events.KeyCodes.F9,63245:goog.events.KeyCodes.F10,63246:goog.events.KeyCodes.F11,63247:goog.events.KeyCodes.F12,63248:goog.events.KeyCodes.PRINT_SCREEN,63272:goog.events.KeyCodes.DELETE,63273:goog.events.KeyCodes.HOME,63275:goog.events.KeyCodes.END,63276:goog.events.KeyCodes.PAGE_UP,63277:goog.events.KeyCodes.PAGE_DOWN,63289:goog.events.KeyCodes.NUMLOCK,63302:goog.events.KeyCodes.INSERT},goog.events.KeyHandler.keyIdentifier_={Up:goog.events.KeyCodes.UP,Down:goog.events.KeyCodes.DOWN,Left:goog.events.KeyCodes.LEFT,Right:goog.events.KeyCodes.RIGHT,Enter:goog.events.KeyCodes.ENTER,F1:goog.events.KeyCodes.F1,F2:goog.events.KeyCodes.F2,F3:goog.events.KeyCodes.F3,F4:goog.events.KeyCodes.F4,F5:goog.events.KeyCodes.F5,F6:goog.events.KeyCodes.F6,F7:goog.events.KeyCodes.F7,F8:goog.events.KeyCodes.F8,F9:goog.events.KeyCodes.F9,F10:goog.events.KeyCodes.F10,F11:goog.events.KeyCodes.F11,F12:goog.events.KeyCodes.F12,"U+007F":goog.events.KeyCodes.DELETE,Home:goog.events.KeyCodes.HOME,End:goog.events.KeyCodes.END,PageUp:goog.events.KeyCodes.PAGE_UP,PageDown:goog.events.KeyCodes.PAGE_DOWN,Insert:goog.events.KeyCodes.INSERT},goog.events.KeyHandler.USES_KEYDOWN_=!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("525"),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_=goog.userAgent.MAC&&goog.userAgent.GECKO,goog.events.KeyHandler.prototype.handleKeyDown_=function(e){(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&(this.lastKey_==goog.events.KeyCodes.CTRL&&!e.ctrlKey||this.lastKey_==goog.events.KeyCodes.ALT&&!e.altKey||goog.userAgent.MAC&&this.lastKey_==goog.events.KeyCodes.META&&!e.metaKey)&&this.resetState(),-1==this.lastKey_&&(e.ctrlKey&&e.keyCode!=goog.events.KeyCodes.CTRL?this.lastKey_=goog.events.KeyCodes.CTRL:e.altKey&&e.keyCode!=goog.events.KeyCodes.ALT?this.lastKey_=goog.events.KeyCodes.ALT:e.metaKey&&e.keyCode!=goog.events.KeyCodes.META&&(this.lastKey_=goog.events.KeyCodes.META)),goog.events.KeyHandler.USES_KEYDOWN_&&!goog.events.KeyCodes.firesKeyPressEvent(e.keyCode,this.lastKey_,e.shiftKey,e.ctrlKey,e.altKey,e.metaKey)?this.handleEvent(e):(this.keyCode_=goog.events.KeyCodes.normalizeKeyCode(e.keyCode),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(this.altKey_=e.altKey))},goog.events.KeyHandler.prototype.resetState=function(){this.keyCode_=this.lastKey_=-1},goog.events.KeyHandler.prototype.handleKeyup_=function(e){this.resetState(),this.altKey_=e.altKey},goog.events.KeyHandler.prototype.handleEvent=function(e){var t=e.getBrowserEvent(),o=t.altKey;if(goog.userAgent.IE&&e.type==goog.events.EventType.KEYPRESS)var n=this.keyCode_,i=n!=goog.events.KeyCodes.ENTER&&n!=goog.events.KeyCodes.ESC?t.keyCode:0;else(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&e.type==goog.events.EventType.KEYPRESS?(n=this.keyCode_,i=0<=t.charCode&&63232>t.charCode&&goog.events.KeyCodes.isCharacterKey(n)?t.charCode:0):goog.userAgent.OPERA&&!goog.userAgent.WEBKIT?(n=this.keyCode_,i=goog.events.KeyCodes.isCharacterKey(n)?t.keyCode:0):(e.type==goog.events.EventType.KEYPRESS?(goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(o=this.altKey_),t.keyCode==t.charCode?32>t.keyCode?(n=t.keyCode,i=0):(n=this.keyCode_,i=t.charCode):(n=t.keyCode||this.keyCode_,i=t.charCode||0)):(n=t.keyCode||this.keyCode_,i=t.charCode||0),goog.userAgent.MAC&&i==goog.events.KeyCodes.QUESTION_MARK&&n==goog.events.KeyCodes.WIN_KEY&&(n=goog.events.KeyCodes.SLASH));var r=n=goog.events.KeyCodes.normalizeKeyCode(n);n?63232<=n&&n in goog.events.KeyHandler.safariKey_?r=goog.events.KeyHandler.safariKey_[n]:25==n&&e.shiftKey&&(r=9):t.keyIdentifier&&t.keyIdentifier in goog.events.KeyHandler.keyIdentifier_&&(r=goog.events.KeyHandler.keyIdentifier_[t.keyIdentifier]),goog.userAgent.GECKO&&goog.events.KeyHandler.USES_KEYDOWN_&&e.type==goog.events.EventType.KEYPRESS&&!goog.events.KeyCodes.firesKeyPressEvent(r,this.lastKey_,e.shiftKey,e.ctrlKey,o,e.metaKey)||(e=r==this.lastKey_,this.lastKey_=r,(t=new goog.events.KeyEvent(r,i,e,t)).altKey=o,this.dispatchEvent(t))},goog.events.KeyHandler.prototype.getElement=function(){return this.element_},goog.events.KeyHandler.prototype.attach=function(e,t){this.keyUpKey_&&this.detach(),this.element_=e,this.keyPressKey_=goog.events.listen(this.element_,goog.events.EventType.KEYPRESS,this,t),this.keyDownKey_=goog.events.listen(this.element_,goog.events.EventType.KEYDOWN,this.handleKeyDown_,t,this),this.keyUpKey_=goog.events.listen(this.element_,goog.events.EventType.KEYUP,this.handleKeyup_,t,this)},goog.events.KeyHandler.prototype.detach=function(){this.keyPressKey_&&(goog.events.unlistenByKey(this.keyPressKey_),goog.events.unlistenByKey(this.keyDownKey_),goog.events.unlistenByKey(this.keyUpKey_),this.keyUpKey_=this.keyDownKey_=this.keyPressKey_=null),this.element_=null,this.keyCode_=this.lastKey_=-1},goog.events.KeyHandler.prototype.disposeInternal=function(){goog.events.KeyHandler.superClass_.disposeInternal.call(this),this.detach()},goog.events.KeyEvent=function(e,t,o,n){goog.events.BrowserEvent.call(this,n),this.type=goog.events.KeyHandler.EventType.KEY,this.keyCode=e,this.charCode=t,this.repeat=o},goog.inherits(goog.events.KeyEvent,goog.events.BrowserEvent),goog.ui.ComponentUtil={},goog.ui.ComponentUtil.getMouseEventType=function(e){return e.pointerEventsEnabled()?goog.events.PointerAsMouseEventType:goog.events.MouseAsMouseEventType},goog.dom.classlist={},goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST=!1,goog.dom.classlist.get=function(e){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList:(e=e.className,goog.isString(e)&&e.match(/\S+/g)||[])},goog.dom.classlist.set=function(e,t){e.className=t},goog.dom.classlist.contains=function(e,t){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.contains(t):goog.array.contains(goog.dom.classlist.get(e),t)},goog.dom.classlist.add=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.add(t):goog.dom.classlist.contains(e,t)||(e.className+=0<e.className.length?" "+t:t)},goog.dom.classlist.addAll=function(e,t){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList)goog.array.forEach(t,(function(t){goog.dom.classlist.add(e,t)}));else{var o={};for(var n in goog.array.forEach(goog.dom.classlist.get(e),(function(e){o[e]=!0})),goog.array.forEach(t,(function(e){o[e]=!0})),e.className="",o)e.className+=0<e.className.length?" "+n:n}},goog.dom.classlist.remove=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?e.classList.remove(t):goog.dom.classlist.contains(e,t)&&(e.className=goog.array.filter(goog.dom.classlist.get(e),(function(e){return e!=t})).join(" "))},goog.dom.classlist.removeAll=function(e,t){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||e.classList?goog.array.forEach(t,(function(t){goog.dom.classlist.remove(e,t)})):e.className=goog.array.filter(goog.dom.classlist.get(e),(function(e){return!goog.array.contains(t,e)})).join(" ")},goog.dom.classlist.enable=function(e,t,o){o?goog.dom.classlist.add(e,t):goog.dom.classlist.remove(e,t)},goog.dom.classlist.enableAll=function(e,t,o){(o?goog.dom.classlist.addAll:goog.dom.classlist.removeAll)(e,t)},goog.dom.classlist.swap=function(e,t,o){return!!goog.dom.classlist.contains(e,t)&&(goog.dom.classlist.remove(e,t),goog.dom.classlist.add(e,o),!0)},goog.dom.classlist.toggle=function(e,t){var o=!goog.dom.classlist.contains(e,t);return goog.dom.classlist.enable(e,t,o),o},goog.dom.classlist.addRemove=function(e,t,o){goog.dom.classlist.remove(e,t),goog.dom.classlist.add(e,o)},goog.ui.registry={},goog.ui.registry.getDefaultRenderer=function(e){for(var t;e&&(t=goog.getUid(e),!(t=goog.ui.registry.defaultRenderers_[t]));)e=e.superClass_?e.superClass_.constructor:null;return t?goog.isFunction(t.getInstance)?t.getInstance():new t:null},goog.ui.registry.setDefaultRenderer=function(e,t){if(!goog.isFunction(e))throw Error("Invalid component class "+e);if(!goog.isFunction(t))throw Error("Invalid renderer class "+t);var o=goog.getUid(e);goog.ui.registry.defaultRenderers_[o]=t},goog.ui.registry.getDecoratorByClassName=function(e){return e in goog.ui.registry.decoratorFunctions_?goog.ui.registry.decoratorFunctions_[e]():null},goog.ui.registry.setDecoratorByClassName=function(e,t){if(!e)throw Error("Invalid class name "+e);if(!goog.isFunction(t))throw Error("Invalid decorator function "+t);goog.ui.registry.decoratorFunctions_[e]=t},goog.ui.registry.getDecorator=function(e){goog.asserts.assert(e);for(var t=goog.dom.classlist.get(e),o=0,n=t.length;o<n;o++)if(e=goog.ui.registry.getDecoratorByClassName(t[o]))return e;return null},goog.ui.registry.reset=function(){goog.ui.registry.defaultRenderers_={},goog.ui.registry.decoratorFunctions_={}},goog.ui.registry.defaultRenderers_={},goog.ui.registry.decoratorFunctions_={},goog.ui.ContainerRenderer=function(e){this.ariaRole_=e},goog.addSingletonGetter(goog.ui.ContainerRenderer),goog.ui.ContainerRenderer.getCustomRenderer=function(e,t){var o=new e;return o.getCssClass=function(){return t},o},goog.ui.ContainerRenderer.CSS_CLASS="goog-container",goog.ui.ContainerRenderer.prototype.getAriaRole=function(){return this.ariaRole_},goog.ui.ContainerRenderer.prototype.enableTabIndex=function(e,t){e&&(e.tabIndex=t?0:-1)},goog.ui.ContainerRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "))},goog.ui.ContainerRenderer.prototype.getContentElement=function(e){return e},goog.ui.ContainerRenderer.prototype.canDecorate=function(e){return"DIV"==e.tagName},goog.ui.ContainerRenderer.prototype.decorate=function(e,t){t.id&&e.setId(t.id);var o=this.getCssClass(),n=!1,i=goog.dom.classlist.get(t);return i&&goog.array.forEach(i,(function(t){t==o?n=!0:t&&this.setStateFromClassName(e,t,o)}),this),n||goog.dom.classlist.add(t,o),this.decorateChildren(e,this.getContentElement(t)),t},goog.ui.ContainerRenderer.prototype.setStateFromClassName=function(e,t,o){t==o+"-disabled"?e.setEnabled(!1):t==o+"-horizontal"?e.setOrientation(goog.ui.Container.Orientation.HORIZONTAL):t==o+"-vertical"&&e.setOrientation(goog.ui.Container.Orientation.VERTICAL)},goog.ui.ContainerRenderer.prototype.decorateChildren=function(e,t,o){if(t){o=o||t.firstChild;for(var n;o&&o.parentNode==t;){if(n=o.nextSibling,o.nodeType==goog.dom.NodeType.ELEMENT){var i=this.getDecoratorForChild(o);i&&(i.setElementInternal(o),e.isEnabled()||i.setEnabled(!1),e.addChild(i),i.decorate(o))}else o.nodeValue&&""!=goog.string.trim(o.nodeValue)||t.removeChild(o);o=n}}},goog.ui.ContainerRenderer.prototype.getDecoratorForChild=function(e){return goog.ui.registry.getDecorator(e)},goog.ui.ContainerRenderer.prototype.initializeDom=function(e){e=e.getElement(),goog.asserts.assert(e,"The container DOM element cannot be null."),goog.style.setUnselectable(e,!0,goog.userAgent.GECKO),goog.userAgent.IE&&(e.hideFocus=!0);var t=this.getAriaRole();t&&goog.a11y.aria.setRole(e,t)},goog.ui.ContainerRenderer.prototype.getKeyEventTarget=function(e){return e.getElement()},goog.ui.ContainerRenderer.prototype.getCssClass=function(){return goog.ui.ContainerRenderer.CSS_CLASS},goog.ui.ContainerRenderer.prototype.getClassNames=function(e){var t=this.getCssClass(),o=e.getOrientation()==goog.ui.Container.Orientation.HORIZONTAL;return o=[t,o?t+"-horizontal":t+"-vertical"],e.isEnabled()||o.push(t+"-disabled"),o},goog.ui.ContainerRenderer.prototype.getDefaultOrientation=function(){return goog.ui.Container.Orientation.VERTICAL},goog.ui.ControlRenderer=function(){},goog.addSingletonGetter(goog.ui.ControlRenderer),goog.tagUnsealableClass(goog.ui.ControlRenderer),goog.ui.ControlRenderer.getCustomRenderer=function(e,t){var o=new e;return o.getCssClass=function(){return t},o},goog.ui.ControlRenderer.CSS_CLASS="goog-control",goog.ui.ControlRenderer.IE6_CLASS_COMBINATIONS=[],goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_=goog.object.create(goog.a11y.aria.Role.BUTTON,goog.a11y.aria.State.PRESSED,goog.a11y.aria.Role.CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.MENU_ITEM_CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM_RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.TAB,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.TREEITEM,goog.a11y.aria.State.SELECTED),goog.ui.ControlRenderer.prototype.getAriaRole=function(){},goog.ui.ControlRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "),e.getContent())},goog.ui.ControlRenderer.prototype.getContentElement=function(e){return e},goog.ui.ControlRenderer.prototype.enableClassName=function(e,t,o){if(e=e.getElement?e.getElement():e){var n=[t];goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&(n=this.getAppliedCombinedClassNames_(goog.dom.classlist.get(e),t)).push(t),goog.dom.classlist.enableAll(e,n,o)}},goog.ui.ControlRenderer.prototype.enableExtraClassName=function(e,t,o){this.enableClassName(e,t,o)},goog.ui.ControlRenderer.prototype.canDecorate=function(e){return!0},goog.ui.ControlRenderer.prototype.decorate=function(e,t){t.id&&e.setId(t.id);var o=this.getContentElement(t);o&&o.firstChild?e.setContentInternal(o.firstChild.nextSibling?goog.array.clone(o.childNodes):o.firstChild):e.setContentInternal(null);var n=0,i=this.getCssClass(),r=this.getStructuralCssClass(),s=!1,a=!1,l=!1,u=goog.array.toArray(goog.dom.classlist.get(t));goog.array.forEach(u,(function(e){s||e!=i?a||e!=r?n|=this.getStateFromClass(e):a=!0:(s=!0,r==i&&(a=!0)),this.getStateFromClass(e)==goog.ui.Component.State.DISABLED&&(goog.asserts.assertElement(o),goog.dom.isFocusableTabIndex(o)&&goog.dom.setFocusableTabIndex(o,!1))}),this),e.setStateInternal(n),s||(u.push(i),r==i&&(a=!0)),a||u.push(r);var c=e.getExtraClassNames();if(c&&u.push.apply(u,c),goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")){var h=this.getAppliedCombinedClassNames_(u);0<h.length&&(u.push.apply(u,h),l=!0)}return s&&a&&!c&&!l||goog.dom.classlist.set(t,u.join(" ")),t},goog.ui.ControlRenderer.prototype.initializeDom=function(e){e.isRightToLeft()&&this.setRightToLeft(e.getElement(),!0),e.isEnabled()&&this.setFocusable(e,e.isVisible())},goog.ui.ControlRenderer.prototype.setAriaRole=function(e,t){var o=t||this.getAriaRole();o&&(goog.asserts.assert(e,"The element passed as a first parameter cannot be null."),o!=goog.a11y.aria.getRole(e)&&goog.a11y.aria.setRole(e,o))},goog.ui.ControlRenderer.prototype.setAriaStates=function(e,t){goog.asserts.assert(e),goog.asserts.assert(t);var o=e.getAriaLabel();goog.isDefAndNotNull(o)&&this.setAriaLabel(t,o),e.isVisible()||goog.a11y.aria.setState(t,goog.a11y.aria.State.HIDDEN,!e.isVisible()),e.isEnabled()||this.updateAriaState(t,goog.ui.Component.State.DISABLED,!e.isEnabled()),e.isSupportedState(goog.ui.Component.State.SELECTED)&&this.updateAriaState(t,goog.ui.Component.State.SELECTED,e.isSelected()),e.isSupportedState(goog.ui.Component.State.CHECKED)&&this.updateAriaState(t,goog.ui.Component.State.CHECKED,e.isChecked()),e.isSupportedState(goog.ui.Component.State.OPENED)&&this.updateAriaState(t,goog.ui.Component.State.OPENED,e.isOpen())},goog.ui.ControlRenderer.prototype.setAriaLabel=function(e,t){goog.a11y.aria.setLabel(e,t)},goog.ui.ControlRenderer.prototype.setAllowTextSelection=function(e,t){goog.style.setUnselectable(e,!t,!goog.userAgent.IE&&!goog.userAgent.OPERA)},goog.ui.ControlRenderer.prototype.setRightToLeft=function(e,t){this.enableClassName(e,this.getStructuralCssClass()+"-rtl",t)},goog.ui.ControlRenderer.prototype.isFocusable=function(e){var t;return!(!e.isSupportedState(goog.ui.Component.State.FOCUSED)||!(t=e.getKeyEventTarget()))&&goog.dom.isFocusableTabIndex(t)},goog.ui.ControlRenderer.prototype.setFocusable=function(e,t){var o;if(e.isSupportedState(goog.ui.Component.State.FOCUSED)&&(o=e.getKeyEventTarget())){if(!t&&e.isFocused()){try{o.blur()}catch(e){}e.isFocused()&&e.handleBlur(null)}goog.dom.isFocusableTabIndex(o)!=t&&goog.dom.setFocusableTabIndex(o,t)}},goog.ui.ControlRenderer.prototype.setVisible=function(e,t){goog.style.setElementShown(e,t),e&&goog.a11y.aria.setState(e,goog.a11y.aria.State.HIDDEN,!t)},goog.ui.ControlRenderer.prototype.setState=function(e,t,o){var n=e.getElement();if(n){var i=this.getClassForState(t);i&&this.enableClassName(e,i,o),this.updateAriaState(n,t,o)}},goog.ui.ControlRenderer.prototype.updateAriaState=function(e,t,o){goog.ui.ControlRenderer.ariaAttributeMap_||(goog.ui.ControlRenderer.ariaAttributeMap_=goog.object.create(goog.ui.Component.State.DISABLED,goog.a11y.aria.State.DISABLED,goog.ui.Component.State.SELECTED,goog.a11y.aria.State.SELECTED,goog.ui.Component.State.CHECKED,goog.a11y.aria.State.CHECKED,goog.ui.Component.State.OPENED,goog.a11y.aria.State.EXPANDED)),goog.asserts.assert(e,"The element passed as a first parameter cannot be null."),(t=goog.ui.ControlRenderer.getAriaStateForAriaRole_(e,goog.ui.ControlRenderer.ariaAttributeMap_[t]))&&goog.a11y.aria.setState(e,t,o)},goog.ui.ControlRenderer.getAriaStateForAriaRole_=function(e,t){var o=goog.a11y.aria.getRole(e);return o?(o=goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_[o]||t,goog.ui.ControlRenderer.isAriaState_(t)?o:t):t},goog.ui.ControlRenderer.isAriaState_=function(e){return e==goog.a11y.aria.State.CHECKED||e==goog.a11y.aria.State.SELECTED},goog.ui.ControlRenderer.prototype.setContent=function(e,t){var o=this.getContentElement(e);if(o&&(goog.dom.removeChildren(o),t))if(goog.isString(t))goog.dom.setTextContent(o,t);else{var n=function(e){if(e){var t=goog.dom.getOwnerDocument(o);o.appendChild(goog.isString(e)?t.createTextNode(e):e)}};goog.isArray(t)?goog.array.forEach(t,n):!goog.isArrayLike(t)||"nodeType"in t?n(t):goog.array.forEach(goog.array.clone(t),n)}},goog.ui.ControlRenderer.prototype.getKeyEventTarget=function(e){return e.getElement()},goog.ui.ControlRenderer.prototype.getCssClass=function(){return goog.ui.ControlRenderer.CSS_CLASS},goog.ui.ControlRenderer.prototype.getIe6ClassCombinations=function(){return[]},goog.ui.ControlRenderer.prototype.getStructuralCssClass=function(){return this.getCssClass()},goog.ui.ControlRenderer.prototype.getClassNames=function(e){var t=this.getCssClass(),o=[t],n=this.getStructuralCssClass();return n!=t&&o.push(n),t=this.getClassNamesForState(e.getState()),o.push.apply(o,t),(e=e.getExtraClassNames())&&o.push.apply(o,e),goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&o.push.apply(o,this.getAppliedCombinedClassNames_(o)),o},goog.ui.ControlRenderer.prototype.getAppliedCombinedClassNames_=function(e,t){var o=[];return t&&(e=goog.array.concat(e,[t])),goog.array.forEach(this.getIe6ClassCombinations(),(function(n){!goog.array.every(n,goog.partial(goog.array.contains,e))||t&&!goog.array.contains(n,t)||o.push(n.join("_"))})),o},goog.ui.ControlRenderer.prototype.getClassNamesForState=function(e){for(var t=[];e;){var o=e&-e;t.push(this.getClassForState(o)),e&=~o}return t},goog.ui.ControlRenderer.prototype.getClassForState=function(e){return this.classByState_||this.createClassByStateMap_(),this.classByState_[e]},goog.ui.ControlRenderer.prototype.getStateFromClass=function(e){return this.stateByClass_||this.createStateByClassMap_(),e=parseInt(this.stateByClass_[e],10),isNaN(e)?0:e},goog.ui.ControlRenderer.prototype.createClassByStateMap_=function(){var e=this.getStructuralCssClass(),t=!goog.string.contains(goog.string.normalizeWhitespace(e)," ");goog.asserts.assert(t,"ControlRenderer has an invalid css class: '"+e+"'"),this.classByState_=goog.object.create(goog.ui.Component.State.DISABLED,e+"-disabled",goog.ui.Component.State.HOVER,e+"-hover",goog.ui.Component.State.ACTIVE,e+"-active",goog.ui.Component.State.SELECTED,e+"-selected",goog.ui.Component.State.CHECKED,e+"-checked",goog.ui.Component.State.FOCUSED,e+"-focused",goog.ui.Component.State.OPENED,e+"-open")},goog.ui.ControlRenderer.prototype.createStateByClassMap_=function(){this.classByState_||this.createClassByStateMap_(),this.stateByClass_=goog.object.transpose(this.classByState_)},goog.ui.Control=function(e,t,o){goog.ui.Component.call(this,o),this.renderer_=t||goog.ui.registry.getDefaultRenderer(this.constructor),this.setContentInternal(goog.isDef(e)?e:null),this.ariaLabel_=null},goog.inherits(goog.ui.Control,goog.ui.Component),goog.tagUnsealableClass(goog.ui.Control),goog.ui.Control.registerDecorator=goog.ui.registry.setDecoratorByClassName,goog.ui.Control.getDecorator=goog.ui.registry.getDecorator,goog.ui.Control.prototype.content_=null,goog.ui.Control.prototype.state_=0,goog.ui.Control.prototype.supportedStates_=goog.ui.Component.State.DISABLED|goog.ui.Component.State.HOVER|goog.ui.Component.State.ACTIVE|goog.ui.Component.State.FOCUSED,goog.ui.Control.prototype.autoStates_=goog.ui.Component.State.ALL,goog.ui.Control.prototype.statesWithTransitionEvents_=0,goog.ui.Control.prototype.visible_=!0,goog.ui.Control.prototype.extraClassNames_=null,goog.ui.Control.prototype.handleMouseEvents_=!0,goog.ui.Control.prototype.allowTextSelection_=!1,goog.ui.Control.prototype.preferredAriaRole_=null,goog.ui.Control.prototype.isHandleMouseEvents=function(){return this.handleMouseEvents_},goog.ui.Control.prototype.setHandleMouseEvents=function(e){this.isInDocument()&&e!=this.handleMouseEvents_&&this.enableMouseEventHandling_(e),this.handleMouseEvents_=e},goog.ui.Control.prototype.getKeyEventTarget=function(){return this.renderer_.getKeyEventTarget(this)},goog.ui.Control.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler)},goog.ui.Control.prototype.getRenderer=function(){return this.renderer_},goog.ui.Control.prototype.setRenderer=function(e){if(this.isInDocument())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.getElement()&&this.setElementInternal(null),this.renderer_=e},goog.ui.Control.prototype.getExtraClassNames=function(){return this.extraClassNames_},goog.ui.Control.prototype.addClassName=function(e){e&&(this.extraClassNames_?goog.array.contains(this.extraClassNames_,e)||this.extraClassNames_.push(e):this.extraClassNames_=[e],this.renderer_.enableExtraClassName(this,e,!0))},goog.ui.Control.prototype.removeClassName=function(e){e&&this.extraClassNames_&&goog.array.remove(this.extraClassNames_,e)&&(0==this.extraClassNames_.length&&(this.extraClassNames_=null),this.renderer_.enableExtraClassName(this,e,!1))},goog.ui.Control.prototype.enableClassName=function(e,t){t?this.addClassName(e):this.removeClassName(e)},goog.ui.Control.prototype.createDom=function(){var e=this.renderer_.createDom(this);this.setElementInternal(e),this.renderer_.setAriaRole(e,this.getPreferredAriaRole()),this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(e,!1),this.isVisible()||this.renderer_.setVisible(e,!1)},goog.ui.Control.prototype.getPreferredAriaRole=function(){return this.preferredAriaRole_},goog.ui.Control.prototype.setPreferredAriaRole=function(e){this.preferredAriaRole_=e},goog.ui.Control.prototype.getAriaLabel=function(){return this.ariaLabel_},goog.ui.Control.prototype.setAriaLabel=function(e){this.ariaLabel_=e;var t=this.getElement();t&&this.renderer_.setAriaLabel(t,e)},goog.ui.Control.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())},goog.ui.Control.prototype.canDecorate=function(e){return this.renderer_.canDecorate(e)},goog.ui.Control.prototype.decorateInternal=function(e){e=this.renderer_.decorate(this,e),this.setElementInternal(e),this.renderer_.setAriaRole(e,this.getPreferredAriaRole()),this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(e,!1),this.visible_="none"!=e.style.display},goog.ui.Control.prototype.enterDocument=function(){if(goog.ui.Control.superClass_.enterDocument.call(this),this.renderer_.setAriaStates(this,this.getElementStrict()),this.renderer_.initializeDom(this),this.supportedStates_&~goog.ui.Component.State.DISABLED&&(this.isHandleMouseEvents()&&this.enableMouseEventHandling_(!0),this.isSupportedState(goog.ui.Component.State.FOCUSED))){var e=this.getKeyEventTarget();if(e){var t=this.getKeyHandler();t.attach(e),this.getHandler().listen(t,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(e,goog.events.EventType.FOCUS,this.handleFocus).listen(e,goog.events.EventType.BLUR,this.handleBlur)}}},goog.ui.Control.prototype.enableMouseEventHandling_=function(e){var t=goog.ui.ComponentUtil.getMouseEventType(this),o=this.getHandler(),n=this.getElement();e?(o.listen(n,t.MOUSEDOWN,this.handleMouseDown).listen(n,[t.MOUSEUP,t.MOUSECANCEL],this.handleMouseUp).listen(n,goog.events.EventType.MOUSEOVER,this.handleMouseOver).listen(n,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&o.listen(n,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=goog.nullFunction&&o.listen(n,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||o.listen(n,goog.events.EventType.DBLCLICK,this.handleDblClick),this.ieMouseEventSequenceSimulator_||(this.ieMouseEventSequenceSimulator_=new goog.ui.Control.IeMouseEventSequenceSimulator_(this),this.registerDisposable(this.ieMouseEventSequenceSimulator_)))):(o.unlisten(n,t.MOUSEDOWN,this.handleMouseDown).unlisten(n,[t.MOUSEUP,t.MOUSECANCEL],this.handleMouseUp).unlisten(n,goog.events.EventType.MOUSEOVER,this.handleMouseOver).unlisten(n,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&o.unlisten(n,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=goog.nullFunction&&o.unlisten(n,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||o.unlisten(n,goog.events.EventType.DBLCLICK,this.handleDblClick),goog.dispose(this.ieMouseEventSequenceSimulator_),this.ieMouseEventSequenceSimulator_=null))},goog.ui.Control.prototype.exitDocument=function(){goog.ui.Control.superClass_.exitDocument.call(this),this.keyHandler_&&this.keyHandler_.detach(),this.isVisible()&&this.isEnabled()&&this.renderer_.setFocusable(this,!1)},goog.ui.Control.prototype.disposeInternal=function(){goog.ui.Control.superClass_.disposeInternal.call(this),this.keyHandler_&&(this.keyHandler_.dispose(),delete this.keyHandler_),delete this.renderer_,this.ieMouseEventSequenceSimulator_=this.extraClassNames_=this.content_=null},goog.ui.Control.prototype.getContent=function(){return this.content_},goog.ui.Control.prototype.setContent=function(e){this.renderer_.setContent(this.getElement(),e),this.setContentInternal(e)},goog.ui.Control.prototype.setContentInternal=function(e){this.content_=e},goog.ui.Control.prototype.getCaption=function(){var e=this.getContent();return e?(e=goog.isString(e)?e:goog.isArray(e)?goog.array.map(e,goog.dom.getRawTextContent).join(""):goog.dom.getTextContent(e),goog.string.collapseBreakingSpaces(e)):""},goog.ui.Control.prototype.setCaption=function(e){this.setContent(e)},goog.ui.Control.prototype.setRightToLeft=function(e){goog.ui.Control.superClass_.setRightToLeft.call(this,e);var t=this.getElement();t&&this.renderer_.setRightToLeft(t,e)},goog.ui.Control.prototype.isAllowTextSelection=function(){return this.allowTextSelection_},goog.ui.Control.prototype.setAllowTextSelection=function(e){this.allowTextSelection_=e;var t=this.getElement();t&&this.renderer_.setAllowTextSelection(t,e)},goog.ui.Control.prototype.isVisible=function(){return this.visible_},goog.ui.Control.prototype.setVisible=function(e,t){if(t||this.visible_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){var o=this.getElement();return o&&this.renderer_.setVisible(o,e),this.isEnabled()&&this.renderer_.setFocusable(this,e),this.visible_=e,!0}return!1},goog.ui.Control.prototype.isEnabled=function(){return!this.hasState(goog.ui.Component.State.DISABLED)},goog.ui.Control.prototype.isParentDisabled_=function(){var e=this.getParent();return!!e&&"function"==typeof e.isEnabled&&!e.isEnabled()},goog.ui.Control.prototype.setEnabled=function(e){!this.isParentDisabled_()&&this.isTransitionAllowed(goog.ui.Component.State.DISABLED,!e)&&(e||(this.setActive(!1),this.setHighlighted(!1)),this.isVisible()&&this.renderer_.setFocusable(this,e),this.setState(goog.ui.Component.State.DISABLED,!e,!0))},goog.ui.Control.prototype.isHighlighted=function(){return this.hasState(goog.ui.Component.State.HOVER)},goog.ui.Control.prototype.setHighlighted=function(e){this.isTransitionAllowed(goog.ui.Component.State.HOVER,e)&&this.setState(goog.ui.Component.State.HOVER,e)},goog.ui.Control.prototype.isActive=function(){return this.hasState(goog.ui.Component.State.ACTIVE)},goog.ui.Control.prototype.setActive=function(e){this.isTransitionAllowed(goog.ui.Component.State.ACTIVE,e)&&this.setState(goog.ui.Component.State.ACTIVE,e)},goog.ui.Control.prototype.isSelected=function(){return this.hasState(goog.ui.Component.State.SELECTED)},goog.ui.Control.prototype.setSelected=function(e){this.isTransitionAllowed(goog.ui.Component.State.SELECTED,e)&&this.setState(goog.ui.Component.State.SELECTED,e)},goog.ui.Control.prototype.isChecked=function(){return this.hasState(goog.ui.Component.State.CHECKED)},goog.ui.Control.prototype.setChecked=function(e){this.isTransitionAllowed(goog.ui.Component.State.CHECKED,e)&&this.setState(goog.ui.Component.State.CHECKED,e)},goog.ui.Control.prototype.isFocused=function(){return this.hasState(goog.ui.Component.State.FOCUSED)},goog.ui.Control.prototype.setFocused=function(e){this.isTransitionAllowed(goog.ui.Component.State.FOCUSED,e)&&this.setState(goog.ui.Component.State.FOCUSED,e)},goog.ui.Control.prototype.isOpen=function(){return this.hasState(goog.ui.Component.State.OPENED)},goog.ui.Control.prototype.setOpen=function(e){this.isTransitionAllowed(goog.ui.Component.State.OPENED,e)&&this.setState(goog.ui.Component.State.OPENED,e)},goog.ui.Control.prototype.getState=function(){return this.state_},goog.ui.Control.prototype.hasState=function(e){return!!(this.state_&e)},goog.ui.Control.prototype.setState=function(e,t,o){o||e!=goog.ui.Component.State.DISABLED?this.isSupportedState(e)&&t!=this.hasState(e)&&(this.renderer_.setState(this,e,t),this.state_=t?this.state_|e:this.state_&~e):this.setEnabled(!t)},goog.ui.Control.prototype.setStateInternal=function(e){this.state_=e},goog.ui.Control.prototype.isSupportedState=function(e){return!!(this.supportedStates_&e)},goog.ui.Control.prototype.setSupportedState=function(e,t){if(this.isInDocument()&&this.hasState(e)&&!t)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);!t&&this.hasState(e)&&this.setState(e,!1),this.supportedStates_=t?this.supportedStates_|e:this.supportedStates_&~e},goog.ui.Control.prototype.isAutoState=function(e){return!!(this.autoStates_&e)&&this.isSupportedState(e)},goog.ui.Control.prototype.setAutoStates=function(e,t){this.autoStates_=t?this.autoStates_|e:this.autoStates_&~e},goog.ui.Control.prototype.isDispatchTransitionEvents=function(e){return!!(this.statesWithTransitionEvents_&e)&&this.isSupportedState(e)},goog.ui.Control.prototype.setDispatchTransitionEvents=function(e,t){this.statesWithTransitionEvents_=t?this.statesWithTransitionEvents_|e:this.statesWithTransitionEvents_&~e},goog.ui.Control.prototype.isTransitionAllowed=function(e,t){return this.isSupportedState(e)&&this.hasState(e)!=t&&(!(this.statesWithTransitionEvents_&e)||this.dispatchEvent(goog.ui.Component.getStateTransitionEvent(e,t)))&&!this.isDisposed()},goog.ui.Control.prototype.handleMouseOver=function(e){!goog.ui.Control.isMouseEventWithinElement_(e,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.ENTER)&&this.isEnabled()&&this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0)},goog.ui.Control.prototype.handleMouseOut=function(e){!goog.ui.Control.isMouseEventWithinElement_(e,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.LEAVE)&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1),this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!1))},goog.ui.Control.prototype.preventPointerCapture_=function(e){var t=e.target;t.releasePointerCapture&&t.releasePointerCapture(e.pointerId)},goog.ui.Control.prototype.handleContextMenu=goog.nullFunction,goog.ui.Control.isMouseEventWithinElement_=function(e,t){return!!e.relatedTarget&&goog.dom.contains(t,e.relatedTarget)},goog.ui.Control.prototype.handleMouseDown=function(e){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),e.isMouseActionButton()&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!0),this.renderer_&&this.renderer_.isFocusable(this)&&this.getKeyEventTarget().focus())),!this.isAllowTextSelection()&&e.isMouseActionButton()&&e.preventDefault()},goog.ui.Control.prototype.handleMouseUp=function(e){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),this.isActive()&&this.performActionInternal(e)&&this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1))},goog.ui.Control.prototype.handleDblClick=function(e){this.isEnabled()&&this.performActionInternal(e)},goog.ui.Control.prototype.performActionInternal=function(e){this.isAutoState(goog.ui.Component.State.CHECKED)&&this.setChecked(!this.isChecked()),this.isAutoState(goog.ui.Component.State.SELECTED)&&this.setSelected(!0),this.isAutoState(goog.ui.Component.State.OPENED)&&this.setOpen(!this.isOpen());var t=new goog.events.Event(goog.ui.Component.EventType.ACTION,this);return e&&(t.altKey=e.altKey,t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.shiftKey=e.shiftKey,t.platformModifierKey=e.platformModifierKey),this.dispatchEvent(t)},goog.ui.Control.prototype.handleFocus=function(e){this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!0)},goog.ui.Control.prototype.handleBlur=function(e){this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1),this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!1)},goog.ui.Control.prototype.handleKeyEvent=function(e){return!!(this.isVisible()&&this.isEnabled()&&this.handleKeyEventInternal(e))&&(e.preventDefault(),e.stopPropagation(),!0)},goog.ui.Control.prototype.handleKeyEventInternal=function(e){return e.keyCode==goog.events.KeyCodes.ENTER&&this.performActionInternal(e)},goog.ui.registry.setDefaultRenderer(goog.ui.Control,goog.ui.ControlRenderer),goog.ui.registry.setDecoratorByClassName(goog.ui.ControlRenderer.CSS_CLASS,(function(){return new goog.ui.Control(null)})),goog.ui.Control.IeMouseEventSequenceSimulator_=function(e){goog.Disposable.call(this),this.control_=e,this.clickExpected_=!1,this.handler_=new goog.events.EventHandler(this),this.registerDisposable(this.handler_),e=this.control_.getElementStrict(),this.handler_.listen(e,goog.events.EventType.MOUSEDOWN,this.handleMouseDown_).listen(e,goog.events.EventType.MOUSEUP,this.handleMouseUp_).listen(e,goog.events.EventType.CLICK,this.handleClick_)},goog.inherits(goog.ui.Control.IeMouseEventSequenceSimulator_,goog.Disposable),goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_=!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseDown_=function(){this.clickExpected_=!1},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseUp_=function(){this.clickExpected_=!0},goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_=function(e,t){if(!goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_)return e.button=goog.events.BrowserEvent.MouseButton.LEFT,e.type=t,e;var o=document.createEvent("MouseEvents");return o.initMouseEvent(t,e.bubbles,e.cancelable,e.view||null,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,goog.events.BrowserEvent.MouseButton.LEFT,e.relatedTarget||null),o},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleClick_=function(e){if(this.clickExpected_)this.clickExpected_=!1;else{var t=e.getBrowserEvent(),o=t.button,n=t.type,i=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(t,goog.events.EventType.MOUSEDOWN);this.control_.handleMouseDown(new goog.events.BrowserEvent(i,e.currentTarget)),i=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(t,goog.events.EventType.MOUSEUP),this.control_.handleMouseUp(new goog.events.BrowserEvent(i,e.currentTarget)),goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_||(t.button=o,t.type=n)}},goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.disposeInternal=function(){this.control_=null,goog.ui.Control.IeMouseEventSequenceSimulator_.superClass_.disposeInternal.call(this)},goog.ui.Container=function(e,t,o){goog.ui.Component.call(this,o),this.renderer_=t||goog.ui.ContainerRenderer.getInstance(),this.orientation_=e||this.renderer_.getDefaultOrientation()},goog.inherits(goog.ui.Container,goog.ui.Component),goog.tagUnsealableClass(goog.ui.Container),goog.ui.Container.EventType={AFTER_SHOW:"aftershow",AFTER_HIDE:"afterhide"},goog.ui.Container.Orientation={HORIZONTAL:"horizontal",VERTICAL:"vertical"},goog.ui.Container.prototype.keyEventTarget_=null,goog.ui.Container.prototype.keyHandler_=null,goog.ui.Container.prototype.renderer_=null,goog.ui.Container.prototype.orientation_=null,goog.ui.Container.prototype.visible_=!0,goog.ui.Container.prototype.enabled_=!0,goog.ui.Container.prototype.focusable_=!0,goog.ui.Container.prototype.highlightedIndex_=-1,goog.ui.Container.prototype.openItem_=null,goog.ui.Container.prototype.mouseButtonPressed_=!1,goog.ui.Container.prototype.allowFocusableChildren_=!1,goog.ui.Container.prototype.openFollowsHighlight_=!0,goog.ui.Container.prototype.childElementIdMap_=null,goog.ui.Container.prototype.getKeyEventTarget=function(){return this.keyEventTarget_||this.renderer_.getKeyEventTarget(this)},goog.ui.Container.prototype.setKeyEventTarget=function(e){if(!this.focusable_)throw Error("Can't set key event target for container that doesn't support keyboard focus!");var t=this.getKeyEventTarget(),o=this.isInDocument();this.keyEventTarget_=e;var n=this.getKeyEventTarget();o&&(this.keyEventTarget_=t,this.enableFocusHandling_(!1),this.keyEventTarget_=e,this.getKeyHandler().attach(n),this.enableFocusHandling_(!0))},goog.ui.Container.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler(this.getKeyEventTarget()))},goog.ui.Container.prototype.getRenderer=function(){return this.renderer_},goog.ui.Container.prototype.setRenderer=function(e){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.renderer_=e},goog.ui.Container.prototype.createDom=function(){this.setElementInternal(this.renderer_.createDom(this))},goog.ui.Container.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())},goog.ui.Container.prototype.canDecorate=function(e){return this.renderer_.canDecorate(e)},goog.ui.Container.prototype.decorateInternal=function(e){this.setElementInternal(this.renderer_.decorate(this,e)),"none"==e.style.display&&(this.visible_=!1)},goog.ui.Container.prototype.enterDocument=function(){goog.ui.Container.superClass_.enterDocument.call(this),this.forEachChild((function(e){e.isInDocument()&&this.registerChildId_(e)}),this);var e=this.getElement();this.renderer_.initializeDom(this),this.setVisible(this.visible_,!0);var t=goog.ui.ComponentUtil.getMouseEventType(this);this.getHandler().listen(this,goog.ui.Component.EventType.ENTER,this.handleEnterItem).listen(this,goog.ui.Component.EventType.HIGHLIGHT,this.handleHighlightItem).listen(this,goog.ui.Component.EventType.UNHIGHLIGHT,this.handleUnHighlightItem).listen(this,goog.ui.Component.EventType.OPEN,this.handleOpenItem).listen(this,goog.ui.Component.EventType.CLOSE,this.handleCloseItem).listen(e,t.MOUSEDOWN,this.handleMouseDown).listen(goog.dom.getOwnerDocument(e),[t.MOUSEUP,t.MOUSECANCEL],this.handleDocumentMouseUp).listen(e,[t.MOUSEDOWN,t.MOUSEUP,t.MOUSECANCEL,goog.events.EventType.MOUSEOVER,goog.events.EventType.MOUSEOUT,goog.events.EventType.CONTEXTMENU],this.handleChildMouseEvents),this.pointerEventsEnabled()&&this.getHandler().listen(e,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.isFocusable()&&this.enableFocusHandling_(!0)},goog.ui.Container.prototype.preventPointerCapture_=function(e){var t=e.target;t.releasePointerCapture&&t.releasePointerCapture(e.pointerId)},goog.ui.Container.prototype.enableFocusHandling_=function(e){var t=this.getHandler(),o=this.getKeyEventTarget();e?t.listen(o,goog.events.EventType.FOCUS,this.handleFocus).listen(o,goog.events.EventType.BLUR,this.handleBlur).listen(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent):t.unlisten(o,goog.events.EventType.FOCUS,this.handleFocus).unlisten(o,goog.events.EventType.BLUR,this.handleBlur).unlisten(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent)},goog.ui.Container.prototype.exitDocument=function(){this.setHighlightedIndex(-1),this.openItem_&&this.openItem_.setOpen(!1),this.mouseButtonPressed_=!1,goog.ui.Container.superClass_.exitDocument.call(this)},goog.ui.Container.prototype.disposeInternal=function(){goog.ui.Container.superClass_.disposeInternal.call(this),this.keyHandler_&&(this.keyHandler_.dispose(),this.keyHandler_=null),this.renderer_=this.openItem_=this.childElementIdMap_=this.keyEventTarget_=null},goog.ui.Container.prototype.handleEnterItem=function(e){return!0},goog.ui.Container.prototype.handleHighlightItem=function(e){var t=this.indexOfChild(e.target);if(-1<t&&t!=this.highlightedIndex_){var o=this.getHighlighted();o&&o.setHighlighted(!1),this.highlightedIndex_=t,o=this.getHighlighted(),this.isMouseButtonPressed()&&o.setActive(!0),this.openFollowsHighlight_&&this.openItem_&&o!=this.openItem_&&(o.isSupportedState(goog.ui.Component.State.OPENED)?o.setOpen(!0):this.openItem_.setOpen(!1))}t=this.getElement(),goog.asserts.assert(t,"The DOM element for the container cannot be null."),null!=e.target.getElement()&&goog.a11y.aria.setState(t,goog.a11y.aria.State.ACTIVEDESCENDANT,e.target.getElement().id)},goog.ui.Container.prototype.handleUnHighlightItem=function(e){e.target==this.getHighlighted()&&(this.highlightedIndex_=-1),e=this.getElement(),goog.asserts.assert(e,"The DOM element for the container cannot be null."),goog.a11y.aria.removeState(e,goog.a11y.aria.State.ACTIVEDESCENDANT)},goog.ui.Container.prototype.handleOpenItem=function(e){(e=e.target)&&e!=this.openItem_&&e.getParent()==this&&(this.openItem_&&this.openItem_.setOpen(!1),this.openItem_=e)},goog.ui.Container.prototype.handleCloseItem=function(e){e.target==this.openItem_&&(this.openItem_=null);var t=this.getElement(),o=e.target.getElement();t&&e.target.isHighlighted()&&o&&goog.a11y.aria.setActiveDescendant(t,o)},goog.ui.Container.prototype.handleMouseDown=function(e){this.enabled_&&this.setMouseButtonPressed(!0);var t=this.getKeyEventTarget();t&&goog.dom.isFocusableTabIndex(t)?t.focus():e.preventDefault()},goog.ui.Container.prototype.handleDocumentMouseUp=function(e){this.setMouseButtonPressed(!1)},goog.ui.Container.prototype.handleChildMouseEvents=function(e){var t=goog.ui.ComponentUtil.getMouseEventType(this),o=this.getOwnerControl(e.target);if(o)switch(e.type){case t.MOUSEDOWN:o.handleMouseDown(e);break;case t.MOUSEUP:case t.MOUSECANCEL:o.handleMouseUp(e);break;case goog.events.EventType.MOUSEOVER:o.handleMouseOver(e);break;case goog.events.EventType.MOUSEOUT:o.handleMouseOut(e);break;case goog.events.EventType.CONTEXTMENU:o.handleContextMenu(e)}},goog.ui.Container.prototype.getOwnerControl=function(e){if(this.childElementIdMap_)for(var t=this.getElement();e&&e!==t;){var o=e.id;if(o in this.childElementIdMap_)return this.childElementIdMap_[o];e=e.parentNode}return null},goog.ui.Container.prototype.handleFocus=function(e){},goog.ui.Container.prototype.handleBlur=function(e){this.setHighlightedIndex(-1),this.setMouseButtonPressed(!1),this.openItem_&&this.openItem_.setOpen(!1)},goog.ui.Container.prototype.handleKeyEvent=function(e){return!(!this.isEnabled()||!this.isVisible()||0==this.getChildCount()&&!this.keyEventTarget_||!this.handleKeyEventInternal(e))&&(e.preventDefault(),e.stopPropagation(),!0)},goog.ui.Container.prototype.handleKeyEventInternal=function(e){var t=this.getHighlighted();if(t&&"function"==typeof t.handleKeyEvent&&t.handleKeyEvent(e)||this.openItem_&&this.openItem_!=t&&"function"==typeof this.openItem_.handleKeyEvent&&this.openItem_.handleKeyEvent(e))return!0;if(e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)return!1;switch(e.keyCode){case goog.events.KeyCodes.ESC:if(!this.isFocusable())return!1;this.getKeyEventTarget().blur();break;case goog.events.KeyCodes.HOME:this.highlightFirst();break;case goog.events.KeyCodes.END:this.highlightLast();break;case goog.events.KeyCodes.UP:if(this.orientation_!=goog.ui.Container.Orientation.VERTICAL)return!1;this.highlightPrevious();break;case goog.events.KeyCodes.LEFT:if(this.orientation_!=goog.ui.Container.Orientation.HORIZONTAL)return!1;this.isRightToLeft()?this.highlightNext():this.highlightPrevious();break;case goog.events.KeyCodes.DOWN:if(this.orientation_!=goog.ui.Container.Orientation.VERTICAL)return!1;this.highlightNext();break;case goog.events.KeyCodes.RIGHT:if(this.orientation_!=goog.ui.Container.Orientation.HORIZONTAL)return!1;this.isRightToLeft()?this.highlightPrevious():this.highlightNext();break;default:return!1}return!0},goog.ui.Container.prototype.registerChildId_=function(e){var t=e.getElement();t=t.id||(t.id=e.getId()),this.childElementIdMap_||(this.childElementIdMap_={}),this.childElementIdMap_[t]=e},goog.ui.Container.prototype.addChild=function(e,t){goog.asserts.assertInstanceof(e,goog.ui.Control,"The child of a container must be a control"),goog.ui.Container.superClass_.addChild.call(this,e,t)},goog.ui.Container.prototype.addChildAt=function(e,t,o){goog.asserts.assertInstanceof(e,goog.ui.Control),e.setDispatchTransitionEvents(goog.ui.Component.State.HOVER,!0),e.setDispatchTransitionEvents(goog.ui.Component.State.OPENED,!0),!this.isFocusable()&&this.isFocusableChildrenAllowed()||e.setSupportedState(goog.ui.Component.State.FOCUSED,!1),e.setHandleMouseEvents(!1);var n=e.getParent()==this?this.indexOfChild(e):-1;goog.ui.Container.superClass_.addChildAt.call(this,e,t,o),e.isInDocument()&&this.isInDocument()&&this.registerChildId_(e),this.updateHighlightedIndex_(n,t)},goog.ui.Container.prototype.updateHighlightedIndex_=function(e,t){-1==e&&(e=this.getChildCount()),e==this.highlightedIndex_?this.highlightedIndex_=Math.min(this.getChildCount()-1,t):e>this.highlightedIndex_&&t<=this.highlightedIndex_?this.highlightedIndex_++:e<this.highlightedIndex_&&t>this.highlightedIndex_&&this.highlightedIndex_--},goog.ui.Container.prototype.removeChild=function(e,t){if(e=goog.isString(e)?this.getChild(e):e,goog.asserts.assertInstanceof(e,goog.ui.Control),e){var o=this.indexOfChild(e);-1!=o&&(o==this.highlightedIndex_?(e.setHighlighted(!1),this.highlightedIndex_=-1):o<this.highlightedIndex_&&this.highlightedIndex_--),(o=e.getElement())&&o.id&&this.childElementIdMap_&&goog.object.remove(this.childElementIdMap_,o.id)}return(e=goog.ui.Container.superClass_.removeChild.call(this,e,t)).setHandleMouseEvents(!0),e},goog.ui.Container.prototype.getOrientation=function(){return this.orientation_},goog.ui.Container.prototype.setOrientation=function(e){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.orientation_=e},goog.ui.Container.prototype.isVisible=function(){return this.visible_},goog.ui.Container.prototype.setVisible=function(e,t){if(t||this.visible_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){this.visible_=e;var o=this.getElement();return o&&(goog.style.setElementShown(o,e),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),this.enabled_&&this.visible_),t||this.dispatchEvent(this.visible_?goog.ui.Container.EventType.AFTER_SHOW:goog.ui.Container.EventType.AFTER_HIDE)),!0}return!1},goog.ui.Container.prototype.isEnabled=function(){return this.enabled_},goog.ui.Container.prototype.setEnabled=function(e){this.enabled_!=e&&this.dispatchEvent(e?goog.ui.Component.EventType.ENABLE:goog.ui.Component.EventType.DISABLE)&&(e?(this.enabled_=!0,this.forEachChild((function(e){e.wasDisabled?delete e.wasDisabled:e.setEnabled(!0)}))):(this.forEachChild((function(e){e.isEnabled()?e.setEnabled(!1):e.wasDisabled=!0})),this.enabled_=!1,this.setMouseButtonPressed(!1)),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),e&&this.visible_))},goog.ui.Container.prototype.isFocusable=function(){return this.focusable_},goog.ui.Container.prototype.setFocusable=function(e){e!=this.focusable_&&this.isInDocument()&&this.enableFocusHandling_(e),this.focusable_=e,this.enabled_&&this.visible_&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),e)},goog.ui.Container.prototype.isFocusableChildrenAllowed=function(){return this.allowFocusableChildren_},goog.ui.Container.prototype.setFocusableChildrenAllowed=function(e){this.allowFocusableChildren_=e},goog.ui.Container.prototype.isOpenFollowsHighlight=function(){return this.openFollowsHighlight_},goog.ui.Container.prototype.setOpenFollowsHighlight=function(e){this.openFollowsHighlight_=e},goog.ui.Container.prototype.getHighlightedIndex=function(){return this.highlightedIndex_},goog.ui.Container.prototype.setHighlightedIndex=function(e){(e=this.getChildAt(e))?e.setHighlighted(!0):-1<this.highlightedIndex_&&this.getHighlighted().setHighlighted(!1)},goog.ui.Container.prototype.setHighlighted=function(e){this.setHighlightedIndex(this.indexOfChild(e))},goog.ui.Container.prototype.getHighlighted=function(){return this.getChildAt(this.highlightedIndex_)},goog.ui.Container.prototype.highlightFirst=function(){this.highlightHelper((function(e,t){return(e+1)%t}),this.getChildCount()-1)},goog.ui.Container.prototype.highlightLast=function(){this.highlightHelper((function(e,t){return 0>--e?t-1:e}),0)},goog.ui.Container.prototype.highlightNext=function(){this.highlightHelper((function(e,t){return(e+1)%t}),this.highlightedIndex_)},goog.ui.Container.prototype.highlightPrevious=function(){this.highlightHelper((function(e,t){return 0>--e?t-1:e}),this.highlightedIndex_)},goog.ui.Container.prototype.highlightHelper=function(e,t){var o=0>t?this.indexOfChild(this.openItem_):t,n=this.getChildCount();o=e.call(this,o,n);for(var i=0;i<=n;){var r=this.getChildAt(o);if(r&&this.canHighlightItem(r))return this.setHighlightedIndexFromKeyEvent(o),!0;i++,o=e.call(this,o,n)}return!1},goog.ui.Container.prototype.canHighlightItem=function(e){return e.isVisible()&&e.isEnabled()&&e.isSupportedState(goog.ui.Component.State.HOVER)},goog.ui.Container.prototype.setHighlightedIndexFromKeyEvent=function(e){this.setHighlightedIndex(e)},goog.ui.Container.prototype.getOpenItem=function(){return this.openItem_},goog.ui.Container.prototype.isMouseButtonPressed=function(){return this.mouseButtonPressed_},goog.ui.Container.prototype.setMouseButtonPressed=function(e){this.mouseButtonPressed_=e},goog.ui.MenuHeaderRenderer=function(){goog.ui.ControlRenderer.call(this)},goog.inherits(goog.ui.MenuHeaderRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuHeaderRenderer),goog.ui.MenuHeaderRenderer.CSS_CLASS="goog-menuheader",goog.ui.MenuHeaderRenderer.prototype.getCssClass=function(){return goog.ui.MenuHeaderRenderer.CSS_CLASS},goog.ui.MenuHeader=function(e,t,o){goog.ui.Control.call(this,e,o||goog.ui.MenuHeaderRenderer.getInstance(),t),this.setSupportedState(goog.ui.Component.State.DISABLED,!1),this.setSupportedState(goog.ui.Component.State.HOVER,!1),this.setSupportedState(goog.ui.Component.State.ACTIVE,!1),this.setSupportedState(goog.ui.Component.State.FOCUSED,!1),this.setStateInternal(goog.ui.Component.State.DISABLED)},goog.inherits(goog.ui.MenuHeader,goog.ui.Control),goog.ui.registry.setDecoratorByClassName(goog.ui.MenuHeaderRenderer.CSS_CLASS,(function(){return new goog.ui.MenuHeader(null)})),goog.ui.MenuItemRenderer=function(){goog.ui.ControlRenderer.call(this),this.classNameCache_=[]},goog.inherits(goog.ui.MenuItemRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuItemRenderer),goog.ui.MenuItemRenderer.CSS_CLASS="goog-menuitem",goog.ui.MenuItemRenderer.CompositeCssClassIndex_={HOVER:0,CHECKBOX:1,CONTENT:2},goog.ui.MenuItemRenderer.prototype.getCompositeCssClass_=function(e){var t=this.classNameCache_[e];if(!t){switch(e){case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER:t=this.getStructuralCssClass()+"-highlight";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX:t=this.getStructuralCssClass()+"-checkbox";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT:t=this.getStructuralCssClass()+"-content"}this.classNameCache_[e]=t}return t},goog.ui.MenuItemRenderer.prototype.getAriaRole=function(){return goog.a11y.aria.Role.MENU_ITEM},goog.ui.MenuItemRenderer.prototype.createDom=function(e){var t=e.getDomHelper().createDom("DIV",this.getClassNames(e).join(" "),this.createContent(e.getContent(),e.getDomHelper()));return this.setEnableCheckBoxStructure(e,t,e.isSupportedState(goog.ui.Component.State.SELECTED)||e.isSupportedState(goog.ui.Component.State.CHECKED)),t},goog.ui.MenuItemRenderer.prototype.getContentElement=function(e){return e&&e.firstChild},goog.ui.MenuItemRenderer.prototype.decorate=function(e,t){return goog.asserts.assert(t),this.hasContentStructure(t)||t.appendChild(this.createContent(t.childNodes,e.getDomHelper())),goog.dom.classlist.contains(t,"goog-option")&&(e.setCheckable(!0),this.setCheckable(e,t,!0)),goog.ui.MenuItemRenderer.superClass_.decorate.call(this,e,t)},goog.ui.MenuItemRenderer.prototype.setContent=function(e,t){var o=this.getContentElement(e),n=this.hasCheckBoxStructure(e)?o.firstChild:null;goog.ui.MenuItemRenderer.superClass_.setContent.call(this,e,t),n&&!this.hasCheckBoxStructure(e)&&o.insertBefore(n,o.firstChild||null)},goog.ui.MenuItemRenderer.prototype.hasContentStructure=function(e){e=goog.dom.getFirstElementChild(e);var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return!!e&&goog.dom.classlist.contains(e,t)},goog.ui.MenuItemRenderer.prototype.createContent=function(e,t){var o=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return t.createDom("DIV",o,e)},goog.ui.MenuItemRenderer.prototype.setSelectable=function(e,t,o){e&&t&&this.setEnableCheckBoxStructure(e,t,o)},goog.ui.MenuItemRenderer.prototype.setCheckable=function(e,t,o){e&&t&&this.setEnableCheckBoxStructure(e,t,o)},goog.ui.MenuItemRenderer.prototype.hasCheckBoxStructure=function(e){if(e=this.getContentElement(e)){e=e.firstChild;var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX);return!!e&&goog.dom.isElement(e)&&goog.dom.classlist.contains(e,t)}return!1},goog.ui.MenuItemRenderer.prototype.setEnableCheckBoxStructure=function(e,t,o){this.setAriaRole(t,e.getPreferredAriaRole()),this.setAriaStates(e,t),o!=this.hasCheckBoxStructure(t)&&(goog.dom.classlist.enable(t,"goog-option",o),t=this.getContentElement(t),o?(o=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX),t.insertBefore(e.getDomHelper().createDom("DIV",o),t.firstChild||null)):t.removeChild(t.firstChild))},goog.ui.MenuItemRenderer.prototype.getClassForState=function(e){switch(e){case goog.ui.Component.State.HOVER:return this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);case goog.ui.Component.State.CHECKED:case goog.ui.Component.State.SELECTED:return"goog-option-selected";default:return goog.ui.MenuItemRenderer.superClass_.getClassForState.call(this,e)}},goog.ui.MenuItemRenderer.prototype.getStateFromClass=function(e){var t=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);switch(e){case"goog-option-selected":return goog.ui.Component.State.CHECKED;case t:return goog.ui.Component.State.HOVER;default:return goog.ui.MenuItemRenderer.superClass_.getStateFromClass.call(this,e)}},goog.ui.MenuItemRenderer.prototype.getCssClass=function(){return goog.ui.MenuItemRenderer.CSS_CLASS},goog.ui.MenuItem=function(e,t,o,n){goog.ui.Control.call(this,e,n||goog.ui.MenuItemRenderer.getInstance(),o),this.setValue(t)},goog.inherits(goog.ui.MenuItem,goog.ui.Control),goog.tagUnsealableClass(goog.ui.MenuItem),goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_="goog-menuitem-mnemonic-separator",goog.ui.MenuItem.ACCELERATOR_CLASS="goog-menuitem-accel",goog.ui.MenuItem.prototype.getValue=function(){var e=this.getModel();return null!=e?e:this.getCaption()},goog.ui.MenuItem.prototype.setValue=function(e){this.setModel(e)},goog.ui.MenuItem.prototype.setSupportedState=function(e,t){switch(goog.ui.MenuItem.superClass_.setSupportedState.call(this,e,t),e){case goog.ui.Component.State.SELECTED:this.setSelectableInternal_(t);break;case goog.ui.Component.State.CHECKED:this.setCheckableInternal_(t)}},goog.ui.MenuItem.prototype.setSelectable=function(e){this.setSupportedState(goog.ui.Component.State.SELECTED,e)},goog.ui.MenuItem.prototype.setSelectableInternal_=function(e){this.isChecked()&&!e&&this.setChecked(!1);var t=this.getElement();t&&this.getRenderer().setSelectable(this,t,e)},goog.ui.MenuItem.prototype.setCheckable=function(e){this.setSupportedState(goog.ui.Component.State.CHECKED,e)},goog.ui.MenuItem.prototype.setCheckableInternal_=function(e){var t=this.getElement();t&&this.getRenderer().setCheckable(this,t,e)},goog.ui.MenuItem.prototype.getCaption=function(){var e=this.getContent();if(goog.isArray(e)){var t=goog.ui.MenuItem.ACCELERATOR_CLASS,o=goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_;return e=goog.array.map(e,(function(e){return goog.dom.isElement(e)&&(goog.dom.classlist.contains(e,t)||goog.dom.classlist.contains(e,o))?"":goog.dom.getRawTextContent(e)})).join(""),goog.string.collapseBreakingSpaces(e)}return goog.ui.MenuItem.superClass_.getCaption.call(this)},goog.ui.MenuItem.prototype.getAccelerator=function(){var e=this.getDomHelper(),t=this.getContent();return goog.isArray(t)&&(t=goog.array.find(t,(function(e){return goog.dom.classlist.contains(e,goog.ui.MenuItem.ACCELERATOR_CLASS)})))?e.getTextContent(t):null},goog.ui.MenuItem.prototype.handleMouseUp=function(e){var t=this.getParent();if(t){var o=t.openingCoords;if(t.openingCoords=null,o&&goog.isNumber(e.clientX)&&(t=new goog.math.Coordinate(e.clientX,e.clientY),goog.math.Coordinate.equals(o,t)))return}goog.ui.MenuItem.superClass_.handleMouseUp.call(this,e)},goog.ui.MenuItem.prototype.handleKeyEventInternal=function(e){return!(e.keyCode!=this.getMnemonic()||!this.performActionInternal(e))||goog.ui.MenuItem.superClass_.handleKeyEventInternal.call(this,e)},goog.ui.MenuItem.prototype.setMnemonic=function(e){this.mnemonicKey_=e},goog.ui.MenuItem.prototype.getMnemonic=function(){return this.mnemonicKey_},goog.ui.registry.setDecoratorByClassName(goog.ui.MenuItemRenderer.CSS_CLASS,(function(){return new goog.ui.MenuItem(null)})),goog.ui.MenuItem.prototype.getPreferredAriaRole=function(){return this.isSupportedState(goog.ui.Component.State.CHECKED)?goog.a11y.aria.Role.MENU_ITEM_CHECKBOX:this.isSupportedState(goog.ui.Component.State.SELECTED)?goog.a11y.aria.Role.MENU_ITEM_RADIO:goog.ui.MenuItem.superClass_.getPreferredAriaRole.call(this)},goog.ui.MenuItem.prototype.getParent=function(){return goog.ui.Control.prototype.getParent.call(this)},goog.ui.MenuItem.prototype.getParentEventTarget=function(){return goog.ui.Control.prototype.getParentEventTarget.call(this)},goog.ui.MenuSeparatorRenderer=function(){goog.ui.ControlRenderer.call(this)},goog.inherits(goog.ui.MenuSeparatorRenderer,goog.ui.ControlRenderer),goog.addSingletonGetter(goog.ui.MenuSeparatorRenderer),goog.ui.MenuSeparatorRenderer.CSS_CLASS="goog-menuseparator",goog.ui.MenuSeparatorRenderer.prototype.createDom=function(e){return e.getDomHelper().createDom("DIV",this.getCssClass())},goog.ui.MenuSeparatorRenderer.prototype.decorate=function(e,t){if(t.id&&e.setId(t.id),"HR"==t.tagName){var o=t;t=this.createDom(e),goog.dom.insertSiblingBefore(t,o),goog.dom.removeNode(o)}else goog.dom.classlist.add(t,this.getCssClass());return t},goog.ui.MenuSeparatorRenderer.prototype.setContent=function(e,t){},goog.ui.MenuSeparatorRenderer.prototype.getCssClass=function(){return goog.ui.MenuSeparatorRenderer.CSS_CLASS},goog.ui.Separator=function(e,t){goog.ui.Control.call(this,null,e||goog.ui.MenuSeparatorRenderer.getInstance(),t),this.setSupportedState(goog.ui.Component.State.DISABLED,!1),this.setSupportedState(goog.ui.Component.State.HOVER,!1),this.setSupportedState(goog.ui.Component.State.ACTIVE,!1),this.setSupportedState(goog.ui.Component.State.FOCUSED,!1),this.setStateInternal(goog.ui.Component.State.DISABLED)},goog.inherits(goog.ui.Separator,goog.ui.Control),goog.ui.Separator.prototype.enterDocument=function(){goog.ui.Separator.superClass_.enterDocument.call(this);var e=this.getElement();goog.asserts.assert(e,"The DOM element for the separator cannot be null."),goog.a11y.aria.setRole(e,"separator")},goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,(function(){return new goog.ui.Separator})),goog.ui.MenuRenderer=function(e){goog.ui.ContainerRenderer.call(this,e||goog.a11y.aria.Role.MENU)},goog.inherits(goog.ui.MenuRenderer,goog.ui.ContainerRenderer),goog.addSingletonGetter(goog.ui.MenuRenderer),goog.ui.MenuRenderer.CSS_CLASS="goog-menu",goog.ui.MenuRenderer.prototype.canDecorate=function(e){return"UL"==e.tagName||goog.ui.MenuRenderer.superClass_.canDecorate.call(this,e)},goog.ui.MenuRenderer.prototype.getDecoratorForChild=function(e){return"HR"==e.tagName?new goog.ui.Separator:goog.ui.MenuRenderer.superClass_.getDecoratorForChild.call(this,e)},goog.ui.MenuRenderer.prototype.containsElement=function(e,t){return goog.dom.contains(e.getElement(),t)},goog.ui.MenuRenderer.prototype.getCssClass=function(){return goog.ui.MenuRenderer.CSS_CLASS},goog.ui.MenuRenderer.prototype.initializeDom=function(e){goog.ui.MenuRenderer.superClass_.initializeDom.call(this,e),e=e.getElement(),goog.asserts.assert(e,"The menu DOM element cannot be null."),goog.a11y.aria.setState(e,goog.a11y.aria.State.HASPOPUP,"true")},goog.ui.MenuSeparator=function(e){goog.ui.Separator.call(this,goog.ui.MenuSeparatorRenderer.getInstance(),e)},goog.inherits(goog.ui.MenuSeparator,goog.ui.Separator),goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,(function(){return new goog.ui.Separator})),goog.ui.Menu=function(e,t){goog.ui.Container.call(this,goog.ui.Container.Orientation.VERTICAL,t||goog.ui.MenuRenderer.getInstance(),e),this.setFocusable(!1)},goog.inherits(goog.ui.Menu,goog.ui.Container),goog.tagUnsealableClass(goog.ui.Menu),goog.ui.Menu.EventType={BEFORE_SHOW:goog.ui.Component.EventType.BEFORE_SHOW,SHOW:goog.ui.Component.EventType.SHOW,BEFORE_HIDE:goog.ui.Component.EventType.HIDE,HIDE:goog.ui.Component.EventType.HIDE},goog.ui.Menu.CSS_CLASS=goog.ui.MenuRenderer.CSS_CLASS,goog.ui.Menu.prototype.allowAutoFocus_=!0,goog.ui.Menu.prototype.allowHighlightDisabled_=!1,goog.ui.Menu.prototype.getCssClass=function(){return this.getRenderer().getCssClass()},goog.ui.Menu.prototype.containsElement=function(e){if(this.getRenderer().containsElement(this,e))return!0;for(var t=0,o=this.getChildCount();t<o;t++){var n=this.getChildAt(t);if("function"==typeof n.containsElement&&n.containsElement(e))return!0}return!1},goog.ui.Menu.prototype.addItem=function(e){this.addChild(e,!0)},goog.ui.Menu.prototype.addItemAt=function(e,t){this.addChildAt(e,t,!0)},goog.ui.Menu.prototype.removeItem=function(e){(e=this.removeChild(e,!0))&&e.dispose()},goog.ui.Menu.prototype.removeItemAt=function(e){(e=this.removeChildAt(e,!0))&&e.dispose()},goog.ui.Menu.prototype.getItemAt=function(e){return this.getChildAt(e)},goog.ui.Menu.prototype.getItemCount=function(){return this.getChildCount()},goog.ui.Menu.prototype.getItems=function(){var e=[];return this.forEachChild((function(t){e.push(t)})),e},goog.ui.Menu.prototype.setPosition=function(e,t){var o=this.isVisible();o||goog.style.setElementShown(this.getElement(),!0),goog.style.setPageOffset(this.getElement(),e,t),o||goog.style.setElementShown(this.getElement(),!1)},goog.ui.Menu.prototype.getPosition=function(){return this.isVisible()?goog.style.getPageOffset(this.getElement()):null},goog.ui.Menu.prototype.setAllowAutoFocus=function(e){(this.allowAutoFocus_=e)&&this.setFocusable(!0)},goog.ui.Menu.prototype.getAllowAutoFocus=function(){return this.allowAutoFocus_},goog.ui.Menu.prototype.setAllowHighlightDisabled=function(e){this.allowHighlightDisabled_=e},goog.ui.Menu.prototype.getAllowHighlightDisabled=function(){return this.allowHighlightDisabled_},goog.ui.Menu.prototype.setVisible=function(e,t,o){return(t=goog.ui.Menu.superClass_.setVisible.call(this,e,t))&&e&&this.isInDocument()&&this.allowAutoFocus_&&this.getKeyEventTarget().focus(),e&&o&&goog.isNumber(o.clientX)?this.openingCoords=new goog.math.Coordinate(o.clientX,o.clientY):this.openingCoords=null,t},goog.ui.Menu.prototype.handleEnterItem=function(e){return this.allowAutoFocus_&&this.getKeyEventTarget().focus(),goog.ui.Menu.superClass_.handleEnterItem.call(this,e)},goog.ui.Menu.prototype.highlightNextPrefix=function(e){var t=new RegExp("^"+goog.string.regExpEscape(e),"i");return this.highlightHelper((function(e,o){var n=0>e?0:e,i=!1;do{++e==o&&(e=0,i=!0);var r=this.getChildAt(e).getCaption();if(r&&r.match(t))return e}while(!i||e!=n);return this.getHighlightedIndex()}),this.getHighlightedIndex())},goog.ui.Menu.prototype.canHighlightItem=function(e){return(this.allowHighlightDisabled_||e.isEnabled())&&e.isVisible()&&e.isSupportedState(goog.ui.Component.State.HOVER)},goog.ui.Menu.prototype.decorateInternal=function(e){this.decorateContent(e),goog.ui.Menu.superClass_.decorateInternal.call(this,e)},goog.ui.Menu.prototype.handleKeyEventInternal=function(e){var t=goog.ui.Menu.superClass_.handleKeyEventInternal.call(this,e);return t||this.forEachChild((function(o){!t&&o.getMnemonic&&o.getMnemonic()==e.keyCode&&(this.isEnabled()&&this.setHighlighted(o),t=o.handleKeyEvent(e))}),this),t},goog.ui.Menu.prototype.setHighlightedIndex=function(e){goog.ui.Menu.superClass_.setHighlightedIndex.call(this,e),(e=this.getChildAt(e))&&goog.style.scrollIntoContainerView(e.getElement(),this.getElement())},goog.ui.Menu.prototype.decorateContent=function(e){for(var t=this.getRenderer(),o=(e=this.getDomHelper().getElementsByTagNameAndClass("DIV",t.getCssClass()+"-content",e)).length,n=0;n<o;n++)t.decorateChildren(this,e[n])},goog.Thenable=function(){},goog.Thenable.prototype.then=function(e,t,o){},goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable",goog.Thenable.addImplementation=function(e){COMPILED?e.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:e.prototype.$goog_Thenable=!0},goog.Thenable.isImplementedBy=function(e){if(!e)return!1;try{return COMPILED?!!e[goog.Thenable.IMPLEMENTED_BY_PROP]:!!e.$goog_Thenable}catch(e){return!1}},goog.async={},goog.async.FreeList=function(e,t,o){this.limit_=o,this.create_=e,this.reset_=t,this.occupants_=0,this.head_=null},goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var e=this.head_;this.head_=e.next,e.next=null}else e=this.create_();return e},goog.async.FreeList.prototype.put=function(e){this.reset_(e),this.occupants_<this.limit_&&(this.occupants_++,e.next=this.head_,this.head_=e)},goog.async.FreeList.prototype.occupants=function(){return this.occupants_},goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null},goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100,goog.async.WorkQueue.freelist_=new goog.async.FreeList((function(){return new goog.async.WorkItem}),(function(e){e.reset()}),goog.async.WorkQueue.DEFAULT_MAX_UNUSED),goog.async.WorkQueue.prototype.add=function(e,t){var o=this.getUnusedItem_();o.set(e,t),this.workTail_?this.workTail_.next=o:(goog.asserts.assert(!this.workHead_),this.workHead_=o),this.workTail_=o},goog.async.WorkQueue.prototype.remove=function(){var e=null;return this.workHead_&&(e=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),e.next=null),e},goog.async.WorkQueue.prototype.returnUnused=function(e){goog.async.WorkQueue.freelist_.put(e)},goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()},goog.async.WorkItem=function(){this.next=this.scope=this.fn=null},goog.async.WorkItem.prototype.set=function(e,t){this.fn=e,this.scope=t,this.next=null},goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null},goog.async.throwException=function(e){goog.global.setTimeout((function(){throw e}),0)},goog.async.nextTick=function(e,t,o){var n=e;t&&(n=goog.bind(e,t)),n=goog.async.nextTick.wrapCallback_(n),goog.isFunction(goog.global.setImmediate)&&(o||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(n):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(n))},goog.async.nextTick.useSetImmediate_=function(){return!(goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate)},goog.async.nextTick.getSetImmediateEmulator_=function(){var e=goog.global.MessageChannel;if(void 0===e&&"undefined"!=typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(e=function(){var e=document.createElement("IFRAME");e.style.display="none",goog.dom.safe.setIframeSrc(e,goog.html.TrustedResourceUrl.fromConstant(goog.string.Const.EMPTY)),document.documentElement.appendChild(e);var t=e.contentWindow;(e=t.document).open(),goog.dom.safe.documentWrite(e,goog.html.SafeHtml.EMPTY),e.close();var o="callImmediate"+Math.random(),n="file:"==t.location.protocol?"*":t.location.protocol+"//"+t.location.host;e=goog.bind((function(e){"*"!=n&&e.origin!=n||e.data!=o||this.port1.onmessage()}),this),t.addEventListener("message",e,!1),this.port1={},this.port2={postMessage:function(){t.postMessage(o,n)}}}),void 0!==e&&!goog.labs.userAgent.browser.isIE()){var t=new e,o={},n=o;return t.port1.onmessage=function(){if(goog.isDef(o.next)){var e=(o=o.next).cb;o.cb=null,e()}},function(e){n.next={cb:e},n=n.next,t.port2.postMessage(0)}}return"undefined"!=typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?function(e){var t=document.createElement("SCRIPT");t.onreadystatechange=function(){t.onreadystatechange=null,t.parentNode.removeChild(t),t=null,e(),e=null},document.documentElement.appendChild(t)}:function(e){goog.global.setTimeout(e,0)}},goog.async.nextTick.wrapCallback_=goog.functions.identity,goog.debug.entryPointRegistry.register((function(e){goog.async.nextTick.wrapCallback_=e})),goog.ASSUME_NATIVE_PROMISE=!1,goog.async.run=function(e,t){goog.async.run.schedule_||goog.async.run.initializeRunner_(),goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0),goog.async.run.workQueue_.add(e,t)},goog.async.run.initializeRunner_=function(){if(goog.ASSUME_NATIVE_PROMISE||goog.global.Promise&&goog.global.Promise.resolve){var e=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){e.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}},goog.async.run.forceNextTick=function(e){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue),e&&e(goog.async.run.processWorkQueue)}},goog.async.run.workQueueScheduled_=!1,goog.async.run.workQueue_=new goog.async.WorkQueue,goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1,goog.async.run.workQueue_=new goog.async.WorkQueue}),goog.async.run.processWorkQueue=function(){for(var e;e=goog.async.run.workQueue_.remove();){try{e.fn.call(e.scope)}catch(e){goog.async.throwException(e)}goog.async.run.workQueue_.returnUnused(e)}goog.async.run.workQueueScheduled_=!1},goog.promise={},goog.promise.Resolver=function(){},goog.Promise=function(e,t){if(this.state_=goog.Promise.State_.PENDING,this.result_=void 0,this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null,this.executing_=!1,0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1),goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0),e!=goog.nullFunction)try{var o=this;e.call(t,(function(e){o.resolve_(goog.Promise.State_.FULFILLED,e)}),(function(e){if(goog.DEBUG&&!(e instanceof goog.Promise.CancellationError))try{if(e instanceof Error)throw e;throw Error("Promise rejected.")}catch(e){}o.resolve_(goog.Promise.State_.REJECTED,e)}))}catch(e){this.resolve_(goog.Promise.State_.REJECTED,e)}},goog.Promise.LONG_STACK_TRACES=!1,goog.Promise.UNHANDLED_REJECTION_DELAY=0,goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3},goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null,this.always=!1},goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null,this.always=!1},goog.Promise.DEFAULT_MAX_UNUSED=100,goog.Promise.freelist_=new goog.async.FreeList((function(){return new goog.Promise.CallbackEntry_}),(function(e){e.reset()}),goog.Promise.DEFAULT_MAX_UNUSED),goog.Promise.getCallbackEntry_=function(e,t,o){var n=goog.Promise.freelist_.get();return n.onFulfilled=e,n.onRejected=t,n.context=o,n},goog.Promise.returnEntry_=function(e){goog.Promise.freelist_.put(e)},goog.Promise.resolve=function(e){if(e instanceof goog.Promise)return e;var t=new goog.Promise(goog.nullFunction);return t.resolve_(goog.Promise.State_.FULFILLED,e),t},goog.Promise.reject=function(e){return new goog.Promise((function(t,o){o(e)}))},goog.Promise.resolveThen_=function(e,t,o){goog.Promise.maybeThen_(e,t,o,null)||goog.async.run(goog.partial(t,e))},goog.Promise.race=function(e){return new goog.Promise((function(t,o){e.length||t(void 0);for(var n,i=0;i<e.length;i++)n=e[i],goog.Promise.resolveThen_(n,t,o)}))},goog.Promise.all=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e,o){n--,i[e]=o,0==n&&t(i)},a=function(e){o(e)},l=0;l<e.length;l++)r=e[l],goog.Promise.resolveThen_(r,goog.partial(s,l),a);else t(i)}))},goog.Promise.allSettled=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e,o,r){n--,i[e]=o?{fulfilled:!0,value:r}:{fulfilled:!1,reason:r},0==n&&t(i)},a=0;a<e.length;a++)r=e[a],goog.Promise.resolveThen_(r,goog.partial(s,a,!0),goog.partial(s,a,!1));else t(i)}))},goog.Promise.firstFulfilled=function(e){return new goog.Promise((function(t,o){var n=e.length,i=[];if(n)for(var r,s=function(e){t(e)},a=function(e,t){n--,i[e]=t,0==n&&o(i)},l=0;l<e.length;l++)r=e[l],goog.Promise.resolveThen_(r,s,goog.partial(a,l));else t(void 0)}))},goog.Promise.withResolver=function(){var e,t,o=new goog.Promise((function(o,n){e=o,t=n}));return new goog.Promise.Resolver_(o,e,t)},goog.Promise.prototype.then=function(e,t,o){return null!=e&&goog.asserts.assertFunction(e,"opt_onFulfilled should be a function."),null!=t&&goog.asserts.assertFunction(t,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then")),this.addChildPromise_(goog.isFunction(e)?e:null,goog.isFunction(t)?t:null,o)},goog.Thenable.addImplementation(goog.Promise),goog.Promise.prototype.thenVoid=function(e,t,o){null!=e&&goog.asserts.assertFunction(e,"opt_onFulfilled should be a function."),null!=t&&goog.asserts.assertFunction(t,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then")),this.addCallbackEntry_(goog.Promise.getCallbackEntry_(e||goog.nullFunction,t||null,o))},goog.Promise.prototype.thenAlways=function(e,t){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));var o=goog.Promise.getCallbackEntry_(e,e,t);return o.always=!0,this.addCallbackEntry_(o),this},goog.Promise.prototype.thenCatch=function(e,t){return goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch")),this.addChildPromise_(null,e,t)},goog.Promise.prototype.cancel=function(e){this.state_==goog.Promise.State_.PENDING&&goog.async.run((function(){var t=new goog.Promise.CancellationError(e);this.cancelInternal_(t)}),this)},goog.Promise.prototype.cancelInternal_=function(e){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,e),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,e))},goog.Promise.prototype.cancelChild_=function(e,t){if(this.callbackEntries_){for(var o=0,n=null,i=null,r=this.callbackEntries_;r&&(r.always||(o++,r.child==e&&(n=r),!(n&&1<o)));r=r.next)n||(i=r);n&&(this.state_==goog.Promise.State_.PENDING&&1==o?this.cancelInternal_(t):(i?this.removeEntryAfter_(i):this.popEntry_(),this.executeCallback_(n,goog.Promise.State_.REJECTED,t)))}},goog.Promise.prototype.addCallbackEntry_=function(e){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_(),this.queueEntry_(e)},goog.Promise.prototype.addChildPromise_=function(e,t,o){var n=goog.Promise.getCallbackEntry_(null,null,null);return n.child=new goog.Promise((function(i,r){n.onFulfilled=e?function(t){try{var n=e.call(o,t);i(n)}catch(e){r(e)}}:i,n.onRejected=t?function(e){try{var n=t.call(o,e);!goog.isDef(n)&&e instanceof goog.Promise.CancellationError?r(e):i(n)}catch(e){r(e)}}:r})),n.child.parent_=this,this.addCallbackEntry_(n),n.child},goog.Promise.prototype.unblockAndFulfill_=function(e){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED),this.state_=goog.Promise.State_.PENDING,this.resolve_(goog.Promise.State_.FULFILLED,e)},goog.Promise.prototype.unblockAndReject_=function(e){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED),this.state_=goog.Promise.State_.PENDING,this.resolve_(goog.Promise.State_.REJECTED,e)},goog.Promise.prototype.resolve_=function(e,t){this.state_==goog.Promise.State_.PENDING&&(this===t&&(e=goog.Promise.State_.REJECTED,t=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(t,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=t,this.state_=e,this.parent_=null,this.scheduleCallbacks_(),e!=goog.Promise.State_.REJECTED||t instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,t)))},goog.Promise.maybeThen_=function(e,t,o,n){if(e instanceof goog.Promise)return e.thenVoid(t,o,n),!0;if(goog.Thenable.isImplementedBy(e))return e.then(t,o,n),!0;if(goog.isObject(e))try{var i=e.then;if(goog.isFunction(i))return goog.Promise.tryThen_(e,i,t,o,n),!0}catch(e){return o.call(n,e),!0}return!1},goog.Promise.tryThen_=function(e,t,o,n,i){var r=!1,s=function(e){r||(r=!0,n.call(i,e))};try{t.call(e,(function(e){r||(r=!0,o.call(i,e))}),s)}catch(e){s(e)}},goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))},goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_},goog.Promise.prototype.queueEntry_=function(e){goog.asserts.assert(null!=e.onFulfilled),this.callbackEntriesTail_?this.callbackEntriesTail_.next=e:this.callbackEntries_=e,this.callbackEntriesTail_=e},goog.Promise.prototype.popEntry_=function(){var e=null;return this.callbackEntries_&&(e=this.callbackEntries_,this.callbackEntries_=e.next,e.next=null),this.callbackEntries_||(this.callbackEntriesTail_=null),null!=e&&goog.asserts.assert(null!=e.onFulfilled),e},goog.Promise.prototype.removeEntryAfter_=function(e){goog.asserts.assert(this.callbackEntries_),goog.asserts.assert(null!=e),e.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=e),e.next=e.next.next},goog.Promise.prototype.executeCallbacks_=function(){for(var e;e=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(e,this.state_,this.result_);this.executing_=!1},goog.Promise.prototype.executeCallback_=function(e,t,o){if(t==goog.Promise.State_.REJECTED&&e.onRejected&&!e.always&&this.removeUnhandledRejection_(),e.child)e.child.parent_=null,goog.Promise.invokeCallback_(e,t,o);else try{e.always?e.onFulfilled.call(e.context):goog.Promise.invokeCallback_(e,t,o)}catch(e){goog.Promise.handleRejection_.call(null,e)}goog.Promise.returnEntry_(e)},goog.Promise.invokeCallback_=function(e,t,o){t==goog.Promise.State_.FULFILLED?e.onFulfilled.call(e.context,o):e.onRejected&&e.onRejected.call(e.context,o)},goog.Promise.prototype.addStackTrace_=function(e){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(e.stack)){var t=e.stack.split("\n",4)[3];e=e.message,e+=Array(11-e.length).join(" "),this.stack_.push(e+t)}},goog.Promise.prototype.appendLongStack_=function(e){if(goog.Promise.LONG_STACK_TRACES&&e&&goog.isString(e.stack)&&this.stack_.length){for(var t=["Promise trace:"],o=this;o;o=o.parent_){for(var n=this.currentStep_;0<=n;n--)t.push(o.stack_[n]);t.push("Value: ["+(o.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] <"+String(o.result_)+">")}e.stack+="\n\n"+t.join("\n")}},goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var e=this;e&&e.unhandledRejectionId_;e=e.parent_)goog.global.clearTimeout(e.unhandledRejectionId_),e.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(e=this;e&&e.hadUnhandledRejection_;e=e.parent_)e.hadUnhandledRejection_=!1},goog.Promise.addUnhandledRejection_=function(e,t){0<goog.Promise.UNHANDLED_REJECTION_DELAY?e.unhandledRejectionId_=goog.global.setTimeout((function(){e.appendLongStack_(t),goog.Promise.handleRejection_.call(null,t)}),goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(e.hadUnhandledRejection_=!0,goog.async.run((function(){e.hadUnhandledRejection_&&(e.appendLongStack_(t),goog.Promise.handleRejection_.call(null,t))})))},goog.Promise.handleRejection_=goog.async.throwException,goog.Promise.setUnhandledRejectionHandler=function(e){goog.Promise.handleRejection_=e},goog.Promise.CancellationError=function(e){goog.debug.Error.call(this,e)},goog.inherits(goog.Promise.CancellationError,goog.debug.Error),goog.Promise.CancellationError.prototype.name="cancel",goog.Promise.Resolver_=function(e,t,o){this.promise=e,this.resolve=t,this.reject=o},goog.Timer=function(e,t){goog.events.EventTarget.call(this),this.interval_=e||1,this.timerObject_=t||goog.Timer.defaultTimerObject,this.boundTick_=goog.bind(this.tick_,this),this.last_=goog.now()},goog.inherits(goog.Timer,goog.events.EventTarget),goog.Timer.MAX_TIMEOUT_=2147483647,goog.Timer.INVALID_TIMEOUT_ID_=-1,goog.Timer.prototype.enabled=!1,goog.Timer.defaultTimerObject=goog.global,goog.Timer.intervalScale=.8,goog.Timer.prototype.timer_=null,goog.Timer.prototype.getInterval=function(){return this.interval_},goog.Timer.prototype.setInterval=function(e){this.interval_=e,this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()},goog.Timer.prototype.tick_=function(){if(this.enabled){var e=goog.now()-this.last_;0<e&&e<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-e):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.stop(),this.start()))}},goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)},goog.Timer.prototype.start=function(){this.enabled=!0,this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())},goog.Timer.prototype.stop=function(){this.enabled=!1,this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)},goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this),this.stop(),delete this.timerObject_},goog.Timer.TICK="tick",goog.Timer.callOnce=function(e,t,o){if(goog.isFunction(e))o&&(e=goog.bind(e,o));else{if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=goog.bind(e.handleEvent,e)}return Number(t)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(e,t||0)},goog.Timer.clear=function(e){goog.Timer.defaultTimerObject.clearTimeout(e)},goog.Timer.promise=function(e,t){var o=null;return new goog.Promise((function(n,i){(o=goog.Timer.callOnce((function(){n(t)}),e))==goog.Timer.INVALID_TIMEOUT_ID_&&i(Error("Failed to schedule timer."))})).thenCatch((function(e){throw goog.Timer.clear(o),e}))},goog.string.StringBuffer=function(e,t){null!=e&&this.append.apply(this,arguments)},goog.string.StringBuffer.prototype.buffer_="",goog.string.StringBuffer.prototype.set=function(e){this.buffer_=""+e},goog.string.StringBuffer.prototype.append=function(e,t,o){if(this.buffer_+=String(e),null!=t)for(var n=1;n<arguments.length;n++)this.buffer_+=arguments[n];return this},goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""},goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length},goog.string.StringBuffer.prototype.toString=function(){return this.buffer_},goog.ui.tree={},goog.ui.tree.BaseNode=function(e,t,o){goog.ui.Component.call(this,o),this.config_=t||goog.ui.tree.BaseNode.defaultConfig,this.html_=goog.html.SafeHtml.htmlEscapePreservingNewlines(e),this.expanded_=this.selected_=!1,this.toolTip_=null,this.afterLabelHtml_=goog.html.SafeHtml.EMPTY,this.isUserCollapsible_=!0,this.depth_=-1},goog.inherits(goog.ui.tree.BaseNode,goog.ui.Component),goog.ui.tree.BaseNode.EventType={BEFORE_EXPAND:"beforeexpand",EXPAND:"expand",BEFORE_COLLAPSE:"beforecollapse",COLLAPSE:"collapse"},goog.ui.tree.BaseNode.allNodes={},goog.ui.tree.BaseNode.prototype.disposeInternal=function(){goog.ui.tree.BaseNode.superClass_.disposeInternal.call(this),this.tree&&(this.tree.removeNode(this),this.tree=null),this.setElementInternal(null)},goog.ui.tree.BaseNode.prototype.initAccessibility=function(){var e=this.getElement();if(e){var t=this.getLabelElement();if(t&&!t.id&&(t.id=this.getId()+".label"),goog.a11y.aria.setRole(e,"treeitem"),goog.a11y.aria.setState(e,"selected",!1),goog.a11y.aria.setState(e,"level",this.getDepth()),t&&goog.a11y.aria.setState(e,"labelledby",t.id),(t=this.getIconElement())&&goog.a11y.aria.setRole(t,"presentation"),(t=this.getExpandIconElement())&&goog.a11y.aria.setRole(t,"presentation"),(t=this.getChildrenElement())&&(goog.a11y.aria.setRole(t,"group"),t.hasChildNodes()))for(goog.a11y.aria.setState(e,goog.a11y.aria.State.EXPANDED,!1),e=this.getChildCount(),t=1;t<=e;t++){var o=this.getChildAt(t-1).getElement();goog.asserts.assert(o,"The child element cannot be null"),goog.a11y.aria.setState(o,"setsize",e),goog.a11y.aria.setState(o,"posinset",t)}}},goog.ui.tree.BaseNode.prototype.createDom=function(){var e=this.getDomHelper().safeHtmlToNode(this.toSafeHtml());this.setElementInternal(e)},goog.ui.tree.BaseNode.prototype.enterDocument=function(){goog.ui.tree.BaseNode.superClass_.enterDocument.call(this),goog.ui.tree.BaseNode.allNodes[this.getId()]=this,this.initAccessibility()},goog.ui.tree.BaseNode.prototype.exitDocument=function(){goog.ui.tree.BaseNode.superClass_.exitDocument.call(this),delete goog.ui.tree.BaseNode.allNodes[this.getId()]},goog.ui.tree.BaseNode.prototype.addChildAt=function(e,t,o){goog.asserts.assert(!e.getParent()),goog.asserts.assertInstanceof(e,goog.ui.tree.BaseNode),o=this.getChildAt(t-1);var n=this.getChildAt(t);if(goog.ui.tree.BaseNode.superClass_.addChildAt.call(this,e,t),e.previousSibling_=o,e.nextSibling_=n,o?o.nextSibling_=e:this.firstChild_=e,n?n.previousSibling_=e:this.lastChild_=e,(t=this.getTree())&&e.setTreeInternal(t),e.setDepth_(this.getDepth()+1),(t=this.getElement())&&(this.updateExpandIcon(),goog.a11y.aria.setState(t,goog.a11y.aria.State.EXPANDED,this.getExpanded()),this.getExpanded())){t=this.getChildrenElement(),e.getElement()||e.createDom();var i=e.getElement(),r=n&&n.getElement();t.insertBefore(i,r),this.isInDocument()&&e.enterDocument(),n||(o?o.updateExpandIcon():(goog.style.setElementShown(t,!0),this.setExpanded(this.getExpanded())))}},goog.ui.tree.BaseNode.prototype.add=function(e,t){return goog.asserts.assert(!t||t.getParent()==this,"Can only add nodes before siblings"),e.getParent()&&e.getParent().removeChild(e),this.addChildAt(e,t?this.indexOfChild(t):this.getChildCount()),e},goog.ui.tree.BaseNode.prototype.removeChild=function(e,t){var o=this.getTree(),n=o?o.getSelectedItem():null;if((n==e||e.contains(n))&&(o.hasFocus()?(this.select(),goog.Timer.callOnce(this.onTimeoutSelect_,10,this)):this.select()),goog.ui.tree.BaseNode.superClass_.removeChild.call(this,e),this.lastChild_==e&&(this.lastChild_=e.previousSibling_),this.firstChild_==e&&(this.firstChild_=e.nextSibling_),e.previousSibling_&&(e.previousSibling_.nextSibling_=e.nextSibling_),e.nextSibling_&&(e.nextSibling_.previousSibling_=e.previousSibling_),n=e.isLastSibling(),e.tree=null,e.depth_=-1,o&&(o.removeNode(e),this.isInDocument())){if(o=this.getChildrenElement(),e.isInDocument()){var i=e.getElement();o.removeChild(i),e.exitDocument()}n&&(n=this.getLastChild())&&n.updateExpandIcon(),this.hasChildren()||(o.style.display="none",this.updateExpandIcon(),this.updateIcon_(),(n=this.getElement())&&goog.a11y.aria.removeState(n,goog.a11y.aria.State.EXPANDED))}return e},goog.ui.tree.BaseNode.prototype.remove=goog.ui.tree.BaseNode.prototype.removeChild,goog.ui.tree.BaseNode.prototype.onTimeoutSelect_=function(){this.select()},goog.ui.tree.BaseNode.prototype.getTree=goog.abstractMethod,goog.ui.tree.BaseNode.prototype.getDepth=function(){var e=this.depth_;return 0>e&&(e=this.computeDepth_(),this.setDepth_(e)),e},goog.ui.tree.BaseNode.prototype.computeDepth_=function(){var e=this.getParent();return e?e.getDepth()+1:0},goog.ui.tree.BaseNode.prototype.setDepth_=function(e){if(e!=this.depth_){this.depth_=e;var t=this.getRowElement();if(t){var o=this.getPixelIndent_()+"px";this.isRightToLeft()?t.style.paddingRight=o:t.style.paddingLeft=o}this.forEachChild((function(t){t.setDepth_(e+1)}))}},goog.ui.tree.BaseNode.prototype.contains=function(e){for(;e;){if(e==this)return!0;e=e.getParent()}return!1},goog.ui.tree.BaseNode.EMPTY_CHILDREN_=[],goog.ui.tree.BaseNode.prototype.getChildren=function(){var e=[];return this.forEachChild((function(t){e.push(t)})),e},goog.ui.tree.BaseNode.prototype.getFirstChild=function(){return this.getChildAt(0)},goog.ui.tree.BaseNode.prototype.getLastChild=function(){return this.getChildAt(this.getChildCount()-1)},goog.ui.tree.BaseNode.prototype.getPreviousSibling=function(){return this.previousSibling_},goog.ui.tree.BaseNode.prototype.getNextSibling=function(){return this.nextSibling_},goog.ui.tree.BaseNode.prototype.isLastSibling=function(){return!this.nextSibling_},goog.ui.tree.BaseNode.prototype.isSelected=function(){return this.selected_},goog.ui.tree.BaseNode.prototype.select=function(){var e=this.getTree();e&&e.setSelectedItem(this)},goog.ui.tree.BaseNode.prototype.deselect=goog.nullFunction,goog.ui.tree.BaseNode.prototype.setSelectedInternal=function(e){if(this.selected_!=e){this.selected_=e,this.updateRow();var t=this.getElement();t&&(goog.a11y.aria.setState(t,"selected",e),e&&(e=this.getTree().getElement(),goog.asserts.assert(e,"The DOM element for the tree cannot be null"),goog.a11y.aria.setState(e,"activedescendant",this.getId())))}},goog.ui.tree.BaseNode.prototype.getExpanded=function(){return this.expanded_},goog.ui.tree.BaseNode.prototype.setExpandedInternal=function(e){this.expanded_=e},goog.ui.tree.BaseNode.prototype.setExpanded=function(e){var t=e!=this.expanded_;if(!t||this.dispatchEvent(e?goog.ui.tree.BaseNode.EventType.BEFORE_EXPAND:goog.ui.tree.BaseNode.EventType.BEFORE_COLLAPSE)){this.expanded_=e;var o=this.getTree(),n=this.getElement();if(this.hasChildren()){if(!e&&o&&this.contains(o.getSelectedItem())&&this.select(),n){if((o=this.getChildrenElement())&&(goog.style.setElementShown(o,e),goog.a11y.aria.setState(n,goog.a11y.aria.State.EXPANDED,e),e&&this.isInDocument()&&!o.hasChildNodes())){var i=[];this.forEachChild((function(e){i.push(e.toSafeHtml())})),goog.dom.safe.setInnerHtml(o,goog.html.SafeHtml.concat(i)),this.forEachChild((function(e){e.enterDocument()}))}this.updateExpandIcon()}}else(o=this.getChildrenElement())&&goog.style.setElementShown(o,!1);n&&this.updateIcon_(),t&&this.dispatchEvent(e?goog.ui.tree.BaseNode.EventType.EXPAND:goog.ui.tree.BaseNode.EventType.COLLAPSE)}},goog.ui.tree.BaseNode.prototype.toggle=function(){this.setExpanded(!this.getExpanded())},goog.ui.tree.BaseNode.prototype.expand=function(){this.setExpanded(!0)},goog.ui.tree.BaseNode.prototype.collapse=function(){this.setExpanded(!1)},goog.ui.tree.BaseNode.prototype.collapseChildren=function(){this.forEachChild((function(e){e.collapseAll()}))},goog.ui.tree.BaseNode.prototype.collapseAll=function(){this.collapseChildren(),this.collapse()},goog.ui.tree.BaseNode.prototype.expandChildren=function(){this.forEachChild((function(e){e.expandAll()}))},goog.ui.tree.BaseNode.prototype.expandAll=function(){this.expandChildren(),this.expand()},goog.ui.tree.BaseNode.prototype.reveal=function(){var e=this.getParent();e&&(e.setExpanded(!0),e.reveal())},goog.ui.tree.BaseNode.prototype.setIsUserCollapsible=function(e){(this.isUserCollapsible_=e)||this.expand(),this.getElement()&&this.updateExpandIcon()},goog.ui.tree.BaseNode.prototype.isUserCollapsible=function(){return this.isUserCollapsible_},goog.ui.tree.BaseNode.prototype.toSafeHtml=function(){var e=this.getTree(),t=!e.getShowLines()||e==this.getParent()&&!e.getShowRootLines()?this.config_.cssChildrenNoLines:this.config_.cssChildren;e=this.getExpanded()&&this.hasChildren(),t={class:t,style:this.getLineStyle()};var o=[];return e&&this.forEachChild((function(e){o.push(e.toSafeHtml())})),e=goog.html.SafeHtml.create("div",t,o),goog.html.SafeHtml.create("div",{class:this.config_.cssItem,id:this.getId()},[this.getRowSafeHtml(),e])},goog.ui.tree.BaseNode.prototype.getPixelIndent_=function(){return Math.max(0,(this.getDepth()-1)*this.config_.indentWidth)},goog.ui.tree.BaseNode.prototype.getRowSafeHtml=function(){var e={};e["padding-"+(this.isRightToLeft()?"right":"left")]=this.getPixelIndent_()+"px",e={class:this.getRowClassName(),style:e};var t=[this.getExpandIconSafeHtml(),this.getIconSafeHtml(),this.getLabelSafeHtml()];return goog.html.SafeHtml.create("div",e,t)},goog.ui.tree.BaseNode.prototype.getRowClassName=function(){var e=this.isSelected()?" "+this.config_.cssSelectedRow:"";return this.config_.cssTreeRow+e},goog.ui.tree.BaseNode.prototype.getLabelSafeHtml=function(){var e=goog.html.SafeHtml.create("span",{class:this.config_.cssItemLabel,title:this.getToolTip()||null},this.getSafeHtml());return goog.html.SafeHtml.concat(e,goog.html.SafeHtml.create("span",{},this.getAfterLabelSafeHtml()))},goog.ui.tree.BaseNode.prototype.getAfterLabelHtml=function(){return goog.html.SafeHtml.unwrap(this.getAfterLabelSafeHtml())},goog.ui.tree.BaseNode.prototype.getAfterLabelSafeHtml=function(){return this.afterLabelHtml_},goog.ui.tree.BaseNode.prototype.setAfterLabelSafeHtml=function(e){this.afterLabelHtml_=e;var t=this.getAfterLabelElement();t&&goog.dom.safe.setInnerHtml(t,e)},goog.ui.tree.BaseNode.prototype.getIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{style:{display:"inline-block"},class:this.getCalculatedIconClass()})},goog.ui.tree.BaseNode.prototype.getCalculatedIconClass=goog.abstractMethod,goog.ui.tree.BaseNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{type:"expand",style:{display:"inline-block"},class:this.getExpandIconClass()})},goog.ui.tree.BaseNode.prototype.getExpandIconClass=function(){var e=this.getTree(),t=!e.getShowLines()||e==this.getParent()&&!e.getShowRootLines(),o=this.config_,n=new goog.string.StringBuffer;if(n.append(o.cssTreeIcon," ",o.cssExpandTreeIcon," "),this.hasChildren()){var i=0;switch(e.getShowExpandIcons()&&this.isUserCollapsible_&&(i=this.getExpanded()?2:1),t||(i=this.isLastSibling()?i+4:i+8),i){case 1:n.append(o.cssExpandTreeIconPlus);break;case 2:n.append(o.cssExpandTreeIconMinus);break;case 4:n.append(o.cssExpandTreeIconL);break;case 5:n.append(o.cssExpandTreeIconLPlus);break;case 6:n.append(o.cssExpandTreeIconLMinus);break;case 8:n.append(o.cssExpandTreeIconT);break;case 9:n.append(o.cssExpandTreeIconTPlus);break;case 10:n.append(o.cssExpandTreeIconTMinus);break;default:n.append(o.cssExpandTreeIconBlank)}}else t?n.append(o.cssExpandTreeIconBlank):this.isLastSibling()?n.append(o.cssExpandTreeIconL):n.append(o.cssExpandTreeIconT);return n.toString()},goog.ui.tree.BaseNode.prototype.getLineStyle=function(){var e=this.getExpanded()&&this.hasChildren();return goog.html.SafeStyle.create({"background-position":this.getBackgroundPosition(),display:e?null:"none"})},goog.ui.tree.BaseNode.prototype.getBackgroundPosition=function(){return(this.isLastSibling()?"-100":(this.getDepth()-1)*this.config_.indentWidth)+"px 0"},goog.ui.tree.BaseNode.prototype.getElement=function(){var e=goog.ui.tree.BaseNode.superClass_.getElement.call(this);return e||(e=this.getDomHelper().getElement(this.getId()),this.setElementInternal(e)),e},goog.ui.tree.BaseNode.prototype.getRowElement=function(){var e=this.getElement();return e?e.firstChild:null},goog.ui.tree.BaseNode.prototype.getExpandIconElement=function(){var e=this.getRowElement();return e?e.firstChild:null},goog.ui.tree.BaseNode.prototype.getIconElement=function(){var e=this.getRowElement();return e?e.childNodes[1]:null},goog.ui.tree.BaseNode.prototype.getLabelElement=function(){var e=this.getRowElement();return e&&e.lastChild?e.lastChild.previousSibling:null},goog.ui.tree.BaseNode.prototype.getAfterLabelElement=function(){var e=this.getRowElement();return e?e.lastChild:null},goog.ui.tree.BaseNode.prototype.getChildrenElement=function(){var e=this.getElement();return e?e.lastChild:null},goog.ui.tree.BaseNode.prototype.setIconClass=function(e){this.iconClass_=e,this.isInDocument()&&this.updateIcon_()},goog.ui.tree.BaseNode.prototype.getIconClass=function(){return this.iconClass_},goog.ui.tree.BaseNode.prototype.setExpandedIconClass=function(e){this.expandedIconClass_=e,this.isInDocument()&&this.updateIcon_()},goog.ui.tree.BaseNode.prototype.getExpandedIconClass=function(){return this.expandedIconClass_},goog.ui.tree.BaseNode.prototype.setText=function(e){this.setSafeHtml(goog.html.SafeHtml.htmlEscape(e))},goog.ui.tree.BaseNode.prototype.getText=function(){return goog.string.unescapeEntities(goog.html.SafeHtml.unwrap(this.html_))},goog.ui.tree.BaseNode.prototype.setSafeHtml=function(e){this.html_=e;var t=this.getLabelElement();t&&goog.dom.safe.setInnerHtml(t,e),(e=this.getTree())&&e.setNode(this)},goog.ui.tree.BaseNode.prototype.getHtml=function(){return goog.html.SafeHtml.unwrap(this.getSafeHtml())},goog.ui.tree.BaseNode.prototype.getSafeHtml=function(){return this.html_},goog.ui.tree.BaseNode.prototype.setToolTip=function(e){this.toolTip_=e;var t=this.getLabelElement();t&&(t.title=e)},goog.ui.tree.BaseNode.prototype.getToolTip=function(){return this.toolTip_},goog.ui.tree.BaseNode.prototype.updateRow=function(){var e=this.getRowElement();e&&(e.className=this.getRowClassName())},goog.ui.tree.BaseNode.prototype.updateExpandIcon=function(){var e=this.getExpandIconElement();e&&(e.className=this.getExpandIconClass()),(e=this.getChildrenElement())&&(e.style.backgroundPosition=this.getBackgroundPosition())},goog.ui.tree.BaseNode.prototype.updateIcon_=function(){this.getIconElement().className=this.getCalculatedIconClass()},goog.ui.tree.BaseNode.prototype.onMouseDown=function(e){"expand"==e.target.getAttribute("type")&&this.hasChildren()?this.isUserCollapsible_&&this.toggle():(this.select(),this.updateRow())},goog.ui.tree.BaseNode.prototype.onClick_=goog.events.Event.preventDefault,goog.ui.tree.BaseNode.prototype.onDoubleClick_=function(e){"expand"==e.target.getAttribute("type")&&this.hasChildren()||this.isUserCollapsible_&&this.toggle()},goog.ui.tree.BaseNode.prototype.onKeyDown=function(e){var t=!0;switch(e.keyCode){case goog.events.KeyCodes.RIGHT:if(e.altKey)break;this.hasChildren()&&(this.getExpanded()?this.getFirstChild().select():this.setExpanded(!0));break;case goog.events.KeyCodes.LEFT:if(e.altKey)break;if(this.hasChildren()&&this.getExpanded()&&this.isUserCollapsible_)this.setExpanded(!1);else{var o=this.getParent(),n=this.getTree();o&&(n.getShowRootNode()||o!=n)&&o.select()}break;case goog.events.KeyCodes.DOWN:(o=this.getNextShownNode())&&o.select();break;case goog.events.KeyCodes.UP:(o=this.getPreviousShownNode())&&o.select();break;default:t=!1}return t&&(e.preventDefault(),(n=this.getTree())&&n.clearTypeAhead()),t},goog.ui.tree.BaseNode.prototype.getLastShownDescendant=function(){return this.getExpanded()&&this.hasChildren()?this.getLastChild().getLastShownDescendant():this},goog.ui.tree.BaseNode.prototype.getNextShownNode=function(){if(this.hasChildren()&&this.getExpanded())return this.getFirstChild();for(var e,t=this;t!=this.getTree();){if(null!=(e=t.getNextSibling()))return e;t=t.getParent()}return null},goog.ui.tree.BaseNode.prototype.getPreviousShownNode=function(){var e=this.getPreviousSibling();if(null!=e)return e.getLastShownDescendant();e=this.getParent();var t=this.getTree();return!t.getShowRootNode()&&e==t||this==t?null:e},goog.ui.tree.BaseNode.prototype.getClientData=goog.ui.tree.BaseNode.prototype.getModel,goog.ui.tree.BaseNode.prototype.setClientData=goog.ui.tree.BaseNode.prototype.setModel,goog.ui.tree.BaseNode.prototype.getConfig=function(){return this.config_},goog.ui.tree.BaseNode.prototype.setTreeInternal=function(e){this.tree!=e&&(this.tree=e,e.setNode(this),this.forEachChild((function(t){t.setTreeInternal(e)})))},goog.ui.tree.BaseNode.defaultConfig={indentWidth:19,cssRoot:"goog-tree-root goog-tree-item",cssHideRoot:"goog-tree-hide-root",cssItem:"goog-tree-item",cssChildren:"goog-tree-children",cssChildrenNoLines:"goog-tree-children-nolines",cssTreeRow:"goog-tree-row",cssItemLabel:"goog-tree-item-label",cssTreeIcon:"goog-tree-icon",cssExpandTreeIcon:"goog-tree-expand-icon",cssExpandTreeIconPlus:"goog-tree-expand-icon-plus",cssExpandTreeIconMinus:"goog-tree-expand-icon-minus",cssExpandTreeIconTPlus:"goog-tree-expand-icon-tplus",cssExpandTreeIconTMinus:"goog-tree-expand-icon-tminus",cssExpandTreeIconLPlus:"goog-tree-expand-icon-lplus",cssExpandTreeIconLMinus:"goog-tree-expand-icon-lminus",cssExpandTreeIconT:"goog-tree-expand-icon-t",cssExpandTreeIconL:"goog-tree-expand-icon-l",cssExpandTreeIconBlank:"goog-tree-expand-icon-blank",cssExpandedFolderIcon:"goog-tree-expanded-folder-icon",cssCollapsedFolderIcon:"goog-tree-collapsed-folder-icon",cssFileIcon:"goog-tree-file-icon",cssExpandedRootIcon:"goog-tree-expanded-folder-icon",cssCollapsedRootIcon:"goog-tree-collapsed-folder-icon",cssSelectedRow:"selected"},goog.events.FocusHandler=function(e){goog.events.EventTarget.call(this),this.element_=e,e=goog.userAgent.IE?"focusout":"blur",this.listenKeyIn_=goog.events.listen(this.element_,goog.userAgent.IE?"focusin":"focus",this,!goog.userAgent.IE),this.listenKeyOut_=goog.events.listen(this.element_,e,this,!goog.userAgent.IE)},goog.inherits(goog.events.FocusHandler,goog.events.EventTarget),goog.events.FocusHandler.EventType={FOCUSIN:"focusin",FOCUSOUT:"focusout"},goog.events.FocusHandler.prototype.handleEvent=function(e){var t=e.getBrowserEvent();(t=new goog.events.BrowserEvent(t)).type="focusin"==e.type||"focus"==e.type?goog.events.FocusHandler.EventType.FOCUSIN:goog.events.FocusHandler.EventType.FOCUSOUT,this.dispatchEvent(t)},goog.events.FocusHandler.prototype.disposeInternal=function(){goog.events.FocusHandler.superClass_.disposeInternal.call(this),goog.events.unlistenByKey(this.listenKeyIn_),goog.events.unlistenByKey(this.listenKeyOut_),delete this.element_},goog.debug.LogRecord=function(e,t,o,n,i){this.reset(e,t,o,n,i)},goog.debug.LogRecord.prototype.sequenceNumber_=0,goog.debug.LogRecord.prototype.exception_=null,goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0,goog.debug.LogRecord.nextSequenceNumber_=0,goog.debug.LogRecord.prototype.reset=function(e,t,o,n,i){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof i?i:goog.debug.LogRecord.nextSequenceNumber_++),this.time_=n||goog.now(),this.level_=e,this.msg_=t,this.loggerName_=o,delete this.exception_},goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_},goog.debug.LogRecord.prototype.getException=function(){return this.exception_},goog.debug.LogRecord.prototype.setException=function(e){this.exception_=e},goog.debug.LogRecord.prototype.setLoggerName=function(e){this.loggerName_=e},goog.debug.LogRecord.prototype.getLevel=function(){return this.level_},goog.debug.LogRecord.prototype.setLevel=function(e){this.level_=e},goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_},goog.debug.LogRecord.prototype.setMessage=function(e){this.msg_=e},goog.debug.LogRecord.prototype.getMillis=function(){return this.time_},goog.debug.LogRecord.prototype.setMillis=function(e){this.time_=e},goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_},goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY."),this.clear()},goog.debug.LogBuffer.getInstance=function(){return goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer),goog.debug.LogBuffer.instance_},goog.debug.LogBuffer.CAPACITY=0,goog.debug.LogBuffer.prototype.addRecord=function(e,t,o){var n=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;return this.curIndex_=n,this.isFull_?((n=this.buffer_[n]).reset(e,t,o),n):(this.isFull_=n==goog.debug.LogBuffer.CAPACITY-1,this.buffer_[n]=new goog.debug.LogRecord(e,t,o))},goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY},goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY),this.curIndex_=-1,this.isFull_=!1},goog.debug.LogBuffer.prototype.forEachRecord=function(e){var t=this.buffer_;if(t[0]){var o=this.curIndex_,n=this.isFull_?o:-1;do{e(t[n=(n+1)%goog.debug.LogBuffer.CAPACITY])}while(n!=o)}},goog.debug.Logger=function(e){this.name_=e,this.handlers_=this.children_=this.level_=this.parent_=null},goog.debug.Logger.ROOT_LOGGER_NAME="",goog.debug.Logger.ENABLE_HIERARCHY=!0,goog.debug.Logger.ENABLE_PROFILER_LOGGING=!1,goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]),goog.debug.Logger.Level=function(e,t){this.name=e,this.value=t},goog.debug.Logger.Level.prototype.toString=function(){return this.name},goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",1/0),goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200),goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1e3),goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900),goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800),goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700),goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500),goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400),goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300),goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0),goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL],goog.debug.Logger.Level.predefinedLevelsCache_=null,goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var e,t=0;e=goog.debug.Logger.Level.PREDEFINED_LEVELS[t];t++)goog.debug.Logger.Level.predefinedLevelsCache_[e.value]=e,goog.debug.Logger.Level.predefinedLevelsCache_[e.name]=e},goog.debug.Logger.Level.getPredefinedLevel=function(e){return goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_(),goog.debug.Logger.Level.predefinedLevelsCache_[e]||null},goog.debug.Logger.Level.getPredefinedLevelByValue=function(e){if(goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_(),e in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[e];for(var t=0;t<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++t){var o=goog.debug.Logger.Level.PREDEFINED_LEVELS[t];if(o.value<=e)return o}return null},goog.debug.Logger.getLogger=function(e){return goog.debug.LogManager.getLogger(e)},goog.debug.Logger.logToProfilers=function(e){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING){var t=goog.global.msWriteProfilerMark;t?t(e):(t=goog.global.console)&&t.timeStamp&&t.timeStamp(e)}},goog.debug.Logger.prototype.getName=function(){return this.name_},goog.debug.Logger.prototype.addHandler=function(e){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(e)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(e)))},goog.debug.Logger.prototype.removeHandler=function(e){if(goog.debug.LOGGING_ENABLED){var t=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!t&&goog.array.remove(t,e)}return!1},goog.debug.Logger.prototype.getParent=function(){return this.parent_},goog.debug.Logger.prototype.getChildren=function(){return this.children_||(this.children_={}),this.children_},goog.debug.Logger.prototype.setLevel=function(e){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=e:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=e))},goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF},goog.debug.Logger.prototype.getEffectiveLevel=function(){return goog.debug.LOGGING_ENABLED?goog.debug.Logger.ENABLE_HIERARCHY?this.level_?this.level_:this.parent_?this.parent_.getEffectiveLevel():(goog.asserts.fail("Root logger has no level set."),null):goog.debug.Logger.rootLevel_:goog.debug.Logger.Level.OFF},goog.debug.Logger.prototype.isLoggable=function(e){return goog.debug.LOGGING_ENABLED&&e.value>=this.getEffectiveLevel().value},goog.debug.Logger.prototype.log=function(e,t,o){goog.debug.LOGGING_ENABLED&&this.isLoggable(e)&&(goog.isFunction(t)&&(t=t()),this.doLogRecord_(this.getLogRecord(e,t,o)))},goog.debug.Logger.prototype.getLogRecord=function(e,t,o){return e=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(e,t,this.name_):new goog.debug.LogRecord(e,String(t),this.name_),o&&e.setException(o),e},goog.debug.Logger.prototype.shout=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,e,t)},goog.debug.Logger.prototype.severe=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,e,t)},goog.debug.Logger.prototype.warning=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,e,t)},goog.debug.Logger.prototype.info=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,e,t)},goog.debug.Logger.prototype.config=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,e,t)},goog.debug.Logger.prototype.fine=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,e,t)},goog.debug.Logger.prototype.finer=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,e,t)},goog.debug.Logger.prototype.finest=function(e,t){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,e,t)},goog.debug.Logger.prototype.logRecord=function(e){goog.debug.LOGGING_ENABLED&&this.isLoggable(e.getLevel())&&this.doLogRecord_(e)},goog.debug.Logger.prototype.doLogRecord_=function(e){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING&&goog.debug.Logger.logToProfilers("log:"+e.getMessage()),goog.debug.Logger.ENABLE_HIERARCHY)for(var t=this;t;)t.callPublish_(e),t=t.getParent();else{t=0;for(var o;o=goog.debug.Logger.rootHandlers_[t++];)o(e)}},goog.debug.Logger.prototype.callPublish_=function(e){if(this.handlers_)for(var t,o=0;t=this.handlers_[o];o++)t(e)},goog.debug.Logger.prototype.setParent_=function(e){this.parent_=e},goog.debug.Logger.prototype.addChild_=function(e,t){this.getChildren()[e]=t},goog.debug.LogManager={},goog.debug.LogManager.loggers_={},goog.debug.LogManager.rootLogger_=null,goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))},goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_},goog.debug.LogManager.getRoot=function(){return goog.debug.LogManager.initialize(),goog.debug.LogManager.rootLogger_},goog.debug.LogManager.getLogger=function(e){return goog.debug.LogManager.initialize(),goog.debug.LogManager.loggers_[e]||goog.debug.LogManager.createLogger_(e)},goog.debug.LogManager.createFunctionForCatchErrors=function(e){return function(t){(e||goog.debug.LogManager.getRoot()).severe("Error: "+t.message+" ("+t.fileName+" @ Line: "+t.line+")")}},goog.debug.LogManager.createLogger_=function(e){var t=new goog.debug.Logger(e);if(goog.debug.Logger.ENABLE_HIERARCHY){var o=e.lastIndexOf("."),n=e.substr(0,o);o=e.substr(o+1),(n=goog.debug.LogManager.getLogger(n)).addChild_(o,t),t.setParent_(n)}return goog.debug.LogManager.loggers_[e]=t},goog.log={},goog.log.ENABLED=goog.debug.LOGGING_ENABLED,goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME,goog.log.Logger=goog.debug.Logger,goog.log.Level=goog.debug.Logger.Level,goog.log.LogRecord=goog.debug.LogRecord,goog.log.getLogger=function(e,t){if(goog.log.ENABLED){var o=goog.debug.LogManager.getLogger(e);return t&&o&&o.setLevel(t),o}return null},goog.log.addHandler=function(e,t){goog.log.ENABLED&&e&&e.addHandler(t)},goog.log.removeHandler=function(e,t){return!(!goog.log.ENABLED||!e)&&e.removeHandler(t)},goog.log.log=function(e,t,o,n){goog.log.ENABLED&&e&&e.log(t,o,n)},goog.log.error=function(e,t,o){goog.log.ENABLED&&e&&e.severe(t,o)},goog.log.warning=function(e,t,o){goog.log.ENABLED&&e&&e.warning(t,o)},goog.log.info=function(e,t,o){goog.log.ENABLED&&e&&e.info(t,o)},goog.log.fine=function(e,t,o){goog.log.ENABLED&&e&&e.fine(t,o)},goog.ui.tree.TreeNode=function(e,t,o){goog.ui.tree.BaseNode.call(this,e,t,o)},goog.inherits(goog.ui.tree.TreeNode,goog.ui.tree.BaseNode),goog.ui.tree.TreeNode.prototype.getTree=function(){if(this.tree)return this.tree;var e=this.getParent();return e&&(e=e.getTree())?(this.setTreeInternal(e),e):null},goog.ui.tree.TreeNode.prototype.getCalculatedIconClass=function(){var e=this.getExpanded(),t=this.getExpandedIconClass();if(e&&t)return t;if(t=this.getIconClass(),!e&&t)return t;if(t=this.getConfig(),this.hasChildren()){if(e&&t.cssExpandedFolderIcon)return t.cssTreeIcon+" "+t.cssExpandedFolderIcon;if(!e&&t.cssCollapsedFolderIcon)return t.cssTreeIcon+" "+t.cssCollapsedFolderIcon}else if(t.cssFileIcon)return t.cssTreeIcon+" "+t.cssFileIcon;return""},goog.structs={},goog.structs.getCount=function(e){return e.getCount&&"function"==typeof e.getCount?e.getCount():goog.isArrayLike(e)||goog.isString(e)?e.length:goog.object.getCount(e)},goog.structs.getValues=function(e){if(e.getValues&&"function"==typeof e.getValues)return e.getValues();if(goog.isString(e))return e.split("");if(goog.isArrayLike(e)){for(var t=[],o=e.length,n=0;n<o;n++)t.push(e[n]);return t}return goog.object.getValues(e)},goog.structs.getKeys=function(e){if(e.getKeys&&"function"==typeof e.getKeys)return e.getKeys();if(!e.getValues||"function"!=typeof e.getValues){if(goog.isArrayLike(e)||goog.isString(e)){var t=[];e=e.length;for(var o=0;o<e;o++)t.push(o);return t}return goog.object.getKeys(e)}},goog.structs.contains=function(e,t){return e.contains&&"function"==typeof e.contains?e.contains(t):e.containsValue&&"function"==typeof e.containsValue?e.containsValue(t):goog.isArrayLike(e)||goog.isString(e)?goog.array.contains(e,t):goog.object.containsValue(e,t)},goog.structs.isEmpty=function(e){return e.isEmpty&&"function"==typeof e.isEmpty?e.isEmpty():goog.isArrayLike(e)||goog.isString(e)?goog.array.isEmpty(e):goog.object.isEmpty(e)},goog.structs.clear=function(e){e.clear&&"function"==typeof e.clear?e.clear():goog.isArrayLike(e)?goog.array.clear(e):goog.object.clear(e)},goog.structs.forEach=function(e,t,o){if(e.forEach&&"function"==typeof e.forEach)e.forEach(t,o);else if(goog.isArrayLike(e)||goog.isString(e))goog.array.forEach(e,t,o);else for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)t.call(o,i[s],n&&n[s],e)},goog.structs.filter=function(e,t,o){if("function"==typeof e.filter)return e.filter(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.filter(e,t,o);var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length;if(n)for(var s={},a=0;a<r;a++)t.call(o,i[a],n[a],e)&&(s[n[a]]=i[a]);else for(s=[],a=0;a<r;a++)t.call(o,i[a],void 0,e)&&s.push(i[a]);return s},goog.structs.map=function(e,t,o){if("function"==typeof e.map)return e.map(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.map(e,t,o);var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length;if(n)for(var s={},a=0;a<r;a++)s[n[a]]=t.call(o,i[a],n[a],e);else for(s=[],a=0;a<r;a++)s[a]=t.call(o,i[a],void 0,e);return s},goog.structs.some=function(e,t,o){if("function"==typeof e.some)return e.some(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.some(e,t,o);for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)if(t.call(o,i[s],n&&n[s],e))return!0;return!1},goog.structs.every=function(e,t,o){if("function"==typeof e.every)return e.every(t,o);if(goog.isArrayLike(e)||goog.isString(e))return goog.array.every(e,t,o);for(var n=goog.structs.getKeys(e),i=goog.structs.getValues(e),r=i.length,s=0;s<r;s++)if(!t.call(o,i[s],n&&n[s],e))return!1;return!0},goog.structs.Trie=function(e){this.value_=void 0,this.childNodes_={},e&&this.setAll(e)},goog.structs.Trie.prototype.set=function(e,t){this.setOrAdd_(e,t,!1)},goog.structs.Trie.prototype.add=function(e,t){this.setOrAdd_(e,t,!0)},goog.structs.Trie.prototype.setOrAdd_=function(e,t,o){for(var n=this,i=0;i<e.length;i++){var r=e.charAt(i);n.childNodes_[r]||(n.childNodes_[r]=new goog.structs.Trie),n=n.childNodes_[r]}if(o&&void 0!==n.value_)throw Error('The collection already contains the key "'+e+'"');n.value_=t},goog.structs.Trie.prototype.setAll=function(e){var t=goog.structs.getKeys(e);e=goog.structs.getValues(e);for(var o=0;o<t.length;o++)this.set(t[o],e[o])},goog.structs.Trie.prototype.getChildNode_=function(e){for(var t=this,o=0;o<e.length;o++){var n=e.charAt(o);if(!(t=t.childNodes_[n]))return}return t},goog.structs.Trie.prototype.get=function(e){return(e=this.getChildNode_(e))?e.value_:void 0},goog.structs.Trie.prototype.getKeyAndPrefixes=function(e,t){var o=this,n={},i=t||0;for(void 0!==o.value_&&(n[i]=o.value_);i<e.length;i++){var r=e.charAt(i);if(!(r in o.childNodes_))break;void 0!==(o=o.childNodes_[r]).value_&&(n[i]=o.value_)}return n},goog.structs.Trie.prototype.getValues=function(){var e=[];return this.getValuesInternal_(e),e},goog.structs.Trie.prototype.getValuesInternal_=function(e){for(var t in void 0!==this.value_&&e.push(this.value_),this.childNodes_)this.childNodes_[t].getValuesInternal_(e)},goog.structs.Trie.prototype.getKeys=function(e){var t=[];if(e){for(var o=this,n=0;n<e.length;n++){var i=e.charAt(n);if(!o.childNodes_[i])return[];o=o.childNodes_[i]}o.getKeysInternal_(e,t)}else this.getKeysInternal_("",t);return t},goog.structs.Trie.prototype.getKeysInternal_=function(e,t){for(var o in void 0!==this.value_&&t.push(e),this.childNodes_)this.childNodes_[o].getKeysInternal_(e+o,t)},goog.structs.Trie.prototype.containsKey=function(e){return void 0!==this.get(e)},goog.structs.Trie.prototype.containsPrefix=function(e){return 0==e.length?!this.isEmpty():!!this.getChildNode_(e)},goog.structs.Trie.prototype.containsValue=function(e){if(this.value_===e)return!0;for(var t in this.childNodes_)if(this.childNodes_[t].containsValue(e))return!0;return!1},goog.structs.Trie.prototype.clear=function(){this.childNodes_={},this.value_=void 0},goog.structs.Trie.prototype.remove=function(e){for(var t=this,o=[],n=0;n<e.length;n++){var i=e.charAt(n);if(!t.childNodes_[i])throw Error('The collection does not have the key "'+e+'"');o.push([t,i]),t=t.childNodes_[i]}for(e=t.value_,delete t.value_;0<o.length&&(t=(i=o.pop())[0],i=i[1],t.childNodes_[i].isEmpty());)delete t.childNodes_[i];return e},goog.structs.Trie.prototype.clone=function(){return new goog.structs.Trie(this)},goog.structs.Trie.prototype.getCount=function(){return goog.structs.getCount(this.getValues())},goog.structs.Trie.prototype.isEmpty=function(){return void 0===this.value_&&goog.object.isEmpty(this.childNodes_)},goog.ui.tree.TypeAhead=function(){this.nodeMap_=new goog.structs.Trie,this.buffer_="",this.matchingNodes_=this.matchingLabels_=null,this.matchingNodeIndex_=this.matchingLabelIndex_=0},goog.ui.tree.TypeAhead.Offset={DOWN:1,UP:-1},goog.ui.tree.TypeAhead.prototype.handleNavigation=function(e){var t=!1;switch(e.keyCode){case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.UP:e.ctrlKey&&(this.jumpTo_(e.keyCode==goog.events.KeyCodes.DOWN?goog.ui.tree.TypeAhead.Offset.DOWN:goog.ui.tree.TypeAhead.Offset.UP),t=!0);break;case goog.events.KeyCodes.BACKSPACE:t=!0,0<(e=this.buffer_.length-1)?(this.buffer_=this.buffer_.substring(0,e),this.jumpToLabel_(this.buffer_)):0==e?this.buffer_="":t=!1;break;case goog.events.KeyCodes.ESC:this.buffer_="",t=!0}return t},goog.ui.tree.TypeAhead.prototype.handleTypeAheadChar=function(e){var t=!1;return e.ctrlKey||e.altKey||(e=String.fromCharCode(e.charCode||e.keyCode).toLowerCase(),goog.string.isUnicodeChar(e)&&(" "!=e||this.buffer_)&&(this.buffer_+=e,t=this.jumpToLabel_(this.buffer_))),t},goog.ui.tree.TypeAhead.prototype.setNodeInMap=function(e){var t=e.getText();if(t&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(t))){t=t.toLowerCase();var o=this.nodeMap_.get(t);o?o.push(e):this.nodeMap_.set(t,[e])}},goog.ui.tree.TypeAhead.prototype.removeNodeFromMap=function(e){var t=e.getText();if(t&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(t))){t=t.toLowerCase();var o=this.nodeMap_.get(t);if(o){for(var n=e.getChildCount(),i=0;i<n;i++)this.removeNodeFromMap(e.getChildAt(i));goog.array.remove(o,e),o.length||this.nodeMap_.remove(t)}}},goog.ui.tree.TypeAhead.prototype.jumpToLabel_=function(e){var t=!1;return(e=this.nodeMap_.getKeys(e))&&e.length&&(this.matchingLabelIndex_=this.matchingNodeIndex_=0,t=this.nodeMap_.get(e[0]),t=this.selectMatchingNode_(t))&&(this.matchingLabels_=e),t},goog.ui.tree.TypeAhead.prototype.jumpTo_=function(e){var t=!1,o=this.matchingLabels_;if(o){t=null;var n=!1;if(this.matchingNodes_){var i=this.matchingNodeIndex_+e;0<=i&&i<this.matchingNodes_.length?(this.matchingNodeIndex_=i,t=this.matchingNodes_):n=!0}t||(0<=(i=this.matchingLabelIndex_+e)&&i<o.length&&(this.matchingLabelIndex_=i),o.length>this.matchingLabelIndex_&&(t=this.nodeMap_.get(o[this.matchingLabelIndex_])),t&&t.length&&n&&(this.matchingNodeIndex_=e==goog.ui.tree.TypeAhead.Offset.UP?t.length-1:0)),(t=this.selectMatchingNode_(t))&&(this.matchingLabels_=o)}return t},goog.ui.tree.TypeAhead.prototype.selectMatchingNode_=function(e){if(e){if(this.matchingNodeIndex_<e.length){var t=e[this.matchingNodeIndex_];this.matchingNodes_=e}t&&(t.reveal(),t.select())}return!!t},goog.ui.tree.TypeAhead.prototype.clear=function(){this.buffer_=""},goog.ui.tree.TreeControl=function(e,t,o){if(goog.ui.tree.BaseNode.call(this,e,t,o),this.setExpandedInternal(!0),this.setSelectedInternal(!0),this.selectedItem_=this,this.typeAhead_=new goog.ui.tree.TypeAhead,this.focusHandler_=this.keyHandler_=null,this.logger_=goog.log.getLogger("this"),this.focused_=!1,this.focusedNode_=null,this.showRootLines_=this.showRootNode_=this.showExpandIcons_=this.showLines_=!0,goog.userAgent.IE)try{document.execCommand("BackgroundImageCache",!1,!0)}catch(e){goog.log.warning(this.logger_,"Failed to enable background image cache")}},goog.inherits(goog.ui.tree.TreeControl,goog.ui.tree.BaseNode),goog.ui.tree.TreeControl.prototype.getTree=function(){return this},goog.ui.tree.TreeControl.prototype.getDepth=function(){return 0},goog.ui.tree.TreeControl.prototype.reveal=function(){},goog.ui.tree.TreeControl.prototype.handleFocus_=function(e){this.focused_=!0,goog.dom.classlist.add(goog.asserts.assert(this.getElement()),"focused"),this.selectedItem_&&this.selectedItem_.select()},goog.ui.tree.TreeControl.prototype.handleBlur_=function(e){this.focused_=!1,goog.dom.classlist.remove(goog.asserts.assert(this.getElement()),"focused")},goog.ui.tree.TreeControl.prototype.hasFocus=function(){return this.focused_},goog.ui.tree.TreeControl.prototype.getExpanded=function(){return!this.showRootNode_||goog.ui.tree.TreeControl.superClass_.getExpanded.call(this)},goog.ui.tree.TreeControl.prototype.setExpanded=function(e){this.showRootNode_?goog.ui.tree.TreeControl.superClass_.setExpanded.call(this,e):this.setExpandedInternal(e)},goog.ui.tree.TreeControl.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.EMPTY},goog.ui.tree.TreeControl.prototype.getIconElement=function(){var e=this.getRowElement();return e?e.firstChild:null},goog.ui.tree.TreeControl.prototype.getExpandIconElement=function(){return null},goog.ui.tree.TreeControl.prototype.updateExpandIcon=function(){},goog.ui.tree.TreeControl.prototype.getRowClassName=function(){return goog.ui.tree.TreeControl.superClass_.getRowClassName.call(this)+(this.showRootNode_?"":" "+this.getConfig().cssHideRoot)},goog.ui.tree.TreeControl.prototype.getCalculatedIconClass=function(){var e=this.getExpanded(),t=this.getExpandedIconClass();return e&&t?t:(t=this.getIconClass(),!e&&t?t:(t=this.getConfig(),e&&t.cssExpandedRootIcon?t.cssTreeIcon+" "+t.cssExpandedRootIcon:!e&&t.cssCollapsedRootIcon?t.cssTreeIcon+" "+t.cssCollapsedRootIcon:""))},goog.ui.tree.TreeControl.prototype.setSelectedItem=function(e){if(this.selectedItem_!=e){var t=!1;this.selectedItem_&&(t=this.selectedItem_==this.focusedNode_,this.selectedItem_.setSelectedInternal(!1)),(this.selectedItem_=e)&&(e.setSelectedInternal(!0),t&&e.select()),this.dispatchEvent(goog.events.EventType.CHANGE)}},goog.ui.tree.TreeControl.prototype.getSelectedItem=function(){return this.selectedItem_},goog.ui.tree.TreeControl.prototype.setShowLines=function(e){this.showLines_!=e&&(this.showLines_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowLines=function(){return this.showLines_},goog.ui.tree.TreeControl.prototype.updateLinesAndExpandIcons_=function(){var e=this,t=e.getShowLines(),o=e.getShowRootLines();!function n(i){var r=i.getChildrenElement();if(r){var s=!t||e==i.getParent()&&!o?i.getConfig().cssChildrenNoLines:i.getConfig().cssChildren;r.className=s,(r=i.getExpandIconElement())&&(r.className=i.getExpandIconClass())}i.forEachChild(n)}(this)},goog.ui.tree.TreeControl.prototype.setShowRootLines=function(e){this.showRootLines_!=e&&(this.showRootLines_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowRootLines=function(){return this.showRootLines_},goog.ui.tree.TreeControl.prototype.setShowExpandIcons=function(e){this.showExpandIcons_!=e&&(this.showExpandIcons_=e,this.isInDocument()&&this.updateLinesAndExpandIcons_())},goog.ui.tree.TreeControl.prototype.getShowExpandIcons=function(){return this.showExpandIcons_},goog.ui.tree.TreeControl.prototype.setShowRootNode=function(e){if(this.showRootNode_!=e){if(this.showRootNode_=e,this.isInDocument()){var t=this.getRowElement();t&&(t.className=this.getRowClassName())}!e&&this.getSelectedItem()==this&&this.getFirstChild()&&this.setSelectedItem(this.getFirstChild())}},goog.ui.tree.TreeControl.prototype.getShowRootNode=function(){return this.showRootNode_},goog.ui.tree.TreeControl.prototype.initAccessibility=function(){goog.ui.tree.TreeControl.superClass_.initAccessibility.call(this);var e=this.getElement();goog.asserts.assert(e,"The DOM element for the tree cannot be null."),goog.a11y.aria.setRole(e,"tree"),goog.a11y.aria.setState(e,"labelledby",this.getLabelElement().id)},goog.ui.tree.TreeControl.prototype.enterDocument=function(){goog.ui.tree.TreeControl.superClass_.enterDocument.call(this);var e=this.getElement();e.className=this.getConfig().cssRoot,e.setAttribute("hideFocus","true"),this.attachEvents_(),this.initAccessibility()},goog.ui.tree.TreeControl.prototype.exitDocument=function(){goog.ui.tree.TreeControl.superClass_.exitDocument.call(this),this.detachEvents_()},goog.ui.tree.TreeControl.prototype.attachEvents_=function(){var e=this.getElement();e.tabIndex=0;var t=this.keyHandler_=new goog.events.KeyHandler(e),o=this.focusHandler_=new goog.events.FocusHandler(e);this.getHandler().listen(o,goog.events.FocusHandler.EventType.FOCUSOUT,this.handleBlur_).listen(o,goog.events.FocusHandler.EventType.FOCUSIN,this.handleFocus_).listen(t,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(e,goog.events.EventType.MOUSEDOWN,this.handleMouseEvent_).listen(e,goog.events.EventType.CLICK,this.handleMouseEvent_).listen(e,goog.events.EventType.DBLCLICK,this.handleMouseEvent_)},goog.ui.tree.TreeControl.prototype.detachEvents_=function(){this.keyHandler_.dispose(),this.keyHandler_=null,this.focusHandler_.dispose(),this.focusHandler_=null},goog.ui.tree.TreeControl.prototype.handleMouseEvent_=function(e){goog.log.fine(this.logger_,"Received event "+e.type);var t=this.getNodeFromEvent_(e);if(t)switch(e.type){case goog.events.EventType.MOUSEDOWN:t.onMouseDown(e);break;case goog.events.EventType.CLICK:t.onClick_(e);break;case goog.events.EventType.DBLCLICK:t.onDoubleClick_(e)}},goog.ui.tree.TreeControl.prototype.handleKeyEvent=function(e){var t;return(t=this.typeAhead_.handleNavigation(e)||this.selectedItem_&&this.selectedItem_.onKeyDown(e)||this.typeAhead_.handleTypeAheadChar(e))&&e.preventDefault(),t},goog.ui.tree.TreeControl.prototype.getNodeFromEvent_=function(e){for(var t=e.target;null!=t;){if(e=goog.ui.tree.BaseNode.allNodes[t.id])return e;if(t==this.getElement())break;t=t.parentNode}return null},goog.ui.tree.TreeControl.prototype.createNode=function(e){return new goog.ui.tree.TreeNode(e||goog.html.SafeHtml.EMPTY,this.getConfig(),this.getDomHelper())},goog.ui.tree.TreeControl.prototype.setNode=function(e){this.typeAhead_.setNodeInMap(e)},goog.ui.tree.TreeControl.prototype.removeNode=function(e){this.typeAhead_.removeNodeFromMap(e)},goog.ui.tree.TreeControl.prototype.clearTypeAhead=function(){this.typeAhead_.clear()},goog.ui.tree.TreeControl.defaultConfig=goog.ui.tree.BaseNode.defaultConfig;var Blockly={};Blockly.Blocks=Object.create(null),Blockly.Msg={},goog.getMsgOrig=goog.getMsg,goog.getMsg=function(e,t){var o=goog.getMsg.blocklyMsgMap[e];return o&&(e=Blockly.Msg[o]),goog.getMsgOrig(e,t)},goog.getMsg.blocklyMsgMap={Today:"TODAY"},Blockly.utils={},Blockly.utils.base={},Blockly.utils.global=this||self,Blockly.utils.Coordinate=function(e,t){this.x=e,this.y=t},Blockly.utils.Coordinate.equals=function(e,t){return e==t||!(!e||!t)&&(e.x==t.x&&e.y==t.y)},Blockly.utils.Coordinate.distance=function(e,t){var o=e.x-t.x,n=e.y-t.y;return Math.sqrt(o*o+n*n)},Blockly.utils.Coordinate.magnitude=function(e){return Math.sqrt(e.x*e.x+e.y*e.y)},Blockly.utils.Coordinate.difference=function(e,t){return new Blockly.utils.Coordinate(e.x-t.x,e.y-t.y)},Blockly.utils.Coordinate.sum=function(e,t){return new Blockly.utils.Coordinate(e.x+t.x,e.y+t.y)},Blockly.utils.Coordinate.prototype.scale=function(e){return this.x*=e,this.y*=e,this},Blockly.utils.Coordinate.prototype.translate=function(e,t){return this.x+=e,this.y+=t,this},Blockly.utils.string={},Blockly.utils.string.startsWith=function(e,t){return 0==e.lastIndexOf(t,0)},Blockly.utils.string.shortestStringLength=function(e){return e.length?e.reduce((function(e,t){return e.length<t.length?e:t})).length:0},Blockly.utils.string.commonWordPrefix=function(e,t){if(!e.length)return 0;if(1==e.length)return e[0].length;for(var o=0,n=t||Blockly.utils.string.shortestStringLength(e),i=0;i<n;i++){for(var r=e[0][i],s=1;s<e.length;s++)if(r!=e[s][i])return o;" "==r&&(o=i+1)}for(s=1;s<e.length;s++)if((r=e[s][i])&&" "!=r)return o;return n},Blockly.utils.string.commonWordSuffix=function(e,t){if(!e.length)return 0;if(1==e.length)return e[0].length;for(var o=0,n=t||Blockly.utils.string.shortestStringLength(e),i=0;i<n;i++){for(var r=e[0].substr(-i-1,1),s=1;s<e.length;s++)if(r!=e[s].substr(-i-1,1))return o;" "==r&&(o=i+1)}for(s=1;s<e.length;s++)if((r=e[s].charAt(e[s].length-i-1))&&" "!=r)return o;return n},Blockly.utils.string.wrap=function(e,t){for(var o=e.split("\n"),n=0;n<o.length;n++)o[n]=Blockly.utils.string.wrapLine_(o[n],t);return o.join("\n")},Blockly.utils.string.wrapLine_=function(e,t){if(e.length<=t)return e;for(var o=e.trim().split(/\s+/),n=0;n<o.length;n++)o[n].length>t&&(t=o[n].length);n=-1/0;var i=1;do{var r=n,s=e,a=[],l=o.length/i,u=1;for(n=0;n<o.length-1;n++)u<(n+1.5)/l?(u++,a[n]=!0):a[n]=!1;a=Blockly.utils.string.wrapMutate_(o,a,t),n=Blockly.utils.string.wrapScore_(o,a,t),e=Blockly.utils.string.wrapToText_(o,a),i++}while(n>r);return s},Blockly.utils.string.wrapScore_=function(e,t,o){for(var n=[0],i=[],r=0;r<e.length;r++)n[n.length-1]+=e[r].length,!0===t[r]?(n.push(0),i.push(e[r].charAt(e[r].length-1))):!1===t[r]&&n[n.length-1]++;for(e=Math.max.apply(Math,n),r=t=0;r<n.length;r++)t-=2*Math.pow(Math.abs(o-n[r]),1.5),t-=Math.pow(e-n[r],1.5),-1!=".?!".indexOf(i[r])?t+=o/3:-1!=",;)]}".indexOf(i[r])&&(t+=o/4);return 1<n.length&&n[n.length-1]<=n[n.length-2]&&(t+=.5),t},Blockly.utils.string.wrapMutate_=function(e,t,o){for(var n,i=Blockly.utils.string.wrapScore_(e,t,o),r=0;r<t.length-1;r++)if(t[r]!=t[r+1]){var s=[].concat(t);s[r]=!s[r],s[r+1]=!s[r+1];var a=Blockly.utils.string.wrapScore_(e,s,o);a>i&&(i=a,n=s)}return n?Blockly.utils.string.wrapMutate_(e,n,o):t},Blockly.utils.string.wrapToText_=function(e,t){for(var o=[],n=0;n<e.length;n++)o.push(e[n]),void 0!==t[n]&&o.push(t[n]?"\n":" ");return o.join("")},Blockly.utils.userAgent={},function(e){function t(e){return-1!=o.indexOf(e.toUpperCase())}Blockly.utils.userAgent.raw=e;var o=Blockly.utils.userAgent.raw.toUpperCase();Blockly.utils.userAgent.IE=t("Trident")||t("MSIE"),Blockly.utils.userAgent.EDGE=t("Edge"),Blockly.utils.userAgent.JAVA_FX=t("JavaFX"),Blockly.utils.userAgent.WEBKIT=t("WebKit")&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.GECKO=t("Gecko")&&!Blockly.utils.userAgent.WEBKIT&&!Blockly.utils.userAgent.IE&&!Blockly.utils.userAgent.EDGE,Blockly.utils.userAgent.ANDROID=t("Android"),Blockly.utils.userAgent.IPAD=t("iPad"),Blockly.utils.userAgent.IPOD=t("iPod"),Blockly.utils.userAgent.IPHONE=t("iPhone")&&!Blockly.utils.userAgent.IPAD&&!Blockly.utils.userAgent.IPOD,Blockly.utils.userAgent.MAC=t("Macintosh"),Blockly.utils.userAgent.TABLET=Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.ANDROID&&!t("Mobile")||t("Silk"),Blockly.utils.userAgent.MOBILE=!Blockly.utils.userAgent.TABLET&&(Blockly.utils.userAgent.IPOD||Blockly.utils.userAgent.IPHONE||Blockly.utils.userAgent.ANDROID||t("IEMobile"))}(Blockly.utils.global.navigator&&Blockly.utils.global.navigator.userAgent||""),Blockly.utils.noEvent=function(e){e.preventDefault(),e.stopPropagation()},Blockly.utils.isTargetInput=function(e){return"textarea"==e.target.type||"text"==e.target.type||"number"==e.target.type||"email"==e.target.type||"password"==e.target.type||"search"==e.target.type||"tel"==e.target.type||"url"==e.target.type||e.target.isContentEditable},Blockly.utils.getRelativeXY=function(e){var t=new Blockly.utils.Coordinate(0,0),o=e.getAttribute("x");return o&&(t.x=parseInt(o,10)),(o=e.getAttribute("y"))&&(t.y=parseInt(o,10)),(o=(o=e.getAttribute("transform"))&&o.match(Blockly.utils.getRelativeXY.XY_REGEX_))&&(t.x+=parseFloat(o[1]),o[3]&&(t.y+=parseFloat(o[3]))),(e=e.getAttribute("style"))&&-1<e.indexOf("translate")&&(e=e.match(Blockly.utils.getRelativeXY.XY_STYLE_REGEX_))&&(t.x+=parseFloat(e[1]),e[3]&&(t.y+=parseFloat(e[3]))),t},Blockly.utils.getInjectionDivXY_=function(e){for(var t=0,o=0;e;){var n=Blockly.utils.getRelativeXY(e);if(t+=n.x,o+=n.y,-1!=(" "+(e.getAttribute("class")||"")+" ").indexOf(" injectionDiv "))break;e=e.parentNode}return new Blockly.utils.Coordinate(t,o)},Blockly.utils.getRelativeXY.XY_REGEX_=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*)?/,Blockly.utils.getRelativeXY.XY_STYLE_REGEX_=/transform:\s*translate(?:3d)?\(\s*([-+\d.e]+)\s*px([ ,]\s*([-+\d.e]+)\s*px)?/,Blockly.utils.isRightButton=function(e){return!(!e.ctrlKey||!Blockly.utils.userAgent.MAC)||2==e.button},Blockly.utils.mouseToSvg=function(e,t,o){var n=t.createSVGPoint();return n.x=e.clientX,n.y=e.clientY,o||(o=t.getScreenCTM().inverse()),n.matrixTransform(o)},Blockly.utils.getScrollDeltaPixels=function(e){switch(e.deltaMode){case 0:return{x:e.deltaX,y:e.deltaY};case 1:return{x:e.deltaX*Blockly.LINE_MODE_MULTIPLIER,y:e.deltaY*Blockly.LINE_MODE_MULTIPLIER};case 2:return{x:e.deltaX*Blockly.PAGE_MODE_MULTIPLIER,y:e.deltaY*Blockly.PAGE_MODE_MULTIPLIER}}},Blockly.utils.tokenizeInterpolation=function(e){return Blockly.utils.tokenizeInterpolation_(e,!0)},Blockly.utils.replaceMessageReferences=function(e){return"string"!=typeof e?e:(e=Blockly.utils.tokenizeInterpolation_(e,!1)).length?e[0]:""},Blockly.utils.checkMessageReferences=function(e){for(var t=!0,o=Blockly.Msg,n=e.match(/%{BKY_[A-Z]\w*}/gi),i=0;i<n.length;i++){null==o[n[i].toUpperCase().slice(6,-1)]&&(console.log("WARNING: No message string for "+n[i]+" in "+e),t=!1)}return t},Blockly.utils.tokenizeInterpolation_=function(e,t){var o=[],n=e.split("");n.push("");for(var i=0,r=[],s=null,a=0;a<n.length;a++){var l=n[a];0==i?"%"==l?((l=r.join(""))&&o.push(l),r.length=0,i=1):r.push(l):1==i?"%"==l?(r.push(l),i=0):t&&"0"<=l&&"9">=l?(i=2,s=l,(l=r.join(""))&&o.push(l),r.length=0):"{"==l?i=3:(r.push("%",l),i=0):2==i?"0"<=l&&"9">=l?s+=l:(o.push(parseInt(s,10)),a--,i=0):3==i&&(""==l?(r.splice(0,0,"%{"),a--,i=0):"}"!=l?r.push(l):(i=r.join(""),/[A-Z]\w*/i.test(i)?(l=i.toUpperCase(),(l=Blockly.utils.string.startsWith(l,"BKY_")?l.substring(4):null)&&l in Blockly.Msg?"string"==typeof(i=Blockly.Msg[l])?Array.prototype.push.apply(o,Blockly.utils.tokenizeInterpolation_(i,t)):t?o.push(String(i)):o.push(i):o.push("%{"+i+"}")):o.push("%{"+i+"}"),i=r.length=0))}for((l=r.join(""))&&o.push(l),n=[],a=r.length=0;a<o.length;++a)"string"==typeof o[a]?r.push(o[a]):((l=r.join(""))&&n.push(l),r.length=0,n.push(o[a]));return(l=r.join(""))&&n.push(l),r.length=0,n},Blockly.utils.genUid=function(){for(var e=Blockly.utils.genUid.soup_.length,t=[],o=0;20>o;o++)t[o]=Blockly.utils.genUid.soup_.charAt(Math.random()*e);return t.join("")},Blockly.utils.genUid.soup_="!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",Blockly.utils.is3dSupported=function(){if(void 0!==Blockly.utils.is3dSupported.cached_)return Blockly.utils.is3dSupported.cached_;if(!Blockly.utils.global.getComputedStyle)return!1;var e=document.createElement("p"),t="none",o={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};for(var n in document.body.insertBefore(e,null),o)if(void 0!==e.style[n]){if(e.style[n]="translate3d(1px,1px,1px)",!(t=Blockly.utils.global.getComputedStyle(e)))return document.body.removeChild(e),!1;t=t.getPropertyValue(o[n])}return document.body.removeChild(e),Blockly.utils.is3dSupported.cached_="none"!==t,Blockly.utils.is3dSupported.cached_},Blockly.utils.runAfterPageLoad=function(e){if("object"!=typeof document)throw Error("Blockly.utils.runAfterPageLoad() requires browser document.");if("complete"==document.readyState)e();else var t=setInterval((function(){"complete"==document.readyState&&(clearInterval(t),e())}),10)},Blockly.utils.getViewportBBox=function(){var e=goog.style.getViewportPageOffset(document);return{right:document.documentElement.clientWidth+e.x,bottom:document.documentElement.clientHeight+e.y,top:e.y,left:e.x}},Blockly.utils.arrayRemove=function(e,t){var o=e.indexOf(t);return-1!=o&&(e.splice(o,1),!0)},Blockly.utils.getDocumentScroll=function(){var e=document.documentElement,t=window;return Blockly.utils.userAgent.IE&&t.pageYOffset!=e.scrollTop?new Blockly.utils.Coordinate(e.scrollLeft,e.scrollTop):new Blockly.utils.Coordinate(t.pageXOffset||e.scrollLeft,t.pageYOffset||e.scrollTop)},Blockly.utils.getBlockTypeCounts=function(e,t){var o,n=Object.create(null),i=e.getDescendants(!0);if(t){var r=e.getNextBlock();r&&(r=i.indexOf(r),i.splice(r,i.length-r))}for(r=0;o=i[r];r++)n[o.type]?n[o.type]++:n[o.type]=1;return n},Blockly.Touch={},Blockly.Touch.TOUCH_ENABLED="ontouchstart"in Blockly.utils.global||!!(Blockly.utils.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!Blockly.utils.global.navigator||!Blockly.utils.global.navigator.maxTouchPoints&&!Blockly.utils.global.navigator.msMaxTouchPoints),Blockly.Touch.touchIdentifier_=null,Blockly.Touch.TOUCH_MAP={},Blockly.utils.global.PointerEvent?Blockly.Touch.TOUCH_MAP={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]}:Blockly.Touch.TOUCH_ENABLED&&(Blockly.Touch.TOUCH_MAP={mousedown:["touchstart"],mousemove:["touchmove"],mouseup:["touchend","touchcancel"]}),Blockly.longPid_=0,Blockly.longStart_=function(e,t){Blockly.longStop_(),e.changedTouches&&1!=e.changedTouches.length||(Blockly.longPid_=setTimeout((function(){e.changedTouches&&(e.button=2,e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY),t&&t.handleRightClick(e)}),Blockly.LONGPRESS))},Blockly.longStop_=function(){Blockly.longPid_&&(clearTimeout(Blockly.longPid_),Blockly.longPid_=0)},Blockly.Touch.clearTouchIdentifier=function(){Blockly.Touch.touchIdentifier_=null},Blockly.Touch.shouldHandleEvent=function(e){return!Blockly.Touch.isMouseOrTouchEvent(e)||Blockly.Touch.checkTouchIdentifier(e)},Blockly.Touch.getTouchIdentifierFromEvent=function(e){return null!=e.pointerId?e.pointerId:e.changedTouches&&e.changedTouches[0]&&void 0!==e.changedTouches[0].identifier&&null!==e.changedTouches[0].identifier?e.changedTouches[0].identifier:"mouse"},Blockly.Touch.checkTouchIdentifier=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);return void 0!==Blockly.Touch.touchIdentifier_&&null!==Blockly.Touch.touchIdentifier_?Blockly.Touch.touchIdentifier_==t:("mousedown"==e.type||"touchstart"==e.type||"pointerdown"==e.type)&&(Blockly.Touch.touchIdentifier_=t,!0)},Blockly.Touch.setClientFromTouch=function(e){if(Blockly.utils.string.startsWith(e.type,"touch")){var t=e.changedTouches[0];e.clientX=t.clientX,e.clientY=t.clientY}},Blockly.Touch.isMouseOrTouchEvent=function(e){return Blockly.utils.string.startsWith(e.type,"touch")||Blockly.utils.string.startsWith(e.type,"mouse")||Blockly.utils.string.startsWith(e.type,"pointer")},Blockly.Touch.isTouchEvent=function(e){return Blockly.utils.string.startsWith(e.type,"touch")||Blockly.utils.string.startsWith(e.type,"pointer")},Blockly.Touch.splitEventByTouches=function(e){var t=[];if(e.changedTouches)for(var o=0;o<e.changedTouches.length;o++)t[o]={type:e.type,changedTouches:[e.changedTouches[o]],target:e.target,stopPropagation:function(){e.stopPropagation()},preventDefault:function(){e.preventDefault()}};else t.push(e);return t},Blockly.utils.dom={},Blockly.utils.dom.SVG_NS="http://www.w3.org/2000/svg",Blockly.utils.dom.HTML_NS="http://www.w3.org/1999/xhtml",Blockly.utils.dom.XLINK_NS="http://www.w3.org/1999/xlink",Blockly.utils.dom.Node={ELEMENT_NODE:1,TEXT_NODE:3,COMMENT_NODE:8,DOCUMENT_POSITION_CONTAINED_BY:16},Blockly.utils.dom.createSvgElement=function(e,t,o){for(var n in e=document.createElementNS(Blockly.utils.dom.SVG_NS,e),t)e.setAttribute(n,t[n]);return document.body.runtimeStyle&&(e.runtimeStyle=e.currentStyle=e.style),o&&o.appendChild(e),e},Blockly.utils.dom.addClass=function(e,t){var o=e.getAttribute("class")||"";return-1==(" "+o+" ").indexOf(" "+t+" ")&&(o&&(o+=" "),e.setAttribute("class",o+t),!0)},Blockly.utils.dom.removeClass=function(e,t){var o=e.getAttribute("class");if(-1==(" "+o+" ").indexOf(" "+t+" "))return!1;o=o.split(/\s+/);for(var n=0;n<o.length;n++)o[n]&&o[n]!=t||(o.splice(n,1),n--);return o.length?e.setAttribute("class",o.join(" ")):e.removeAttribute("class"),!0},Blockly.utils.dom.hasClass=function(e,t){return-1!=(" "+e.getAttribute("class")+" ").indexOf(" "+t+" ")},Blockly.utils.dom.removeNode=function(e){return e&&e.parentNode?e.parentNode.removeChild(e):null},Blockly.utils.dom.insertAfter=function(e,t){var o=t.nextSibling,n=t.parentNode;if(!n)throw Error("Reference node has no parent.");o?n.insertBefore(e,o):n.appendChild(e)},Blockly.utils.dom.containsNode=function(e,t){return!!(e.compareDocumentPosition(t)&Blockly.utils.dom.Node.DOCUMENT_POSITION_CONTAINED_BY)},Blockly.utils.dom.setCssTransform=function(e,t){e.style.transform=t,e.style["-webkit-transform"]=t},Blockly.utils.math={},Blockly.utils.math.toRadians=function(e){return e*Math.PI/180},Blockly.utils.math.toDegrees=function(e){return 180*e/Math.PI},Blockly.utils.math.clamp=function(e,t,o){if(o<e){var n=o;o=e,e=n}return Math.max(e,Math.min(t,o))},Blockly.Events={},Blockly.Events.group_="",Blockly.Events.recordUndo=!0,Blockly.Events.disabled_=0,Blockly.Events.CREATE="create",Blockly.Events.BLOCK_CREATE=Blockly.Events.CREATE,Blockly.Events.DELETE="delete",Blockly.Events.BLOCK_DELETE=Blockly.Events.DELETE,Blockly.Events.CHANGE="change",Blockly.Events.BLOCK_CHANGE=Blockly.Events.CHANGE,Blockly.Events.MOVE="move",Blockly.Events.BLOCK_MOVE=Blockly.Events.MOVE,Blockly.Events.VAR_CREATE="var_create",Blockly.Events.VAR_DELETE="var_delete",Blockly.Events.VAR_RENAME="var_rename",Blockly.Events.UI="ui",Blockly.Events.COMMENT_CREATE="comment_create",Blockly.Events.COMMENT_DELETE="comment_delete",Blockly.Events.COMMENT_CHANGE="comment_change",Blockly.Events.COMMENT_MOVE="comment_move",Blockly.Events.FINISHED_LOADING="finished_loading",Blockly.Events.BUMP_EVENTS=[Blockly.Events.BLOCK_CREATE,Blockly.Events.BLOCK_MOVE,Blockly.Events.COMMENT_CREATE,Blockly.Events.COMMENT_MOVE],Blockly.Events.FIRE_QUEUE_=[],Blockly.Events.fire=function(e){Blockly.Events.isEnabled()&&(Blockly.Events.FIRE_QUEUE_.length||setTimeout(Blockly.Events.fireNow_,0),Blockly.Events.FIRE_QUEUE_.push(e))},Blockly.Events.fireNow_=function(){for(var e,t=Blockly.Events.filter(Blockly.Events.FIRE_QUEUE_,!0),o=Blockly.Events.FIRE_QUEUE_.length=0;e=t[o];o++){var n=Blockly.Workspace.getById(e.workspaceId);n&&n.fireChangeListener(e)}},Blockly.Events.filter=function(e,t){var o=e.slice();t||o.reverse();for(var n,i=[],r=Object.create(null),s=0;n=o[s];s++)if(!n.isNull()){var a=[n.type,n.blockId,n.workspaceId].join(" "),l=r[a],u=l?l.event:null;l?n.type==Blockly.Events.MOVE&&l.index==s-1?(u.newParentId=n.newParentId,u.newInputName=n.newInputName,u.newCoordinate=n.newCoordinate,l.index=s):n.type==Blockly.Events.CHANGE&&n.element==u.element&&n.name==u.name?u.newValue=n.newValue:(n.type!=Blockly.Events.UI||"click"!=n.element||"commentOpen"!=u.element&&"mutatorOpen"!=u.element&&"warningOpen"!=u.element)&&(r[a]={event:n,index:1},i.push(n)):(r[a]={event:n,index:s},i.push(n))}for(o=i.filter((function(e){return!e.isNull()})),t||o.reverse(),s=1;n=o[s];s++)n.type==Blockly.Events.CHANGE&&"mutation"==n.element&&o.unshift(o.splice(s,1)[0]);return o},Blockly.Events.clearPendingUndo=function(){for(var e,t=0;e=Blockly.Events.FIRE_QUEUE_[t];t++)e.recordUndo=!1},Blockly.Events.disable=function(){Blockly.Events.disabled_++},Blockly.Events.enable=function(){Blockly.Events.disabled_--},Blockly.Events.isEnabled=function(){return 0==Blockly.Events.disabled_},Blockly.Events.getGroup=function(){return Blockly.Events.group_},Blockly.Events.setGroup=function(e){Blockly.Events.group_="boolean"==typeof e?e?Blockly.utils.genUid():"":e},Blockly.Events.getDescendantIds_=function(e){var t=[];e=e.getDescendants(!1);for(var o,n=0;o=e[n];n++)t[n]=o.id;return t},Blockly.Events.fromJson=function(e,t){switch(e.type){case Blockly.Events.CREATE:var o=new Blockly.Events.Create(null);break;case Blockly.Events.DELETE:o=new Blockly.Events.Delete(null);break;case Blockly.Events.CHANGE:o=new Blockly.Events.Change(null,"","","","");break;case Blockly.Events.MOVE:o=new Blockly.Events.Move(null);break;case Blockly.Events.VAR_CREATE:o=new Blockly.Events.VarCreate(null);break;case Blockly.Events.VAR_DELETE:o=new Blockly.Events.VarDelete(null);break;case Blockly.Events.VAR_RENAME:o=new Blockly.Events.VarRename(null,"");break;case Blockly.Events.UI:o=new Blockly.Events.Ui(null);break;case Blockly.Events.COMMENT_CREATE:o=new Blockly.Events.CommentCreate(null);break;case Blockly.Events.COMMENT_CHANGE:o=new Blockly.Events.CommentChange(null);break;case Blockly.Events.COMMENT_MOVE:o=new Blockly.Events.CommentMove(null);break;case Blockly.Events.COMMENT_DELETE:o=new Blockly.Events.CommentDelete(null);break;default:throw Error("Unknown event type.")}return o.fromJson(e),o.workspaceId=t.id,o},Blockly.Events.disableOrphans=function(e){if(e.type==Blockly.Events.MOVE||e.type==Blockly.Events.CREATE){var t=Blockly.Workspace.getById(e.workspaceId);if(e=t.getBlockById(e.blockId)){var o=e.getParent();if(o&&o.isEnabled())for(t=e.getDescendants(!1),e=0;o=t[e];e++)o.setEnabled(!0);else if((e.outputConnection||e.previousConnection)&&!t.isDragging())do{e.setEnabled(!1),e=e.getNextBlock()}while(e)}}},Blockly.Events.Abstract=function(){this.workspaceId=void 0,this.group=Blockly.Events.group_,this.recordUndo=Blockly.Events.recordUndo},Blockly.Events.Abstract.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),e},Blockly.Events.Abstract.prototype.fromJson=function(e){this.group=e.group},Blockly.Events.Abstract.prototype.isNull=function(){return!1},Blockly.Events.Abstract.prototype.run=function(e){},Blockly.Events.Abstract.prototype.getEventWorkspace_=function(){var e=Blockly.Workspace.getById(this.workspaceId);if(!e)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return e},Blockly.Events.VarBase=function(e){Blockly.Events.VarBase.superClass_.constructor.call(this),this.varId=e.getId(),this.workspaceId=e.workspace.id},goog.inherits(Blockly.Events.VarBase,Blockly.Events.Abstract),Blockly.Events.VarBase.prototype.toJson=function(){var e=Blockly.Events.VarBase.superClass_.toJson.call(this);return e.varId=this.varId,e},Blockly.Events.VarBase.prototype.fromJson=function(e){Blockly.Events.VarBase.superClass_.toJson.call(this),this.varId=e.varId},Blockly.Events.VarCreate=function(e){e&&(Blockly.Events.VarCreate.superClass_.constructor.call(this,e),this.varType=e.type,this.varName=e.name)},goog.inherits(Blockly.Events.VarCreate,Blockly.Events.VarBase),Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE,Blockly.Events.VarCreate.prototype.toJson=function(){var e=Blockly.Events.VarCreate.superClass_.toJson.call(this);return e.varType=this.varType,e.varName=this.varName,e},Blockly.Events.VarCreate.prototype.fromJson=function(e){Blockly.Events.VarCreate.superClass_.fromJson.call(this,e),this.varType=e.varType,this.varName=e.varName},Blockly.Events.VarCreate.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.createVariable(this.varName,this.varType,this.varId):t.deleteVariableById(this.varId)},Blockly.Events.VarDelete=function(e){e&&(Blockly.Events.VarDelete.superClass_.constructor.call(this,e),this.varType=e.type,this.varName=e.name)},goog.inherits(Blockly.Events.VarDelete,Blockly.Events.VarBase),Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE,Blockly.Events.VarDelete.prototype.toJson=function(){var e=Blockly.Events.VarDelete.superClass_.toJson.call(this);return e.varType=this.varType,e.varName=this.varName,e},Blockly.Events.VarDelete.prototype.fromJson=function(e){Blockly.Events.VarDelete.superClass_.fromJson.call(this,e),this.varType=e.varType,this.varName=e.varName},Blockly.Events.VarDelete.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.deleteVariableById(this.varId):t.createVariable(this.varName,this.varType,this.varId)},Blockly.Events.VarRename=function(e,t){e&&(Blockly.Events.VarRename.superClass_.constructor.call(this,e),this.oldName=e.name,this.newName=t)},goog.inherits(Blockly.Events.VarRename,Blockly.Events.VarBase),Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME,Blockly.Events.VarRename.prototype.toJson=function(){var e=Blockly.Events.VarRename.superClass_.toJson.call(this);return e.oldName=this.oldName,e.newName=this.newName,e},Blockly.Events.VarRename.prototype.fromJson=function(e){Blockly.Events.VarRename.superClass_.fromJson.call(this,e),this.oldName=e.oldName,this.newName=e.newName},Blockly.Events.VarRename.prototype.run=function(e){var t=this.getEventWorkspace_();e?t.renameVariableById(this.varId,this.newName):t.renameVariableById(this.varId,this.oldName)},Blockly.VariableMap=function(e){this.variableMap_=Object.create(null),this.workspace=e},Blockly.VariableMap.prototype.clear=function(){this.variableMap_=Object.create(null)},Blockly.VariableMap.prototype.renameVariable=function(e,t){var o=this.getVariable(t,e.type),n=this.workspace.getAllBlocks(!1);Blockly.Events.setGroup(!0);try{o&&o.getId()!=e.getId()?this.renameVariableWithConflict_(e,t,o,n):this.renameVariableAndUses_(e,t,n)}finally{Blockly.Events.setGroup(!1)}},Blockly.VariableMap.prototype.renameVariableById=function(e,t){var o=this.getVariableById(e);if(!o)throw Error("Tried to rename a variable that didn't exist. ID: "+e);this.renameVariable(o,t)},Blockly.VariableMap.prototype.renameVariableAndUses_=function(e,t,o){for(Blockly.Events.fire(new Blockly.Events.VarRename(e,t)),e.name=t,t=0;t<o.length;t++)o[t].updateVarName(e)},Blockly.VariableMap.prototype.renameVariableWithConflict_=function(e,t,o,n){var i=e.type;for(t!=o.name&&this.renameVariableAndUses_(o,t,n),t=0;t<n.length;t++)n[t].renameVarById(e.getId(),o.getId());Blockly.Events.fire(new Blockly.Events.VarDelete(e)),e=this.getVariablesOfType(i).indexOf(e),this.variableMap_[i].splice(e,1)},Blockly.VariableMap.prototype.createVariable=function(e,t,o){var n=this.getVariable(e,t);if(n){if(o&&n.getId()!=o)throw Error('Variable "'+e+'" is already in use and its id is "'+n.getId()+'" which conflicts with the passed in id, "'+o+'".');return n}if(o&&this.getVariableById(o))throw Error('Variable id, "'+o+'", is already in use.');return n=o||Blockly.utils.genUid(),t=t||"",n=new Blockly.VariableModel(this.workspace,e,t,n),(e=this.variableMap_[t]||[]).push(n),delete this.variableMap_[t],this.variableMap_[t]=e,n},Blockly.VariableMap.prototype.deleteVariable=function(e){for(var t,o=this.variableMap_[e.type],n=0;t=o[n];n++)if(t.getId()==e.getId()){o.splice(n,1),Blockly.Events.fire(new Blockly.Events.VarDelete(e));break}},Blockly.VariableMap.prototype.deleteVariableById=function(e){var t=this.getVariableById(e);if(t){var o,n=t.name,i=this.getVariableUsesById(e);for(e=0;o=i[e];e++)if("procedures_defnoreturn"==o.type||"procedures_defreturn"==o.type)return e=o.getFieldValue("NAME"),n=Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE.replace("%1",n).replace("%2",e),void Blockly.alert(n);var r=this;1<i.length?(n=Blockly.Msg.DELETE_VARIABLE_CONFIRMATION.replace("%1",String(i.length)).replace("%2",n),Blockly.confirm(n,(function(e){e&&r.deleteVariableInternal_(t,i)}))):r.deleteVariableInternal_(t,i)}else console.warn("Can't delete non-existent variable: "+e)},Blockly.VariableMap.prototype.deleteVariableInternal_=function(e,t){var o=Blockly.Events.getGroup();o||Blockly.Events.setGroup(!0);try{for(var n=0;n<t.length;n++)t[n].dispose(!0,!1);this.deleteVariable(e)}finally{o||Blockly.Events.setGroup(!1)}},Blockly.VariableMap.prototype.getVariable=function(e,t){var o=this.variableMap_[t||""];if(o)for(var n,i=0;n=o[i];i++)if(Blockly.Names.equals(n.name,e))return n;return null},Blockly.VariableMap.prototype.getVariableById=function(e){for(var t=Object.keys(this.variableMap_),o=0;o<t.length;o++)for(var n,i=t[o],r=0;n=this.variableMap_[i][r];r++)if(n.getId()==e)return n;return null},Blockly.VariableMap.prototype.getVariablesOfType=function(e){return(e=this.variableMap_[e||""])?e.slice():[]},Blockly.VariableMap.prototype.getVariableTypes=function(e){var t=[];e&&e.getPotentialVariableMap()&&(t=Object.keys(e.getPotentialVariableMap().variableMap_)),e=Object.keys(this.variableMap_).concat(t),t=!1;for(var o=0;o<e.length;o++)""==e[o]&&(t=!0);return t||e.push(""),e},Blockly.VariableMap.prototype.getAllVariables=function(){var e,t=[];for(e in this.variableMap_)t=t.concat(this.variableMap_[e]);return t},Blockly.VariableMap.prototype.getVariableUsesById=function(e){for(var t=[],o=this.workspace.getAllBlocks(!1),n=0;n<o.length;n++){var i=o[n].getVarModels();if(i)for(var r=0;r<i.length;r++)i[r].getId()==e&&t.push(o[n])}return t},Blockly.utils.xml={},Blockly.utils.xml.NAME_SPACE="https://developers.google.com/blockly/xml",Blockly.utils.xml.createElement=function(e){return document.createElementNS(Blockly.utils.xml.NAME_SPACE,e)},Blockly.utils.xml.createTextNode=function(e){return document.createTextNode(e)},Blockly.utils.xml.textToDomDocument=function(e){return(new DOMParser).parseFromString(e,"text/xml")},Blockly.utils.xml.domToText=function(e){return(new XMLSerializer).serializeToString(e)},Blockly.Events.BlockBase=function(e){Blockly.Events.BlockBase.superClass_.constructor.call(this),this.blockId=e.id,this.workspaceId=e.workspace.id},goog.inherits(Blockly.Events.BlockBase,Blockly.Events.Abstract),Blockly.Events.BlockBase.prototype.toJson=function(){var e=Blockly.Events.BlockBase.superClass_.toJson.call(this);return e.blockId=this.blockId,e},Blockly.Events.BlockBase.prototype.fromJson=function(e){Blockly.Events.BlockBase.superClass_.toJson.call(this),this.blockId=e.blockId},Blockly.Events.Change=function(e,t,o,n,i){e&&(Blockly.Events.Change.superClass_.constructor.call(this,e),this.element=t,this.name=o,this.oldValue=n,this.newValue=i)},goog.inherits(Blockly.Events.Change,Blockly.Events.BlockBase),Blockly.Events.BlockChange=Blockly.Events.Change,Blockly.Events.Change.prototype.type=Blockly.Events.CHANGE,Blockly.Events.Change.prototype.toJson=function(){var e=Blockly.Events.Change.superClass_.toJson.call(this);return e.element=this.element,this.name&&(e.name=this.name),e.newValue=this.newValue,e},Blockly.Events.Change.prototype.fromJson=function(e){Blockly.Events.Change.superClass_.fromJson.call(this,e),this.element=e.element,this.name=e.name,this.newValue=e.newValue},Blockly.Events.Change.prototype.isNull=function(){return this.oldValue==this.newValue},Blockly.Events.Change.prototype.run=function(e){var t=this.getEventWorkspace_().getBlockById(this.blockId);if(t)switch(t.mutator&&t.mutator.setVisible(!1),e=e?this.newValue:this.oldValue,this.element){case"field":(t=t.getField(this.name))?(t.callValidator(e),t.setValue(e)):console.warn("Can't set non-existent field: "+this.name);break;case"comment":t.setCommentText(e||null);break;case"collapsed":t.setCollapsed(e);break;case"disabled":t.setEnabled(!e);break;case"inline":t.setInputsInline(e);break;case"mutation":var o="";if(t.mutationToDom&&(o=(o=t.mutationToDom())&&Blockly.Xml.domToText(o)),t.domToMutation){var n=Blockly.Xml.textToDom(e||"<mutation/>");t.domToMutation(n)}Blockly.Events.fire(new Blockly.Events.Change(t,"mutation",null,o,e));break;default:console.warn("Unknown change type: "+this.element)}else console.warn("Can't change non-existent block: "+this.blockId)},Blockly.Events.Create=function(e){e&&(Blockly.Events.Create.superClass_.constructor.call(this,e),this.xml=e.workspace.rendered?Blockly.Xml.blockToDomWithXY(e):Blockly.Xml.blockToDom(e),this.ids=Blockly.Events.getDescendantIds_(e))},goog.inherits(Blockly.Events.Create,Blockly.Events.BlockBase),Blockly.Events.BlockCreate=Blockly.Events.Create,Blockly.Events.Create.prototype.type=Blockly.Events.CREATE,Blockly.Events.Create.prototype.toJson=function(){var e=Blockly.Events.Create.superClass_.toJson.call(this);return e.xml=Blockly.Xml.domToText(this.xml),e.ids=this.ids,e},Blockly.Events.Create.prototype.fromJson=function(e){Blockly.Events.Create.superClass_.fromJson.call(this,e),this.xml=Blockly.Xml.textToDom(e.xml),this.ids=e.ids},Blockly.Events.Create.prototype.run=function(e){var t=this.getEventWorkspace_();if(e)(e=Blockly.utils.xml.createElement("xml")).appendChild(this.xml),Blockly.Xml.domToWorkspace(e,t);else{e=0;for(var o;o=this.ids[e];e++){var n=t.getBlockById(o);n?n.dispose(!1,!1):o==this.blockId&&console.warn("Can't uncreate non-existent block: "+o)}}},Blockly.Events.Delete=function(e){if(e){if(e.getParent())throw Error("Connected blocks cannot be deleted.");Blockly.Events.Delete.superClass_.constructor.call(this,e),this.oldXml=e.workspace.rendered?Blockly.Xml.blockToDomWithXY(e):Blockly.Xml.blockToDom(e),this.ids=Blockly.Events.getDescendantIds_(e)}},goog.inherits(Blockly.Events.Delete,Blockly.Events.BlockBase),Blockly.Events.BlockDelete=Blockly.Events.Delete,Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE,Blockly.Events.Delete.prototype.toJson=function(){var e=Blockly.Events.Delete.superClass_.toJson.call(this);return e.ids=this.ids,e},Blockly.Events.Delete.prototype.fromJson=function(e){Blockly.Events.Delete.superClass_.fromJson.call(this,e),this.ids=e.ids},Blockly.Events.Delete.prototype.run=function(e){var t=this.getEventWorkspace_();if(e){e=0;for(var o;o=this.ids[e];e++){var n=t.getBlockById(o);n?n.dispose(!1,!1):o==this.blockId&&console.warn("Can't delete non-existent block: "+o)}}else(e=Blockly.utils.xml.createElement("xml")).appendChild(this.oldXml),Blockly.Xml.domToWorkspace(e,t)},Blockly.Events.Move=function(e){e&&(Blockly.Events.Move.superClass_.constructor.call(this,e),e=this.currentLocation_(),this.oldParentId=e.parentId,this.oldInputName=e.inputName,this.oldCoordinate=e.coordinate)},goog.inherits(Blockly.Events.Move,Blockly.Events.BlockBase),Blockly.Events.BlockMove=Blockly.Events.Move,Blockly.Events.Move.prototype.type=Blockly.Events.MOVE,Blockly.Events.Move.prototype.toJson=function(){var e=Blockly.Events.Move.superClass_.toJson.call(this);return this.newParentId&&(e.newParentId=this.newParentId),this.newInputName&&(e.newInputName=this.newInputName),this.newCoordinate&&(e.newCoordinate=Math.round(this.newCoordinate.x)+","+Math.round(this.newCoordinate.y)),e},Blockly.Events.Move.prototype.fromJson=function(e){Blockly.Events.Move.superClass_.fromJson.call(this,e),this.newParentId=e.newParentId,this.newInputName=e.newInputName,e.newCoordinate&&(e=e.newCoordinate.split(","),this.newCoordinate=new Blockly.utils.Coordinate(parseFloat(e[0]),parseFloat(e[1])))},Blockly.Events.Move.prototype.recordNew=function(){var e=this.currentLocation_();this.newParentId=e.parentId,this.newInputName=e.inputName,this.newCoordinate=e.coordinate},Blockly.Events.Move.prototype.currentLocation_=function(){var e=Blockly.Workspace.getById(this.workspaceId).getBlockById(this.blockId),t={},o=e.getParent();return o?(t.parentId=o.id,(e=o.getInputWithBlock(e))&&(t.inputName=e.name)):t.coordinate=e.getRelativeToSurfaceXY(),t},Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId&&this.oldInputName==this.newInputName&&Blockly.utils.Coordinate.equals(this.oldCoordinate,this.newCoordinate)},Blockly.Events.Move.prototype.run=function(e){var t=this.getEventWorkspace_(),o=t.getBlockById(this.blockId);if(o){var n=e?this.newParentId:this.oldParentId,i=e?this.newInputName:this.oldInputName;e=e?this.newCoordinate:this.oldCoordinate;var r=null;if(n&&!(r=t.getBlockById(n)))return void console.warn("Can't connect to non-existent block: "+n);if(o.getParent()&&o.unplug(),e)i=o.getRelativeToSurfaceXY(),o.moveBy(e.x-i.x,e.y-i.y);else{if(o=o.outputConnection||o.previousConnection,i){if(t=r.getInput(i))var s=t.connection}else o.type==Blockly.PREVIOUS_STATEMENT&&(s=r.nextConnection);s?o.connect(s):console.warn("Can't connect to non-existent input: "+i)}}else console.warn("Can't move non-existent block: "+this.blockId)},Blockly.Events.FinishedLoading=function(e){this.workspaceId=e.id,this.group=Blockly.Events.group_,this.recordUndo=!1},goog.inherits(Blockly.Events.FinishedLoading,Blockly.Events.Abstract),Blockly.Events.FinishedLoading.prototype.type=Blockly.Events.FINISHED_LOADING,Blockly.Events.FinishedLoading.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),this.workspaceId&&(e.workspaceId=this.workspaceId),e},Blockly.Events.FinishedLoading.prototype.fromJson=function(e){this.workspaceId=e.workspaceId,this.group=e.group},Blockly.Xml={},Blockly.Xml.workspaceToDom=function(e,t){var o=Blockly.utils.xml.createElement("xml"),n=Blockly.Xml.variablesToDom(Blockly.Variables.allUsedVarModels(e));n.hasChildNodes()&&o.appendChild(n);var i,r=e.getTopComments(!0);for(n=0;i=r[n];n++)o.appendChild(i.toXmlWithXY(t));for(r=e.getTopBlocks(!0),n=0;i=r[n];n++)o.appendChild(Blockly.Xml.blockToDomWithXY(i,t));return o},Blockly.Xml.variablesToDom=function(e){for(var t,o=Blockly.utils.xml.createElement("variables"),n=0;t=e[n];n++){var i=Blockly.utils.xml.createElement("variable");i.appendChild(Blockly.utils.xml.createTextNode(t.name)),t.type&&i.setAttribute("type",t.type),i.id=t.getId(),o.appendChild(i)}return o},Blockly.Xml.blockToDomWithXY=function(e,t){var o;e.workspace.RTL&&(o=e.workspace.getWidth());var n=Blockly.Xml.blockToDom(e,t),i=e.getRelativeToSurfaceXY();return n.setAttribute("x",Math.round(e.workspace.RTL?o-i.x:i.x)),n.setAttribute("y",Math.round(i.y)),n},Blockly.Xml.fieldToDom_=function(e){if(e.isSerializable()){var t=Blockly.utils.xml.createElement("field");return t.setAttribute("name",e.name),e.toXml(t)}return null},Blockly.Xml.allFieldsToDom_=function(e,t){for(var o,n=0;o=e.inputList[n];n++)for(var i,r=0;i=o.fieldRow[r];r++)(i=Blockly.Xml.fieldToDom_(i))&&t.appendChild(i)},Blockly.Xml.blockToDom=function(e,t){var o=Blockly.utils.xml.createElement(e.isShadow()?"shadow":"block");if(o.setAttribute("type",e.type),t||(o.id=e.id),e.mutationToDom){var n=e.mutationToDom();n&&(n.hasChildNodes()||n.hasAttributes())&&o.appendChild(n)}Blockly.Xml.allFieldsToDom_(e,o);var i,r=e.getCommentText();for(r&&((n=Blockly.utils.xml.createElement("comment")).appendChild(Blockly.utils.xml.createTextNode(r)),"object"==typeof e.comment&&(n.setAttribute("pinned",e.comment.isVisible()),r=e.comment.getBubbleSize(),n.setAttribute("h",r.height),n.setAttribute("w",r.width)),o.appendChild(n)),e.data&&((n=Blockly.utils.xml.createElement("data")).appendChild(Blockly.utils.xml.createTextNode(e.data)),o.appendChild(n)),r=0;i=e.inputList[r];r++){var s,a=!0;if(i.type!=Blockly.DUMMY_INPUT){var l=i.connection.targetBlock();i.type==Blockly.INPUT_VALUE?s=Blockly.utils.xml.createElement("value"):i.type==Blockly.NEXT_STATEMENT&&(s=Blockly.utils.xml.createElement("statement")),!(n=i.connection.getShadowDom())||l&&l.isShadow()||s.appendChild(Blockly.Xml.cloneShadow_(n,t)),l&&(s.appendChild(Blockly.Xml.blockToDom(l,t)),a=!1),s.setAttribute("name",i.name),a||o.appendChild(s)}}return null!=e.inputsInline&&e.inputsInline!=e.inputsInlineDefault&&o.setAttribute("inline",e.inputsInline),e.isCollapsed()&&o.setAttribute("collapsed",!0),e.isEnabled()||o.setAttribute("disabled",!0),e.isDeletable()||e.isShadow()||o.setAttribute("deletable",!1),e.isMovable()||e.isShadow()||o.setAttribute("movable",!1),e.isEditable()||o.setAttribute("editable",!1),(r=e.getNextBlock())&&((s=Blockly.utils.xml.createElement("next")).appendChild(Blockly.Xml.blockToDom(r,t)),o.appendChild(s)),!(n=e.nextConnection&&e.nextConnection.getShadowDom())||r&&r.isShadow()||s.appendChild(Blockly.Xml.cloneShadow_(n,t)),o},Blockly.Xml.cloneShadow_=function(e,t){for(var o,n=e=e.cloneNode(!0);n;)if(t&&"shadow"==n.nodeName&&n.removeAttribute("id"),n.firstChild)n=n.firstChild;else{for(;n&&!n.nextSibling;)o=n,n=n.parentNode,o.nodeType==Blockly.utils.dom.Node.TEXT_NODE&&""==o.data.trim()&&n.firstChild!=o&&Blockly.utils.dom.removeNode(o);n&&(o=n,n=n.nextSibling,o.nodeType==Blockly.utils.dom.Node.TEXT_NODE&&""==o.data.trim()&&Blockly.utils.dom.removeNode(o))}return e},Blockly.Xml.domToText=function(e){return Blockly.utils.xml.domToText(e)},Blockly.Xml.domToPrettyText=function(e){e=Blockly.Xml.domToText(e).split("<");for(var t="",o=1;o<e.length;o++){var n=e[o];"/"==n[0]&&(t=t.substring(2)),e[o]=t+"<"+n,"/"!=n[0]&&"/>"!=n.slice(-2)&&(t+="  ")}return(e=(e=e.join("\n")).replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1</$2>")).replace(/^\n/,"")},Blockly.Xml.textToDom=function(e){var t=Blockly.utils.xml.textToDomDocument(e);if(!t||!t.documentElement||t.getElementsByTagName("parsererror").length)throw Error("textToDom was unable to parse: "+e);return t.documentElement},Blockly.Xml.clearWorkspaceAndLoadFromXml=function(e,t){t.setResizesEnabled(!1),t.clear();var o=Blockly.Xml.domToWorkspace(e,t);return t.setResizesEnabled(!0),o},Blockly.Xml.domToWorkspace=function(e,t){if(e instanceof Blockly.Workspace){var o=e;e=t,t=o,console.warn("Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.")}var n;t.RTL&&(n=t.getWidth()),o=[],Blockly.Field.startCache();var i=e.childNodes.length,r=Blockly.Events.getGroup();r||Blockly.Events.setGroup(!0),t.setResizesEnabled&&t.setResizesEnabled(!1);var s=!0;try{for(var a=0;a<i;a++){var l=e.childNodes[a],u=l.nodeName.toLowerCase();if("block"==u||"shadow"==u&&!Blockly.Events.recordUndo){var c=Blockly.Xml.domToBlock(l,t);o.push(c.id);var h=l.hasAttribute("x")?parseInt(l.getAttribute("x"),10):10,d=l.hasAttribute("y")?parseInt(l.getAttribute("y"),10):10;isNaN(h)||isNaN(d)||c.moveBy(t.RTL?n-h:h,d),s=!1}else{if("shadow"==u)throw TypeError("Shadow block cannot be a top-level block.");if("comment"==u)t.rendered?Blockly.WorkspaceCommentSvg.fromXml(l,t,n):Blockly.WorkspaceComment.fromXml(l,t);else if("variables"==u){if(!s)throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");Blockly.Xml.domToVariables(l,t),s=!1}}}}finally{r||Blockly.Events.setGroup(!1),Blockly.Field.stopCache()}return t.setResizesEnabled&&t.setResizesEnabled(!0),Blockly.Events.fire(new Blockly.Events.FinishedLoading(t)),o},Blockly.Xml.appendDomToWorkspace=function(e,t){if(t.hasOwnProperty("scale")){var o=Blockly.BlockSvg.TAB_WIDTH;try{Blockly.BlockSvg.TAB_WIDTH=0;var n=t.getBlocksBoundingBox()}finally{Blockly.BlockSvg.TAB_WIDTH=o}}if(o=Blockly.Xml.domToWorkspace(e,t),n&&n.top!=n.bottom){var i,r=n.bottom,s=n.left,a=1/0,l=1/0;for(n=0;n<o.length;n++){var u=t.getBlockById(o[n]).getRelativeToSurfaceXY();u.y<l&&(l=u.y),u.x<a&&(a=u.x)}for(r=r-l+Blockly.BlockSvg.SEP_SPACE_Y,s-=a,t.RTL&&(i=t.getWidth()),n=0;n<o.length;n++)t.getBlockById(o[n]).moveBy(t.RTL?i-s:s,r)}return o},Blockly.Xml.domToBlock=function(e,t){if(e instanceof Blockly.Workspace){var o=e;e=t,t=o,console.warn("Deprecated call to Blockly.Xml.domToBlock, swap the arguments.")}Blockly.Events.disable(),o=t.getAllVariables();try{var n=Blockly.Xml.domToBlockHeadless_(e,t),i=n.getDescendants(!1);if(t.rendered){n.setConnectionsHidden(!0);for(var r=i.length-1;0<=r;r--)i[r].initSvg();for(r=i.length-1;0<=r;r--)i[r].render(!1);setTimeout((function(){n.workspace&&n.setConnectionsHidden(!1)}),1),n.updateDisabled(),t.resizeContents()}else for(r=i.length-1;0<=r;r--)i[r].initModel()}finally{Blockly.Events.enable()}if(Blockly.Events.isEnabled()){for(i=Blockly.Variables.getAddedVariables(t,o),r=0;r<i.length;r++)Blockly.Events.fire(new Blockly.Events.VarCreate(i[r]));Blockly.Events.fire(new Blockly.Events.BlockCreate(n))}return n},Blockly.Xml.domToVariables=function(e,t){for(var o,n=0;o=e.childNodes[n];n++)if(o.nodeType==Blockly.utils.dom.Node.ELEMENT_NODE){var i=o.getAttribute("type"),r=o.getAttribute("id");t.createVariable(o.textContent,i,r)}},Blockly.Xml.domToBlockHeadless_=function(e,t){var o=null,n=e.getAttribute("type");if(!n)throw TypeError("Block type unspecified: "+e.outerHTML);var i=e.getAttribute("id");o=t.newBlock(n,i);var r,s=null;for(i=0;r=e.childNodes[i];i++)if(r.nodeType!=Blockly.utils.dom.Node.TEXT_NODE){for(var a,l=s=null,u=0;a=r.childNodes[u];u++)a.nodeType==Blockly.utils.dom.Node.ELEMENT_NODE&&("block"==a.nodeName.toLowerCase()?s=a:"shadow"==a.nodeName.toLowerCase()&&(l=a));switch(!s&&l&&(s=l),u=r.getAttribute("name"),r.nodeName.toLowerCase()){case"mutation":o.domToMutation&&(o.domToMutation(r),o.initSvg&&o.initSvg());break;case"comment":o.setCommentText(r.textContent);var c=r.getAttribute("pinned");c&&!o.isInFlyout&&setTimeout((function(){o.comment&&o.comment.setVisible&&o.comment.setVisible("true"==c)}),1),s=parseInt(r.getAttribute("w"),10),r=parseInt(r.getAttribute("h"),10),!isNaN(s)&&!isNaN(r)&&o.comment&&o.comment.setVisible&&o.comment.setBubbleSize(s,r);break;case"data":o.data=r.textContent;break;case"title":case"field":Blockly.Xml.domToField_(o,u,r);break;case"value":case"statement":if(!(r=o.getInput(u))){console.warn("Ignoring non-existent input "+u+" in block "+n);break}if(l&&r.connection.setShadowDom(l),s)if((s=Blockly.Xml.domToBlockHeadless_(s,t)).outputConnection)r.connection.connect(s.outputConnection);else{if(!s.previousConnection)throw TypeError("Child block does not have output or previous statement.");r.connection.connect(s.previousConnection)}break;case"next":if(l&&o.nextConnection&&o.nextConnection.setShadowDom(l),s){if(!o.nextConnection)throw TypeError("Next statement does not exist.");if(o.nextConnection.isConnected())throw TypeError("Next statement is already connected.");if(!(s=Blockly.Xml.domToBlockHeadless_(s,t)).previousConnection)throw TypeError("Next block does not have previous statement.");o.nextConnection.connect(s.previousConnection)}break;default:console.warn("Ignoring unknown tag: "+r.nodeName)}}if((i=e.getAttribute("inline"))&&o.setInputsInline("true"==i),(i=e.getAttribute("disabled"))&&o.setEnabled("true"!=i&&"disabled"!=i),(i=e.getAttribute("deletable"))&&o.setDeletable("true"==i),(i=e.getAttribute("movable"))&&o.setMovable("true"==i),(i=e.getAttribute("editable"))&&o.setEditable("true"==i),(i=e.getAttribute("collapsed"))&&o.setCollapsed("true"==i),"shadow"==e.nodeName.toLowerCase()){for(n=o.getChildren(!1),i=0;r=n[i];i++)if(!r.isShadow())throw TypeError("Shadow block not allowed non-shadow child.");if(o.getVarModels().length)throw TypeError("Shadow blocks cannot have variable references.");o.setShadow(!0)}return o},Blockly.Xml.domToField_=function(e,t,o){var n=e.getField(t);n?n.fromXml(o):console.warn("Ignoring non-existent field "+t+" in block "+e.type)},Blockly.Xml.deleteNext=function(e){for(var t,o=0;t=e.childNodes[o];o++)if("next"==t.nodeName.toLowerCase()){e.removeChild(t);break}},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.Xml||(Blockly.utils.global.Blockly.Xml={}),Blockly.utils.global.Blockly.Xml.domToText=Blockly.Xml.domToText,Blockly.utils.global.Blockly.Xml.domToWorkspace=Blockly.Xml.domToWorkspace,Blockly.utils.global.Blockly.Xml.textToDom=Blockly.Xml.textToDom,Blockly.utils.global.Blockly.Xml.workspaceToDom=Blockly.Xml.workspaceToDom,Blockly.Events.CommentBase=function(e){this.commentId=e.id,this.workspaceId=e.workspace.id,this.group=Blockly.Events.group_,this.recordUndo=Blockly.Events.recordUndo},goog.inherits(Blockly.Events.CommentBase,Blockly.Events.Abstract),Blockly.Events.CommentBase.prototype.toJson=function(){var e={type:this.type};return this.group&&(e.group=this.group),this.commentId&&(e.commentId=this.commentId),e},Blockly.Events.CommentBase.prototype.fromJson=function(e){this.commentId=e.commentId,this.group=e.group},Blockly.Events.CommentChange=function(e,t,o){e&&(Blockly.Events.CommentChange.superClass_.constructor.call(this,e),this.oldContents_=t,this.newContents_=o)},goog.inherits(Blockly.Events.CommentChange,Blockly.Events.CommentBase),Blockly.Events.CommentChange.prototype.type=Blockly.Events.COMMENT_CHANGE,Blockly.Events.CommentChange.prototype.toJson=function(){var e=Blockly.Events.CommentChange.superClass_.toJson.call(this);return e.newContents=this.newContents_,e},Blockly.Events.CommentChange.prototype.fromJson=function(e){Blockly.Events.CommentChange.superClass_.fromJson.call(this,e),this.newContents_=e.newValue},Blockly.Events.CommentChange.prototype.isNull=function(){return this.oldContents_==this.newContents_},Blockly.Events.CommentChange.prototype.run=function(e){var t=this.getEventWorkspace_().getCommentById(this.commentId);t?t.setContent(e?this.newContents_:this.oldContents_):console.warn("Can't change non-existent comment: "+this.commentId)},Blockly.Events.CommentCreate=function(e){e&&(Blockly.Events.CommentCreate.superClass_.constructor.call(this,e),this.xml=e.toXmlWithXY())},goog.inherits(Blockly.Events.CommentCreate,Blockly.Events.CommentBase),Blockly.Events.CommentCreate.prototype.type=Blockly.Events.COMMENT_CREATE,Blockly.Events.CommentCreate.prototype.toJson=function(){var e=Blockly.Events.CommentCreate.superClass_.toJson.call(this);return e.xml=Blockly.Xml.domToText(this.xml),e},Blockly.Events.CommentCreate.prototype.fromJson=function(e){Blockly.Events.CommentCreate.superClass_.fromJson.call(this,e),this.xml=Blockly.Xml.textToDom(e.xml)},Blockly.Events.CommentCreate.prototype.run=function(e){Blockly.Events.CommentCreateDeleteHelper(this,e)},Blockly.Events.CommentCreateDeleteHelper=function(e,t){var o=e.getEventWorkspace_();if(t){var n=Blockly.utils.xml.createElement("xml");n.appendChild(e.xml),Blockly.Xml.domToWorkspace(n,o)}else(o=o.getCommentById(e.commentId))?o.dispose(!1,!1):console.warn("Can't uncreate non-existent comment: "+e.commentId)},Blockly.Events.CommentDelete=function(e){e&&(Blockly.Events.CommentDelete.superClass_.constructor.call(this,e),this.xml=e.toXmlWithXY())},goog.inherits(Blockly.Events.CommentDelete,Blockly.Events.CommentBase),Blockly.Events.CommentDelete.prototype.type=Blockly.Events.COMMENT_DELETE,Blockly.Events.CommentDelete.prototype.toJson=function(){return Blockly.Events.CommentDelete.superClass_.toJson.call(this)},Blockly.Events.CommentDelete.prototype.fromJson=function(e){Blockly.Events.CommentDelete.superClass_.fromJson.call(this,e)},Blockly.Events.CommentDelete.prototype.run=function(e){Blockly.Events.CommentCreateDeleteHelper(this,!e)},Blockly.Events.CommentMove=function(e){e&&(Blockly.Events.CommentMove.superClass_.constructor.call(this,e),this.comment_=e,this.oldCoordinate_=e.getXY(),this.newCoordinate_=null)},goog.inherits(Blockly.Events.CommentMove,Blockly.Events.CommentBase),Blockly.Events.CommentMove.prototype.recordNew=function(){if(!this.comment_)throw Error("Tried to record the new position of a comment on the same event twice.");this.newCoordinate_=this.comment_.getXY(),this.comment_=null},Blockly.Events.CommentMove.prototype.type=Blockly.Events.COMMENT_MOVE,Blockly.Events.CommentMove.prototype.setOldCoordinate=function(e){this.oldCoordinate_=e},Blockly.Events.CommentMove.prototype.toJson=function(){var e=Blockly.Events.CommentMove.superClass_.toJson.call(this);return this.newCoordinate_&&(e.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y)),e},Blockly.Events.CommentMove.prototype.fromJson=function(e){Blockly.Events.CommentMove.superClass_.fromJson.call(this,e),e.newCoordinate&&(e=e.newCoordinate.split(","),this.newCoordinate_=new Blockly.utils.Coordinate(parseFloat(e[0]),parseFloat(e[1])))},Blockly.Events.CommentMove.prototype.isNull=function(){return Blockly.utils.Coordinate.equals(this.oldCoordinate_,this.newCoordinate_)},Blockly.Events.CommentMove.prototype.run=function(e){var t=this.getEventWorkspace_().getCommentById(this.commentId);if(t){e=e?this.newCoordinate_:this.oldCoordinate_;var o=t.getXY();t.moveBy(e.x-o.x,e.y-o.y)}else console.warn("Can't move non-existent comment: "+this.commentId)},Blockly.WorkspaceComment=function(e,t,o,n,i){this.id=i&&!e.getCommentById(i)?i:Blockly.utils.genUid(),e.addTopComment(this),this.xy_=new Blockly.utils.Coordinate(0,0),this.height_=o,this.width_=n,this.workspace=e,this.RTL=e.RTL,this.movable_=this.deletable_=!0,this.content_=t,this.isComment=!0,Blockly.WorkspaceComment.fireCreateEvent(this)},Blockly.WorkspaceComment.prototype.dispose=function(){this.workspace&&(Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),this.workspace.removeTopComment(this),this.workspace=null)},Blockly.WorkspaceComment.prototype.getHeight=function(){return this.height_},Blockly.WorkspaceComment.prototype.setHeight=function(e){this.height_=e},Blockly.WorkspaceComment.prototype.getWidth=function(){return this.width_},Blockly.WorkspaceComment.prototype.setWidth=function(e){this.width_=e},Blockly.WorkspaceComment.prototype.getXY=function(){return new Blockly.utils.Coordinate(this.xy_.x,this.xy_.y)},Blockly.WorkspaceComment.prototype.moveBy=function(e,t){var o=new Blockly.Events.CommentMove(this);this.xy_.translate(e,t),o.recordNew(),Blockly.Events.fire(o)},Blockly.WorkspaceComment.prototype.isDeletable=function(){return this.deletable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.WorkspaceComment.prototype.setDeletable=function(e){this.deletable_=e},Blockly.WorkspaceComment.prototype.isMovable=function(){return this.movable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.WorkspaceComment.prototype.setMovable=function(e){this.movable_=e},Blockly.WorkspaceComment.prototype.getContent=function(){return this.content_},Blockly.WorkspaceComment.prototype.setContent=function(e){this.content_!=e&&(Blockly.Events.fire(new Blockly.Events.CommentChange(this,this.content_,e)),this.content_=e)},Blockly.WorkspaceComment.prototype.toXmlWithXY=function(e){return(e=this.toXml(e)).setAttribute("x",Math.round(this.xy_.x)),e.setAttribute("y",Math.round(this.xy_.y)),e.setAttribute("h",this.height_),e.setAttribute("w",this.width_),e},Blockly.WorkspaceComment.prototype.toXml=function(e){var t=Blockly.utils.xml.createElement("comment");return e||(t.id=this.id),t.textContent=this.getContent(),t},Blockly.WorkspaceComment.fireCreateEvent=function(e){if(Blockly.Events.isEnabled()){var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.CommentCreate(e))}finally{t||Blockly.Events.setGroup(!1)}}},Blockly.WorkspaceComment.fromXml=function(e,t){var o=Blockly.WorkspaceComment.parseAttributes(e);o=new Blockly.WorkspaceComment(t,o.content,o.h,o.w,o.id);var n=parseInt(e.getAttribute("x"),10),i=parseInt(e.getAttribute("y"),10);return isNaN(n)||isNaN(i)||o.moveBy(n,i),Blockly.WorkspaceComment.fireCreateEvent(o),o},Blockly.WorkspaceComment.parseAttributes=function(e){var t=e.getAttribute("h"),o=e.getAttribute("w");return{id:e.getAttribute("id"),h:t?parseInt(t,10):100,w:o?parseInt(o,10):100,x:parseInt(e.getAttribute("x"),10),y:parseInt(e.getAttribute("y"),10),content:e.textContent}},Blockly.Theme=function(e,t){this.blockStyles_=e,this.categoryStyles_=t},Blockly.Theme.prototype.setAllBlockStyles=function(e){for(var t in e)this.setBlockStyle(t,e[t])},Blockly.Theme.prototype.getAllBlockStyles=function(){return this.blockStyles_},Blockly.Theme.prototype.getBlockStyle=function(e){return this.blockStyles_[e]},Blockly.Theme.prototype.setBlockStyle=function(e,t){this.blockStyles_[e]=t},Blockly.Theme.prototype.getCategoryStyle=function(e){return this.categoryStyles_[e]},Blockly.Theme.prototype.setCategoryStyle=function(e,t){this.categoryStyles_[e]=t},Blockly.Themes={},Blockly.Themes.Classic={},Blockly.Themes.Classic.defaultBlockStyles={colour_blocks:{colourPrimary:"20"},list_blocks:{colourPrimary:"260"},logic_blocks:{colourPrimary:"210"},loop_blocks:{colourPrimary:"120"},math_blocks:{colourPrimary:"230"},procedure_blocks:{colourPrimary:"290"},text_blocks:{colourPrimary:"160"},variable_blocks:{colourPrimary:"330"},variable_dynamic_blocks:{colourPrimary:"310"},hat_blocks:{colourPrimary:"330",hat:"cap"}},Blockly.Themes.Classic.categoryStyles={colour_category:{colour:"20"},list_category:{colour:"260"},logic_category:{colour:"210"},loop_category:{colour:"120"},math_category:{colour:"230"},procedure_category:{colour:"290"},text_category:{colour:"160"},variable_category:{colour:"330"},variable_dynamic_category:{colour:"310"}},Blockly.Themes.Classic=new Blockly.Theme(Blockly.Themes.Classic.defaultBlockStyles,Blockly.Themes.Classic.categoryStyles),Blockly.Workspace=function(e){this.id=Blockly.utils.genUid(),Blockly.Workspace.WorkspaceDB_[this.id]=this,this.options=e||{},this.RTL=!!this.options.RTL,this.horizontalLayout=!!this.options.horizontalLayout,this.toolboxPosition=this.options.toolboxPosition,this.topBlocks_=[],this.topComments_=[],this.commentDB_=Object.create(null),this.listeners_=[],this.undoStack_=[],this.redoStack_=[],this.blockDB_=Object.create(null),this.typedBlocksDB_=Object.create(null),this.variableMap_=new Blockly.VariableMap(this),this.potentialVariableMap_=null,Blockly.getTheme()||Blockly.setTheme(Blockly.Themes.Classic)},Blockly.Workspace.prototype.rendered=!1,Blockly.Workspace.prototype.isClearing=!1,Blockly.Workspace.prototype.MAX_UNDO=1024,Blockly.Workspace.prototype.connectionDBList=null,Blockly.Workspace.prototype.dispose=function(){this.listeners_.length=0,this.clear(),delete Blockly.Workspace.WorkspaceDB_[this.id]},Blockly.Workspace.SCAN_ANGLE=3,Blockly.Workspace.prototype.sortObjects_=function(e,t){var o=e.getRelativeToSurfaceXY(),n=t.getRelativeToSurfaceXY();return o.y+Blockly.Workspace.prototype.sortObjects_.offset*o.x-(n.y+Blockly.Workspace.prototype.sortObjects_.offset*n.x)},Blockly.Workspace.prototype.addTopBlock=function(e){this.topBlocks_.push(e)},Blockly.Workspace.prototype.removeTopBlock=function(e){if(!Blockly.utils.arrayRemove(this.topBlocks_,e))throw Error("Block not present in workspace's list of top-most blocks.")},Blockly.Workspace.prototype.getTopBlocks=function(e){var t=[].concat(this.topBlocks_);return e&&1<t.length&&(this.sortObjects_.offset=Math.sin(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),t.sort(this.sortObjects_)),t},Blockly.Workspace.prototype.addTypedBlock=function(e){this.typedBlocksDB_[e.type]||(this.typedBlocksDB_[e.type]=[]),this.typedBlocksDB_[e.type].push(e)},Blockly.Workspace.prototype.removeTypedBlock=function(e){this.typedBlocksDB_[e.type].splice(this.typedBlocksDB_[e.type].indexOf(e),1),this.typedBlocksDB_[e.type].length||delete this.typedBlocksDB_[e.type]},Blockly.Workspace.prototype.getBlocksByType=function(e,t){if(!this.typedBlocksDB_[e])return[];var o=this.typedBlocksDB_[e].slice(0);return t&&1<o.length&&(this.sortObjects_.offset=Math.sign(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),o.sort(this.sortObjects_)),o},Blockly.Workspace.prototype.addTopComment=function(e){this.topComments_.push(e),this.commentDB_[e.id]&&console.warn('Overriding an existing comment on this workspace, with id "'+e.id+'"'),this.commentDB_[e.id]=e},Blockly.Workspace.prototype.removeTopComment=function(e){if(!Blockly.utils.arrayRemove(this.topComments_,e))throw Error("Comment not present in workspace's list of top-most comments.");delete this.commentDB_[e.id]},Blockly.Workspace.prototype.getTopComments=function(e){var t=[].concat(this.topComments_);return e&&1<t.length&&(this.sortObjects_.offset=Math.sin(Blockly.utils.math.toRadians(Blockly.Workspace.SCAN_ANGLE)),this.RTL&&(this.sortObjects_.offset*=-1),t.sort(this.sortObjects_)),t},Blockly.Workspace.prototype.getAllBlocks=function(e){if(e){e=this.getTopBlocks(!0);for(var t=[],o=0;o<e.length;o++)t.push.apply(t,e[o].getDescendants(!0))}else for(t=this.getTopBlocks(!1),o=0;o<t.length;o++)t.push.apply(t,t[o].getChildren(!1));return t.filter((function(e){return!e.isInsertionMarker()}))},Blockly.Workspace.prototype.clear=function(){this.isClearing=!0;try{var e=Blockly.Events.getGroup();for(e||Blockly.Events.setGroup(!0);this.topBlocks_.length;)this.topBlocks_[0].dispose();for(;this.topComments_.length;)this.topComments_[this.topComments_.length-1].dispose();e||Blockly.Events.setGroup(!1),this.variableMap_.clear(),this.potentialVariableMap_&&this.potentialVariableMap_.clear()}finally{this.isClearing=!1}},Blockly.Workspace.prototype.renameVariableById=function(e,t){this.variableMap_.renameVariableById(e,t)},Blockly.Workspace.prototype.createVariable=function(e,t,o){return this.variableMap_.createVariable(e,t,o)},Blockly.Workspace.prototype.getVariableUsesById=function(e){return this.variableMap_.getVariableUsesById(e)},Blockly.Workspace.prototype.deleteVariableById=function(e){this.variableMap_.deleteVariableById(e)},Blockly.Workspace.prototype.deleteVariableInternal_=function(e,t){this.variableMap_.deleteVariableInternal_(e,t)},Blockly.Workspace.prototype.variableIndexOf=function(e){return console.warn("Deprecated call to Blockly.Workspace.prototype.variableIndexOf"),-1},Blockly.Workspace.prototype.getVariable=function(e,t){return this.variableMap_.getVariable(e,t)},Blockly.Workspace.prototype.getVariableById=function(e){return this.variableMap_.getVariableById(e)},Blockly.Workspace.prototype.getVariablesOfType=function(e){return this.variableMap_.getVariablesOfType(e)},Blockly.Workspace.prototype.getVariableTypes=function(){return this.variableMap_.getVariableTypes(this)},Blockly.Workspace.prototype.getAllVariables=function(){return this.variableMap_.getAllVariables()},Blockly.Workspace.prototype.getWidth=function(){return 0},Blockly.Workspace.prototype.newBlock=function(e,t){return new Blockly.Block(this,e,t)},Blockly.Workspace.prototype.remainingCapacity=function(){return isNaN(this.options.maxBlocks)?1/0:this.options.maxBlocks-this.getAllBlocks().length},Blockly.Workspace.prototype.remainingCapacityOfType=function(e){return this.options.maxInstances?(this.options.maxInstances[e]||1/0)-this.getBlocksByType(e).length:1/0},Blockly.Workspace.prototype.isCapacityAvailable=function(e){if(!this.hasBlockLimits())return!0;var t,o=0;for(t in e){if(e[t]>this.remainingCapacityOfType(t))return!1;o+=e[t]}return!(o>this.remainingCapacity())},Blockly.Workspace.prototype.hasBlockLimits=function(){return 1/0!=this.options.maxBlocks||!!this.options.maxInstances},Blockly.Workspace.prototype.undo=function(e){var t=e?this.redoStack_:this.undoStack_,o=e?this.undoStack_:this.redoStack_,n=t.pop();if(n){for(var i=[n];t.length&&n.group&&n.group==t[t.length-1].group;)i.push(t.pop());for(t=0;n=i[t];t++)o.push(n);i=Blockly.Events.filter(i,e),Blockly.Events.recordUndo=!1;try{for(t=0;n=i[t];t++)n.run(e)}finally{Blockly.Events.recordUndo=!0}}},Blockly.Workspace.prototype.clearUndo=function(){this.undoStack_.length=0,this.redoStack_.length=0,Blockly.Events.clearPendingUndo()},Blockly.Workspace.prototype.addChangeListener=function(e){return this.listeners_.push(e),e},Blockly.Workspace.prototype.removeChangeListener=function(e){Blockly.utils.arrayRemove(this.listeners_,e)},Blockly.Workspace.prototype.fireChangeListener=function(e){if(e.recordUndo)for(this.undoStack_.push(e),this.redoStack_.length=0;this.undoStack_.length>this.MAX_UNDO&&0<=this.MAX_UNDO;)this.undoStack_.shift();for(var t,o=0;t=this.listeners_[o];o++)t(e)},Blockly.Workspace.prototype.getBlockById=function(e){return this.blockDB_[e]||null},Blockly.Workspace.prototype.getCommentById=function(e){return this.commentDB_[e]||null},Blockly.Workspace.prototype.allInputsFilled=function(e){for(var t,o=this.getTopBlocks(!1),n=0;t=o[n];n++)if(!t.allInputsFilled(e))return!1;return!0},Blockly.Workspace.prototype.getPotentialVariableMap=function(){return this.potentialVariableMap_},Blockly.Workspace.prototype.createPotentialVariableMap=function(){this.potentialVariableMap_=new Blockly.VariableMap(this)},Blockly.Workspace.prototype.getVariableMap=function(){return this.variableMap_},Blockly.Workspace.WorkspaceDB_=Object.create(null),Blockly.Workspace.getById=function(e){return Blockly.Workspace.WorkspaceDB_[e]||null},Blockly.Workspace.getAll=function(){var e,t=[];for(e in Blockly.Workspace.WorkspaceDB_)t.push(Blockly.Workspace.WorkspaceDB_[e]);return t},Blockly.Workspace.prototype.clear=Blockly.Workspace.prototype.clear,Blockly.Workspace.prototype.clearUndo=Blockly.Workspace.prototype.clearUndo,Blockly.Workspace.prototype.addChangeListener=Blockly.Workspace.prototype.addChangeListener,Blockly.Workspace.prototype.removeChangeListener=Blockly.Workspace.prototype.removeChangeListener,Blockly.Bubble=function(e,t,o,n,i,r){this.workspace_=e,this.content_=t,this.shape_=o,o=Blockly.Bubble.ARROW_ANGLE,this.workspace_.RTL&&(o=-o),this.arrow_radians_=Blockly.utils.math.toRadians(o),e.getBubbleCanvas().appendChild(this.createDom_(t,!(!i||!r))),this.setAnchorLocation(n),i&&r||(i=(t=this.content_.getBBox()).width+2*Blockly.Bubble.BORDER_WIDTH,r=t.height+2*Blockly.Bubble.BORDER_WIDTH),this.setBubbleSize(i,r),this.positionBubble_(),this.renderArrow_(),this.rendered_=!0,e.options.readOnly||(Blockly.bindEventWithChecks_(this.bubbleBack_,"mousedown",this,this.bubbleMouseDown_),this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_))},Blockly.Bubble.BORDER_WIDTH=6,Blockly.Bubble.ARROW_THICKNESS=5,Blockly.Bubble.ARROW_ANGLE=20,Blockly.Bubble.ARROW_BEND=4,Blockly.Bubble.ANCHOR_RADIUS=8,Blockly.Bubble.onMouseUpWrapper_=null,Blockly.Bubble.onMouseMoveWrapper_=null,Blockly.Bubble.prototype.resizeCallback_=null,Blockly.Bubble.unbindDragEvents_=function(){Blockly.Bubble.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseUpWrapper_),Blockly.Bubble.onMouseUpWrapper_=null),Blockly.Bubble.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseMoveWrapper_),Blockly.Bubble.onMouseMoveWrapper_=null)},Blockly.Bubble.bubbleMouseUp_=function(){Blockly.Touch.clearTouchIdentifier(),Blockly.Bubble.unbindDragEvents_()},Blockly.Bubble.prototype.rendered_=!1,Blockly.Bubble.prototype.anchorXY_=null,Blockly.Bubble.prototype.relativeLeft_=0,Blockly.Bubble.prototype.relativeTop_=0,Blockly.Bubble.prototype.width_=0,Blockly.Bubble.prototype.height_=0,Blockly.Bubble.prototype.autoLayout_=!0,Blockly.Bubble.prototype.createDom_=function(e,t){this.bubbleGroup_=Blockly.utils.dom.createSvgElement("g",{},null);var o={filter:"url(#"+this.workspace_.options.embossFilterId+")"};return Blockly.utils.userAgent.JAVA_FX&&(o={}),o=Blockly.utils.dom.createSvgElement("g",o,this.bubbleGroup_),this.bubbleArrow_=Blockly.utils.dom.createSvgElement("path",{},o),this.bubbleBack_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyDraggable",x:0,y:0,rx:Blockly.Bubble.BORDER_WIDTH,ry:Blockly.Bubble.BORDER_WIDTH},o),t?(this.resizeGroup_=Blockly.utils.dom.createSvgElement("g",{class:this.workspace_.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.bubbleGroup_),o=2*Blockly.Bubble.BORDER_WIDTH,Blockly.utils.dom.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,o.toString())},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:o/3,y1:o-1,x2:o-1,y2:o/3},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:2*o/3,y1:o-1,x2:o-1,y2:2*o/3},this.resizeGroup_)):this.resizeGroup_=null,this.bubbleGroup_.appendChild(e),this.bubbleGroup_},Blockly.Bubble.prototype.getSvgRoot=function(){return this.bubbleGroup_},Blockly.Bubble.prototype.setSvgId=function(e){this.bubbleGroup_.dataset&&(this.bubbleGroup_.dataset.blockId=e)},Blockly.Bubble.prototype.bubbleMouseDown_=function(e){var t=this.workspace_.getGesture(e);t&&t.handleBubbleStart(e,this)},Blockly.Bubble.prototype.showContextMenu_=function(e){},Blockly.Bubble.prototype.isDeletable=function(){return!1},Blockly.Bubble.prototype.resizeMouseDown_=function(e){this.promote_(),Blockly.Bubble.unbindDragEvents_(),Blockly.utils.isRightButton(e)||(this.workspace_.startDrag(e,new Blockly.utils.Coordinate(this.workspace_.RTL?-this.width_:this.width_,this.height_)),Blockly.Bubble.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,Blockly.Bubble.bubbleMouseUp_),Blockly.Bubble.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff()),e.stopPropagation()},Blockly.Bubble.prototype.resizeMouseMove_=function(e){this.autoLayout_=!1,e=this.workspace_.moveDrag(e),this.setBubbleSize(this.workspace_.RTL?-e.x:e.x,e.y),this.workspace_.RTL&&this.positionBubble_()},Blockly.Bubble.prototype.registerResizeEvent=function(e){this.resizeCallback_=e},Blockly.Bubble.prototype.promote_=function(){var e=this.bubbleGroup_.parentNode;return e.lastChild!==this.bubbleGroup_&&(e.appendChild(this.bubbleGroup_),!0)},Blockly.Bubble.prototype.setAnchorLocation=function(e){this.anchorXY_=e,this.rendered_&&this.positionBubble_()},Blockly.Bubble.prototype.layoutBubble_=function(){var e=this.workspace_.getMetrics();e.viewLeft/=this.workspace_.scale,e.viewWidth/=this.workspace_.scale,e.viewTop/=this.workspace_.scale,e.viewHeight/=this.workspace_.scale;var t=this.getOptimalRelativeLeft_(e),o=this.getOptimalRelativeTop_(e),n=this.shape_.getBBox(),i={x:t,y:-this.height_-Blockly.BlockSvg.MIN_BLOCK_Y},r={x:-this.width_-30,y:o};o={x:n.width,y:o};var s={x:t,y:n.height};t=n.width<n.height?o:s,n=n.width<n.height?s:o,o=this.getOverlap_(i,e),s=this.getOverlap_(r,e);var a=this.getOverlap_(t,e);e=this.getOverlap_(n,e),o==(e=Math.max(o,s,a,e))?(this.relativeLeft_=i.x,this.relativeTop_=i.y):s==e?(this.relativeLeft_=r.x,this.relativeTop_=r.y):a==e?(this.relativeLeft_=t.x,this.relativeTop_=t.y):(this.relativeLeft_=n.x,this.relativeTop_=n.y)},Blockly.Bubble.prototype.getOverlap_=function(e,t){var o=this.workspace_.RTL?this.anchorXY_.x-e.x-this.width_:e.x+this.anchorXY_.x,n=e.y+this.anchorXY_.y;return Math.max(0,Math.min(1,(Math.min(o+this.width_,t.viewLeft+t.viewWidth)-Math.max(o,t.viewLeft))*(Math.min(n+this.height_,t.viewTop+t.viewHeight)-Math.max(n,t.viewTop))/(this.width_*this.height_)))},Blockly.Bubble.prototype.getOptimalRelativeLeft_=function(e){var t=-this.width_/4;if(this.width_>e.viewWidth)return t;if(this.workspace_.RTL)var o=this.anchorXY_.x-t,n=o-this.width_,i=e.viewLeft+e.viewWidth,r=e.viewLeft+Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;else o=(n=t+this.anchorXY_.x)+this.width_,r=e.viewLeft,i=e.viewLeft+e.viewWidth-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;return this.workspace_.RTL?n<r?t=-(r-this.anchorXY_.x+this.width_):o>i&&(t=-(i-this.anchorXY_.x)):n<r?t=r-this.anchorXY_.x:o>i&&(t=i-this.anchorXY_.x-this.width_),t},Blockly.Bubble.prototype.getOptimalRelativeTop_=function(e){var t=-this.height_/4;if(this.height_>e.viewHeight)return t;var o=this.anchorXY_.y+t,n=o+this.height_,i=e.viewTop;e=e.viewTop+e.viewHeight-Blockly.Scrollbar.scrollbarThickness/this.workspace_.scale;var r=this.anchorXY_.y;return o<i?t=i-r:n>e&&(t=e-r-this.height_),t},Blockly.Bubble.prototype.positionBubble_=function(){var e=this.anchorXY_.x;e=this.workspace_.RTL?e-(this.relativeLeft_+this.width_):e+this.relativeLeft_,this.moveTo(e,this.relativeTop_+this.anchorXY_.y)},Blockly.Bubble.prototype.moveTo=function(e,t){this.bubbleGroup_.setAttribute("transform","translate("+e+","+t+")")},Blockly.Bubble.prototype.getBubbleSize=function(){return{width:this.width_,height:this.height_}},Blockly.Bubble.prototype.setBubbleSize=function(e,t){var o=2*Blockly.Bubble.BORDER_WIDTH;e=Math.max(e,o+45),t=Math.max(t,o+20),this.width_=e,this.height_=t,this.bubbleBack_.setAttribute("width",e),this.bubbleBack_.setAttribute("height",t),this.resizeGroup_&&(this.workspace_.RTL?this.resizeGroup_.setAttribute("transform","translate("+2*Blockly.Bubble.BORDER_WIDTH+","+(t-o)+") scale(-1 1)"):this.resizeGroup_.setAttribute("transform","translate("+(e-o)+","+(t-o)+")")),this.rendered_&&(this.autoLayout_&&this.layoutBubble_(),this.positionBubble_(),this.renderArrow_()),this.resizeCallback_&&this.resizeCallback_()},Blockly.Bubble.prototype.renderArrow_=function(){var e=[],t=this.width_/2,o=this.height_/2,n=-this.relativeLeft_,i=-this.relativeTop_;if(t==n&&o==i)e.push("M "+t+","+o);else{i-=o,n-=t,this.workspace_.RTL&&(n*=-1);var r=Math.sqrt(i*i+n*n),s=Math.acos(n/r);0>i&&(s=2*Math.PI-s);var a=s+Math.PI/2;a>2*Math.PI&&(a-=2*Math.PI);var l=Math.sin(a),u=Math.cos(a),c=this.getBubbleSize();a=(c.width+c.height)/Blockly.Bubble.ARROW_THICKNESS,a=Math.min(a,c.width,c.height)/4,n=t+(c=1-Blockly.Bubble.ANCHOR_RADIUS/r)*n,i=o+c*i,c=t+a*u;var h=o+a*l;t-=a*u,o-=a*l,(l=s+this.arrow_radians_)>2*Math.PI&&(l-=2*Math.PI),s=Math.sin(l)*r/Blockly.Bubble.ARROW_BEND,r=Math.cos(l)*r/Blockly.Bubble.ARROW_BEND,e.push("M"+c+","+h),e.push("C"+(c+r)+","+(h+s)+" "+n+","+i+" "+n+","+i),e.push("C"+n+","+i+" "+(t+r)+","+(o+s)+" "+t+","+o)}e.push("z"),this.bubbleArrow_.setAttribute("d",e.join(" "))},Blockly.Bubble.prototype.setColour=function(e){this.bubbleBack_.setAttribute("fill",e),this.bubbleArrow_.setAttribute("fill",e)},Blockly.Bubble.prototype.dispose=function(){Blockly.Bubble.unbindDragEvents_(),Blockly.utils.dom.removeNode(this.bubbleGroup_),this.shape_=this.content_=this.workspace_=this.resizeGroup_=this.bubbleBack_=this.bubbleArrow_=this.bubbleGroup_=null},Blockly.Bubble.prototype.moveDuringDrag=function(e,t){e?e.translateSurface(t.x,t.y):this.moveTo(t.x,t.y),this.relativeLeft_=this.workspace_.RTL?this.anchorXY_.x-t.x-this.width_:t.x-this.anchorXY_.x,this.relativeTop_=t.y-this.anchorXY_.y,this.renderArrow_()},Blockly.Bubble.prototype.getRelativeToSurfaceXY=function(){return new Blockly.utils.Coordinate(this.anchorXY_.x+this.relativeLeft_,this.anchorXY_.y+this.relativeTop_)},Blockly.Bubble.prototype.setAutoLayout=function(e){this.autoLayout_=e},Blockly.Events.Ui=function(e,t,o,n){Blockly.Events.Ui.superClass_.constructor.call(this),this.blockId=e?e.id:null,this.workspaceId=e?e.workspace.id:null,this.element=t,this.oldValue=o,this.newValue=n,this.recordUndo=!1},goog.inherits(Blockly.Events.Ui,Blockly.Events.Abstract),Blockly.Events.Ui.prototype.type=Blockly.Events.UI,Blockly.Events.Ui.prototype.toJson=function(){var e=Blockly.Events.Ui.superClass_.toJson.call(this);return e.element=this.element,void 0!==this.newValue&&(e.newValue=this.newValue),this.blockId&&(e.blockId=this.blockId),e},Blockly.Events.Ui.prototype.fromJson=function(e){Blockly.Events.Ui.superClass_.fromJson.call(this,e),this.element=e.element,this.newValue=e.newValue,this.blockId=e.blockId},Blockly.Icon=function(e){this.block_=e},Blockly.Icon.prototype.collapseHidden=!0,Blockly.Icon.prototype.SIZE=17,Blockly.Icon.prototype.bubble_=null,Blockly.Icon.prototype.iconXY_=null,Blockly.Icon.prototype.createIcon=function(){this.iconGroup_||(this.iconGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyIconGroup"},null),this.block_.isInFlyout&&Blockly.utils.dom.addClass(this.iconGroup_,"blocklyIconGroupReadonly"),this.drawIcon_(this.iconGroup_),this.block_.getSvgRoot().appendChild(this.iconGroup_),Blockly.bindEventWithChecks_(this.iconGroup_,"mouseup",this,this.iconClick_),this.updateEditable())},Blockly.Icon.prototype.dispose=function(){Blockly.utils.dom.removeNode(this.iconGroup_),this.iconGroup_=null,this.setVisible(!1),this.block_=null},Blockly.Icon.prototype.updateEditable=function(){},Blockly.Icon.prototype.isVisible=function(){return!!this.bubble_},Blockly.Icon.prototype.iconClick_=function(e){this.block_.workspace.isDragging()||this.block_.isInFlyout||Blockly.utils.isRightButton(e)||this.setVisible(!this.isVisible())},Blockly.Icon.prototype.updateColour=function(){this.isVisible()&&this.bubble_.setColour(this.block_.getColour())},Blockly.Icon.prototype.renderIcon=function(e){if(this.collapseHidden&&this.block_.isCollapsed()||this.block_.isInsertionMarker())return this.iconGroup_.setAttribute("display","none"),e;this.iconGroup_.setAttribute("display","block");var t=this.SIZE;return this.block_.RTL&&(e-=t),this.iconGroup_.setAttribute("transform","translate("+e+",5)"),this.computeIconLocation(),this.block_.RTL?e-Blockly.BlockSvg.SEP_SPACE_X:e+(t+Blockly.BlockSvg.SEP_SPACE_X)},Blockly.Icon.prototype.setIconLocation=function(e){this.iconXY_=e,this.isVisible()&&this.bubble_.setAnchorLocation(e)},Blockly.Icon.prototype.computeIconLocation=function(){var e=this.block_.getRelativeToSurfaceXY(),t=Blockly.utils.getRelativeXY(this.iconGroup_);e=new Blockly.utils.Coordinate(e.x+t.x+this.SIZE/2,e.y+t.y+this.SIZE/2),Blockly.utils.Coordinate.equals(this.getIconLocation(),e)||this.setIconLocation(e)},Blockly.Icon.prototype.getIconLocation=function(){return this.iconXY_},Blockly.Comment=function(e){Blockly.Comment.superClass_.constructor.call(this,e),this.createIcon()},goog.inherits(Blockly.Comment,Blockly.Icon),Blockly.Comment.prototype.text_="",Blockly.Comment.prototype.width_=160,Blockly.Comment.prototype.height_=80,Blockly.Comment.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("circle",{class:"blocklyIconShape",r:"8",cx:"8",cy:"8"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},e),Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},e)},Blockly.Comment.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.dom.createSvgElement("foreignObject",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);var e=document.createElementNS(Blockly.utils.dom.HTML_NS,"body");e.setAttribute("xmlns",Blockly.utils.dom.HTML_NS),e.className="blocklyMinimalBody";var t=document.createElementNS(Blockly.utils.dom.HTML_NS,"textarea");return t.className="blocklyCommentTextarea",t.setAttribute("dir",this.block_.RTL?"RTL":"LTR"),e.appendChild(t),this.textarea_=t,this.foreignObject_.appendChild(e),Blockly.bindEventWithChecks_(t,"mouseup",this,this.textareaFocus_,!0,!0),Blockly.bindEventWithChecks_(t,"wheel",this,(function(e){e.stopPropagation()})),Blockly.bindEventWithChecks_(t,"change",this,(function(e){this.text_!=t.value&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,t.value)),this.text_=t.value)})),setTimeout((function(){t.focus()}),0),this.foreignObject_},Blockly.Comment.prototype.updateEditable=function(){this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)),Blockly.Icon.prototype.updateEditable.call(this)},Blockly.Comment.prototype.resizeBubble_=function(){if(this.isVisible()){var e=this.bubble_.getBubbleSize(),t=2*Blockly.Bubble.BORDER_WIDTH;this.foreignObject_.setAttribute("width",e.width-t),this.foreignObject_.setAttribute("height",e.height-t),this.textarea_.style.width=e.width-t-4+"px",this.textarea_.style.height=e.height-t-4+"px"}},Blockly.Comment.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"commentOpen",!e,e)),!this.block_.isEditable()&&!this.textarea_||Blockly.utils.userAgent.IE)Blockly.Warning.prototype.setVisible.call(this,e);else{var t=this.getText(),o=this.getBubbleSize();e?(this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,this.width_,this.height_),this.bubble_.setSvgId(this.block_.id),this.bubble_.registerResizeEvent(this.resizeBubble_.bind(this)),this.updateColour()):(this.bubble_.dispose(),this.foreignObject_=this.textarea_=this.bubble_=null),this.setText(t),this.setBubbleSize(o.width,o.height)}},Blockly.Comment.prototype.textareaFocus_=function(e){this.bubble_.promote_()&&this.textarea_.focus()},Blockly.Comment.prototype.getBubbleSize=function(){return this.isVisible()?this.bubble_.getBubbleSize():{width:this.width_,height:this.height_}},Blockly.Comment.prototype.setBubbleSize=function(e,t){this.textarea_?this.bubble_.setBubbleSize(e,t):(this.width_=e,this.height_=t)},Blockly.Comment.prototype.getText=function(){return this.textarea_?this.textarea_.value:this.text_},Blockly.Comment.prototype.setText=function(e){this.text_!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,e)),this.text_=e),this.textarea_&&(this.textarea_.value=e)},Blockly.Comment.prototype.dispose=function(){Blockly.Events.isEnabled()&&this.setText(""),this.block_.comment=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Connection=function(e,t){this.sourceBlock_=e,this.type=t,e.workspace.connectionDBList&&(this.db_=e.workspace.connectionDBList[t],this.dbOpposite_=e.workspace.connectionDBList[Blockly.OPPOSITE_TYPE[t]],this.hidden_=!this.db_)},Blockly.Connection.CAN_CONNECT=0,Blockly.Connection.REASON_SELF_CONNECTION=1,Blockly.Connection.REASON_WRONG_TYPE=2,Blockly.Connection.REASON_TARGET_NULL=3,Blockly.Connection.REASON_CHECKS_FAILED=4,Blockly.Connection.REASON_DIFFERENT_WORKSPACES=5,Blockly.Connection.REASON_SHADOW_PARENT=6,Blockly.Connection.prototype.targetConnection=null,Blockly.Connection.prototype.check_=null,Blockly.Connection.prototype.shadowDom_=null,Blockly.Connection.prototype.x_=0,Blockly.Connection.prototype.y_=0,Blockly.Connection.prototype.inDB_=!1,Blockly.Connection.prototype.db_=null,Blockly.Connection.prototype.dbOpposite_=null,Blockly.Connection.prototype.hidden_=null,Blockly.Connection.prototype.connect_=function(e){var t,o=this,n=o.getSourceBlock(),i=e.getSourceBlock();if(e.isConnected()&&e.disconnect(),o.isConnected()){var r=o.targetBlock(),s=o.getShadowDom();if(o.setShadowDom(null),r.isShadow())s=Blockly.Xml.blockToDom(r),r.dispose(),r=null;else if(o.type==Blockly.INPUT_VALUE){if(!r.outputConnection)throw Error("Orphan block does not have an output connection.");var a=Blockly.Connection.lastConnectionInRow_(i,r);a&&(r.outputConnection.connect(a),r=null)}else if(o.type==Blockly.NEXT_STATEMENT){if(!r.previousConnection)throw Error("Orphan block does not have a previous connection.");for(a=i;a.nextConnection;){var l=a.getNextBlock();if(!l||l.isShadow()){r.previousConnection.checkType_(a.nextConnection)&&(a.nextConnection.connect(r.previousConnection),r=null);break}a=l}}if(r&&(o.disconnect(),Blockly.Events.recordUndo)){var u=Blockly.Events.getGroup();setTimeout((function(){r.workspace&&!r.getParent()&&(Blockly.Events.setGroup(u),r.outputConnection?r.outputConnection.bumpAwayFrom_(o):r.previousConnection&&r.previousConnection.bumpAwayFrom_(o),Blockly.Events.setGroup(!1))}),Blockly.BUMP_DELAY)}o.setShadowDom(s)}Blockly.Events.isEnabled()&&(t=new Blockly.Events.BlockMove(i)),Blockly.Connection.connectReciprocally_(o,e),i.setParent(n),t&&(t.recordNew(),Blockly.Events.fire(t))},Blockly.Connection.prototype.dispose=function(){if(this.isConnected())throw Error("Disconnect connection before disposing of it.");this.inDB_&&this.db_.removeConnection_(this)},Blockly.Connection.prototype.getSourceBlock=function(){return this.sourceBlock_},Blockly.Connection.prototype.isSuperior=function(){return this.type==Blockly.INPUT_VALUE||this.type==Blockly.NEXT_STATEMENT},Blockly.Connection.prototype.isConnected=function(){return!!this.targetConnection},Blockly.Connection.prototype.canConnectWithReason_=function(e){if(!e)return Blockly.Connection.REASON_TARGET_NULL;if(this.isSuperior())var t=this.sourceBlock_,o=e.getSourceBlock();else o=this.sourceBlock_,t=e.getSourceBlock();return t&&t==o?Blockly.Connection.REASON_SELF_CONNECTION:e.type!=Blockly.OPPOSITE_TYPE[this.type]?Blockly.Connection.REASON_WRONG_TYPE:t&&o&&t.workspace!==o.workspace?Blockly.Connection.REASON_DIFFERENT_WORKSPACES:this.checkType_(e)?t.isShadow()&&!o.isShadow()?Blockly.Connection.REASON_SHADOW_PARENT:Blockly.Connection.CAN_CONNECT:Blockly.Connection.REASON_CHECKS_FAILED},Blockly.Connection.prototype.checkConnection_=function(e){switch(this.canConnectWithReason_(e)){case Blockly.Connection.CAN_CONNECT:break;case Blockly.Connection.REASON_SELF_CONNECTION:throw Error("Attempted to connect a block to itself.");case Blockly.Connection.REASON_DIFFERENT_WORKSPACES:throw Error("Blocks not on same workspace.");case Blockly.Connection.REASON_WRONG_TYPE:throw Error("Attempt to connect incompatible types.");case Blockly.Connection.REASON_TARGET_NULL:throw Error("Target connection is null.");case Blockly.Connection.REASON_CHECKS_FAILED:throw Error("Connection checks failed. "+this+" expected "+this.check_+", found "+e.check_);case Blockly.Connection.REASON_SHADOW_PARENT:throw Error("Connecting non-shadow to shadow block.");default:throw Error("Unknown connection failure: this should never happen!")}},Blockly.Connection.prototype.canConnectToPrevious_=function(e){return!this.targetConnection&&-1==Blockly.draggingConnections_.indexOf(e)&&(!e.targetConnection||!!(e=e.targetBlock()).isInsertionMarker()&&!e.getPreviousBlock())},Blockly.Connection.prototype.isConnectionAllowed=function(e){if(e.sourceBlock_.isInsertionMarker()||this.canConnectWithReason_(e)!=Blockly.Connection.CAN_CONNECT)return!1;switch(e.type){case Blockly.PREVIOUS_STATEMENT:return this.canConnectToPrevious_(e);case Blockly.OUTPUT_VALUE:if(e.isConnected()&&!e.targetBlock().isInsertionMarker()||this.isConnected())return!1;break;case Blockly.INPUT_VALUE:if(e.isConnected()&&!e.targetBlock().isMovable()&&!e.targetBlock().isShadow())return!1;break;case Blockly.NEXT_STATEMENT:if(e.isConnected()&&!this.sourceBlock_.nextConnection&&!e.targetBlock().isShadow()&&e.targetBlock().nextConnection)return!1;break;default:throw Error("Unknown connection type in isConnectionAllowed")}return-1==Blockly.draggingConnections_.indexOf(e)},Blockly.Connection.prototype.connect=function(e){if(this.targetConnection!=e){this.checkConnection_(e);var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0),this.isSuperior()?this.connect_(e):e.connect_(this),t||Blockly.Events.setGroup(!1)}},Blockly.Connection.connectReciprocally_=function(e,t){if(!e||!t)throw Error("Cannot connect null connections.");e.targetConnection=t,t.targetConnection=e},Blockly.Connection.singleConnection_=function(e,t){for(var o=!1,n=0;n<e.inputList.length;n++){var i=e.inputList[n].connection;if(i&&i.type==Blockly.INPUT_VALUE&&t.outputConnection.checkType_(i)){if(o)return null;o=i}}return o},Blockly.Connection.lastConnectionInRow_=function(e,t){for(var o,n=e;o=Blockly.Connection.singleConnection_(n,t);)if(!(n=o.targetBlock())||n.isShadow())return o;return null},Blockly.Connection.prototype.disconnect=function(){var e=this.targetConnection;if(!e)throw Error("Source connection not connected.");if(e.targetConnection!=this)throw Error("Target connection not connected to source connection.");if(this.isSuperior()){var t=this.sourceBlock_,o=e.getSourceBlock();e=this}else t=e.getSourceBlock(),o=this.sourceBlock_;var n=Blockly.Events.getGroup();n||Blockly.Events.setGroup(!0),this.disconnectInternal_(t,o),e.respawnShadow_(),n||Blockly.Events.setGroup(!1)},Blockly.Connection.prototype.disconnectInternal_=function(e,t){var o;Blockly.Events.isEnabled()&&(o=new Blockly.Events.BlockMove(t)),this.targetConnection=this.targetConnection.targetConnection=null,t.setParent(null),o&&(o.recordNew(),Blockly.Events.fire(o))},Blockly.Connection.prototype.respawnShadow_=function(){var e=this.getSourceBlock(),t=this.getShadowDom();if(e.workspace&&t&&Blockly.Events.recordUndo)if((e=Blockly.Xml.domToBlock(t,e.workspace)).outputConnection)this.connect(e.outputConnection);else{if(!e.previousConnection)throw Error("Child block does not have output or previous statement.");this.connect(e.previousConnection)}},Blockly.Connection.prototype.targetBlock=function(){return this.isConnected()?this.targetConnection.getSourceBlock():null},Blockly.Connection.prototype.checkType_=function(e){if(!this.check_||!e.check_)return!0;for(var t=0;t<this.check_.length;t++)if(-1!=e.check_.indexOf(this.check_[t]))return!0;return!1},Blockly.Connection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&(this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug()},Blockly.Connection.prototype.setCheck=function(e){return e?(Array.isArray(e)||(e=[e]),this.check_=e,this.onCheckChanged_()):this.check_=null,this},Blockly.Connection.prototype.getCheck=function(){return this.check_},Blockly.Connection.prototype.setShadowDom=function(e){this.shadowDom_=e},Blockly.Connection.prototype.getShadowDom=function(){return this.shadowDom_},Blockly.Connection.prototype.neighbours_=function(e){return[]},Blockly.Connection.prototype.toString=function(){var e=this.sourceBlock_;if(!e)return"Orphan Connection";if(e.outputConnection==this)var t="Output Connection of ";else if(e.previousConnection==this)t="Previous Connection of ";else if(e.nextConnection==this)t="Next Connection of ";else{t=null;for(var o,n=0;o=e.inputList[n];n++)if(o.connection==this){t=o;break}if(!t)return console.warn("Connection not actually connected to sourceBlock_"),"Orphan Connection";t='Input "'+t.name+'" connection on '}return t+e.toDevString()},Blockly.ConnectionDB=function(){this.connections_=[]},Blockly.ConnectionDB.prototype.addConnection=function(e){if(e.inDB_)throw Error("Connection already in database.");if(!e.getSourceBlock().isInFlyout){var t=this.findPositionForConnection_(e);this.connections_.splice(t,0,e),e.inDB_=!0}},Blockly.ConnectionDB.prototype.findConnection=function(e){if(!this.connections_.length)return-1;var t=this.findPositionForConnection_(e);if(t>=this.connections_.length)return-1;for(var o=e.y_,n=t;0<=n&&this.connections_[n].y_==o;){if(this.connections_[n]==e)return n;n--}for(;t<this.connections_.length&&this.connections_[t].y_==o;){if(this.connections_[t]==e)return t;t++}return-1},Blockly.ConnectionDB.prototype.findPositionForConnection_=function(e){if(!this.connections_.length)return 0;for(var t=0,o=this.connections_.length;t<o;){var n=Math.floor((t+o)/2);if(this.connections_[n].y_<e.y_)t=n+1;else{if(!(this.connections_[n].y_>e.y_)){t=n;break}o=n}}return t},Blockly.ConnectionDB.prototype.removeConnection_=function(e){if(!e.inDB_)throw Error("Connection not in database.");var t=this.findConnection(e);if(-1==t)throw Error("Unable to find connection in connectionDB.");e.inDB_=!1,this.connections_.splice(t,1)},Blockly.ConnectionDB.prototype.getNeighbours=function(e,t){function o(e){var o=i-n[e].x_,s=r-n[e].y_;return Math.sqrt(o*o+s*s)<=t&&u.push(n[e]),s<t}for(var n=this.connections_,i=e.x_,r=e.y_,s=0,a=n.length-2,l=a;s<l;)n[l].y_<r?s=l:a=l,l=Math.floor((s+a)/2);var u=[];if(a=s=l,n.length){for(;0<=s&&o(s);)s--;do{a++}while(a<n.length&&o(a))}return u},Blockly.ConnectionDB.prototype.isInYRange_=function(e,t,o){return Math.abs(this.connections_[e].y_-t)<=o},Blockly.ConnectionDB.prototype.searchForClosest=function(e,t,o){if(!this.connections_.length)return{connection:null,radius:t};var n=e.y_,i=e.x_;e.x_=i+o.x,e.y_=n+o.y;var r=this.findPositionForConnection_(e);o=null;for(var s,a=t,l=r-1;0<=l&&this.isInYRange_(l,e.y_,t);)s=this.connections_[l],e.isConnectionAllowed(s,a)&&(o=s,a=s.distanceFrom(e)),l--;for(;r<this.connections_.length&&this.isInYRange_(r,e.y_,t);)s=this.connections_[r],e.isConnectionAllowed(s,a)&&(o=s,a=s.distanceFrom(e)),r++;return e.x_=i,e.y_=n,{connection:o,radius:a}},Blockly.ConnectionDB.init=function(){var e=[];return e[Blockly.INPUT_VALUE]=new Blockly.ConnectionDB,e[Blockly.OUTPUT_VALUE]=new Blockly.ConnectionDB,e[Blockly.NEXT_STATEMENT]=new Blockly.ConnectionDB,e[Blockly.PREVIOUS_STATEMENT]=new Blockly.ConnectionDB,e},Blockly.constants={},Blockly.LINE_MODE_MULTIPLIER=40,Blockly.PAGE_MODE_MULTIPLIER=125,Blockly.DRAG_RADIUS=5,Blockly.FLYOUT_DRAG_RADIUS=10,Blockly.SNAP_RADIUS=28,Blockly.CONNECTING_SNAP_RADIUS=Blockly.SNAP_RADIUS,Blockly.CURRENT_CONNECTION_PREFERENCE=8,Blockly.INSERTION_MARKER_COLOUR="#000000",Blockly.BUMP_DELAY=250,Blockly.BUMP_RANDOMNESS=10,Blockly.COLLAPSE_CHARS=30,Blockly.LONGPRESS=750,Blockly.SOUND_LIMIT=100,Blockly.DRAG_STACK=!0,Blockly.HSV_SATURATION=.45,Blockly.HSV_VALUE=.65,Blockly.SPRITE={width:96,height:124,url:"sprites.png"},Blockly.INPUT_VALUE=1,Blockly.OUTPUT_VALUE=2,Blockly.NEXT_STATEMENT=3,Blockly.PREVIOUS_STATEMENT=4,Blockly.DUMMY_INPUT=5,Blockly.ALIGN_LEFT=-1,Blockly.ALIGN_CENTRE=0,Blockly.ALIGN_RIGHT=1,Blockly.DRAG_NONE=0,Blockly.DRAG_STICKY=1,Blockly.DRAG_BEGIN=1,Blockly.DRAG_FREE=2,Blockly.OPPOSITE_TYPE=[],Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE,Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT,Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT,Blockly.TOOLBOX_AT_TOP=0,Blockly.TOOLBOX_AT_BOTTOM=1,Blockly.TOOLBOX_AT_LEFT=2,Blockly.TOOLBOX_AT_RIGHT=3,Blockly.DELETE_AREA_NONE=null,Blockly.DELETE_AREA_TRASH=1,Blockly.DELETE_AREA_TOOLBOX=2,Blockly.VARIABLE_CATEGORY_NAME="VARIABLE",Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC",Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE",Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID",Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID",Blockly.blockAnimations={},Blockly.blockAnimations.disconnectPid_=0,Blockly.blockAnimations.disconnectGroup_=null,Blockly.blockAnimations.disposeUiEffect=function(e){var t=e.workspace,o=e.getSvgRoot();t.getAudioManager().play("delete"),e=t.getSvgXY(o),(o=o.cloneNode(!0)).translateX_=e.x,o.translateY_=e.y,o.setAttribute("transform","translate("+e.x+","+e.y+")"),t.getParentSvg().appendChild(o),o.bBox_=o.getBBox(),Blockly.blockAnimations.disposeUiStep_(o,t.RTL,new Date,t.scale)},Blockly.blockAnimations.disposeUiStep_=function(e,t,o,n){var i=(new Date-o)/150;1<i?Blockly.utils.dom.removeNode(e):(e.setAttribute("transform","translate("+(e.translateX_+(t?-1:1)*e.bBox_.width*n/2*i)+","+(e.translateY_+e.bBox_.height*n*i)+") scale("+(1-i)*n+")"),setTimeout(Blockly.blockAnimations.disposeUiStep_,10,e,t,o,n))},Blockly.blockAnimations.connectionUiEffect=function(e){var t=e.workspace,o=t.scale;if(t.getAudioManager().play("click"),!(1>o)){var n=t.getSvgXY(e.getSvgRoot());e.outputConnection?(n.x+=(e.RTL?3:-3)*o,n.y+=13*o):e.previousConnection&&(n.x+=(e.RTL?-23:23)*o,n.y+=3*o),e=Blockly.utils.dom.createSvgElement("circle",{cx:n.x,cy:n.y,r:0,fill:"none",stroke:"#888","stroke-width":10},t.getParentSvg()),Blockly.blockAnimations.connectionUiStep_(e,new Date,o)}},Blockly.blockAnimations.connectionUiStep_=function(e,t,o){var n=(new Date-t)/150;1<n?Blockly.utils.dom.removeNode(e):(e.setAttribute("r",25*n*o),e.style.opacity=1-n,Blockly.blockAnimations.disconnectPid_=setTimeout(Blockly.blockAnimations.connectionUiStep_,10,e,t,o))},Blockly.blockAnimations.disconnectUiEffect=function(e){if(e.workspace.getAudioManager().play("disconnect"),!(1>e.workspace.scale)){var t=e.getHeightWidth().height;t=Math.atan(10/t)/Math.PI*180,e.RTL||(t*=-1),Blockly.blockAnimations.disconnectUiStep_(e.getSvgRoot(),t,new Date)}},Blockly.blockAnimations.disconnectUiStep_=function(e,t,o){var n=(new Date-o)/200;1<n?e.skew_="":(e.skew_="skewX("+Math.round(Math.sin(n*Math.PI*3)*(1-n)*t)+")",Blockly.blockAnimations.disconnectGroup_=e,Blockly.blockAnimations.disconnectPid_=setTimeout(Blockly.blockAnimations.disconnectUiStep_,10,e,t,o)),e.setAttribute("transform",e.translate_+e.skew_)},Blockly.blockAnimations.disconnectUiStop=function(){if(Blockly.blockAnimations.disconnectGroup_){clearTimeout(Blockly.blockAnimations.disconnectPid_);var e=Blockly.blockAnimations.disconnectGroup_;e.skew_="",e.setAttribute("transform",e.translate_),Blockly.blockAnimations.disconnectGroup_=null}},Blockly.RenderedConnection=function(e,t){Blockly.RenderedConnection.superClass_.constructor.call(this,e,t),this.offsetInBlock_=new Blockly.utils.Coordinate(0,0)},goog.inherits(Blockly.RenderedConnection,Blockly.Connection),Blockly.RenderedConnection.prototype.distanceFrom=function(e){var t=this.x_-e.x_;return e=this.y_-e.y_,Math.sqrt(t*t+e*e)},Blockly.RenderedConnection.prototype.bumpAwayFrom_=function(e){if(!this.sourceBlock_.workspace.isDragging()){var t=this.sourceBlock_.getRootBlock();if(!t.isInFlyout){var o=!1;if(!t.isMovable()){if(!(t=e.getSourceBlock().getRootBlock()).isMovable())return;e=this,o=!0}var n=Blockly.selected==t;n||t.addSelect();var i=e.x_+Blockly.SNAP_RADIUS+Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.x_,r=e.y_+Blockly.SNAP_RADIUS+Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.y_;o&&(r=-r),t.RTL&&(i=e.x_-Blockly.SNAP_RADIUS-Math.floor(Math.random()*Blockly.BUMP_RANDOMNESS)-this.x_),t.moveBy(i,r),n||t.removeSelect()}}},Blockly.RenderedConnection.prototype.moveTo=function(e,t){this.inDB_&&this.db_.removeConnection_(this),this.x_=e,this.y_=t,this.hidden_||this.db_.addConnection(this)},Blockly.RenderedConnection.prototype.moveBy=function(e,t){this.moveTo(this.x_+e,this.y_+t)},Blockly.RenderedConnection.prototype.moveToOffset=function(e){this.moveTo(e.x+this.offsetInBlock_.x,e.y+this.offsetInBlock_.y)},Blockly.RenderedConnection.prototype.setOffsetInBlock=function(e,t){this.offsetInBlock_.x=e,this.offsetInBlock_.y=t},Blockly.RenderedConnection.prototype.tighten_=function(){var e=this.targetConnection.x_-this.x_,t=this.targetConnection.y_-this.y_;if(0!=e||0!=t){var o=this.targetBlock(),n=o.getSvgRoot();if(!n)throw Error("block is not rendered.");n=Blockly.utils.getRelativeXY(n),o.getSvgRoot().setAttribute("transform","translate("+(n.x-e)+","+(n.y-t)+")"),o.moveConnections_(-e,-t)}},Blockly.RenderedConnection.prototype.closest=function(e,t){return this.dbOpposite_.searchForClosest(this,e,t)},Blockly.RenderedConnection.prototype.highlight=function(){var e=this.type==Blockly.INPUT_VALUE||this.type==Blockly.OUTPUT_VALUE?"m 0,0 "+Blockly.BlockSvg.TAB_PATH_DOWN+" v 5":"m -20,0 h 5 "+Blockly.BlockSvg.NOTCH_PATH_LEFT+" h 5",t=this.sourceBlock_.getRelativeToSurfaceXY();Blockly.Connection.highlightedPath_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyHighlightedConnectionPath",d:e,transform:"translate("+(this.x_-t.x)+","+(this.y_-t.y)+")"+(this.sourceBlock_.RTL?" scale(-1 1)":"")},this.sourceBlock_.getSvgRoot())},Blockly.RenderedConnection.prototype.unhideAll=function(){this.setHidden(!1);var e=[];if(this.type!=Blockly.INPUT_VALUE&&this.type!=Blockly.NEXT_STATEMENT)return e;var t=this.targetBlock();if(t){if(t.isCollapsed()){var o=[];t.outputConnection&&o.push(t.outputConnection),t.nextConnection&&o.push(t.nextConnection),t.previousConnection&&o.push(t.previousConnection)}else o=t.getConnections_(!0);for(var n=0;n<o.length;n++)e.push.apply(e,o[n].unhideAll());e.length||(e[0]=t)}return e},Blockly.RenderedConnection.prototype.unhighlight=function(){Blockly.utils.dom.removeNode(Blockly.Connection.highlightedPath_),delete Blockly.Connection.highlightedPath_},Blockly.RenderedConnection.prototype.setHidden=function(e){(this.hidden_=e)&&this.inDB_?this.db_.removeConnection_(this):e||this.inDB_||this.db_.addConnection(this)},Blockly.RenderedConnection.prototype.hideAll=function(){if(this.setHidden(!0),this.targetConnection)for(var e=this.targetBlock().getDescendants(!1),t=0;t<e.length;t++){for(var o=e[t],n=o.getConnections_(!0),i=0;i<n.length;i++)n[i].setHidden(!0);for(o=o.getIcons(),i=0;i<o.length;i++)o[i].setVisible(!1)}},Blockly.RenderedConnection.prototype.isConnectionAllowed=function(e,t){return!(this.distanceFrom(e)>t)&&Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,e)},Blockly.RenderedConnection.prototype.disconnectInternal_=function(e,t){Blockly.RenderedConnection.superClass_.disconnectInternal_.call(this,e,t),e.rendered&&e.render(),t.rendered&&(t.updateDisabled(),t.render())},Blockly.RenderedConnection.prototype.respawnShadow_=function(){var e=this.getSourceBlock(),t=this.getShadowDom();if(e.workspace&&t&&Blockly.Events.recordUndo){if(Blockly.RenderedConnection.superClass_.respawnShadow_.call(this),!(t=this.targetBlock()))throw Error("Couldn't respawn the shadow block that should exist here.");t.initSvg(),t.render(!1),e.rendered&&e.render()}},Blockly.RenderedConnection.prototype.neighbours_=function(e){return this.dbOpposite_.getNeighbours(this,e)},Blockly.RenderedConnection.prototype.connect_=function(e){Blockly.RenderedConnection.superClass_.connect_.call(this,e);var t=this.getSourceBlock();e=e.getSourceBlock(),t.rendered&&t.updateDisabled(),e.rendered&&e.updateDisabled(),t.rendered&&e.rendered&&(this.type==Blockly.NEXT_STATEMENT||this.type==Blockly.PREVIOUS_STATEMENT?e.render():t.render())},Blockly.RenderedConnection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours_())},Blockly.InsertionMarkerManager=function(e){this.topBlock_=Blockly.selected=e,this.workspace_=e.workspace,this.lastMarker_=this.lastOnStack_=null,this.firstMarker_=this.createMarkerBlock_(this.topBlock_),this.localConnection_=this.closestConnection_=null,this.wouldDeleteBlock_=!1,this.markerConnection_=null,this.highlightingBlock_=!1,this.highlightedBlock_=null,this.availableConnections_=this.initAvailableConnections_()},Blockly.InsertionMarkerManager.prototype.dispose=function(){this.workspace_=this.topBlock_=null,this.availableConnections_.length=0,this.localConnection_=this.closestConnection_=null,Blockly.Events.disable();try{this.firstMarker_&&(this.firstMarker_.dispose(),this.firstMarker_=null),this.lastMarker_&&(this.lastMarker_.dispose(),this.lastMarker_=null)}finally{Blockly.Events.enable()}this.highlightedBlock_=null},Blockly.InsertionMarkerManager.prototype.wouldDeleteBlock=function(){return this.wouldDeleteBlock_},Blockly.InsertionMarkerManager.prototype.wouldConnectBlock=function(){return!!this.closestConnection_},Blockly.InsertionMarkerManager.prototype.applyConnections=function(){if(this.closestConnection_&&(Blockly.Events.disable(),this.hidePreview_(),Blockly.Events.enable(),this.localConnection_.connect(this.closestConnection_),this.topBlock_.rendered)){var e=this.localConnection_.isSuperior()?this.closestConnection_:this.localConnection_;Blockly.blockAnimations.connectionUiEffect(e.getSourceBlock()),this.topBlock_.getRootBlock().bringToFront()}},Blockly.InsertionMarkerManager.prototype.update=function(e,t){var o=this.getCandidate_(e);((this.wouldDeleteBlock_=this.shouldDelete_(o,t))||this.shouldUpdatePreviews_(o,e))&&(Blockly.Events.disable(),this.maybeHidePreview_(o),this.maybeShowPreview_(o),Blockly.Events.enable())},Blockly.InsertionMarkerManager.prototype.createMarkerBlock_=function(e){var t=e.type;Blockly.Events.disable();try{var o=this.workspace_.newBlock(t);if(o.setInsertionMarker(!0,e.width),o.setCollapsed(e.isCollapsed()),e.mutationToDom){var n=e.mutationToDom();n&&o.domToMutation(n)}for(t=0;t<e.inputList.length;t++){var i=e.inputList[t];for(n=0;n<i.fieldRow.length;n++){var r=i.fieldRow[n];o.setFieldValue(r.getValue(),r.name)}}o.initSvg(),o.getSvgRoot().setAttribute("visibility","hidden")}finally{Blockly.Events.enable()}return o},Blockly.InsertionMarkerManager.prototype.initAvailableConnections_=function(){var e=this.topBlock_.getConnections_(!1),t=this.topBlock_.lastConnectionInStack();return t&&t!=this.topBlock_.nextConnection&&(e.push(t),this.lastOnStack_=t,this.lastMarker_=this.createMarkerBlock_(t.sourceBlock_)),e},Blockly.InsertionMarkerManager.prototype.shouldUpdatePreviews_=function(e,t){var o=e.local,n=e.closest,i=e.radius;if(!o||!n)return!(!this.localConnection_||!this.closestConnection_);if(this.localConnection_&&this.closestConnection_){if(this.closestConnection_==n&&this.localConnection_==o)return!1;o=this.localConnection_.x_+t.x-this.closestConnection_.x_;var r=this.localConnection_.y_+t.y-this.closestConnection_.y_;return o=Math.sqrt(o*o+r*r),!(n&&i>o-Blockly.CURRENT_CONNECTION_PREFERENCE)}return!this.localConnection_&&!this.closestConnection_||(console.error("Only one of localConnection_ and closestConnection_ was set."),console.error("Returning true from shouldUpdatePreviews, but it's not clear why."),!0)},Blockly.InsertionMarkerManager.prototype.getCandidate_=function(e){for(var t=this.getStartRadius_(),o=null,n=null,i=0;i<this.availableConnections_.length;i++){var r=this.availableConnections_[i],s=r.closest(t,e);s.connection&&(o=s.connection,n=r,t=s.radius)}return{closest:o,local:n,radius:t}},Blockly.InsertionMarkerManager.prototype.getStartRadius_=function(){return this.closestConnection_&&this.localConnection_?Blockly.CONNECTING_SNAP_RADIUS:Blockly.SNAP_RADIUS},Blockly.InsertionMarkerManager.prototype.shouldReplace_=function(){var e=this.closestConnection_,t=this.localConnection_;return t.type==Blockly.OUTPUT_VALUE?!(!e.isConnected()||Blockly.Connection.lastConnectionInRow_(this.topBlock_,e.targetConnection.getSourceBlock())):t!=t.sourceBlock_.getFirstStatementConnection()&&!(this.topBlock_.nextConnection||t.type!=Blockly.PREVIOUS_STATEMENT||!e.isConnected())},Blockly.InsertionMarkerManager.prototype.shouldDelete_=function(e,t){var o=e&&!!e.closest&&t!=Blockly.DELETE_AREA_TOOLBOX;return!!t&&!this.topBlock_.getParent()&&this.topBlock_.isDeletable()&&!o},Blockly.InsertionMarkerManager.prototype.maybeShowPreview_=function(e){if(!this.wouldDeleteBlock_){var t=e.closest;e=e.local,t&&(t==this.closestConnection_||t.sourceBlock_.isInsertionMarker()?console.log("trying to connect to an insertion marker"):(this.closestConnection_=t,this.localConnection_=e,this.showPreview_()))}},Blockly.InsertionMarkerManager.prototype.showPreview_=function(){this.shouldReplace_()?this.highlightBlock_():this.connectMarker_(),this.closestConnection_&&this.closestConnection_.highlight()},Blockly.InsertionMarkerManager.prototype.maybeHidePreview_=function(e){if(e.closest){var t=this.closestConnection_!=e.closest;e=this.localConnection_!=e.local,this.closestConnection_&&this.localConnection_&&(t||e||this.wouldDeleteBlock_)&&this.hidePreview_()}else this.hidePreview_();this.localConnection_=this.closestConnection_=this.markerConnection_=null},Blockly.InsertionMarkerManager.prototype.hidePreview_=function(){this.closestConnection_&&this.closestConnection_.unhighlight(),this.highlightingBlock_?this.unhighlightBlock_():this.markerConnection_&&this.disconnectMarker_()},Blockly.InsertionMarkerManager.prototype.highlightBlock_=function(){var e=this.closestConnection_,t=this.localConnection_;e.targetBlock()?(this.highlightedBlock_=e.targetBlock(),e.targetBlock().highlightForReplacement(!0)):t.type==Blockly.OUTPUT_VALUE&&(this.highlightedBlock_=e.sourceBlock_,e.sourceBlock_.highlightShapeForInput(e,!0)),this.highlightingBlock_=!0},Blockly.InsertionMarkerManager.prototype.unhighlightBlock_=function(){var e=this.closestConnection_;e.type!=Blockly.INPUT_VALUE||e.isConnected()?this.highlightedBlock_.highlightForReplacement(!1):this.highlightedBlock_.highlightShapeForInput(e,!1),this.highlightedBlock_=null,this.highlightingBlock_=!1},Blockly.InsertionMarkerManager.prototype.disconnectMarker_=function(){if(this.markerConnection_){var e=this.markerConnection_,t=e.sourceBlock_,o=t.nextConnection,n=t.previousConnection,i=t.outputConnection;if(i=e.type==Blockly.INPUT_VALUE&&!(i&&i.targetConnection),!(e!=o||n&&n.targetConnection)||i?e.targetBlock().unplug(!1):e.type==Blockly.NEXT_STATEMENT&&e!=o?((o=e.targetConnection).sourceBlock_.unplug(!1),n=n?n.targetConnection:null,t.unplug(!0),n&&n.connect(o)):t.unplug(!0),e.targetConnection)throw Error("markerConnection_ still connected at the end of disconnectInsertionMarker");this.markerConnection_=null,t.getSvgRoot().setAttribute("visibility","hidden")}else console.log("No insertion marker connection to disconnect")},Blockly.InsertionMarkerManager.prototype.connectMarker_=function(){var e=this.localConnection_,t=this.closestConnection_,o=this.lastOnStack_&&e==this.lastOnStack_?this.lastMarker_:this.firstMarker_;if((e=o.getMatchingConnection(e.sourceBlock_,e))==this.markerConnection_)throw Error("Made it to connectMarker_ even though the marker isn't changing");o.render(),o.rendered=!0,o.getSvgRoot().setAttribute("visibility","visible"),o.positionNewBlock(o,e,t),e.connect(t),this.markerConnection_=e},Blockly.InsertionMarkerManager.prototype.getInsertionMarkers=function(){var e=[];return this.firstMarker_&&e.push(this.firstMarker_),this.lastMarker_&&e.push(this.lastMarker_),e},Blockly.BlockDragger=function(e,t){this.draggingBlock_=e,this.workspace_=t,this.draggedConnectionManager_=new Blockly.InsertionMarkerManager(this.draggingBlock_),this.deleteArea_=null,this.wouldDeleteBlock_=!1,this.startXY_=this.draggingBlock_.getRelativeToSurfaceXY(),this.dragIconData_=Blockly.BlockDragger.initIconData_(e)},Blockly.BlockDragger.prototype.dispose=function(){this.startWorkspace_=this.workspace_=this.draggingBlock_=null,this.dragIconData_.length=0,this.draggedConnectionManager_&&(this.draggedConnectionManager_.dispose(),this.draggedConnectionManager_=null)},Blockly.BlockDragger.initIconData_=function(e){var t=[];e=e.getDescendants(!1);for(var o,n=0;o=e[n];n++){o=o.getIcons();for(var i=0;i<o.length;i++){var r={location:o[i].getIconLocation(),icon:o[i]};t.push(r)}}return t},Blockly.BlockDragger.prototype.startBlockDrag=function(e,t){if(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.workspace_.isMutator&&this.draggingBlock_.bringToFront(),Blockly.Field.startCache(),this.workspace_.setResizesEnabled(!1),Blockly.blockAnimations.disconnectUiStop(),this.draggingBlock_.getParent()||t&&this.draggingBlock_.nextConnection&&this.draggingBlock_.nextConnection.targetBlock()){this.draggingBlock_.unplug(t);var o=this.pixelsToWorkspaceUnits_(e);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBlock_.translate(o.x,o.y),Blockly.blockAnimations.disconnectUiEffect(this.draggingBlock_)}if(this.draggingBlock_.setDragging(!0),this.draggingBlock_.moveToDragSurface_(),o=this.workspace_.getToolbox()){var n=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";o.addStyle(n)}},Blockly.BlockDragger.prototype.dragBlock=function(e,t){var o=this.pixelsToWorkspaceUnits_(t),n=Blockly.utils.Coordinate.sum(this.startXY_,o);this.draggingBlock_.moveDuringDrag(n),this.dragIcons_(o),this.deleteArea_=this.workspace_.isDeleteArea(e),this.draggedConnectionManager_.update(o,this.deleteArea_),this.updateCursorDuringBlockDrag_()},Blockly.BlockDragger.prototype.endBlockDrag=function(e,t){this.dragBlock(e,t),this.dragIconData_=[],Blockly.Field.stopCache(),Blockly.blockAnimations.disconnectUiStop();var o=this.pixelsToWorkspaceUnits_(t),n=Blockly.utils.Coordinate.sum(this.startXY_,o);this.draggingBlock_.moveOffDragSurface_(n),this.maybeDeleteBlock_()||(this.draggingBlock_.moveConnections_(o.x,o.y),this.draggingBlock_.setDragging(!1),this.fireMoveEvent_(),this.draggedConnectionManager_.wouldConnectBlock()?this.draggedConnectionManager_.applyConnections():this.draggingBlock_.render(),this.draggingBlock_.scheduleSnapAndBump()),this.workspace_.setResizesEnabled(!0),(o=this.workspace_.getToolbox())&&(n=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab",o.removeStyle(n)),Blockly.Events.setGroup(!1)},Blockly.BlockDragger.prototype.fireMoveEvent_=function(){var e=new Blockly.Events.BlockMove(this.draggingBlock_);e.oldCoordinate=this.startXY_,e.recordNew(),Blockly.Events.fire(e)},Blockly.BlockDragger.prototype.maybeDeleteBlock_=function(){var e=this.workspace_.trashcan;return this.wouldDeleteBlock_?(e&&setTimeout(e.close.bind(e),100),this.fireMoveEvent_(),this.draggingBlock_.dispose(!1,!0)):e&&e.close(),this.wouldDeleteBlock_},Blockly.BlockDragger.prototype.updateCursorDuringBlockDrag_=function(){this.wouldDeleteBlock_=this.draggedConnectionManager_.wouldDeleteBlock();var e=this.workspace_.trashcan;this.wouldDeleteBlock_?(this.draggingBlock_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&e&&e.setOpen_(!0)):(this.draggingBlock_.setDeleteStyle(!1),e&&e.setOpen_(!1))},Blockly.BlockDragger.prototype.pixelsToWorkspaceUnits_=function(e){return e=new Blockly.utils.Coordinate(e.x/this.workspace_.scale,e.y/this.workspace_.scale),this.workspace_.isMutator&&e.scale(1/this.workspace_.options.parentWorkspace.scale),e},Blockly.BlockDragger.prototype.dragIcons_=function(e){for(var t=0;t<this.dragIconData_.length;t++){var o=this.dragIconData_[t];o.icon.setIconLocation(Blockly.utils.Coordinate.sum(o.location,e))}},Blockly.BlockDragger.prototype.getInsertionMarkers=function(){return this.draggedConnectionManager_&&this.draggedConnectionManager_.getInsertionMarkers?this.draggedConnectionManager_.getInsertionMarkers():[]},Blockly.utils.Rect=function(e,t,o,n){this.top=e,this.bottom=t,this.left=o,this.right=n},Blockly.utils.Rect.prototype.contains=function(e,t){return e>=this.left&&e<=this.right&&t>=this.top&&t<=this.bottom},Blockly.WorkspaceCommentSvg=function(e,t,o,n,i){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyComment"},null),this.svgGroup_.translate_="",this.svgRect_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentRect",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS}),this.svgGroup_.appendChild(this.svgRect_),this.rendered_=!1,this.useDragSurface_=Blockly.utils.is3dSupported()&&!!e.blockDragSurface_,Blockly.WorkspaceCommentSvg.superClass_.constructor.call(this,e,t,o,n,i),this.render()},goog.inherits(Blockly.WorkspaceCommentSvg,Blockly.WorkspaceComment),Blockly.WorkspaceCommentSvg.DEFAULT_SIZE=100,Blockly.WorkspaceCommentSvg.prototype.dispose=function(){this.workspace&&(Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture()),Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),Blockly.utils.dom.removeNode(this.svgGroup_),this.svgRect_=this.svgGroup_=null,this.disposeInternal_(),Blockly.Events.disable(),Blockly.WorkspaceCommentSvg.superClass_.dispose.call(this),Blockly.Events.enable())},Blockly.WorkspaceCommentSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");this.workspace.options.readOnly||this.eventsInit_||(Blockly.bindEventWithChecks_(this.svgRectTarget_,"mousedown",this,this.pathMouseDown_),Blockly.bindEventWithChecks_(this.svgHandleTarget_,"mousedown",this,this.pathMouseDown_)),this.eventsInit_=!0,this.updateMovable(),this.getSvgRoot().parentNode||this.workspace.getBubbleCanvas().appendChild(this.getSvgRoot())},Blockly.WorkspaceCommentSvg.prototype.pathMouseDown_=function(e){var t=this.workspace.getGesture(e);t&&t.handleBubbleStart(e,this)},Blockly.WorkspaceCommentSvg.prototype.showContextMenu_=function(e){if(!this.workspace.options.readOnly){var t=[];this.isDeletable()&&this.isMovable()&&(t.push(Blockly.ContextMenu.commentDuplicateOption(this)),t.push(Blockly.ContextMenu.commentDeleteOption(this))),Blockly.ContextMenu.show(e,t,this.RTL)}},Blockly.WorkspaceCommentSvg.prototype.select=function(){if(Blockly.selected!=this){var e=null;if(Blockly.selected){e=Blockly.selected.id,Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}(e=new Blockly.Events.Ui(null,"selected",e,this.id)).workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=this,this.addSelect()}},Blockly.WorkspaceCommentSvg.prototype.unselect=function(){if(Blockly.selected==this){var e=new Blockly.Events.Ui(null,"selected",this.id,null);e.workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=null,this.removeSelect(),this.blurFocus()}},Blockly.WorkspaceCommentSvg.prototype.addSelect=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklySelected"),this.setFocus()},Blockly.WorkspaceCommentSvg.prototype.removeSelect=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklySelected"),this.blurFocus()},Blockly.WorkspaceCommentSvg.prototype.addFocus=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklyFocused")},Blockly.WorkspaceCommentSvg.prototype.removeFocus=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyFocused")},Blockly.WorkspaceCommentSvg.prototype.getRelativeToSurfaceXY=function(){var e=0,t=0,o=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,n=this.getSvgRoot();if(n)do{var i=Blockly.utils.getRelativeXY(n);e+=i.x,t+=i.y,this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==n&&(e+=(i=this.workspace.blockDragSurface_.getSurfaceTranslation()).x,t+=i.y),n=n.parentNode}while(n&&n!=this.workspace.getBubbleCanvas()&&n!=o);return this.xy_=new Blockly.utils.Coordinate(e,t)},Blockly.WorkspaceCommentSvg.prototype.moveBy=function(e,t){var o=new Blockly.Events.CommentMove(this),n=this.getRelativeToSurfaceXY();this.translate(n.x+e,n.y+t),this.xy_=new Blockly.utils.Coordinate(n.x+e,n.y+t),o.recordNew(),Blockly.Events.fire(o),this.workspace.resizeContents()},Blockly.WorkspaceCommentSvg.prototype.translate=function(e,t){this.xy_=new Blockly.utils.Coordinate(e,t),this.getSvgRoot().setAttribute("transform","translate("+e+","+t+")")},Blockly.WorkspaceCommentSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var e=this.getRelativeToSurfaceXY();this.clearTransformAttributes_(),this.workspace.blockDragSurface_.translateSurface(e.x,e.y),this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}},Blockly.WorkspaceCommentSvg.prototype.moveOffDragSurface_=function(e){this.useDragSurface_&&(this.translate(e.x,e.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))},Blockly.WorkspaceCommentSvg.prototype.moveDuringDrag=function(e,t){e?e.translateSurface(t.x,t.y):(this.svgGroup_.translate_="translate("+t.x+","+t.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))},Blockly.WorkspaceCommentSvg.prototype.moveTo=function(e,t){this.translate(e,t)},Blockly.WorkspaceCommentSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute("transform")},Blockly.WorkspaceCommentSvg.prototype.getBoundingRectangle=function(){var e=this.getRelativeToSurfaceXY(),t=this.getHeightWidth(),o=e.y,n=e.y+t.height;if(this.RTL){var i=e.x-t.width;e=e.x}else i=e.x,e=e.x+t.width;return new Blockly.utils.Rect(o,n,i,e)},Blockly.WorkspaceCommentSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggable")},Blockly.WorkspaceCommentSvg.prototype.setMovable=function(e){Blockly.WorkspaceCommentSvg.superClass_.setMovable.call(this,e),this.updateMovable()},Blockly.WorkspaceCommentSvg.prototype.setDragging=function(e){e?((e=this.getSvgRoot()).translate_="",e.skew_="",Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDragging")):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDragging")},Blockly.WorkspaceCommentSvg.prototype.getSvgRoot=function(){return this.svgGroup_},Blockly.WorkspaceCommentSvg.prototype.getContent=function(){return this.textarea_?this.textarea_.value:this.content_},Blockly.WorkspaceCommentSvg.prototype.setContent=function(e){Blockly.WorkspaceCommentSvg.superClass_.setContent.call(this,e),this.textarea_&&(this.textarea_.value=e)},Blockly.WorkspaceCommentSvg.prototype.setDeleteStyle=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggingDelete")},Blockly.WorkspaceCommentSvg.prototype.setAutoLayout=function(){},Blockly.WorkspaceCommentSvg.fromXml=function(e,t,o){Blockly.Events.disable();try{var n=Blockly.WorkspaceComment.parseAttributes(e),i=new Blockly.WorkspaceCommentSvg(t,n.content,n.h,n.w,n.id);if(t.rendered&&(i.initSvg(),i.render(!1)),!isNaN(n.x)&&!isNaN(n.y))if(t.RTL){var r=o||t.getWidth();i.moveBy(r-n.x,n.y)}else i.moveBy(n.x,n.y)}finally{Blockly.Events.enable()}return Blockly.WorkspaceComment.fireCreateEvent(i),i},Blockly.WorkspaceCommentSvg.prototype.toXmlWithXY=function(e){var t;this.workspace.RTL&&(t=this.workspace.getWidth()),e=this.toXml(e);var o=this.getRelativeToSurfaceXY();return e.setAttribute("x",Math.round(this.workspace.RTL?t-o.x:o.x)),e.setAttribute("y",Math.round(o.y)),e.setAttribute("h",this.getHeight()),e.setAttribute("w",this.getWidth()),e},Blockly.BubbleDragger=function(e,t){this.draggingBubble_=e,this.workspace_=t,this.deleteArea_=null,this.wouldDeleteBubble_=!1,this.startXY_=this.draggingBubble_.getRelativeToSurfaceXY(),this.dragSurface_=Blockly.utils.is3dSupported()&&t.getBlockDragSurface()?t.getBlockDragSurface():null},Blockly.BubbleDragger.prototype.dispose=function(){this.dragSurface_=this.workspace_=this.draggingBubble_=null},Blockly.BubbleDragger.prototype.startBubbleDrag=function(){Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.workspace_.setResizesEnabled(!1),this.draggingBubble_.setAutoLayout(!1),this.dragSurface_&&this.moveToDragSurface_(),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!0);var e=this.workspace_.getToolbox();if(e){var t=this.draggingBubble_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";e.addStyle(t)}},Blockly.BubbleDragger.prototype.dragBubble=function(e,t){var o=this.pixelsToWorkspaceUnits_(t);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBubble_.moveDuringDrag(this.dragSurface_,o),this.draggingBubble_.isDeletable()&&(this.deleteArea_=this.workspace_.isDeleteArea(e),this.updateCursorDuringBubbleDrag_())},Blockly.BubbleDragger.prototype.maybeDeleteBubble_=function(){var e=this.workspace_.trashcan;return this.wouldDeleteBubble_?(e&&setTimeout(e.close.bind(e),100),this.fireMoveEvent_(),this.draggingBubble_.dispose(!1,!0)):e&&e.close(),this.wouldDeleteBubble_},Blockly.BubbleDragger.prototype.updateCursorDuringBubbleDrag_=function(){this.wouldDeleteBubble_=this.deleteArea_!=Blockly.DELETE_AREA_NONE;var e=this.workspace_.trashcan;this.wouldDeleteBubble_?(this.draggingBubble_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&e&&e.setOpen_(!0)):(this.draggingBubble_.setDeleteStyle(!1),e&&e.setOpen_(!1))},Blockly.BubbleDragger.prototype.endBubbleDrag=function(e,t){this.dragBubble(e,t);var o=this.pixelsToWorkspaceUnits_(t);o=Blockly.utils.Coordinate.sum(this.startXY_,o),this.draggingBubble_.moveTo(o.x,o.y),this.maybeDeleteBubble_()||(this.dragSurface_&&this.dragSurface_.clearAndHide(this.workspace_.getBubbleCanvas()),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!1),this.fireMoveEvent_()),this.workspace_.setResizesEnabled(!0),this.workspace_.toolbox_&&(o=this.draggingBubble_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab",this.workspace_.toolbox_.removeStyle(o)),Blockly.Events.setGroup(!1)},Blockly.BubbleDragger.prototype.fireMoveEvent_=function(){if(this.draggingBubble_.isComment){var e=new Blockly.Events.CommentMove(this.draggingBubble_);e.setOldCoordinate(this.startXY_),e.recordNew(),Blockly.Events.fire(e)}},Blockly.BubbleDragger.prototype.pixelsToWorkspaceUnits_=function(e){return e=new Blockly.utils.Coordinate(e.x/this.workspace_.scale,e.y/this.workspace_.scale),this.workspace_.isMutator&&e.scale(1/this.workspace_.options.parentWorkspace.scale),e},Blockly.BubbleDragger.prototype.moveToDragSurface_=function(){this.draggingBubble_.moveTo(0,0),this.dragSurface_.translateSurface(this.startXY_.x,this.startXY_.y),this.dragSurface_.setBlocksAndShow(this.draggingBubble_.getSvgRoot())},Blockly.WorkspaceDragger=function(e){this.workspace_=e,this.startScrollXY_=new Blockly.utils.Coordinate(e.scrollX,e.scrollY)},Blockly.WorkspaceDragger.prototype.dispose=function(){this.workspace_=null},Blockly.WorkspaceDragger.prototype.startDrag=function(){Blockly.selected&&Blockly.selected.unselect(),this.workspace_.setupDragSurface()},Blockly.WorkspaceDragger.prototype.endDrag=function(e){this.drag(e),this.workspace_.resetDragSurface()},Blockly.WorkspaceDragger.prototype.drag=function(e){e=Blockly.utils.Coordinate.sum(this.startScrollXY_,e),this.workspace_.scroll(e.x,e.y)},Blockly.FlyoutDragger=function(e){Blockly.FlyoutDragger.superClass_.constructor.call(this,e.getWorkspace()),this.scrollbar_=e.scrollbar_,this.horizontalLayout_=e.horizontalLayout_},goog.inherits(Blockly.FlyoutDragger,Blockly.WorkspaceDragger),Blockly.FlyoutDragger.prototype.updateScroll_=function(e,t){this.horizontalLayout_?this.scrollbar_.set(e):this.scrollbar_.set(t)},Blockly.Tooltip={},Blockly.Tooltip.visible=!1,Blockly.Tooltip.blocked_=!1,Blockly.Tooltip.LIMIT=50,Blockly.Tooltip.mouseOutPid_=0,Blockly.Tooltip.showPid_=0,Blockly.Tooltip.lastX_=0,Blockly.Tooltip.lastY_=0,Blockly.Tooltip.element_=null,Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.OFFSET_X=0,Blockly.Tooltip.OFFSET_Y=10,Blockly.Tooltip.RADIUS_OK=10,Blockly.Tooltip.HOVER_MS=750,Blockly.Tooltip.MARGINS=5,Blockly.Tooltip.DIV=null,Blockly.Tooltip.createDom=function(){Blockly.Tooltip.DIV||(Blockly.Tooltip.DIV=document.createElement("div"),Blockly.Tooltip.DIV.className="blocklyTooltipDiv",document.body.appendChild(Blockly.Tooltip.DIV))},Blockly.Tooltip.bindMouseEvents=function(e){Blockly.bindEvent_(e,"mouseover",null,Blockly.Tooltip.onMouseOver_),Blockly.bindEvent_(e,"mouseout",null,Blockly.Tooltip.onMouseOut_),e.addEventListener("mousemove",Blockly.Tooltip.onMouseMove_,!1)},Blockly.Tooltip.onMouseOver_=function(e){if(!Blockly.Tooltip.blocked_){for(e=e.currentTarget;"string"!=typeof e.tooltip&&"function"!=typeof e.tooltip;)e=e.tooltip;Blockly.Tooltip.element_!=e&&(Blockly.Tooltip.hide(),Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.element_=e),clearTimeout(Blockly.Tooltip.mouseOutPid_)}},Blockly.Tooltip.onMouseOut_=function(e){Blockly.Tooltip.blocked_||(Blockly.Tooltip.mouseOutPid_=setTimeout((function(){Blockly.Tooltip.element_=null,Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.hide()}),1),clearTimeout(Blockly.Tooltip.showPid_))},Blockly.Tooltip.onMouseMove_=function(e){if(Blockly.Tooltip.element_&&Blockly.Tooltip.element_.tooltip&&!Blockly.Tooltip.blocked_)if(Blockly.Tooltip.visible){var t=Blockly.Tooltip.lastX_-e.pageX;e=Blockly.Tooltip.lastY_-e.pageY,Math.sqrt(t*t+e*e)>Blockly.Tooltip.RADIUS_OK&&Blockly.Tooltip.hide()}else Blockly.Tooltip.poisonedElement_!=Blockly.Tooltip.element_&&(clearTimeout(Blockly.Tooltip.showPid_),Blockly.Tooltip.lastX_=e.pageX,Blockly.Tooltip.lastY_=e.pageY,Blockly.Tooltip.showPid_=setTimeout(Blockly.Tooltip.show_,Blockly.Tooltip.HOVER_MS))},Blockly.Tooltip.hide=function(){Blockly.Tooltip.visible&&(Blockly.Tooltip.visible=!1,Blockly.Tooltip.DIV&&(Blockly.Tooltip.DIV.style.display="none")),Blockly.Tooltip.showPid_&&clearTimeout(Blockly.Tooltip.showPid_)},Blockly.Tooltip.block=function(){Blockly.Tooltip.hide(),Blockly.Tooltip.blocked_=!0},Blockly.Tooltip.unblock=function(){Blockly.Tooltip.blocked_=!1},Blockly.Tooltip.show_=function(){if(!Blockly.Tooltip.blocked_&&(Blockly.Tooltip.poisonedElement_=Blockly.Tooltip.element_,Blockly.Tooltip.DIV)){Blockly.Tooltip.DIV.innerHTML="";for(var e=Blockly.Tooltip.element_.tooltip;"function"==typeof e;)e=e();e=(e=Blockly.utils.string.wrap(e,Blockly.Tooltip.LIMIT)).split("\n");for(var t=0;t<e.length;t++){var o=document.createElement("div");o.appendChild(document.createTextNode(e[t])),Blockly.Tooltip.DIV.appendChild(o)}e=Blockly.Tooltip.element_.RTL,t=document.documentElement.clientWidth,o=document.documentElement.clientHeight,Blockly.Tooltip.DIV.style.direction=e?"rtl":"ltr",Blockly.Tooltip.DIV.style.display="block",Blockly.Tooltip.visible=!0;var n=Blockly.Tooltip.lastX_;n=e?n-(Blockly.Tooltip.OFFSET_X+Blockly.Tooltip.DIV.offsetWidth):n+Blockly.Tooltip.OFFSET_X;var i=Blockly.Tooltip.lastY_+Blockly.Tooltip.OFFSET_Y;i+Blockly.Tooltip.DIV.offsetHeight>o+window.scrollY&&(i-=Blockly.Tooltip.DIV.offsetHeight+2*Blockly.Tooltip.OFFSET_Y),e?n=Math.max(Blockly.Tooltip.MARGINS-window.scrollX,n):n+Blockly.Tooltip.DIV.offsetWidth>t+window.scrollX-2*Blockly.Tooltip.MARGINS&&(n=t-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS),Blockly.Tooltip.DIV.style.top=i+"px",Blockly.Tooltip.DIV.style.left=n+"px"}},Blockly.Gesture=function(e,t){this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=this.startBubble_=this.currentDragDeltaXY_=this.mouseDownXY_=null,this.creatorWorkspace_=t,this.isDraggingBubble_=this.isDraggingBlock_=this.isDraggingWorkspace_=this.hasExceededDragRadius_=!1,this.mostRecentEvent_=e,this.flyout_=this.workspaceDragger_=this.blockDragger_=this.bubbleDragger_=this.onUpWrapper_=this.onMoveWrapper_=null,this.isEnding_=this.hasStarted_=this.calledUpdateIsDragging_=!1,this.healStack_=!Blockly.DRAG_STACK},Blockly.Gesture.prototype.dispose=function(){Blockly.Touch.clearTouchIdentifier(),Blockly.Tooltip.unblock(),this.creatorWorkspace_.clearGesture(),this.onMoveWrapper_&&Blockly.unbindEvent_(this.onMoveWrapper_),this.onUpWrapper_&&Blockly.unbindEvent_(this.onUpWrapper_),this.flyout_=this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=null,this.blockDragger_&&(this.blockDragger_.dispose(),this.blockDragger_=null),this.workspaceDragger_&&(this.workspaceDragger_.dispose(),this.workspaceDragger_=null),this.bubbleDragger_&&(this.bubbleDragger_.dispose(),this.bubbleDragger_=null)},Blockly.Gesture.prototype.updateFromEvent_=function(e){var t=new Blockly.utils.Coordinate(e.clientX,e.clientY);this.updateDragDelta_(t)&&(this.updateIsDragging_(),Blockly.longStop_()),this.mostRecentEvent_=e},Blockly.Gesture.prototype.updateDragDelta_=function(e){return this.currentDragDeltaXY_=Blockly.utils.Coordinate.difference(e,this.mouseDownXY_),!this.hasExceededDragRadius_&&(this.hasExceededDragRadius_=Blockly.utils.Coordinate.magnitude(this.currentDragDeltaXY_)>(this.flyout_?Blockly.FLYOUT_DRAG_RADIUS:Blockly.DRAG_RADIUS))},Blockly.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return!!this.flyout_.isBlockCreatable_(this.targetBlock_)&&(!(this.flyout_.isScrollable()&&!this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_))&&(this.startWorkspace_=this.flyout_.targetWorkspace_,this.startWorkspace_.updateScreenCalculationsIfScrolled(),Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.startBlock_=null,this.targetBlock_=this.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(),!0))},Blockly.Gesture.prototype.updateIsDraggingBubble_=function(){return!!this.startBubble_&&(this.isDraggingBubble_=!0,this.startDraggingBubble_(),!0)},Blockly.Gesture.prototype.updateIsDraggingBlock_=function(){return!!this.targetBlock_&&(this.flyout_?this.isDraggingBlock_=this.updateIsDraggingFromFlyout_():this.targetBlock_.isMovable()&&(this.isDraggingBlock_=!0),!!this.isDraggingBlock_&&(this.startDraggingBlock_(),!0))},Blockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())&&(this.workspaceDragger_=this.flyout_?new Blockly.FlyoutDragger(this.flyout_):new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag())},Blockly.Gesture.prototype.updateIsDragging_=function(){if(this.calledUpdateIsDragging_)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging_=!0,this.updateIsDraggingBubble_()||this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()},Blockly.Gesture.prototype.startDraggingBlock_=function(){this.blockDragger_=new Blockly.BlockDragger(this.targetBlock_,this.startWorkspace_),this.blockDragger_.startBlockDrag(this.currentDragDeltaXY_,this.healStack_),this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_)},Blockly.Gesture.prototype.startDraggingBubble_=function(){this.bubbleDragger_=new Blockly.BubbleDragger(this.startBubble_,this.startWorkspace_),this.bubbleDragger_.startBubbleDrag(),this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_)},Blockly.Gesture.prototype.doStart=function(e){Blockly.utils.isTargetInput(e)?this.cancel():(this.hasStarted_=!0,Blockly.blockAnimations.disconnectUiStop(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.startWorkspace_.markFocused(),this.mostRecentEvent_=e,Blockly.hideChaff(!!this.flyout_),Blockly.Tooltip.block(),this.targetBlock_&&this.targetBlock_.select(),Blockly.utils.isRightButton(e)?this.handleRightClick(e):("touchstart"!=e.type.toLowerCase()&&"pointerdown"!=e.type.toLowerCase()||"mouse"==e.pointerType||Blockly.longStart_(e,this),this.mouseDownXY_=new Blockly.utils.Coordinate(e.clientX,e.clientY),this.healStack_=e.altKey||e.ctrlKey||e.metaKey,this.bindMouseEvents(e)))},Blockly.Gesture.prototype.bindMouseEvents=function(e){this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this)),this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this)),e.preventDefault(),e.stopPropagation()},Blockly.Gesture.prototype.handleMove=function(e){this.updateFromEvent_(e),this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBubble_&&this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_),e.preventDefault(),e.stopPropagation()},Blockly.Gesture.prototype.handleUp=function(e){this.updateFromEvent_(e),Blockly.longStop_(),this.isEnding_?console.log("Trying to end a gesture recursively."):(this.isEnding_=!0,this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(e,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(e,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isBubbleClick_()?this.doBubbleClick_():this.isFieldClick_()?this.doFieldClick_():this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()&&this.doWorkspaceClick_(),e.preventDefault(),e.stopPropagation(),this.dispose())},Blockly.Gesture.prototype.cancel=function(){this.isEnding_||(Blockly.longStop_(),this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_&&this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())},Blockly.Gesture.prototype.handleRightClick=function(e){this.targetBlock_?(this.bringBlockToFront_(),Blockly.hideChaff(this.flyout_),this.targetBlock_.showContextMenu_(e)):this.startBubble_?this.startBubble_.showContextMenu_(e):this.startWorkspace_&&!this.flyout_&&(Blockly.hideChaff(),this.startWorkspace_.showContextMenu_(e)),e.preventDefault(),e.stopPropagation(),this.dispose()},Blockly.Gesture.prototype.handleWsStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace_(t),this.mostRecentEvent_=e,this.doStart(e)},Blockly.Gesture.prototype.handleFlyoutStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout_(t),this.handleWsStart(e,t.getWorkspace())},Blockly.Gesture.prototype.handleBlockStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(t),this.mostRecentEvent_=e},Blockly.Gesture.prototype.handleBubbleStart=function(e,t){if(this.hasStarted_)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(t),this.mostRecentEvent_=e},Blockly.Gesture.prototype.doBubbleClick_=function(){this.startBubble_.setFocus&&this.startBubble_.setFocus(),this.startBubble_.select&&this.startBubble_.select()},Blockly.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor_(),this.bringBlockToFront_()},Blockly.Gesture.prototype.doBlockClick_=function(){this.flyout_&&this.flyout_.autoClose?this.targetBlock_.isEnabled()&&(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump()):Blockly.Events.fire(new Blockly.Events.Ui(this.startBlock_,"click",void 0,void 0)),this.bringBlockToFront_(),Blockly.Events.setGroup(!1)},Blockly.Gesture.prototype.doWorkspaceClick_=function(){Blockly.selected&&Blockly.selected.unselect()},Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()},Blockly.Gesture.prototype.setStartField=function(e){if(this.hasStarted_)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField_||(this.startField_=e)},Blockly.Gesture.prototype.setStartBubble=function(e){this.startBubble_||(this.startBubble_=e)},Blockly.Gesture.prototype.setStartBlock=function(e){this.startBlock_||this.startBubble_||(this.startBlock_=e,e.isInFlyout&&e!=e.getRootBlock()?this.setTargetBlock_(e.getRootBlock()):this.setTargetBlock_(e))},Blockly.Gesture.prototype.setTargetBlock_=function(e){e.isShadow()?this.setTargetBlock_(e.getParent()):this.targetBlock_=e},Blockly.Gesture.prototype.setStartWorkspace_=function(e){this.startWorkspace_||(this.startWorkspace_=e)},Blockly.Gesture.prototype.setStartFlyout_=function(e){this.flyout_||(this.flyout_=e)},Blockly.Gesture.prototype.isBubbleClick_=function(){return!!this.startBubble_&&!this.hasExceededDragRadius_},Blockly.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_&&!this.hasExceededDragRadius_&&!this.isFieldClick_()},Blockly.Gesture.prototype.isFieldClick_=function(){return!!this.startField_&&this.startField_.isClickable()&&!this.hasExceededDragRadius_&&(!this.flyout_||!this.flyout_.autoClose)},Blockly.Gesture.prototype.isWorkspaceClick_=function(){return!(this.startBlock_||this.startBubble_||this.startField_||this.hasExceededDragRadius_)},Blockly.Gesture.prototype.isDragging=function(){return this.isDraggingWorkspace_||this.isDraggingBlock_||this.isDraggingBubble_},Blockly.Gesture.prototype.hasStarted=function(){return this.hasStarted_},Blockly.Gesture.prototype.getInsertionMarkers=function(){return this.blockDragger_?this.blockDragger_.getInsertionMarkers():[]},Blockly.Gesture.inProgress=function(){for(var e,t=Blockly.Workspace.getAll(),o=0;e=t[o];o++)if(e.currentGesture_)return!0;return!1},Blockly.Grid=function(e,t){this.gridPattern_=e,this.spacing_=t.spacing,this.length_=t.length,this.line2_=(this.line1_=e.firstChild)&&this.line1_.nextSibling,this.snapToGrid_=t.snap},Blockly.Grid.prototype.scale_=1,Blockly.Grid.prototype.dispose=function(){this.gridPattern_=null},Blockly.Grid.prototype.shouldSnap=function(){return this.snapToGrid_},Blockly.Grid.prototype.getSpacing=function(){return this.spacing_},Blockly.Grid.prototype.getPatternId=function(){return this.gridPattern_.id},Blockly.Grid.prototype.update=function(e){this.scale_=e;var t=this.spacing_*e||100;this.gridPattern_.setAttribute("width",t),this.gridPattern_.setAttribute("height",t);var o=(t=Math.floor(this.spacing_/2)+.5)-this.length_/2,n=t+this.length_/2;t*=e,o*=e,n*=e,this.setLineAttributes_(this.line1_,e,o,n,t,t),this.setLineAttributes_(this.line2_,e,t,t,o,n)},Blockly.Grid.prototype.setLineAttributes_=function(e,t,o,n,i,r){e&&(e.setAttribute("stroke-width",t),e.setAttribute("x1",o),e.setAttribute("y1",i),e.setAttribute("x2",n),e.setAttribute("y2",r))},Blockly.Grid.prototype.moveTo=function(e,t){this.gridPattern_.setAttribute("x",e),this.gridPattern_.setAttribute("y",t),(Blockly.utils.userAgent.IE||Blockly.utils.userAgent.EDGE)&&this.update(this.scale_)},Blockly.Grid.createDom=function(e,t,o){return e=Blockly.utils.dom.createSvgElement("pattern",{id:"blocklyGridPattern"+e,patternUnits:"userSpaceOnUse"},o),0<t.length&&0<t.spacing?(Blockly.utils.dom.createSvgElement("line",{stroke:t.colour},e),1<t.length&&Blockly.utils.dom.createSvgElement("line",{stroke:t.colour},e)):Blockly.utils.dom.createSvgElement("line",{},e),e},Blockly.Options=function(e){var t=!!e.readOnly;if(t)var o=null,n=!1,i=!1,r=!1,s=!1,a=!1,l=!1;else{n=!(!(o=Blockly.Options.parseToolboxTree(e.toolbox||null))||!o.getElementsByTagName("category").length),void 0===(i=e.trashcan)&&(i=n);var u=e.maxTrashcanContents;i?void 0===u&&(u=32):u=0,void 0===(r=e.collapse)&&(r=n),void 0===(s=e.comments)&&(s=n),void 0===(a=e.disable)&&(a=n),void 0===(l=e.sounds)&&(l=!0)}var c=!!e.rtl,h=e.horizontalLayout;void 0===h&&(h=!1);var d=e.toolboxPosition;d="end"!==d,d=h?d?Blockly.TOOLBOX_AT_TOP:Blockly.TOOLBOX_AT_BOTTOM:d==c?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT;var g=e.css;void 0===g&&(g=!0);var p="https://blockly-demo.appspot.com/static/media/";e.media?p=e.media:e.path&&(p=e.path+"media/");var f=void 0===e.oneBasedIndex||!!e.oneBasedIndex,m=e.theme||Blockly.Themes.Classic;this.RTL=c,this.oneBasedIndex=f,this.collapse=r,this.comments=s,this.disable=a,this.readOnly=t,this.maxBlocks=e.maxBlocks||1/0,this.maxInstances=e.maxInstances,this.pathToMedia=p,this.hasCategories=n,this.moveOptions=Blockly.Options.parseMoveOptions(e,n),this.hasScrollbars=this.moveOptions.scrollbars,this.hasTrashcan=i,this.maxTrashcanContents=u,this.hasSounds=l,this.hasCss=g,this.horizontalLayout=h,this.languageTree=o,this.gridOptions=Blockly.Options.parseGridOptions_(e),this.zoomOptions=Blockly.Options.parseZoomOptions_(e),this.toolboxPosition=d,this.theme=m},Blockly.Options.prototype.parentWorkspace=null,Blockly.Options.prototype.setMetrics=null,Blockly.Options.prototype.getMetrics=null,Blockly.Options.parseMoveOptions=function(e,t){var o=e.move||{},n={};return n.scrollbars=void 0===o.scrollbars&&void 0===e.scrollbars?t:!!o.scrollbars||!!e.scrollbars,n.wheel=!(!n.scrollbars||void 0===o.wheel)&&!!o.wheel,n.drag=!!n.scrollbars&&(void 0===o.drag||!!o.drag),n},Blockly.Options.parseZoomOptions_=function(e){e=e.zoom||{};var t={};return t.controls=void 0!==e.controls&&!!e.controls,t.wheel=void 0!==e.wheel&&!!e.wheel,t.startScale=void 0===e.startScale?1:parseFloat(e.startScale),t.maxScale=void 0===e.maxScale?3:parseFloat(e.maxScale),t.minScale=void 0===e.minScale?.3:parseFloat(e.minScale),t.scaleSpeed=void 0===e.scaleSpeed?1.2:parseFloat(e.scaleSpeed),t},Blockly.Options.parseGridOptions_=function(e){e=e.grid||{};var t={};return t.spacing=parseFloat(e.spacing)||0,t.colour=e.colour||"#888",t.length=parseFloat(e.length)||1,t.snap=0<t.spacing&&!!e.snap,t},Blockly.Options.parseToolboxTree=function(e){if(e){if("string"!=typeof e&&(Blockly.utils.userAgent.IE&&e.outerHTML?e=e.outerHTML:e instanceof Element||(e=null)),"string"==typeof e&&"xml"!=(e=Blockly.Xml.textToDom(e)).nodeName.toLowerCase())throw TypeError("Toolbox should be an <xml> document.")}else e=null;return e},Blockly.ScrollbarPair=function(e){this.workspace_=e,this.hScroll=new Blockly.Scrollbar(e,!0,!0,"blocklyMainWorkspaceScrollbar"),this.vScroll=new Blockly.Scrollbar(e,!1,!0,"blocklyMainWorkspaceScrollbar"),this.corner_=Blockly.utils.dom.createSvgElement("rect",{height:Blockly.Scrollbar.scrollbarThickness,width:Blockly.Scrollbar.scrollbarThickness,class:"blocklyScrollbarBackground"},null),Blockly.utils.dom.insertAfter(this.corner_,e.getBubbleCanvas())},Blockly.ScrollbarPair.prototype.oldHostMetrics_=null,Blockly.ScrollbarPair.prototype.dispose=function(){Blockly.utils.dom.removeNode(this.corner_),this.oldHostMetrics_=this.workspace_=this.corner_=null,this.hScroll.dispose(),this.hScroll=null,this.vScroll.dispose(),this.vScroll=null},Blockly.ScrollbarPair.prototype.resize=function(){var e=this.workspace_.getMetrics();if(e){var t=!1,o=!1;this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==e.viewWidth&&this.oldHostMetrics_.viewHeight==e.viewHeight&&this.oldHostMetrics_.absoluteTop==e.absoluteTop&&this.oldHostMetrics_.absoluteLeft==e.absoluteLeft?(this.oldHostMetrics_&&this.oldHostMetrics_.contentWidth==e.contentWidth&&this.oldHostMetrics_.viewLeft==e.viewLeft&&this.oldHostMetrics_.contentLeft==e.contentLeft||(t=!0),this.oldHostMetrics_&&this.oldHostMetrics_.contentHeight==e.contentHeight&&this.oldHostMetrics_.viewTop==e.viewTop&&this.oldHostMetrics_.contentTop==e.contentTop||(o=!0)):o=t=!0,t&&this.hScroll.resize(e),o&&this.vScroll.resize(e),this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==e.viewWidth&&this.oldHostMetrics_.absoluteLeft==e.absoluteLeft||this.corner_.setAttribute("x",this.vScroll.position_.x),this.oldHostMetrics_&&this.oldHostMetrics_.viewHeight==e.viewHeight&&this.oldHostMetrics_.absoluteTop==e.absoluteTop||this.corner_.setAttribute("y",this.hScroll.position_.y),this.oldHostMetrics_=e}},Blockly.ScrollbarPair.prototype.set=function(e,t){var o={},n=e*this.hScroll.ratio_,i=t*this.vScroll.ratio_,r=this.vScroll.scrollViewSize_;o.x=this.getRatio_(n,this.hScroll.scrollViewSize_),o.y=this.getRatio_(i,r),this.workspace_.setMetrics(o),this.hScroll.setHandlePosition(n),this.vScroll.setHandlePosition(i)},Blockly.ScrollbarPair.prototype.getRatio_=function(e,t){var o=e/t;return isNaN(o)?0:o},Blockly.Scrollbar=function(e,t,o,n){this.workspace_=e,this.pair_=o||!1,this.horizontal_=t,this.oldHostMetrics_=null,this.createDom_(n),this.position_=new Blockly.utils.Coordinate(0,0),e=Blockly.Scrollbar.scrollbarThickness,t?(this.svgBackground_.setAttribute("height",e),this.outerSvg_.setAttribute("height",e),this.svgHandle_.setAttribute("height",e-5),this.svgHandle_.setAttribute("y",2.5),this.lengthAttribute_="width",this.positionAttribute_="x"):(this.svgBackground_.setAttribute("width",e),this.outerSvg_.setAttribute("width",e),this.svgHandle_.setAttribute("width",e-5),this.svgHandle_.setAttribute("x",2.5),this.lengthAttribute_="height",this.positionAttribute_="y"),this.onMouseDownBarWrapper_=Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDownBar_),this.onMouseDownHandleWrapper_=Blockly.bindEventWithChecks_(this.svgHandle_,"mousedown",this,this.onMouseDownHandle_)},Blockly.Scrollbar.prototype.origin_=new Blockly.utils.Coordinate(0,0),Blockly.Scrollbar.prototype.startDragMouse_=0,Blockly.Scrollbar.prototype.scrollViewSize_=0,Blockly.Scrollbar.prototype.handleLength_=0,Blockly.Scrollbar.prototype.handlePosition_=0,Blockly.Scrollbar.prototype.isVisible_=!0,Blockly.Scrollbar.prototype.containerVisible_=!0,Blockly.Scrollbar.scrollbarThickness=15,Blockly.Touch.TOUCH_ENABLED&&(Blockly.Scrollbar.scrollbarThickness=25),Blockly.Scrollbar.metricsAreEquivalent_=function(e,t){return!(!e||!t||e.viewWidth!=t.viewWidth||e.viewHeight!=t.viewHeight||e.viewLeft!=t.viewLeft||e.viewTop!=t.viewTop||e.absoluteTop!=t.absoluteTop||e.absoluteLeft!=t.absoluteLeft||e.contentWidth!=t.contentWidth||e.contentHeight!=t.contentHeight||e.contentLeft!=t.contentLeft||e.contentTop!=t.contentTop)},Blockly.Scrollbar.prototype.dispose=function(){this.cleanUp_(),Blockly.unbindEvent_(this.onMouseDownBarWrapper_),this.onMouseDownBarWrapper_=null,Blockly.unbindEvent_(this.onMouseDownHandleWrapper_),this.onMouseDownHandleWrapper_=null,Blockly.utils.dom.removeNode(this.outerSvg_),this.workspace_=this.svgHandle_=this.svgBackground_=this.svgGroup_=this.outerSvg_=null},Blockly.Scrollbar.prototype.setHandleLength_=function(e){this.handleLength_=e,this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)},Blockly.Scrollbar.prototype.setHandlePosition=function(e){this.handlePosition_=e,this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)},Blockly.Scrollbar.prototype.setScrollViewSize_=function(e){this.scrollViewSize_=e,this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollViewSize_),this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollViewSize_)},Blockly.ScrollbarPair.prototype.setContainerVisible=function(e){this.hScroll.setContainerVisible(e),this.vScroll.setContainerVisible(e)},Blockly.Scrollbar.prototype.setPosition_=function(e,t){this.position_.x=e,this.position_.y=t,Blockly.utils.dom.setCssTransform(this.outerSvg_,"translate("+(this.position_.x+this.origin_.x)+"px,"+(this.position_.y+this.origin_.y)+"px)")},Blockly.Scrollbar.prototype.resize=function(e){(e||(e=this.workspace_.getMetrics()))&&(Blockly.Scrollbar.metricsAreEquivalent_(e,this.oldHostMetrics_)||(this.oldHostMetrics_=e,this.horizontal_?this.resizeHorizontal_(e):this.resizeVertical_(e),this.onScroll_()))},Blockly.Scrollbar.prototype.resizeHorizontal_=function(e){this.resizeViewHorizontal(e)},Blockly.Scrollbar.prototype.resizeViewHorizontal=function(e){var t=e.viewWidth-1;this.pair_&&(t-=Blockly.Scrollbar.scrollbarThickness),this.setScrollViewSize_(Math.max(0,t)),t=e.absoluteLeft+.5,this.pair_&&this.workspace_.RTL&&(t+=Blockly.Scrollbar.scrollbarThickness),this.setPosition_(t,e.absoluteTop+e.viewHeight-Blockly.Scrollbar.scrollbarThickness-.5),this.resizeContentHorizontal(e)},Blockly.Scrollbar.prototype.resizeContentHorizontal=function(e){this.pair_||this.setVisible(this.scrollViewSize_<e.contentWidth),this.ratio_=this.scrollViewSize_/e.contentWidth,(-1/0==this.ratio_||1/0==this.ratio_||isNaN(this.ratio_))&&(this.ratio_=0),this.setHandleLength_(Math.max(0,e.viewWidth*this.ratio_)),this.setHandlePosition(this.constrainHandle_((e.viewLeft-e.contentLeft)*this.ratio_))},Blockly.Scrollbar.prototype.resizeVertical_=function(e){this.resizeViewVertical(e)},Blockly.Scrollbar.prototype.resizeViewVertical=function(e){var t=e.viewHeight-1;this.pair_&&(t-=Blockly.Scrollbar.scrollbarThickness),this.setScrollViewSize_(Math.max(0,t)),t=e.absoluteLeft+.5,this.workspace_.RTL||(t+=e.viewWidth-Blockly.Scrollbar.scrollbarThickness-1),this.setPosition_(t,e.absoluteTop+.5),this.resizeContentVertical(e)},Blockly.Scrollbar.prototype.resizeContentVertical=function(e){this.pair_||this.setVisible(this.scrollViewSize_<e.contentHeight),this.ratio_=this.scrollViewSize_/e.contentHeight,(-1/0==this.ratio_||1/0==this.ratio_||isNaN(this.ratio_))&&(this.ratio_=0),this.setHandleLength_(Math.max(0,e.viewHeight*this.ratio_)),this.setHandlePosition(this.constrainHandle_((e.viewTop-e.contentTop)*this.ratio_))},Blockly.Scrollbar.prototype.createDom_=function(e){var t="blocklyScrollbar"+(this.horizontal_?"Horizontal":"Vertical");e&&(t+=" "+e),this.outerSvg_=Blockly.utils.dom.createSvgElement("svg",{class:t},null),this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},this.outerSvg_),this.svgBackground_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyScrollbarBackground"},this.svgGroup_),e=Math.floor((Blockly.Scrollbar.scrollbarThickness-5)/2),this.svgHandle_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyScrollbarHandle",rx:e,ry:e},this.svgGroup_),Blockly.utils.dom.insertAfter(this.outerSvg_,this.workspace_.getParentSvg())},Blockly.Scrollbar.prototype.isVisible=function(){return this.isVisible_},Blockly.Scrollbar.prototype.setContainerVisible=function(e){var t=e!=this.containerVisible_;this.containerVisible_=e,t&&this.updateDisplay_()},Blockly.Scrollbar.prototype.setVisible=function(e){var t=e!=this.isVisible();if(this.pair_)throw Error("Unable to toggle visibility of paired scrollbars.");this.isVisible_=e,t&&this.updateDisplay_()},Blockly.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_&&this.isVisible()?this.outerSvg_.setAttribute("display","block"):this.outerSvg_.setAttribute("display","none")},Blockly.Scrollbar.prototype.onMouseDownBar_=function(e){if(this.workspace_.markFocused(),Blockly.Touch.clearTouchIdentifier(),this.cleanUp_(),Blockly.utils.isRightButton(e))e.stopPropagation();else{var t=Blockly.utils.mouseToSvg(e,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());t=this.horizontal_?t.x:t.y;var o=Blockly.utils.getInjectionDivXY_(this.svgHandle_);o=this.horizontal_?o.x:o.y;var n=this.handlePosition_,i=.95*this.handleLength_;t<=o?n-=i:t>=o+this.handleLength_&&(n+=i),this.setHandlePosition(this.constrainHandle_(n)),this.onScroll_(),e.stopPropagation(),e.preventDefault()}},Blockly.Scrollbar.prototype.onMouseDownHandle_=function(e){this.workspace_.markFocused(),this.cleanUp_(),Blockly.utils.isRightButton(e)?e.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse_=this.horizontal_?e.clientX:e.clientY,Blockly.Scrollbar.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.onMouseUpHandle_),Blockly.Scrollbar.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.onMouseMoveHandle_),e.stopPropagation(),e.preventDefault())},Blockly.Scrollbar.prototype.onMouseMoveHandle_=function(e){this.setHandlePosition(this.constrainHandle_(this.startDragHandle+((this.horizontal_?e.clientX:e.clientY)-this.startDragMouse_))),this.onScroll_()},Blockly.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface(),Blockly.Touch.clearTouchIdentifier(),this.cleanUp_()},Blockly.Scrollbar.prototype.cleanUp_=function(){Blockly.hideChaff(!0),Blockly.Scrollbar.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseUpWrapper_),Blockly.Scrollbar.onMouseUpWrapper_=null),Blockly.Scrollbar.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseMoveWrapper_),Blockly.Scrollbar.onMouseMoveWrapper_=null)},Blockly.Scrollbar.prototype.constrainHandle_=function(e){return 0>=e||isNaN(e)||this.scrollViewSize_<this.handleLength_?0:Math.min(e,this.scrollViewSize_-this.handleLength_)},Blockly.Scrollbar.prototype.onScroll_=function(){var e=this.handlePosition_/this.scrollViewSize_;isNaN(e)&&(e=0);var t={};this.horizontal_?t.x=e:t.y=e,this.workspace_.setMetrics(t)},Blockly.Scrollbar.prototype.set=function(e){this.setHandlePosition(this.constrainHandle_(e*this.ratio_)),this.onScroll_()},Blockly.Scrollbar.prototype.setOrigin=function(e,t){this.origin_=new Blockly.utils.Coordinate(e,t)},Blockly.TouchGesture=function(e,t){Blockly.TouchGesture.superClass_.constructor.call(this,e,t),this.isMultiTouch_=!1,this.cachedPoints_={},this.startDistance_=this.previousScale_=0,this.onStartWrapper_=null},goog.inherits(Blockly.TouchGesture,Blockly.Gesture),Blockly.TouchGesture.ZOOM_IN_MULTIPLIER=5,Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER=6,Blockly.TouchGesture.prototype.doStart=function(e){Blockly.TouchGesture.superClass_.doStart.call(this,e),!this.isEnding_&&Blockly.Touch.isTouchEvent(e)&&this.handleTouchStart(e)},Blockly.TouchGesture.prototype.bindMouseEvents=function(e){this.onStartWrapper_=Blockly.bindEventWithChecks_(document,"mousedown",null,this.handleStart.bind(this),!0),this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this),!0),this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this),!0),e.preventDefault(),e.stopPropagation()},Blockly.TouchGesture.prototype.handleStart=function(e){!this.isDragging()&&Blockly.Touch.isTouchEvent(e)&&(this.handleTouchStart(e),this.isMultiTouch()&&Blockly.longStop_())},Blockly.TouchGesture.prototype.handleMove=function(e){this.isDragging()?Blockly.Touch.shouldHandleEvent(e)&&Blockly.TouchGesture.superClass_.handleMove.call(this,e):this.isMultiTouch()?(Blockly.Touch.isTouchEvent(e)&&this.handleTouchMove(e),Blockly.longStop_()):Blockly.TouchGesture.superClass_.handleMove.call(this,e)},Blockly.TouchGesture.prototype.handleUp=function(e){Blockly.Touch.isTouchEvent(e)&&!this.isDragging()&&this.handleTouchEnd(e),!this.isMultiTouch()||this.isDragging()?Blockly.Touch.shouldHandleEvent(e)&&Blockly.TouchGesture.superClass_.handleUp.call(this,e):(e.preventDefault(),e.stopPropagation(),this.dispose())},Blockly.TouchGesture.prototype.isMultiTouch=function(){return this.isMultiTouch_},Blockly.TouchGesture.prototype.dispose=function(){Blockly.TouchGesture.superClass_.dispose.call(this),this.onStartWrapper_&&Blockly.unbindEvent_(this.onStartWrapper_)},Blockly.TouchGesture.prototype.handleTouchStart=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);this.cachedPoints_[t]=this.getTouchPoint(e),2==(t=Object.keys(this.cachedPoints_)).length&&(this.startDistance_=Blockly.utils.Coordinate.distance(this.cachedPoints_[t[0]],this.cachedPoints_[t[1]]),this.isMultiTouch_=!0,e.preventDefault())},Blockly.TouchGesture.prototype.handleTouchMove=function(e){var t=Blockly.Touch.getTouchIdentifierFromEvent(e);if(this.cachedPoints_[t]=this.getTouchPoint(e),2==(t=Object.keys(this.cachedPoints_)).length){if(t=this.touchScale_=Blockly.utils.Coordinate.distance(this.cachedPoints_[t[0]],this.cachedPoints_[t[1]])/this.startDistance_,0<this.previousScale_&&1/0>this.previousScale_){var o=t-this.previousScale_;o=0<o?o*Blockly.TouchGesture.ZOOM_IN_MULTIPLIER:o*Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER;var n=this.startWorkspace_,i=Blockly.utils.mouseToSvg(e,n.getParentSvg(),n.getInverseScreenCTM());n.zoom(i.x,i.y,o)}this.previousScale_=t,e.preventDefault()}},Blockly.TouchGesture.prototype.handleTouchEnd=function(e){e=Blockly.Touch.getTouchIdentifierFromEvent(e),this.cachedPoints_[e]&&delete this.cachedPoints_[e],2>Object.keys(this.cachedPoints_).length&&(this.cachedPoints_={},this.previousScale_=0)},Blockly.TouchGesture.prototype.getTouchPoint=function(e){return this.startWorkspace_?new Blockly.utils.Coordinate(e.pageX?e.pageX:e.changedTouches[0].pageX,e.pageY?e.pageY:e.changedTouches[0].pageY):null},Blockly.Trashcan=function(e){this.workspace_=e,this.hasBlocks_=!1,this.contents_=[],0>=this.workspace_.options.maxTrashcanContents||(e={scrollbars:!0,disabledPatternId:this.workspace_.options.disabledPatternId,parentWorkspace:this.workspace_,RTL:this.workspace_.RTL,oneBasedIndex:this.workspace_.options.oneBasedIndex},this.workspace_.horizontalLayout?(e.toolboxPosition=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_TOP?Blockly.TOOLBOX_AT_BOTTOM:Blockly.TOOLBOX_AT_TOP,this.flyout_=new Blockly.HorizontalFlyout(e)):(e.toolboxPosition=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?Blockly.TOOLBOX_AT_LEFT:Blockly.TOOLBOX_AT_RIGHT,this.flyout_=new Blockly.VerticalFlyout(e)),this.workspace_.addChangeListener(this.onDelete_()))},Blockly.Trashcan.prototype.WIDTH_=47,Blockly.Trashcan.prototype.BODY_HEIGHT_=44,Blockly.Trashcan.prototype.LID_HEIGHT_=16,Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20,Blockly.Trashcan.prototype.MARGIN_SIDE_=20,Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10,Blockly.Trashcan.prototype.SPRITE_LEFT_=0,Blockly.Trashcan.prototype.SPRITE_TOP_=32,Blockly.Trashcan.prototype.HAS_BLOCKS_LID_ANGLE=.1,Blockly.Trashcan.prototype.isOpen=!1,Blockly.Trashcan.prototype.minOpenness_=0,Blockly.Trashcan.prototype.svgGroup_=null;Blockly.Trashcan.prototype.svgLid_=null,Blockly.Trashcan.prototype.lidTask_=0,Blockly.Trashcan.prototype.lidOpen_=0,Blockly.Trashcan.prototype.left_=0,Blockly.Trashcan.prototype.top_=0,Blockly.Trashcan.prototype.createDom=function(){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyTrash"},null);var e=String(Math.random()).substring(2),t=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyTrashBodyClipPath"+e},this.svgGroup_);Blockly.utils.dom.createSvgElement("rect",{width:this.WIDTH_,height:this.BODY_HEIGHT_,y:this.LID_HEIGHT_},t);var o=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashBodyClipPath"+e+")"},this.svgGroup_);return o.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url),t=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyTrashLidClipPath"+e},this.svgGroup_),Blockly.utils.dom.createSvgElement("rect",{width:this.WIDTH_,height:this.LID_HEIGHT_},t),this.svgLid_=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,"clip-path":"url(#blocklyTrashLidClipPath"+e+")"},this.svgGroup_),this.svgLid_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.click),Blockly.bindEvent_(o,"mouseover",this,this.mouseOver_),Blockly.bindEvent_(o,"mouseout",this,this.mouseOut_),this.animateLid_(),this.svgGroup_},Blockly.Trashcan.prototype.init=function(e){return 0<this.workspace_.options.maxTrashcanContents&&(Blockly.utils.dom.insertAfter(this.flyout_.createDom("svg"),this.workspace_.getParentSvg()),this.flyout_.init(this.workspace_),this.flyout_.isBlockCreatable_=function(){return!0}),this.verticalSpacing_=this.MARGIN_BOTTOM_+e,this.setOpen_(!1),this.verticalSpacing_+this.BODY_HEIGHT_+this.LID_HEIGHT_},Blockly.Trashcan.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.workspace_=this.svgLid_=null,clearTimeout(this.lidTask_)},Blockly.Trashcan.prototype.position=function(){if(this.verticalSpacing_){var e=this.workspace_.getMetrics();e&&(this.left_=e.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.workspace_.horizontalLayout&&!this.workspace_.RTL?e.viewWidth+e.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness:this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,this.top_=e.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?this.verticalSpacing_:e.viewHeight+e.absoluteTop-(this.BODY_HEIGHT_+this.LID_HEIGHT_)-this.verticalSpacing_,this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))}},Blockly.Trashcan.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.top+this.SPRITE_TOP_-this.MARGIN_HOTSPOT_;return e=e.left+this.SPRITE_LEFT_-this.MARGIN_HOTSPOT_,new Blockly.utils.Rect(t,t+this.LID_HEIGHT_+this.BODY_HEIGHT_+2*this.MARGIN_HOTSPOT_,e,e+this.WIDTH_+2*this.MARGIN_HOTSPOT_)},Blockly.Trashcan.prototype.setOpen_=function(e){this.isOpen!=e&&(clearTimeout(this.lidTask_),this.isOpen=e,this.animateLid_())},Blockly.Trashcan.prototype.animateLid_=function(){this.lidOpen_+=this.isOpen?.2:-.2,this.lidOpen_=Math.min(Math.max(this.lidOpen_,this.minOpenness_),1),this.setLidAngle_(45*this.lidOpen_),this.svgGroup_.style.opacity=.4+.4*this.lidOpen_,this.lidOpen_>this.minOpenness_&&1>this.lidOpen_&&(this.lidTask_=setTimeout(this.animateLid_.bind(this),20))},Blockly.Trashcan.prototype.setLidAngle_=function(e){var t=this.workspace_.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT||this.workspace_.horizontalLayout&&this.workspace_.RTL;this.svgLid_.setAttribute("transform","rotate("+(t?-e:e)+","+(t?4:this.WIDTH_-4)+","+(this.LID_HEIGHT_-2)+")")},Blockly.Trashcan.prototype.close=function(){this.setOpen_(!1)},Blockly.Trashcan.prototype.click=function(){if(this.hasBlocks_){for(var e,t=[],o=0;e=this.contents_[o];o++)t[o]=Blockly.Xml.textToDom(e);this.flyout_.show(t)}},Blockly.Trashcan.prototype.mouseOver_=function(){this.hasBlocks_&&this.setOpen_(!0)},Blockly.Trashcan.prototype.mouseOut_=function(){this.setOpen_(!1)},Blockly.Trashcan.prototype.onDelete_=function(){var e=this;return function(t){0>=e.workspace_.options.maxTrashcanContents||t.type!=Blockly.Events.BLOCK_DELETE||"shadow"==t.oldXml.tagName.toLowerCase()||(t=e.cleanBlockXML_(t.oldXml),-1==e.contents_.indexOf(t)&&(e.contents_.unshift(t),e.contents_.length>e.workspace_.options.maxTrashcanContents&&e.contents_.splice(e.workspace_.options.maxTrashcanContents,e.contents_.length-e.workspace_.options.maxTrashcanContents),e.hasBlocks_=!0,e.minOpenness_=e.HAS_BLOCKS_LID_ANGLE,e.setLidAngle_(45*e.minOpenness_)))}},Blockly.Trashcan.prototype.cleanBlockXML_=function(e){for(var t=e=e.cloneNode(!0);t;){t.removeAttribute&&(t.removeAttribute("x"),t.removeAttribute("y"),t.removeAttribute("id"));var o=t.firstChild||t.nextSibling;if(!o)for(o=t.parentNode;o;){if(o.nextSibling){o=o.nextSibling;break}o=o.parentNode}t=o}return Blockly.Xml.domToText(e)},Blockly.VariableModel=function(e,t,o,n){this.workspace=e,this.name=t,this.type=o||"",this.id_=n||Blockly.utils.genUid(),Blockly.Events.fire(new Blockly.Events.VarCreate(this))},Blockly.VariableModel.prototype.getId=function(){return this.id_},Blockly.VariableModel.compareByName=function(e,t){var o=e.name.toLowerCase(),n=t.name.toLowerCase();return o<n?-1:o==n?0:1},Blockly.Variables={},Blockly.Variables.NAME_TYPE=Blockly.VARIABLE_CATEGORY_NAME,Blockly.Variables.allUsedVarModels=function(e){var t=e.getAllBlocks(!1);e=Object.create(null);for(var o=0;o<t.length;o++){var n=t[o].getVarModels();if(n)for(var i=0;i<n.length;i++){var r=n[i],s=r.getId();s&&(e[s]=r)}}for(s in t=[],e)t.push(e[s]);return t},Blockly.Variables.allUsedVariables=function(){console.warn("Deprecated call to Blockly.Variables.allUsedVariables. Use Blockly.Variables.allUsedVarModels instead.\nIf this is a major issue please file a bug on GitHub.")},Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_={},Blockly.Variables.allDeveloperVariables=function(e){e=e.getAllBlocks(!1);for(var t,o=Object.create(null),n=0;t=e[n];n++){var i=t.getDeveloperVariables;if(!i&&t.getDeveloperVars&&(i=t.getDeveloperVars,Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[t.type]||(console.warn("Function getDeveloperVars() deprecated. Use getDeveloperVariables() (block type '"+t.type+"')"),Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[t.type]=!0)),i)for(t=i(),i=0;i<t.length;i++)o[t[i]]=!0}return Object.keys(o)},Blockly.Variables.flyoutCategory=function(e){var t=[],o=document.createElement("button");return o.setAttribute("text","%{BKY_NEW_VARIABLE}"),o.setAttribute("callbackKey","CREATE_VARIABLE"),e.registerButtonCallback("CREATE_VARIABLE",(function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace())})),t.push(o),e=Blockly.Variables.flyoutCategoryBlocks(e),t.concat(e)},Blockly.Variables.flyoutCategoryBlocks=function(e){var t=[];if(0<(e=e.getVariablesOfType("")).length){var o=e[e.length-1];if(Blockly.Blocks.variables_set){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type","variables_set"),n.setAttribute("gap",Blockly.Blocks.math_change?8:24),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),t.push(n)}if(Blockly.Blocks.math_change&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","math_change"),n.setAttribute("gap",Blockly.Blocks.variables_get?20:8),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),o=Blockly.Xml.textToDom('<value name="DELTA"><shadow type="math_number"><field name="NUM">1</field></shadow></value>'),n.appendChild(o),t.push(n)),Blockly.Blocks.variables_get){e.sort(Blockly.VariableModel.compareByName),o=0;for(var i;i=e[o];o++)(n=Blockly.utils.xml.createElement("block")).setAttribute("type","variables_get"),n.setAttribute("gap",8),n.appendChild(Blockly.Variables.generateVariableFieldDom(i)),t.push(n)}}return t},Blockly.Variables.generateUniqueName=function(e){var t="";if((e=e.getAllVariables()).length)for(var o=1,n=0,i="ijkmnopqrstuvwxyzabcdefgh".charAt(n);!t;){for(var r=!1,s=0;s<e.length;s++)if(e[s].name.toLowerCase()==i){r=!0;break}r?(25==++n&&(n=0,o++),i="ijkmnopqrstuvwxyzabcdefgh".charAt(n),1<o&&(i+=o)):t=i}else t="i";return t},Blockly.Variables.createVariableButtonHandler=function(e,t,o){var n=o||"",i=function(o){Blockly.Variables.promptName(Blockly.Msg.NEW_VARIABLE_TITLE,o,(function(o){if(o){var r=Blockly.Variables.nameUsedWithAnyType_(o,e);if(r){var s=o.toLowerCase();if(r.type==n)var a=Blockly.Msg.VARIABLE_ALREADY_EXISTS.replace("%1",s);else a=(a=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE).replace("%1",s).replace("%2",r.type);Blockly.alert(a,(function(){i(o)}))}else e.createVariable(o,n),t&&t(o)}else t&&t(null)}))};i("")},goog.exportSymbol("Blockly.Variables.createVariableButtonHandler",Blockly.Variables.createVariableButtonHandler),Blockly.Variables.createVariable=Blockly.Variables.createVariableButtonHandler,goog.exportSymbol("Blockly.Variables.createVariable",Blockly.Variables.createVariable),Blockly.Variables.renameVariable=function(e,t,o){var n=function(i){var r=Blockly.Msg.RENAME_VARIABLE_TITLE.replace("%1",t.name);Blockly.Variables.promptName(r,i,(function(i){if(i){var r=Blockly.Variables.nameUsedWithOtherType_(i,t.type,e);r?(r=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE.replace("%1",i.toLowerCase()).replace("%2",r.type),Blockly.alert(r,(function(){n(i)}))):(e.renameVariableById(t.getId(),i),o&&o(i))}else o&&o(null)}))};n("")},Blockly.Variables.promptName=function(e,t,o){Blockly.prompt(e,t,(function(e){e&&((e=e.replace(/[\s\xa0]+/g," ").trim())==Blockly.Msg.RENAME_VARIABLE||e==Blockly.Msg.NEW_VARIABLE)&&(e=null),o(e)}))},Blockly.Variables.nameUsedWithOtherType_=function(e,t,o){o=o.getVariableMap().getAllVariables(),e=e.toLowerCase();for(var n,i=0;n=o[i];i++)if(n.name.toLowerCase()==e&&n.type!=t)return n;return null},Blockly.Variables.nameUsedWithAnyType_=function(e,t){var o=t.getVariableMap().getAllVariables();e=e.toLowerCase();for(var n,i=0;n=o[i];i++)if(n.name.toLowerCase()==e)return n;return null},Blockly.Variables.generateVariableFieldDom=function(e){var t=Blockly.utils.xml.createElement("field");return t.setAttribute("name","VAR"),t.setAttribute("id",e.getId()),t.setAttribute("variabletype",e.type),e=Blockly.utils.xml.createTextNode(e.name),t.appendChild(e),t},Blockly.Variables.getOrCreateVariablePackage=function(e,t,o,n){var i=Blockly.Variables.getVariable(e,t,o,n);return i||(i=Blockly.Variables.createVariable_(e,t,o,n)),i},Blockly.Variables.getVariable=function(e,t,o,n){var i=e.getPotentialVariableMap();if(t){var r=e.getVariableById(t);if(!r&&i&&(r=i.getVariableById(t)),r)return r}if(o){if(null==n)throw Error("Tried to look up a variable by name without a type");!(r=e.getVariable(o,n))&&i&&(r=i.getVariable(o,n))}return r},Blockly.Variables.createVariable_=function(e,t,o,n){var i=e.getPotentialVariableMap();return o||(o=Blockly.Variables.generateUniqueName(e.isFlyout?e.targetWorkspace:e)),i?i.createVariable(o,n,t):e.createVariable(o,n,t)},Blockly.Variables.getAddedVariables=function(e,t){var o=e.getAllVariables(),n=[];if(t.length!=o.length)for(var i=0;i<o.length;i++){var r=o[i];-1==t.indexOf(r)&&n.push(r)}return n},Blockly.VariablesDynamic={},Blockly.VariablesDynamic.onCreateVariableButtonClick_String=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"String")},Blockly.VariablesDynamic.onCreateVariableButtonClick_Number=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"Number")},Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour=function(e){Blockly.Variables.createVariableButtonHandler(e.getTargetWorkspace(),null,"Colour")},Blockly.VariablesDynamic.flyoutCategory=function(e){var t=[],o=document.createElement("button");return o.setAttribute("text",Blockly.Msg.NEW_STRING_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_STRING"),t.push(o),(o=document.createElement("button")).setAttribute("text",Blockly.Msg.NEW_NUMBER_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER"),t.push(o),(o=document.createElement("button")).setAttribute("text",Blockly.Msg.NEW_COLOUR_VARIABLE),o.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR"),t.push(o),e.registerButtonCallback("CREATE_VARIABLE_STRING",Blockly.VariablesDynamic.onCreateVariableButtonClick_String),e.registerButtonCallback("CREATE_VARIABLE_NUMBER",Blockly.VariablesDynamic.onCreateVariableButtonClick_Number),e.registerButtonCallback("CREATE_VARIABLE_COLOUR",Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour),e=Blockly.VariablesDynamic.flyoutCategoryBlocks(e),t.concat(e)},Blockly.VariablesDynamic.flyoutCategoryBlocks=function(e){var t=[];if(0<(e=e.getAllVariables()).length){if(Blockly.Blocks.variables_set_dynamic){var o=e[e.length-1],n=Blockly.utils.xml.createElement("block");n.setAttribute("type","variables_set_dynamic"),n.setAttribute("gap",24),n.appendChild(Blockly.Variables.generateVariableFieldDom(o)),t.push(n)}if(Blockly.Blocks.variables_get_dynamic){e.sort(Blockly.VariableModel.compareByName),o=0;for(var i;i=e[o];o++)(n=Blockly.utils.xml.createElement("block")).setAttribute("type","variables_get_dynamic"),n.setAttribute("gap",8),n.appendChild(Blockly.Variables.generateVariableFieldDom(i)),t.push(n)}}return t},Blockly.WorkspaceAudio=function(e){this.parentWorkspace_=e,this.SOUNDS_=Object.create(null)},Blockly.WorkspaceAudio.prototype.lastSound_=null,Blockly.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null},Blockly.WorkspaceAudio.prototype.load=function(e,t){if(e.length){try{var o=new Blockly.utils.global.Audio}catch(e){return}for(var n,i=0;i<e.length;i++){var r=e[i],s=r.match(/\.(\w+)$/);if(s&&o.canPlayType("audio/"+s[1])){n=new Blockly.utils.global.Audio(r);break}}n&&n.play&&(this.SOUNDS_[t]=n)}},Blockly.WorkspaceAudio.prototype.preload=function(){for(var e in this.SOUNDS_){var t=this.SOUNDS_[e];if(t.volume=.01,t.play().catch((function(){})),t.pause(),Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.IPHONE)break}},Blockly.WorkspaceAudio.prototype.play=function(e,t){var o=this.SOUNDS_[e];if(o){var n=new Date;null!=this.lastSound_&&n-this.lastSound_<Blockly.SOUND_LIMIT||(this.lastSound_=n,(o=Blockly.utils.userAgent.IPAD||Blockly.utils.userAgent.ANDROID?o:o.cloneNode()).volume=void 0===t?1:t,o.play())}else this.parentWorkspace_&&this.parentWorkspace_.getAudioManager().play(e,t)},Blockly.WorkspaceCommentSvg.render={},Blockly.WorkspaceCommentSvg.RESIZE_SIZE=8,Blockly.WorkspaceCommentSvg.BORDER_RADIUS=3,Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET=2,Blockly.WorkspaceCommentSvg.TOP_OFFSET=10,Blockly.WorkspaceCommentSvg.prototype.getHeightWidth=function(){return{width:this.getWidth(),height:this.getHeight()}},Blockly.WorkspaceCommentSvg.prototype.render=function(){if(!this.rendered_){var e=this.getHeightWidth();this.createEditor_(),this.svgGroup_.appendChild(this.foreignObject_),this.svgHandleTarget_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentHandleTarget",x:0,y:0}),this.svgGroup_.appendChild(this.svgHandleTarget_),this.svgRectTarget_=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyCommentTarget",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS}),this.svgGroup_.appendChild(this.svgRectTarget_),this.addResizeDom_(),this.isDeletable()&&this.addDeleteDom_(),this.setSize_(e.width,e.height),this.textarea_.value=this.content_,this.rendered_=!0,this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_),this.isDeletable()&&(Blockly.bindEventWithChecks_(this.deleteGroup_,"mousedown",this,this.deleteMouseDown_),Blockly.bindEventWithChecks_(this.deleteGroup_,"mouseout",this,this.deleteMouseOut_),Blockly.bindEventWithChecks_(this.deleteGroup_,"mouseup",this,this.deleteMouseUp_))}},Blockly.WorkspaceCommentSvg.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.dom.createSvgElement("foreignObject",{x:0,y:Blockly.WorkspaceCommentSvg.TOP_OFFSET,class:"blocklyCommentForeignObject"},null);var e=document.createElementNS(Blockly.utils.dom.HTML_NS,"body");e.setAttribute("xmlns",Blockly.utils.dom.HTML_NS),e.className="blocklyMinimalBody";var t=document.createElementNS(Blockly.utils.dom.HTML_NS,"textarea");return t.className="blocklyCommentTextarea",t.setAttribute("dir",this.RTL?"RTL":"LTR"),e.appendChild(t),this.textarea_=t,this.foreignObject_.appendChild(e),Blockly.bindEventWithChecks_(t,"wheel",this,(function(e){e.stopPropagation()})),Blockly.bindEventWithChecks_(t,"change",this,(function(e){this.setContent(t.value)})),this.foreignObject_},Blockly.WorkspaceCommentSvg.prototype.addResizeDom_=function(){this.resizeGroup_=Blockly.utils.dom.createSvgElement("g",{class:this.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.svgGroup_);var e=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;Blockly.utils.dom.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,e.toString())},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:e/3,y1:e-1,x2:e-1,y2:e/3},this.resizeGroup_),Blockly.utils.dom.createSvgElement("line",{class:"blocklyResizeLine",x1:2*e/3,y1:e-1,x2:e-1,y2:2*e/3},this.resizeGroup_)},Blockly.WorkspaceCommentSvg.prototype.addDeleteDom_=function(){this.deleteGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyCommentDeleteIcon"},this.svgGroup_),this.deleteIconBorder_=Blockly.utils.dom.createSvgElement("circle",{class:"blocklyDeleteIconShape",r:"7",cx:"7.5",cy:"7.5"},this.deleteGroup_),Blockly.utils.dom.createSvgElement("line",{x1:"5",y1:"10",x2:"10",y2:"5",stroke:"#fff","stroke-width":"2"},this.deleteGroup_),Blockly.utils.dom.createSvgElement("line",{x1:"5",y1:"5",x2:"10",y2:"10",stroke:"#fff","stroke-width":"2"},this.deleteGroup_)},Blockly.WorkspaceCommentSvg.prototype.resizeMouseDown_=function(e){this.unbindDragEvents_(),Blockly.utils.isRightButton(e)||(this.workspace.startDrag(e,new Blockly.utils.Coordinate(this.workspace.RTL?-this.width_:this.width_,this.height_)),this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.resizeMouseUp_),this.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff()),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.deleteMouseDown_=function(e){Blockly.utils.dom.addClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted"),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.deleteMouseOut_=function(e){Blockly.utils.dom.removeClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted")},Blockly.WorkspaceCommentSvg.prototype.deleteMouseUp_=function(e){this.dispose(!0,!0),e.stopPropagation()},Blockly.WorkspaceCommentSvg.prototype.unbindDragEvents_=function(){this.onMouseUpWrapper_&&(Blockly.unbindEvent_(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null),this.onMouseMoveWrapper_&&(Blockly.unbindEvent_(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)},Blockly.WorkspaceCommentSvg.prototype.resizeMouseUp_=function(){Blockly.Touch.clearTouchIdentifier(),this.unbindDragEvents_()},Blockly.WorkspaceCommentSvg.prototype.resizeMouseMove_=function(e){this.autoLayout_=!1,e=this.workspace.moveDrag(e),this.setSize_(this.RTL?-e.x:e.x,e.y)},Blockly.WorkspaceCommentSvg.prototype.resizeComment_=function(){var e=this.getHeightWidth(),t=Blockly.WorkspaceCommentSvg.TOP_OFFSET,o=2*Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET;this.foreignObject_.setAttribute("width",e.width),this.foreignObject_.setAttribute("height",e.height-t),this.RTL&&this.foreignObject_.setAttribute("x",-e.width),this.textarea_.style.width=e.width-o+"px",this.textarea_.style.height=e.height-o-t+"px"},Blockly.WorkspaceCommentSvg.prototype.setSize_=function(e,t){e=Math.max(e,45),t=Math.max(t,20+Blockly.WorkspaceCommentSvg.TOP_OFFSET),this.width_=e,this.height_=t,this.svgRect_.setAttribute("width",e),this.svgRect_.setAttribute("height",t),this.svgRectTarget_.setAttribute("width",e),this.svgRectTarget_.setAttribute("height",t),this.svgHandleTarget_.setAttribute("width",e),this.svgHandleTarget_.setAttribute("height",Blockly.WorkspaceCommentSvg.TOP_OFFSET),this.RTL&&(this.svgRect_.setAttribute("transform","scale(-1 1)"),this.svgRectTarget_.setAttribute("transform","scale(-1 1)"));var o=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;this.resizeGroup_&&(this.RTL?(this.resizeGroup_.setAttribute("transform","translate("+(-e+o)+","+(t-o)+") scale(-1 1)"),this.deleteGroup_.setAttribute("transform","translate("+(-e+o)+","+-o+") scale(-1 1)")):(this.resizeGroup_.setAttribute("transform","translate("+(e-o)+","+(t-o)+")"),this.deleteGroup_.setAttribute("transform","translate("+(e-o)+","+-o+")"))),this.resizeComment_()},Blockly.WorkspaceCommentSvg.prototype.disposeInternal_=function(){this.svgHandleTarget_=this.svgRectTarget_=this.foreignObject_=this.textarea_=null,this.disposed_=!0},Blockly.WorkspaceCommentSvg.prototype.setFocus=function(){var e=this;this.focused_=!0,setTimeout((function(){e.disposed_||(e.textarea_.focus(),e.addFocus(),Blockly.utils.dom.addClass(e.svgRectTarget_,"blocklyCommentTargetFocused"),Blockly.utils.dom.addClass(e.svgHandleTarget_,"blocklyCommentHandleTargetFocused"))}),0)},Blockly.WorkspaceCommentSvg.prototype.blurFocus=function(){var e=this;this.focused_=!1,setTimeout((function(){e.disposed_||(e.textarea_.blur(),e.removeFocus(),Blockly.utils.dom.removeClass(e.svgRectTarget_,"blocklyCommentTargetFocused"),Blockly.utils.dom.removeClass(e.svgHandleTarget_,"blocklyCommentHandleTargetFocused"))}),0)},Blockly.WorkspaceDragSurfaceSvg=function(e){this.container_=e,this.createDom()},Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.dragGroup_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null,Blockly.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklyWsDragSurface blocklyOverflowVisible"},null),this.container_.appendChild(this.SVG_))},Blockly.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(e,t){var o=e.toFixed(0),n=t.toFixed(0);this.SVG_.style.display="block",Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+o+"px, "+n+"px, 0px)")},Blockly.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return Blockly.utils.getRelativeXY(this.SVG_)},Blockly.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(e){if(!e)throw Error("Couldn't clear and hide the drag surface: missing new surface.");var t=this.SVG_.childNodes[0],o=this.SVG_.childNodes[1];if(!(t&&o&&Blockly.utils.dom.hasClass(t,"blocklyBlockCanvas")&&Blockly.utils.dom.hasClass(o,"blocklyBubbleCanvas")))throw Error("Couldn't clear and hide the drag surface. A node was missing.");if(null!=this.previousSibling_?Blockly.utils.dom.insertAfter(t,this.previousSibling_):e.insertBefore(t,e.firstChild),Blockly.utils.dom.insertAfter(o,t),this.SVG_.style.display="none",this.SVG_.childNodes.length)throw Error("Drag surface was not cleared.");Blockly.utils.dom.setCssTransform(this.SVG_,""),this.previousSibling_=null},Blockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(e,t,o,n,i,r){if(this.SVG_.childNodes.length)throw Error("Already dragging a block.");this.previousSibling_=o,e.setAttribute("transform","translate(0, 0) scale("+r+")"),t.setAttribute("transform","translate(0, 0) scale("+r+")"),this.SVG_.setAttribute("width",n),this.SVG_.setAttribute("height",i),this.SVG_.appendChild(e),this.SVG_.appendChild(t),this.SVG_.style.display="block"},Blockly.ZoomControls=function(e){this.workspace_=e},Blockly.ZoomControls.prototype.WIDTH_=32,Blockly.ZoomControls.prototype.HEIGHT_=110,Blockly.ZoomControls.prototype.MARGIN_BOTTOM_=20,Blockly.ZoomControls.prototype.MARGIN_SIDE_=20,Blockly.ZoomControls.prototype.svgGroup_=null,Blockly.ZoomControls.prototype.left_=0,Blockly.ZoomControls.prototype.top_=0,Blockly.ZoomControls.prototype.createDom=function(){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},null);var e=String(Math.random()).substring(2);return this.createZoomOutSvg_(e),this.createZoomInSvg_(e),this.workspace_.isMovable()&&this.createZoomResetSvg_(e),this.svgGroup_},Blockly.ZoomControls.prototype.init=function(e){return this.verticalSpacing_=this.MARGIN_BOTTOM_+e,this.verticalSpacing_+this.HEIGHT_},Blockly.ZoomControls.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.workspace_=null},Blockly.ZoomControls.prototype.position=function(){if(this.verticalSpacing_){var e=this.workspace_.getMetrics();e&&(this.left_=e.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.workspace_.horizontalLayout&&!this.workspace_.RTL?e.viewWidth+e.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness:this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,e.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?(this.top_=this.verticalSpacing_,this.zoomInGroup_.setAttribute("transform","translate(0, 34)"),this.zoomResetGroup_&&this.zoomResetGroup_.setAttribute("transform","translate(0, 77)")):(this.top_=e.viewHeight+e.absoluteTop-this.HEIGHT_-this.verticalSpacing_,this.zoomInGroup_.setAttribute("transform","translate(0, 43)"),this.zoomOutGroup_.setAttribute("transform","translate(0, 77)")),this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))}},Blockly.ZoomControls.prototype.createZoomOutSvg_=function(e){var t=this.workspace_;this.zoomOutGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoomoutClipPath"+e},this.zoomOutGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-64,y:-92,"clip-path":"url(#blocklyZoomoutClipPath"+e+")"},this.zoomOutGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.zoomCenter(-1),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.ZoomControls.prototype.createZoomInSvg_=function(e){var t=this.workspace_;this.zoomInGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoominClipPath"+e},this.zoomInGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-32,y:-92,"clip-path":"url(#blocklyZoominClipPath"+e+")"},this.zoomInGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.zoomCenter(1),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.ZoomControls.prototype.createZoomResetSvg_=function(e){var t=this.workspace_;this.zoomResetGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyZoom"},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("clipPath",{id:"blocklyZoomresetClipPath"+e},this.zoomResetGroup_);Blockly.utils.dom.createSvgElement("rect",{width:32,height:32},o),(e=Blockly.utils.dom.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+e+")"},this.zoomResetGroup_)).setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",t.options.pathToMedia+Blockly.SPRITE.url),Blockly.bindEventWithChecks_(e,"mousedown",null,(function(e){t.markFocused(),t.setScale(t.options.zoomOptions.startScale),t.beginCanvasTransition(),t.scrollCenter(),setTimeout((function(){t.endCanvasTransition()}),500),Blockly.Touch.clearTouchIdentifier(),e.stopPropagation(),e.preventDefault()}))},Blockly.WorkspaceSvg=function(e,t,o){Blockly.WorkspaceSvg.superClass_.constructor.call(this,e),this.getMetrics=e.getMetrics||Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_,this.setMetrics=e.setMetrics||Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_,this.connectionDBList=Blockly.ConnectionDB.init(),t&&(this.blockDragSurface_=t),o&&(this.workspaceDragSurface_=o),this.useWorkspaceDragSurface_=this.workspaceDragSurface_&&Blockly.utils.is3dSupported(),this.highlightedBlocks_=[],this.audioManager_=new Blockly.WorkspaceAudio(e.parentWorkspace),this.grid_=this.options.gridPattern?new Blockly.Grid(e.gridPattern,e.gridOptions):null,Blockly.Variables&&Blockly.Variables.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_CATEGORY_NAME,Blockly.Variables.flyoutCategory),Blockly.VariablesDynamic&&Blockly.VariablesDynamic.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME,Blockly.VariablesDynamic.flyoutCategory),Blockly.Procedures&&Blockly.Procedures.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.PROCEDURE_CATEGORY_NAME,Blockly.Procedures.flyoutCategory)},goog.inherits(Blockly.WorkspaceSvg,Blockly.Workspace),Blockly.WorkspaceSvg.prototype.resizeHandlerWrapper_=null,Blockly.WorkspaceSvg.prototype.rendered=!0,Blockly.WorkspaceSvg.prototype.isVisible_=!0,Blockly.WorkspaceSvg.prototype.isFlyout=!1,Blockly.WorkspaceSvg.prototype.isMutator=!1,Blockly.WorkspaceSvg.prototype.resizesEnabled_=!0,Blockly.WorkspaceSvg.prototype.scrollX=0,Blockly.WorkspaceSvg.prototype.scrollY=0,Blockly.WorkspaceSvg.prototype.startScrollX=0,Blockly.WorkspaceSvg.prototype.startScrollY=0,Blockly.WorkspaceSvg.prototype.dragDeltaXY_=null,Blockly.WorkspaceSvg.prototype.scale=1,Blockly.WorkspaceSvg.prototype.trashcan=null,Blockly.WorkspaceSvg.prototype.scrollbar=null,Blockly.WorkspaceSvg.prototype.flyout_=null,Blockly.WorkspaceSvg.prototype.toolbox_=null,Blockly.WorkspaceSvg.prototype.currentGesture_=null,Blockly.WorkspaceSvg.prototype.blockDragSurface_=null,Blockly.WorkspaceSvg.prototype.workspaceDragSurface_=null,Blockly.WorkspaceSvg.prototype.useWorkspaceDragSurface_=!1,Blockly.WorkspaceSvg.prototype.isDragSurfaceActive_=!1,Blockly.WorkspaceSvg.prototype.injectionDiv_=null,Blockly.WorkspaceSvg.prototype.lastRecordedPageScroll_=null,Blockly.WorkspaceSvg.prototype.flyoutButtonCallbacks_={},Blockly.WorkspaceSvg.prototype.toolboxCategoryCallbacks_={},Blockly.WorkspaceSvg.prototype.configureContextMenu=null,Blockly.WorkspaceSvg.prototype.targetWorkspace=null,Blockly.WorkspaceSvg.prototype.inverseScreenCTM_=null,Blockly.WorkspaceSvg.prototype.inverseScreenCTMDirty_=!0,Blockly.WorkspaceSvg.prototype.getInverseScreenCTM=function(){if(this.inverseScreenCTMDirty_){var e=this.getParentSvg().getScreenCTM();e&&(this.inverseScreenCTM_=e.inverse(),this.inverseScreenCTMDirty_=!1)}return this.inverseScreenCTM_},Blockly.WorkspaceSvg.prototype.updateInverseScreenCTM=function(){this.inverseScreenCTMDirty_=!0},Blockly.WorkspaceSvg.prototype.isVisible=function(){return this.isVisible_},Blockly.WorkspaceSvg.prototype.getSvgXY=function(e){var t=0,o=0,n=1;(Blockly.utils.dom.containsNode(this.getCanvas(),e)||Blockly.utils.dom.containsNode(this.getBubbleCanvas(),e))&&(n=this.scale);do{var i=Blockly.utils.getRelativeXY(e);e!=this.getCanvas()&&e!=this.getBubbleCanvas()||(n=1),t+=i.x*n,o+=i.y*n,e=e.parentNode}while(e&&e!=this.getParentSvg());return new Blockly.utils.Coordinate(t,o)},Blockly.WorkspaceSvg.prototype.getOriginOffsetInPixels=function(){return Blockly.utils.getInjectionDivXY_(this.svgBlockCanvas_)},Blockly.WorkspaceSvg.prototype.getInjectionDiv=function(){if(!this.injectionDiv_)for(var e=this.svgGroup_;e;){if(-1!=(" "+(e.getAttribute("class")||"")+" ").indexOf(" injectionDiv ")){this.injectionDiv_=e;break}e=e.parentNode}return this.injectionDiv_},Blockly.WorkspaceSvg.prototype.setResizeHandlerWrapper=function(e){this.resizeHandlerWrapper_=e},Blockly.WorkspaceSvg.prototype.createDom=function(e){return this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyWorkspace"},null),e&&(this.svgBackground_=Blockly.utils.dom.createSvgElement("rect",{height:"100%",width:"100%",class:e},this.svgGroup_),"blocklyMainBackground"==e&&this.grid_&&(this.svgBackground_.style.fill="url(#"+this.grid_.getPatternId()+")")),this.svgBlockCanvas_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyBlockCanvas"},this.svgGroup_),this.svgBubbleCanvas_=Blockly.utils.dom.createSvgElement("g",{class:"blocklyBubbleCanvas"},this.svgGroup_),this.isFlyout||(Blockly.bindEventWithChecks_(this.svgGroup_,"mousedown",this,this.onMouseDown_,!1,!0),Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.onMouseWheel_)),this.options.hasCategories&&(this.toolbox_=new Blockly.Toolbox(this)),this.grid_&&this.grid_.update(this.scale),this.recordDeleteAreas(),this.svgGroup_},Blockly.WorkspaceSvg.prototype.dispose=function(){if(this.rendered=!1,this.currentGesture_&&this.currentGesture_.cancel(),Blockly.WorkspaceSvg.superClass_.dispose.call(this),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.svgBubbleCanvas_=this.svgBlockCanvas_=null,this.toolbox_&&(this.toolbox_.dispose(),this.toolbox_=null),this.flyout_&&(this.flyout_.dispose(),this.flyout_=null),this.trashcan&&(this.trashcan.dispose(),this.trashcan=null),this.scrollbar&&(this.scrollbar.dispose(),this.scrollbar=null),this.zoomControls_&&(this.zoomControls_.dispose(),this.zoomControls_=null),this.audioManager_&&(this.audioManager_.dispose(),this.audioManager_=null),this.grid_&&(this.grid_.dispose(),this.grid_=null),this.flyoutButtonCallbacks_=this.toolboxCategoryCallbacks_=this.connectionDBList=null,!this.options.parentWorkspace){var e=this.getParentSvg().parentNode;e&&Blockly.utils.dom.removeNode(e)}this.resizeHandlerWrapper_&&(Blockly.unbindEvent_(this.resizeHandlerWrapper_),this.resizeHandlerWrapper_=null)},Blockly.WorkspaceSvg.prototype.newBlock=function(e,t){return new Blockly.BlockSvg(this,e,t)},Blockly.WorkspaceSvg.prototype.addTrashcan=function(){this.trashcan=new Blockly.Trashcan(this);var e=this.trashcan.createDom();this.svgGroup_.insertBefore(e,this.svgBlockCanvas_)},Blockly.WorkspaceSvg.prototype.addZoomControls=function(){this.zoomControls_=new Blockly.ZoomControls(this);var e=this.zoomControls_.createDom();this.svgGroup_.appendChild(e)},Blockly.WorkspaceSvg.prototype.addFlyout_=function(e){var t={disabledPatternId:this.options.disabledPatternId,parentWorkspace:this,RTL:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,toolboxPosition:this.options.toolboxPosition};return this.flyout_=this.horizontalLayout?new Blockly.HorizontalFlyout(t):new Blockly.VerticalFlyout(t),this.flyout_.autoClose=!1,this.flyout_.createDom(e)},Blockly.WorkspaceSvg.prototype.getFlyout=function(){return this.flyout_?this.flyout_:this.toolbox_?this.toolbox_.flyout_:null},Blockly.WorkspaceSvg.prototype.getToolbox=function(){return this.toolbox_},Blockly.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM(),this.recordDeleteAreas()},Blockly.WorkspaceSvg.prototype.resizeContents=function(){if(this.resizesEnabled_&&this.rendered){if(this.scrollbar){var e=this.getMetrics();this.scrollbar.hScroll.resizeContentHorizontal(e),this.scrollbar.vScroll.resizeContentVertical(e)}this.updateInverseScreenCTM()}},Blockly.WorkspaceSvg.prototype.resize=function(){this.toolbox_&&this.toolbox_.position(),this.flyout_&&this.flyout_.position(),this.trashcan&&this.trashcan.position(),this.zoomControls_&&this.zoomControls_.position(),this.scrollbar&&this.scrollbar.resize(),this.updateScreenCalculations_()},Blockly.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var e=Blockly.utils.getDocumentScroll();Blockly.utils.Coordinate.equals(this.lastRecordedPageScroll_,e)||(this.lastRecordedPageScroll_=e,this.updateScreenCalculations_())},Blockly.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_},Blockly.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_},Blockly.WorkspaceSvg.prototype.getParentSvg=function(){if(this.cachedParentSvg_)return this.cachedParentSvg_;for(var e=this.svgGroup_;e;){if("svg"==e.tagName)return this.cachedParentSvg_=e;e=e.parentNode}return null},Blockly.WorkspaceSvg.prototype.translate=function(e,t){if(this.useWorkspaceDragSurface_&&this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(e,t);else{var o="translate("+e+","+t+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",o),this.svgBubbleCanvas_.setAttribute("transform",o)}this.blockDragSurface_&&this.blockDragSurface_.translateAndScaleGroup(e,t,this.scale),this.grid_&&this.grid_.moveTo(e,t)},Blockly.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var e=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_),e="translate("+e.x+","+e.y+") scale("+this.scale+")",this.svgBlockCanvas_.setAttribute("transform",e),this.svgBubbleCanvas_.setAttribute("transform",e)}},Blockly.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_&&!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var e=this.svgBlockCanvas_.previousSibling,t=parseInt(this.getParentSvg().getAttribute("width"),10),o=parseInt(this.getParentSvg().getAttribute("height"),10),n=Blockly.utils.getRelativeXY(this.svgBlockCanvas_);this.workspaceDragSurface_.setContentsAndShow(this.svgBlockCanvas_,this.svgBubbleCanvas_,e,t,o,this.scale),this.workspaceDragSurface_.translateSurface(n.x,n.y)}},Blockly.WorkspaceSvg.prototype.getBlockDragSurface=function(){return this.blockDragSurface_},Blockly.WorkspaceSvg.prototype.getWidth=function(){var e=this.getMetrics();return e?e.viewWidth/this.scale:0},Blockly.WorkspaceSvg.prototype.setVisible=function(e){this.scrollbar&&this.scrollbar.setContainerVisible(e),this.getFlyout()&&this.getFlyout().setContainerVisible(e),this.getParentSvg().style.display=e?"block":"none",this.toolbox_&&(this.toolbox_.HtmlDiv.style.display=e?"block":"none"),e?(this.render(),this.toolbox_&&this.toolbox_.position()):Blockly.hideChaff(!0),this.isVisible_=e},Blockly.WorkspaceSvg.prototype.render=function(){for(var e=this.getAllBlocks(!1),t=e.length-1;0<=t;t--)e[t].render(!1);if(this.currentGesture_)for(e=this.currentGesture_.getInsertionMarkers(),t=0;t<e.length;t++)e[t].render(!1)},Blockly.WorkspaceSvg.prototype.traceOn=function(){console.warn("Deprecated call to traceOn, delete this.")},Blockly.WorkspaceSvg.prototype.highlightBlock=function(e,t){if(void 0===t){for(var o,n=0;o=this.highlightedBlocks_[n];n++)o.setHighlighted(!1);this.highlightedBlocks_.length=0}(o=e?this.getBlockById(e):null)&&((n=void 0===t||t)?-1==this.highlightedBlocks_.indexOf(o)&&this.highlightedBlocks_.push(o):Blockly.utils.arrayRemove(this.highlightedBlocks_,o),o.setHighlighted(n))},Blockly.WorkspaceSvg.prototype.paste=function(e){!this.rendered||e.getElementsByTagName("block").length>=this.remainingCapacity()||(this.currentGesture_&&this.currentGesture_.cancel(),"comment"==e.tagName.toLowerCase()?this.pasteWorkspaceComment_(e):this.pasteBlock_(e))},Blockly.WorkspaceSvg.prototype.pasteBlock_=function(e){Blockly.Events.disable();try{var t=Blockly.Xml.domToBlock(e,this),o=parseInt(e.getAttribute("x"),10),n=parseInt(e.getAttribute("y"),10);if(!isNaN(o)&&!isNaN(n)){this.RTL&&(o=-o);do{e=!1;for(var i,r=this.getAllBlocks(!1),s=0;i=r[s];s++){var a=i.getRelativeToSurfaceXY();if(1>=Math.abs(o-a.x)&&1>=Math.abs(n-a.y)){e=!0;break}}if(!e){var l,u=t.getConnections_(!1);for(s=0;l=u[s];s++)if(l.closest(Blockly.SNAP_RADIUS,new Blockly.utils.Coordinate(o,n)).connection){e=!0;break}}e&&(o=this.RTL?o-Blockly.SNAP_RADIUS:o+Blockly.SNAP_RADIUS,n+=2*Blockly.SNAP_RADIUS)}while(e);t.moveBy(o,n)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!t.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(t)),t.select()},Blockly.WorkspaceSvg.prototype.pasteWorkspaceComment_=function(e){Blockly.Events.disable();try{var t=Blockly.WorkspaceCommentSvg.fromXml(e,this),o=parseInt(e.getAttribute("x"),10),n=parseInt(e.getAttribute("y"),10);isNaN(o)||isNaN(n)||(this.RTL&&(o=-o),t.moveBy(o+50,n+50))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled(),t.select()},Blockly.WorkspaceSvg.prototype.refreshToolboxSelection=function(){var e=this.isFlyout?this.targetWorkspace:this;e&&!e.currentGesture_&&e.toolbox_&&e.toolbox_.flyout_&&e.toolbox_.refreshSelection()},Blockly.WorkspaceSvg.prototype.renameVariableById=function(e,t){Blockly.WorkspaceSvg.superClass_.renameVariableById.call(this,e,t),this.refreshToolboxSelection()},Blockly.WorkspaceSvg.prototype.deleteVariableById=function(e){Blockly.WorkspaceSvg.superClass_.deleteVariableById.call(this,e),this.refreshToolboxSelection()},Blockly.WorkspaceSvg.prototype.createVariable=function(e,t,o){return e=Blockly.WorkspaceSvg.superClass_.createVariable.call(this,e,t,o),this.refreshToolboxSelection(),e},Blockly.WorkspaceSvg.prototype.recordDeleteAreas=function(){this.deleteAreaTrash_=this.trashcan&&this.svgGroup_.parentNode?this.trashcan.getClientRect():null,this.deleteAreaToolbox_=this.flyout_?this.flyout_.getClientRect():this.toolbox_?this.toolbox_.getClientRect():null},Blockly.WorkspaceSvg.prototype.isDeleteArea=function(e){return this.deleteAreaTrash_&&this.deleteAreaTrash_.contains(e.clientX,e.clientY)?Blockly.DELETE_AREA_TRASH:this.deleteAreaToolbox_&&this.deleteAreaToolbox_.contains(e.clientX,e.clientY)?Blockly.DELETE_AREA_TOOLBOX:Blockly.DELETE_AREA_NONE},Blockly.WorkspaceSvg.prototype.onMouseDown_=function(e){var t=this.getGesture(e);t&&t.handleWsStart(e,this)},Blockly.WorkspaceSvg.prototype.startDrag=function(e,t){var o=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM());o.x/=this.scale,o.y/=this.scale,this.dragDeltaXY_=Blockly.utils.Coordinate.difference(t,o)},Blockly.WorkspaceSvg.prototype.moveDrag=function(e){return(e=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM())).x/=this.scale,e.y/=this.scale,Blockly.utils.Coordinate.sum(this.dragDeltaXY_,e)},Blockly.WorkspaceSvg.prototype.isDragging=function(){return null!=this.currentGesture_&&this.currentGesture_.isDragging()},Blockly.WorkspaceSvg.prototype.isDraggable=function(){return this.options.moveOptions&&this.options.moveOptions.drag},Blockly.WorkspaceSvg.prototype.isContentBounded=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.controls||this.options.zoomOptions&&this.options.zoomOptions.wheel},Blockly.WorkspaceSvg.prototype.isMovable=function(){return this.options.moveOptions&&this.options.moveOptions.scrollbars||this.options.moveOptions&&this.options.moveOptions.wheel||this.options.moveOptions&&this.options.moveOptions.drag||this.options.zoomOptions&&this.options.zoomOptions.wheel},Blockly.WorkspaceSvg.prototype.onMouseWheel_=function(e){if(Blockly.Gesture.inProgress())e.preventDefault(),e.stopPropagation();else{var t=this.options.zoomOptions&&this.options.zoomOptions.wheel,o=this.options.moveOptions&&this.options.moveOptions.wheel;if(t||o){var n=Blockly.utils.getScrollDeltaPixels(e);!t||!e.ctrlKey&&o?(t=this.scrollX-n.x,o=this.scrollY-n.y,e.shiftKey&&!n.x&&(t=this.scrollX-n.y,o=this.scrollY),this.scroll(t,o)):(n=-n.y/50,t=Blockly.utils.mouseToSvg(e,this.getParentSvg(),this.getInverseScreenCTM()),this.zoom(t.x,t.y,n)),e.preventDefault()}}},Blockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var e=this.getTopBlocks(!1),t=this.getTopComments(!1);if(!(e=e.concat(t)).length)return new Blockly.utils.Rect(0,0,0,0);t=e[0].getBoundingRectangle();for(var o=1;o<e.length;o++){var n=e[o].getBoundingRectangle();n.top<t.top&&(t.top=n.top),n.bottom>t.bottom&&(t.bottom=n.bottom),n.left<t.left&&(t.left=n.left),n.right>t.right&&(t.right=n.right)}return t},Blockly.WorkspaceSvg.prototype.cleanUp=function(){this.setResizesEnabled(!1),Blockly.Events.setGroup(!0);for(var e,t=this.getTopBlocks(!0),o=0,n=0;e=t[n];n++)if(e.isMovable()){var i=e.getRelativeToSurfaceXY();e.moveBy(-i.x,o-i.y),e.snapToGrid(),o=e.getRelativeToSurfaceXY().y+e.getHeightWidth().height+Blockly.BlockSvg.MIN_BLOCK_Y}Blockly.Events.setGroup(!1),this.setResizesEnabled(!0)},Blockly.WorkspaceSvg.prototype.showContextMenu_=function(e){function t(e){if(e.isDeletable())d=d.concat(e.getDescendants(!1));else{e=e.getChildren(!1);for(var o=0;o<e.length;o++)t(e[o])}}function o(){Blockly.Events.setGroup(r);var e=d.shift();e&&(e.workspace?(e.dispose(!1,!0),setTimeout(o,10)):o()),Blockly.Events.setGroup(!1)}if(!this.options.readOnly&&!this.isFlyout){var n=[],i=this.getTopBlocks(!0),r=Blockly.utils.genUid(),s=this,a={};if(a.text=Blockly.Msg.UNDO,a.enabled=0<this.undoStack_.length,a.callback=this.undo.bind(this,!1),n.push(a),(a={}).text=Blockly.Msg.REDO,a.enabled=0<this.redoStack_.length,a.callback=this.undo.bind(this,!0),n.push(a),this.isMovable()&&((a={}).text=Blockly.Msg.CLEAN_UP,a.enabled=1<i.length,a.callback=this.cleanUp.bind(this),n.push(a)),this.options.collapse){for(var l=a=!1,u=0;u<i.length;u++)for(var c=i[u];c;)c.isCollapsed()?a=!0:l=!0,c=c.getNextBlock();var h=function(e){for(var t=0,o=0;o<i.length;o++)for(var n=i[o];n;)setTimeout(n.setCollapsed.bind(n,e),t),n=n.getNextBlock(),t+=10};(l={enabled:l}).text=Blockly.Msg.COLLAPSE_ALL,l.callback=function(){h(!0)},n.push(l),(a={enabled:a}).text=Blockly.Msg.EXPAND_ALL,a.callback=function(){h(!1)},n.push(a)}var d=[];for(u=0;u<i.length;u++)t(i[u]);a={text:1==d.length?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(d.length)),enabled:0<d.length,callback:function(){s.currentGesture_&&s.currentGesture_.cancel(),2>d.length?o():Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace("%1",d.length),(function(e){e&&o()}))}},n.push(a),this.configureContextMenu&&this.configureContextMenu(n),Blockly.ContextMenu.show(e,n,this.RTL)}},Blockly.WorkspaceSvg.prototype.updateToolbox=function(e){if(e=Blockly.Options.parseToolboxTree(e)){if(!this.options.languageTree)throw Error("Existing toolbox is null.  Can't create new toolbox.");if(e.getElementsByTagName("category").length){if(!this.toolbox_)throw Error("Existing toolbox has no categories.  Can't change mode.");this.options.languageTree=e,e=this.toolbox_.populate_(e),this.toolbox_.addColour_(),this.toolbox_.position(),this.toolbox_.tree_.setSelectedItem(e)}else{if(!this.flyout_)throw Error("Existing toolbox has categories.  Can't change mode.");this.options.languageTree=e,this.flyout_.show(e.childNodes)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.")},Blockly.WorkspaceSvg.prototype.markFocused=function(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(Blockly.mainWorkspace=this,this.setBrowserFocus())},Blockly.WorkspaceSvg.prototype.setBrowserFocus=function(){document.activeElement&&document.activeElement.blur();try{this.getParentSvg().focus()}catch(e){try{this.getParentSvg().parentNode.setActive()}catch(e){this.getParentSvg().parentNode.focus()}}},Blockly.WorkspaceSvg.prototype.zoom=function(e,t,o){o=Math.pow(this.options.zoomOptions.scaleSpeed,o);var n=this.scale*o;if(this.scale!=n){n>this.options.zoomOptions.maxScale?o=this.options.zoomOptions.maxScale/this.scale:n<this.options.zoomOptions.minScale&&(o=this.options.zoomOptions.minScale/this.scale);var i=this.getCanvas().getCTM(),r=this.getParentSvg().createSVGPoint();r.x=e,r.y=t,e=(r=r.matrixTransform(i.inverse())).x,t=r.y,i=i.translate(e*(1-o),t*(1-o)).scale(o),this.scrollX=i.e,this.scrollY=i.f,this.setScale(n)}},Blockly.WorkspaceSvg.prototype.zoomCenter=function(e){var t=this.getMetrics();if(this.flyout_){var o=t.svgWidth/2;t=t.svgHeight/2}else o=t.viewWidth/2+t.absoluteLeft,t=t.viewHeight/2+t.absoluteTop;this.zoom(o,t,e)},Blockly.WorkspaceSvg.prototype.zoomToFit=function(){if(this.isMovable()){var e=this.getMetrics(),t=e.viewWidth;e=e.viewHeight;var o=this.getBlocksBoundingBox(),n=o.right-o.left;o=o.bottom-o.top,n&&(this.flyout_&&(this.horizontalLayout?(e+=this.flyout_.height_,o+=this.flyout_.height_/this.scale):(t+=this.flyout_.getWidth(),n+=this.flyout_.getWidth()/this.scale)),this.setScale(Math.min(t/n,e/o)),this.scrollCenter())}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.beginCanvasTransition=function(){Blockly.utils.dom.addClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning"),Blockly.utils.dom.addClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")},Blockly.WorkspaceSvg.prototype.endCanvasTransition=function(){Blockly.utils.dom.removeClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning"),Blockly.utils.dom.removeClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")},Blockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.isMovable()){var e=this.getMetrics(),t=(e.contentWidth-e.viewWidth)/2,o=(e.contentHeight-e.viewHeight)/2;t=-t-e.contentLeft,o=-o-e.contentTop,this.scroll(t,o)}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.centerOnBlock=function(e){if(this.isMovable()){if(e=this.getBlockById(e)){var t=e.getRelativeToSurfaceXY(),o=e.getHeightWidth(),n=this.scale;e=(t.x+(this.RTL?-1:1)*o.width/2)*n,t=(t.y+o.height/2)*n,e=-(e-(o=this.getMetrics()).contentLeft-o.viewWidth/2)-o.contentLeft,t=-(t-o.contentTop-o.viewHeight/2)-o.contentTop,Blockly.hideChaff(),this.scroll(e,t)}}else console.warn("Tried to move a non-movable workspace. This could result in blocks becoming inaccessible.")},Blockly.WorkspaceSvg.prototype.setScale=function(e){this.options.zoomOptions.maxScale&&e>this.options.zoomOptions.maxScale?e=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&e<this.options.zoomOptions.minScale&&(e=this.options.zoomOptions.minScale),this.scale=e,Blockly.hideChaff(!1),this.flyout_&&(this.flyout_.reflow(),this.recordDeleteAreas()),this.grid_&&this.grid_.update(this.scale),e=this.getMetrics(),this.scrollX-=e.absoluteLeft,this.scrollY-=e.absoluteTop,e.viewLeft+=e.absoluteLeft,e.viewTop+=e.absoluteTop,this.scroll(this.scrollX,this.scrollY),this.scrollbar&&(this.flyout_?(this.scrollbar.hScroll.resizeViewHorizontal(e),this.scrollbar.vScroll.resizeViewVertical(e)):(this.scrollbar.hScroll.resizeContentHorizontal(e),this.scrollbar.vScroll.resizeContentVertical(e)))},Blockly.WorkspaceSvg.prototype.scroll=function(e,t){Blockly.hideChaff(!0);var o=this.getMetrics(),n=o.contentWidth+o.contentLeft-o.viewWidth,i=o.contentHeight+o.contentTop-o.viewHeight;e=Math.min(e,-o.contentLeft),t=Math.min(t,-o.contentTop),e=Math.max(e,-n),t=Math.max(t,-i),this.scrollX=e,this.scrollY=t,this.scrollbar&&(this.scrollbar.hScroll.setHandlePosition(-(e+o.contentLeft)*this.scrollbar.hScroll.ratio_),this.scrollbar.vScroll.setHandlePosition(-(t+o.contentTop)*this.scrollbar.vScroll.ratio_)),e+=o.absoluteLeft,t+=o.absoluteTop,this.translate(e,t)},Blockly.WorkspaceSvg.getDimensionsPx_=function(e){var t=0,o=0;return e&&(t=e.getWidth(),o=e.getHeight()),{width:t,height:o}},Blockly.WorkspaceSvg.getContentDimensions_=function(e,t){return e.isContentBounded()?Blockly.WorkspaceSvg.getContentDimensionsBounded_(e,t):Blockly.WorkspaceSvg.getContentDimensionsExact_(e)},Blockly.WorkspaceSvg.getContentDimensionsExact_=function(e){var t=e.getBlocksBoundingBox(),o=e.scale;e=t.top*o;var n=t.bottom*o,i=t.left*o;return{top:e,bottom:n,left:i,right:t=t.right*o,width:t-i,height:n-e}},Blockly.WorkspaceSvg.getContentDimensionsBounded_=function(e,t){var o=Blockly.WorkspaceSvg.getContentDimensionsExact_(e),n=t.width,i=t.height,r=n/2,s=i/2,a=Math.min(o.left-r,o.right-n),l=Math.min(o.top-s,o.bottom-i);return{left:a,top:l,height:Math.max(o.bottom+s,o.top+i)-l,width:Math.max(o.right+r,o.left+n)-a}},Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_=function(){var e=Blockly.WorkspaceSvg.getDimensionsPx_(this.toolbox_),t=Blockly.WorkspaceSvg.getDimensionsPx_(this.flyout_),o=Blockly.svgSize(this.getParentSvg()),n={height:o.height,width:o.width};this.toolbox_?this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?n.height-=e.height:this.toolboxPosition!=Blockly.TOOLBOX_AT_LEFT&&this.toolboxPosition!=Blockly.TOOLBOX_AT_RIGHT||(n.width-=e.width):this.flyout_&&(this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?n.height-=t.height:this.toolboxPosition!=Blockly.TOOLBOX_AT_LEFT&&this.toolboxPosition!=Blockly.TOOLBOX_AT_RIGHT||(n.width-=t.width));var i=Blockly.WorkspaceSvg.getContentDimensions_(this,n),r=0;this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?r=e.width:this.flyout_&&this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT&&(r=t.width);var s=0;return this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?s=e.height:this.flyout_&&this.toolboxPosition==Blockly.TOOLBOX_AT_TOP&&(s=t.height),{contentHeight:i.height,contentWidth:i.width,contentTop:i.top,contentLeft:i.left,viewHeight:n.height,viewWidth:n.width,viewTop:-this.scrollY,viewLeft:-this.scrollX,absoluteTop:s,absoluteLeft:r,svgHeight:o.height,svgWidth:o.width,toolboxWidth:e.width,toolboxHeight:e.height,flyoutWidth:t.width,flyoutHeight:t.height,toolboxPosition:this.toolboxPosition}},Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_=function(e){var t=this.getMetrics();"number"==typeof e.x&&(this.scrollX=-t.contentWidth*e.x-t.contentLeft),"number"==typeof e.y&&(this.scrollY=-t.contentHeight*e.y-t.contentTop),this.translate(this.scrollX+t.absoluteLeft,this.scrollY+t.absoluteTop)},Blockly.WorkspaceSvg.prototype.setResizesEnabled=function(e){var t=!this.resizesEnabled_&&e;this.resizesEnabled_=e,t&&this.resizeContents()},Blockly.WorkspaceSvg.prototype.clear=function(){this.setResizesEnabled(!1),Blockly.WorkspaceSvg.superClass_.clear.call(this),this.setResizesEnabled(!0)},Blockly.WorkspaceSvg.prototype.registerButtonCallback=function(e,t){if("function"!=typeof t)throw TypeError("Button callbacks must be functions.");this.flyoutButtonCallbacks_[e]=t},Blockly.WorkspaceSvg.prototype.getButtonCallback=function(e){return(e=this.flyoutButtonCallbacks_[e])?e:null},Blockly.WorkspaceSvg.prototype.removeButtonCallback=function(e){this.flyoutButtonCallbacks_[e]=null},Blockly.WorkspaceSvg.prototype.registerToolboxCategoryCallback=function(e,t){if("function"!=typeof t)throw TypeError("Toolbox category callbacks must be functions.");this.toolboxCategoryCallbacks_[e]=t},Blockly.WorkspaceSvg.prototype.getToolboxCategoryCallback=function(e){return this.toolboxCategoryCallbacks_[e]||null},Blockly.WorkspaceSvg.prototype.removeToolboxCategoryCallback=function(e){this.toolboxCategoryCallbacks_[e]=null},Blockly.WorkspaceSvg.prototype.getGesture=function(e){var t="mousedown"==e.type||"touchstart"==e.type||"pointerdown"==e.type,o=this.currentGesture_;return o?t&&o.hasStarted()?(console.warn("Tried to start the same gesture twice."),o.cancel(),null):o:t?this.currentGesture_=new Blockly.TouchGesture(e,this):null},Blockly.WorkspaceSvg.prototype.clearGesture=function(){this.currentGesture_=null},Blockly.WorkspaceSvg.prototype.cancelCurrentGesture=function(){this.currentGesture_&&this.currentGesture_.cancel()},Blockly.WorkspaceSvg.prototype.getAudioManager=function(){return this.audioManager_},Blockly.WorkspaceSvg.prototype.getGrid=function(){return this.grid_},Blockly.WorkspaceSvg.prototype.setVisible=Blockly.WorkspaceSvg.prototype.setVisible,Blockly.Mutator=function(e){Blockly.Mutator.superClass_.constructor.call(this,null),this.quarkNames_=e},goog.inherits(Blockly.Mutator,Blockly.Icon),Blockly.Mutator.prototype.workspaceWidth_=0,Blockly.Mutator.prototype.workspaceHeight_=0,Blockly.Mutator.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconShape",rx:"4",ry:"4",height:"16",width:"16"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m4.203,7.296 0,1.368 -0.92,0.677 -0.11,0.41 0.9,1.559 0.41,0.11 1.043,-0.457 1.187,0.683 0.127,1.134 0.3,0.3 1.8,0 0.3,-0.299 0.127,-1.138 1.185,-0.682 1.046,0.458 0.409,-0.11 0.9,-1.559 -0.11,-0.41 -0.92,-0.677 0,-1.366 0.92,-0.677 0.11,-0.41 -0.9,-1.559 -0.409,-0.109 -1.046,0.458 -1.185,-0.682 -0.127,-1.138 -0.3,-0.299 -1.8,0 -0.3,0.3 -0.126,1.135 -1.187,0.682 -1.043,-0.457 -0.41,0.11 -0.899,1.559 0.108,0.409z"},e),Blockly.utils.dom.createSvgElement("circle",{class:"blocklyIconShape",r:"2.7",cx:"8",cy:"8"},e)},Blockly.Mutator.prototype.iconClick_=function(e){this.block_.isEditable()&&Blockly.Icon.prototype.iconClick_.call(this,e)},Blockly.Mutator.prototype.createEditor_=function(){if(this.svgDialog_=Blockly.utils.dom.createSvgElement("svg",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null),this.quarkNames_.length)for(var e,t=Blockly.utils.xml.createElement("xml"),o=0;e=this.quarkNames_[o];o++){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type",e),t.appendChild(n)}else t=null;return t={disable:!1,disabledPatternId:this.block_.workspace.options.disabledPatternId,languageTree:t,parentWorkspace:this.block_.workspace,pathToMedia:this.block_.workspace.options.pathToMedia,RTL:this.block_.RTL,toolboxPosition:this.block_.RTL?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT,horizontalLayout:!1,getMetrics:this.getFlyoutMetrics_.bind(this),setMetrics:null},this.workspace_=new Blockly.WorkspaceSvg(t),this.workspace_.isMutator=!0,this.workspace_.addChangeListener(Blockly.Events.disableOrphans),t=this.workspace_.addFlyout_("g"),(o=this.workspace_.createDom("blocklyMutatorBackground")).insertBefore(t,this.workspace_.svgBlockCanvas_),this.svgDialog_.appendChild(o),this.svgDialog_},Blockly.Mutator.prototype.updateEditable=function(){this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&Blockly.utils.dom.removeClass(this.iconGroup_,"blocklyIconGroupReadonly"):(this.setVisible(!1),this.iconGroup_&&Blockly.utils.dom.addClass(this.iconGroup_,"blocklyIconGroupReadonly"))),Blockly.Icon.prototype.updateEditable.call(this)},Blockly.Mutator.prototype.resizeBubble_=function(){var e=2*Blockly.Bubble.BORDER_WIDTH,t=this.workspace_.getCanvas().getBBox(),o=this.block_.RTL?-t.x:t.width+t.x;if(t=t.height+3*e,this.workspace_.flyout_){var n=this.workspace_.flyout_.getMetrics_();t=Math.max(t,n.contentHeight+20)}o+=3*e,(Math.abs(this.workspaceWidth_-o)>e||Math.abs(this.workspaceHeight_-t)>e)&&(this.workspaceWidth_=o,this.workspaceHeight_=t,this.bubble_.setBubbleSize(o+e,t+e),this.svgDialog_.setAttribute("width",this.workspaceWidth_),this.svgDialog_.setAttribute("height",this.workspaceHeight_)),this.block_.RTL&&(e="translate("+this.workspaceWidth_+",0)",this.workspace_.getCanvas().setAttribute("transform",e)),this.workspace_.resize()},Blockly.Mutator.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"mutatorOpen",!e,e)),e){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,null,null),this.bubble_.setSvgId(this.block_.id),(e=this.workspace_.options.languageTree)&&(this.workspace_.flyout_.init(this.workspace_),this.workspace_.flyout_.show(e.childNodes)),this.rootBlock_=this.block_.decompose(this.workspace_),e=this.rootBlock_.getDescendants(!1);for(var t,o=0;t=e[o];o++)t.render();if(this.rootBlock_.setMovable(!1),this.rootBlock_.setDeletable(!1),this.workspace_.flyout_?(e=2*this.workspace_.flyout_.CORNER_RADIUS,o=this.workspace_.getFlyout().getWidth()+e):o=e=16,this.block_.RTL&&(o=-o),this.rootBlock_.moveBy(o,e),this.block_.saveConnections){var n=this;this.block_.saveConnections(this.rootBlock_),this.sourceListener_=function(){n.block_.saveConnections(n.rootBlock_)},this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_(),this.workspace_.addChangeListener(this.workspaceChanged_.bind(this)),this.updateColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_&&(this.block_.workspace.removeChangeListener(this.sourceListener_),this.sourceListener_=null)},Blockly.Mutator.prototype.workspaceChanged_=function(e){if(e.type!=Blockly.Events.UI&&(e.type!=Blockly.Events.CHANGE||"disabled"!=e.element)){if(!this.workspace_.isDragging()){e=this.workspace_.getTopBlocks(!1);for(var t,o=0;t=e[o];o++){var n=t.getRelativeToSurfaceXY(),i=t.getHeightWidth();20>n.y+i.height&&t.moveBy(0,20-i.height-n.y)}}if(this.rootBlock_.workspace==this.workspace_){if(Blockly.Events.setGroup(!0),e=(e=(t=this.block_).mutationToDom())&&Blockly.Xml.domToText(e),o=t.rendered,t.rendered=!1,t.compose(this.rootBlock_),t.rendered=o,t.initSvg(),e!=(o=(o=t.mutationToDom())&&Blockly.Xml.domToText(o))){Blockly.Events.fire(new Blockly.Events.BlockChange(t,"mutation",null,e,o));var r=Blockly.Events.getGroup();setTimeout((function(){Blockly.Events.setGroup(r),t.bumpNeighbours_(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY)}t.rendered&&t.render(),this.workspace_.isDragging()||this.resizeBubble_(),Blockly.Events.setGroup(!1)}}},Blockly.Mutator.prototype.getFlyoutMetrics_=function(){return{viewHeight:this.workspaceHeight_,viewWidth:this.workspaceWidth_-this.workspace_.getFlyout().getWidth(),absoluteTop:0,absoluteLeft:this.workspace_.RTL?0:this.workspace_.getFlyout().getWidth()}},Blockly.Mutator.prototype.dispose=function(){this.block_.mutator=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Mutator.prototype.updateBlockStyle=function(){var e=this.workspace_;if(e&&e.getAllBlocks()){for(var t=e.getAllBlocks(),o=0;o<t.length;o++){var n=t[o];n.setStyle(n.getStyleName())}for(e=e.flyout_.workspace_.getAllBlocks(),o=0;o<e.length;o++)(n=e[o]).setStyle(n.getStyleName())}},Blockly.Mutator.reconnect=function(e,t,o){if(!e||!e.getSourceBlock().workspace)return!1;o=t.getInput(o).connection;var n=e.targetBlock();return!(n&&n!=t||o.targetConnection==e)&&(o.isConnected()&&o.disconnect(),o.connect(e),!0)},Blockly.Mutator.findParentWs=function(e){var t=null;if(e&&e.options){var o=e.options.parentWorkspace;e.isFlyout?o&&o.options&&(t=o.options.parentWorkspace):o&&(t=o)}return t},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.Mutator||(Blockly.utils.global.Blockly.Mutator={}),Blockly.utils.global.Blockly.Mutator.reconnect=Blockly.Mutator.reconnect,Blockly.Extensions={},Blockly.Extensions.ALL_={},Blockly.Extensions.register=function(e,t){if("string"!=typeof e||""==e.trim())throw Error('Error: Invalid extension name "'+e+'"');if(Blockly.Extensions.ALL_[e])throw Error('Error: Extension "'+e+'" is already registered.');if("function"!=typeof t)throw Error('Error: Extension "'+e+'" must be a function');Blockly.Extensions.ALL_[e]=t},Blockly.Extensions.registerMixin=function(e,t){if(!t||"object"!=typeof t)throw Error('Error: Mixin "'+e+'" must be a object');Blockly.Extensions.register(e,(function(){this.mixin(t)}))},Blockly.Extensions.registerMutator=function(e,t,o,n){var i='Error when registering mutator "'+e+'": ';Blockly.Extensions.checkHasFunction_(i,t.domToMutation,"domToMutation"),Blockly.Extensions.checkHasFunction_(i,t.mutationToDom,"mutationToDom");var r=Blockly.Extensions.checkMutatorDialog_(t,i);if(o&&"function"!=typeof o)throw Error('Extension "'+e+'" is not a function');Blockly.Extensions.register(e,(function(){r&&this.setMutator(new Blockly.Mutator(n)),this.mixin(t),o&&o.apply(this)}))},Blockly.Extensions.apply=function(e,t,o){var n=Blockly.Extensions.ALL_[e];if("function"!=typeof n)throw Error('Error: Extension "'+e+'" not found.');if(o)Blockly.Extensions.checkNoMutatorProperties_(e,t);else var i=Blockly.Extensions.getMutatorProperties_(t);if(n.apply(t),o)Blockly.Extensions.checkBlockHasMutatorProperties_('Error after applying mutator "'+e+'": ',t);else if(!Blockly.Extensions.mutatorPropertiesMatch_(i,t))throw Error('Error when applying extension "'+e+'": mutation properties changed when applying a non-mutator extension.')},Blockly.Extensions.checkHasFunction_=function(e,t,o){if(!t)throw Error(e+'missing required property "'+o+'"');if("function"!=typeof t)throw Error(e+'" required property "'+o+'" must be a function')},Blockly.Extensions.checkNoMutatorProperties_=function(e,t){if(Blockly.Extensions.getMutatorProperties_(t).length)throw Error('Error: tried to apply mutation "'+e+'" to a block that already has mutator functions.  Block id: '+t.id)},Blockly.Extensions.checkMutatorDialog_=function(e,t){var o=void 0!==e.compose,n=void 0!==e.decompose;if(o&&n){if("function"!=typeof e.compose)throw Error(t+"compose must be a function.");if("function"!=typeof e.decompose)throw Error(t+"decompose must be a function.");return!0}if(o||n)throw Error(t+'Must have both or neither of "compose" and "decompose"');return!1},Blockly.Extensions.checkBlockHasMutatorProperties_=function(e,t){if("function"!=typeof t.domToMutation)throw Error(e+'Applying a mutator didn\'t add "domToMutation"');if("function"!=typeof t.mutationToDom)throw Error(e+'Applying a mutator didn\'t add "mutationToDom"');Blockly.Extensions.checkMutatorDialog_(t,e)},Blockly.Extensions.getMutatorProperties_=function(e){var t=[];return void 0!==e.domToMutation&&t.push(e.domToMutation),void 0!==e.mutationToDom&&t.push(e.mutationToDom),void 0!==e.compose&&t.push(e.compose),void 0!==e.decompose&&t.push(e.decompose),t},Blockly.Extensions.mutatorPropertiesMatch_=function(e,t){var o=Blockly.Extensions.getMutatorProperties_(t);if(o.length!=e.length)return!1;for(var n=0;n<o.length;n++)if(e[n]!=o[n])return!1;return!0},Blockly.Extensions.buildTooltipForDropdown=function(e,t){var o=[];return"object"==typeof document&&Blockly.utils.runAfterPageLoad((function(){for(var e in t)Blockly.utils.checkMessageReferences(t[e])})),function(){this.type&&-1===o.indexOf(this.type)&&(Blockly.Extensions.checkDropdownOptionsInTable_(this,e,t),o.push(this.type)),this.setTooltip(function(){var n=this.getFieldValue(e),i=t[n];return null==i?-1===o.indexOf(this.type)&&(n="No tooltip mapping for value "+n+" of field "+e,null!=this.type&&(n+=" of block type "+this.type),console.warn(n+".")):i=Blockly.utils.replaceMessageReferences(i),i}.bind(this))}},Blockly.Extensions.checkDropdownOptionsInTable_=function(e,t,o){var n=e.getField(t);if(!n.isOptionListDynamic()){n=n.getOptions();for(var i=0;i<n.length;++i){var r=n[i][1];null==o[r]&&console.warn("No tooltip mapping for value "+r+" of field "+t+" of block type "+e.type)}}},Blockly.Extensions.buildTooltipWithFieldText=function(e,t){return"object"==typeof document&&Blockly.utils.runAfterPageLoad((function(){Blockly.utils.checkMessageReferences(e)})),function(){this.setTooltip(function(){var o=this.getField(t);return Blockly.utils.replaceMessageReferences(e).replace("%1",o?o.getText():"")}.bind(this))}},Blockly.Extensions.extensionParentTooltip_=function(){this.tooltipWhenNotConnected_=this.tooltip,this.setTooltip(function(){var e=this.getParent();return e&&e.getInputsInline()&&e.tooltip||this.tooltipWhenNotConnected_}.bind(this))},Blockly.Extensions.register("parent_tooltip_when_inline",Blockly.Extensions.extensionParentTooltip_),Blockly.Field=function(e,t){this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y),this.setValue(e),this.setValidator(t)},Blockly.Field.TYPE_MAP_={},Blockly.Field.register=function(e,t){if("string"!=typeof e||""==e.trim())throw Error('Invalid field type "'+e+'"');if(!t||"function"!=typeof t.fromJson)throw Error('Field "'+t+'" must have a fromJson function');Blockly.Field.TYPE_MAP_[e]=t},Blockly.Field.fromJson=function(e){var t=Blockly.Field.TYPE_MAP_[e.type];return t?t.fromJson(e):null},Blockly.Field.cacheWidths_=null,Blockly.Field.cacheReference_=0,Blockly.Field.prototype.name=void 0,Blockly.Field.prototype.maxDisplayLength=50,Blockly.Field.prototype.value_=null,Blockly.Field.prototype.text_="",Blockly.Field.prototype.tooltip_=null,Blockly.Field.prototype.sourceBlock_=null,Blockly.Field.prototype.isDirty_=!0,Blockly.Field.prototype.visible_=!0,Blockly.Field.prototype.validator_=null,Blockly.Field.prototype.clickTarget_=null,Blockly.Field.NBSP=" ",Blockly.Field.prototype.EDITABLE=!0,Blockly.Field.prototype.SERIALIZABLE=!1,Blockly.Field.prototype.setSourceBlock=function(e){if(this.sourceBlock_)throw Error("Field already bound to a block.");this.sourceBlock_=e},Blockly.Field.prototype.getSourceBlock=function(){return this.sourceBlock_},Blockly.Field.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.dom.createSvgElement("g",{},null),this.isVisible()||(this.fieldGroup_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.initView(),this.updateEditable(),this.setTooltip(this.tooltip_),this.bindEvents_(),this.initModel())},Blockly.Field.prototype.initView=function(){this.createBorderRect_(),this.createTextElement_()},Blockly.Field.prototype.createBorderRect_=function(){this.borderRect_=Blockly.utils.dom.createSvgElement("rect",{rx:4,ry:4,x:-Blockly.BlockSvg.SEP_SPACE_X/2,y:0,height:16,width:this.size_.width+Blockly.BlockSvg.SEP_SPACE_X},this.fieldGroup_)},Blockly.Field.prototype.createTextElement_=function(){this.textElement_=Blockly.utils.dom.createSvgElement("text",{class:"blocklyText",y:this.size_.height-12.5},this.fieldGroup_),this.textContent_=document.createTextNode(""),this.textElement_.appendChild(this.textContent_)},Blockly.Field.prototype.bindEvents_=function(){Blockly.Tooltip.bindMouseEvents(this.getClickTarget_()),this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.getClickTarget_(),"mousedown",this,this.onMouseDown_)},Blockly.Field.prototype.initModel=function(){},Blockly.Field.prototype.fromXml=function(e){this.setValue(e.textContent)},Blockly.Field.prototype.toXml=function(e){return e.textContent=this.getValue(),e},Blockly.Field.prototype.dispose=function(){Blockly.DropDownDiv.hideIfOwner(this),Blockly.WidgetDiv.hideIfOwner(this),this.mouseDownWrapper_&&Blockly.unbindEvent_(this.mouseDownWrapper_),Blockly.utils.dom.removeNode(this.fieldGroup_),this.disposed=!0},Blockly.Field.prototype.updateEditable=function(){var e=this.getClickTarget_();this.EDITABLE&&e&&(this.sourceBlock_.isEditable()?(Blockly.utils.dom.addClass(e,"blocklyEditableText"),Blockly.utils.dom.removeClass(e,"blocklyNonEditableText"),e.style.cursor=this.CURSOR):(Blockly.utils.dom.addClass(e,"blocklyNonEditableText"),Blockly.utils.dom.removeClass(e,"blocklyEditableText"),e.style.cursor=""))},Blockly.Field.prototype.isClickable=function(){return!!this.sourceBlock_&&this.sourceBlock_.isEditable()&&!!this.showEditor_&&"function"==typeof this.showEditor_},Blockly.Field.prototype.isCurrentlyEditable=function(){return this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()},Blockly.Field.prototype.isSerializable=function(){var e=!1;return this.name&&(this.SERIALIZABLE?e=!0:this.EDITABLE&&(console.warn("Detected an editable field that was not serializable. Please define SERIALIZABLE property as true on all editable custom fields. Proceeding with serialization."),e=!0)),e},Blockly.Field.prototype.isVisible=function(){return this.visible_},Blockly.Field.prototype.setVisible=function(e){if(this.visible_!=e){this.visible_=e;var t=this.getSvgRoot();t&&(t.style.display=e?"block":"none")}},Blockly.Field.prototype.setValidator=function(e){this.validator_=e},Blockly.Field.prototype.getValidator=function(){return this.validator_},Blockly.Field.prototype.classValidator=function(e){return e},Blockly.Field.prototype.callValidator=function(e){var t=this.classValidator(e);if(null===t)return null;if(void 0!==t&&(e=t),t=this.getValidator()){if(null===(t=t.call(this,e)))return null;void 0!==t&&(e=t)}return e},Blockly.Field.prototype.getSvgRoot=function(){return this.fieldGroup_},Blockly.Field.prototype.updateColour=function(){},Blockly.Field.prototype.render_=function(){this.textContent_.nodeValue=this.getDisplayText_(),this.updateSize_()},Blockly.Field.prototype.updateWidth=function(){console.warn("Deprecated call to updateWidth, call Blockly.Field.updateSize_ to force an update to the size of the field, or Blockly.Field.getCachedWidth() to check the size of the field."),this.updateSize_()},Blockly.Field.prototype.updateSize_=function(){var e=Blockly.Field.getCachedWidth(this.textElement_);this.borderRect_&&this.borderRect_.setAttribute("width",e+Blockly.BlockSvg.SEP_SPACE_X),this.size_.width=e},Blockly.Field.getCachedWidth=function(e){var t,o=e.textContent+"\n"+e.className.baseVal;if(Blockly.Field.cacheWidths_&&(t=Blockly.Field.cacheWidths_[o]))return t;try{t=Blockly.utils.userAgent.IE||Blockly.utils.userAgent.EDGE?e.getBBox().width:e.getComputedTextLength()}catch(t){return 8*e.textContent.length}return Blockly.Field.cacheWidths_&&(Blockly.Field.cacheWidths_[o]=t),t},Blockly.Field.startCache=function(){Blockly.Field.cacheReference_++,Blockly.Field.cacheWidths_||(Blockly.Field.cacheWidths_={})},Blockly.Field.stopCache=function(){Blockly.Field.cacheReference_--,Blockly.Field.cacheReference_||(Blockly.Field.cacheWidths_=null)},Blockly.Field.prototype.getSize=function(){return this.isVisible()?(this.isDirty_?(this.render_(),this.isDirty_=!1):this.visible_&&0==this.size_.width&&(console.warn("Deprecated use of setting size_.width to 0 to rerender a field. Set field.isDirty_ to true instead."),this.render_()),this.size_):new goog.math.Size(0,0)},Blockly.Field.prototype.getScaledBBox_=function(){var e=this.borderRect_.getBBox(),t=e.height*this.sourceBlock_.workspace.scale;e=e.width*this.sourceBlock_.workspace.scale;var o=this.getAbsoluteXY_();return{top:o.y,bottom:o.y+t,left:o.x,right:o.x+e}},Blockly.Field.prototype.getDisplayText_=function(){var e=this.text_;return e?(e.length>this.maxDisplayLength&&(e=e.substring(0,this.maxDisplayLength-2)+"…"),e=e.replace(/\s/g,Blockly.Field.NBSP),this.sourceBlock_.RTL&&(e+="‏"),e):Blockly.Field.NBSP},Blockly.Field.prototype.getText=function(){return this.text_},Blockly.Field.prototype.setText=function(e){null!==e&&((e=String(e))!==this.text_&&(this.text_=e,this.forceRerender()))},Blockly.Field.prototype.forceRerender=function(){this.isDirty_=!0,this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_())},Blockly.Field.prototype.setValue=function(e){if(null!==e){var t=this.doClassValidation_(e);if(!((e=this.processValidation_(e,t))instanceof Error)){if((t=this.getValidator())&&(t=t.call(this,e),(e=this.processValidation_(e,t))instanceof Error))return;(t=this.getValue())!==e&&(this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,t,e)),this.doValueUpdate_(e),this.isDirty_&&this.forceRerender())}}},Blockly.Field.prototype.processValidation_=function(e,t){return null===t?(this.doValueInvalid_(e),this.isDirty_&&this.forceRerender(),Error()):(void 0!==t&&(e=t),e)},Blockly.Field.prototype.getValue=function(){return this.value_},Blockly.Field.prototype.doClassValidation_=function(e){return this.classValidator(e)},Blockly.Field.prototype.doValueUpdate_=function(e){this.value_=e,this.isDirty_=!0,this.text_=String(e)},Blockly.Field.prototype.doValueInvalid_=function(e){},Blockly.Field.prototype.onMouseDown_=function(e){this.sourceBlock_&&this.sourceBlock_.workspace&&(e=this.sourceBlock_.workspace.getGesture(e))&&e.setStartField(this)},Blockly.Field.prototype.setTooltip=function(e){var t=this.getClickTarget_();t?t.tooltip=e||""===e?e:this.sourceBlock_:this.tooltip_=e},Blockly.Field.prototype.getClickTarget_=function(){return this.clickTarget_||this.getSvgRoot()},Blockly.Field.prototype.getAbsoluteXY_=function(){return goog.style.getPageOffset(this.borderRect_)},Blockly.Field.prototype.referencesVariables=function(){return!1},Blockly.FieldLabel=function(e,t){this.size_=new goog.math.Size(0,17.5),this.class_=t,null===(e=this.doClassValidation_(e))&&(e=""),this.setValue(e)},goog.inherits(Blockly.FieldLabel,Blockly.Field),Blockly.FieldLabel.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return new Blockly.FieldLabel(t,e.class)},Blockly.FieldLabel.prototype.EDITABLE=!1,Blockly.FieldLabel.prototype.initView=function(){this.createTextElement_(),this.textElement_.setAttribute("y",this.size_.height-5),this.class_&&Blockly.utils.dom.addClass(this.textElement_,this.class_)},Blockly.FieldLabel.prototype.doClassValidation_=function(e){return null==e?null:String(e)},Blockly.Field.register("field_label",Blockly.FieldLabel),Blockly.Input=function(e,t,o,n){if(e!=Blockly.DUMMY_INPUT&&!t)throw Error("Value inputs and statement inputs must have non-empty name.");this.type=e,this.name=t,this.sourceBlock_=o,this.connection=n,this.fieldRow=[]},Blockly.Input.prototype.align=Blockly.ALIGN_LEFT,Blockly.Input.prototype.visible_=!0,Blockly.Input.prototype.appendField=function(e,t){return this.insertFieldAt(this.fieldRow.length,e,t),this},Blockly.Input.prototype.insertFieldAt=function(e,t,o){if(0>e||e>this.fieldRow.length)throw Error("index "+e+" out of bounds.");return t||o?("string"==typeof t&&(t=new Blockly.FieldLabel(t)),t.setSourceBlock(this.sourceBlock_),this.sourceBlock_.rendered&&t.init(),t.name=o,t.prefixField&&(e=this.insertFieldAt(e,t.prefixField)),this.fieldRow.splice(e,0,t),++e,t.suffixField&&(e=this.insertFieldAt(e,t.suffixField)),this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_()),e):e},Blockly.Input.prototype.removeField=function(e){for(var t,o=0;t=this.fieldRow[o];o++)if(t.name===e)return t.dispose(),this.fieldRow.splice(o,1),void(this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_()));throw Error('Field "%s" not found.',e)},Blockly.Input.prototype.isVisible=function(){return this.visible_},Blockly.Input.prototype.setVisible=function(e){var t=[];if(this.visible_==e)return t;for(var o,n=(this.visible_=e)?"block":"none",i=0;o=this.fieldRow[i];i++)o.setVisible(e);return this.connection&&(e?t=this.connection.unhideAll():this.connection.hideAll(),i=this.connection.targetBlock())&&(i.getSvgRoot().style.display=n,e||(i.rendered=!1)),t},Blockly.Input.prototype.setCheck=function(e){if(!this.connection)throw Error("This input does not have a connection.");return this.connection.setCheck(e),this},Blockly.Input.prototype.setAlign=function(e){return this.align=e,this.sourceBlock_.rendered&&this.sourceBlock_.render(),this},Blockly.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var e=0;e<this.fieldRow.length;e++)this.fieldRow[e].init()},Blockly.Input.prototype.dispose=function(){for(var e,t=0;e=this.fieldRow[t];t++)e.dispose();this.connection&&this.connection.dispose(),this.sourceBlock_=null},Blockly.Warning=function(e){Blockly.Warning.superClass_.constructor.call(this,e),this.createIcon(),this.text_={}},goog.inherits(Blockly.Warning,Blockly.Icon),Blockly.Warning.prototype.collapseHidden=!1,Blockly.Warning.prototype.drawIcon_=function(e){Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},e),Blockly.utils.dom.createSvgElement("path",{class:"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},e),Blockly.utils.dom.createSvgElement("rect",{class:"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},e)},Blockly.Warning.textToDom_=function(e){var t=Blockly.utils.dom.createSvgElement("text",{class:"blocklyText blocklyBubbleText",y:Blockly.Bubble.BORDER_WIDTH},null);e=e.split("\n");for(var o=0;o<e.length;o++){var n=Blockly.utils.dom.createSvgElement("tspan",{dy:"1em",x:Blockly.Bubble.BORDER_WIDTH},t),i=document.createTextNode(e[o]);n.appendChild(i)}return t},Blockly.Warning.prototype.setVisible=function(e){if(e!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"warningOpen",!e,e)),e){if(e=Blockly.Warning.textToDom_(this.getText()),this.bubble_=new Blockly.Bubble(this.block_.workspace,e,this.block_.svgPath_,this.iconXY_,null,null),this.bubble_.setSvgId(this.block_.id),this.block_.RTL)for(var t,o=e.getBBox().width,n=0;t=e.childNodes[n];n++)t.setAttribute("text-anchor","end"),t.setAttribute("x",o+Blockly.Bubble.BORDER_WIDTH);this.updateColour(),e=this.bubble_.getBubbleSize(),this.bubble_.setBubbleSize(e.width,e.height)}else this.bubble_.dispose(),this.body_=this.bubble_=null},Blockly.Warning.prototype.bodyFocus_=function(e){this.bubble_.promote_()},Blockly.Warning.prototype.setText=function(e,t){this.text_[t]!=e&&(e?this.text_[t]=e:delete this.text_[t],this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)))},Blockly.Warning.prototype.getText=function(){var e,t=[];for(e in this.text_)t.push(this.text_[e]);return t.join("\n")},Blockly.Warning.prototype.dispose=function(){this.block_.warning=null,Blockly.Icon.prototype.dispose.call(this)},Blockly.Block=function(e,t,o){if(void 0!==Blockly.Generator.prototype[t])throw Error('Block prototypeName "'+t+'" conflicts with Blockly.Generator members.');if(this.id=o&&!e.getBlockById(o)?o:Blockly.utils.genUid(),e.blockDB_[this.id]=this,this.previousConnection=this.nextConnection=this.outputConnection=null,this.inputList=[],this.inputsInline=void 0,this.disabled=!1,this.tooltip="",this.contextMenu=!0,this.parentBlock_=null,this.childBlocks_=[],this.editable_=this.movable_=this.deletable_=!0,this.collapsed_=this.isShadow_=!1,this.comment=null,this.xy_=new Blockly.utils.Coordinate(0,0),this.workspace=e,this.isInFlyout=e.isFlyout,this.isInMutator=e.isMutator,this.RTL=e.RTL,this.isInsertionMarker_=!1,this.hat=void 0,t){if(this.type=t,!(o=Blockly.Blocks[t])||"object"!=typeof o)throw TypeError("Unknown block type: "+t);goog.mixin(this,o)}if(e.addTopBlock(this),e.addTypedBlock(this),"function"==typeof this.init&&this.init(),this.inputsInlineDefault=this.inputsInline,Blockly.Events.isEnabled()){(e=Blockly.Events.getGroup())||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.BlockCreate(this))}finally{e||Blockly.Events.setGroup(!1)}}"function"==typeof this.onchange&&this.setOnChange(this.onchange)},Blockly.Block.obtain=function(e,t){return console.warn("Deprecated call to Blockly.Block.obtain, use workspace.newBlock instead."),e.newBlock(t)},Blockly.Block.prototype.data=null,Blockly.Block.prototype.hue_=null,Blockly.Block.prototype.colour_="#000000",Blockly.Block.prototype.colourSecondary_=null,Blockly.Block.prototype.colourTertiary_=null,Blockly.Block.prototype.styleName_=null,Blockly.Block.prototype.dispose=function(e){if(this.workspace){this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_),this.unplug(e),Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockDelete(this)),Blockly.Events.disable();try{this.workspace&&(this.workspace.removeTopBlock(this),this.workspace.removeTypedBlock(this),delete this.workspace.blockDB_[this.id],this.workspace=null),Blockly.selected==this&&(Blockly.selected=null);for(var t=this.childBlocks_.length-1;0<=t;t--)this.childBlocks_[t].dispose(!1);t=0;for(var o;o=this.inputList[t];t++)o.dispose();this.inputList.length=0;var n=this.getConnections_(!0);for(t=0;t<n.length;t++){var i=n[t];i.isConnected()&&i.disconnect(),n[t].dispose()}}finally{Blockly.Events.enable()}}},Blockly.Block.prototype.initModel=function(){for(var e,t=0;e=this.inputList[t];t++)for(var o,n=0;o=e.fieldRow[n];n++)o.initModel&&o.initModel()},Blockly.Block.prototype.unplug=function(e){this.outputConnection?this.unplugFromRow_(e):this.previousConnection&&this.unplugFromStack_(e)},Blockly.Block.prototype.unplugFromRow_=function(e){var t=null;this.outputConnection.isConnected()&&(t=this.outputConnection.targetConnection,this.outputConnection.disconnect()),t&&e&&(e=this.getOnlyValueConnection_())&&e.isConnected()&&!e.targetBlock().isShadow()&&((e=e.targetConnection).checkType_(t)&&(e.disconnect(),t.connect(e)))},Blockly.Block.prototype.getOnlyValueConnection_=function(){for(var e=null,t=0;t<this.inputList.length;t++){var o=this.inputList[t].connection;if(o&&o.type==Blockly.INPUT_VALUE&&o.targetConnection){if(e)return null;e=o}}return e},Blockly.Block.prototype.unplugFromStack_=function(e){var t=null;this.previousConnection.isConnected()&&(t=this.previousConnection.targetConnection,this.previousConnection.disconnect());var o=this.getNextBlock();e&&o&&!o.isShadow()&&((e=this.nextConnection.targetConnection).disconnect(),t&&t.checkType_(e)&&t.connect(e))},Blockly.Block.prototype.getConnections_=function(e){e=[],this.outputConnection&&e.push(this.outputConnection),this.previousConnection&&e.push(this.previousConnection),this.nextConnection&&e.push(this.nextConnection);for(var t,o=0;t=this.inputList[o];o++)t.connection&&e.push(t.connection);return e},Blockly.Block.prototype.lastConnectionInStack=function(){for(var e=this.nextConnection;e;){var t=e.targetBlock();if(!t)return e;e=t.nextConnection}return null},Blockly.Block.prototype.bumpNeighbours_=function(){console.warn("Not expected to reach Block.bumpNeighbours_ function. BlockSvg.bumpNeighbours_ was expected to be called instead.")},Blockly.Block.prototype.getParent=function(){return this.parentBlock_},Blockly.Block.prototype.getInputWithBlock=function(e){for(var t,o=0;t=this.inputList[o];o++)if(t.connection&&t.connection.targetBlock()==e)return t;return null},Blockly.Block.prototype.getSurroundParent=function(){var e=this;do{var t=e;if(!(e=e.getParent()))return null}while(e.getNextBlock()==t);return e},Blockly.Block.prototype.getNextBlock=function(){return this.nextConnection&&this.nextConnection.targetBlock()},Blockly.Block.prototype.getPreviousBlock=function(){return this.previousConnection&&this.previousConnection.targetBlock()},Blockly.Block.prototype.getFirstStatementConnection=function(){for(var e,t=0;e=this.inputList[t];t++)if(e.connection&&e.connection.type==Blockly.NEXT_STATEMENT)return e.connection;return null},Blockly.Block.prototype.getRootBlock=function(){var e=this;do{var t=e;e=t.parentBlock_}while(e);return t},Blockly.Block.prototype.getChildren=function(e){if(!e)return this.childBlocks_;e=[];for(var t,o=0;t=this.inputList[o];o++)t.connection&&(t=t.connection.targetBlock())&&e.push(t);return(o=this.getNextBlock())&&e.push(o),e},Blockly.Block.prototype.setParent=function(e){if(e!=this.parentBlock_){if(this.parentBlock_){if(Blockly.utils.arrayRemove(this.parentBlock_.childBlocks_,this),this.previousConnection&&this.previousConnection.isConnected())throw Error("Still connected to previous block.");if(this.outputConnection&&this.outputConnection.isConnected())throw Error("Still connected to parent block.");this.parentBlock_=null}else this.workspace.removeTopBlock(this);(this.parentBlock_=e)?e.childBlocks_.push(this):this.workspace.addTopBlock(this)}},Blockly.Block.prototype.getDescendants=function(e){for(var t,o=[this],n=this.getChildren(e),i=0;t=n[i];i++)o.push.apply(o,t.getDescendants(e));return o},Blockly.Block.prototype.isDeletable=function(){return this.deletable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setDeletable=function(e){this.deletable_=e},Blockly.Block.prototype.isMovable=function(){return this.movable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setMovable=function(e){this.movable_=e},Blockly.Block.prototype.isDuplicatable=function(){return!this.workspace.hasBlockLimits()||this.workspace.isCapacityAvailable(Blockly.utils.getBlockTypeCounts(this,!0))},Blockly.Block.prototype.isShadow=function(){return this.isShadow_},Blockly.Block.prototype.setShadow=function(e){this.isShadow_=e},Blockly.Block.prototype.isInsertionMarker=function(){return this.isInsertionMarker_},Blockly.Block.prototype.setInsertionMarker=function(e){this.isInsertionMarker_=e},Blockly.Block.prototype.isEditable=function(){return this.editable_&&!(this.workspace&&this.workspace.options.readOnly)},Blockly.Block.prototype.setEditable=function(e){this.editable_=e,e=0;for(var t;t=this.inputList[e];e++)for(var o,n=0;o=t.fieldRow[n];n++)o.updateEditable()},Blockly.Block.prototype.setConnectionsHidden=function(e){if(!e&&this.isCollapsed()){if(this.outputConnection&&this.outputConnection.setHidden(e),this.previousConnection&&this.previousConnection.setHidden(e),this.nextConnection){this.nextConnection.setHidden(e);var t=this.nextConnection.targetBlock();t&&t.setConnectionsHidden(e)}}else for(var o=this.getConnections_(!0),n=0;t=o[n];n++)t.setHidden(e),t.isSuperior()&&(t=t.targetBlock())&&t.setConnectionsHidden(e)},Blockly.Block.prototype.getMatchingConnection=function(e,t){var o=this.getConnections_(!0),n=e.getConnections_(!0);if(o.length!=n.length)throw Error("Connection lists did not match in length.");for(var i=0;i<n.length;i++)if(n[i]==t)return o[i];return null},Blockly.Block.prototype.setHelpUrl=function(e){this.helpUrl=e},Blockly.Block.prototype.setTooltip=function(e){this.tooltip=e},Blockly.Block.prototype.getColour=function(){return this.colour_},Blockly.Block.prototype.getColourSecondary=function(){return this.colourSecondary_},Blockly.Block.prototype.getColourTertiary=function(){return this.colourTertiary_},Blockly.Block.prototype.getColourShadow=function(){var e=this.getColourSecondary();return e||Blockly.utils.colour.blend("white",this.getColour(),.6)},Blockly.Block.prototype.getColourBorder=function(){var e=this.getColourTertiary();return e?{colourBorder:e,colourLight:null,colourDark:null}:(e=this.getColour(),{colourBorder:null,colourLight:Blockly.utils.colour.blend("white",e,.3),colourDark:Blockly.utils.colour.blend("black",e,.2)})},Blockly.Block.prototype.getStyleName=function(){return this.styleName_},Blockly.Block.prototype.getHue=function(){return this.hue_},Blockly.Block.prototype.setColour=function(e){var t="string"==typeof e?Blockly.utils.replaceMessageReferences(e):e,o=Number(t);if(!isNaN(o)&&0<=o&&360>=o)this.hue_=o,this.colour_=Blockly.hueToHex(o);else{if(!(o=Blockly.utils.colour.parse(t)))throw o='Invalid colour: "'+t+'"',e!=t&&(o+=' (from "'+e+'")'),Error(o);this.colour_=o,this.hue_=null}},Blockly.Block.prototype.setStyle=function(e){var t=Blockly.getTheme();if(!t)throw Error("Trying to set block style to "+e+" before theme was defined via Blockly.setTheme().");if(t=t.getBlockStyle(e),this.styleName_=e,!t)throw Error("Invalid style name: "+e);this.colourSecondary_=t.colourSecondary,this.colourTertiary_=t.colourTertiary,this.hat=t.hat,this.setColour(t.colourPrimary)},Blockly.Block.prototype.setOnChange=function(e){if(e&&"function"!=typeof e)throw Error("onchange must be a function.");this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_),(this.onchange=e)&&(this.onchangeWrapper_=e.bind(this),this.workspace.addChangeListener(this.onchangeWrapper_))},Blockly.Block.prototype.getField=function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)if(n.name===e)return n;return null},Blockly.Block.prototype.getVars=function(){for(var e,t=[],o=0;e=this.inputList[o];o++)for(var n,i=0;n=e.fieldRow[i];i++)n.referencesVariables()&&t.push(n.getValue());return t},Blockly.Block.prototype.getVarModels=function(){for(var e,t=[],o=0;e=this.inputList[o];o++)for(var n,i=0;n=e.fieldRow[i];i++)n.referencesVariables()&&(n=this.workspace.getVariableById(n.getValue()))&&t.push(n);return t},Blockly.Block.prototype.updateVarName=function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)n.referencesVariables()&&e.getId()==n.getValue()&&n.setText(e.name)},Blockly.Block.prototype.renameVarById=function(e,t){for(var o,n=0;o=this.inputList[n];n++)for(var i,r=0;i=o.fieldRow[r];r++)i.referencesVariables()&&e==i.getValue()&&i.setValue(t)},Blockly.Block.prototype.getFieldValue=function(e){return(e=this.getField(e))?e.getValue():null},Blockly.Block.prototype.setFieldValue=function(e,t){var o=this.getField(t);if(!o)throw Error('Field "'+t+'" not found.');o.setValue(e)},Blockly.Block.prototype.setPreviousStatement=function(e,t){if(e){if(void 0===t&&(t=null),!this.previousConnection){if(this.outputConnection)throw Error("Remove output connection prior to adding previous connection.");this.previousConnection=this.makeConnection_(Blockly.PREVIOUS_STATEMENT)}this.previousConnection.setCheck(t)}else if(this.previousConnection){if(this.previousConnection.isConnected())throw Error("Must disconnect previous statement before removing connection.");this.previousConnection.dispose(),this.previousConnection=null}},Blockly.Block.prototype.setNextStatement=function(e,t){if(e)void 0===t&&(t=null),this.nextConnection||(this.nextConnection=this.makeConnection_(Blockly.NEXT_STATEMENT)),this.nextConnection.setCheck(t);else if(this.nextConnection){if(this.nextConnection.isConnected())throw Error("Must disconnect next statement before removing connection.");this.nextConnection.dispose(),this.nextConnection=null}},Blockly.Block.prototype.setOutput=function(e,t){if(e){if(void 0===t&&(t=null),!this.outputConnection){if(this.previousConnection)throw Error("Remove previous connection prior to adding output connection.");this.outputConnection=this.makeConnection_(Blockly.OUTPUT_VALUE)}this.outputConnection.setCheck(t)}else if(this.outputConnection){if(this.outputConnection.isConnected())throw Error("Must disconnect output value before removing connection.");this.outputConnection.dispose(),this.outputConnection=null}},Blockly.Block.prototype.setInputsInline=function(e){this.inputsInline!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"inline",null,this.inputsInline,e)),this.inputsInline=e)},Blockly.Block.prototype.getInputsInline=function(){if(null!=this.inputsInline)return this.inputsInline;for(var e=1;e<this.inputList.length;e++)if(this.inputList[e-1].type==Blockly.DUMMY_INPUT&&this.inputList[e].type==Blockly.DUMMY_INPUT)return!1;for(e=1;e<this.inputList.length;e++)if(this.inputList[e-1].type==Blockly.INPUT_VALUE&&this.inputList[e].type==Blockly.DUMMY_INPUT)return!0;return!1},Blockly.Block.prototype.setDisabled=function(e){console.warn("Deprecated call to Blockly.Block.prototype.setDisabled, use Blockly.Block.prototype.setEnabled instead."),this.setEnabled(!e)},Blockly.Block.prototype.isEnabled=function(){return!this.disabled},Blockly.Block.prototype.setEnabled=function(e){this.isEnabled()!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"disabled",null,this.disabled,!e)),this.disabled=!e)},Blockly.Block.prototype.getInheritedDisabled=function(){for(var e=this.getSurroundParent();e;){if(e.disabled)return!0;e=e.getSurroundParent()}return!1},Blockly.Block.prototype.isCollapsed=function(){return this.collapsed_},Blockly.Block.prototype.setCollapsed=function(e){this.collapsed_!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"collapsed",null,this.collapsed_,e)),this.collapsed_=e)},Blockly.Block.prototype.toString=function(e,t){var o=[],n=t||"?";if(this.collapsed_)o.push(this.getInput("_TEMP_COLLAPSED_INPUT").fieldRow[0].text_);else for(var i,r=0;i=this.inputList[r];r++){for(var s,a=0;s=i.fieldRow[a];a++)s instanceof Blockly.FieldDropdown&&!s.getValue()?o.push(n):o.push(s.getText());i.connection&&((i=i.connection.targetBlock())?o.push(i.toString(void 0,t)):o.push(n))}return o=o.join(" ").trim()||"???",e&&o.length>e&&(o=o.substring(0,e-3)+"..."),o},Blockly.Block.prototype.appendValueInput=function(e){return this.appendInput_(Blockly.INPUT_VALUE,e)},Blockly.Block.prototype.appendStatementInput=function(e){return this.appendInput_(Blockly.NEXT_STATEMENT,e)},Blockly.Block.prototype.appendDummyInput=function(e){return this.appendInput_(Blockly.DUMMY_INPUT,e||"")},Blockly.Block.prototype.jsonInit=function(e){var t=e.type?'Block "'+e.type+'": ':"";if(e.output&&e.previousStatement)throw Error(t+"Must not have both an output and a previousStatement.");if(e.style&&e.style.hat&&(this.hat=e.style.hat,e.style=null),e.style&&e.colour)throw Error(t+"Must not have both a colour and a style.");e.style?this.jsonInitStyle_(e,t):this.jsonInitColour_(e,t);for(var o=0;void 0!==e["message"+o];)this.interpolate_(e["message"+o],e["args"+o]||[],e["lastDummyAlign"+o]),o++;if(void 0!==e.inputsInline&&this.setInputsInline(e.inputsInline),void 0!==e.output&&this.setOutput(!0,e.output),void 0!==e.previousStatement&&this.setPreviousStatement(!0,e.previousStatement),void 0!==e.nextStatement&&this.setNextStatement(!0,e.nextStatement),void 0!==e.tooltip&&(o=e.tooltip,o=Blockly.utils.replaceMessageReferences(o),this.setTooltip(o)),void 0!==e.enableContextMenu&&(o=e.enableContextMenu,this.contextMenu=!!o),void 0!==e.helpUrl&&(o=e.helpUrl,o=Blockly.utils.replaceMessageReferences(o),this.setHelpUrl(o)),"string"==typeof e.extensions&&(console.warn(t+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+e.type+"' block."),e.extensions=[e.extensions]),void 0!==e.mutator&&Blockly.Extensions.apply(e.mutator,this,!0),Array.isArray(e.extensions))for(e=e.extensions,t=0;t<e.length;++t)Blockly.Extensions.apply(e[t],this,!1)},Blockly.Block.prototype.jsonInitColour_=function(e,t){if("colour"in e)if(void 0===e.colour)console.warn(t+"Undefined colour value.");else{var o=e.colour;try{this.setColour(o)}catch(e){console.warn(t+"Illegal colour value: ",o)}}},Blockly.Block.prototype.jsonInitStyle_=function(e,t){var o=e.style;try{this.setStyle(o)}catch(e){console.warn(t+"Style does not exist: ",o)}},Blockly.Block.prototype.mixin=function(e,t){if(void 0!==t&&"boolean"!=typeof t)throw Error("opt_disableCheck must be a boolean if provided");if(!t){var o,n=[];for(o in e)void 0!==this[o]&&n.push(o);if(n.length)throw Error("Mixin will overwrite block members: "+JSON.stringify(n))}goog.mixin(this,e)},Blockly.Block.prototype.interpolate_=function(e,t,o){var n=Blockly.utils.tokenizeInterpolation(e),i=[],r=0;e=[];for(var s=0;s<n.length;s++){var a=n[s];if("number"==typeof a){if(0>=a||a>t.length)throw Error('Block "'+this.type+'": Message index %'+a+" out of range.");if(i[a])throw Error('Block "'+this.type+'": Message index %'+a+" duplicated.");i[a]=!0,r++,e.push(t[a-1])}else(a=a.trim())&&e.push(a)}if(r!=t.length)throw Error('Block "'+this.type+'": Message does not reference all '+t.length+" arg(s).");for(e.length&&("string"==typeof e[e.length-1]||Blockly.utils.string.startsWith(e[e.length-1].type,"field_"))&&(s={type:"input_dummy"},o&&(s.align=o),e.push(s)),o={LEFT:Blockly.ALIGN_LEFT,RIGHT:Blockly.ALIGN_RIGHT,CENTRE:Blockly.ALIGN_CENTRE},t=[],s=0;s<e.length;s++)if("string"==typeof(i=e[s]))t.push([i,void 0]);else{n=r=null;do{if(a=!1,"string"==typeof i)r=new Blockly.FieldLabel(i);else switch(i.type){case"input_value":n=this.appendValueInput(i.name);break;case"input_statement":n=this.appendStatementInput(i.name);break;case"input_dummy":n=this.appendDummyInput(i.name);break;default:(r=Blockly.Field.fromJson(i))||(i.alt?(i=i.alt,a=!0):console.warn("Blockly could not create a field of type "+i.type+". You may need to register your custom field.  See github.com/google/blockly/issues/1584"))}}while(a);if(r)t.push([r,i.name]);else if(n){for(i.check&&n.setCheck(i.check),i.align&&n.setAlign(o[i.align]),i=0;i<t.length;i++)n.appendField(t[i][0],t[i][1]);t.length=0}}},Blockly.Block.prototype.appendInput_=function(e,t){var o=null;return e!=Blockly.INPUT_VALUE&&e!=Blockly.NEXT_STATEMENT||(o=this.makeConnection_(e)),o=new Blockly.Input(e,t,this,o),this.inputList.push(o),o},Blockly.Block.prototype.moveInputBefore=function(e,t){if(e!=t){for(var o,n=-1,i=t?-1:this.inputList.length,r=0;o=this.inputList[r];r++)if(o.name==e){if(n=r,-1!=i)break}else if(t&&o.name==t&&(i=r,-1!=n))break;if(-1==n)throw Error('Named input "'+e+'" not found.');if(-1==i)throw Error('Reference input "'+t+'" not found.');this.moveNumberedInputBefore(n,i)}},Blockly.Block.prototype.moveNumberedInputBefore=function(e,t){if(e==t)throw Error("Can't move input to itself.");if(e>=this.inputList.length)throw RangeError("Input index "+e+" out of bounds.");if(t>this.inputList.length)throw RangeError("Reference input "+t+" out of bounds.");var o=this.inputList[e];this.inputList.splice(e,1),e<t&&t--,this.inputList.splice(t,0,o)},Blockly.Block.prototype.removeInput=function(e,t){for(var o,n=0;o=this.inputList[n];n++)if(o.name==e){if(o.connection&&o.connection.isConnected()){o.connection.setShadowDom(null);var i=o.connection.targetBlock();i.isShadow()?i.dispose():i.unplug()}return o.dispose(),void this.inputList.splice(n,1)}if(!t)throw Error("Input not found: "+e)},Blockly.Block.prototype.getInput=function(e){for(var t,o=0;t=this.inputList[o];o++)if(t.name==e)return t;return null},Blockly.Block.prototype.getInputTargetBlock=function(e){return(e=this.getInput(e))&&e.connection&&e.connection.targetBlock()},Blockly.Block.prototype.getCommentText=function(){return this.comment||""},Blockly.Block.prototype.setCommentText=function(e){this.comment!=e&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"comment",null,this.comment,e||"")),this.comment=e)},Blockly.Block.prototype.setWarningText=function(e,t){},Blockly.Block.prototype.setMutator=function(e){},Blockly.Block.prototype.getRelativeToSurfaceXY=function(){return this.xy_},Blockly.Block.prototype.moveBy=function(e,t){if(this.parentBlock_)throw Error("Block has parent.");var o=new Blockly.Events.BlockMove(this);this.xy_.translate(e,t),o.recordNew(),Blockly.Events.fire(o)},Blockly.Block.prototype.makeConnection_=function(e){return new Blockly.Connection(this,e)},Blockly.Block.prototype.allInputsFilled=function(e){if(void 0===e&&(e=!0),!e&&this.isShadow())return!1;for(var t,o=0;t=this.inputList[o];o++)if(t.connection&&(!(t=t.connection.targetBlock())||!t.allInputsFilled(e)))return!1;return!(o=this.getNextBlock())||o.allInputsFilled(e)},Blockly.Block.prototype.toDevString=function(){var e=this.type?'"'+this.type+'" block':"Block";return this.id&&(e+=' (id="'+this.id+'")'),e},Blockly.BlockDragSurfaceSvg=function(e){this.container_=e,this.createDom()},Blockly.BlockDragSurfaceSvg.prototype.SVG_=null,Blockly.BlockDragSurfaceSvg.prototype.dragGroup_=null,Blockly.BlockDragSurfaceSvg.prototype.container_=null,Blockly.BlockDragSurfaceSvg.prototype.scale_=1,Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_=null,Blockly.BlockDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklyBlockDragSurface"},this.container_),this.dragGroup_=Blockly.utils.dom.createSvgElement("g",{},this.SVG_))},Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(e){if(this.dragGroup_.childNodes.length)throw Error("Already dragging a block.");this.dragGroup_.appendChild(e),this.SVG_.style.display="block",this.surfaceXY_=new Blockly.utils.Coordinate(0,0)},Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(e,t,o){this.scale_=o,e=e.toFixed(0),t=t.toFixed(0),this.dragGroup_.setAttribute("transform","translate("+e+","+t+") scale("+o+")")},Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var e=this.surfaceXY_.x,t=this.surfaceXY_.y;e=e.toFixed(0),t=t.toFixed(0),this.SVG_.style.display="block",Blockly.utils.dom.setCssTransform(this.SVG_,"translate3d("+e+"px, "+t+"px, 0px)")},Blockly.BlockDragSurfaceSvg.prototype.translateSurface=function(e,t){this.surfaceXY_=new Blockly.utils.Coordinate(e*this.scale_,t*this.scale_),this.translateSurfaceInternal_()},Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation=function(){var e=Blockly.utils.getRelativeXY(this.SVG_);return new Blockly.utils.Coordinate(e.x/this.scale_,e.y/this.scale_)},Blockly.BlockDragSurfaceSvg.prototype.getGroup=function(){return this.dragGroup_},Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock=function(){return this.dragGroup_.firstChild},Blockly.BlockDragSurfaceSvg.prototype.clearAndHide=function(e){if(e?e.appendChild(this.getCurrentBlock()):this.dragGroup_.removeChild(this.getCurrentBlock()),this.SVG_.style.display="none",this.dragGroup_.childNodes.length)throw Error("Drag group was not cleared.");this.surfaceXY_=null},Blockly.utils.uiMenu={},Blockly.utils.uiMenu.getSize=function(e){e=e.getElement();var t=goog.style.getSize(e);return t.height=e.scrollHeight,t},Blockly.utils.uiMenu.adjustBBoxesForRTL=function(e,t,o){t.left+=o.width,t.right+=o.width,e.left+=o.width,e.right+=o.width},Blockly.ContextMenu={},Blockly.ContextMenu.currentBlock=null,Blockly.ContextMenu.eventWrapper_=null,Blockly.ContextMenu.show=function(e,t,o){if(Blockly.WidgetDiv.show(Blockly.ContextMenu,o,null),t.length){var n=Blockly.ContextMenu.populate_(t,o);goog.events.listen(n,goog.ui.Component.EventType.ACTION,Blockly.ContextMenu.hide),Blockly.ContextMenu.position_(n,e,o),setTimeout((function(){n.getElement().focus()}),1),Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()},Blockly.ContextMenu.populate_=function(e,t){var o=new goog.ui.Menu;o.setRightToLeft(t);for(var n,i=0;n=e[i];i++){var r=new goog.ui.MenuItem(n.text);r.setRightToLeft(t),o.addChild(r,!0),r.setEnabled(n.enabled),n.enabled&&(goog.events.listen(r,goog.ui.Component.EventType.ACTION,n.callback),r.handleContextMenu=function(){goog.events.dispatchEvent(this,goog.ui.Component.EventType.ACTION)})}return o},Blockly.ContextMenu.position_=function(e,t,o){var n=Blockly.utils.getViewportBBox();t={top:t.clientY+n.top,bottom:t.clientY+n.top,left:t.clientX+n.left,right:t.clientX+n.left},Blockly.ContextMenu.createWidget_(e);var i=Blockly.utils.uiMenu.getSize(e);o&&Blockly.utils.uiMenu.adjustBBoxesForRTL(n,t,i),Blockly.WidgetDiv.positionWithAnchor(n,t,i,o),e.getElement().focus()},Blockly.ContextMenu.createWidget_=function(e){e.render(Blockly.WidgetDiv.DIV);var t=e.getElement();Blockly.utils.dom.addClass(t,"blocklyContextMenu"),Blockly.bindEventWithChecks_(t,"contextmenu",null,Blockly.utils.noEvent),e.setAllowAutoFocus(!0)},Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu),Blockly.ContextMenu.currentBlock=null,Blockly.ContextMenu.eventWrapper_&&Blockly.unbindEvent_(Blockly.ContextMenu.eventWrapper_)},Blockly.ContextMenu.callbackFactory=function(e,t){return function(){Blockly.Events.disable();try{var o=Blockly.Xml.domToBlock(t,e.workspace),n=e.getRelativeToSurfaceXY();n.x=e.RTL?n.x-Blockly.SNAP_RADIUS:n.x+Blockly.SNAP_RADIUS,n.y+=2*Blockly.SNAP_RADIUS,o.moveBy(n.x,n.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!o.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(o)),o.select()}},Blockly.ContextMenu.blockDeleteOption=function(e){var t=e.getDescendants(!1).length,o=e.getNextBlock();return o&&(t-=o.getDescendants(!1).length),{text:1==t?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(t)),enabled:!0,callback:function(){Blockly.Events.setGroup(!0),e.dispose(!0,!0),Blockly.Events.setGroup(!1)}}},Blockly.ContextMenu.blockHelpOption=function(e){return{enabled:!("function"==typeof e.helpUrl?!e.helpUrl():!e.helpUrl),text:Blockly.Msg.HELP,callback:function(){e.showHelp_()}}},Blockly.ContextMenu.blockDuplicateOption=function(e){var t=e.isDuplicatable();return{text:Blockly.Msg.DUPLICATE_BLOCK,enabled:t,callback:function(){Blockly.duplicate_(e)}}},Blockly.ContextMenu.blockCommentOption=function(e){var t={enabled:!Blockly.utils.userAgent.IE};return e.comment?(t.text=Blockly.Msg.REMOVE_COMMENT,t.callback=function(){e.setCommentText(null)}):(t.text=Blockly.Msg.ADD_COMMENT,t.callback=function(){e.setCommentText("")}),t},Blockly.ContextMenu.commentDeleteOption=function(e){return{text:Blockly.Msg.REMOVE_COMMENT,enabled:!0,callback:function(){Blockly.Events.setGroup(!0),e.dispose(!0,!0),Blockly.Events.setGroup(!1)}}},Blockly.ContextMenu.commentDuplicateOption=function(e){return{text:Blockly.Msg.DUPLICATE_COMMENT,enabled:!0,callback:function(){Blockly.duplicate_(e)}}},Blockly.ContextMenu.workspaceCommentOption=function(e,t){var o={enabled:!Blockly.utils.userAgent.IE};return o.text=Blockly.Msg.ADD_COMMENT,o.callback=function(){var o=new Blockly.WorkspaceCommentSvg(e,Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE),n=e.getInjectionDiv().getBoundingClientRect();n=new Blockly.utils.Coordinate(t.clientX-n.left,t.clientY-n.top);var i=e.getOriginOffsetInPixels();(n=Blockly.utils.Coordinate.difference(n,i)).scale(1/e.scale),o.moveBy(n.x,n.y),e.rendered&&(o.initSvg(),o.render(!1),o.select())},o},Blockly.BlockSvg=function(e,t,o){this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{},null),this.svgGroup_.translate_="",this.svgPathDark_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPathDark",transform:"translate(1,1)"},this.svgGroup_),this.svgPath_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPath"},this.svgGroup_),this.svgPathLight_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyPathLight"},this.svgGroup_),this.svgPath_.tooltip=this,this.rendered=!1,this.useDragSurface_=Blockly.utils.is3dSupported()&&!!e.blockDragSurface_,Blockly.Tooltip.bindMouseEvents(this.svgPath_),Blockly.BlockSvg.superClass_.constructor.call(this,e,t,o),this.svgGroup_.dataset&&(this.svgGroup_.dataset.id=this.id)},goog.inherits(Blockly.BlockSvg,Blockly.Block),Blockly.BlockSvg.prototype.height=0,Blockly.BlockSvg.prototype.width=0,Blockly.BlockSvg.prototype.dragStartXY_=null,Blockly.BlockSvg.prototype.warningTextDb_=null,Blockly.BlockSvg.INLINE=-1,Blockly.BlockSvg.COLLAPSED_WARNING_ID="TEMP_COLLAPSED_WARNING_",Blockly.BlockSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");for(var e,t=0;e=this.inputList[t];t++)e.init();for(e=this.getIcons(),t=0;t<e.length;t++)e[t].createIcon();this.updateColour(),this.updateMovable(),this.workspace.options.readOnly||this.eventsInit_||Blockly.bindEventWithChecks_(this.getSvgRoot(),"mousedown",this,this.onMouseDown_),this.eventsInit_=!0,this.getSvgRoot().parentNode||this.workspace.getCanvas().appendChild(this.getSvgRoot())},Blockly.BlockSvg.prototype.select=function(){if(this.isShadow()&&this.getParent())this.getParent().select();else if(Blockly.selected!=this){var e=null;if(Blockly.selected){e=Blockly.selected.id,Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}(e=new Blockly.Events.Ui(null,"selected",e,this.id)).workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=this,this.addSelect()}},Blockly.BlockSvg.prototype.unselect=function(){if(Blockly.selected==this){var e=new Blockly.Events.Ui(null,"selected",this.id,null);e.workspaceId=this.workspace.id,Blockly.Events.fire(e),Blockly.selected=null,this.removeSelect()}},Blockly.BlockSvg.prototype.mutator=null,Blockly.BlockSvg.prototype.comment=null,Blockly.BlockSvg.prototype.warning=null,Blockly.BlockSvg.prototype.getIcons=function(){var e=[];return this.mutator&&e.push(this.mutator),this.comment&&e.push(this.comment),this.warning&&e.push(this.warning),e},Blockly.BlockSvg.prototype.setParent=function(e){var t=this.parentBlock_;if(e!=t){Blockly.Field.startCache(),Blockly.BlockSvg.superClass_.setParent.call(this,e),Blockly.Field.stopCache();var o=this.getSvgRoot();if(!this.workspace.isClearing&&o){var n=this.getRelativeToSurfaceXY();e?(e.getSvgRoot().appendChild(o),e=this.getRelativeToSurfaceXY(),this.moveConnections_(e.x-n.x,e.y-n.y)):t&&(this.workspace.getCanvas().appendChild(o),this.translate(n.x,n.y))}}},Blockly.BlockSvg.prototype.getRelativeToSurfaceXY=function(){var e=0,t=0,o=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,n=this.getSvgRoot();if(n)do{var i=Blockly.utils.getRelativeXY(n);e+=i.x,t+=i.y,this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==n&&(e+=(i=this.workspace.blockDragSurface_.getSurfaceTranslation()).x,t+=i.y),n=n.parentNode}while(n&&n!=this.workspace.getCanvas()&&n!=o);return new Blockly.utils.Coordinate(e,t)},Blockly.BlockSvg.prototype.moveBy=function(e,t){if(this.parentBlock_)throw Error("Block has parent.");var o=Blockly.Events.isEnabled();if(o)var n=new Blockly.Events.BlockMove(this);var i=this.getRelativeToSurfaceXY();this.translate(i.x+e,i.y+t),this.moveConnections_(e,t),o&&(n.recordNew(),Blockly.Events.fire(n)),this.workspace.resizeContents()},Blockly.BlockSvg.prototype.translate=function(e,t){this.getSvgRoot().setAttribute("transform","translate("+e+","+t+")")},Blockly.BlockSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var e=this.getRelativeToSurfaceXY();this.clearTransformAttributes_(),this.workspace.blockDragSurface_.translateSurface(e.x,e.y),this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}},Blockly.BlockSvg.prototype.moveOffDragSurface_=function(e){this.useDragSurface_&&(this.translate(e.x,e.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))},Blockly.BlockSvg.prototype.moveDuringDrag=function(e){this.useDragSurface_?this.workspace.blockDragSurface_.translateSurface(e.x,e.y):(this.svgGroup_.translate_="translate("+e.x+","+e.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))},Blockly.BlockSvg.prototype.clearTransformAttributes_=function(){this.getSvgRoot().removeAttribute("transform")},Blockly.BlockSvg.prototype.snapToGrid=function(){if(this.workspace&&!this.workspace.isDragging()&&!this.getParent()&&!this.isInFlyout){var e=this.workspace.getGrid();if(e&&e.shouldSnap()){var t=e.getSpacing(),o=t/2,n=this.getRelativeToSurfaceXY();e=Math.round((n.x-o)/t)*t+o-n.x,t=Math.round((n.y-o)/t)*t+o-n.y,e=Math.round(e),t=Math.round(t),0==e&&0==t||this.moveBy(e,t)}}},Blockly.BlockSvg.prototype.getBoundingRectangle=function(){var e=this.getRelativeToSurfaceXY(this),t=this.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0,o=this.getHeightWidth(),n=e.y,i=e.y+o.height;if(this.RTL){var r=e.x-(o.width-t);e=e.x+t}else r=e.x-t,e=e.x+o.width-t;return new Blockly.utils.Rect(n,i,r,e)},Blockly.BlockSvg.prototype.setCollapsed=function(e){if(this.collapsed_!=e){for(var t,o=[],n=0;t=this.inputList[n];n++)o.push.apply(o,t.setVisible(!e));if(e){for(t=this.getIcons(),n=0;n<t.length;n++)t[n].setVisible(!1);n=this.toString(Blockly.COLLAPSE_CHARS),this.appendDummyInput("_TEMP_COLLAPSED_INPUT").appendField(n).init(),t=this.getDescendants(!0),(n=this.getNextBlock())&&(n=t.indexOf(n),t.splice(n,t.length-n)),n=1;for(var i;i=t[n];n++)if(i.warning){this.setWarningText(Blockly.Msg.COLLAPSED_WARNINGS_WARNING,Blockly.BlockSvg.COLLAPSED_WARNING_ID);break}}else this.removeInput("_TEMP_COLLAPSED_INPUT"),this.warning&&(this.warning.setText("",Blockly.BlockSvg.COLLAPSED_WARNING_ID),Object.keys(this.warning.text_).length||this.setWarningText(null));if(Blockly.BlockSvg.superClass_.setCollapsed.call(this,e),o.length||(o[0]=this),this.rendered)for(n=0;i=o[n];n++)i.render()}},Blockly.BlockSvg.prototype.tab=function(e,t){var o=this.createTabList_(),n=o.indexOf(e);-1==n&&(n=t?-1:o.length),(o=o[t?n+1:n-1])?o instanceof Blockly.Field?o.showEditor_():o.tab(null,t):(o=this.getParent())&&o.tab(this,t)},Blockly.BlockSvg.prototype.createTabList_=function(){for(var e,t=[],o=0;e=this.inputList[o];o++){for(var n,i=0;n=e.fieldRow[i];i++)n instanceof Blockly.FieldTextInput&&t.push(n);e.connection&&(e=e.connection.targetBlock())&&t.push(e)}return t},Blockly.BlockSvg.prototype.onMouseDown_=function(e){var t=this.workspace&&this.workspace.getGesture(e);t&&t.handleBlockStart(e,this)},Blockly.BlockSvg.prototype.showHelp_=function(){var e="function"==typeof this.helpUrl?this.helpUrl():this.helpUrl;e&&window.open(e)},Blockly.BlockSvg.prototype.generateContextMenu=function(){if(this.workspace.options.readOnly||!this.contextMenu)return null;var e=this,t=[];if(!this.isInFlyout){if(this.isDeletable()&&this.isMovable()&&t.push(Blockly.ContextMenu.blockDuplicateOption(e)),this.workspace.options.comments&&!this.collapsed_&&this.isEditable()&&t.push(Blockly.ContextMenu.blockCommentOption(e)),this.isMovable())if(this.collapsed_)this.workspace.options.collapse&&((o={enabled:!0}).text=Blockly.Msg.EXPAND_BLOCK,o.callback=function(){e.setCollapsed(!1)},t.push(o));else{for(var o=1;o<this.inputList.length;o++)if(this.inputList[o-1].type!=Blockly.NEXT_STATEMENT&&this.inputList[o].type!=Blockly.NEXT_STATEMENT){o={enabled:!0};var n=this.getInputsInline();o.text=n?Blockly.Msg.EXTERNAL_INPUTS:Blockly.Msg.INLINE_INPUTS,o.callback=function(){e.setInputsInline(!n)},t.push(o);break}this.workspace.options.collapse&&((o={enabled:!0}).text=Blockly.Msg.COLLAPSE_BLOCK,o.callback=function(){e.setCollapsed(!0)},t.push(o))}this.workspace.options.disable&&this.isEditable()&&(o={text:this.isEnabled()?Blockly.Msg.DISABLE_BLOCK:Blockly.Msg.ENABLE_BLOCK,enabled:!this.getInheritedDisabled(),callback:function(){var t=Blockly.Events.getGroup();t||Blockly.Events.setGroup(!0),e.setEnabled(!e.isEnabled()),t||Blockly.Events.setGroup(!1)}},t.push(o)),this.isDeletable()&&t.push(Blockly.ContextMenu.blockDeleteOption(e))}return t.push(Blockly.ContextMenu.blockHelpOption(e)),this.customContextMenu&&this.customContextMenu(t),t},Blockly.BlockSvg.prototype.showContextMenu_=function(e){var t=this.generateContextMenu();t&&t.length&&(Blockly.ContextMenu.show(e,t,this.RTL),Blockly.ContextMenu.currentBlock=this)},Blockly.BlockSvg.prototype.moveConnections_=function(e,t){if(this.rendered){for(var o=this.getConnections_(!1),n=0;n<o.length;n++)o[n].moveBy(e,t);for(o=this.getIcons(),n=0;n<o.length;n++)o[n].computeIconLocation();for(n=0;n<this.childBlocks_.length;n++)this.childBlocks_[n].moveConnections_(e,t)}},Blockly.BlockSvg.prototype.setDragging=function(e){if(e){var t=this.getSvgRoot();t.translate_="",t.skew_="",Blockly.draggingConnections_=Blockly.draggingConnections_.concat(this.getConnections_(!0)),Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDragging")}else Blockly.draggingConnections_=[],Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDragging");for(t=0;t<this.childBlocks_.length;t++)this.childBlocks_[t].setDragging(e)},Blockly.BlockSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggable")},Blockly.BlockSvg.prototype.setMovable=function(e){Blockly.BlockSvg.superClass_.setMovable.call(this,e),this.updateMovable()},Blockly.BlockSvg.prototype.setEditable=function(e){Blockly.BlockSvg.superClass_.setEditable.call(this,e),e=this.getIcons();for(var t=0;t<e.length;t++)e[t].updateEditable()},Blockly.BlockSvg.prototype.setShadow=function(e){Blockly.BlockSvg.superClass_.setShadow.call(this,e),this.updateColour()},Blockly.BlockSvg.prototype.setInsertionMarker=function(e){this.isInsertionMarker_!=e&&(this.isInsertionMarker_=e)&&(this.setColour(Blockly.INSERTION_MARKER_COLOUR),Blockly.utils.dom.addClass(this.svgGroup_,"blocklyInsertionMarker"))},Blockly.BlockSvg.prototype.getSvgRoot=function(){return this.svgGroup_},Blockly.BlockSvg.prototype.dispose=function(e,t){if(this.workspace){Blockly.Tooltip.hide(),Blockly.Field.startCache();var o,n=this.workspace;if(Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture()),Blockly.ContextMenu.currentBlock==this&&Blockly.ContextMenu.hide(),t&&this.rendered&&(this.unplug(e),Blockly.blockAnimations.disposeUiEffect(this)),this.rendered=!1,this.warningTextDb_){for(var i in this.warningTextDb_)clearTimeout(this.warningTextDb_[i]);this.warningTextDb_=null}this.unplug(e),Blockly.Events.isEnabled()&&(o=new Blockly.Events.BlockDelete(this)),Blockly.Events.disable();try{var r=this.getIcons();for(i=0;i<r.length;i++)r[i].dispose();Blockly.BlockSvg.superClass_.dispose.call(this,e)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&o&&Blockly.Events.fire(o),Blockly.utils.dom.removeNode(this.svgGroup_),n.resizeContents(),this.svgPathDark_=this.svgPathLight_=this.svgPath_=this.svgGroup_=null,Blockly.Field.stopCache()}},Blockly.BlockSvg.prototype.updateColour=function(){if(this.isEnabled()){this.isShadow()?this.setShadowColour_():(this.setBorderColour_(),this.svgPath_.setAttribute("fill",this.getColour()));for(var e=this.getIcons(),t=0;t<e.length;t++)e[t].updateColour();for(e=0;t=this.inputList[e];e++)for(var o,n=0;o=t.fieldRow[n];n++)o.updateColour()}},Blockly.BlockSvg.prototype.setBorderColour_=function(){var e=this.getColourBorder();e.colourBorder?(this.svgPathLight_.style.display="none",this.svgPathDark_.style.display="none",this.svgPath_.setAttribute("stroke",e.colourBorder)):(this.svgPathLight_.style.display="",this.svgPathDark_.style.display="",this.svgPath_.setAttribute("stroke","none"),this.svgPathLight_.setAttribute("stroke",e.colourLight),this.svgPathDark_.setAttribute("fill",e.colourDark))},Blockly.BlockSvg.prototype.setShadowColour_=function(){var e=this.getColourShadow();return this.svgPathLight_.style.display="none",this.svgPathDark_.setAttribute("fill",e),this.svgPath_.setAttribute("stroke","none"),this.svgPath_.setAttribute("fill",e),e},Blockly.BlockSvg.prototype.updateDisabled=function(){!this.isEnabled()||this.getInheritedDisabled()?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDisabled")&&this.svgPath_.setAttribute("fill","url(#"+this.workspace.options.disabledPatternId+")"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDisabled")&&this.updateColour();for(var e,t=this.getChildren(!1),o=0;e=t[o];o++)e.updateDisabled()},Blockly.BlockSvg.prototype.getCommentText=function(){return this.comment?this.comment.getText().replace(/\s+$/,"").replace(/ +\n/g,"\n"):""},Blockly.BlockSvg.prototype.setCommentText=function(e){var t=!1;"string"==typeof e?(this.comment||(this.comment=new Blockly.Comment(this),t=!0),this.comment.setText(e)):this.comment&&(this.comment.dispose(),t=!0),t&&this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setWarningText=function(e,t){this.warningTextDb_||(this.warningTextDb_=Object.create(null));var o=t||"";if(o)this.warningTextDb_[o]&&(clearTimeout(this.warningTextDb_[o]),delete this.warningTextDb_[o]);else for(var n in this.warningTextDb_)clearTimeout(this.warningTextDb_[n]),delete this.warningTextDb_[n];if(this.workspace.isDragging()){var i=this;this.warningTextDb_[o]=setTimeout((function(){i.workspace&&(delete i.warningTextDb_[o],i.setWarningText(e,o))}),100)}else{this.isInFlyout&&(e=null),n=this.getSurroundParent();for(var r=null;n;)n.isCollapsed()&&(r=n),n=n.getSurroundParent();r&&r.setWarningText(Blockly.Msg.COLLAPSED_WARNINGS_WARNING,Blockly.BlockSvg.COLLAPSED_WARNING_ID),n=!1,"string"==typeof e?(this.warning||(this.warning=new Blockly.Warning(this),n=!0),this.warning.setText(e,o)):this.warning&&!o?(this.warning.dispose(),n=!0):this.warning&&(n=this.warning.getText(),this.warning.setText("",o),(r=this.warning.getText())||this.warning.dispose(),n=n!=r),n&&this.rendered&&(this.render(),this.bumpNeighbours_())}},Blockly.BlockSvg.prototype.setMutator=function(e){this.mutator&&this.mutator!==e&&this.mutator.dispose(),e&&(e.block_=this,this.mutator=e,e.createIcon())},Blockly.BlockSvg.prototype.setDisabled=function(e){console.warn("Deprecated call to Blockly.BlockSvg.prototype.setDisabled, use Blockly.BlockSvg.prototype.setEnabled instead."),this.setEnabled(!e)},Blockly.BlockSvg.prototype.setEnabled=function(e){this.isEnabled()!=e&&(Blockly.BlockSvg.superClass_.setEnabled.call(this,e),this.rendered&&this.updateDisabled())},Blockly.BlockSvg.prototype.setHighlighted=function(e){this.rendered&&(e?(this.svgPath_.setAttribute("filter","url(#"+this.workspace.options.embossFilterId+")"),this.svgPathLight_.style.display="none"):(this.svgPath_.setAttribute("filter","none"),this.svgPathLight_.style.display="inline"))},Blockly.BlockSvg.prototype.addSelect=function(){Blockly.utils.dom.addClass(this.svgGroup_,"blocklySelected")},Blockly.BlockSvg.prototype.removeSelect=function(){Blockly.utils.dom.removeClass(this.svgGroup_,"blocklySelected")},Blockly.BlockSvg.prototype.setDeleteStyle=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyDraggingDelete")},Blockly.BlockSvg.prototype.setColour=function(e){Blockly.BlockSvg.superClass_.setColour.call(this,e),this.rendered&&this.updateColour()},Blockly.BlockSvg.prototype.bringToFront=function(){var e=this;do{var t=e.getSvgRoot();t.parentNode.appendChild(t),e=e.getParent()}while(e)},Blockly.BlockSvg.prototype.setPreviousStatement=function(e,t){Blockly.BlockSvg.superClass_.setPreviousStatement.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setNextStatement=function(e,t){Blockly.BlockSvg.superClass_.setNextStatement.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setOutput=function(e,t){Blockly.BlockSvg.superClass_.setOutput.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.setInputsInline=function(e){Blockly.BlockSvg.superClass_.setInputsInline.call(this,e),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.removeInput=function(e,t){Blockly.BlockSvg.superClass_.removeInput.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.moveNumberedInputBefore=function(e,t){Blockly.BlockSvg.superClass_.moveNumberedInputBefore.call(this,e,t),this.rendered&&(this.render(),this.bumpNeighbours_())},Blockly.BlockSvg.prototype.appendInput_=function(e,t){var o=Blockly.BlockSvg.superClass_.appendInput_.call(this,e,t);return this.rendered&&(this.render(),this.bumpNeighbours_()),o},Blockly.BlockSvg.prototype.getConnections_=function(e){var t=[];if((e||this.rendered)&&(this.outputConnection&&t.push(this.outputConnection),this.previousConnection&&t.push(this.previousConnection),this.nextConnection&&t.push(this.nextConnection),e||!this.collapsed_)){e=0;for(var o;o=this.inputList[e];e++)o.connection&&t.push(o.connection)}return t},Blockly.BlockSvg.prototype.makeConnection_=function(e){return new Blockly.RenderedConnection(this,e)},Blockly.BlockSvg.prototype.bumpNeighbours_=function(){if(this.workspace&&!this.workspace.isDragging()){var e=this.getRootBlock();if(!e.isInFlyout)for(var t,o=this.getConnections_(!1),n=0;t=o[n];n++){t.isConnected()&&t.isSuperior()&&t.targetBlock().bumpNeighbours_();for(var i,r=t.neighbours_(Blockly.SNAP_RADIUS),s=0;i=r[s];s++)t.isConnected()&&i.isConnected()||i.getSourceBlock().getRootBlock()!=e&&(t.isSuperior()?i.bumpAwayFrom_(t):t.bumpAwayFrom_(i))}}},Blockly.BlockSvg.prototype.scheduleSnapAndBump=function(){var e=this,t=Blockly.Events.getGroup();setTimeout((function(){Blockly.Events.setGroup(t),e.snapToGrid(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY/2),setTimeout((function(){Blockly.Events.setGroup(t),e.bumpNeighbours_(),Blockly.Events.setGroup(!1)}),Blockly.BUMP_DELAY)},Blockly.BlockSvg.render={},Blockly.BlockSvg.PathObject=function(){this.steps=[],this.highlightSteps=[],this.inlineSteps=[],this.highlightInlineSteps=[]},Blockly.BlockSvg.SEP_SPACE_X=10,Blockly.BlockSvg.SEP_SPACE_Y=10,Blockly.BlockSvg.INLINE_PADDING_Y=5,Blockly.BlockSvg.MIN_BLOCK_Y=25,Blockly.BlockSvg.TAB_HEIGHT=20,Blockly.BlockSvg.TAB_WIDTH=8,Blockly.BlockSvg.NOTCH_WIDTH=30,Blockly.BlockSvg.CORNER_RADIUS=8,Blockly.BlockSvg.START_HAT=!1,Blockly.BlockSvg.START_HAT_HEIGHT=15,Blockly.BlockSvg.START_HAT_PATH="c 30,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 70,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 100,0",Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR="c 17.8,-9.2 45.3,-14.9 75,-8.7 M 100.5,0.5",Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL="m 25,-8.7 c 29.7,-6.2 57.2,-0.5 75,8.7",Blockly.BlockSvg.DISTANCE_45_INSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS-.5)+.5,Blockly.BlockSvg.DISTANCE_45_OUTSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS+.5)-.5,Blockly.BlockSvg.NOTCH_PATH_LEFT="l 6,4 3,0 6,-4",Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT="l 6,4 3,0 6,-4",Blockly.BlockSvg.NOTCH_PATH_RIGHT="l -6,4 -3,0 -6,-4",Blockly.BlockSvg.JAGGED_TEETH="l 8,0 0,4 8,4 -16,8 8,4",Blockly.BlockSvg.JAGGED_TEETH_HEIGHT=20,Blockly.BlockSvg.JAGGED_TEETH_WIDTH=15,Blockly.BlockSvg.TAB_PATH_DOWN="v 5 c 0,10 -"+Blockly.BlockSvg.TAB_WIDTH+",-8 -"+Blockly.BlockSvg.TAB_WIDTH+",7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",-2.5 "+Blockly.BlockSvg.TAB_WIDTH+",7.5",Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL="v 6.5 m -"+.97*Blockly.BlockSvg.TAB_WIDTH+",3 q -"+.05*Blockly.BlockSvg.TAB_WIDTH+",10 "+.3*Blockly.BlockSvg.TAB_WIDTH+",9.5 m "+.67*Blockly.BlockSvg.TAB_WIDTH+",-1.9 v 1.4",Blockly.BlockSvg.TOP_LEFT_CORNER_START="m 0,"+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL="m "+Blockly.BlockSvg.DISTANCE_45_INSIDE+","+Blockly.BlockSvg.DISTANCE_45_INSIDE,Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR="m 0.5,"+(Blockly.BlockSvg.CORNER_RADIUS-.5),Blockly.BlockSvg.TOP_LEFT_CORNER="A "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0",Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT="A "+(Blockly.BlockSvg.CORNER_RADIUS-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0.5",Blockly.BlockSvg.INNER_TOP_LEFT_CORNER=Blockly.BlockSvg.NOTCH_PATH_RIGHT+" h -"+(Blockly.BlockSvg.NOTCH_WIDTH-15-Blockly.BlockSvg.CORNER_RADIUS)+" a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 -"+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS,Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+(-Blockly.BlockSvg.DISTANCE_45_OUTSIDE-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE),Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5),Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)+","+(Blockly.BlockSvg.DISTANCE_45_OUTSIDE+.5),Blockly.BlockSvg.prototype.getHeightWidth=function(){var e=this.height,t=this.width,o=this.getNextBlock();return o?(e+=(o=o.getHeightWidth()).height-4,t=Math.max(t,o.width)):this.nextConnection||this.outputConnection||(e+=2),{height:e,width:t}},Blockly.BlockSvg.prototype.render=function(e){Blockly.Field.startCache(),this.rendered=!0;var t=Blockly.BlockSvg.SEP_SPACE_X;this.RTL&&(t=-t);for(var o=this.getIcons(),n=0;n<o.length;n++)t=o[n].renderIcon(t);t+=this.RTL?Blockly.BlockSvg.SEP_SPACE_X:-Blockly.BlockSvg.SEP_SPACE_X,o=this.renderCompute_(t),this.renderDraw_(t,o),this.renderMoveConnections_(),!1!==e&&((e=this.getParent())?e.render(!0):this.workspace.resizeContents()),Blockly.Field.stopCache()},Blockly.BlockSvg.prototype.renderFields_=function(e,t,o){o+=Blockly.BlockSvg.INLINE_PADDING_Y,this.RTL&&(t=-t);for(var n,i=0;n=e[i];i++){var r=n.getSvgRoot();if(r){var s="";if(this.RTL){var a=t-=n.renderSep+n.renderWidth;n.renderWidth&&(t-=Blockly.BlockSvg.SEP_SPACE_X)}else a=t+n.renderSep,n.renderWidth&&(t+=n.renderSep+n.renderWidth+Blockly.BlockSvg.SEP_SPACE_X);this.RTL&&n instanceof Blockly.FieldImage&&n.getFlipRtl()&&(s="scale(-1 1)",a+=n.renderWidth),r.setAttribute("transform","translate("+a+","+o+")"+s),this.isInsertionMarker()&&r.setAttribute("display","none")}}return this.RTL?-t:t},Blockly.BlockSvg.prototype.renderCompute_=function(e){var t=this.inputList,o=[];o.rightEdge=e+2*Blockly.BlockSvg.SEP_SPACE_X,(this.previousConnection||this.nextConnection)&&(o.rightEdge=Math.max(o.rightEdge,Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.SEP_SPACE_X));for(var n,i=0,r=0,s=!1,a=!1,l=!1,u=void 0,c=this.getInputsInline()&&!this.isCollapsed(),h=0;n=t[h];h++)if(n.isVisible()){if(c&&u&&u!=Blockly.NEXT_STATEMENT&&n.type!=Blockly.NEXT_STATEMENT)var d=o[o.length-1];else u=n.type,(d=[]).type=c&&n.type!=Blockly.NEXT_STATEMENT?Blockly.BlockSvg.INLINE:n.type,d.height=0,o.push(d);if(d.push(n),n.renderHeight=Blockly.BlockSvg.MIN_BLOCK_Y,n.renderWidth=c&&n.type==Blockly.INPUT_VALUE?Blockly.BlockSvg.TAB_WIDTH+1.25*Blockly.BlockSvg.SEP_SPACE_X:0,n.connection&&n.connection.isConnected()){var g=n.connection.targetBlock().getHeightWidth();n.renderHeight=Math.max(n.renderHeight,g.height),n.renderWidth=Math.max(n.renderWidth,g.width)}c||h!=t.length-1?!c&&n.type==Blockly.INPUT_VALUE&&t[h+1]&&t[h+1].type==Blockly.NEXT_STATEMENT&&n.renderHeight--:n.renderHeight--,d.height=Math.max(d.height,n.renderHeight),n.fieldWidth=0,1==o.length&&(n.fieldWidth+=this.RTL?-e:e),g=!1;for(var p,f=0;p=n.fieldRow[f];f++){0!=f&&(n.fieldWidth+=Blockly.BlockSvg.SEP_SPACE_X);var m=p.getSize();p.renderWidth=m.width,p.renderSep=g&&p.EDITABLE?Blockly.BlockSvg.SEP_SPACE_X:0,n.fieldWidth+=p.renderWidth+p.renderSep,d.height=Math.max(d.height,m.height),g=p.EDITABLE}d.type!=Blockly.BlockSvg.INLINE&&(d.type==Blockly.NEXT_STATEMENT?(a=!0,r=Math.max(r,n.fieldWidth)):(d.type==Blockly.INPUT_VALUE?s=!0:d.type==Blockly.DUMMY_INPUT&&(l=!0),i=Math.max(i,n.fieldWidth)))}for(e=0;d=o[e];e++)if(d.thicker=!1,d.type==Blockly.BlockSvg.INLINE)for(t=0;n=d[t];t++)if(n.type==Blockly.INPUT_VALUE){d.height+=2*Blockly.BlockSvg.INLINE_PADDING_Y,d.thicker=!0;break}return o.statementEdge=2*Blockly.BlockSvg.SEP_SPACE_X+r,a&&(o.rightEdge=Math.max(o.rightEdge,o.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH)),s?o.rightEdge=Math.max(o.rightEdge,i+2*Blockly.BlockSvg.SEP_SPACE_X+Blockly.BlockSvg.TAB_WIDTH):l&&(o.rightEdge=Math.max(o.rightEdge,i+2*Blockly.BlockSvg.SEP_SPACE_X)),o.hasValue=s,o.hasStatement=a,o.hasDummy=l,o},Blockly.BlockSvg.prototype.renderDraw_=function(e,t){if(this.startHat_=!1,this.height=0,this.outputConnection)this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!0;else{var o=this.hat?"cap"===this.hat:Blockly.BlockSvg.START_HAT;this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!1,this.previousConnection?(o=this.previousConnection.targetBlock())&&o.getNextBlock()==this&&(this.squareTopLeftCorner_=!0):o&&(this.startHat_=this.squareTopLeftCorner_=!0,this.height+=Blockly.BlockSvg.START_HAT_HEIGHT,t.rightEdge=Math.max(t.rightEdge,100)),this.getNextBlock()&&(this.squareBottomLeftCorner_=!0)}o=new Blockly.BlockSvg.PathObject,this.renderDrawTop_(o,t.rightEdge);var n=this.renderDrawRight_(o,t,e);this.renderDrawBottom_(o,n),this.renderDrawLeft_(o),this.setPaths_(o)},Blockly.BlockSvg.prototype.setPaths_=function(e){var t=e.steps.join(" ")+"\n"+e.inlineSteps.join(" ");this.svgPath_.setAttribute("d",t),this.svgPathDark_.setAttribute("d",t),t=e.highlightSteps.join(" ")+"\n"+e.highlightInlineSteps.join(" "),this.svgPathLight_.setAttribute("d",t),this.RTL&&(this.svgPath_.setAttribute("transform","scale(-1 1)"),this.svgPathLight_.setAttribute("transform","scale(-1 1)"),this.svgPathDark_.setAttribute("transform","translate(1,1) scale(-1 1)"))},Blockly.BlockSvg.prototype.renderMoveConnections_=function(){var e=this.getRelativeToSurfaceXY();this.previousConnection&&this.previousConnection.moveToOffset(e),this.outputConnection&&this.outputConnection.moveToOffset(e);for(var t=0;t<this.inputList.length;t++){var o=this.inputList[t].connection;o&&(o.moveToOffset(e),o.isConnected()&&o.tighten_())}this.nextConnection&&(this.nextConnection.moveToOffset(e),this.nextConnection.isConnected()&&this.nextConnection.tighten_())},Blockly.BlockSvg.prototype.renderDrawTop_=function(e,t){var o=e.steps,n=e.highlightSteps;this.squareTopLeftCorner_?(o.push("m 0,0"),n.push("m 0.5,0.5"),this.startHat_&&(o.push(Blockly.BlockSvg.START_HAT_PATH),n.push(this.RTL?Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL:Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR))):(o.push(Blockly.BlockSvg.TOP_LEFT_CORNER_START),n.push(this.RTL?Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL:Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR),o.push(Blockly.BlockSvg.TOP_LEFT_CORNER),n.push(Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT)),this.previousConnection&&(o.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),n.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),o.push(Blockly.BlockSvg.NOTCH_PATH_LEFT),n.push(Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT),this.previousConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,0)),o.push("H",t),n.push("H",t-.5),this.width=t},Blockly.BlockSvg.prototype.renderDrawRight_=function(e,t,o){for(var n,i={x:0,y:0},r={x:0,y:0},s=0;n=t[s];s++)i.x=Blockly.BlockSvg.SEP_SPACE_X,0==s&&(i.x+=this.RTL?-o:o),e.highlightSteps.push("M",t.rightEdge-.5+","+(i.y+.5)),this.isCollapsed()?this.renderJaggedEdge_(e,n,i):n.type==Blockly.BlockSvg.INLINE?this.renderInlineRow_(e,n,i,r,t.rightEdge):n.type==Blockly.INPUT_VALUE?this.renderExternalValueInput_(e,n,i,r,t.rightEdge):n.type==Blockly.DUMMY_INPUT?this.renderDummyInput_(e,n,i,t.rightEdge,t.hasValue):n.type==Blockly.NEXT_STATEMENT&&this.renderStatementInput_(e,n,i,r,t,s),i.y+=n.height;return t.length||(i.y=Blockly.BlockSvg.MIN_BLOCK_Y,e.steps.push("V",i.y),this.RTL&&e.highlightSteps.push("V",i.y-1)),i.y},Blockly.BlockSvg.prototype.renderDrawBottom_=function(e,t){var o=e.steps,n=e.highlightSteps;this.height+=t+1,this.nextConnection&&(o.push("H",Blockly.BlockSvg.NOTCH_WIDTH+(this.RTL?.5:-.5)+" "+Blockly.BlockSvg.NOTCH_PATH_RIGHT),this.nextConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,t+1),this.height+=4),this.squareBottomLeftCorner_?(o.push("H 0"),this.RTL||n.push("M","0.5,"+(t-.5))):(o.push("H",Blockly.BlockSvg.CORNER_RADIUS),o.push("a",Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 -"+Blockly.BlockSvg.CORNER_RADIUS+",-"+Blockly.BlockSvg.CORNER_RADIUS),this.RTL||(n.push("M",Blockly.BlockSvg.DISTANCE_45_INSIDE+","+(t-Blockly.BlockSvg.DISTANCE_45_INSIDE)),n.push("A",Blockly.BlockSvg.CORNER_RADIUS-.5+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 0.5,"+(t-Blockly.BlockSvg.CORNER_RADIUS))))},Blockly.BlockSvg.prototype.renderDrawLeft_=function(e){var t=e.steps;e=e.highlightSteps,this.outputConnection?(this.outputConnection.setOffsetInBlock(0,0),t.push("V",Blockly.BlockSvg.TAB_HEIGHT),t.push("c 0,-10 -"+Blockly.BlockSvg.TAB_WIDTH+",8 -"+Blockly.BlockSvg.TAB_WIDTH+",-7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",2.5 "+Blockly.BlockSvg.TAB_WIDTH+",-7.5"),this.RTL?(e.push("M",-.25*Blockly.BlockSvg.TAB_WIDTH+",8.4"),e.push("l",-.45*Blockly.BlockSvg.TAB_WIDTH+",-2.1")):(e.push("V",Blockly.BlockSvg.TAB_HEIGHT-1.5),e.push("m",-.92*Blockly.BlockSvg.TAB_WIDTH+",-0.5 q "+-.19*Blockly.BlockSvg.TAB_WIDTH+",-5.5 0,-11"),e.push("m",.92*Blockly.BlockSvg.TAB_WIDTH+",1 V 0.5 H 1")),this.width+=Blockly.BlockSvg.TAB_WIDTH):this.RTL||(this.squareTopLeftCorner_?e.push("V",.5):e.push("V",Blockly.BlockSvg.CORNER_RADIUS)),t.push("z")},Blockly.BlockSvg.prototype.renderJaggedEdge_=function(e,t,o){var n=e.steps;e=e.highlightSteps,this.renderFields_(t[0].fieldRow,o.x,o.y),n.push(Blockly.BlockSvg.JAGGED_TEETH),e.push("h 8"),t=t.height-Blockly.BlockSvg.JAGGED_TEETH_HEIGHT,n.push("v",t),this.RTL&&(e.push("v 3.9 l 7.2,3.4 m -14.5,8.9 l 7.3,3.5"),e.push("v",t-.7)),this.width+=Blockly.BlockSvg.JAGGED_TEETH_WIDTH},Blockly.BlockSvg.prototype.renderInlineRow_=function(e,t,o,n,i){var r=e.inlineSteps,s=e.highlightInlineSteps,a=e.steps;e=e.highlightSteps;for(var l,u=0;l=t[u];u++){var c=o.x,h=o.y;t.thicker&&(h+=Blockly.BlockSvg.INLINE_PADDING_Y),o.x=this.renderFields_(l.fieldRow,c,h),l.type!=Blockly.DUMMY_INPUT&&(o.x+=l.renderWidth+Blockly.BlockSvg.SEP_SPACE_X),l.type==Blockly.INPUT_VALUE&&(r.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y)),r.push("h",Blockly.BlockSvg.TAB_WIDTH-2-l.renderWidth),r.push(Blockly.BlockSvg.TAB_PATH_DOWN),r.push("v",l.renderHeight+1-Blockly.BlockSvg.TAB_HEIGHT),r.push("h",l.renderWidth+2-Blockly.BlockSvg.TAB_WIDTH),r.push("z"),this.RTL?(s.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X-2.5+Blockly.BlockSvg.TAB_WIDTH-l.renderWidth+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),s.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),s.push("v",l.renderHeight-Blockly.BlockSvg.TAB_HEIGHT+2.5),s.push("h",l.renderWidth-Blockly.BlockSvg.TAB_WIDTH+2)):(s.push("M",o.x-Blockly.BlockSvg.SEP_SPACE_X+.5+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),s.push("v",l.renderHeight+1),s.push("h",Blockly.BlockSvg.TAB_WIDTH-2-l.renderWidth),s.push("M",o.x-l.renderWidth-Blockly.BlockSvg.SEP_SPACE_X+.9+","+(o.y+Blockly.BlockSvg.INLINE_PADDING_Y+Blockly.BlockSvg.TAB_HEIGHT-.7)),s.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1")),n.x=this.RTL?-o.x-Blockly.BlockSvg.TAB_WIDTH+Blockly.BlockSvg.SEP_SPACE_X+l.renderWidth+1:o.x+Blockly.BlockSvg.TAB_WIDTH-Blockly.BlockSvg.SEP_SPACE_X-l.renderWidth-1,n.y=o.y+Blockly.BlockSvg.INLINE_PADDING_Y+1,l.connection.setOffsetInBlock(n.x,n.y))}o.x=Math.max(o.x,i),this.width=Math.max(this.width,o.x),a.push("H",o.x),e.push("H",o.x-.5),a.push("v",t.height),this.RTL&&e.push("v",t.height-1)},Blockly.BlockSvg.prototype.renderExternalValueInput_=function(e,t,o,n,i){var r=e.steps;e=e.highlightSteps;var s=t[0],a=o.x,l=o.y;if(s.align!=Blockly.ALIGN_LEFT){var u=i-s.fieldWidth-Blockly.BlockSvg.TAB_WIDTH-2*Blockly.BlockSvg.SEP_SPACE_X;s.align==Blockly.ALIGN_RIGHT?a+=u:s.align==Blockly.ALIGN_CENTRE&&(a+=u/2)}this.renderFields_(s.fieldRow,a,l),r.push(Blockly.BlockSvg.TAB_PATH_DOWN),t=t.height-Blockly.BlockSvg.TAB_HEIGHT,r.push("v",t),this.RTL?(e.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),e.push("v",t+.5)):(e.push("M",i-5+","+(o.y+Blockly.BlockSvg.TAB_HEIGHT-.7)),e.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1")),n.x=this.RTL?-i-1:i+1,s.connection.setOffsetInBlock(n.x,o.y),s.connection.isConnected()&&(this.width=Math.max(this.width,i+s.connection.targetBlock().getHeightWidth().width-Blockly.BlockSvg.TAB_WIDTH+1))},Blockly.BlockSvg.prototype.renderDummyInput_=function(e,t,o,n,i){var r=e.steps;e=e.highlightSteps;var s=t[0],a=o.x;o=o.y,s.align!=Blockly.ALIGN_LEFT&&(n=n-s.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X,i&&(n-=Blockly.BlockSvg.TAB_WIDTH),s.align==Blockly.ALIGN_RIGHT?a+=n:s.align==Blockly.ALIGN_CENTRE&&(a+=n/2)),this.renderFields_(s.fieldRow,a,o),r.push("v",t.height),this.RTL&&e.push("v",t.height-1)},Blockly.BlockSvg.prototype.renderStatementInput_=function(e,t,o,n,i,r){var s=e.steps;e=e.highlightSteps;var a=t[0];0==r&&(s.push("v",Blockly.BlockSvg.SEP_SPACE_Y),this.RTL&&e.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),o.y+=Blockly.BlockSvg.SEP_SPACE_Y);var l=o.x,u=o.y;if(a.align!=Blockly.ALIGN_LEFT){var c=i.statementEdge-a.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X;a.align==Blockly.ALIGN_RIGHT?l+=c:a.align==Blockly.ALIGN_CENTRE&&(l+=c/2)}this.renderFields_(a.fieldRow,l,u),o.x=i.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH,s.push("H",o.x),s.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER),s.push("v",t.height-2*Blockly.BlockSvg.CORNER_RADIUS),s.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER),s.push("H",i.rightEdge),this.RTL?(e.push("M",o.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(o.y+Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),e.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL),e.push("v",t.height-2*Blockly.BlockSvg.CORNER_RADIUS),e.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL)):(e.push("M",o.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(o.y+t.height-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),e.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR)),e.push("H",i.rightEdge-.5),n.x=this.RTL?-o.x:o.x+1,a.connection.setOffsetInBlock(n.x,o.y+1),a.connection.isConnected()&&(this.width=Math.max(this.width,i.statementEdge+a.connection.targetBlock().getHeightWidth().width)),r!=i.length-1&&i[r+1].type!=Blockly.NEXT_STATEMENT||(s.push("v",Blockly.BlockSvg.SEP_SPACE_Y),this.RTL&&e.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),o.y+=Blockly.BlockSvg.SEP_SPACE_Y)},Blockly.BlockSvg.prototype.positionNewBlock=function(e,t,o){t.type!=Blockly.NEXT_STATEMENT&&t.type!=Blockly.INPUT_VALUE||e.moveBy(o.x_-t.x_,o.y_-t.y_)},Blockly.BlockSvg.prototype.highlightForReplacement=function(e){e?Blockly.utils.dom.addClass(this.svgGroup_,"blocklyReplaceable"):Blockly.utils.dom.removeClass(this.svgGroup_,"blocklyReplaceable")},Blockly.DropDownDiv=function(){},Blockly.DropDownDiv.DIV_=null,Blockly.DropDownDiv.boundsElement_=null,Blockly.DropDownDiv.owner_=null,Blockly.DropDownDiv.positionToField_=null,Blockly.DropDownDiv.ARROW_SIZE=16,Blockly.DropDownDiv.BORDER_SIZE=1,Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING=12,Blockly.DropDownDiv.PADDING_Y=16,Blockly.DropDownDiv.ANIMATION_TIME=.25,Blockly.DropDownDiv.animateOutTimer_=null,Blockly.DropDownDiv.onHide_=0,Blockly.DropDownDiv.createDom=function(){if(!Blockly.DropDownDiv.DIV_){var e=document.createElement("div");e.className="blocklyDropDownDiv",document.body.appendChild(e),Blockly.DropDownDiv.DIV_=e;var t=document.createElement("div");t.className="blocklyDropDownContent",e.appendChild(t),Blockly.DropDownDiv.content_=t,(t=document.createElement("div")).className="blocklyDropDownArrow",e.appendChild(t),Blockly.DropDownDiv.arrow_=t,Blockly.DropDownDiv.DIV_.style.opacity=0,Blockly.DropDownDiv.DIV_.style.transition="transform "+Blockly.DropDownDiv.ANIMATION_TIME+"s, opacity "+Blockly.DropDownDiv.ANIMATION_TIME+"s"}},Blockly.DropDownDiv.setBoundsElement=function(e){Blockly.DropDownDiv.boundsElement_=e},Blockly.DropDownDiv.getContentDiv=function(){return Blockly.DropDownDiv.content_},Blockly.DropDownDiv.clearContent=function(){Blockly.DropDownDiv.content_.innerHTML="",Blockly.DropDownDiv.content_.style.width=""},Blockly.DropDownDiv.setColour=function(e,t){Blockly.DropDownDiv.DIV_.style.backgroundColor=e,Blockly.DropDownDiv.DIV_.style.borderColor=t},Blockly.DropDownDiv.setCategory=function(e){Blockly.DropDownDiv.DIV_.setAttribute("data-category",e)},Blockly.DropDownDiv.showPositionedByBlock=function(e,t,o,n){var i=t.workspace.scale,r=t.width,s=t.height;return r*=i,s*=i,r=(i=t.getSvgRoot().getBoundingClientRect()).left+r/2,s=i.top+s,i=i.top,n&&(i+=n),Blockly.DropDownDiv.setBoundsElement(t.workspace.getParentSvg().parentNode),Blockly.DropDownDiv.show(e,r,s,r,i,o)},Blockly.DropDownDiv.showPositionedByField=function(e,t,o){var n=e.fieldGroup_.getBoundingClientRect(),i=n.left+n.width/2,r=n.bottom;return n=n.top,o&&(n+=o),Blockly.DropDownDiv.positionToField_=!0,Blockly.DropDownDiv.setBoundsElement(e.getSourceBlock().workspace.getParentSvg().parentNode),Blockly.DropDownDiv.show(e,i,r,i,n,t)},Blockly.DropDownDiv.show=function(e,t,o,n,i,r){return Blockly.DropDownDiv.owner_=e,Blockly.DropDownDiv.onHide_=r,e=Blockly.DropDownDiv.getPositionMetrics(t,o,n,i),Blockly.DropDownDiv.arrow_.style.transform="translate("+e.arrowX+"px,"+e.arrowY+"px) rotate(45deg)",Blockly.DropDownDiv.arrow_.setAttribute("class",e.arrowAtTop?"blocklyDropDownArrow arrowTop":"blocklyDropDownArrow arrowBottom"),Blockly.DropDownDiv.arrow_.style.display=e.arrowVisible?"":"none",Blockly.DropDownDiv.positionInternal_(e.initialX,e.initialY,e.finalX,e.finalY),e.arrowAtTop},Blockly.DropDownDiv.getBoundsInfo_=function(){var e=Blockly.DropDownDiv.boundsElement_.getBoundingClientRect(),t=goog.style.getSize(Blockly.DropDownDiv.boundsElement_);return{left:e.left,right:e.left+t.width,top:e.top,bottom:e.top+t.height,width:t.width,height:t.height}},Blockly.DropDownDiv.getPositionMetrics=function(e,t,o,n){var i=Blockly.DropDownDiv.getBoundsInfo_(),r=goog.style.getSize(Blockly.DropDownDiv.DIV_);if(t+r.height>i.bottom)if(n-r.height<i.top){o=0;var s=!1,a=!0}else e=o,o=n-r.height-Blockly.DropDownDiv.PADDING_Y,s=!0;else o=t+Blockly.DropDownDiv.PADDING_Y,s=!1;var l=e;return e-=r.width/2,e=Blockly.utils.math.clamp(i.left,e,i.right-r.width),l-=Blockly.DropDownDiv.ARROW_SIZE/2,l=Blockly.utils.math.clamp(i.left,l,i.right),i=Blockly.utils.math.clamp(Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING,l-e,r.width-Blockly.DropDownDiv.ARROW_HORIZONTAL_PADDING-Blockly.DropDownDiv.ARROW_SIZE),l=s?r.height-Blockly.DropDownDiv.BORDER_SIZE:0,l-=Blockly.DropDownDiv.ARROW_SIZE/2+Blockly.DropDownDiv.BORDER_SIZE,{initialX:e,initialY:s?n-r.height:t,finalX:e,finalY:o,arrowX:i,arrowY:l,arrowAtTop:!s,arrowVisible:!a}},Blockly.DropDownDiv.isVisible=function(){return!!Blockly.DropDownDiv.owner_},Blockly.DropDownDiv.hideIfOwner=function(e){return Blockly.DropDownDiv.owner_===e&&(Blockly.DropDownDiv.hide(),!0)},Blockly.DropDownDiv.hide=function(){var e=Blockly.DropDownDiv.DIV_;e.style.transform="translate(0px, 0px)",e.style.opacity=0,Blockly.DropDownDiv.animateOutTimer_=setTimeout((function(){Blockly.DropDownDiv.hideWithoutAnimation()}),1e3*Blockly.DropDownDiv.ANIMATION_TIME),Blockly.DropDownDiv.onHide_&&(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)},Blockly.DropDownDiv.hideWithoutAnimation=function(){if(Blockly.DropDownDiv.isVisible()){Blockly.DropDownDiv.animateOutTimer_&&clearTimeout(Blockly.DropDownDiv.animateOutTimer_);var e=Blockly.DropDownDiv.DIV_;e.style.transform="",e.style.left="",e.style.top="",e.style.opacity=0,e.style.display="none",Blockly.DropDownDiv.clearContent(),Blockly.DropDownDiv.owner_=null,Blockly.DropDownDiv.onHide_&&(Blockly.DropDownDiv.onHide_(),Blockly.DropDownDiv.onHide_=null)}},Blockly.DropDownDiv.positionInternal_=function(e,t,o,n){e=Math.floor(e),t=Math.floor(t),o=Math.floor(o),n=Math.floor(n);var i=Blockly.DropDownDiv.DIV_;i.style.left=e+"px",i.style.top=t+"px",i.style.display="block",i.style.opacity=1,i.style.transform="translate("+(o-e)+"px,"+(n-t)+"px)"},Blockly.DropDownDiv.repositionForWindowResize=function(){if(Blockly.DropDownDiv.owner_){var e=Blockly.DropDownDiv.owner_.getSourceBlock(),t=e.workspace.scale,o=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.size_.width:e.width,n=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.size_.height:e.height;o*=t,n*=t,o=(e=Blockly.DropDownDiv.positionToField_?Blockly.DropDownDiv.owner_.fieldGroup_.getBoundingClientRect():e.getSvgRoot().getBoundingClientRect()).left+o/2,n=Blockly.DropDownDiv.getPositionMetrics(o,e.top+n,o,e.top),Blockly.DropDownDiv.positionInternal_(n.initialX,n.initialY,n.finalX,n.finalY)}else Blockly.DropDownDiv.hide()},Blockly.FieldTextInput=function(e,t){null===(e=this.doClassValidation_(e))&&(e=""),Blockly.FieldTextInput.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldTextInput,Blockly.Field),Blockly.FieldTextInput.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return t=new Blockly.FieldTextInput(t),"boolean"==typeof e.spellcheck&&t.setSpellcheck(e.spellcheck),t},Blockly.FieldTextInput.prototype.SERIALIZABLE=!0,Blockly.FieldTextInput.FONTSIZE=11,Blockly.FieldTextInput.prototype.CURSOR="text",Blockly.FieldTextInput.prototype.spellcheck_=!0,Blockly.FieldTextInput.prototype.doClassValidation_=function(e){return null==e?null:String(e)},Blockly.FieldTextInput.prototype.doValueInvalid_=function(e){this.isBeingEdited_&&(this.isTextValid_=!1,e=this.value_,this.value_=this.htmlInput_.untypedDefaultValue_,this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,e,this.value_)))},Blockly.FieldTextInput.prototype.doValueUpdate_=function(e){this.isTextValid_=!0,this.value_=e,this.isBeingEdited_||(this.text_=String(e),this.isDirty_=!0)},Blockly.FieldTextInput.prototype.render_=function(){Blockly.FieldTextInput.superClass_.render_.call(this),this.isBeingEdited_&&(this.resizeEditor_(),this.isTextValid_?Blockly.utils.dom.removeClass(this.htmlInput_,"blocklyInvalidInput"):Blockly.utils.dom.addClass(this.htmlInput_,"blocklyInvalidInput"))},Blockly.FieldTextInput.prototype.setSpellcheck=function(e){this.spellcheck_=e},Blockly.FieldTextInput.prototype.showEditor_=function(e){this.workspace_=this.sourceBlock_.workspace,!(e=e||!1)&&(Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(e)},Blockly.FieldTextInput.prototype.showPromptEditor_=function(){var e=this;Blockly.prompt(Blockly.Msg.CHANGE_VALUE_TITLE,this.text_,(function(t){e.setValue(t)}))},Blockly.FieldTextInput.prototype.showInlineEditor_=function(e){this.isBeingEdited_=!0,Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_.bind(this)),this.htmlInput_=this.widgetCreate_(),e||(this.htmlInput_.focus(),this.htmlInput_.select())},Blockly.FieldTextInput.prototype.widgetCreate_=function(){var e=Blockly.WidgetDiv.DIV,t=document.createElement("input");t.className="blocklyHtmlInput",t.setAttribute("spellcheck",this.spellcheck_);var o=Blockly.FieldTextInput.FONTSIZE*this.workspace_.scale+"pt";return e.style.fontSize=o,t.style.fontSize=o,e.appendChild(t),t.value=t.defaultValue=this.value_,t.untypedDefaultValue_=this.value_,t.oldValue_=null,this.resizeEditor_(),this.bindInputEvents_(t),t},Blockly.FieldTextInput.prototype.widgetDispose_=function(){this.isBeingEdited_=!1,this.value_!==this.text_&&(this.text_=String(this.value_),this.isTextValid_=!0,this.forceRerender()),this.onFinishEditing_&&this.onFinishEditing_(this.value_),this.unbindInputEvents_();var e=Blockly.WidgetDiv.DIV.style;e.width="auto",e.height="auto",e.fontSize=""},Blockly.FieldTextInput.prototype.bindInputEvents_=function(e){this.onKeyDownWrapper_=Blockly.bindEventWithChecks_(e,"keydown",this,this.onHtmlInputKeyDown_),this.onKeyUpWrapper_=Blockly.bindEventWithChecks_(e,"keyup",this,this.onHtmlInputChange_),this.onKeyPressWrapper_=Blockly.bindEventWithChecks_(e,"keypress",this,this.onHtmlInputChange_),this.onWorkspaceChangeWrapper_=this.resizeEditor_.bind(this),this.workspace_.addChangeListener(this.onWorkspaceChangeWrapper_)},Blockly.FieldTextInput.prototype.unbindInputEvents_=function(){Blockly.unbindEvent_(this.onKeyDownWrapper_),Blockly.unbindEvent_(this.onKeyUpWrapper_),Blockly.unbindEvent_(this.onKeyPressWrapper_),this.workspace_.removeChangeListener(this.onWorkspaceChangeWrapper_)},Blockly.FieldTextInput.prototype.onHtmlInputKeyDown_=function(e){13==e.keyCode?Blockly.WidgetDiv.hide():27==e.keyCode?(this.htmlInput_.value=this.htmlInput_.defaultValue,Blockly.WidgetDiv.hide()):9==e.keyCode&&(Blockly.WidgetDiv.hide(),this.sourceBlock_.tab(this,!e.shiftKey),e.preventDefault())},Blockly.FieldTextInput.prototype.onHtmlInputChange_=function(e){(e=this.htmlInput_.value)!==this.htmlInput_.oldValue_&&(this.htmlInput_.oldValue_=e,Blockly.Events.setGroup(!0),this.setValue(e),this.text_=this.htmlInput_.value,this.forceRerender(),Blockly.Events.setGroup(!1))},Blockly.FieldTextInput.prototype.resizeEditor_=function(){var e=Blockly.WidgetDiv.DIV,t=this.getScaledBBox_();e.style.width=t.right-t.left+"px",e.style.height=t.bottom-t.top+"px",(t=new Blockly.utils.Coordinate(this.sourceBlock_.RTL?t.right-e.offsetWidth:t.left,t.top)).y+=1,Blockly.utils.userAgent.GECKO&&Blockly.WidgetDiv.DIV.style.top&&(--t.x,--t.y),Blockly.utils.userAgent.WEBKIT&&(t.y-=3),e.style.left=t.x+"px",e.style.top=t.y+"px"},Blockly.FieldTextInput.numberValidator=function(e){return console.warn("Blockly.FieldTextInput.numberValidator is deprecated. Use Blockly.FieldNumber instead."),null===e?null:(e=(e=(e=String(e)).replace(/O/gi,"0")).replace(/,/g,""),e=parseFloat(e||0),isNaN(e)?null:String(e))},Blockly.FieldTextInput.nonnegativeIntegerValidator=function(e){return(e=Blockly.FieldTextInput.numberValidator(e))&&(e=String(Math.max(0,Math.floor(e)))),e},Blockly.Field.register("field_input",Blockly.FieldTextInput),Blockly.FieldAngle=function(e,t){null===(e=this.doClassValidation_(e))&&(e=0),Blockly.FieldAngle.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldAngle,Blockly.FieldTextInput),Blockly.FieldAngle.fromJson=function(e){return new Blockly.FieldAngle(e.angle)},Blockly.FieldAngle.prototype.SERIALIZABLE=!0,Blockly.FieldAngle.ROUND=15,Blockly.FieldAngle.HALF=50,Blockly.FieldAngle.CLOCKWISE=!1,Blockly.FieldAngle.OFFSET=0,Blockly.FieldAngle.WRAP=360,Blockly.FieldAngle.RADIUS=Blockly.FieldAngle.HALF-1,Blockly.FieldAngle.prototype.initView=function(){Blockly.FieldAngle.superClass_.initView.call(this),this.symbol_=Blockly.utils.dom.createSvgElement("tspan",{},null),this.symbol_.appendChild(document.createTextNode("°")),this.textElement_.appendChild(this.symbol_)},Blockly.FieldAngle.prototype.render_=function(){Blockly.FieldAngle.superClass_.render_.call(this),this.updateGraph_()},Blockly.FieldAngle.prototype.showEditor_=function(){Blockly.FieldAngle.superClass_.showEditor_.call(this,Blockly.utils.userAgent.MOBILE||Blockly.utils.userAgent.ANDROID||Blockly.utils.userAgent.IPAD);var e=this.dropdownCreate_();Blockly.DropDownDiv.getContentDiv().appendChild(e),e=(e=this.sourceBlock_.getColourBorder()).colourBorder||e.colourLight,Blockly.DropDownDiv.setColour(this.sourceBlock_.getColour(),e),Blockly.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this)),this.updateGraph_()},Blockly.FieldAngle.prototype.dropdownCreate_=function(){var e=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",height:2*Blockly.FieldAngle.HALF+"px",width:2*Blockly.FieldAngle.HALF+"px"},null),t=Blockly.utils.dom.createSvgElement("circle",{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.RADIUS,class:"blocklyAngleCircle"},e);this.gauge_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyAngleGauge"},e),this.line_=Blockly.utils.dom.createSvgElement("line",{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,class:"blocklyAngleLine"},e);for(var o=0;360>o;o+=15)Blockly.utils.dom.createSvgElement("line",{x1:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS-(0==o%45?10:5),y2:Blockly.FieldAngle.HALF,class:"blocklyAngleMarks",transform:"rotate("+o+","+Blockly.FieldAngle.HALF+","+Blockly.FieldAngle.HALF+")"},e);return this.clickWrapper_=Blockly.bindEvent_(e,"click",this,this.hide_),this.moveWrapper1_=Blockly.bindEvent_(t,"mousemove",this,this.onMouseMove),this.moveWrapper2_=Blockly.bindEvent_(this.gauge_,"mousemove",this,this.onMouseMove),e},Blockly.FieldAngle.prototype.dropdownDispose_=function(){Blockly.unbindEvent_(this.clickWrapper_),Blockly.unbindEvent_(this.moveWrapper1_),Blockly.unbindEvent_(this.moveWrapper2_)},Blockly.FieldAngle.prototype.hide_=function(){Blockly.DropDownDiv.hideIfOwner(this),Blockly.WidgetDiv.hide()},Blockly.FieldAngle.prototype.onMouseMove=function(e){var t=this.gauge_.ownerSVGElement.getBoundingClientRect(),o=e.clientX-t.left-Blockly.FieldAngle.HALF;t=e.clientY-t.top-Blockly.FieldAngle.HALF,e=Math.atan(-t/o),isNaN(e)||(e=Blockly.utils.math.toDegrees(e),0>o?e+=180:0<t&&(e+=360),360<(e=Blockly.FieldAngle.CLOCKWISE?Blockly.FieldAngle.OFFSET+360-e:360-(Blockly.FieldAngle.OFFSET-e))&&(e-=360),Blockly.FieldAngle.ROUND&&(e=Math.round(e/Blockly.FieldAngle.ROUND)*Blockly.FieldAngle.ROUND),e>Blockly.FieldAngle.WRAP&&(e-=360),(o=String(e))!=this.text_&&(this.htmlInput_.value=e,this.setValue(e),this.text_=o,this.forceRerender()))},Blockly.FieldAngle.prototype.updateGraph_=function(){if(this.gauge_){var e=Number(this.getText())+Blockly.FieldAngle.OFFSET,t=Blockly.utils.math.toRadians(e%360);e=["M ",Blockly.FieldAngle.HALF,",",Blockly.FieldAngle.HALF];var o=Blockly.FieldAngle.HALF,n=Blockly.FieldAngle.HALF;if(!isNaN(t)){var i=Blockly.utils.math.toRadians(Blockly.FieldAngle.OFFSET),r=Math.cos(i)*Blockly.FieldAngle.RADIUS,s=Math.sin(i)*-Blockly.FieldAngle.RADIUS;Blockly.FieldAngle.CLOCKWISE&&(t=2*i-t),o+=Math.cos(t)*Blockly.FieldAngle.RADIUS,n-=Math.sin(t)*Blockly.FieldAngle.RADIUS,t=Math.abs(Math.floor((t-i)/Math.PI)%2),Blockly.FieldAngle.CLOCKWISE&&(t=1-t),e.push(" l ",r,",",s," A ",Blockly.FieldAngle.RADIUS,",",Blockly.FieldAngle.RADIUS," 0 ",t," ",Number(Blockly.FieldAngle.CLOCKWISE)," ",o,",",n," z")}this.gauge_.setAttribute("d",e.join("")),this.line_.setAttribute("x2",o),this.line_.setAttribute("y2",n)}},Blockly.FieldAngle.prototype.doClassValidation_=function(e){return isNaN(e)?null:(e=parseFloat(e||0),0>(e%=360)&&(e+=360),e>Blockly.FieldAngle.WRAP&&(e-=360),e)},Blockly.Field.register("field_angle",Blockly.FieldAngle),Blockly.FieldCheckbox=function(e,t){null===(e=this.doClassValidation_(e))&&(e="FALSE"),Blockly.FieldCheckbox.superClass_.constructor.call(this,e,t),this.size_.width=Blockly.FieldCheckbox.WIDTH},goog.inherits(Blockly.FieldCheckbox,Blockly.Field),Blockly.FieldCheckbox.fromJson=function(e){return new Blockly.FieldCheckbox(e.checked)},Blockly.FieldCheckbox.WIDTH=5,Blockly.FieldCheckbox.CHECK_CHAR="✓",Blockly.FieldCheckbox.CHECK_X_OFFSET=-3,Blockly.FieldCheckbox.CHECK_Y_OFFSET=14,Blockly.FieldCheckbox.prototype.SERIALIZABLE=!0,Blockly.FieldCheckbox.prototype.CURSOR="default",Blockly.FieldCheckbox.prototype.isDirty_=!1,Blockly.FieldCheckbox.prototype.initView=function(){Blockly.FieldCheckbox.superClass_.initView.call(this),this.textElement_.setAttribute("x",Blockly.FieldCheckbox.CHECK_X_OFFSET),this.textElement_.setAttribute("y",Blockly.FieldCheckbox.CHECK_Y_OFFSET),Blockly.utils.dom.addClass(this.textElement_,"blocklyCheckbox");var e=document.createTextNode(Blockly.FieldCheckbox.CHECK_CHAR);this.textElement_.appendChild(e),this.textElement_.style.display=this.value_?"block":"none"},Blockly.FieldCheckbox.prototype.showEditor_=function(){this.setValue(!this.value_)},Blockly.FieldCheckbox.prototype.doClassValidation_=function(e){return!0===e||"TRUE"===e?"TRUE":!1===e||"FALSE"===e?"FALSE":null},Blockly.FieldCheckbox.prototype.doValueUpdate_=function(e){this.value_=this.convertValueToBool_(e),this.textElement_&&(this.textElement_.style.display=this.value_?"block":"none")},Blockly.FieldCheckbox.prototype.getValue=function(){return this.value_?"TRUE":"FALSE"},Blockly.FieldCheckbox.prototype.getValueBoolean=function(){return this.value_},Blockly.FieldCheckbox.prototype.getText=function(){return String(this.convertValueToBool_(this.value_))},Blockly.FieldCheckbox.prototype.convertValueToBool_=function(e){return"string"==typeof e?"TRUE"==e:!!e},Blockly.Field.register("field_checkbox",Blockly.FieldCheckbox),Blockly.utils.colour={},Blockly.utils.colour.parse=function(e){e=String(e).toLowerCase().trim();var t=Blockly.utils.colour.names[e];if(t)return t;if(t="#"==e[0]?e:"#"+e,/^#[0-9a-f]{6}$/.test(t))return t;if(/^#[0-9a-f]{3}$/.test(t))return["#",t[1],t[1],t[2],t[2],t[3],t[3]].join("");var o=e.match(/^(?:rgb)?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/);return o&&(e=Number(o[1]),t=Number(o[2]),o=Number(o[3]),0<=e&&256>e&&0<=t&&256>t&&0<=o&&256>o)?Blockly.utils.colour.rgbToHex(e,t,o):null},Blockly.utils.colour.rgbToHex=function(e,t,o){return t=e<<16|t<<8|o,16>e?"#"+(16777216|t).toString(16).substr(1):"#"+t.toString(16)},Blockly.utils.colour.hexToRgb=function(e){return[(e=parseInt(e.substr(1),16))>>16,e>>8&255,255&e]},Blockly.utils.colour.hsvToHex=function(e,t,o){var n=0,i=0,r=0;if(0==t)r=i=n=o;else{var s=Math.floor(e/60),a=e/60-s;e=o*(1-t);var l=o*(1-t*a);switch(t=o*(1-t*(1-a)),s){case 1:n=l,i=o,r=e;break;case 2:n=e,i=o,r=t;break;case 3:n=e,i=l,r=o;break;case 4:n=t,i=e,r=o;break;case 5:n=o,i=e,r=l;break;case 6:case 0:n=o,i=t,r=e}}return Blockly.utils.colour.rgbToHex(Math.floor(n),Math.floor(i),Math.floor(r))},Blockly.utils.colour.blend=function(e,t,o){return e=Blockly.utils.colour.hexToRgb(Blockly.utils.colour.parse(e)),t=Blockly.utils.colour.hexToRgb(Blockly.utils.colour.parse(t)),Blockly.utils.colour.rgbToHex(Math.round(t[0]+o*(e[0]-t[0])),Math.round(t[1]+o*(e[1]-t[1])),Math.round(t[2]+o*(e[2]-t[2])))},Blockly.utils.colour.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},Blockly.FieldColour=function(e,t){null===(e=this.doClassValidation_(e))&&(e=Blockly.FieldColour.COLOURS[0]),Blockly.FieldColour.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldColour,Blockly.Field),Blockly.FieldColour.fromJson=function(e){return new Blockly.FieldColour(e.colour)},Blockly.FieldColour.DEFAULT_WIDTH=16,Blockly.FieldColour.DEFAULT_HEIGHT=12,Blockly.FieldColour.prototype.SERIALIZABLE=!0,Blockly.FieldColour.prototype.CURSOR="default",Blockly.FieldColour.prototype.isDirty_=!1,Blockly.FieldColour.prototype.colours_=null,Blockly.FieldColour.prototype.titles_=null,Blockly.FieldColour.prototype.columns_=0,Blockly.FieldColour.prototype.DROPDOWN_BORDER_COLOUR="silver",Blockly.FieldColour.prototype.DROPDOWN_BACKGROUND_COLOUR="white",Blockly.FieldColour.prototype.initView=function(){this.size_=new goog.math.Size(Blockly.FieldColour.DEFAULT_WIDTH,Blockly.FieldColour.DEFAULT_HEIGHT),this.createBorderRect_(),this.borderRect_.style.fillOpacity=1,this.borderRect_.style.fill=this.value_},Blockly.FieldColour.prototype.doClassValidation_=function(e){return"string"!=typeof e?null:Blockly.utils.colour.parse(e)},Blockly.FieldColour.prototype.doValueUpdate_=function(e){this.value_=e,this.borderRect_&&(this.borderRect_.style.fill=e)},Blockly.FieldColour.prototype.getText=function(){var e=this.value_;return/^#(.)\1(.)\2(.)\3$/.test(e)&&(e="#"+e[1]+e[3]+e[5]),e},Blockly.FieldColour.COLOURS="#ffffff #cccccc #c0c0c0 #999999 #666666 #333333 #000000 #ffcccc #ff6666 #ff0000 #cc0000 #990000 #660000 #330000 #ffcc99 #ff9966 #ff9900 #ff6600 #cc6600 #993300 #663300 #ffff99 #ffff66 #ffcc66 #ffcc33 #cc9933 #996633 #663333 #ffffcc #ffff33 #ffff00 #ffcc00 #999900 #666600 #333300 #99ff99 #66ff99 #33ff33 #33cc00 #009900 #006600 #003300 #99ffff #33ffff #66cccc #00cccc #339999 #336666 #003333 #ccffff #66ffff #33ccff #3366ff #3333ff #000099 #000066 #ccccff #9999ff #6666cc #6633ff #6600cc #333399 #330099 #ffccff #ff99ff #cc66cc #cc33cc #993399 #663366 #330033".split(" "),Blockly.FieldColour.TITLES=[],Blockly.FieldColour.COLUMNS=7,Blockly.FieldColour.prototype.setColours=function(e,t){return this.colours_=e,void 0!==t&&(this.titles_=t),this},Blockly.FieldColour.prototype.setColumns=function(e){return this.columns_=e,this},Blockly.FieldColour.prototype.showEditor_=function(){var e=this.dropdownCreate_();Blockly.DropDownDiv.getContentDiv().appendChild(e),Blockly.DropDownDiv.setColour(this.DROPDOWN_BACKGROUND_COLOUR,this.DROPDOWN_BORDER_COLOUR),Blockly.DropDownDiv.showPositionedByField(this,this.dropdownDispose_.bind(this))},Blockly.FieldColour.prototype.onClick_=function(e){(e=e.target)&&!e.label&&(e=e.parentNode),null!==(e=e&&e.label)&&(this.setValue(e),Blockly.DropDownDiv.hideIfOwner(this))},Blockly.FieldColour.prototype.dropdownCreate_=function(){var e=this.columns_||Blockly.FieldColour.COLUMNS,t=this.colours_||Blockly.FieldColour.COLOURS,o=this.titles_||Blockly.FieldColour.TITLES,n=this.getValue(),i=document.createElement("table");i.className="blocklyColourTable";for(var r,s=0;s<t.length;s++){0==s%e&&(r=document.createElement("tr"),i.appendChild(r));var a=document.createElement("td");r.appendChild(a);var l=document.createElement("div");a.appendChild(l),a.label=t[s],a.title=o[s]||t[s],l.style.backgroundColor=t[s],t[s]==n&&(l.className="blocklyColourSelected")}return this.onUpWrapper_=Blockly.bindEvent_(i,"mouseup",this,this.onClick_),i},Blockly.FieldColour.prototype.dropdownDispose_=function(){Blockly.unbindEvent_(this.onUpWrapper_)},Blockly.Field.register("field_colour",Blockly.FieldColour),Blockly.FieldDropdown=function(e,t){"function"!=typeof e&&Blockly.FieldDropdown.validateOptions_(e),this.menuGenerator_=e,this.trimOptions_();var o=this.getOptions()[0];Blockly.FieldDropdown.superClass_.constructor.call(this,o[1],t)},goog.inherits(Blockly.FieldDropdown,Blockly.Field),Blockly.FieldDropdown.fromJson=function(e){return new Blockly.FieldDropdown(e.options)},Blockly.FieldDropdown.prototype.SERIALIZABLE=!0,Blockly.FieldDropdown.CHECKMARK_OVERHANG=25,Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH=.45,Blockly.FieldDropdown.IMAGE_Y_OFFSET=5,Blockly.FieldDropdown.ARROW_CHAR=Blockly.utils.userAgent.ANDROID?"▼":"▾",Blockly.FieldDropdown.prototype.CURSOR="default",Blockly.FieldDropdown.prototype.imageElement_=null,Blockly.FieldDropdown.prototype.imageJson_=null,Blockly.FieldDropdown.prototype.initView=function(){Blockly.FieldDropdown.superClass_.initView.call(this),this.imageElement_=Blockly.utils.dom.createSvgElement("image",{y:Blockly.FieldDropdown.IMAGE_Y_OFFSET},this.fieldGroup_),this.arrow_=Blockly.utils.dom.createSvgElement("tspan",{},this.textElement_),this.arrow_.appendChild(document.createTextNode(this.sourceBlock_.RTL?Blockly.FieldDropdown.ARROW_CHAR+" ":" "+Blockly.FieldDropdown.ARROW_CHAR)),this.sourceBlock_.RTL?this.textElement_.insertBefore(this.arrow_,this.textContent_):this.textElement_.appendChild(this.arrow_)},Blockly.FieldDropdown.prototype.showEditor_=function(){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_.bind(this)),this.menu_=this.widgetCreate_(),this.menu_.render(Blockly.WidgetDiv.DIV),Blockly.utils.dom.addClass(this.menu_.getElement(),"blocklyDropdownMenu"),this.positionMenu_(this.menu_),this.menu_.setAllowAutoFocus(!0),this.menu_.getElement().focus()},Blockly.FieldDropdown.prototype.widgetCreate_=function(){var e=new goog.ui.Menu;e.setRightToLeft(this.sourceBlock_.RTL);for(var t=this.getOptions(),o=0;o<t.length;o++){var n=t[o][0],i=t[o][1];if("object"==typeof n){var r=new Image(n.width,n.height);r.src=n.src,r.alt=n.alt||"",n=r}(n=new goog.ui.MenuItem(n)).setRightToLeft(this.sourceBlock_.RTL),n.setValue(i),n.setCheckable(!0),e.addChild(n,!0),n.setChecked(i==this.value_)}return this.menuActionEventKey_=goog.events.listen(e,goog.ui.Component.EventType.ACTION,this.handleMenuActionEvent_,!1,this),e},Blockly.FieldDropdown.prototype.widgetDispose_=function(){goog.events.unlistenByKey(this.menuActionEventKey_)},Blockly.FieldDropdown.prototype.handleMenuActionEvent_=function(e){Blockly.WidgetDiv.hideIfOwner(this),this.onItemSelected(this.menu_,e.target)},Blockly.FieldDropdown.prototype.positionMenu_=function(e){var t=Blockly.utils.getViewportBBox(),o=this.getAnchorDimensions_();e=Blockly.utils.uiMenu.getSize(e);var n=Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH*document.documentElement.clientHeight;e.height>n&&(e.height=n),this.sourceBlock_.RTL&&Blockly.utils.uiMenu.adjustBBoxesForRTL(t,o,e),Blockly.WidgetDiv.positionWithAnchor(t,o,e,this.sourceBlock_.RTL)},Blockly.FieldDropdown.prototype.getAnchorDimensions_=function(){var e=this.getScaledBBox_();return this.sourceBlock_.RTL?e.right+=Blockly.FieldDropdown.CHECKMARK_OVERHANG:e.left-=Blockly.FieldDropdown.CHECKMARK_OVERHANG,e},Blockly.FieldDropdown.prototype.onItemSelected=function(e,t){this.setValue(t.getValue())},Blockly.FieldDropdown.prototype.trimOptions_=function(){this.suffixField=this.prefixField=null;var e=this.menuGenerator_;if(Array.isArray(e)){for(var t=!1,o=0;o<e.length;o++){var n=e[o][0];"string"==typeof n?e[o][0]=Blockly.utils.replaceMessageReferences(n):(null!=n.alt&&(e[o][0].alt=Blockly.utils.replaceMessageReferences(n.alt)),t=!0)}if(!(t||2>e.length)){for(t=[],o=0;o<e.length;o++)t.push(e[o][0]);o=Blockly.utils.string.shortestStringLength(t),n=Blockly.utils.string.commonWordPrefix(t,o);var i=Blockly.utils.string.commonWordSuffix(t,o);!n&&!i||o<=n+i||(n&&(this.prefixField=t[0].substring(0,n-1)),i&&(this.suffixField=t[0].substr(1-i)),this.menuGenerator_=Blockly.FieldDropdown.applyTrim_(e,n,i))}}},Blockly.FieldDropdown.applyTrim_=function(e,t,o){for(var n=[],i=0;i<e.length;i++){var r=e[i][0],s=e[i][1];r=r.substring(t,r.length-o),n[i]=[r,s]}return n},Blockly.FieldDropdown.prototype.isOptionListDynamic=function(){return"function"==typeof this.menuGenerator_},Blockly.FieldDropdown.prototype.getOptions=function(){if(this.isOptionListDynamic()){var e=this.menuGenerator_.call(this);return Blockly.FieldDropdown.validateOptions_(e),e}return this.menuGenerator_},Blockly.FieldDropdown.prototype.doClassValidation_=function(e){for(var t,o=!1,n=this.getOptions(),i=0;t=n[i];i++)if(t[1]==e){o=!0;break}return o?e:(this.sourceBlock_&&console.warn("Cannot set the dropdown's value to an unavailable option. Block type: "+this.sourceBlock_.type+", Field name: "+this.name+", Value: "+e),null)},Blockly.FieldDropdown.prototype.doValueUpdate_=function(e){Blockly.FieldDropdown.superClass_.doValueUpdate_.call(this,e),e=this.getOptions();for(var t,o=0;t=e[o];o++)t[1]==this.value_&&("object"==typeof(t=t[0])?(this.imageJson_=t,this.text_=t.alt):(this.imageJson_=null,this.text_=t))},Blockly.FieldDropdown.prototype.updateColour=function(){this.sourceBlock_&&this.arrow_&&(this.sourceBlock_.isShadow()?this.arrow_.style.fill=this.sourceBlock_.getColourShadow():this.arrow_.style.fill=this.sourceBlock_.getColour())},Blockly.FieldDropdown.prototype.render_=function(){this.textContent_.nodeValue="",this.imageElement_.style.display="none",this.imageJson_?this.renderSelectedImage_():this.renderSelectedText_(),this.borderRect_.setAttribute("height",this.size_.height-9),this.borderRect_.setAttribute("width",this.size_.width+Blockly.BlockSvg.SEP_SPACE_X)},Blockly.FieldDropdown.prototype.renderSelectedImage_=function(){this.imageElement_.style.display="",this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.imageJson_.src),this.imageElement_.setAttribute("height",this.imageJson_.height),this.imageElement_.setAttribute("width",this.imageJson_.width);var e=Blockly.Field.getCachedWidth(this.arrow_);this.size_.height=Number(this.imageJson_.height)+19,this.size_.width=Number(this.imageJson_.width)+e,this.sourceBlock_.RTL?(this.imageElement_.setAttribute("x",e),this.textElement_.setAttribute("x",-1)):(this.textElement_.setAttribute("text-anchor","end"),this.textElement_.setAttribute("x",this.size_.width+1))},Blockly.FieldDropdown.prototype.renderSelectedText_=function(){this.textContent_.nodeValue=this.getDisplayText_(),this.textElement_.setAttribute("text-anchor","start"),this.textElement_.setAttribute("x",0),this.size_.height=Blockly.BlockSvg.MIN_BLOCK_Y,this.size_.width=Blockly.Field.getCachedWidth(this.textElement_)},Blockly.FieldDropdown.validateOptions_=function(e){if(!Array.isArray(e))throw TypeError("FieldDropdown options must be an array.");for(var t=!1,o=0;o<e.length;++o){var n=e[o];Array.isArray(n)?"string"!=typeof n[1]?(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option id must be a string. Found "+n[1]+" in: ",n)):"string"!=typeof n[0]&&"string"!=typeof n[0].src&&(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option must have a string label or image description. Found"+n[0]+" in: ",n)):(t=!0,console.error("Invalid option["+o+"]: Each FieldDropdown option must be an array. Found: ",n))}if(t)throw TypeError("Found invalid FieldDropdown options.")},Blockly.Field.register("field_dropdown",Blockly.FieldDropdown),Blockly.FieldLabelSerializable=function(e,t){Blockly.FieldLabelSerializable.superClass_.constructor.call(this,e,t)},goog.inherits(Blockly.FieldLabelSerializable,Blockly.FieldLabel),Blockly.FieldLabelSerializable.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.text);return new Blockly.FieldLabelSerializable(t,e.class)},Blockly.FieldLabelSerializable.prototype.EDITABLE=!1,Blockly.FieldLabelSerializable.prototype.SERIALIZABLE=!0,Blockly.Field.register("field_label_serializable",Blockly.FieldLabelSerializable),Blockly.FieldImage=function(e,t,o,n,i,r){if(this.sourceBlock_=null,isNaN(o)||isNaN(t))throw Error("Height and width values of an image field must cast to numbers.");if(this.height_=Number(o),this.width_=Number(t),0>=this.height_||0>=this.width_)throw Error("Height and width values of an image field must be greater than 0.");this.size_=new goog.math.Size(this.width_,this.height_+2*Blockly.BlockSvg.INLINE_PADDING_Y),this.flipRtl_=r,this.text_=n||"",this.setValue(e||""),"function"==typeof i&&(this.clickHandler_=i)},goog.inherits(Blockly.FieldImage,Blockly.Field),Blockly.FieldImage.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.src),o=Number(Blockly.utils.replaceMessageReferences(e.width)),n=Number(Blockly.utils.replaceMessageReferences(e.height)),i=Blockly.utils.replaceMessageReferences(e.alt);return new Blockly.FieldImage(t,o,n,i,null,!!e.flipRtl)},Blockly.FieldImage.prototype.EDITABLE=!1,Blockly.FieldImage.prototype.isDirty_=!1,Blockly.FieldImage.prototype.initView=function(){this.imageElement_=Blockly.utils.dom.createSvgElement("image",{height:this.height_+"px",width:this.width_+"px",alt:this.text_},this.fieldGroup_),this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.value_)},Blockly.FieldImage.prototype.doClassValidation_=function(e){return"string"!=typeof e?null:e},Blockly.FieldImage.prototype.doValueUpdate_=function(e){this.value_=e,this.imageElement_&&this.imageElement_.setAttributeNS(Blockly.utils.dom.XLINK_NS,"xlink:href",this.value_||"")},Blockly.FieldImage.prototype.getFlipRtl=function(){return this.flipRtl_},Blockly.FieldImage.prototype.setText=function(e){null!==e&&(this.text_=e,this.imageElement_&&this.imageElement_.setAttribute("alt",e||""))},Blockly.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)},Blockly.Field.register("field_image",Blockly.FieldImage),Blockly.FieldNumber=function(e,t,o,n,i){this.setConstraints(t,o,n),null===(e=this.doClassValidation_(e))&&(e=0),Blockly.FieldNumber.superClass_.constructor.call(this,e,i)},goog.inherits(Blockly.FieldNumber,Blockly.FieldTextInput),Blockly.FieldNumber.fromJson=function(e){return new Blockly.FieldNumber(e.value,e.min,e.max,e.precision)},Blockly.FieldNumber.prototype.SERIALIZABLE=!0,Blockly.FieldNumber.prototype.setConstraints=function(e,t,o){o=parseFloat(o),this.precision_=isNaN(o)?0:o;var n=(o=this.precision_.toString()).indexOf(".");this.fractionalDigits_=-1==n?-1:o.length-(n+1),e=parseFloat(e),this.min_=isNaN(e)?-1/0:e,t=parseFloat(t),this.max_=isNaN(t)?1/0:t,this.setValue(this.getValue())},Blockly.FieldNumber.prototype.doClassValidation_=function(e){return null==e?null:(e=(e=(e=String(e)).replace(/O/gi,"0")).replace(/,/g,""),e=parseFloat(e||0),isNaN(e)?null:(e=Math.min(Math.max(e,this.min_),this.max_),this.precision_&&isFinite(e)&&(e=Math.round(e/this.precision_)*this.precision_),-1==this.fractionalDigits_?e:Number(e.toFixed(this.fractionalDigits_))))},Blockly.Field.register("field_number",Blockly.FieldNumber),Blockly.FieldVariable=function(e,t,o,n){this.menuGenerator_=Blockly.FieldVariable.dropdownCreate,this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y),this.setValidator(t),this.defaultVariableName=e||"",this.setTypes_(o,n),this.value_=null},goog.inherits(Blockly.FieldVariable,Blockly.FieldDropdown),Blockly.FieldVariable.fromJson=function(e){var t=Blockly.utils.replaceMessageReferences(e.variable);return new Blockly.FieldVariable(t,null,e.variableTypes,e.defaultType)},Blockly.FieldVariable.prototype.workspace_=null,Blockly.FieldVariable.prototype.SERIALIZABLE=!0,Blockly.FieldVariable.prototype.initModel=function(){if(!this.variable_){var e=Blockly.Variables.getOrCreateVariablePackage(this.workspace_,null,this.defaultVariableName,this.defaultType_);Blockly.Events.disable(),this.setValue(e.getId()),Blockly.Events.enable()}},Blockly.FieldVariable.prototype.fromXml=function(e){var t=e.getAttribute("id"),o=e.textContent,n=e.getAttribute("variabletype")||e.getAttribute("variableType")||"";if(t=Blockly.Variables.getOrCreateVariablePackage(this.workspace_,t,o,n),null!=n&&n!==t.type)throw Error("Serialized variable type with id '"+t.getId()+"' had type "+t.type+", and does not match variable field that references it: "+Blockly.Xml.domToText(e)+".");this.setValue(t.getId())},Blockly.FieldVariable.prototype.toXml=function(e){return this.initModel(),e.id=this.variable_.getId(),e.textContent=this.variable_.name,this.variable_.type&&e.setAttribute("variabletype",this.variable_.type),e},Blockly.FieldVariable.prototype.setSourceBlock=function(e){if(e.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");Blockly.FieldVariable.superClass_.setSourceBlock.call(this,e),this.workspace_=e.workspace},Blockly.FieldVariable.prototype.getValue=function(){return this.variable_?this.variable_.getId():null},Blockly.FieldVariable.prototype.getText=function(){return this.variable_?this.variable_.name:""},Blockly.FieldVariable.prototype.getVariable=function(){return this.variable_},Blockly.FieldVariable.prototype.getValidator=function(){return this.variable_?this.validator_:null},Blockly.FieldVariable.prototype.doClassValidation_=function(e){var t=Blockly.Variables.getVariable(this.workspace_,e);return t?(t=t.type,this.typeIsAllowed_(t)?e:(console.warn("Variable type doesn't match this field!  Type was "+t),null)):(console.warn("Variable id doesn't point to a real variable! ID was "+e),null)},Blockly.FieldVariable.prototype.doValueUpdate_=function(e){this.variable_=Blockly.Variables.getVariable(this.workspace_,e),this.value_=e,this.text_=this.variable_.name,this.isDirty_=!0},Blockly.FieldVariable.prototype.typeIsAllowed_=function(e){var t=this.getVariableTypes_();if(!t)return!0;for(var o=0;o<t.length;o++)if(e==t[o])return!0;return!1},Blockly.FieldVariable.prototype.getVariableTypes_=function(){var e=this.variableTypes;if(null===e&&this.workspace_)return this.workspace_.getVariableTypes();if(0==(e=e||[""]).length)throw e=this.getText(),Error("'variableTypes' of field variable "+e+" was an empty list");return e},Blockly.FieldVariable.prototype.setTypes_=function(e,t){var o=t||"";if(null==e||null==e)var n=null;else{if(!Array.isArray(e))throw Error("'variableTypes' was not an array in the definition of a FieldVariable");n=e;for(var i=!1,r=0;r<n.length;r++)n[r]==o&&(i=!0);if(!i)throw Error("Invalid default type '"+o+"' in the definition of a FieldVariable")}this.defaultType_=o,this.variableTypes=n},Blockly.FieldVariable.dropdownCreate=function(){if(!this.variable_)throw Error("Tried to call dropdownCreate on a variable field with no variable selected.");var e=this.getText(),t=[];if(this.workspace_)for(var o=this.getVariableTypes_(),n=0;n<o.length;n++){var i=this.workspace_.getVariablesOfType(o[n]);t=t.concat(i)}for(t.sort(Blockly.VariableModel.compareByName),o=[],n=0;n<t.length;n++)o[n]=[t[n].name,t[n].getId()];return o.push([Blockly.Msg.RENAME_VARIABLE,Blockly.RENAME_VARIABLE_ID]),Blockly.Msg.DELETE_VARIABLE&&o.push([Blockly.Msg.DELETE_VARIABLE.replace("%1",e),Blockly.DELETE_VARIABLE_ID]),o},Blockly.FieldVariable.prototype.onItemSelected=function(e,t){var o=t.getValue();if(this.workspace_){if(o==Blockly.RENAME_VARIABLE_ID)return void Blockly.Variables.renameVariable(this.workspace_,this.variable_);if(o==Blockly.DELETE_VARIABLE_ID)return void this.workspace_.deleteVariableById(this.variable_.getId())}this.setValue(o)},Blockly.FieldVariable.prototype.referencesVariables=function(){return!0},Blockly.Field.register("field_variable",Blockly.FieldVariable);Blockly.Generator=function(e){this.name_=e,this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,"g")},Blockly.Generator.NAME_TYPE="generated_function",Blockly.Generator.prototype.INFINITE_LOOP_TRAP=null,Blockly.Generator.prototype.STATEMENT_PREFIX=null,Blockly.Generator.prototype.STATEMENT_SUFFIX=null,Blockly.Generator.prototype.INDENT="  ",Blockly.Generator.prototype.COMMENT_WRAP=60,Blockly.Generator.prototype.ORDER_OVERRIDES=[],Blockly.Generator.prototype.workspaceToCode=function(e){e||(console.warn("No workspace specified in workspaceToCode call.  Guessing."),e=Blockly.getMainWorkspace());var t=[];this.init(e),e=e.getTopBlocks(!0);for(var o,n=0;o=e[n];n++){var i=this.blockToCode(o);Array.isArray(i)&&(i=i[0]),i&&(o.outputConnection&&(i=this.scrubNakedValue(i),this.STATEMENT_PREFIX&&!o.suppressPrefixSuffix&&(i=this.injectId(this.STATEMENT_PREFIX,o)+i),this.STATEMENT_SUFFIX&&!o.suppressPrefixSuffix&&(i+=this.injectId(this.STATEMENT_SUFFIX,o))),t.push(i))}return t=t.join("\n"),(t=(t=(t=this.finish(t)).replace(/^\s+\n/,"")).replace(/\n\s+$/,"\n")).replace(/[ \t]+\n/g,"\n")},Blockly.Generator.prototype.prefixLines=function(e,t){return t+e.replace(/(?!\n$)\n/g,"\n"+t)},Blockly.Generator.prototype.allNestedComments=function(e){var t=[];e=e.getDescendants(!0);for(var o=0;o<e.length;o++){var n=e[o].getCommentText();n&&t.push(n)}return t.length&&t.push(""),t.join("\n")},Blockly.Generator.prototype.blockToCode=function(e,t){if(!e)return"";if(!e.isEnabled())return t?"":this.blockToCode(e.getNextBlock());var o=this[e.type];if("function"!=typeof o)throw Error('Language "'+this.name_+'" does not know how to generate  code for block type "'+e.type+'".');if(o=o.call(e,e),Array.isArray(o)){if(!e.outputConnection)throw TypeError("Expecting string from statement block: "+e.type);return[this.scrub_(e,o[0],t),o[1]]}if("string"==typeof o)return this.STATEMENT_PREFIX&&!e.suppressPrefixSuffix&&(o=this.injectId(this.STATEMENT_PREFIX,e)+o),this.STATEMENT_SUFFIX&&!e.suppressPrefixSuffix&&(o+=this.injectId(this.STATEMENT_SUFFIX,e)),this.scrub_(e,o,t);if(null===o)return"";throw SyntaxError("Invalid code generated: "+o)},Blockly.Generator.prototype.valueToCode=function(e,t,o){if(isNaN(o))throw TypeError("Expecting valid order from block: "+e.type);var n=e.getInputTargetBlock(t);if(!n)return"";if(""===(t=this.blockToCode(n)))return"";if(!Array.isArray(t))throw TypeError("Expecting tuple from value block: "+n.type);if(e=t[0],t=t[1],isNaN(t))throw TypeError("Expecting valid order from value block: "+n.type);if(!e)return"";n=!1;var i=Math.floor(o),r=Math.floor(t);if(i<=r&&(i!=r||0!=i&&99!=i))for(n=!0,i=0;i<this.ORDER_OVERRIDES.length;i++)if(this.ORDER_OVERRIDES[i][0]==o&&this.ORDER_OVERRIDES[i][1]==t){n=!1;break}return n&&(e="("+e+")"),e},Blockly.Generator.prototype.statementToCode=function(e,t){var o=e.getInputTargetBlock(t),n=this.blockToCode(o);if("string"!=typeof n)throw TypeError("Expecting code from statement block: "+(o&&o.type));return n&&(n=this.prefixLines(n,this.INDENT)),n},Blockly.Generator.prototype.addLoopTrap=function(e,t){return this.INFINITE_LOOP_TRAP&&(e=this.prefixLines(this.injectId(this.INFINITE_LOOP_TRAP,t),this.INDENT)+e),this.STATEMENT_SUFFIX&&!t.suppressPrefixSuffix&&(e=this.prefixLines(this.injectId(this.STATEMENT_SUFFIX,t),this.INDENT)+e),this.STATEMENT_PREFIX&&!t.suppressPrefixSuffix&&(e+=this.prefixLines(this.injectId(this.STATEMENT_PREFIX,t),this.INDENT)),e},Blockly.Generator.prototype.injectId=function(e,t){var o=t.id.replace(/\$/g,"$$$$");return e.replace(/%1/g,"'"+o+"'")},Blockly.Generator.prototype.RESERVED_WORDS_="",Blockly.Generator.prototype.addReservedWords=function(e){this.RESERVED_WORDS_+=e+","},Blockly.Generator.prototype.FUNCTION_NAME_PLACEHOLDER_="{leCUI8hutHZI4480Dc}",Blockly.Generator.prototype.provideFunction_=function(e,t){if(!this.definitions_[e]){var o,n=this.variableDB_.getDistinctName(e,Blockly.Procedures.NAME_TYPE);for(this.functionNames_[e]=n,n=t.join("\n").replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,n);o!=n;)o=n,n=n.replace(/^(( {2})*) {2}/gm,"$1\0");n=n.replace(/\0/g,this.INDENT),this.definitions_[e]=n}return this.functionNames_[e]},Blockly.Generator.prototype.init=function(e){},Blockly.Generator.prototype.scrub_=function(e,t){return t},Blockly.Generator.prototype.finish=function(e){return e},Blockly.Generator.prototype.scrubNakedValue=function(e){return e},Blockly.Names=function(e,t){if(this.variablePrefix_=t||"",this.reservedDict_=Object.create(null),e)for(var o=e.split(","),n=0;n<o.length;n++)this.reservedDict_[o[n]]=!0;this.reset()},Blockly.Names.DEVELOPER_VARIABLE_TYPE="DEVELOPER_VARIABLE",Blockly.Names.prototype.reset=function(){this.db_=Object.create(null),this.dbReverse_=Object.create(null),this.variableMap_=null},Blockly.Names.prototype.setVariableMap=function(e){this.variableMap_=e},Blockly.Names.prototype.getNameForUserVariable_=function(e){return this.variableMap_?(e=this.variableMap_.getVariableById(e))?e.name:null:(console.log("Deprecated call to Blockly.Names.prototype.getName without defining a variable map. To fix, add the folowing code in your generator's init() function:\nBlockly.YourGeneratorName.variableDB_.setVariableMap(workspace.getVariableMap());"),null)},Blockly.Names.prototype.getName=function(e,t){if(t==Blockly.Variables.NAME_TYPE){var o=this.getNameForUserVariable_(e);o&&(e=o)}o=e.toLowerCase()+"_"+t;var n=t==Blockly.Variables.NAME_TYPE||t==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"";if(o in this.db_)return n+this.db_[o];var i=this.getDistinctName(e,t);return this.db_[o]=i.substr(n.length),i},Blockly.Names.prototype.getDistinctName=function(e,t){for(var o=this.safeName_(e),n="";this.dbReverse_[o+n]||o+n in this.reservedDict_;)n=n?n+1:2;return o+=n,this.dbReverse_[o]=!0,(t==Blockly.Variables.NAME_TYPE||t==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"")+o},Blockly.Names.prototype.safeName_=function(e){return e?(e=encodeURI(e.replace(/ /g,"_")).replace(/[^\w]/g,"_"),-1!="0123456789".indexOf(e[0])&&(e="my_"+e)):e="unnamed",e},Blockly.Names.equals=function(e,t){return e.toLowerCase()==t.toLowerCase()},Blockly.Procedures={},Blockly.Procedures.NAME_TYPE=Blockly.PROCEDURE_CATEGORY_NAME,Blockly.Procedures.allProcedures=function(e){e=e.getAllBlocks(!1);for(var t=[],o=[],n=0;n<e.length;n++)if(e[n].getProcedureDef){var i=e[n].getProcedureDef();i&&(i[2]?t.push(i):o.push(i))}return o.sort(Blockly.Procedures.procTupleComparator_),t.sort(Blockly.Procedures.procTupleComparator_),[o,t]},Blockly.Procedures.procTupleComparator_=function(e,t){return e[0].toLowerCase().localeCompare(t[0].toLowerCase())},Blockly.Procedures.findLegalName=function(e,t){if(t.isInFlyout)return e;for(;!Blockly.Procedures.isLegalName_(e,t.workspace,t);){var o=e.match(/^(.*?)(\d+)$/);e=o?o[1]+(parseInt(o[2],10)+1):e+"2"}return e},Blockly.Procedures.isLegalName_=function(e,t,o){return!Blockly.Procedures.isNameUsed(e,t,o)},Blockly.Procedures.isNameUsed=function(e,t,o){t=t.getAllBlocks(!1);for(var n=0;n<t.length;n++)if(t[n]!=o&&t[n].getProcedureDef){var i=t[n].getProcedureDef();if(Blockly.Names.equals(i[0],e))return!0}return!1},Blockly.Procedures.rename=function(e){e=e.trim();var t=Blockly.Procedures.findLegalName(e,this.getSourceBlock()),o=this.getValue();if(o!=e&&o!=t){e=this.getSourceBlock().workspace.getAllBlocks(!1);for(var n=0;n<e.length;n++)e[n].renameProcedure&&e[n].renameProcedure(o,t)}return t},Blockly.Procedures.flyoutCategory=function(e){function t(e,t){for(var n=0;n<e.length;n++){var i=e[n][0],r=e[n][1],s=Blockly.utils.xml.createElement("block");s.setAttribute("type",t),s.setAttribute("gap",16);var a=Blockly.utils.xml.createElement("mutation");for(a.setAttribute("name",i),s.appendChild(a),i=0;i<r.length;i++){var l=Blockly.utils.xml.createElement("arg");l.setAttribute("name",r[i]),a.appendChild(l)}o.push(s)}}var o=[];if(Blockly.Blocks.procedures_defnoreturn){var n=Blockly.utils.xml.createElement("block");n.setAttribute("type","procedures_defnoreturn"),n.setAttribute("gap",16);var i=Blockly.utils.xml.createElement("field");i.setAttribute("name","NAME"),i.appendChild(Blockly.utils.xml.createTextNode(Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE)),n.appendChild(i),o.push(n)}return Blockly.Blocks.procedures_defreturn&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","procedures_defreturn"),n.setAttribute("gap",16),(i=Blockly.utils.xml.createElement("field")).setAttribute("name","NAME"),i.appendChild(Blockly.utils.xml.createTextNode(Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE)),n.appendChild(i),o.push(n)),Blockly.Blocks.procedures_ifreturn&&((n=Blockly.utils.xml.createElement("block")).setAttribute("type","procedures_ifreturn"),n.setAttribute("gap",16),o.push(n)),o.length&&o[o.length-1].setAttribute("gap",24),t((e=Blockly.Procedures.allProcedures(e))[0],"procedures_callnoreturn"),t(e[1],"procedures_callreturn"),o},Blockly.Procedures.getCallers=function(e,t){for(var o=[],n=t.getAllBlocks(!1),i=0;i<n.length;i++)if(n[i].getProcedureCall){var r=n[i].getProcedureCall();r&&Blockly.Names.equals(r,e)&&o.push(n[i])}return o},Blockly.Procedures.mutateCallers=function(e){var t,o=Blockly.Events.recordUndo,n=e.getProcedureDef()[0],i=e.mutationToDom(!0);for(e=Blockly.Procedures.getCallers(n,e.workspace),n=0;t=e[n];n++){var r=t.mutationToDom();r=r&&Blockly.Xml.domToText(r),t.domToMutation(i);var s=t.mutationToDom();r!=(s=s&&Blockly.Xml.domToText(s))&&(Blockly.Events.recordUndo=!1,Blockly.Events.fire(new Blockly.Events.BlockChange(t,"mutation",null,r,s)),Blockly.Events.recordUndo=o)}},Blockly.Procedures.getDefinition=function(e,t){for(var o=t.getTopBlocks(!1),n=0;n<o.length;n++)if(o[n].getProcedureDef){var i=o[n].getProcedureDef();if(i&&Blockly.Names.equals(i[0],e))return o[n]}return null},Blockly.FlyoutButton=function(e,t,o,n){this.workspace_=e,this.targetWorkspace_=t,this.text_=o.getAttribute("text"),this.position_=new Blockly.utils.Coordinate(0,0),this.isLabel_=n,this.callbackKey_=o.getAttribute("callbackKey"),this.cssClass_=o.getAttribute("web-class")||null},Blockly.FlyoutButton.MARGIN=5,Blockly.FlyoutButton.prototype.width=0,Blockly.FlyoutButton.prototype.height=0,Blockly.FlyoutButton.prototype.onMouseUpWrapper_=null,Blockly.FlyoutButton.prototype.createDom=function(){var e=this.isLabel_?"blocklyFlyoutLabel":"blocklyFlyoutButton";if(this.cssClass_&&(e+=" "+this.cssClass_),this.svgGroup_=Blockly.utils.dom.createSvgElement("g",{class:e},this.workspace_.getCanvas()),!this.isLabel_)var t=Blockly.utils.dom.createSvgElement("rect",{class:"blocklyFlyoutButtonShadow",rx:4,ry:4,x:1,y:1},this.svgGroup_);e=Blockly.utils.dom.createSvgElement("rect",{class:this.isLabel_?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",rx:4,ry:4},this.svgGroup_);var o=Blockly.utils.dom.createSvgElement("text",{class:this.isLabel_?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup_);return o.textContent=Blockly.utils.replaceMessageReferences(this.text_),this.width=Blockly.Field.getCachedWidth(o),this.height=20,this.isLabel_||(this.width+=2*Blockly.FlyoutButton.MARGIN,t.setAttribute("width",this.width),t.setAttribute("height",this.height)),e.setAttribute("width",this.width),e.setAttribute("height",this.height),o.setAttribute("x",this.width/2),o.setAttribute("y",this.height-Blockly.FlyoutButton.MARGIN),this.updateTransform_(),this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.onMouseUp_),this.svgGroup_},Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_(),this.svgGroup_.setAttribute("display","block")},Blockly.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute("transform","translate("+this.position_.x+","+this.position_.y+")")},Blockly.FlyoutButton.prototype.moveTo=function(e,t){this.position_.x=e,this.position_.y=t,this.updateTransform_()},Blockly.FlyoutButton.prototype.getPosition=function(){return this.position_},Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_},Blockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&Blockly.unbindEvent_(this.onMouseUpWrapper_),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.targetWorkspace_=this.workspace_=null},Blockly.FlyoutButton.prototype.onMouseUp_=function(e){(e=this.targetWorkspace_.getGesture(e))&&e.cancel(),this.isLabel_&&this.callbackKey_?console.warn("Labels should not have callbacks. Label text: "+this.text_):this.isLabel_||this.callbackKey_&&this.targetWorkspace_.getButtonCallback(this.callbackKey_)?this.isLabel_||this.targetWorkspace_.getButtonCallback(this.callbackKey_)(this):console.warn("Buttons should have callbacks. Button text: "+this.text_)},Blockly.Flyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),this.workspace_=new Blockly.WorkspaceSvg(e),this.workspace_.isFlyout=!0,this.RTL=!!e.RTL,this.toolboxPosition_=e.toolboxPosition,this.eventWrappers_=[],this.mats_=[],this.buttons_=[],this.listeners_=[],this.permanentlyDisabled_=[]},Blockly.Flyout.prototype.autoClose=!0,Blockly.Flyout.prototype.isVisible_=!1,Blockly.Flyout.prototype.containerVisible_=!0,Blockly.Flyout.prototype.CORNER_RADIUS=8,Blockly.Flyout.prototype.MARGIN=Blockly.Flyout.prototype.CORNER_RADIUS,Blockly.Flyout.prototype.GAP_X=3*Blockly.Flyout.prototype.MARGIN,Blockly.Flyout.prototype.GAP_Y=3*Blockly.Flyout.prototype.MARGIN,Blockly.Flyout.prototype.SCROLLBAR_PADDING=2,Blockly.Flyout.prototype.width_=0,Blockly.Flyout.prototype.height_=0,Blockly.Flyout.prototype.dragAngleRange_=70,Blockly.Flyout.prototype.createDom=function(e){return this.svgGroup_=Blockly.utils.dom.createSvgElement(e,{class:"blocklyFlyout",style:"display: none"},null),this.svgBackground_=Blockly.utils.dom.createSvgElement("path",{class:"blocklyFlyoutBackground"},this.svgGroup_),this.svgGroup_.appendChild(this.workspace_.createDom()),this.svgGroup_},Blockly.Flyout.prototype.init=function(e){this.targetWorkspace_=e,this.workspace_.targetWorkspace=e,this.scrollbar_=new Blockly.Scrollbar(this.workspace_,this.horizontalLayout_,!1,"blocklyFlyoutScrollbar"),this.hide(),Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.wheel_)),this.autoClose||(this.filterWrapper_=this.filterForCapacity_.bind(this),this.targetWorkspace_.addChangeListener(this.filterWrapper_)),Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDown_)),this.workspace_.getGesture=this.targetWorkspace_.getGesture.bind(this.targetWorkspace_),this.workspace_.variableMap_=this.targetWorkspace_.getVariableMap(),this.workspace_.createPotentialVariableMap()},Blockly.Flyout.prototype.dispose=function(){this.hide(),Blockly.unbindEvent_(this.eventWrappers_),this.filterWrapper_&&(this.targetWorkspace_.removeChangeListener(this.filterWrapper_),this.filterWrapper_=null),this.scrollbar_&&(this.scrollbar_.dispose(),this.scrollbar_=null),this.workspace_&&(this.workspace_.targetWorkspace=null,this.workspace_.dispose(),this.workspace_=null),this.svgGroup_&&(Blockly.utils.dom.removeNode(this.svgGroup_),this.svgGroup_=null),this.targetWorkspace_=this.svgBackground_=null},Blockly.Flyout.prototype.getWidth=function(){return this.width_},Blockly.Flyout.prototype.getHeight=function(){return this.height_},Blockly.Flyout.prototype.getWorkspace=function(){return this.workspace_},Blockly.Flyout.prototype.isVisible=function(){return this.isVisible_},Blockly.Flyout.prototype.setVisible=function(e){var t=e!=this.isVisible();this.isVisible_=e,t&&this.updateDisplay_()},Blockly.Flyout.prototype.setContainerVisible=function(e){var t=e!=this.containerVisible_;this.containerVisible_=e,t&&this.updateDisplay_()},Blockly.Flyout.prototype.updateDisplay_=function(){var e=!!this.containerVisible_&&this.isVisible();this.svgGroup_.style.display=e?"block":"none",this.scrollbar_.setContainerVisible(e)},Blockly.Flyout.prototype.positionAt_=function(e,t,o,n){this.svgGroup_.setAttribute("width",e),this.svgGroup_.setAttribute("height",t),"svg"==this.svgGroup_.tagName?Blockly.utils.dom.setCssTransform(this.svgGroup_,"translate("+o+"px,"+n+"px)"):this.svgGroup_.setAttribute("transform","translate("+o+","+n+")"),this.scrollbar_&&(this.scrollbar_.setOrigin(o,n),this.scrollbar_.resize(),this.scrollbar_.setPosition_(this.scrollbar_.position_.x,this.scrollbar_.position_.y))},Blockly.Flyout.prototype.hide=function(){if(this.isVisible()){this.setVisible(!1);for(var e,t=0;e=this.listeners_[t];t++)Blockly.unbindEvent_(e);this.listeners_.length=0,this.reflowWrapper_&&(this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowWrapper_=null)}},Blockly.Flyout.prototype.show=function(e){if(this.workspace_.setResizesEnabled(!1),this.hide(),this.clearOldBlocks_(),"string"==typeof e){if("function"!=typeof(e=this.workspace_.targetWorkspace.getToolboxCategoryCallback(e)))throw TypeError("Couldn't find a callback function when opening a toolbox category.");if(e=e(this.workspace_.targetWorkspace),!Array.isArray(e))throw TypeError("Result of toolbox category callback must be an array.")}this.setVisible(!0);var t=[],o=[];this.permanentlyDisabled_.length=0;for(var n,i=this.horizontalLayout_?this.GAP_X:this.GAP_Y,r=0;n=e[r];r++)if(n.tagName)switch(n.tagName.toUpperCase()){case"BLOCK":var s=Blockly.Xml.domToBlock(n,this.workspace_);s.isEnabled()||this.permanentlyDisabled_.push(s),t.push({type:"block",block:s}),n=parseInt(n.getAttribute("gap"),10),o.push(isNaN(n)?i:n);break;case"SEP":n=parseInt(n.getAttribute("gap"),10),!isNaN(n)&&0<o.length?o[o.length-1]=n:o.push(i);break;case"LABEL":case"BUTTON":s="LABEL"==n.tagName.toUpperCase(),n=new Blockly.FlyoutButton(this.workspace_,this.targetWorkspace_,n,s),t.push({type:"button",button:n}),o.push(i)}this.layout_(t,o),this.listeners_.push(Blockly.bindEventWithChecks_(this.svgBackground_,"mouseover",this,(function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)e.removeSelect()}))),this.horizontalLayout_?this.height_=0:this.width_=0,this.workspace_.setResizesEnabled(!0),this.reflow(),this.filterForCapacity_(),this.position(),this.reflowWrapper_=this.reflow.bind(this),this.workspace_.addChangeListener(this.reflowWrapper_)},Blockly.Flyout.prototype.clearOldBlocks_=function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)e.workspace==this.workspace_&&e.dispose(!1,!1);for(o=0;o<this.mats_.length;o++)(t=this.mats_[o])&&Blockly.utils.dom.removeNode(t);for(o=this.mats_.length=0;t=this.buttons_[o];o++)t.dispose();this.buttons_.length=0,this.workspace_.getPotentialVariableMap().clear()},Blockly.Flyout.prototype.addBlockListeners_=function(e,t,o){this.listeners_.push(Blockly.bindEventWithChecks_(e,"mousedown",null,this.blockMouseDown_(t))),this.listeners_.push(Blockly.bindEventWithChecks_(o,"mousedown",null,this.blockMouseDown_(t))),this.listeners_.push(Blockly.bindEvent_(e,"mouseover",t,t.addSelect)),this.listeners_.push(Blockly.bindEvent_(e,"mouseout",t,t.removeSelect)),this.listeners_.push(Blockly.bindEvent_(o,"mouseover",t,t.addSelect)),this.listeners_.push(Blockly.bindEvent_(o,"mouseout",t,t.removeSelect))},Blockly.Flyout.prototype.blockMouseDown_=function(e){var t=this;return function(o){var n=t.targetWorkspace_.getGesture(o);n&&(n.setStartBlock(e),n.handleFlyoutStart(o,t))}},Blockly.Flyout.prototype.onMouseDown_=function(e){var t=this.targetWorkspace_.getGesture(e);t&&t.handleFlyoutStart(e,this)},Blockly.Flyout.prototype.isBlockCreatable_=function(e){return e.isEnabled()},Blockly.Flyout.prototype.createBlock=function(e){var t=null;Blockly.Events.disable();var o=this.targetWorkspace_.getAllVariables();this.targetWorkspace_.setResizesEnabled(!1);try{t=this.placeNewBlock_(e),Blockly.hideChaff()}finally{Blockly.Events.enable()}if(e=Blockly.Variables.getAddedVariables(this.targetWorkspace_,o),Blockly.Events.isEnabled())for(Blockly.Events.setGroup(!0),Blockly.Events.fire(new Blockly.Events.Create(t)),o=0;o<e.length;o++)Blockly.Events.fire(new Blockly.Events.VarCreate(e[o]));return this.autoClose?this.hide():this.filterForCapacity_(),t},Blockly.Flyout.prototype.initFlyoutButton_=function(e,t,o){var n=e.createDom();e.moveTo(t,o),e.show(),this.listeners_.push(Blockly.bindEventWithChecks_(n,"mousedown",this,this.onMouseDown_)),this.buttons_.push(e)},Blockly.Flyout.prototype.createRect_=function(e,t,o,n,i){return(t=Blockly.utils.dom.createSvgElement("rect",{"fill-opacity":0,x:t,y:o,height:n.height,width:n.width},null)).tooltip=e,Blockly.Tooltip.bindMouseEvents(t),this.workspace_.getCanvas().insertBefore(t,e.getSvgRoot()),e.flyoutRect_=t,this.mats_[i]=t},Blockly.Flyout.prototype.moveRectToBlock_=function(e,t){var o=t.getHeightWidth();e.setAttribute("width",o.width),e.setAttribute("height",o.height);var n=t.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0;n&&t.moveBy(0,n),n=t.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0;var i=t.getRelativeToSurfaceXY();e.setAttribute("y",i.y),e.setAttribute("x",this.RTL?i.x-o.width+n:i.x-n)},Blockly.Flyout.prototype.filterForCapacity_=function(){for(var e,t=this.workspace_.getTopBlocks(!1),o=0;e=t[o];o++)if(-1==this.permanentlyDisabled_.indexOf(e))for(var n=this.targetWorkspace_.isCapacityAvailable(Blockly.utils.getBlockTypeCounts(e));e;)e.setEnabled(n),e=e.getNextBlock()},Blockly.Flyout.prototype.reflow=function(){this.reflowWrapper_&&this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowInternal_(),this.reflowWrapper_&&this.workspace_.addChangeListener(this.reflowWrapper_)},Blockly.Flyout.prototype.isScrollable=function(){return!!this.scrollbar_&&this.scrollbar_.isVisible()},Blockly.Flyout.prototype.placeNewBlock_=function(e){var t=this.targetWorkspace_;if(!e.getSvgRoot())throw Error("oldBlock is not rendered.");var o=Blockly.Xml.blockToDom(e,!0);if(t.setResizesEnabled(!1),!(o=Blockly.Xml.domToBlock(o,t)).getSvgRoot())throw Error("block is not rendered.");var n=t.getOriginOffsetInPixels(),i=this.workspace_.getOriginOffsetInPixels();return(e=e.getRelativeToSurfaceXY()).scale(this.workspace_.scale),e=Blockly.utils.Coordinate.sum(i,e),(n=Blockly.utils.Coordinate.difference(e,n)).scale(1/t.scale),o.moveBy(n.x,n.y),o},Blockly.HorizontalFlyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),Blockly.HorizontalFlyout.superClass_.constructor.call(this,e),this.horizontalLayout_=!0},goog.inherits(Blockly.HorizontalFlyout,Blockly.Flyout),Blockly.HorizontalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var e=this.workspace_.getCanvas().getBBox()}catch(t){e={height:0,y:0,width:0,x:0}}var t=this.SCROLLBAR_PADDING,o=this.SCROLLBAR_PADDING;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM&&(t=0);var n=this.height_;return this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP&&(n-=this.SCROLLBAR_PADDING),{viewHeight:n,viewWidth:this.width_-2*this.SCROLLBAR_PADDING,contentHeight:(e.height+2*this.MARGIN)*this.workspace_.scale,contentWidth:(e.width+2*this.MARGIN)*this.workspace_.scale,viewTop:-this.workspace_.scrollY,viewLeft:-this.workspace_.scrollX,contentTop:0,contentLeft:0,absoluteTop:t,absoluteLeft:o}},Blockly.HorizontalFlyout.prototype.setMetrics_=function(e){var t=this.getMetrics_();t&&("number"==typeof e.x&&(this.workspace_.scrollX=-t.contentWidth*e.x),this.workspace_.translate(this.workspace_.scrollX+t.absoluteLeft,this.workspace_.scrollY+t.absoluteTop))},Blockly.HorizontalFlyout.prototype.position=function(){if(this.isVisible()){var e=this.targetWorkspace_.getMetrics();e&&(this.width_=e.viewWidth,this.setBackgroundPath_(e.viewWidth-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS),this.positionAt_(this.width_,this.height_,0,this.targetWorkspace_.toolboxPosition==this.toolboxPosition_?e.toolboxHeight?this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?e.toolboxHeight:e.viewHeight-this.height_:this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?0:e.viewHeight:this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?0:e.viewHeight+e.absoluteTop-this.height_))}},Blockly.HorizontalFlyout.prototype.setBackgroundPath_=function(e,t){var o=this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP,n=["M 0,"+(o?0:this.CORNER_RADIUS)];o?(n.push("h",e+2*this.CORNER_RADIUS),n.push("v",t),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",-1*e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),n.push("h",e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",t),n.push("h",-e-2*this.CORNER_RADIUS)),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))},Blockly.HorizontalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(this.RTL?1/0:0)},Blockly.HorizontalFlyout.prototype.wheel_=function(e){var t=Blockly.utils.getScrollDeltaPixels(e),o=t.x||t.y;o&&(o=(t=this.getMetrics_()).viewLeft+o,o=Math.min(o,t.contentWidth-t.viewWidth),o=Math.max(o,0),this.scrollbar_.set(o),Blockly.WidgetDiv.hide()),e.preventDefault(),e.stopPropagation()},Blockly.HorizontalFlyout.prototype.layout_=function(e,t){this.workspace_.scale=this.targetWorkspace_.scale;var o=this.MARGIN,n=this.RTL?o:o+Blockly.BlockSvg.TAB_WIDTH;this.RTL&&(e=e.reverse());for(var i,r=0;i=e[r];r++)if("block"==i.type){for(var s,a=(i=i.block).getDescendants(!1),l=0;s=a[l];l++)s.isInFlyout=!0;i.render(),a=i.getSvgRoot(),l=i.getHeightWidth(),s=i.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0,s=this.RTL?n+l.width:n+s,i.moveBy(s,o),s=this.createRect_(i,s,o,l,r),n+=l.width+t[r],this.addBlockListeners_(a,i,s)}else"button"==i.type&&(this.initFlyoutButton_(i.button,n,o),n+=i.button.width+t[r])},Blockly.HorizontalFlyout.prototype.isDragTowardWorkspace=function(e){e=Math.atan2(e.y,e.x)/Math.PI*180;var t=this.dragAngleRange_;return e<90+t&&e>90-t||e>-90-t&&e<-90+t},Blockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.top;return this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP?new Blockly.utils.Rect(-1e9,t+e.height,-1e9,1e9):new Blockly.utils.Rect(t,-1e9,-1e9,1e9)},Blockly.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var e,t=0,o=this.workspace_.getTopBlocks(!1),n=0;e=o[n];n++)t=Math.max(t,e.getHeightWidth().height);if(t+=1.5*this.MARGIN,t*=this.workspace_.scale,t+=Blockly.Scrollbar.scrollbarThickness,this.height_!=t){for(n=0;e=o[n];n++)e.flyoutRect_&&this.moveRectToBlock_(e.flyoutRect_,e);this.height_=t,this.position()}},Blockly.VerticalFlyout=function(e){e.getMetrics=this.getMetrics_.bind(this),e.setMetrics=this.setMetrics_.bind(this),Blockly.VerticalFlyout.superClass_.constructor.call(this,e),this.horizontalLayout_=!1},goog.inherits(Blockly.VerticalFlyout,Blockly.Flyout),Blockly.VerticalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var e=this.workspace_.getCanvas().getBBox()}catch(t){e={height:0,y:0,width:0,x:0}}var t=this.SCROLLBAR_PADDING,o=this.height_-2*this.SCROLLBAR_PADDING,n=this.width_;return this.RTL||(n-=this.SCROLLBAR_PADDING),{viewHeight:o,viewWidth:n,contentHeight:e.height*this.workspace_.scale+2*this.MARGIN,contentWidth:e.width*this.workspace_.scale+2*this.MARGIN,viewTop:-this.workspace_.scrollY+e.y,viewLeft:-this.workspace_.scrollX,contentTop:e.y,contentLeft:e.x,absoluteTop:t,absoluteLeft:0}},Blockly.VerticalFlyout.prototype.setMetrics_=function(e){var t=this.getMetrics_();t&&("number"==typeof e.y&&(this.workspace_.scrollY=-t.contentHeight*e.y),this.workspace_.translate(this.workspace_.scrollX+t.absoluteLeft,this.workspace_.scrollY+t.absoluteTop))},Blockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()){var e=this.targetWorkspace_.getMetrics();e&&(this.height_=e.viewHeight,this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,e.viewHeight-2*this.CORNER_RADIUS),this.positionAt_(this.width_,this.height_,this.targetWorkspace_.toolboxPosition==this.toolboxPosition_?e.toolboxWidth?this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?e.toolboxWidth:e.viewWidth-this.width_:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:e.viewWidth:this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?0:e.viewWidth+e.absoluteLeft-this.width_,0))}},Blockly.VerticalFlyout.prototype.setBackgroundPath_=function(e,t){var o=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT,n=e+this.CORNER_RADIUS;(n=["M "+(o?n:0)+",0"]).push("h",o?-e:e),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,o?0:1,o?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("v",Math.max(0,t)),n.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,o?0:1,o?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS),n.push("h",o?e:-e),n.push("z"),this.svgBackground_.setAttribute("d",n.join(" "))},Blockly.VerticalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(0)},Blockly.VerticalFlyout.prototype.wheel_=function(e){var t=Blockly.utils.getScrollDeltaPixels(e);if(t.y){var o=this.getMetrics_();t=o.viewTop-o.contentTop+t.y,t=Math.min(t,o.contentHeight-o.viewHeight),t=Math.max(t,0),this.scrollbar_.set(t),Blockly.WidgetDiv.hide()}e.preventDefault(),e.stopPropagation()},Blockly.VerticalFlyout.prototype.layout_=function(e,t){this.workspace_.scale=this.targetWorkspace_.scale;for(var o,n=this.MARGIN,i=this.RTL?n:n+Blockly.BlockSvg.TAB_WIDTH,r=0;o=e[r];r++)if("block"==o.type){for(var s,a=(o=o.block).getDescendants(!1),l=0;s=a[l];l++)s.isInFlyout=!0;o.render(),a=o.getSvgRoot(),l=o.getHeightWidth(),o.moveBy(i,n),s=this.createRect_(o,this.RTL?i-l.width:i,n,l,r),this.addBlockListeners_(a,o,s),n+=l.height+t[r]}else"button"==o.type&&(this.initFlyoutButton_(o.button,i,n),n+=o.button.height+t[r])},Blockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(e){e=Math.atan2(e.y,e.x)/Math.PI*180;var t=this.dragAngleRange_;return e<t&&e>-t||e<-180+t||e>180-t},Blockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var e=this.svgGroup_.getBoundingClientRect(),t=e.left;return this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT?new Blockly.utils.Rect(-1e9,1e9,-1e9,t+e.width):(Blockly.utils.userAgent.GECKO&&this.targetWorkspace_&&this.targetWorkspace_.isMutator&&(e=this.targetWorkspace_.svgGroup_.getBoundingClientRect().x,10>Math.abs(e-t)&&(t+=this.leftEdge_*this.targetWorkspace_.options.parentWorkspace.scale)),new Blockly.utils.Rect(-1e9,1e9,t,1e9))},Blockly.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var e,t=0,o=this.workspace_.getTopBlocks(!1),n=0;e=o[n];n++){var i=e.getHeightWidth().width;e.outputConnection&&(i-=Blockly.BlockSvg.TAB_WIDTH),t=Math.max(t,i)}for(n=0;e=this.buttons_[n];n++)t=Math.max(t,e.width);if(t+=1.5*this.MARGIN+Blockly.BlockSvg.TAB_WIDTH,t*=this.workspace_.scale,t+=Blockly.Scrollbar.scrollbarThickness,this.width_!=t){for(n=0;e=o[n];n++)this.RTL&&(i=e.getRelativeToSurfaceXY().x,e.moveBy(t/this.workspace_.scale-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH-i,0)),e.flyoutRect_&&this.moveRectToBlock_(e.flyoutRect_,e);if(this.RTL)for(n=0;e=this.buttons_[n];n++)o=e.getPosition().y,e.moveTo(t/this.workspace_.scale-e.width-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH,o);this.width_=t,this.position()}},Blockly.Toolbox=function(e){this.workspace_=e,this.RTL=e.options.RTL,this.horizontalLayout_=e.options.horizontalLayout,this.toolboxPosition=e.options.toolboxPosition,this.config_={indentWidth:19,cssRoot:"blocklyTreeRoot",cssHideRoot:"blocklyHidden",cssItem:"",cssTreeRow:"blocklyTreeRow",cssItemLabel:"blocklyTreeLabel",cssTreeIcon:"blocklyTreeIcon",cssExpandedFolderIcon:"blocklyTreeIconOpen",cssFileIcon:"blocklyTreeIconNone",cssSelectedRow:"blocklyTreeSelected"},this.treeSeparatorConfig_={cssTreeRow:"blocklyTreeSeparator"},this.horizontalLayout_&&(this.config_.cssTreeRow+=e.RTL?" blocklyHorizontalTreeRtl":" blocklyHorizontalTree",this.treeSeparatorConfig_.cssTreeRow="blocklyTreeSeparatorHorizontal "+(e.RTL?"blocklyHorizontalTreeRtl":"blocklyHorizontalTree"),this.config_.cssTreeIcon="")},Blockly.Toolbox.prototype.width=0,Blockly.Toolbox.prototype.height=0,Blockly.Toolbox.prototype.selectedOption_=null,Blockly.Toolbox.prototype.lastCategory_=null,Blockly.Toolbox.prototype.init=function(){var e=this.workspace_,t=this.workspace_.getParentSvg();this.HtmlDiv=document.createElement("div"),this.HtmlDiv.className="blocklyToolboxDiv",this.HtmlDiv.setAttribute("dir",e.RTL?"RTL":"LTR"),t.parentNode.insertBefore(this.HtmlDiv,t),Blockly.bindEventWithChecks_(this.HtmlDiv,"mousedown",this,(function(e){Blockly.utils.isRightButton(e)||e.target==this.HtmlDiv?Blockly.hideChaff(!1):Blockly.hideChaff(!0),Blockly.Touch.clearTouchIdentifier()}),!1,!0),t={disabledPatternId:e.options.disabledPatternId,parentWorkspace:e,RTL:e.RTL,oneBasedIndex:e.options.oneBasedIndex,horizontalLayout:e.horizontalLayout,toolboxPosition:e.options.toolboxPosition},this.flyout_=null,this.flyout_=e.horizontalLayout?new Blockly.HorizontalFlyout(t):new Blockly.VerticalFlyout(t),Blockly.utils.dom.insertAfter(this.flyout_.createDom("svg"),this.workspace_.getParentSvg()),this.flyout_.init(e),this.config_.cleardotPath=e.options.pathToMedia+"1x1.gif",this.config_.cssCollapsedFolderIcon="blocklyTreeIconClosed"+(e.RTL?"Rtl":"Ltr"),this.tree_=t=new Blockly.Toolbox.TreeControl(this,this.config_),t.setShowRootNode(!1),t.setShowLines(!1),t.setShowExpandIcons(!1),t.setSelectedItem(null),e=this.populate_(e.options.languageTree),t.render(this.HtmlDiv),e&&t.setSelectedItem(e),this.addColour_(),this.position()},Blockly.Toolbox.prototype.dispose=function(){this.flyout_.dispose(),this.tree_.dispose(),Blockly.utils.dom.removeNode(this.HtmlDiv),this.lastCategory_=this.workspace_=null},Blockly.Toolbox.prototype.getWidth=function(){return this.width},Blockly.Toolbox.prototype.getHeight=function(){return this.height},Blockly.Toolbox.prototype.position=function(){var e=this.HtmlDiv;if(e){var t=this.workspace_.getParentSvg();t=Blockly.svgSize(t),this.horizontalLayout_?(e.style.left="0",e.style.height="auto",e.style.width=t.width+"px",this.height=e.offsetHeight,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?e.style.top="0":e.style.bottom="0"):(this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?e.style.right="0":e.style.left="0",e.style.height=t.height+"px",this.width=e.offsetWidth),this.flyout_.position()}},Blockly.Toolbox.prototype.populate_=function(e){if(this.tree_.removeChildren(),this.tree_.blocks=[],this.hasColours_=!1,e=this.syncTrees_(e,this.tree_,this.workspace_.options.pathToMedia),this.tree_.blocks.length)throw Error("Toolbox cannot have both blocks and categories in the root level.");return this.workspace_.resizeContents(),e},Blockly.Toolbox.prototype.syncTrees_=function(e,t,o){for(var n,i=null,r=null,s=0;n=e.childNodes[s];s++)if(n.tagName)switch(n.tagName.toUpperCase()){case"CATEGORY":r=Blockly.utils.replaceMessageReferences(n.getAttribute("name"));var a=this.tree_.createNode(r);a.blocks=[],t.add(a);var l=n.getAttribute("custom");l?a.blocks=l:(l=this.syncTrees_(n,a,o))&&(i=l),l=n.getAttribute("categorystyle");var u=n.getAttribute("colour");u&&l?(a.hexColour="",console.warn('Toolbox category "'+r+'" can not have both a style and a colour')):l?this.setColourFromStyle_(l,a,r):this.setColour_(u,a,r),"true"==n.getAttribute("expanded")?(a.blocks.length&&(i=a),a.setExpanded(!0)):a.setExpanded(!1),r=n;break;case"SEP":if(r&&"CATEGORY"==r.tagName.toUpperCase()){t.add(new Blockly.Toolbox.TreeSeparator(this.treeSeparatorConfig_));break}case"BLOCK":case"SHADOW":case"LABEL":case"BUTTON":t.blocks.push(n),r=n}return i},Blockly.Toolbox.prototype.setColour_=function(e,t,o){if(null===(e=Blockly.utils.replaceMessageReferences(e))||""===e)t.hexColour="";else{var n=Number(e);isNaN(n)?(n=Blockly.utils.colour.parse(e))?(t.hexColour=n,this.hasColours_=!0):(t.hexColour="",console.warn('Toolbox category "'+o+'" has unrecognized colour attribute: '+e)):(t.hexColour=Blockly.hueToHex(n),this.hasColours_=!0)}},Blockly.Toolbox.prototype.setColourFromStyle_=function(e,t,o){if((t.styleName=e)&&Blockly.getTheme()){var n=Blockly.getTheme().getCategoryStyle(e);n&&n.colour?this.setColour_(n.colour,t,o):console.warn('Style "'+e+'" must exist and contain a colour value')}},Blockly.Toolbox.prototype.updateColourFromTheme_=function(e){if(e=e||this.tree_){e=e.getChildren(!1);for(var t,o=0;t=e[o];o++)t.styleName&&(this.setColourFromStyle_(t.styleName,t,""),this.addColour_()),this.updateColourFromTheme_(t)}},Blockly.Toolbox.prototype.updateColourFromTheme=function(){var e=this.tree_;e&&(this.updateColourFromTheme_(e),this.updateSelectedItemColour_(e))},Blockly.Toolbox.prototype.updateSelectedItemColour_=function(e){var t=e.selectedItem_;if(t){var o=t.hexColour||"#57e";t.getRowElement().style.backgroundColor=o,e.toolbox_.addColour_(t)}},Blockly.Toolbox.prototype.addColour_=function(e){e=(e||this.tree_).getChildren(!1);for(var t,o=0;t=e[o];o++){var n=t.getRowElement();if(n){var i=this.hasColours_?"8px solid "+(t.hexColour||"#ddd"):"none";this.workspace_.RTL?n.style.borderRight=i:n.style.borderLeft=i}this.addColour_(t)}},Blockly.Toolbox.prototype.clearSelection=function(){this.tree_.setSelectedItem(null)},Blockly.Toolbox.prototype.addStyle=function(e){Blockly.utils.dom.addClass(this.HtmlDiv,e)},Blockly.Toolbox.prototype.removeStyle=function(e){Blockly.utils.dom.removeClass(this.HtmlDiv,e)},Blockly.Toolbox.prototype.getClientRect=function(){if(!this.HtmlDiv)return null;var e=this.HtmlDiv.getBoundingClientRect(),t=e.top,o=t+e.height,n=e.left;return e=n+e.width,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?new Blockly.utils.Rect(-1e7,o,-1e7,1e7):this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM?new Blockly.utils.Rect(t,1e7,-1e7,1e7):this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?new Blockly.utils.Rect(-1e7,1e7,-1e7,e):new Blockly.utils.Rect(-1e7,1e7,n,1e7)},Blockly.Toolbox.prototype.refreshSelection=function(){var e=this.tree_.getSelectedItem();e&&e.blocks&&this.flyout_.show(e.blocks)},Blockly.Toolbox.TreeControl=function(e,t){this.toolbox_=e,goog.ui.tree.TreeControl.call(this,goog.html.SafeHtml.EMPTY,t)},goog.inherits(Blockly.Toolbox.TreeControl,goog.ui.tree.TreeControl),Blockly.Toolbox.TreeControl.prototype.enterDocument=function(){if(Blockly.Toolbox.TreeControl.superClass_.enterDocument.call(this),Blockly.Touch.TOUCH_ENABLED){var e=this.getElement();Blockly.bindEventWithChecks_(e,goog.events.EventType.TOUCHEND,this,this.handleTouchEvent_)}},Blockly.Toolbox.TreeControl.prototype.handleTouchEvent_=function(e){var t=this.getNodeFromEvent_(e);t&&e.type===goog.events.EventType.TOUCHEND&&setTimeout((function(){t.onClick_(e)}),1)},Blockly.Toolbox.TreeControl.prototype.createNode=function(e){return e=e?goog.html.SafeHtml.htmlEscape(e):goog.html.SafeHtml.EMPTY,new Blockly.Toolbox.TreeNode(this.toolbox_,e,this.getConfig())},Blockly.Toolbox.TreeControl.prototype.setSelectedItem=function(e){var t=this.toolbox_;if(e!=this.selectedItem_&&e!=t.tree_){if(t.lastCategory_&&(t.lastCategory_.getRowElement().style.backgroundColor=""),e){var o=e.hexColour||"#57e";e.getRowElement().style.backgroundColor=o,t.addColour_(e)}o=this.getSelectedItem(),goog.ui.tree.TreeControl.prototype.setSelectedItem.call(this,e),e&&e.blocks&&e.blocks.length?(t.flyout_.show(e.blocks),t.lastCategory_!=e&&t.flyout_.scrollToStart()):t.flyout_.hide(),o!=e&&o!=this&&((o=new Blockly.Events.Ui(null,"category",o&&o.getHtml(),e&&e.getHtml())).workspaceId=t.workspace_.id,Blockly.Events.fire(o)),e&&(t.lastCategory_=e)}},Blockly.Toolbox.TreeNode=function(e,t,o){goog.ui.tree.TreeNode.call(this,t,o),e&&(t=function(){Blockly.svgResize(e.workspace_)},goog.events.listen(e.tree_,goog.ui.tree.BaseNode.EventType.EXPAND,t),goog.events.listen(e.tree_,goog.ui.tree.BaseNode.EventType.COLLAPSE,t))},goog.inherits(Blockly.Toolbox.TreeNode,goog.ui.tree.TreeNode),Blockly.Toolbox.TreeNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span")},Blockly.Toolbox.TreeNode.prototype.onClick_=function(e){this.hasChildren()&&this.isUserCollapsible_?(this.toggle(),this.select()):this.isSelected()?this.getTree().setSelectedItem(null):this.select(),this.updateRow()},Blockly.Toolbox.TreeNode.prototype.onMouseDown=function(e){},Blockly.Toolbox.TreeNode.prototype.onDoubleClick_=function(e){},Blockly.Toolbox.TreeNode.prototype.onKeyDown=function(e){if(this.tree.toolbox_.horizontalLayout_){var t={},o=goog.events.KeyCodes.DOWN,n=goog.events.KeyCodes.UP;t[goog.events.KeyCodes.RIGHT]=this.rightToLeft_?n:o,t[goog.events.KeyCodes.LEFT]=this.rightToLeft_?o:n,t[goog.events.KeyCodes.UP]=goog.events.KeyCodes.LEFT,t[goog.events.KeyCodes.DOWN]=goog.events.KeyCodes.RIGHT,e.keyCode=t[e.keyCode]||e.keyCode}return Blockly.Toolbox.TreeNode.superClass_.onKeyDown.call(this,e)},Blockly.Toolbox.TreeSeparator=function(e){Blockly.Toolbox.TreeNode.call(this,null,goog.html.SafeHtml.EMPTY,e)},goog.inherits(Blockly.Toolbox.TreeSeparator,Blockly.Toolbox.TreeNode),Blockly.Css={},Blockly.Css.Cursor={OPEN:"handopen",CLOSED:"handclosed",DELETE:"handdelete"},Blockly.Css.currentCursor_="",Blockly.Css.injected_=!1,Blockly.Css.mediaPath_="",Blockly.Css.inject=function(e,t){if(!Blockly.Css.injected_){Blockly.Css.injected_=!0;var o=".blocklyDraggable {}\n";e&&(o+=Blockly.Css.CONTENT.join("\n"),Blockly.Css.CONTENT=null,Blockly.FieldDate&&(o+=Blockly.FieldDate.CSS.join("\n"))),Blockly.Css.mediaPath_=t.replace(/[\\\/]$/,""),o=o.replace(/<<<PATH>>>/g,Blockly.Css.mediaPath_);var n=document.createElement("style");o=document.createTextNode(o),n.appendChild(o),document.head.insertBefore(n,document.head.firstChild)}},Blockly.Css.setCursor=function(e){console.warn("Deprecated call to Blockly.Css.setCursor. See https://github.com/google/blockly/issues/981 for context")},Blockly.Css.CONTENT=[".blocklySvg {","background-color: #fff;","outline: none;","overflow: hidden;","position: absolute;","display: block;","}",".blocklyWidgetDiv {","display: none;","position: absolute;","z-index: 99999;","}",".injectionDiv {","height: 100%;","position: relative;","overflow: hidden;","touch-action: none","}",".blocklyNonSelectable {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","}",".blocklyWsDragSurface {","display: none;","position: absolute;","top: 0;","left: 0;","}",".blocklyWsDragSurface.blocklyOverflowVisible {","overflow: visible;","}",".blocklyBlockDragSurface {","display: none;","position: absolute;","top: 0;","left: 0;","right: 0;","bottom: 0;","overflow: visible !important;","z-index: 50;","}",".blocklyBlockCanvas.blocklyCanvasTransitioning,",".blocklyBubbleCanvas.blocklyCanvasTransitioning {","transition: transform .5s;","}",".blocklyTooltipDiv {","background-color: #ffffc7;","border: 1px solid #ddc;","box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15);","color: #000;","display: none;","font-family: sans-serif;","font-size: 9pt;","opacity: .9;","padding: 2px;","position: absolute;","z-index: 100000;","}",".blocklyDropDownDiv {","position: fixed;","left: 0;","top: 0;","z-index: 1000;","display: none;","border: 1px solid;","border-radius: 2px;","padding: 4px;","-webkit-user-select: none;","}",".blocklyDropDownContent {","max-height: 300px;","overflow: auto;","overflow-x: hidden;","}",".blocklyDropDownArrow {","position: absolute;","left: 0;","top: 0;","width: 16px;","height: 16px;","z-index: -1;","background-color: inherit;","border-color: inherit;","}",".blocklyDropDownButton {","display: inline-block;","float: left;","padding: 0;","margin: 4px;","border-radius: 4px;","outline: none;","border: 1px solid;","transition: box-shadow .1s;","cursor: pointer;","}",".arrowTop {","border-top: 1px solid;","border-left: 1px solid;","border-top-left-radius: 4px;","border-color: inherit;","}",".arrowBottom {","border-bottom: 1px solid;","border-right: 1px solid;","border-bottom-right-radius: 4px;","border-color: inherit;","}",".blocklyResizeSE {","cursor: se-resize;","fill: #aaa;","}",".blocklyResizeSW {","cursor: sw-resize;","fill: #aaa;","}",".blocklyResizeLine {","stroke: #515A5A;","stroke-width: 1;","}",".blocklyHighlightedConnectionPath {","fill: none;","stroke: #fc3;","stroke-width: 4px;","}",".blocklyPathLight {","fill: none;","stroke-linecap: round;","stroke-width: 1;","}",".blocklySelected>.blocklyPath {","stroke: #fc3;","stroke-width: 3px;","}",".blocklySelected>.blocklyPathLight {","display: none;","}",".blocklyDraggable {",'cursor: url("<<<PATH>>>/handopen.cur"), auto;',"cursor: grab;","cursor: -webkit-grab;","}",".blocklyDragging {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDraggable:active {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyBlockDragSurface .blocklyDraggable {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging.blocklyDraggingDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxGrab {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging>.blocklyPath,",".blocklyDragging>.blocklyPathLight {","fill-opacity: .8;","stroke-opacity: .8;","}",".blocklyDragging>.blocklyPathDark {","display: none;","}",".blocklyDisabled>.blocklyPath {","fill-opacity: .5;","stroke-opacity: .5;","}",".blocklyDisabled>.blocklyPathLight,",".blocklyDisabled>.blocklyPathDark {","display: none;","}",".blocklyInsertionMarker>.blocklyPath,",".blocklyInsertionMarker>.blocklyPathLight,",".blocklyInsertionMarker>.blocklyPathDark {","fill-opacity: .2;","stroke: none","}",".blocklyReplaceable .blocklyPath {","fill-opacity: 0.5;","}",".blocklyReplaceable .blocklyPathLight,",".blocklyReplaceable .blocklyPathDark {","display: none;","}",".blocklyText {","cursor: default;","fill: #fff;","font-family: sans-serif;","font-size: 11pt;","}",".blocklyNonEditableText>text {","pointer-events: none;","}",".blocklyNonEditableText>rect,",".blocklyEditableText>rect {","fill: #fff;","fill-opacity: .6;","}",".blocklyNonEditableText>text,",".blocklyEditableText>text {","fill: #000;","}",".blocklyEditableText:hover>rect {","stroke: #fff;","stroke-width: 2;","}",".blocklyBubbleText {","fill: #000;","}",".blocklyFlyout {","position: absolute;","z-index: 20;","}",".blocklyFlyoutButton {","fill: #888;","cursor: default;","}",".blocklyFlyoutButtonShadow {","fill: #666;","}",".blocklyFlyoutButton:hover {","fill: #aaa;","}",".blocklyFlyoutLabel {","cursor: default;","}",".blocklyFlyoutLabelBackground {","opacity: 0;","}",".blocklyFlyoutLabelText {","fill: #000;","}",".blocklySvg text, .blocklyBlockDragSurface text {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","cursor: inherit;","}",".blocklyHidden {","display: none;","}",".blocklyFieldDropdown:not(.blocklyHidden) {","display: block;","}",".blocklyIconGroup {","cursor: default;","}",".blocklyIconGroup:not(:hover),",".blocklyIconGroupReadonly {","opacity: .6;","}",".blocklyIconShape {","fill: #00f;","stroke: #fff;","stroke-width: 1px;","}",".blocklyIconSymbol {","fill: #fff;","}",".blocklyMinimalBody {","margin: 0;","padding: 0;","}",".blocklyCommentForeignObject {","position: relative;","z-index: 0;","}",".blocklyCommentRect {","fill: #E7DE8E;","stroke: #bcA903;","stroke-width: 1px","}",".blocklyCommentTarget {","fill: transparent;","stroke: #bcA903;","}",".blocklyCommentTargetFocused {","fill: none;","}",".blocklyCommentHandleTarget {","fill: none;","}",".blocklyCommentHandleTargetFocused {","fill: transparent;","}",".blocklyFocused>.blocklyCommentRect {","fill: #B9B272;","stroke: #B9B272;","}",".blocklySelected>.blocklyCommentTarget {","stroke: #fc3;","stroke-width: 3px;","}",".blocklyCommentTextarea {","background-color: #fef49c;","border: 0;","outline: 0;","margin: 0;","padding: 3px;","resize: none;","display: block;","overflow: hidden;","}",".blocklyCommentDeleteIcon {","cursor: pointer;","fill: #000;","display: none","}",".blocklySelected > .blocklyCommentDeleteIcon {","display: block","}",".blocklyDeleteIconShape {","fill: #000;","stroke: #000;","stroke-width: 1px;","}",".blocklyDeleteIconShape.blocklyDeleteIconHighlighted {","stroke: #fc3;","}",".blocklyHtmlInput {","border: none;","border-radius: 4px;","font-family: sans-serif;","height: 100%;","margin: 0;","outline: none;","padding: 0 1px;","width: 100%","}",".blocklyMainBackground {","stroke-width: 1;","stroke: #c6c6c6;","}",".blocklyMutatorBackground {","fill: #fff;","stroke: #ddd;","stroke-width: 1;","}",".blocklyFlyoutBackground {","fill: #ddd;","fill-opacity: .8;","}",".blocklyTransparentBackground {","opacity: 0;","}",".blocklyMainWorkspaceScrollbar {","z-index: 20;","}",".blocklyFlyoutScrollbar {","z-index: 30;","}",".blocklyScrollbarHorizontal, .blocklyScrollbarVertical {","position: absolute;","outline: none;","}",".blocklyScrollbarBackground {","opacity: 0;","}",".blocklyScrollbarHandle {","fill: #ccc;","}",".blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyScrollbarHandle:hover {","fill: #bbb;","}",".blocklyZoom>image, .blocklyZoom>svg>image {","opacity: .4;","}",".blocklyZoom>image:hover, .blocklyZoom>svg>image:hover {","opacity: .6;","}",".blocklyZoom>image:active, .blocklyZoom>svg>image:active {","opacity: .8;","}",".blocklyFlyout .blocklyScrollbarHandle {","fill: #bbb;","}",".blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyFlyout .blocklyScrollbarHandle:hover {","fill: #aaa;","}",".blocklyInvalidInput {","background: #faa;","}",".blocklyAngleCircle {","stroke: #444;","stroke-width: 1;","fill: #ddd;","fill-opacity: .8;","}",".blocklyAngleMarks {","stroke: #444;","stroke-width: 1;","}",".blocklyAngleGauge {","fill: #f88;","fill-opacity: .8;","}",".blocklyAngleLine {","stroke: #f00;","stroke-width: 2;","stroke-linecap: round;","pointer-events: none;","}",".blocklyContextMenu {","border-radius: 4px;","max-height: 100%;","}",".blocklyDropdownMenu {","padding: 0 !important;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon {","background: url(<<<PATH>>>/sprites.png) no-repeat -48px -16px;","}",".blocklyToolboxDiv {","background-color: #ddd;","overflow-x: visible;","overflow-y: auto;","position: absolute;","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","z-index: 70;","-webkit-tap-highlight-color: transparent;","}",".blocklyTreeRoot {","padding: 4px 0;","}",".blocklyTreeRoot:focus {","outline: none;","}",".blocklyTreeRow {","height: 22px;","line-height: 22px;","margin-bottom: 3px;","padding-right: 8px;","white-space: nowrap;","}",".blocklyHorizontalTree {","float: left;","margin: 1px 5px 8px 0;","}",".blocklyHorizontalTreeRtl {","float: right;","margin: 1px 0 8px 5px;","}",'.blocklyToolboxDiv[dir="RTL"] .blocklyTreeRow {',"margin-left: 8px;","}",".blocklyTreeRow:not(.blocklyTreeSelected):hover {","background-color: #e4e4e4;","}",".blocklyTreeSeparator {","border-bottom: solid #e5e5e5 1px;","height: 0;","margin: 5px 0;","}",".blocklyTreeSeparatorHorizontal {","border-right: solid #e5e5e5 1px;","width: 0;","padding: 5px 0;","margin: 0 5px;","}",".blocklyTreeIcon {","background-image: url(<<<PATH>>>/sprites.png);","height: 16px;","vertical-align: middle;","width: 16px;","}",".blocklyTreeIconClosedLtr {","background-position: -32px -1px;","}",".blocklyTreeIconClosedRtl {","background-position: 0 -1px;","}",".blocklyTreeIconOpen {","background-position: -16px -1px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedLtr {","background-position: -32px -17px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedRtl {","background-position: 0 -17px;","}",".blocklyTreeSelected>.blocklyTreeIconOpen {","background-position: -16px -17px;","}",".blocklyTreeIconNone,",".blocklyTreeSelected>.blocklyTreeIconNone {","background-position: -48px -1px;","}",".blocklyTreeLabel {","cursor: default;","font-family: sans-serif;","font-size: 16px;","padding: 0 3px;","vertical-align: middle;","}",".blocklyToolboxDelete .blocklyTreeLabel {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyTreeSelected .blocklyTreeLabel {","color: #fff;","}",".blocklyColourTable {","border-collapse: collapse;","}",".blocklyColourTable>tr>td {","border: 1px solid #666;","padding: 0;","}",".blocklyColourTable>tr>td>div {","border: 1px solid #666;","height: 13px;","width: 15px;","}",".blocklyColourTable>tr>td>div:hover {","border: 1px solid #fff;","}",".blocklyColourSelected, .blocklyColourSelected:hover {","border: 1px solid #000 !important;","}",".blocklyWidgetDiv .goog-menu {","background: #fff;","border-color: #ccc #666 #666 #ccc;","border-style: solid;","border-width: 1px;","cursor: default;","font: normal 13px Arial, sans-serif;","margin: 0;","outline: none;","padding: 4px 0;","position: absolute;","overflow-y: auto;","overflow-x: hidden;","max-height: 100%;","z-index: 20000;","}",".blocklyDropDownDiv .goog-menu {","cursor: default;",'font: normal 13px "Helvetica Neue", Helvetica, sans-serif;',"outline: none;","z-index: 20000;","}",".blocklyWidgetDiv .goog-menuitem, ",".blocklyDropDownDiv .goog-menuitem {","color: #000;","font: normal 13px Arial, sans-serif;","list-style: none;","margin: 0;","min-width: 7em;","padding: 5px 5px 5px 28px;","white-space: nowrap;","}",".blocklyWidgetDiv .goog-menuitem.goog-menuitem-rtl, ",".blocklyDropDownDiv .goog-menuitem.goog-menuitem-rtl {","padding-left: 5px;","padding-right: 28px;","}",".blocklyWidgetDiv .goog-menu-nocheckbox .goog-menuitem, ",".blocklyWidgetDiv .goog-menu-noicon .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-nocheckbox .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-noicon .goog-menuitem { ","padding-left: 12px;","}",".blocklyWidgetDiv .goog-menu-noaccel .goog-menuitem, ",".blocklyDropDownDiv .goog-menu-noaccel .goog-menuitem {","padding-right: 20px;","}",".blocklyWidgetDiv .goog-menuitem-content, ",".blocklyDropDownDiv .goog-menuitem-content {","color: #000;","font: normal 13px Arial, sans-serif;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-accel, ",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-content, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-content {","color: #ccc !important;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-disabled .goog-menuitem-icon {","opacity: 0.3;","filter: alpha(opacity=30);","}",".blocklyWidgetDiv .goog-menuitem-highlight, ",".blocklyWidgetDiv .goog-menuitem-hover {","background-color: #d6e9f8;","border-color: #d6e9f8;","border-style: dotted;","border-width: 1px 0;","padding-bottom: 4px;","padding-top: 4px;","}",".blocklyDropDownDiv .goog-menuitem-highlight, ",".blocklyDropDownDiv .goog-menuitem-hover {","background-color: rgba(0, 0, 0, 0.2);","}",".blocklyWidgetDiv .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-icon {","background-repeat: no-repeat;","height: 16px;","left: 6px;","position: absolute;","right: auto;","vertical-align: middle;","width: 16px;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-icon {","left: auto;","right: 6px;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-option-selected .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-option-selected .goog-menuitem-icon {","position: static;","float: left;","margin-left: -24px;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-checkbox, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-icon {","float: right;","margin-right: -24px;","}",".blocklyWidgetDiv .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-accel {","color: #999;","direction: ltr;","left: auto;","padding: 0 6px;","position: absolute;","right: 0;","text-align: right;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-accel, ",".blocklyDropDownDiv .goog-menuitem-rtl .goog-menuitem-accel {","left: 0;","right: auto;","text-align: left;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-hint, ",".blocklyDropDownDiv .goog-menuitem-mnemonic-hint {","text-decoration: underline;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-separator, ",".blocklyDropDownDiv .goog-menuitem-mnemonic-separator {","color: #999;","font-size: 12px;","padding-left: 4px;","}",".blocklyWidgetDiv .goog-menuseparator, ",".blocklyDropDownDiv .goog-menuseparator {","border-top: 1px solid #ccc;","margin: 4px 0;","padding: 0;","}",""],Blockly.WidgetDiv={},Blockly.WidgetDiv.DIV=null,Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.dispose_=null,Blockly.WidgetDiv.createDom=function(){Blockly.WidgetDiv.DIV||(Blockly.WidgetDiv.DIV=document.createElement("div"),Blockly.WidgetDiv.DIV.className="blocklyWidgetDiv",document.body.appendChild(Blockly.WidgetDiv.DIV))},Blockly.WidgetDiv.show=function(e,t,o){Blockly.WidgetDiv.hide(),Blockly.WidgetDiv.owner_=e,Blockly.WidgetDiv.dispose_=o,e=goog.style.getViewportPageOffset(document),Blockly.WidgetDiv.DIV.style.top=e.y+"px",Blockly.WidgetDiv.DIV.style.direction=t?"rtl":"ltr",Blockly.WidgetDiv.DIV.style.display="block"},Blockly.WidgetDiv.hide=function(){Blockly.WidgetDiv.owner_&&(Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.DIV.style.display="none",Blockly.WidgetDiv.DIV.style.left="",Blockly.WidgetDiv.DIV.style.top="",Blockly.WidgetDiv.dispose_&&Blockly.WidgetDiv.dispose_(),Blockly.WidgetDiv.dispose_=null,Blockly.WidgetDiv.DIV.innerHTML="")},Blockly.WidgetDiv.isVisible=function(){return!!Blockly.WidgetDiv.owner_},Blockly.WidgetDiv.hideIfOwner=function(e){Blockly.WidgetDiv.owner_==e&&Blockly.WidgetDiv.hide()},Blockly.WidgetDiv.positionInternal_=function(e,t,o){Blockly.WidgetDiv.DIV.style.left=e+"px",Blockly.WidgetDiv.DIV.style.top=t+"px",Blockly.WidgetDiv.DIV.style.height=o+"px"},Blockly.WidgetDiv.positionWithAnchor=function(e,t,o,n){var i=Blockly.WidgetDiv.calculateY_(e,t,o);e=Blockly.WidgetDiv.calculateX_(e,t,o,n),0>i?Blockly.WidgetDiv.positionInternal_(e,0,o.height+i):Blockly.WidgetDiv.positionInternal_(e,i,o.height)},Blockly.WidgetDiv.calculateX_=function(e,t,o,n){return n?(t=Math.max(t.right-o.width,e.left),Math.min(t,e.right-o.width)):(t=Math.min(t.left,e.right-o.width),Math.max(t,e.left))},Blockly.WidgetDiv.calculateY_=function(e,t,o){return t.bottom+o.height>=e.bottom?t.top-o.height:t.bottom},Blockly.inject=function(e,t){if(Blockly.checkBlockColourConstants(),"string"==typeof e&&(e=document.getElementById(e)||document.querySelector(e)),!Blockly.utils.dom.containsNode(document,e))throw Error("Error: container is not in current document.");var o=new Blockly.Options(t||{}),n=document.createElement("div");n.className="injectionDiv",e.appendChild(n);var i=Blockly.createDom_(n,o),r=new Blockly.BlockDragSurfaceSvg(n);return n=new Blockly.WorkspaceDragSurfaceSvg(n),i=Blockly.createMainWorkspace_(i,o,r,n),Blockly.setTheme(o.theme),Blockly.init_(i),Blockly.mainWorkspace=i,Blockly.svgResize(i),i},Blockly.createDom_=function(e,t){e.setAttribute("dir","LTR"),goog.ui.Component.setDefaultRightToLeft(t.RTL),Blockly.Css.inject(t.hasCss,t.pathToMedia);var o=Blockly.utils.dom.createSvgElement("svg",{xmlns:Blockly.utils.dom.SVG_NS,"xmlns:html":Blockly.utils.dom.HTML_NS,"xmlns:xlink":Blockly.utils.dom.XLINK_NS,version:"1.1",class:"blocklySvg"},e),n=Blockly.utils.dom.createSvgElement("defs",{},o),i=String(Math.random()).substring(2),r=Blockly.utils.dom.createSvgElement("filter",{id:"blocklyEmbossFilter"+i},n);Blockly.utils.dom.createSvgElement("feGaussianBlur",{in:"SourceAlpha",stdDeviation:1,result:"blur"},r);var s=Blockly.utils.dom.createSvgElement("feSpecularLighting",{in:"blur",surfaceScale:1,specularConstant:.5,specularExponent:10,"lighting-color":"white",result:"specOut"},r);return Blockly.utils.dom.createSvgElement("fePointLight",{x:-5e3,y:-1e4,z:2e4},s),Blockly.utils.dom.createSvgElement("feComposite",{in:"specOut",in2:"SourceAlpha",operator:"in",result:"specOut"},r),Blockly.utils.dom.createSvgElement("feComposite",{in:"SourceGraphic",in2:"specOut",operator:"arithmetic",k1:0,k2:1,k3:1,k4:0},r),t.embossFilterId=r.id,r=Blockly.utils.dom.createSvgElement("pattern",{id:"blocklyDisabledPattern"+i,patternUnits:"userSpaceOnUse",width:10,height:10},n),Blockly.utils.dom.createSvgElement("rect",{width:10,height:10,fill:"#aaa"},r),Blockly.utils.dom.createSvgElement("path",{d:"M 0 0 L 10 10 M 10 0 L 0 10",stroke:"#cc0"},r),t.disabledPatternId=r.id,t.gridPattern=Blockly.Grid.createDom(i,t.gridOptions,n),o},Blockly.createMainWorkspace_=function(e,t,o,n){t.parentWorkspace=null;var i=new Blockly.WorkspaceSvg(t,o,n);return i.scale=t.zoomOptions.startScale,e.appendChild(i.createDom("blocklyMainBackground")),!t.hasCategories&&t.languageTree&&(o=i.addFlyout_("svg"),Blockly.utils.dom.insertAfter(o,e)),t.hasTrashcan&&i.addTrashcan(),t.zoomOptions&&t.zoomOptions.controls&&i.addZoomControls(),i.translate(0,0),Blockly.mainWorkspace=i,t.readOnly||i.isMovable()||i.addChangeListener((function(e){if(!i.isDragging()&&!i.isMovable()&&-1!=Blockly.Events.BUMP_EVENTS.indexOf(e.type)){var t=Object.create(null),o=i.getMetrics(),n=i.scale;if(t.viewLeft=o.viewLeft/n,t.viewTop=o.viewTop/n,t.viewRight=(o.viewLeft+o.viewWidth)/n,t.viewBottom=(o.viewTop+o.viewHeight)/n,i.isContentBounded()?(o=i.getBlocksBoundingBox(),t.contentLeft=o.left,t.contentTop=o.top,t.contentRight=o.right,t.contentBottom=o.bottom):(t.contentLeft=o.contentLeft/n,t.contentTop=o.contentTop/n,t.contentRight=(o.contentLeft+o.contentWidth)/n,t.contentBottom=(o.contentTop+o.contentHeight)/n),t.contentTop<t.viewTop||t.contentBottom>t.viewBottom||t.contentLeft<t.viewLeft||t.contentRight>t.viewRight){switch(o=null,e&&(o=Blockly.Events.getGroup(),Blockly.Events.setGroup(e.group)),e.type){case Blockly.Events.BLOCK_CREATE:case Blockly.Events.BLOCK_MOVE:var r=i.getBlockById(e.blockId);r=r.getRootBlock();break;case Blockly.Events.COMMENT_CREATE:case Blockly.Events.COMMENT_MOVE:r=i.getCommentById(e.commentId)}if(r){n=r.getBoundingRectangle();var s=t.viewTop-n.top;0<s&&r.moveBy(0,s),0>(s=t.viewBottom-n.bottom)&&r.moveBy(0,s),0<(s=t.viewLeft-n.left)&&r.moveBy(s,0),0>(t=t.viewRight-n.right)&&r.moveBy(t,0)}e&&(e.group||console.log("WARNING: Moved object in bounds but there was no event group. This may break undo."),Blockly.Events.setGroup(o))}}})),Blockly.svgResize(i),Blockly.WidgetDiv.createDom(),Blockly.DropDownDiv.createDom(),Blockly.Tooltip.createDom(),i},Blockly.init_=function(e){var t=e.options,o=e.getParentSvg();Blockly.bindEventWithChecks_(o.parentNode,"contextmenu",null,(function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()})),o=Blockly.bindEventWithChecks_(window,"resize",null,(function(){Blockly.hideChaff(!0),Blockly.svgResize(e)})),e.setResizeHandlerWrapper(o),Blockly.inject.bindDocumentEvents_(),t.languageTree&&(e.toolbox_?e.toolbox_.init(e):e.flyout_&&(e.flyout_.init(e),e.flyout_.show(t.languageTree.childNodes),e.flyout_.scrollToStart())),o=Blockly.Scrollbar.scrollbarThickness,t.hasTrashcan&&(o=e.trashcan.init(o)),t.zoomOptions&&t.zoomOptions.controls&&e.zoomControls_.init(o),t.moveOptions&&t.moveOptions.scrollbars?(e.scrollbar=new Blockly.ScrollbarPair(e),e.scrollbar.resize()):e.setMetrics({x:.5,y:.5}),t.hasSounds&&Blockly.inject.loadSounds_(t.pathToMedia,e)},Blockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.bindEventWithChecks_(document,"scroll",null,(function(){for(var e,t=Blockly.Workspace.getAll(),o=0;e=t[o];o++)e.updateInverseScreenCTM&&e.updateInverseScreenCTM()})),Blockly.bindEventWithChecks_(document,"keydown",null,Blockly.onKeyDown_),Blockly.bindEvent_(document,"touchend",null,Blockly.longStop_),Blockly.bindEvent_(document,"touchcancel",null,Blockly.longStop_),Blockly.utils.userAgent.IPAD&&Blockly.bindEventWithChecks_(window,"orientationchange",document,(function(){Blockly.svgResize(Blockly.getMainWorkspace())}))),Blockly.documentEventsBound_=!0},Blockly.inject.loadSounds_=function(e,t){var o=t.getAudioManager();o.load([e+"click.mp3",e+"click.wav",e+"click.ogg"],"click"),o.load([e+"disconnect.wav",e+"disconnect.mp3",e+"disconnect.ogg"],"disconnect"),o.load([e+"delete.mp3",e+"delete.ogg",e+"delete.wav"],"delete");var n=[],i=function(){for(;n.length;)Blockly.unbindEvent_(n.pop());o.preload()};n.push(Blockly.bindEventWithChecks_(document,"mousemove",null,i,!0)),n.push(Blockly.bindEventWithChecks_(document,"touchstart",null,i,!0))},Blockly.updateToolbox=function(e){console.warn("Deprecated call to Blockly.updateToolbox, use workspace.updateToolbox instead."),Blockly.getMainWorkspace().updateToolbox(e)};var CLOSURE_DEFINES={"goog.DEBUG":!1};return Blockly.mainWorkspace=null,Blockly.selected=null,Blockly.draggingConnections_=[],Blockly.clipboardXml_=null,Blockly.clipboardSource_=null,Blockly.clipboardTypeCounts_=null,Blockly.cache3dSupported_=null,Blockly.theme_=null,Blockly.svgSize=function(e){return{width:e.cachedWidth_,height:e.cachedHeight_}},Blockly.resizeSvgContents=function(e){e.resizeContents()},Blockly.svgResize=function(e){for(;e.options.parentWorkspace;)e=e.options.parentWorkspace;var t=e.getParentSvg(),o=t.parentNode;if(o){var n=o.offsetWidth;o=o.offsetHeight,t.cachedWidth_!=n&&(t.setAttribute("width",n+"px"),t.cachedWidth_=n),t.cachedHeight_!=o&&(t.setAttribute("height",o+"px"),t.cachedHeight_=o),e.resize()}},Blockly.onKeyDown_=function(e){var t=Blockly.mainWorkspace;if(!(t.options.readOnly||Blockly.utils.isTargetInput(e)||t.rendered&&!t.isVisible())){var o=!1;if(27==e.keyCode)Blockly.hideChaff();else if(8==e.keyCode||46==e.keyCode){if(e.preventDefault(),Blockly.Gesture.inProgress())return;Blockly.selected&&Blockly.selected.isDeletable()&&(o=!0)}else if(e.altKey||e.ctrlKey||e.metaKey){if(Blockly.Gesture.inProgress())return;Blockly.selected&&Blockly.selected.isDeletable()&&Blockly.selected.isMovable()&&(67==e.keyCode?(Blockly.hideChaff(),Blockly.copy_(Blockly.selected)):88!=e.keyCode||Blockly.selected.workspace.isFlyout||(Blockly.copy_(Blockly.selected),o=!0)),86==e.keyCode?Blockly.clipboardXml_&&((e=Blockly.clipboardSource_).isFlyout&&(e=e.targetWorkspace),Blockly.clipboardTypeCounts_&&e.isCapacityAvailable(Blockly.clipboardTypeCounts_)&&(Blockly.Events.setGroup(!0),e.paste(Blockly.clipboardXml_),Blockly.Events.setGroup(!1))):90==e.keyCode&&(Blockly.hideChaff(),t.undo(e.shiftKey))}o&&!Blockly.selected.workspace.isFlyout&&(Blockly.Events.setGroup(!0),Blockly.hideChaff(),Blockly.selected.dispose(!0,!0),Blockly.Events.setGroup(!1))}},Blockly.copy_=function(e){if(e.isComment)var t=e.toXmlWithXY();else{t=Blockly.Xml.blockToDom(e,!0),Blockly.Xml.deleteNext(t);var o=e.getRelativeToSurfaceXY();t.setAttribute("x",e.RTL?-o.x:o.x),t.setAttribute("y",o.y)}Blockly.clipboardXml_=t,Blockly.clipboardSource_=e.workspace,Blockly.clipboardTypeCounts_=e.isComment?null:Blockly.utils.getBlockTypeCounts(e,!0)},Blockly.duplicate_=function(e){var t=Blockly.clipboardXml_,o=Blockly.clipboardSource_;Blockly.copy_(e),e.workspace.paste(Blockly.clipboardXml_),Blockly.clipboardXml_=t,Blockly.clipboardSource_=o},Blockly.onContextMenu_=function(e){Blockly.utils.isTargetInput(e)||e.preventDefault()},Blockly.hideChaff=function(e){Blockly.Tooltip.hide(),Blockly.WidgetDiv.hide(),Blockly.DropDownDiv.hideWithoutAnimation();var t=Blockly.getMainWorkspace();t.trashcan&&t.trashcan.flyout_&&t.trashcan.flyout_.hide(),e||t.toolbox_&&t.toolbox_.flyout_&&t.toolbox_.flyout_.autoClose&&t.toolbox_.clearSelection()},Blockly.addChangeListener=function(e){return console.warn("Deprecated call to Blockly.addChangeListener, use workspace.addChangeListener instead."),Blockly.getMainWorkspace().addChangeListener(e)},Blockly.getMainWorkspace=function(){return Blockly.mainWorkspace},Blockly.alert=function(e,t){alert(e),t&&t()},Blockly.confirm=function(e,t){t(confirm(e))},Blockly.prompt=function(e,t,o){o(prompt(e,t))},Blockly.jsonInitFactory_=function(e){return function(){this.jsonInit(e)}},Blockly.defineBlocksWithJsonArray=function(e){for(var t=0;t<e.length;t++){var o=e[t];if(o){var n=o.type;null==n||""===n?console.warn("Block definition #"+t+" in JSON array is missing a type attribute. Skipping."):(Blockly.Blocks[n]&&console.warn("Block definition #"+t+' in JSON array overwrites prior definition of "'+n+'".'),Blockly.Blocks[n]={init:Blockly.jsonInitFactory_(o)})}else console.warn("Block definition #"+t+" in JSON array is "+o+". Skipping.")}},Blockly.bindEventWithChecks_=function(e,t,o,n,i,r){var s=!1,a=function(e){var t=!i;e=Blockly.Touch.splitEventByTouches(e);for(var r,a=0;r=e[a];a++)t&&!Blockly.Touch.shouldHandleEvent(r)||(Blockly.Touch.setClientFromTouch(r),o?n.call(o,r):n(r),s=!0)},l=[];if(Blockly.utils.global.PointerEvent&&t in Blockly.Touch.TOUCH_MAP)for(var u,c=0;u=Blockly.Touch.TOUCH_MAP[t][c];c++)e.addEventListener(u,a,!1),l.push([e,u,a]);else if(e.addEventListener(t,a,!1),l.push([e,t,a]),t in Blockly.Touch.TOUCH_MAP){var h=function(e){a(e),s&&!r&&e.preventDefault()};for(c=0;u=Blockly.Touch.TOUCH_MAP[t][c];c++)e.addEventListener(u,h,!1),l.push([e,u,h])}return l},Blockly.bindEvent_=function(e,t,o,n){var i=function(e){o?n.call(o,e):n(e)},r=[];if(Blockly.utils.global.PointerEvent&&t in Blockly.Touch.TOUCH_MAP)for(var s,a=0;s=Blockly.Touch.TOUCH_MAP[t][a];a++)e.addEventListener(s,i,!1),r.push([e,s,i]);else if(e.addEventListener(t,i,!1),r.push([e,t,i]),t in Blockly.Touch.TOUCH_MAP){var l=function(e){if(e.changedTouches&&1==e.changedTouches.length){var t=e.changedTouches[0];e.clientX=t.clientX,e.clientY=t.clientY}i(e),e.preventDefault()};for(a=0;s=Blockly.Touch.TOUCH_MAP[t][a];a++)e.addEventListener(s,l,!1),r.push([e,s,l])}return r},Blockly.unbindEvent_=function(e){for(;e.length;){var t=e.pop(),o=t[2];t[0].removeEventListener(t[1],o,!1)}return o},Blockly.isNumber=function(e){return/^\s*-?\d+(\.\d+)?\s*$/.test(e)},Blockly.hueToHex=function(e){return Blockly.utils.colour.hsvToHex(e,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)},Blockly.checkBlockColourConstants=function(){Blockly.checkBlockColourConstant_("LOGIC_HUE",["Blocks","logic","HUE"],void 0),Blockly.checkBlockColourConstant_("LOGIC_HUE",["Constants","Logic","HUE"],210),Blockly.checkBlockColourConstant_("LOOPS_HUE",["Blocks","loops","HUE"],void 0),Blockly.checkBlockColourConstant_("LOOPS_HUE",["Constants","Loops","HUE"],120),Blockly.checkBlockColourConstant_("MATH_HUE",["Blocks","math","HUE"],void 0),Blockly.checkBlockColourConstant_("MATH_HUE",["Constants","Math","HUE"],230),Blockly.checkBlockColourConstant_("TEXTS_HUE",["Blocks","texts","HUE"],void 0),Blockly.checkBlockColourConstant_("TEXTS_HUE",["Constants","Text","HUE"],160),Blockly.checkBlockColourConstant_("LISTS_HUE",["Blocks","lists","HUE"],void 0),Blockly.checkBlockColourConstant_("LISTS_HUE",["Constants","Lists","HUE"],260),Blockly.checkBlockColourConstant_("COLOUR_HUE",["Blocks","colour","HUE"],void 0),Blockly.checkBlockColourConstant_("COLOUR_HUE",["Constants","Colour","HUE"],20),Blockly.checkBlockColourConstant_("VARIABLES_HUE",["Blocks","variables","HUE"],void 0),Blockly.checkBlockColourConstant_("VARIABLES_HUE",["Constants","Variables","HUE"],330),Blockly.checkBlockColourConstant_("VARIABLES_DYNAMIC_HUE",["Constants","VariablesDynamic","HUE"],310),Blockly.checkBlockColourConstant_("PROCEDURES_HUE",["Blocks","procedures","HUE"],void 0)},Blockly.checkBlockColourConstant_=function(e,t,o){for(var n="Blockly",i=Blockly,r=0;r<t.length;++r)n+="."+t[r],i&&(i=i[t[r]]);i&&i!==o&&(e=(void 0===o?'%1 has been removed. Use Blockly.Msg["%2"].':'%1 is deprecated and unused. Override Blockly.Msg["%2"].').replace("%1",n).replace("%2",e),console.warn(e))},Blockly.setTheme=function(e){Blockly.theme_=e,(e=Blockly.getMainWorkspace())&&Blockly.refreshTheme_(e)},Blockly.refreshTheme_=function(e){Blockly.updateBlockStyles_(e.getAllBlocks().filter((function(e){return void 0!==e.getStyleName()}))),!e.toolbox_&&e.flyout_&&e.flyout_.workspace_?Blockly.updateBlockStyles_(e.flyout_.workspace_.getAllBlocks()):e.refreshToolboxSelection(),e.toolbox_&&e.toolbox_.updateColourFromTheme();var t=new Blockly.Events.Ui(null,"theme");t.workspaceId=e.id,Blockly.Events.fire(t)},Blockly.updateBlockStyles_=function(e){for(var t,o=0;t=e[o];o++){var n=t.getStyleName();t.setStyle(n),t.mutator&&t.mutator.updateBlockStyle(n)}},Blockly.getTheme=function(){return Blockly.theme_},Blockly.utils.global.Blockly||(Blockly.utils.global.Blockly={}),Blockly.utils.global.Blockly.getMainWorkspace=Blockly.getMainWorkspace,Blockly.utils.global.Blockly.addChangeListener=Blockly.addChangeListener,Blockly.goog=goog,Blockly}()},function(e,t){var o={Msg:{}};e.exports=function(){"use strict";return o.Msg.ADD_COMMENT="Add Comment",o.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE="Can't delete the variable '%1' because it's part of the definition of the function '%2'",o.Msg.CHANGE_VALUE_TITLE="Change value:",o.Msg.CLEAN_UP="Clean up Blocks",o.Msg.COLLAPSED_WARNINGS_WARNING="Collapsed blocks contain warnings.",o.Msg.COLLAPSE_ALL="Collapse Blocks",o.Msg.COLLAPSE_BLOCK="Collapse Block",o.Msg.COLOUR_BLEND_COLOUR1="colour 1",o.Msg.COLOUR_BLEND_COLOUR2="colour 2",o.Msg.COLOUR_BLEND_HELPURL="https://meyerweb.com/eric/tools/color-blend/#:::rgbp",o.Msg.COLOUR_BLEND_RATIO="ratio",o.Msg.COLOUR_BLEND_TITLE="blend",o.Msg.COLOUR_BLEND_TOOLTIP="Blends two colours together with a given ratio (0.0 - 1.0).",o.Msg.COLOUR_PICKER_HELPURL="https://en.wikipedia.org/wiki/Color",o.Msg.COLOUR_PICKER_TOOLTIP="Choose a colour from the palette.",o.Msg.COLOUR_RANDOM_HELPURL="http://randomcolour.com",o.Msg.COLOUR_RANDOM_TITLE="random colour",o.Msg.COLOUR_RANDOM_TOOLTIP="Choose a colour at random.",o.Msg.COLOUR_RGB_BLUE="blue",o.Msg.COLOUR_RGB_GREEN="green",o.Msg.COLOUR_RGB_HELPURL="https://www.december.com/html/spec/colorpercompact.html",o.Msg.COLOUR_RGB_RED="red",o.Msg.COLOUR_RGB_TITLE="colour with",o.Msg.COLOUR_RGB_TOOLTIP="Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",o.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL="https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",o.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK="break out of loop",o.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE="continue with next iteration of loop",o.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK="Break out of the containing loop.",o.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE="Skip the rest of this loop, and continue with the next iteration.",o.Msg.CONTROLS_FLOW_STATEMENTS_WARNING="Warning: This block may only be used within a loop.",o.Msg.CONTROLS_FOREACH_HELPURL="https://github.com/google/blockly/wiki/Loops#for-each",o.Msg.CONTROLS_FOREACH_TITLE="for each item %1 in list %2",o.Msg.CONTROLS_FOREACH_TOOLTIP="For each item in a list, set the variable '%1' to the item, and then do some statements.",o.Msg.CONTROLS_FOR_HELPURL="https://github.com/google/blockly/wiki/Loops#count-with",o.Msg.CONTROLS_FOR_TITLE="count with %1 from %2 to %3 by %4",o.Msg.CONTROLS_FOR_TOOLTIP="Have the variable '%1' take on the values from the start number to the end number, counting by the specified interval, and do the specified blocks.",o.Msg.CONTROLS_IF_ELSEIF_TOOLTIP="Add a condition to the if block.",o.Msg.CONTROLS_IF_ELSE_TOOLTIP="Add a final, catch-all condition to the if block.",o.Msg.CONTROLS_IF_HELPURL="https://github.com/google/blockly/wiki/IfElse",o.Msg.CONTROLS_IF_IF_TOOLTIP="Add, remove, or reorder sections to reconfigure this if block.",o.Msg.CONTROLS_IF_MSG_ELSE="else",o.Msg.CONTROLS_IF_MSG_ELSEIF="else if",o.Msg.CONTROLS_IF_MSG_IF="if",o.Msg.CONTROLS_IF_TOOLTIP_1="If a value is true, then do some statements.",o.Msg.CONTROLS_IF_TOOLTIP_2="If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",o.Msg.CONTROLS_IF_TOOLTIP_3="If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements.",o.Msg.CONTROLS_IF_TOOLTIP_4="If the first value is true, then do the first block of statements. Otherwise, if the second value is true, do the second block of statements. If none of the values are true, do the last block of statements.",o.Msg.CONTROLS_REPEAT_HELPURL="https://en.wikipedia.org/wiki/For_loop",o.Msg.CONTROLS_REPEAT_INPUT_DO="do",o.Msg.CONTROLS_REPEAT_TITLE="repeat %1 times",o.Msg.CONTROLS_REPEAT_TOOLTIP="Do some statements several times.",o.Msg.CONTROLS_WHILEUNTIL_HELPURL="https://github.com/google/blockly/wiki/Loops#repeat",o.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL="repeat until",o.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE="repeat while",o.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL="While a value is false, then do some statements.",o.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE="While a value is true, then do some statements.",o.Msg.DELETE_ALL_BLOCKS="Delete all %1 blocks?",o.Msg.DELETE_BLOCK="Delete Block",o.Msg.DELETE_VARIABLE="Delete the '%1' variable",o.Msg.DELETE_VARIABLE_CONFIRMATION="Delete %1 uses of the '%2' variable?",o.Msg.DELETE_X_BLOCKS="Delete %1 Blocks",o.Msg.DISABLE_BLOCK="Disable Block",o.Msg.DUPLICATE_BLOCK="Duplicate",o.Msg.DUPLICATE_COMMENT="Duplicate Comment",o.Msg.ENABLE_BLOCK="Enable Block",o.Msg.EXPAND_ALL="Expand Blocks",o.Msg.EXPAND_BLOCK="Expand Block",o.Msg.EXTERNAL_INPUTS="External Inputs",o.Msg.HELP="Help",o.Msg.INLINE_INPUTS="Inline Inputs",o.Msg.IOS_CANCEL="Cancel",o.Msg.IOS_ERROR="Error",o.Msg.IOS_OK="OK",o.Msg.IOS_PROCEDURES_ADD_INPUT="+ Add Input",o.Msg.IOS_PROCEDURES_ALLOW_STATEMENTS="Allow statements",o.Msg.IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR="This function has duplicate inputs.",o.Msg.IOS_PROCEDURES_INPUTS="INPUTS",o.Msg.IOS_VARIABLES_ADD_BUTTON="Add",o.Msg.IOS_VARIABLES_ADD_VARIABLE="+ Add Variable",o.Msg.IOS_VARIABLES_DELETE_BUTTON="Delete",o.Msg.IOS_VARIABLES_EMPTY_NAME_ERROR="You can't use an empty variable name.",o.Msg.IOS_VARIABLES_RENAME_BUTTON="Rename",o.Msg.IOS_VARIABLES_VARIABLE_NAME="Variable name",o.Msg.LISTS_CREATE_EMPTY_HELPURL="https://github.com/google/blockly/wiki/Lists#create-empty-list",o.Msg.LISTS_CREATE_EMPTY_TITLE="create empty list",o.Msg.LISTS_CREATE_EMPTY_TOOLTIP="Returns a list, of length 0, containing no data records",o.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD="list",o.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP="Add, remove, or reorder sections to reconfigure this list block.",o.Msg.LISTS_CREATE_WITH_HELPURL="https://github.com/google/blockly/wiki/Lists#create-list-with",o.Msg.LISTS_CREATE_WITH_INPUT_WITH="create list with",o.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP="Add an item to the list.",o.Msg.LISTS_CREATE_WITH_TOOLTIP="Create a list with any number of items.",o.Msg.LISTS_GET_INDEX_FIRST="first",o.Msg.LISTS_GET_INDEX_FROM_END="# from end",o.Msg.LISTS_GET_INDEX_FROM_START="#",o.Msg.LISTS_GET_INDEX_GET="get",o.Msg.LISTS_GET_INDEX_GET_REMOVE="get and remove",o.Msg.LISTS_GET_INDEX_LAST="last",o.Msg.LISTS_GET_INDEX_RANDOM="random",o.Msg.LISTS_GET_INDEX_REMOVE="remove",o.Msg.LISTS_GET_INDEX_TAIL="",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST="Returns the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM="Returns the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST="Returns the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM="Returns a random item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST="Removes and returns the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM="Removes and returns the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST="Removes and returns the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM="Removes and returns a random item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST="Removes the first item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM="Removes the item at the specified position in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST="Removes the last item in a list.",o.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM="Removes a random item in a list.",o.Msg.LISTS_GET_SUBLIST_END_FROM_END="to # from end",o.Msg.LISTS_GET_SUBLIST_END_FROM_START="to #",o.Msg.LISTS_GET_SUBLIST_END_LAST="to last",o.Msg.LISTS_GET_SUBLIST_HELPURL="https://github.com/google/blockly/wiki/Lists#getting-a-sublist",o.Msg.LISTS_GET_SUBLIST_START_FIRST="get sub-list from first",o.Msg.LISTS_GET_SUBLIST_START_FROM_END="get sub-list from # from end",o.Msg.LISTS_GET_SUBLIST_START_FROM_START="get sub-list from #",o.Msg.LISTS_GET_SUBLIST_TAIL="",o.Msg.LISTS_GET_SUBLIST_TOOLTIP="Creates a copy of the specified portion of a list.",o.Msg.LISTS_INDEX_FROM_END_TOOLTIP="%1 is the last item.",o.Msg.LISTS_INDEX_FROM_START_TOOLTIP="%1 is the first item.",o.Msg.LISTS_INDEX_OF_FIRST="find first occurrence of item",o.Msg.LISTS_INDEX_OF_HELPURL="https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",o.Msg.LISTS_INDEX_OF_LAST="find last occurrence of item",o.Msg.LISTS_INDEX_OF_TOOLTIP="Returns the index of the first/last occurrence of the item in the list. Returns %1 if item is not found.",o.Msg.LISTS_INLIST="in list",o.Msg.LISTS_ISEMPTY_HELPURL="https://github.com/google/blockly/wiki/Lists#is-empty",o.Msg.LISTS_ISEMPTY_TITLE="%1 is empty",o.Msg.LISTS_ISEMPTY_TOOLTIP="Returns true if the list is empty.",o.Msg.LISTS_LENGTH_HELPURL="https://github.com/google/blockly/wiki/Lists#length-of",o.Msg.LISTS_LENGTH_TITLE="length of %1",o.Msg.LISTS_LENGTH_TOOLTIP="Returns the length of a list.",o.Msg.LISTS_REPEAT_HELPURL="https://github.com/google/blockly/wiki/Lists#create-list-with",o.Msg.LISTS_REPEAT_TITLE="create list with item %1 repeated %2 times",o.Msg.LISTS_REPEAT_TOOLTIP="Creates a list consisting of the given value repeated the specified number of times.",o.Msg.LISTS_REVERSE_HELPURL="https://github.com/google/blockly/wiki/Lists#reversing-a-list",o.Msg.LISTS_REVERSE_MESSAGE0="reverse %1",o.Msg.LISTS_REVERSE_TOOLTIP="Reverse a copy of a list.",o.Msg.LISTS_SET_INDEX_HELPURL="https://github.com/google/blockly/wiki/Lists#in-list--set",o.Msg.LISTS_SET_INDEX_INPUT_TO="as",o.Msg.LISTS_SET_INDEX_INSERT="insert at",o.Msg.LISTS_SET_INDEX_SET="set",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST="Inserts the item at the start of a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM="Inserts the item at the specified position in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST="Append the item to the end of a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM="Inserts the item randomly in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST="Sets the first item in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM="Sets the item at the specified position in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST="Sets the last item in a list.",o.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM="Sets a random item in a list.",o.Msg.LISTS_SORT_HELPURL="https://github.com/google/blockly/wiki/Lists#sorting-a-list",o.Msg.LISTS_SORT_ORDER_ASCENDING="ascending",o.Msg.LISTS_SORT_ORDER_DESCENDING="descending",o.Msg.LISTS_SORT_TITLE="sort %1 %2 %3",o.Msg.LISTS_SORT_TOOLTIP="Sort a copy of a list.",o.Msg.LISTS_SORT_TYPE_IGNORECASE="alphabetic, ignore case",o.Msg.LISTS_SORT_TYPE_NUMERIC="numeric",o.Msg.LISTS_SORT_TYPE_TEXT="alphabetic",o.Msg.LISTS_SPLIT_HELPURL="https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",o.Msg.LISTS_SPLIT_LIST_FROM_TEXT="make list from text",o.Msg.LISTS_SPLIT_TEXT_FROM_LIST="make text from list",o.Msg.LISTS_SPLIT_TOOLTIP_JOIN="Join a list of texts into one text, separated by a delimiter.",o.Msg.LISTS_SPLIT_TOOLTIP_SPLIT="Split text into a list of texts, breaking at each delimiter.",o.Msg.LISTS_SPLIT_WITH_DELIMITER="with delimiter",o.Msg.LOGIC_BOOLEAN_FALSE="false",o.Msg.LOGIC_BOOLEAN_HELPURL="https://github.com/google/blockly/wiki/Logic#values",o.Msg.LOGIC_BOOLEAN_TOOLTIP="Returns either true or false.",o.Msg.LOGIC_BOOLEAN_TRUE="true",o.Msg.LOGIC_COMPARE_HELPURL="https://en.wikipedia.org/wiki/Inequality_(mathematics)",o.Msg.LOGIC_COMPARE_TOOLTIP_EQ="Return true if both inputs equal each other.",o.Msg.LOGIC_COMPARE_TOOLTIP_GT="Return true if the first input is greater than the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_GTE="Return true if the first input is greater than or equal to the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_LT="Return true if the first input is smaller than the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_LTE="Return true if the first input is smaller than or equal to the second input.",o.Msg.LOGIC_COMPARE_TOOLTIP_NEQ="Return true if both inputs are not equal to each other.",o.Msg.LOGIC_NEGATE_HELPURL="https://github.com/google/blockly/wiki/Logic#not",o.Msg.LOGIC_NEGATE_TITLE="not %1",o.Msg.LOGIC_NEGATE_TOOLTIP="Returns true if the input is false. Returns false if the input is true.",o.Msg.LOGIC_NULL="null",o.Msg.LOGIC_NULL_HELPURL="https://en.wikipedia.org/wiki/Nullable_type",o.Msg.LOGIC_NULL_TOOLTIP="Returns null.",o.Msg.LOGIC_OPERATION_AND="and",o.Msg.LOGIC_OPERATION_HELPURL="https://github.com/google/blockly/wiki/Logic#logical-operations",o.Msg.LOGIC_OPERATION_OR="or",o.Msg.LOGIC_OPERATION_TOOLTIP_AND="Return true if both inputs are true.",o.Msg.LOGIC_OPERATION_TOOLTIP_OR="Return true if at least one of the inputs is true.",o.Msg.LOGIC_TERNARY_CONDITION="test",o.Msg.LOGIC_TERNARY_HELPURL="https://en.wikipedia.org/wiki/%3F:",o.Msg.LOGIC_TERNARY_IF_FALSE="if false",o.Msg.LOGIC_TERNARY_IF_TRUE="if true",o.Msg.LOGIC_TERNARY_TOOLTIP="Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",o.Msg.MATH_ADDITION_SYMBOL="+",o.Msg.MATH_ARITHMETIC_HELPURL="https://en.wikipedia.org/wiki/Arithmetic",o.Msg.MATH_ARITHMETIC_TOOLTIP_ADD="Return the sum of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE="Return the quotient of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS="Return the difference of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY="Return the product of the two numbers.",o.Msg.MATH_ARITHMETIC_TOOLTIP_POWER="Return the first number raised to the power of the second number.",o.Msg.MATH_ATAN2_HELPURL="https://en.wikipedia.org/wiki/Atan2",o.Msg.MATH_ATAN2_TITLE="atan2 of X:%1 Y:%2",o.Msg.MATH_ATAN2_TOOLTIP="Return the arctangent of point (X, Y) in degrees from -180 to 180.",o.Msg.MATH_CHANGE_HELPURL="https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",o.Msg.MATH_CHANGE_TITLE="change %1 by %2",o.Msg.MATH_CHANGE_TOOLTIP="Add a number to variable '%1'.",o.Msg.MATH_CONSTANT_HELPURL="https://en.wikipedia.org/wiki/Mathematical_constant",o.Msg.MATH_CONSTANT_TOOLTIP="Return one of the common constants: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or ∞ (infinity).",o.Msg.MATH_CONSTRAIN_HELPURL="https://en.wikipedia.org/wiki/Clamping_(graphics)",o.Msg.MATH_CONSTRAIN_TITLE="constrain %1 low %2 high %3",o.Msg.MATH_CONSTRAIN_TOOLTIP="Constrain a number to be between the specified limits (inclusive).",o.Msg.MATH_DIVISION_SYMBOL="÷",o.Msg.MATH_IS_DIVISIBLE_BY="is divisible by",o.Msg.MATH_IS_EVEN="is even",o.Msg.MATH_IS_NEGATIVE="is negative",o.Msg.MATH_IS_ODD="is odd",o.Msg.MATH_IS_POSITIVE="is positive",o.Msg.MATH_IS_PRIME="is prime",o.Msg.MATH_IS_TOOLTIP="Check if a number is an even, odd, prime, whole, positive, negative, or if it is divisible by certain number. Returns true or false.",o.Msg.MATH_IS_WHOLE="is whole",o.Msg.MATH_MODULO_HELPURL="https://en.wikipedia.org/wiki/Modulo_operation",o.Msg.MATH_MODULO_TITLE="remainder of %1 ÷ %2",o.Msg.MATH_MODULO_TOOLTIP="Return the remainder from dividing the two numbers.",o.Msg.MATH_MULTIPLICATION_SYMBOL="×",o.Msg.MATH_NUMBER_HELPURL="https://en.wikipedia.org/wiki/Number",o.Msg.MATH_NUMBER_TOOLTIP="A number.",o.Msg.MATH_ONLIST_HELPURL="",o.Msg.MATH_ONLIST_OPERATOR_AVERAGE="average of list",o.Msg.MATH_ONLIST_OPERATOR_MAX="max of list",o.Msg.MATH_ONLIST_OPERATOR_MEDIAN="median of list",o.Msg.MATH_ONLIST_OPERATOR_MIN="min of list",o.Msg.MATH_ONLIST_OPERATOR_MODE="modes of list",o.Msg.MATH_ONLIST_OPERATOR_RANDOM="random item of list",o.Msg.MATH_ONLIST_OPERATOR_STD_DEV="standard deviation of list",o.Msg.MATH_ONLIST_OPERATOR_SUM="sum of list",o.Msg.MATH_ONLIST_TOOLTIP_AVERAGE="Return the average (arithmetic mean) of the numeric values in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MAX="Return the largest number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MEDIAN="Return the median number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MIN="Return the smallest number in the list.",o.Msg.MATH_ONLIST_TOOLTIP_MODE="Return a list of the most common item(s) in the list.",o.Msg.MATH_ONLIST_TOOLTIP_RANDOM="Return a random element from the list.",o.Msg.MATH_ONLIST_TOOLTIP_STD_DEV="Return the standard deviation of the list.",o.Msg.MATH_ONLIST_TOOLTIP_SUM="Return the sum of all the numbers in the list.",o.Msg.MATH_POWER_SYMBOL="^",o.Msg.MATH_RANDOM_FLOAT_HELPURL="https://en.wikipedia.org/wiki/Random_number_generation",o.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM="random fraction",o.Msg.MATH_RANDOM_FLOAT_TOOLTIP="Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",o.Msg.MATH_RANDOM_INT_HELPURL="https://en.wikipedia.org/wiki/Random_number_generation",o.Msg.MATH_RANDOM_INT_TITLE="random integer from %1 to %2",o.Msg.MATH_RANDOM_INT_TOOLTIP="Return a random integer between the two specified limits, inclusive.",o.Msg.MATH_ROUND_HELPURL="https://en.wikipedia.org/wiki/Rounding",o.Msg.MATH_ROUND_OPERATOR_ROUND="round",o.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN="round down",o.Msg.MATH_ROUND_OPERATOR_ROUNDUP="round up",o.Msg.MATH_ROUND_TOOLTIP="Round a number up or down.",o.Msg.MATH_SINGLE_HELPURL="https://en.wikipedia.org/wiki/Square_root",o.Msg.MATH_SINGLE_OP_ABSOLUTE="absolute",o.Msg.MATH_SINGLE_OP_ROOT="square root",o.Msg.MATH_SINGLE_TOOLTIP_ABS="Return the absolute value of a number.",o.Msg.MATH_SINGLE_TOOLTIP_EXP="Return e to the power of a number.",o.Msg.MATH_SINGLE_TOOLTIP_LN="Return the natural logarithm of a number.",o.Msg.MATH_SINGLE_TOOLTIP_LOG10="Return the base 10 logarithm of a number.",o.Msg.MATH_SINGLE_TOOLTIP_NEG="Return the negation of a number.",o.Msg.MATH_SINGLE_TOOLTIP_POW10="Return 10 to the power of a number.",o.Msg.MATH_SINGLE_TOOLTIP_ROOT="Return the square root of a number.",o.Msg.MATH_SUBTRACTION_SYMBOL="-",o.Msg.MATH_TRIG_ACOS="acos",o.Msg.MATH_TRIG_ASIN="asin",o.Msg.MATH_TRIG_ATAN="atan",o.Msg.MATH_TRIG_COS="cos",o.Msg.MATH_TRIG_HELPURL="https://en.wikipedia.org/wiki/Trigonometric_functions",o.Msg.MATH_TRIG_SIN="sin",o.Msg.MATH_TRIG_TAN="tan",o.Msg.MATH_TRIG_TOOLTIP_ACOS="Return the arccosine of a number.",o.Msg.MATH_TRIG_TOOLTIP_ASIN="Return the arcsine of a number.",o.Msg.MATH_TRIG_TOOLTIP_ATAN="Return the arctangent of a number.",o.Msg.MATH_TRIG_TOOLTIP_COS="Return the cosine of a degree (not radian).",o.Msg.MATH_TRIG_TOOLTIP_SIN="Return the sine of a degree (not radian).",o.Msg.MATH_TRIG_TOOLTIP_TAN="Return the tangent of a degree (not radian).",o.Msg.NEW_COLOUR_VARIABLE="Create colour variable...",o.Msg.NEW_NUMBER_VARIABLE="Create number variable...",o.Msg.NEW_STRING_VARIABLE="Create string variable...",o.Msg.NEW_VARIABLE="Create variable...",o.Msg.NEW_VARIABLE_TITLE="New variable name:",o.Msg.NEW_VARIABLE_TYPE_TITLE="New variable type:",o.Msg.ORDINAL_NUMBER_SUFFIX="",o.Msg.PROCEDURES_ALLOW_STATEMENTS="allow statements",o.Msg.PROCEDURES_BEFORE_PARAMS="with:",o.Msg.PROCEDURES_CALLNORETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_CALLNORETURN_TOOLTIP="Run the user-defined function '%1'.",o.Msg.PROCEDURES_CALLRETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_CALLRETURN_TOOLTIP="Run the user-defined function '%1' and use its output.",o.Msg.PROCEDURES_CALL_BEFORE_PARAMS="with:",o.Msg.PROCEDURES_CREATE_DO="Create '%1'",o.Msg.PROCEDURES_DEFNORETURN_COMMENT="Describe this function...",o.Msg.PROCEDURES_DEFNORETURN_DO="",o.Msg.PROCEDURES_DEFNORETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_DEFNORETURN_PROCEDURE="do something",o.Msg.PROCEDURES_DEFNORETURN_TITLE="to",o.Msg.PROCEDURES_DEFNORETURN_TOOLTIP="Creates a function with no output.",o.Msg.PROCEDURES_DEFRETURN_HELPURL="https://en.wikipedia.org/wiki/Subroutine",o.Msg.PROCEDURES_DEFRETURN_RETURN="return",o.Msg.PROCEDURES_DEFRETURN_TOOLTIP="Creates a function with an output.",o.Msg.PROCEDURES_DEF_DUPLICATE_WARNING="Warning: This function has duplicate parameters.",o.Msg.PROCEDURES_HIGHLIGHT_DEF="Highlight function definition",o.Msg.PROCEDURES_IFRETURN_HELPURL="http://c2.com/cgi/wiki?GuardClause",o.Msg.PROCEDURES_IFRETURN_TOOLTIP="If a value is true, then return a second value.",o.Msg.PROCEDURES_IFRETURN_WARNING="Warning: This block may be used only within a function definition.",o.Msg.PROCEDURES_MUTATORARG_TITLE="input name:",o.Msg.PROCEDURES_MUTATORARG_TOOLTIP="Add an input to the function.",o.Msg.PROCEDURES_MUTATORCONTAINER_TITLE="inputs",o.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP="Add, remove, or reorder inputs to this function.",o.Msg.REDO="Redo",o.Msg.REMOVE_COMMENT="Remove Comment",o.Msg.RENAME_VARIABLE="Rename variable...",o.Msg.RENAME_VARIABLE_TITLE="Rename all '%1' variables to:",o.Msg.TEXT_APPEND_HELPURL="https://github.com/google/blockly/wiki/Text#text-modification",o.Msg.TEXT_APPEND_TITLE="to %1 append text %2",o.Msg.TEXT_APPEND_TOOLTIP="Append some text to variable '%1'.",o.Msg.TEXT_CHANGECASE_HELPURL="https://github.com/google/blockly/wiki/Text#adjusting-text-case",o.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE="to lower case",o.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE="to Title Case",o.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE="to UPPER CASE",o.Msg.TEXT_CHANGECASE_TOOLTIP="Return a copy of the text in a different case.",o.Msg.TEXT_CHARAT_FIRST="get first letter",o.Msg.TEXT_CHARAT_FROM_END="get letter # from end",o.Msg.TEXT_CHARAT_FROM_START="get letter #",o.Msg.TEXT_CHARAT_HELPURL="https://github.com/google/blockly/wiki/Text#extracting-text",o.Msg.TEXT_CHARAT_LAST="get last letter",o.Msg.TEXT_CHARAT_RANDOM="get random letter",o.Msg.TEXT_CHARAT_TAIL="",o.Msg.TEXT_CHARAT_TITLE="in text %1 %2",o.Msg.TEXT_CHARAT_TOOLTIP="Returns the letter at the specified position.",o.Msg.TEXT_COUNT_HELPURL="https://github.com/google/blockly/wiki/Text#counting-substrings",o.Msg.TEXT_COUNT_MESSAGE0="count %1 in %2",o.Msg.TEXT_COUNT_TOOLTIP="Count how many times some text occurs within some other text.",o.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP="Add an item to the text.",o.Msg.TEXT_CREATE_JOIN_TITLE_JOIN="join",o.Msg.TEXT_CREATE_JOIN_TOOLTIP="Add, remove, or reorder sections to reconfigure this text block.",o.Msg.TEXT_GET_SUBSTRING_END_FROM_END="to letter # from end",o.Msg.TEXT_GET_SUBSTRING_END_FROM_START="to letter #",o.Msg.TEXT_GET_SUBSTRING_END_LAST="to last letter",o.Msg.TEXT_GET_SUBSTRING_HELPURL="https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",o.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT="in text",o.Msg.TEXT_GET_SUBSTRING_START_FIRST="get substring from first letter",o.Msg.TEXT_GET_SUBSTRING_START_FROM_END="get substring from letter # from end",o.Msg.TEXT_GET_SUBSTRING_START_FROM_START="get substring from letter #",o.Msg.TEXT_GET_SUBSTRING_TAIL="",o.Msg.TEXT_GET_SUBSTRING_TOOLTIP="Returns a specified portion of the text.",o.Msg.TEXT_INDEXOF_HELPURL="https://github.com/google/blockly/wiki/Text#finding-text",o.Msg.TEXT_INDEXOF_OPERATOR_FIRST="find first occurrence of text",o.Msg.TEXT_INDEXOF_OPERATOR_LAST="find last occurrence of text",o.Msg.TEXT_INDEXOF_TITLE="in text %1 %2 %3",o.Msg.TEXT_INDEXOF_TOOLTIP="Returns the index of the first/last occurrence of the first text in the second text. Returns %1 if text is not found.",o.Msg.TEXT_ISEMPTY_HELPURL="https://github.com/google/blockly/wiki/Text#checking-for-empty-text",o.Msg.TEXT_ISEMPTY_TITLE="%1 is empty",o.Msg.TEXT_ISEMPTY_TOOLTIP="Returns true if the provided text is empty.",o.Msg.TEXT_JOIN_HELPURL="https://github.com/google/blockly/wiki/Text#text-creation",o.Msg.TEXT_JOIN_TITLE_CREATEWITH="create text with",o.Msg.TEXT_JOIN_TOOLTIP="Create a piece of text by joining together any number of items.",o.Msg.TEXT_LENGTH_HELPURL="https://github.com/google/blockly/wiki/Text#text-modification",o.Msg.TEXT_LENGTH_TITLE="length of %1",o.Msg.TEXT_LENGTH_TOOLTIP="Returns the number of letters (including spaces) in the provided text.",o.Msg.TEXT_PRINT_HELPURL="https://github.com/google/blockly/wiki/Text#printing-text",o.Msg.TEXT_PRINT_TITLE="print %1",o.Msg.TEXT_PRINT_TOOLTIP="Print the specified text, number or other value.",o.Msg.TEXT_PROMPT_HELPURL="https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",o.Msg.TEXT_PROMPT_TOOLTIP_NUMBER="Prompt for user for a number.",o.Msg.TEXT_PROMPT_TOOLTIP_TEXT="Prompt for user for some text.",o.Msg.TEXT_PROMPT_TYPE_NUMBER="prompt for number with message",o.Msg.TEXT_PROMPT_TYPE_TEXT="prompt for text with message",o.Msg.TEXT_REPLACE_HELPURL="https://github.com/google/blockly/wiki/Text#replacing-substrings",o.Msg.TEXT_REPLACE_MESSAGE0="replace %1 with %2 in %3",o.Msg.TEXT_REPLACE_TOOLTIP="Replace all occurances of some text within some other text.",o.Msg.TEXT_REVERSE_HELPURL="https://github.com/google/blockly/wiki/Text#reversing-text",o.Msg.TEXT_REVERSE_MESSAGE0="reverse %1",o.Msg.TEXT_REVERSE_TOOLTIP="Reverses the order of the characters in the text.",o.Msg.TEXT_TEXT_HELPURL="https://en.wikipedia.org/wiki/String_(computer_science)",o.Msg.TEXT_TEXT_TOOLTIP="A letter, word, or line of text.",o.Msg.TEXT_TRIM_HELPURL="https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",o.Msg.TEXT_TRIM_OPERATOR_BOTH="trim spaces from both sides of",o.Msg.TEXT_TRIM_OPERATOR_LEFT="trim spaces from left side of",o.Msg.TEXT_TRIM_OPERATOR_RIGHT="trim spaces from right side of",o.Msg.TEXT_TRIM_TOOLTIP="Return a copy of the text with spaces removed from one or both ends.",o.Msg.TODAY="Today",o.Msg.UNDO="Undo",o.Msg.VARIABLES_DEFAULT_NAME="item",o.Msg.VARIABLES_GET_CREATE_SET="Create 'set %1'",o.Msg.VARIABLES_GET_HELPURL="https://github.com/google/blockly/wiki/Variables#get",o.Msg.VARIABLES_GET_TOOLTIP="Returns the value of this variable.",o.Msg.VARIABLES_SET="set %1 to %2",o.Msg.VARIABLES_SET_CREATE_GET="Create 'get %1'",o.Msg.VARIABLES_SET_HELPURL="https://github.com/google/blockly/wiki/Variables#set",o.Msg.VARIABLES_SET_TOOLTIP="Sets this variable to be equal to the input.",o.Msg.VARIABLE_ALREADY_EXISTS="A variable named '%1' already exists.",o.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE="A variable named '%1' already exists for another type: '%2'.",o.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT="Say something...",o.Msg.CONTROLS_FOREACH_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_FOR_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF=o.Msg.CONTROLS_IF_MSG_ELSEIF,o.Msg.CONTROLS_IF_ELSE_TITLE_ELSE=o.Msg.CONTROLS_IF_MSG_ELSE,o.Msg.CONTROLS_IF_IF_TITLE_IF=o.Msg.CONTROLS_IF_MSG_IF,o.Msg.CONTROLS_IF_MSG_THEN=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.CONTROLS_WHILEUNTIL_INPUT_DO=o.Msg.CONTROLS_REPEAT_INPUT_DO,o.Msg.LISTS_CREATE_WITH_ITEM_TITLE=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.LISTS_GET_INDEX_HELPURL=o.Msg.LISTS_INDEX_OF_HELPURL,o.Msg.LISTS_GET_INDEX_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_INDEX_OF_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.LISTS_SET_INDEX_INPUT_IN_LIST=o.Msg.LISTS_INLIST,o.Msg.MATH_CHANGE_TITLE_ITEM=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.PROCEDURES_DEFRETURN_COMMENT=o.Msg.PROCEDURES_DEFNORETURN_COMMENT,o.Msg.PROCEDURES_DEFRETURN_DO=o.Msg.PROCEDURES_DEFNORETURN_DO,o.Msg.PROCEDURES_DEFRETURN_PROCEDURE=o.Msg.PROCEDURES_DEFNORETURN_PROCEDURE,o.Msg.PROCEDURES_DEFRETURN_TITLE=o.Msg.PROCEDURES_DEFNORETURN_TITLE,o.Msg.TEXT_APPEND_VARIABLE=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM=o.Msg.VARIABLES_DEFAULT_NAME,o.Msg.MATH_HUE="230",o.Msg.LOOPS_HUE="120",o.Msg.LISTS_HUE="260",o.Msg.LOGIC_HUE="210",o.Msg.VARIABLES_HUE="330",o.Msg.TEXTS_HUE="160",o.Msg.PROCEDURES_HUE="290",o.Msg.COLOUR_HUE="20",o.Msg.VARIABLES_DYNAMIC_HUE="310",o.Msg}},function(e,t){e.exports=function(e){return e.Blocks={},e.Blocks.colour={},e.Constants={},e.Constants.Colour={},e.Constants.Colour.HUE=20,e.defineBlocksWithJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"},{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"},{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",style:"colour_blocks",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}]),e.Blocks.lists={},e.Constants.Lists={},e.Constants.Lists.HUE=260,e.defineBlocksWithJsonArray([{type:"lists_create_empty",message0:"%{BKY_LISTS_CREATE_EMPTY_TITLE}",output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_CREATE_EMPTY_HELPURL}"},{type:"lists_repeat",message0:"%{BKY_LISTS_REPEAT_TITLE}",args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"NUM",check:"Number"}],output:"Array",style:"list_blocks",tooltip:"%{BKY_LISTS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_LISTS_REPEAT_HELPURL}"},{type:"lists_reverse",message0:"%{BKY_LISTS_REVERSE_MESSAGE0}",args0:[{type:"input_value",name:"LIST",check:"Array"}],output:"Array",inputsInline:!0,style:"list_blocks",tooltip:"%{BKY_LISTS_REVERSE_TOOLTIP}",helpUrl:"%{BKY_LISTS_REVERSE_HELPURL}"},{type:"lists_isEmpty",message0:"%{BKY_LISTS_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"list_blocks",tooltip:"%{BKY_LISTS_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_ISEMPTY_HELPURL}"},{type:"lists_length",message0:"%{BKY_LISTS_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"list_blocks",tooltip:"%{BKY_LISTS_LENGTH_TOOLTIP}",helpUrl:"%{BKY_LISTS_LENGTH_HELPURL}"}]),e.Blocks.lists_create_with={init:function(){this.setHelpUrl(e.Msg.LISTS_CREATE_WITH_HELPURL),this.setStyle("list_blocks"),this.itemCount_=3,this.updateShape_(),this.setOutput(!0,"Array"),this.setMutator(new e.Mutator(["lists_create_with_item"])),this.setTooltip(e.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("lists_create_with_container");t.initSvg();for(var o=t.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var i=e.newBlock("lists_create_with_item");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return t},compose:function(t){var o=t.getInputTargetBlock("STACK");for(t=[];o;)t.push(o.valueConnection_),o=o.nextConnection&&o.nextConnection.targetBlock();for(o=0;o<this.itemCount_;o++){var n=this.getInput("ADD"+o).connection.targetConnection;n&&-1==t.indexOf(n)&&n.disconnect()}for(this.itemCount_=t.length,this.updateShape_(),o=0;o<this.itemCount_;o++)e.Mutator.reconnect(t[o],this,"ADD"+o)},saveConnections:function(e){e=e.getInputTargetBlock("STACK");for(var t=0;e;){var o=this.getInput("ADD"+t);e.valueConnection_=o&&o.connection.targetConnection,t++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(e.Msg.LISTS_CREATE_EMPTY_TITLE);for(var t=0;t<this.itemCount_;t++)if(!this.getInput("ADD"+t)){var o=this.appendValueInput("ADD"+t);0==t&&o.appendField(e.Msg.LISTS_CREATE_WITH_INPUT_WITH)}for(;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++}},e.Blocks.lists_create_with_container={init:function(){this.setStyle("list_blocks"),this.appendDummyInput().appendField(e.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD),this.appendStatementInput("STACK"),this.setTooltip(e.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP),this.contextMenu=!1}},e.Blocks.lists_create_with_item={init:function(){this.setStyle("list_blocks"),this.appendDummyInput().appendField(e.Msg.LISTS_CREATE_WITH_ITEM_TITLE),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(e.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP),this.contextMenu=!1}},e.Blocks.lists_indexOf={init:function(){var t=[[e.Msg.LISTS_INDEX_OF_FIRST,"FIRST"],[e.Msg.LISTS_INDEX_OF_LAST,"LAST"]];this.setHelpUrl(e.Msg.LISTS_INDEX_OF_HELPURL),this.setStyle("list_blocks"),this.setOutput(!0,"Number"),this.appendValueInput("VALUE").setCheck("Array").appendField(e.Msg.LISTS_INDEX_OF_INPUT_IN_LIST),this.appendValueInput("FIND").appendField(new e.FieldDropdown(t),"END"),this.setInputsInline(!0);var o=this;this.setTooltip((function(){return e.Msg.LISTS_INDEX_OF_TOOLTIP.replace("%1",o.workspace.options.oneBasedIndex?"0":"-1")}))}},e.Blocks.lists_getIndex={init:function(){var t=[[e.Msg.LISTS_GET_INDEX_GET,"GET"],[e.Msg.LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[e.Msg.LISTS_GET_INDEX_REMOVE,"REMOVE"]];this.WHERE_OPTIONS=[[e.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[e.Msg.LISTS_GET_INDEX_LAST,"LAST"],[e.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]],this.setHelpUrl(e.Msg.LISTS_GET_INDEX_HELPURL),this.setStyle("list_blocks"),t=new e.FieldDropdown(t,(function(e){e="REMOVE"==e,this.getSourceBlock().updateStatement_(e)})),this.appendValueInput("VALUE").setCheck("Array").appendField(e.Msg.LISTS_GET_INDEX_INPUT_IN_LIST),this.appendDummyInput().appendField(t,"MODE").appendField("","SPACE"),this.appendDummyInput("AT"),e.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.LISTS_GET_INDEX_TAIL),this.setInputsInline(!0),this.setOutput(!0),this.updateAt_(!0);var o=this;this.setTooltip((function(){var t=o.getFieldValue("MODE"),n=o.getFieldValue("WHERE"),i="";switch(t+" "+n){case"GET FROM_START":case"GET FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case"GET FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case"GET LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case"GET RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case"GET_REMOVE FROM_START":case"GET_REMOVE FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case"GET_REMOVE FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case"GET_REMOVE LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case"GET_REMOVE RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case"REMOVE FROM_START":case"REMOVE FROM_END":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case"REMOVE FIRST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case"REMOVE LAST":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case"REMOVE RANDOM":i=e.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+="  "+("FROM_START"==n?e.Msg.LISTS_INDEX_FROM_START_TOOLTIP:e.Msg.LISTS_INDEX_FROM_END_TOOLTIP).replace("%1",o.workspace.options.oneBasedIndex?"#1":"#0")),i}))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");t.setAttribute("statement",!this.outputConnection);var o=this.getInput("AT").type==e.INPUT_VALUE;return t.setAttribute("at",o),t},domToMutation:function(e){var t="true"==e.getAttribute("statement");this.updateStatement_(t),e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateStatement_:function(e){e!=!this.outputConnection&&(this.unplug(!0,!0),e?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var o=new e.FieldDropdown(this.WHERE_OPTIONS,(function(e){var o="FROM_START"==e||"FROM_END"==e;if(o!=t){var n=this.getSourceBlock();return n.updateAt_(o),n.setFieldValue(e,"WHERE"),null}}));this.getInput("AT").appendField(o,"WHERE"),e.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}},e.Blocks.lists_setIndex={init:function(){var t=[[e.Msg.LISTS_SET_INDEX_SET,"SET"],[e.Msg.LISTS_SET_INDEX_INSERT,"INSERT"]];this.WHERE_OPTIONS=[[e.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[e.Msg.LISTS_GET_INDEX_LAST,"LAST"],[e.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]],this.setHelpUrl(e.Msg.LISTS_SET_INDEX_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("LIST").setCheck("Array").appendField(e.Msg.LISTS_SET_INDEX_INPUT_IN_LIST),this.appendDummyInput().appendField(new e.FieldDropdown(t),"MODE").appendField("","SPACE"),this.appendDummyInput("AT"),this.appendValueInput("TO").appendField(e.Msg.LISTS_SET_INDEX_INPUT_TO),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setTooltip(e.Msg.LISTS_SET_INDEX_TOOLTIP),this.updateAt_(!0);var o=this;this.setTooltip((function(){var t=o.getFieldValue("MODE"),n=o.getFieldValue("WHERE"),i="";switch(t+" "+n){case"SET FROM_START":case"SET FROM_END":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case"SET FIRST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case"SET LAST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case"SET RANDOM":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case"INSERT FROM_START":case"INSERT FROM_END":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case"INSERT FIRST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case"INSERT LAST":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;break;case"INSERT RANDOM":i=e.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}return"FROM_START"!=n&&"FROM_END"!=n||(i+="  "+e.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",o.workspace.options.oneBasedIndex?"#1":"#0")),i}))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT").type==e.INPUT_VALUE;return t.setAttribute("at",o),t},domToMutation:function(e){e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT"),this.removeInput("ORDINAL",!0),t?(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var o=new e.FieldDropdown(this.WHERE_OPTIONS,(function(e){var o="FROM_START"==e||"FROM_END"==e;if(o!=t){var n=this.getSourceBlock();return n.updateAt_(o),n.setFieldValue(e,"WHERE"),null}}));this.moveInputBefore("AT","TO"),this.getInput("ORDINAL")&&this.moveInputBefore("ORDINAL","TO"),this.getInput("AT").appendField(o,"WHERE")}},e.Blocks.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[e.Msg.LISTS_GET_SUBLIST_START_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_SUBLIST_START_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[e.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[e.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[e.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]],this.setHelpUrl(e.Msg.LISTS_GET_SUBLIST_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("LIST").setCheck("Array").appendField(e.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),e.Msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.LISTS_GET_SUBLIST_TAIL),this.setInputsInline(!0),this.setOutput(!0,"Array"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(e.Msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT1").type==e.INPUT_VALUE;return t.setAttribute("at1",o),o=this.getInput("AT2").type==e.INPUT_VALUE,t.setAttribute("at2",o),t},domToMutation:function(e){var t="true"==e.getAttribute("at1");e="true"==e.getAttribute("at2"),this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(t,o){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),o?(this.appendValueInput("AT"+t).setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+t).appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+t);var n=new e.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=o){var i=this.getSourceBlock();return i.updateAt_(t,n),i.setFieldValue(e,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2")),e.Msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore("TAIL",null)}},e.Blocks.lists_sort={init:function(){this.jsonInit({message0:e.Msg.LISTS_SORT_TITLE,args0:[{type:"field_dropdown",name:"TYPE",options:[[e.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[e.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[e.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[e.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[e.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Array",style:"list_blocks",tooltip:e.Msg.LISTS_SORT_TOOLTIP,helpUrl:e.Msg.LISTS_SORT_HELPURL})}},e.Blocks.lists_split={init:function(){var t=this,o=new e.FieldDropdown([[e.Msg.LISTS_SPLIT_LIST_FROM_TEXT,"SPLIT"],[e.Msg.LISTS_SPLIT_TEXT_FROM_LIST,"JOIN"]],(function(e){t.updateType_(e)}));this.setHelpUrl(e.Msg.LISTS_SPLIT_HELPURL),this.setStyle("list_blocks"),this.appendValueInput("INPUT").setCheck("String").appendField(o,"MODE"),this.appendValueInput("DELIM").setCheck("String").appendField(e.Msg.LISTS_SPLIT_WITH_DELIMITER),this.setInputsInline(!0),this.setOutput(!0,"Array"),this.setTooltip((function(){var o=t.getFieldValue("MODE");if("SPLIT"==o)return e.Msg.LISTS_SPLIT_TOOLTIP_SPLIT;if("JOIN"==o)return e.Msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error("Unknown mode: "+o)}))},updateType_:function(e){if(this.getFieldValue("MODE")!=e){var t=this.getInput("INPUT").connection;t.setShadowDom(null);var o=t.targetBlock();o&&(t.disconnect(),o.isShadow()?o.dispose():this.bumpNeighbours_())}"SPLIT"==e?(this.outputConnection.setCheck("Array"),this.getInput("INPUT").setCheck("String")):(this.outputConnection.setCheck("String"),this.getInput("INPUT").setCheck("Array"))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("mode",this.getFieldValue("MODE")),t},domToMutation:function(e){this.updateType_(e.getAttribute("mode"))}},e.Blocks.logic={},e.Constants.Logic={},e.Constants.Logic.HUE=210,e.defineBlocksWithJsonArray([{type:"logic_boolean",message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[["%{BKY_LOGIC_BOOLEAN_TRUE}","TRUE"],["%{BKY_LOGIC_BOOLEAN_FALSE}","FALSE"]]}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_BOOLEAN_TOOLTIP}",helpUrl:"%{BKY_LOGIC_BOOLEAN_HELPURL}"},{type:"controls_if",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],previousStatement:null,nextStatement:null,style:"logic_blocks",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",mutator:"controls_if_mutator",extensions:["controls_if_tooltip"]},{type:"controls_ifelse",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],message2:"%{BKY_CONTROLS_IF_MSG_ELSE} %1",args2:[{type:"input_statement",name:"ELSE"}],previousStatement:null,nextStatement:null,style:"logic_blocks",tooltip:"%{BKYCONTROLS_IF_TOOLTIP_2}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",extensions:["controls_if_tooltip"]},{type:"logic_compare",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A"},{type:"field_dropdown",name:"OP",options:[["=","EQ"],["≠","NEQ"],["‏<","LT"],["‏≤","LTE"],["‏>","GT"],["‏≥","GTE"]]},{type:"input_value",name:"B"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_COMPARE_HELPURL}",extensions:["logic_compare","logic_op_tooltip"]},{type:"logic_operation",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Boolean"},{type:"field_dropdown",name:"OP",options:[["%{BKY_LOGIC_OPERATION_AND}","AND"],["%{BKY_LOGIC_OPERATION_OR}","OR"]]},{type:"input_value",name:"B",check:"Boolean"}],inputsInline:!0,output:"Boolean",style:"logic_blocks",helpUrl:"%{BKY_LOGIC_OPERATION_HELPURL}",extensions:["logic_op_tooltip"]},{type:"logic_negate",message0:"%{BKY_LOGIC_NEGATE_TITLE}",args0:[{type:"input_value",name:"BOOL",check:"Boolean"}],output:"Boolean",style:"logic_blocks",tooltip:"%{BKY_LOGIC_NEGATE_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NEGATE_HELPURL}"},{type:"logic_null",message0:"%{BKY_LOGIC_NULL}",output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_NULL_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NULL_HELPURL}"},{type:"logic_ternary",message0:"%{BKY_LOGIC_TERNARY_CONDITION} %1",args0:[{type:"input_value",name:"IF",check:"Boolean"}],message1:"%{BKY_LOGIC_TERNARY_IF_TRUE} %1",args1:[{type:"input_value",name:"THEN"}],message2:"%{BKY_LOGIC_TERNARY_IF_FALSE} %1",args2:[{type:"input_value",name:"ELSE"}],output:null,style:"logic_blocks",tooltip:"%{BKY_LOGIC_TERNARY_TOOLTIP}",helpUrl:"%{BKY_LOGIC_TERNARY_HELPURL}",extensions:["logic_ternary"]}]),e.defineBlocksWithJsonArray([{type:"controls_if_if",message0:"%{BKY_CONTROLS_IF_IF_TITLE_IF}",nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_IF_TOOLTIP}"},{type:"controls_if_elseif",message0:"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}",previousStatement:null,nextStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}"},{type:"controls_if_else",message0:"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}",previousStatement:null,enableContextMenu:!1,style:"logic_blocks",tooltip:"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}"}]),e.Constants.Logic.TOOLTIPS_BY_OP={EQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}",NEQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}",LT:"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}",LTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}",GT:"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}",GTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}",AND:"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}",OR:"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}"},e.Extensions.register("logic_op_tooltip",e.Extensions.buildTooltipForDropdown("OP",e.Constants.Logic.TOOLTIPS_BY_OP)),e.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN={elseifCount_:0,elseCount_:0,suppressPrefixSuffix:!0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var t=e.utils.xml.createElement("mutation");return this.elseifCount_&&t.setAttribute("elseif",this.elseifCount_),this.elseCount_&&t.setAttribute("else",1),t},domToMutation:function(e){this.elseifCount_=parseInt(e.getAttribute("elseif"),10)||0,this.elseCount_=parseInt(e.getAttribute("else"),10)||0,this.rebuildShape_()},decompose:function(e){var t=e.newBlock("controls_if_if");t.initSvg();for(var o=t.nextConnection,n=1;n<=this.elseifCount_;n++){var i=e.newBlock("controls_if_elseif");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return this.elseCount_&&((e=e.newBlock("controls_if_else")).initSvg(),o.connect(e.previousConnection)),t},compose:function(e){e=e.nextConnection.targetBlock(),this.elseCount_=this.elseifCount_=0;for(var t=[null],o=[null],n=null;e;){switch(e.type){case"controls_if_elseif":this.elseifCount_++,t.push(e.valueConnection_),o.push(e.statementConnection_);break;case"controls_if_else":this.elseCount_++,n=e.statementConnection_;break;default:throw TypeError("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}this.updateShape_(),this.reconnectChildBlocks_(t,o,n)},saveConnections:function(e){e=e.nextConnection.targetBlock();for(var t=1;e;){switch(e.type){case"controls_if_elseif":var o=this.getInput("IF"+t),n=this.getInput("DO"+t);e.valueConnection_=o&&o.connection.targetConnection,e.statementConnection_=n&&n.connection.targetConnection,t++;break;case"controls_if_else":n=this.getInput("ELSE"),e.statementConnection_=n&&n.connection.targetConnection;break;default:throw TypeError("Unknown block type: "+e.type)}e=e.nextConnection&&e.nextConnection.targetBlock()}},rebuildShape_:function(){var e=[null],t=[null],o=null;this.getInput("ELSE")&&(o=this.getInput("ELSE").connection.targetConnection);for(var n=1;this.getInput("IF"+n);){var i=this.getInput("IF"+n),r=this.getInput("DO"+n);e.push(i.connection.targetConnection),t.push(r.connection.targetConnection),n++}this.updateShape_(),this.reconnectChildBlocks_(e,t,o)},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var t=1;this.getInput("IF"+t);)this.removeInput("IF"+t),this.removeInput("DO"+t),t++;for(t=1;t<=this.elseifCount_;t++)this.appendValueInput("IF"+t).setCheck("Boolean").appendField(e.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+t).appendField(e.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(e.Msg.CONTROLS_IF_MSG_ELSE)},reconnectChildBlocks_:function(t,o,n){for(var i=1;i<=this.elseifCount_;i++)e.Mutator.reconnect(t[i],this,"IF"+i),e.Mutator.reconnect(o[i],this,"DO"+i);e.Mutator.reconnect(n,this,"ELSE")}},e.Extensions.registerMutator("controls_if_mutator",e.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN,null,["controls_if_elseif","controls_if_else"]),e.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION=function(){this.setTooltip(function(){return this.elseifCount_||this.elseCount_?!this.elseifCount_&&this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_2:this.elseifCount_&&!this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_3:this.elseifCount_&&this.elseCount_?e.Msg.CONTROLS_IF_TOOLTIP_4:"":e.Msg.CONTROLS_IF_TOOLTIP_1}.bind(this))},e.Extensions.register("controls_if_tooltip",e.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION),e.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN={onchange:function(t){this.prevBlocks_||(this.prevBlocks_=[null,null]);var o=this.getInputTargetBlock("A"),n=this.getInputTargetBlock("B");o&&n&&!o.outputConnection.checkType_(n.outputConnection)&&(e.Events.setGroup(t.group),(t=this.prevBlocks_[0])!==o&&(o.unplug(),t&&!t.isShadow()&&this.getInput("A").connection.connect(t.outputConnection)),(o=this.prevBlocks_[1])!==n&&(n.unplug(),o&&!o.isShadow()&&this.getInput("B").connection.connect(o.outputConnection)),this.bumpNeighbours_(),e.Events.setGroup(!1)),this.prevBlocks_[0]=this.getInputTargetBlock("A"),this.prevBlocks_[1]=this.getInputTargetBlock("B")}},e.Constants.Logic.LOGIC_COMPARE_EXTENSION=function(){this.mixin(e.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN)},e.Extensions.register("logic_compare",e.Constants.Logic.LOGIC_COMPARE_EXTENSION),e.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN={prevParentConnection_:null,onchange:function(t){var o=this.getInputTargetBlock("THEN"),n=this.getInputTargetBlock("ELSE"),i=this.outputConnection.targetConnection;if((o||n)&&i)for(var r=0;2>r;r++){var s=1==r?o:n;s&&!s.outputConnection.checkType_(i)&&(e.Events.setGroup(t.group),i===this.prevParentConnection_?(this.unplug(),i.getSourceBlock().bumpNeighbours_()):(s.unplug(),s.bumpNeighbours_()),e.Events.setGroup(!1))}this.prevParentConnection_=i}},e.Extensions.registerMixin("logic_ternary",e.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN),e.Blocks.loops={},e.Constants.Loops={},e.Constants.Loops.HUE=120,e.defineBlocksWithJsonArray([{type:"controls_repeat_ext",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"input_value",name:"TIMES",check:"Number"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_repeat",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"field_number",name:"TIMES",value:10,min:0,precision:1}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_whileUntil",message0:"%1 %2",args0:[{type:"field_dropdown",name:"MODE",options:[["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}","WHILE"],["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}","UNTIL"]]},{type:"input_value",name:"BOOL",check:"Boolean"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}",extensions:["controls_whileUntil_tooltip"]},{type:"controls_for",message0:"%{BKY_CONTROLS_FOR_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",align:"RIGHT"},{type:"input_value",name:"BY",check:"Number",align:"RIGHT"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],inputsInline:!0,previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOR_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_for_tooltip"]},{type:"controls_forEach",message0:"%{BKY_CONTROLS_FOREACH_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",check:"Array"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FOREACH_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_forEach_tooltip"]},{type:"controls_flow_statements",message0:"%1",args0:[{type:"field_dropdown",name:"FLOW",options:[["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}","BREAK"],["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}","CONTINUE"]]}],previousStatement:null,style:"loop_blocks",helpUrl:"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}",extensions:["controls_flow_tooltip","controls_flow_in_loop_check"]}]),e.Constants.Loops.WHILE_UNTIL_TOOLTIPS={WHILE:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}",UNTIL:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}"},e.Extensions.register("controls_whileUntil_tooltip",e.Extensions.buildTooltipForDropdown("MODE",e.Constants.Loops.WHILE_UNTIL_TOOLTIPS)),e.Constants.Loops.BREAK_CONTINUE_TOOLTIPS={BREAK:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}",CONTINUE:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}"},e.Extensions.register("controls_flow_tooltip",e.Extensions.buildTooltipForDropdown("FLOW",e.Constants.Loops.BREAK_CONTINUE_TOOLTIPS)),e.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN={customContextMenu:function(t){if(!this.isInFlyout){var o=this.getField("VAR").getVariable(),n=o.name;if(!this.isCollapsed()&&null!=n){var i={enabled:!0};i.text=e.Msg.VARIABLES_SET_CREATE_GET.replace("%1",n),o=e.Variables.generateVariableFieldDom(o),(n=e.utils.xml.createElement("block")).setAttribute("type","variables_get"),n.appendChild(o),i.callback=e.ContextMenu.callbackFactory(this,n),t.push(i)}}}},e.Extensions.registerMixin("contextMenu_newGetVariableBlock",e.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN),e.Extensions.register("controls_for_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOR_TOOLTIP}","VAR")),e.Extensions.register("controls_forEach_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOREACH_TOOLTIP}","VAR")),e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN={LOOP_TYPES:["controls_repeat","controls_repeat_ext","controls_forEach","controls_for","controls_whileUntil"],suppressPrefixSuffix:!0,getSurroundLoop:function(t){do{if(-1!=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.LOOP_TYPES.indexOf(t.type))return t;t=t.getSurroundParent()}while(t);return null},onchange:function(t){this.workspace.isDragging&&!this.workspace.isDragging()&&(e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(this)?(this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(e.Msg.CONTROLS_FLOW_STATEMENTS_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1)))}},e.Extensions.registerMixin("controls_flow_in_loop_check",e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN),e.Blocks.math={},e.Constants.Math={},e.Constants.Math.HUE=230,e.defineBlocksWithJsonArray([{type:"math_number",message0:"%1",args0:[{type:"field_number",name:"NUM",value:0}],output:"Number",helpUrl:"%{BKY_MATH_NUMBER_HELPURL}",style:"math_blocks",tooltip:"%{BKY_MATH_NUMBER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"math_arithmetic",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Number"},{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ADDITION_SYMBOL}","ADD"],["%{BKY_MATH_SUBTRACTION_SYMBOL}","MINUS"],["%{BKY_MATH_MULTIPLICATION_SYMBOL}","MULTIPLY"],["%{BKY_MATH_DIVISION_SYMBOL}","DIVIDE"],["%{BKY_MATH_POWER_SYMBOL}","POWER"]]},{type:"input_value",name:"B",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ARITHMETIC_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_single",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_SINGLE_OP_ROOT}","ROOT"],["%{BKY_MATH_SINGLE_OP_ABSOLUTE}","ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_SINGLE_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_trig",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_TRIG_SIN}","SIN"],["%{BKY_MATH_TRIG_COS}","COS"],["%{BKY_MATH_TRIG_TAN}","TAN"],["%{BKY_MATH_TRIG_ASIN}","ASIN"],["%{BKY_MATH_TRIG_ACOS}","ACOS"],["%{BKY_MATH_TRIG_ATAN}","ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_TRIG_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_constant",message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["π","PI"],["e","E"],["φ","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(½)","SQRT1_2"],["∞","INFINITY"]]}],output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTANT_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTANT_HELPURL}"},{type:"math_number_property",message0:"%1 %2",args0:[{type:"input_value",name:"NUMBER_TO_CHECK",check:"Number"},{type:"field_dropdown",name:"PROPERTY",options:[["%{BKY_MATH_IS_EVEN}","EVEN"],["%{BKY_MATH_IS_ODD}","ODD"],["%{BKY_MATH_IS_PRIME}","PRIME"],["%{BKY_MATH_IS_WHOLE}","WHOLE"],["%{BKY_MATH_IS_POSITIVE}","POSITIVE"],["%{BKY_MATH_IS_NEGATIVE}","NEGATIVE"],["%{BKY_MATH_IS_DIVISIBLE_BY}","DIVISIBLE_BY"]]}],inputsInline:!0,output:"Boolean",style:"math_blocks",tooltip:"%{BKY_MATH_IS_TOOLTIP}",mutator:"math_is_divisibleby_mutator"},{type:"math_change",message0:"%{BKY_MATH_CHANGE_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_MATH_CHANGE_TITLE_ITEM}"},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,style:"variable_blocks",helpUrl:"%{BKY_MATH_CHANGE_HELPURL}",extensions:["math_change_tooltip"]},{type:"math_round",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ROUND_OPERATOR_ROUND}","ROUND"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}","ROUNDUP"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}","ROUNDDOWN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ROUND_HELPURL}",tooltip:"%{BKY_MATH_ROUND_TOOLTIP}"},{type:"math_on_list",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ONLIST_OPERATOR_SUM}","SUM"],["%{BKY_MATH_ONLIST_OPERATOR_MIN}","MIN"],["%{BKY_MATH_ONLIST_OPERATOR_MAX}","MAX"],["%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}","AVERAGE"],["%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}","MEDIAN"],["%{BKY_MATH_ONLIST_OPERATOR_MODE}","MODE"],["%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}","STD_DEV"],["%{BKY_MATH_ONLIST_OPERATOR_RANDOM}","RANDOM"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Number",style:"math_blocks",helpUrl:"%{BKY_MATH_ONLIST_HELPURL}",mutator:"math_modes_of_list_mutator",extensions:["math_op_tooltip"]},{type:"math_modulo",message0:"%{BKY_MATH_MODULO_TITLE}",args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_MODULO_TOOLTIP}",helpUrl:"%{BKY_MATH_MODULO_HELPURL}"},{type:"math_constrain",message0:"%{BKY_MATH_CONSTRAIN_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_CONSTRAIN_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTRAIN_HELPURL}"},{type:"math_random_int",message0:"%{BKY_MATH_RANDOM_INT_TITLE}",args0:[{type:"input_value",name:"FROM",check:"Number"},{type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_INT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_INT_HELPURL}"},{type:"math_random_float",message0:"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}",output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_FLOAT_HELPURL}"},{type:"math_atan2",message0:"%{BKY_MATH_ATAN2_TITLE}",args0:[{type:"input_value",name:"X",check:"Number"},{type:"input_value",name:"Y",check:"Number"}],inputsInline:!0,output:"Number",style:"math_blocks",tooltip:"%{BKY_MATH_ATAN2_TOOLTIP}",helpUrl:"%{BKY_MATH_ATAN2_HELPURL}"}]),e.Constants.Math.TOOLTIPS_BY_OP={ADD:"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}",MINUS:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}",MULTIPLY:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}",DIVIDE:"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}",POWER:"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}",ROOT:"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}",ABS:"%{BKY_MATH_SINGLE_TOOLTIP_ABS}",NEG:"%{BKY_MATH_SINGLE_TOOLTIP_NEG}",LN:"%{BKY_MATH_SINGLE_TOOLTIP_LN}",LOG10:"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}",EXP:"%{BKY_MATH_SINGLE_TOOLTIP_EXP}",POW10:"%{BKY_MATH_SINGLE_TOOLTIP_POW10}",SIN:"%{BKY_MATH_TRIG_TOOLTIP_SIN}",COS:"%{BKY_MATH_TRIG_TOOLTIP_COS}",TAN:"%{BKY_MATH_TRIG_TOOLTIP_TAN}",ASIN:"%{BKY_MATH_TRIG_TOOLTIP_ASIN}",ACOS:"%{BKY_MATH_TRIG_TOOLTIP_ACOS}",ATAN:"%{BKY_MATH_TRIG_TOOLTIP_ATAN}",SUM:"%{BKY_MATH_ONLIST_TOOLTIP_SUM}",MIN:"%{BKY_MATH_ONLIST_TOOLTIP_MIN}",MAX:"%{BKY_MATH_ONLIST_TOOLTIP_MAX}",AVERAGE:"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}",MEDIAN:"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}",MODE:"%{BKY_MATH_ONLIST_TOOLTIP_MODE}",STD_DEV:"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}",RANDOM:"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}"},e.Extensions.register("math_op_tooltip",e.Extensions.buildTooltipForDropdown("OP",e.Constants.Math.TOOLTIPS_BY_OP)),e.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");return t.setAttribute("divisor_input",o),t},domToMutation:function(e){e="true"==e.getAttribute("divisor_input"),this.updateShape_(e)},updateShape_:function(e){var t=this.getInput("DIVISOR");e?t||this.appendValueInput("DIVISOR").setCheck("Number"):t&&this.removeInput("DIVISOR")}},e.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION=function(){this.getField("PROPERTY").setValidator((function(e){e="DIVISIBLE_BY"==e,this.getSourceBlock().updateShape_(e)}))},e.Extensions.registerMutator("math_is_divisibleby_mutator",e.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN,e.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION),e.Extensions.register("math_change_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_MATH_CHANGE_TOOLTIP}","VAR")),e.Constants.Math.LIST_MODES_MUTATOR_MIXIN={updateType_:function(e){"MODE"==e?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("op",this.getFieldValue("OP")),t},domToMutation:function(e){this.updateType_(e.getAttribute("op"))}},e.Constants.Math.LIST_MODES_MUTATOR_EXTENSION=function(){this.getField("OP").setValidator(function(e){this.updateType_(e)}.bind(this))},e.Extensions.registerMutator("math_modes_of_list_mutator",e.Constants.Math.LIST_MODES_MUTATOR_MIXIN,e.Constants.Math.LIST_MODES_MUTATOR_EXTENSION),e.Blocks.procedures={},e.Blocks.procedures_defnoreturn={init:function(){var t=new e.FieldTextInput("",e.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(e.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(t,"NAME").appendField("","PARAMS"),this.setMutator(new e.Mutator(["procedures_mutatorarg"])),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&e.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(e.Msg.PROCEDURES_DEFNORETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_DEFNORETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_DEFNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:function(t){this.hasStatements_!==t&&(t?(this.appendStatementInput("STACK").appendField(e.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=t)},updateParams_:function(){var t="";this.arguments_.length&&(t=e.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", ")),e.Events.disable();try{this.setFieldValue(t,"PARAMS")}finally{e.Events.enable()}},mutationToDom:function(t){var o=e.utils.xml.createElement("mutation");t&&o.setAttribute("name",this.getFieldValue("NAME"));for(var n=0;n<this.argumentVarModels_.length;n++){var i=e.utils.xml.createElement("arg"),r=this.argumentVarModels_[n];i.setAttribute("name",r.name),i.setAttribute("varid",r.getId()),t&&this.paramIds_&&i.setAttribute("paramId",this.paramIds_[n]),o.appendChild(i)}return this.hasStatements_||o.setAttribute("statements","false"),o},domToMutation:function(t){this.arguments_=[],this.argumentVarModels_=[];for(var o,n=0;o=t.childNodes[n];n++)if("arg"==o.nodeName.toLowerCase()){var i=o.getAttribute("name");o=o.getAttribute("varid")||o.getAttribute("varId"),this.arguments_.push(i),null!=(o=e.Variables.getOrCreateVariablePackage(this.workspace,o,i,""))?this.argumentVarModels_.push(o):console.log("Failed to create a variable with name "+i+", ignoring.")}this.updateParams_(),e.Procedures.mutateCallers(this),this.setStatements_("false"!==t.getAttribute("statements"))},decompose:function(t){var o=e.utils.xml.createElement("block");o.setAttribute("type","procedures_mutatorcontainer");var n=e.utils.xml.createElement("statement");n.setAttribute("name","STACK"),o.appendChild(n);for(var i=0;i<this.arguments_.length;i++){var r=e.utils.xml.createElement("block");r.setAttribute("type","procedures_mutatorarg");var s=e.utils.xml.createElement("field");s.setAttribute("name","NAME");var a=e.utils.xml.createTextNode(this.arguments_[i]);s.appendChild(a),r.appendChild(s),s=e.utils.xml.createElement("next"),r.appendChild(s),n.appendChild(r),n=s}return t=e.Xml.domToBlock(o,t),"procedures_defreturn"==this.type?t.setFieldValue(this.hasStatements_,"STATEMENTS"):t.removeInput("STATEMENT_INPUT"),e.Procedures.mutateCallers(this),t},compose:function(t){this.arguments_=[],this.paramIds_=[],this.argumentVarModels_=[];for(var o=t.getInputTargetBlock("STACK");o;){var n=o.getFieldValue("NAME");this.arguments_.push(n),n=this.workspace.getVariable(n,""),this.argumentVarModels_.push(n),this.paramIds_.push(o.id),o=o.nextConnection&&o.nextConnection.targetBlock()}this.updateParams_(),e.Procedures.mutateCallers(this),null!==(t=t.getFieldValue("STATEMENTS"))&&(t="TRUE"==t,this.hasStatements_!=t)&&(t?(this.setStatements_(!0),e.Mutator.reconnect(this.statementConnection_,this,"STACK"),this.statementConnection_=null):(t=this.getInput("STACK").connection,(this.statementConnection_=t.targetConnection)&&((t=t.targetBlock()).unplug(),t.bumpNeighbours_()),this.setStatements_(!1)))},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(t,o){var n=this.workspace.getVariableById(t);if(""==n.type){n=n.name;for(var i=this.workspace.getVariableById(o),r=!1,s=0;s<this.argumentVarModels_.length;s++)this.argumentVarModels_[s].getId()==t&&(this.arguments_[s]=i.name,this.argumentVarModels_[s]=i,r=!0);r&&(this.displayRenamedVar_(n,i.name),e.Procedures.mutateCallers(this))}},updateVarName:function(t){for(var o=t.name,n=!1,i=0;i<this.argumentVarModels_.length;i++)if(this.argumentVarModels_[i].getId()==t.getId()){var r=this.arguments_[i];this.arguments_[i]=o,n=!0}n&&(this.displayRenamedVar_(r,o),e.Procedures.mutateCallers(this))},displayRenamedVar_:function(t,o){if(this.updateParams_(),this.mutator.isVisible())for(var n,i=this.mutator.workspace_.getAllBlocks(!1),r=0;n=i[r];r++)"procedures_mutatorarg"==n.type&&e.Names.equals(t,n.getFieldValue("NAME"))&&n.setFieldValue(o,"NAME")},customContextMenu:function(t){if(!this.isInFlyout){var o={enabled:!0},n=this.getFieldValue("NAME");o.text=e.Msg.PROCEDURES_CREATE_DO.replace("%1",n);var i=e.utils.xml.createElement("mutation");for(i.setAttribute("name",n),n=0;n<this.arguments_.length;n++){var r=e.utils.xml.createElement("arg");r.setAttribute("name",this.arguments_[n]),i.appendChild(r)}if((n=e.utils.xml.createElement("block")).setAttribute("type",this.callType_),n.appendChild(i),o.callback=e.ContextMenu.callbackFactory(this,n),t.push(o),!this.isCollapsed())for(n=0;n<this.argumentVarModels_.length;n++)o={enabled:!0},i=this.argumentVarModels_[n],o.text=e.Msg.VARIABLES_SET_CREATE_GET.replace("%1",i.name),i=e.Variables.generateVariableFieldDom(i),(r=e.utils.xml.createElement("block")).setAttribute("type","variables_get"),r.appendChild(i),o.callback=e.ContextMenu.callbackFactory(this,r),t.push(o)}},callType_:"procedures_callnoreturn"},e.Blocks.procedures_defreturn={init:function(){var t=new e.FieldTextInput("",e.Procedures.rename);t.setSpellcheck(!1),this.appendDummyInput().appendField(e.Msg.PROCEDURES_DEFRETURN_TITLE).appendField(t,"NAME").appendField("","PARAMS"),this.appendValueInput("RETURN").setAlign(e.ALIGN_RIGHT).appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.setMutator(new e.Mutator(["procedures_mutatorarg"])),(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&e.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(e.Msg.PROCEDURES_DEFRETURN_COMMENT),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_DEFRETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_DEFRETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.setStatements_(!0),this.statementConnection_=null},setStatements_:e.Blocks.procedures_defnoreturn.setStatements_,updateParams_:e.Blocks.procedures_defnoreturn.updateParams_,mutationToDom:e.Blocks.procedures_defnoreturn.mutationToDom,domToMutation:e.Blocks.procedures_defnoreturn.domToMutation,decompose:e.Blocks.procedures_defnoreturn.decompose,compose:e.Blocks.procedures_defnoreturn.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:e.Blocks.procedures_defnoreturn.getVars,getVarModels:e.Blocks.procedures_defnoreturn.getVarModels,renameVarById:e.Blocks.procedures_defnoreturn.renameVarById,updateVarName:e.Blocks.procedures_defnoreturn.updateVarName,displayRenamedVar_:e.Blocks.procedures_defnoreturn.displayRenamedVar_,customContextMenu:e.Blocks.procedures_defnoreturn.customContextMenu,callType_:"procedures_callreturn"},e.Blocks.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField(e.Msg.PROCEDURES_MUTATORCONTAINER_TITLE),this.appendStatementInput("STACK"),this.appendDummyInput("STATEMENT_INPUT").appendField(e.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new e.FieldCheckbox("TRUE"),"STATEMENTS"),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP),this.contextMenu=!1},onchange:function(t){if(this.workspace&&!this.workspace.isFlyout&&(t.type==e.Events.BLOCK_DELETE||t.type==e.Events.BLOCK_CREATE)){var o=this.workspace.getAllBlocks(),n=this.workspace.getAllVariables();if(t.type==e.Events.BLOCK_DELETE){t=[];for(var i=0;i<o.length;i+=1)o[i].getFieldValue("NAME")&&t.push(o[i].getFieldValue("NAME"));for(o=0;o<n.length;o+=1)-1==t.indexOf(n[o].name)&&this.workspace.deleteVariableById(n[o].getId())}else if(t.type==e.Events.BLOCK_CREATE&&((n=this.workspace.getBlockById(t.blockId)).getField("NAME")&&(i=n.getFieldValue("NAME"),(t=this.workspace.getVariable(i))||(t=this.workspace.createVariable(i)),!n.previousConnection.isConnected()&&!n.nextConnection.isConnected())))for(i=0;i<o.length;i+=1)if(n.id!=o[i].id&&o[i].getFieldValue("NAME")==t.name){i=e.Variables.generateUniqueName(this.workspace),t=this.workspace.createVariable(i),n.setFieldValue(t.name,"NAME");break}}}},e.Blocks.procedures_mutatorarg={init:function(){var t=new e.FieldTextInput("x",this.validator_);t.oldShowEditorFn_=t.showEditor_,t.showEditor_=function(){this.createdVariables_=[],this.oldShowEditorFn_()},this.appendDummyInput().appendField(e.Msg.PROCEDURES_MUTATORARG_TITLE).appendField(t,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_MUTATORARG_TOOLTIP),this.contextMenu=!1,t.onFinishEditing_=this.deleteIntermediateVars_,t.createdVariables_=[],t.onFinishEditing_("x")},validator_:function(t){var o=e.Mutator.findParentWs(this.getSourceBlock().workspace);if(!(t=t.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"")))return null;for(var n=this.getSourceBlock().workspace.getAllBlocks(),i=0;i<n.length;i+=1)if(n[i].id!=this.getSourceBlock().id&&n[i].getFieldValue("NAME")==t)return null;return(n=o.getVariable(t,""))&&n.name!=t&&o.renameVarById(n.getId(),t),n||(n=o.createVariable(t,""))&&this.createdVariables_&&this.createdVariables_.push(n),t},deleteIntermediateVars_:function(t){var o=e.Mutator.findParentWs(this.getSourceBlock().workspace);if(o)for(var n=0;n<this.createdVariables_.length;n++){var i=this.createdVariables_[n];i.name!=t&&o.deleteVariableById(i.getId())}}},e.Blocks.procedures_callnoreturn={init:function(){this.appendDummyInput("TOPROW").appendField(this.id,"NAME"),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(e.Msg.PROCEDURES_CALLNORETURN_HELPURL),this.arguments_=[],this.argumentVarModels_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(t,o){e.Names.equals(t,this.getProcedureCall())&&(this.setFieldValue(o,"NAME"),this.setTooltip((this.outputConnection?e.Msg.PROCEDURES_CALLRETURN_TOOLTIP:e.Msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",o)))},setProcedureParameters_:function(t,o){var n=e.Procedures.getDefinition(this.getProcedureCall(),this.workspace),i=n&&n.mutator&&n.mutator.isVisible();if(i||(this.quarkConnections_={},this.quarkIds_=null),o)if(t.join("\n")==this.arguments_.join("\n"))this.quarkIds_=o;else{if(o.length!=t.length)throw RangeError("paramNames and paramIds must be the same length.");this.setCollapsed(!1),this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]),n=this.rendered,this.rendered=!1;for(var r=0;r<this.arguments_.length;r++){var s=this.getInput("ARG"+r);s&&(s=s.connection.targetConnection,this.quarkConnections_[this.quarkIds_[r]]=s,i&&s&&-1==o.indexOf(this.quarkIds_[r])&&(s.disconnect(),s.getSourceBlock().bumpNeighbours_()))}for(this.arguments_=[].concat(t),this.argumentVarModels_=[],r=0;r<this.arguments_.length;r++)i=e.Variables.getOrCreateVariablePackage(this.workspace,null,this.arguments_[r],""),this.argumentVarModels_.push(i);if(this.updateShape_(),this.quarkIds_=o)for(r=0;r<this.arguments_.length;r++)(i=this.quarkIds_[r])in this.quarkConnections_&&(s=this.quarkConnections_[i],e.Mutator.reconnect(s,this,"ARG"+r)||delete this.quarkConnections_[i]);(this.rendered=n)&&this.render()}},updateShape_:function(){for(var t=0;t<this.arguments_.length;t++){var o=this.getField("ARGNAME"+t);if(o){e.Events.disable();try{o.setValue(this.arguments_[t])}finally{e.Events.enable()}}else o=new e.FieldLabel(this.arguments_[t]),this.appendValueInput("ARG"+t).setAlign(e.ALIGN_RIGHT).appendField(o,"ARGNAME"+t).init()}for(;this.getInput("ARG"+t);)this.removeInput("ARG"+t),t++;(t=this.getInput("TOPROW"))&&(this.arguments_.length?this.getField("WITH")||(t.appendField(e.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),t.init()):this.getField("WITH")&&t.removeField("WITH"))},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");t.setAttribute("name",this.getProcedureCall());for(var o=0;o<this.arguments_.length;o++){var n=e.utils.xml.createElement("arg");n.setAttribute("name",this.arguments_[o]),t.appendChild(n)}return t},domToMutation:function(e){var t=e.getAttribute("name");this.renameProcedure(this.getProcedureCall(),t),t=[];for(var o,n=[],i=0;o=e.childNodes[i];i++)"arg"==o.nodeName.toLowerCase()&&(t.push(o.getAttribute("name")),n.push(o.getAttribute("paramId")));this.setProcedureParameters_(t,n)},getVarModels:function(){return this.argumentVarModels_},onchange:function(t){if(this.workspace&&!this.workspace.isFlyout&&t.recordUndo)if(t.type==e.Events.BLOCK_CREATE&&-1!=t.ids.indexOf(this.id)){var o=this.getProcedureCall();if(!(o=e.Procedures.getDefinition(o,this.workspace))||o.type==this.defType_&&JSON.stringify(o.arguments_)==JSON.stringify(this.arguments_)||(o=null),!o){e.Events.setGroup(t.group),t=e.utils.xml.createElement("xml"),(o=e.utils.xml.createElement("block")).setAttribute("type",this.defType_);var n=this.getRelativeToSurfaceXY(),i=n.y+2*e.SNAP_RADIUS;o.setAttribute("x",n.x+e.SNAP_RADIUS*(this.RTL?-1:1)),o.setAttribute("y",i),n=this.mutationToDom(),o.appendChild(n),(n=e.utils.xml.createElement("field")).setAttribute("name","NAME"),n.appendChild(e.utils.xml.createTextNode(this.getProcedureCall())),o.appendChild(n),t.appendChild(o),e.Xml.domToWorkspace(t,this.workspace),e.Events.setGroup(!1)}}else t.type==e.Events.BLOCK_DELETE?(o=this.getProcedureCall(),(o=e.Procedures.getDefinition(o,this.workspace))||(e.Events.setGroup(t.group),this.dispose(!0,!1),e.Events.setGroup(!1))):t.type==e.Events.CHANGE&&"disabled"==t.element&&(o=this.getProcedureCall(),(o=e.Procedures.getDefinition(o,this.workspace))&&o.id==t.blockId&&((o=e.Events.getGroup())&&console.log("Saw an existing group while responding to a definition change"),e.Events.setGroup(t.group),t.newValue?(this.previousEnabledState_=this.isEnabled(),this.setEnabled(!1)):this.setEnabled(this.previousEnabledState_),e.Events.setGroup(o)))},customContextMenu:function(t){if(this.workspace.isMovable()){var o={enabled:!0};o.text=e.Msg.PROCEDURES_HIGHLIGHT_DEF;var n=this.getProcedureCall(),i=this.workspace;o.callback=function(){var t=e.Procedures.getDefinition(n,i);t&&(i.centerOnBlock(t.id),t.select())},t.push(o)}},defType_:"procedures_defnoreturn"},e.Blocks.procedures_callreturn={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME"),this.setOutput(!0),this.setStyle("procedure_blocks"),this.setHelpUrl(e.Msg.PROCEDURES_CALLRETURN_HELPURL),this.arguments_=[],this.quarkConnections_={},this.quarkIds_=null,this.previousEnabledState_=!0},getProcedureCall:e.Blocks.procedures_callnoreturn.getProcedureCall,renameProcedure:e.Blocks.procedures_callnoreturn.renameProcedure,setProcedureParameters_:e.Blocks.procedures_callnoreturn.setProcedureParameters_,updateShape_:e.Blocks.procedures_callnoreturn.updateShape_,mutationToDom:e.Blocks.procedures_callnoreturn.mutationToDom,domToMutation:e.Blocks.procedures_callnoreturn.domToMutation,getVarModels:e.Blocks.procedures_callnoreturn.getVarModels,onchange:e.Blocks.procedures_callnoreturn.onchange,customContextMenu:e.Blocks.procedures_callnoreturn.customContextMenu,defType_:"procedures_defreturn"},e.Blocks.procedures_ifreturn={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(e.Msg.CONTROLS_IF_MSG_IF),this.appendValueInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.setInputsInline(!0),this.setPreviousStatement(!0),this.setNextStatement(!0),this.setStyle("procedure_blocks"),this.setTooltip(e.Msg.PROCEDURES_IFRETURN_TOOLTIP),this.setHelpUrl(e.Msg.PROCEDURES_IFRETURN_HELPURL),this.hasReturnValue_=!0},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("value",Number(this.hasReturnValue_)),t},domToMutation:function(t){this.hasReturnValue_=1==t.getAttribute("value"),this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(t){if(this.workspace.isDragging&&!this.workspace.isDragging()){t=!1;var o=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(o.type)){t=!0;break}o=o.getSurroundParent()}while(o);t?("procedures_defnoreturn"==o.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=o.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(e.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setEnabled(!0)):(this.setWarningText(e.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||this.setEnabled(!1))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]},e.Blocks.texts={},e.Constants.Text={},e.Constants.Text.HUE=160,e.defineBlocksWithJsonArray([{type:"text",message0:"%1",args0:[{type:"field_input",name:"TEXT",text:""}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["text_quotes","parent_tooltip_when_inline"]},{type:"text_join",message0:"",output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_JOIN_HELPURL}",tooltip:"%{BKY_TEXT_JOIN_TOOLTIP}",mutator:"text_join_mutator"},{type:"text_create_join_container",message0:"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2",args0:[{type:"input_dummy"},{type:"input_statement",name:"STACK"}],style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}",enableContextMenu:!1},{type:"text_create_join_item",message0:"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}",previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}",enableContextMenu:!1},{type:"text_append",message0:"%{BKY_TEXT_APPEND_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_TEXT_APPEND_VARIABLE}"},{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",extensions:["text_append_tooltip"]},{type:"text_length",message0:"%{BKY_TEXT_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",style:"text_blocks",tooltip:"%{BKY_TEXT_LENGTH_TOOLTIP}",helpUrl:"%{BKY_TEXT_LENGTH_HELPURL}"},{type:"text_isEmpty",message0:"%{BKY_TEXT_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",style:"text_blocks",tooltip:"%{BKY_TEXT_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_TEXT_ISEMPTY_HELPURL}"},{type:"text_indexOf",message0:"%{BKY_TEXT_INDEXOF_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"END",options:[["%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}","FIRST"],["%{BKY_TEXT_INDEXOF_OPERATOR_LAST}","LAST"]]},{type:"input_value",name:"FIND",check:"String"}],output:"Number",style:"text_blocks",helpUrl:"%{BKY_TEXT_INDEXOF_HELPURL}",inputsInline:!0,extensions:["text_indexOf_tooltip"]},{type:"text_charAt",message0:"%{BKY_TEXT_CHARAT_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"WHERE",options:[["%{BKY_TEXT_CHARAT_FROM_START}","FROM_START"],["%{BKY_TEXT_CHARAT_FROM_END}","FROM_END"],["%{BKY_TEXT_CHARAT_FIRST}","FIRST"],["%{BKY_TEXT_CHARAT_LAST}","LAST"],["%{BKY_TEXT_CHARAT_RANDOM}","RANDOM"]]}],output:"String",style:"text_blocks",helpUrl:"%{BKY_TEXT_CHARAT_HELPURL}",inputsInline:!0,mutator:"text_charAt_mutator"}]),e.Blocks.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[e.Msg.TEXT_GET_SUBSTRING_START_FROM_START,"FROM_START"],[e.Msg.TEXT_GET_SUBSTRING_START_FROM_END,"FROM_END"],[e.Msg.TEXT_GET_SUBSTRING_START_FIRST,"FIRST"]],this.WHERE_OPTIONS_2=[[e.Msg.TEXT_GET_SUBSTRING_END_FROM_START,"FROM_START"],[e.Msg.TEXT_GET_SUBSTRING_END_FROM_END,"FROM_END"],[e.Msg.TEXT_GET_SUBSTRING_END_LAST,"LAST"]],this.setHelpUrl(e.Msg.TEXT_GET_SUBSTRING_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("STRING").setCheck("String").appendField(e.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT),this.appendDummyInput("AT1"),this.appendDummyInput("AT2"),e.Msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_GET_SUBSTRING_TAIL),this.setInputsInline(!0),this.setOutput(!0,"String"),this.updateAt_(1,!0),this.updateAt_(2,!0),this.setTooltip(e.Msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var t=e.utils.xml.createElement("mutation"),o=this.getInput("AT1").type==e.INPUT_VALUE;return t.setAttribute("at1",o),o=this.getInput("AT2").type==e.INPUT_VALUE,t.setAttribute("at2",o),t},domToMutation:function(e){var t="true"==e.getAttribute("at1");e="true"==e.getAttribute("at2"),this.updateAt_(1,t),this.updateAt_(2,e)},updateAt_:function(t,o){this.removeInput("AT"+t),this.removeInput("ORDINAL"+t,!0),o?(this.appendValueInput("AT"+t).setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+t).appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT"+t),2==t&&e.Msg.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_GET_SUBSTRING_TAIL));var n=new e.FieldDropdown(this["WHERE_OPTIONS_"+t],(function(e){var n="FROM_START"==e||"FROM_END"==e;if(n!=o){var i=this.getSourceBlock();return i.updateAt_(t,n),i.setFieldValue(e,"WHERE"+t),null}}));this.getInput("AT"+t).appendField(n,"WHERE"+t),1==t&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"))}},e.Blocks.text_changeCase={init:function(){var t=[[e.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[e.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[e.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];this.setHelpUrl(e.Msg.TEXT_CHANGECASE_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("TEXT").setCheck("String").appendField(new e.FieldDropdown(t),"CASE"),this.setOutput(!0,"String"),this.setTooltip(e.Msg.TEXT_CHANGECASE_TOOLTIP)}},e.Blocks.text_trim={init:function(){var t=[[e.Msg.TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[e.Msg.TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[e.Msg.TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];this.setHelpUrl(e.Msg.TEXT_TRIM_HELPURL),this.setStyle("text_blocks"),this.appendValueInput("TEXT").setCheck("String").appendField(new e.FieldDropdown(t),"MODE"),this.setOutput(!0,"String"),this.setTooltip(e.Msg.TEXT_TRIM_TOOLTIP)}},e.Blocks.text_print={init:function(){this.jsonInit({message0:e.Msg.TEXT_PRINT_TITLE,args0:[{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,style:"text_blocks",tooltip:e.Msg.TEXT_PRINT_TOOLTIP,helpUrl:e.Msg.TEXT_PRINT_HELPURL})}},e.Blocks.text_prompt_ext={init:function(){var t=[[e.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[e.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl(e.Msg.TEXT_PROMPT_HELPURL),this.setStyle("text_blocks");var o=this;t=new e.FieldDropdown(t,(function(e){o.updateType_(e)})),this.appendValueInput("TEXT").appendField(t,"TYPE"),this.setOutput(!0,"String"),this.setTooltip((function(){return"TEXT"==o.getFieldValue("TYPE")?e.Msg.TEXT_PROMPT_TOOLTIP_TEXT:e.Msg.TEXT_PROMPT_TOOLTIP_NUMBER}))},updateType_:function(e){this.outputConnection.setCheck("NUMBER"==e?"Number":"String")},mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("type",this.getFieldValue("TYPE")),t},domToMutation:function(e){this.updateType_(e.getAttribute("type"))}},e.Blocks.text_prompt={init:function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN);var t=[[e.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[e.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]],o=this;this.setHelpUrl(e.Msg.TEXT_PROMPT_HELPURL),this.setStyle("text_blocks"),t=new e.FieldDropdown(t,(function(e){o.updateType_(e)})),this.appendDummyInput().appendField(t,"TYPE").appendField(this.newQuote_(!0)).appendField(new e.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1)),this.setOutput(!0,"String"),this.setTooltip((function(){return"TEXT"==o.getFieldValue("TYPE")?e.Msg.TEXT_PROMPT_TOOLTIP_TEXT:e.Msg.TEXT_PROMPT_TOOLTIP_NUMBER}))},updateType_:e.Blocks.text_prompt_ext.updateType_,mutationToDom:e.Blocks.text_prompt_ext.mutationToDom,domToMutation:e.Blocks.text_prompt_ext.domToMutation},e.Blocks.text_count={init:function(){this.jsonInit({message0:e.Msg.TEXT_COUNT_MESSAGE0,args0:[{type:"input_value",name:"SUB",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"Number",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_COUNT_TOOLTIP,helpUrl:e.Msg.TEXT_COUNT_HELPURL})}},e.Blocks.text_replace={init:function(){this.jsonInit({message0:e.Msg.TEXT_REPLACE_MESSAGE0,args0:[{type:"input_value",name:"FROM",check:"String"},{type:"input_value",name:"TO",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_REPLACE_TOOLTIP,helpUrl:e.Msg.TEXT_REPLACE_HELPURL})}},e.Blocks.text_reverse={init:function(){this.jsonInit({message0:e.Msg.TEXT_REVERSE_MESSAGE0,args0:[{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,style:"text_blocks",tooltip:e.Msg.TEXT_REVERSE_TOOLTIP,helpUrl:e.Msg.TEXT_REVERSE_HELPURL})}},e.Constants.Text.QUOTE_IMAGE_MIXIN={QUOTE_IMAGE_LEFT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",QUOTE_IMAGE_RIGHT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==",QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(e){for(var t,o=0;t=this.inputList[o];o++)for(var n,i=0;n=t.fieldRow[i];i++)if(e==n.name)return t.insertFieldAt(i,this.newQuote_(!0)),void t.insertFieldAt(i+2,this.newQuote_(!1));console.warn('field named "'+e+'" not found in '+this.toDevString())},newQuote_:function(t){return t=this.RTL?!t:t,new e.FieldImage(t?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,this.QUOTE_IMAGE_WIDTH,this.QUOTE_IMAGE_HEIGHT,t?"“":"”")}},e.Constants.Text.TEXT_QUOTES_EXTENSION=function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN),this.quoteField_("TEXT")},e.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("items",this.itemCount_),t},domToMutation:function(e){this.itemCount_=parseInt(e.getAttribute("items"),10),this.updateShape_()},decompose:function(e){var t=e.newBlock("text_create_join_container");t.initSvg();for(var o=t.getInput("STACK").connection,n=0;n<this.itemCount_;n++){var i=e.newBlock("text_create_join_item");i.initSvg(),o.connect(i.previousConnection),o=i.nextConnection}return t},compose:function(t){var o=t.getInputTargetBlock("STACK");for(t=[];o;)t.push(o.valueConnection_),o=o.nextConnection&&o.nextConnection.targetBlock();for(o=0;o<this.itemCount_;o++){var n=this.getInput("ADD"+o).connection.targetConnection;n&&-1==t.indexOf(n)&&n.disconnect()}for(this.itemCount_=t.length,this.updateShape_(),o=0;o<this.itemCount_;o++)e.Mutator.reconnect(t[o],this,"ADD"+o)},saveConnections:function(e){e=e.getInputTargetBlock("STACK");for(var t=0;e;){var o=this.getInput("ADD"+t);e.valueConnection_=o&&o.connection.targetConnection,t++,e=e.nextConnection&&e.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var t=0;t<this.itemCount_;t++)if(!this.getInput("ADD"+t)){var o=this.appendValueInput("ADD"+t);0==t&&o.appendField(e.Msg.TEXT_JOIN_TITLE_CREATEWITH)}for(;this.getInput("ADD"+t);)this.removeInput("ADD"+t),t++}},e.Constants.Text.TEXT_JOIN_EXTENSION=function(){this.mixin(e.Constants.Text.QUOTE_IMAGE_MIXIN),this.itemCount_=2,this.updateShape_(),this.setMutator(new e.Mutator(["text_create_join_item"]))},e.Extensions.register("text_append_tooltip",e.Extensions.buildTooltipWithFieldText("%{BKY_TEXT_APPEND_TOOLTIP}","VAR")),e.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION=function(){var t=this;this.setTooltip((function(){return e.Msg.TEXT_INDEXOF_TOOLTIP.replace("%1",t.workspace.options.oneBasedIndex?"0":"-1")}))},e.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN={mutationToDom:function(){var t=e.utils.xml.createElement("mutation");return t.setAttribute("at",!!this.isAt_),t},domToMutation:function(e){e="false"!=e.getAttribute("at"),this.updateAt_(e)},updateAt_:function(t){this.removeInput("AT",!0),this.removeInput("ORDINAL",!0),t&&(this.appendValueInput("AT").setCheck("Number"),e.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(e.Msg.ORDINAL_NUMBER_SUFFIX)),e.Msg.TEXT_CHARAT_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(e.Msg.TEXT_CHARAT_TAIL)),this.isAt_=t}},e.Constants.Text.TEXT_CHARAT_EXTENSION=function(){this.getField("WHERE").setValidator((function(e){(e="FROM_START"==e||"FROM_END"==e)!=this.isAt_&&this.getSourceBlock().updateAt_(e)})),this.updateAt_(!0);var t=this;this.setTooltip((function(){var o=t.getFieldValue("WHERE"),n=e.Msg.TEXT_CHARAT_TOOLTIP;return("FROM_START"==o||"FROM_END"==o)&&(o="FROM_START"==o?e.Msg.LISTS_INDEX_FROM_START_TOOLTIP:e.Msg.LISTS_INDEX_FROM_END_TOOLTIP)&&(n+="  "+o.replace("%1",t.workspace.options.oneBasedIndex?"#1":"#0")),n}))},e.Extensions.register("text_indexOf_tooltip",e.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION),e.Extensions.register("text_quotes",e.Constants.Text.TEXT_QUOTES_EXTENSION),e.Extensions.registerMutator("text_join_mutator",e.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN,e.Constants.Text.TEXT_JOIN_EXTENSION),e.Extensions.registerMutator("text_charAt_mutator",e.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN,e.Constants.Text.TEXT_CHARAT_EXTENSION),e.Blocks.variables={},e.Constants.Variables={},e.Constants.Variables.HUE=330,e.defineBlocksWithJsonArray([{type:"variables_get",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableSetterGetter"]},{type:"variables_set",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableSetterGetter"]}]),e.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(t){if(this.isInFlyout)"variables_get"!=this.type&&"variables_get_reporter"!=this.type||(o={text:e.Msg.RENAME_VARIABLE,enabled:!0,callback:e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},r=this.getField("VAR").getText(),i={text:e.Msg.DELETE_VARIABLE.replace("%1",r),enabled:!0,callback:e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},t.unshift(o),t.unshift(i));else{if("variables_get"==this.type)var o="variables_set",n=e.Msg.VARIABLES_GET_CREATE_SET;else o="variables_get",n=e.Msg.VARIABLES_SET_CREATE_GET;var i={enabled:0<this.workspace.remainingCapacity()},r=this.getField("VAR").getText();i.text=n.replace("%1",r),(n=e.utils.xml.createElement("field")).setAttribute("name","VAR"),n.appendChild(e.utils.xml.createTextNode(r)),(r=e.utils.xml.createElement("block")).setAttribute("type",o),r.appendChild(n),i.callback=e.ContextMenu.callbackFactory(this,r),t.push(i)}}},e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY=function(t){return function(){var o=t.workspace,n=t.getField("VAR").getVariable();e.Variables.renameVariable(o,n)}},e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY=function(e){return function(){var t=e.workspace,o=e.getField("VAR").getVariable();t.deleteVariableById(o.getId()),t.refreshToolboxSelection()}},e.Extensions.registerMixin("contextMenu_variableSetterGetter",e.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN),e.Constants.VariablesDynamic={},e.Constants.VariablesDynamic.HUE=310,e.defineBlocksWithJsonArray([{type:"variables_get_dynamic",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,style:"variable_dynamic_blocks",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableDynamicSetterGetter"]},{type:"variables_set_dynamic",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,nextStatement:null,style:"variable_dynamic_blocks",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableDynamicSetterGetter"]}]),e.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(t){if(this.isInFlyout)"variables_get_dynamic"!=this.type&&"variables_get_reporter_dynamic"!=this.type||(o={text:e.Msg.RENAME_VARIABLE,enabled:!0,callback:e.Constants.Variables.RENAME_OPTION_CALLBACK_FACTORY(this)},s=this.getField("VAR").getText(),r={text:e.Msg.DELETE_VARIABLE.replace("%1",s),enabled:!0,callback:e.Constants.Variables.DELETE_OPTION_CALLBACK_FACTORY(this)},t.unshift(o),t.unshift(r));else{var o=this.getFieldValue("VAR"),n=this.workspace.getVariableById(o).type;if("variables_get_dynamic"==this.type){o="variables_set_dynamic";var i=e.Msg.VARIABLES_GET_CREATE_SET}else o="variables_get_dynamic",i=e.Msg.VARIABLES_SET_CREATE_GET;var r={enabled:0<this.workspace.remainingCapacity()},s=this.getField("VAR").getText();r.text=i.replace("%1",s),(i=e.utils.xml.createElement("field")).setAttribute("name","VAR"),i.setAttribute("variabletype",n),i.appendChild(e.utils.xml.createTextNode(s)),(s=e.utils.xml.createElement("block")).setAttribute("type",o),s.appendChild(i),r.callback=e.ContextMenu.callbackFactory(this,s),t.push(r)}},onchange:function(t){t=this.getFieldValue("VAR"),t=e.Variables.getVariable(this.workspace,t),"variables_get_dynamic"==this.type?this.outputConnection.setCheck(t.type):this.getInput("VALUE").connection.setCheck(t.type)}},e.Constants.VariablesDynamic.RENAME_OPTION_CALLBACK_FACTORY=function(t){return function(){var o=t.workspace,n=t.getField("VAR").getVariable();e.Variables.renameVariable(o,n)}},e.Constants.VariablesDynamic.DELETE_OPTION_CALLBACK_FACTORY=function(e){return function(){var t=e.workspace,o=e.getField("VAR").getVariable();t.deleteVariableById(o.getId()),t.refreshToolboxSelection()}},e.Extensions.registerMixin("contextMenu_variableDynamicSetterGetter",e.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN),e.Blocks}},function(e,t){e.exports=function(e){"use strict";return e.JavaScript=new e.Generator("JavaScript"),e.JavaScript.addReservedWords("Blockly,break,case,catch,continue,debugger,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with,class,enum,export,extends,import,super,implements,interface,let,package,private,protected,public,static,yield,const,null,true,false,Array,ArrayBuffer,Boolean,Date,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Error,eval,EvalError,Float32Array,Float64Array,Function,Infinity,Int16Array,Int32Array,Int8Array,isFinite,isNaN,Iterator,JSON,Math,NaN,Number,Object,parseFloat,parseInt,RangeError,ReferenceError,RegExp,StopIteration,String,SyntaxError,TypeError,Uint16Array,Uint32Array,Uint8Array,Uint8ClampedArray,undefined,uneval,URIError,applicationCache,closed,Components,content,_content,controllers,crypto,defaultStatus,dialogArguments,directories,document,frameElement,frames,fullScreen,globalStorage,history,innerHeight,innerWidth,length,location,locationbar,localStorage,menubar,messageManager,mozAnimationStartTime,mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance,personalbar,pkcs11,returnValue,screen,screenX,screenY,scrollbars,scrollMaxX,scrollMaxY,scrollX,scrollY,self,sessionStorage,sidebar,status,statusbar,toolbar,top,URL,window,addEventListener,alert,atob,back,blur,btoa,captureEvents,clearImmediate,clearInterval,clearTimeout,close,confirm,disableExternalCapture,dispatchEvent,dump,enableExternalCapture,escape,find,focus,forward,GeckoActiveXObject,getAttention,getAttentionWithCycleCount,getComputedStyle,getSelection,home,matchMedia,maximize,minimize,moveBy,moveTo,mozRequestAnimationFrame,open,openDialog,postMessage,print,prompt,QueryInterface,releaseEvents,removeEventListener,resizeBy,resizeTo,restore,routeEvent,scroll,scrollBy,scrollByLines,scrollByPages,scrollTo,setCursor,setImmediate,setInterval,setResizable,setTimeout,showModalDialog,sizeToContent,stop,unescape,updateCommands,XPCNativeWrapper,XPCSafeJSObjectWrapper,onabort,onbeforeunload,onblur,onchange,onclick,onclose,oncontextmenu,ondevicemotion,ondeviceorientation,ondragdrop,onerror,onfocus,onhashchange,onkeydown,onkeypress,onkeyup,onload,onmousedown,onmousemove,onmouseout,onmouseover,onmouseup,onmozbeforepaint,onpaint,onpopstate,onreset,onresize,onscroll,onselect,onsubmit,onunload,onpageshow,onpagehide,Image,Option,Worker,Event,Range,File,FileReader,Blob,BlobBuilder,Attr,CDATASection,CharacterData,Comment,console,DocumentFragment,DocumentType,DomConfiguration,DOMError,DOMErrorHandler,DOMException,DOMImplementation,DOMImplementationList,DOMImplementationRegistry,DOMImplementationSource,DOMLocator,DOMObject,DOMString,DOMStringList,DOMTimeStamp,DOMUserData,Entity,EntityReference,MediaQueryList,MediaQueryListListener,NameList,NamedNodeMap,Node,NodeFilter,NodeIterator,NodeList,Notation,Plugin,PluginArray,ProcessingInstruction,SharedWorker,Text,TimeRanges,Treewalker,TypeInfo,UserDataHandler,Worker,WorkerGlobalScope,HTMLDocument,HTMLElement,HTMLAnchorElement,HTMLAppletElement,HTMLAudioElement,HTMLAreaElement,HTMLBaseElement,HTMLBaseFontElement,HTMLBodyElement,HTMLBRElement,HTMLButtonElement,HTMLCanvasElement,HTMLDirectoryElement,HTMLDivElement,HTMLDListElement,HTMLEmbedElement,HTMLFieldSetElement,HTMLFontElement,HTMLFormElement,HTMLFrameElement,HTMLFrameSetElement,HTMLHeadElement,HTMLHeadingElement,HTMLHtmlElement,HTMLHRElement,HTMLIFrameElement,HTMLImageElement,HTMLInputElement,HTMLKeygenElement,HTMLLabelElement,HTMLLIElement,HTMLLinkElement,HTMLMapElement,HTMLMenuElement,HTMLMetaElement,HTMLModElement,HTMLObjectElement,HTMLOListElement,HTMLOptGroupElement,HTMLOptionElement,HTMLOutputElement,HTMLParagraphElement,HTMLParamElement,HTMLPreElement,HTMLQuoteElement,HTMLScriptElement,HTMLSelectElement,HTMLSourceElement,HTMLSpanElement,HTMLStyleElement,HTMLTableElement,HTMLTableCaptionElement,HTMLTableCellElement,HTMLTableDataCellElement,HTMLTableHeaderCellElement,HTMLTableColElement,HTMLTableRowElement,HTMLTableSectionElement,HTMLTextAreaElement,HTMLTimeElement,HTMLTitleElement,HTMLTrackElement,HTMLUListElement,HTMLUnknownElement,HTMLVideoElement,HTMLCanvasElement,CanvasRenderingContext2D,CanvasGradient,CanvasPattern,TextMetrics,ImageData,CanvasPixelArray,HTMLAudioElement,HTMLVideoElement,NotifyAudioAvailableEvent,HTMLCollection,HTMLAllCollection,HTMLFormControlsCollection,HTMLOptionsCollection,HTMLPropertiesCollection,DOMTokenList,DOMSettableTokenList,DOMStringMap,RadioNodeList,SVGDocument,SVGElement,SVGAElement,SVGAltGlyphElement,SVGAltGlyphDefElement,SVGAltGlyphItemElement,SVGAnimationElement,SVGAnimateElement,SVGAnimateColorElement,SVGAnimateMotionElement,SVGAnimateTransformElement,SVGSetElement,SVGCircleElement,SVGClipPathElement,SVGColorProfileElement,SVGCursorElement,SVGDefsElement,SVGDescElement,SVGEllipseElement,SVGFilterElement,SVGFilterPrimitiveStandardAttributes,SVGFEBlendElement,SVGFEColorMatrixElement,SVGFEComponentTransferElement,SVGFECompositeElement,SVGFEConvolveMatrixElement,SVGFEDiffuseLightingElement,SVGFEDisplacementMapElement,SVGFEDistantLightElement,SVGFEFloodElement,SVGFEGaussianBlurElement,SVGFEImageElement,SVGFEMergeElement,SVGFEMergeNodeElement,SVGFEMorphologyElement,SVGFEOffsetElement,SVGFEPointLightElement,SVGFESpecularLightingElement,SVGFESpotLightElement,SVGFETileElement,SVGFETurbulenceElement,SVGComponentTransferFunctionElement,SVGFEFuncRElement,SVGFEFuncGElement,SVGFEFuncBElement,SVGFEFuncAElement,SVGFontElement,SVGFontFaceElement,SVGFontFaceFormatElement,SVGFontFaceNameElement,SVGFontFaceSrcElement,SVGFontFaceUriElement,SVGForeignObjectElement,SVGGElement,SVGGlyphElement,SVGGlyphRefElement,SVGGradientElement,SVGLinearGradientElement,SVGRadialGradientElement,SVGHKernElement,SVGImageElement,SVGLineElement,SVGMarkerElement,SVGMaskElement,SVGMetadataElement,SVGMissingGlyphElement,SVGMPathElement,SVGPathElement,SVGPatternElement,SVGPolylineElement,SVGPolygonElement,SVGRectElement,SVGScriptElement,SVGStopElement,SVGStyleElement,SVGSVGElement,SVGSwitchElement,SVGSymbolElement,SVGTextElement,SVGTextPathElement,SVGTitleElement,SVGTRefElement,SVGTSpanElement,SVGUseElement,SVGViewElement,SVGVKernElement,SVGAngle,SVGColor,SVGICCColor,SVGElementInstance,SVGElementInstanceList,SVGLength,SVGLengthList,SVGMatrix,SVGNumber,SVGNumberList,SVGPaint,SVGPoint,SVGPointList,SVGPreserveAspectRatio,SVGRect,SVGStringList,SVGTransform,SVGTransformList,SVGAnimatedAngle,SVGAnimatedBoolean,SVGAnimatedEnumeration,SVGAnimatedInteger,SVGAnimatedLength,SVGAnimatedLengthList,SVGAnimatedNumber,SVGAnimatedNumberList,SVGAnimatedPreserveAspectRatio,SVGAnimatedRect,SVGAnimatedString,SVGAnimatedTransformList,SVGPathSegList,SVGPathSeg,SVGPathSegArcAbs,SVGPathSegArcRel,SVGPathSegClosePath,SVGPathSegCurvetoCubicAbs,SVGPathSegCurvetoCubicRel,SVGPathSegCurvetoCubicSmoothAbs,SVGPathSegCurvetoCubicSmoothRel,SVGPathSegCurvetoQuadraticAbs,SVGPathSegCurvetoQuadraticRel,SVGPathSegCurvetoQuadraticSmoothAbs,SVGPathSegCurvetoQuadraticSmoothRel,SVGPathSegLinetoAbs,SVGPathSegLinetoHorizontalAbs,SVGPathSegLinetoHorizontalRel,SVGPathSegLinetoRel,SVGPathSegLinetoVerticalAbs,SVGPathSegLinetoVerticalRel,SVGPathSegMovetoAbs,SVGPathSegMovetoRel,ElementTimeControl,TimeEvent,SVGAnimatedPathData,SVGAnimatedPoints,SVGColorProfileRule,SVGCSSRule,SVGExternalResourcesRequired,SVGFitToViewBox,SVGLangSpace,SVGLocatable,SVGRenderingIntent,SVGStylable,SVGTests,SVGTextContentElement,SVGTextPositioningElement,SVGTransformable,SVGUnitTypes,SVGURIReference,SVGViewSpec,SVGZoomAndPan"),e.JavaScript.ORDER_ATOMIC=0,e.JavaScript.ORDER_NEW=1.1,e.JavaScript.ORDER_MEMBER=1.2,e.JavaScript.ORDER_FUNCTION_CALL=2,e.JavaScript.ORDER_INCREMENT=3,e.JavaScript.ORDER_DECREMENT=3,e.JavaScript.ORDER_BITWISE_NOT=4.1,e.JavaScript.ORDER_UNARY_PLUS=4.2,e.JavaScript.ORDER_UNARY_NEGATION=4.3,e.JavaScript.ORDER_LOGICAL_NOT=4.4,e.JavaScript.ORDER_TYPEOF=4.5,e.JavaScript.ORDER_VOID=4.6,e.JavaScript.ORDER_DELETE=4.7,e.JavaScript.ORDER_AWAIT=4.8,e.JavaScript.ORDER_EXPONENTIATION=5,e.JavaScript.ORDER_MULTIPLICATION=5.1,e.JavaScript.ORDER_DIVISION=5.2,e.JavaScript.ORDER_MODULUS=5.3,e.JavaScript.ORDER_SUBTRACTION=6.1,e.JavaScript.ORDER_ADDITION=6.2,e.JavaScript.ORDER_BITWISE_SHIFT=7,e.JavaScript.ORDER_RELATIONAL=8,e.JavaScript.ORDER_IN=8,e.JavaScript.ORDER_INSTANCEOF=8,e.JavaScript.ORDER_EQUALITY=9,e.JavaScript.ORDER_BITWISE_AND=10,e.JavaScript.ORDER_BITWISE_XOR=11,e.JavaScript.ORDER_BITWISE_OR=12,e.JavaScript.ORDER_LOGICAL_AND=13,e.JavaScript.ORDER_LOGICAL_OR=14,e.JavaScript.ORDER_CONDITIONAL=15,e.JavaScript.ORDER_ASSIGNMENT=16,e.JavaScript.ORDER_YIELD=17,e.JavaScript.ORDER_COMMA=18,e.JavaScript.ORDER_NONE=99,e.JavaScript.ORDER_OVERRIDES=[[e.JavaScript.ORDER_FUNCTION_CALL,e.JavaScript.ORDER_MEMBER],[e.JavaScript.ORDER_FUNCTION_CALL,e.JavaScript.ORDER_FUNCTION_CALL],[e.JavaScript.ORDER_MEMBER,e.JavaScript.ORDER_MEMBER],[e.JavaScript.ORDER_MEMBER,e.JavaScript.ORDER_FUNCTION_CALL],[e.JavaScript.ORDER_LOGICAL_NOT,e.JavaScript.ORDER_LOGICAL_NOT],[e.JavaScript.ORDER_MULTIPLICATION,e.JavaScript.ORDER_MULTIPLICATION],[e.JavaScript.ORDER_ADDITION,e.JavaScript.ORDER_ADDITION],[e.JavaScript.ORDER_LOGICAL_AND,e.JavaScript.ORDER_LOGICAL_AND],[e.JavaScript.ORDER_LOGICAL_OR,e.JavaScript.ORDER_LOGICAL_OR]],e.JavaScript.init=function(t){e.JavaScript.definitions_=Object.create(null),e.JavaScript.functionNames_=Object.create(null),e.JavaScript.variableDB_?e.JavaScript.variableDB_.reset():e.JavaScript.variableDB_=new e.Names(e.JavaScript.RESERVED_WORDS_),e.JavaScript.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.JavaScript.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE));for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.JavaScript.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE));o.length&&(e.JavaScript.definitions_.variables="var "+o.join(", ")+";")},e.JavaScript.finish=function(t){var o,n=[];for(o in e.JavaScript.definitions_)n.push(e.JavaScript.definitions_[o]);return delete e.JavaScript.definitions_,delete e.JavaScript.functionNames_,e.JavaScript.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.JavaScript.scrubNakedValue=function(e){return e+";\n"},e.JavaScript.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.JavaScript.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.JavaScript.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+"/**\n"+e.JavaScript.prefixLines(r+"\n"," * ")+" */\n":i+e.JavaScript.prefixLines(r+"\n","// "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.JavaScript.allNestedComments(r))&&(i+=e.JavaScript.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.JavaScript.blockToCode(t))},e.JavaScript.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.JavaScript.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=0<n?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_ADDITION)||s:0>n?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_SUBTRACTION)||s:i?e.JavaScript.valueToCode(t,o,e.JavaScript.ORDER_UNARY_NEGATION)||s:e.JavaScript.valueToCode(t,o,r)||s,e.isNumber(t))t=parseFloat(t)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.JavaScript.ORDER_ADDITION}else 0>n&&(t=t+" - "+-n,a=e.JavaScript.ORDER_SUBTRACTION);i&&(t=n?"-("+t+")":"-"+t,a=e.JavaScript.ORDER_UNARY_NEGATION),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.JavaScript.colour={},e.JavaScript.colour_picker=function(t){return[e.JavaScript.quote_(t.getFieldValue("COLOUR")),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.colour_random=function(t){return[e.JavaScript.provideFunction_("colourRandom",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"() {","  var num = Math.floor(Math.random() * Math.pow(2, 24));","  return '#' + ('00000' + num.toString(16)).substr(-6);","}"])+"()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.colour_rgb=function(t){var o=e.JavaScript.valueToCode(t,"RED",e.JavaScript.ORDER_COMMA)||0,n=e.JavaScript.valueToCode(t,"GREEN",e.JavaScript.ORDER_COMMA)||0;return t=e.JavaScript.valueToCode(t,"BLUE",e.JavaScript.ORDER_COMMA)||0,[e.JavaScript.provideFunction_("colourRgb",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b) {","  r = Math.max(Math.min(Number(r), 100), 0) * 2.55;","  g = Math.max(Math.min(Number(g), 100), 0) * 2.55;","  b = Math.max(Math.min(Number(b), 100), 0) * 2.55;","  r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);","  g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);","  b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);","  return '#' + r + g + b;","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.colour_blend=function(t){var o=e.JavaScript.valueToCode(t,"COLOUR1",e.JavaScript.ORDER_COMMA)||"'#000000'",n=e.JavaScript.valueToCode(t,"COLOUR2",e.JavaScript.ORDER_COMMA)||"'#000000'";return t=e.JavaScript.valueToCode(t,"RATIO",e.JavaScript.ORDER_COMMA)||.5,[e.JavaScript.provideFunction_("colourBlend",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(c1, c2, ratio) {","  ratio = Math.max(Math.min(Number(ratio), 1), 0);","  var r1 = parseInt(c1.substring(1, 3), 16);","  var g1 = parseInt(c1.substring(3, 5), 16);","  var b1 = parseInt(c1.substring(5, 7), 16);","  var r2 = parseInt(c2.substring(1, 3), 16);","  var g2 = parseInt(c2.substring(3, 5), 16);","  var b2 = parseInt(c2.substring(5, 7), 16);","  var r = Math.round(r1 * (1 - ratio) + r2 * ratio);","  var g = Math.round(g1 * (1 - ratio) + g2 * ratio);","  var b = Math.round(b1 * (1 - ratio) + b2 * ratio);","  r = ('0' + (r || 0).toString(16)).slice(-2);","  g = ('0' + (g || 0).toString(16)).slice(-2);","  b = ('0' + (b || 0).toString(16)).slice(-2);","  return '#' + r + g + b;","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists={},e.JavaScript.lists_create_empty=function(t){return["[]",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.JavaScript.valueToCode(t,"ADD"+n,e.JavaScript.ORDER_COMMA)||"null";return["["+o.join(", ")+"]",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.lists_repeat=function(t){return[e.JavaScript.provideFunction_("listsRepeat",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(value, n) {","  var array = [];","  for (var i = 0; i < n; i++) {","    array[i] = value;","  }","  return array;","}"])+"("+(e.JavaScript.valueToCode(t,"ITEM",e.JavaScript.ORDER_COMMA)||"null")+", "+(t=e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_COMMA)||"0")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_length=function(t){return[(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+".length",e.JavaScript.ORDER_MEMBER]},e.JavaScript.lists_isEmpty=function(t){return["!"+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+".length",e.JavaScript.ORDER_LOGICAL_NOT]},e.JavaScript.lists_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.JavaScript.valueToCode(t,"FIND",e.JavaScript.ORDER_NONE)||"''";return o=(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"[]")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.JavaScript.ORDER_ADDITION]:[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.JavaScript.valueToCode(t,"VALUE","RANDOM"==n?e.JavaScript.ORDER_COMMA:e.JavaScript.ORDER_MEMBER)||"[]";switch(n){case"FIRST":if("GET"==o)return[i+"[0]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".shift()",e.JavaScript.ORDER_MEMBER];if("REMOVE"==o)return i+".shift();\n";break;case"LAST":if("GET"==o)return[i+".slice(-1)[0]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop()",e.JavaScript.ORDER_MEMBER];if("REMOVE"==o)return i+".pop();\n";break;case"FROM_START":if(t=e.JavaScript.getAdjusted(t,"AT"),"GET"==o)return[i+"["+t+"]",e.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".splice("+t+", 1)[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".splice("+t+", 1);\n";break;case"FROM_END":if(t=e.JavaScript.getAdjusted(t,"AT",1,!0),"GET"==o)return[i+".slice("+t+")[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return[i+".splice("+t+", 1)[0]",e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".splice("+t+", 1);";break;case"RANDOM":if(i=e.JavaScript.provideFunction_("listsGetRandomItem",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list, remove) {","  var x = Math.floor(Math.random() * list.length);","  if (remove) {","    return list.splice(x, 1)[0];","  } else {","    return list[x];","  }","}"])+"("+i+", "+("GET"!=o)+")","GET"==o||"GET_REMOVE"==o)return[i,e.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+";\n"}throw Error("Unhandled combination (lists_getIndex).")},e.JavaScript.lists_setIndex=function(t){function o(){if(n.match(/^\w+$/))return"";var t=e.JavaScript.variableDB_.getDistinctName("tmpList",e.Variables.NAME_TYPE),o="var "+t+" = "+n+";\n";return n=t,o}var n=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",i=t.getFieldValue("MODE")||"GET",r=t.getFieldValue("WHERE")||"FROM_START",s=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_ASSIGNMENT)||"null";switch(r){case"FIRST":if("SET"==i)return n+"[0] = "+s+";\n";if("INSERT"==i)return n+".unshift("+s+");\n";break;case"LAST":if("SET"==i)return(t=o())+(n+"[")+n+".length - 1] = "+s+";\n";if("INSERT"==i)return n+".push("+s+");\n";break;case"FROM_START":if(r=e.JavaScript.getAdjusted(t,"AT"),"SET"==i)return n+"["+r+"] = "+s+";\n";if("INSERT"==i)return n+".splice("+r+", 0, "+s+");\n";break;case"FROM_END":if(r=e.JavaScript.getAdjusted(t,"AT",1,!1,e.JavaScript.ORDER_SUBTRACTION),t=o(),"SET"==i)return t+(n+"[")+n+".length - "+r+"] = "+s+";\n";if("INSERT"==i)return t+(n+".splice(")+n+".length - "+r+", 0, "+s+");\n";break;case"RANDOM":if(t=o(),t+="var "+(r=e.JavaScript.variableDB_.getDistinctName("tmpX",e.Variables.NAME_TYPE))+" = Math.floor(Math.random() * "+n+".length);\n","SET"==i)return t+(n+"[")+r+"] = "+s+";\n";if("INSERT"==i)return t+(n+".splice(")+r+", 0, "+s+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.JavaScript.lists.getIndex_=function(e,t,o){return"FIRST"==t?"0":"FROM_END"==t?e+".length - 1 - "+o:"LAST"==t?e+".length - 1":o},e.JavaScript.lists_getSublist=function(t){var o=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"==n&&"LAST"==i)o+=".slice(0)";else if(o.match(/^\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.JavaScript.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.JavaScript.getAdjusted(t,"AT1",1,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":t=e.JavaScript.getAdjusted(t,"AT2",1);break;case"FROM_END":t=o+".length - "+(t=e.JavaScript.getAdjusted(t,"AT2",0,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"LAST":t=o+".length";break;default:throw Error("Unhandled option (lists_getSublist).")}o=o+".slice("+r+", "+t+")"}else{r=e.JavaScript.getAdjusted(t,"AT1"),t=e.JavaScript.getAdjusted(t,"AT2");var s=e.JavaScript.lists.getIndex_,a={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};o=e.JavaScript.provideFunction_("subsequence"+a[n]+a[i],["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+") {","  var start = "+s("sequence",n,"at1")+";","  var end = "+s("sequence",i,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")"}return[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_sort=function(t){var o=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_FUNCTION_CALL)||"[]",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[o+".slice().sort("+e.JavaScript.provideFunction_("listsGetSortCompare",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(type, direction) {","  var compareFuncs = {",'    "NUMERIC": function(a, b) {',"        return parseFloat(a) - parseFloat(b); },",'    "TEXT": function(a, b) {',"        return a.toString() > b.toString() ? 1 : -1; },",'    "IGNORE_CASE": function(a, b) {',"        return a.toString().toLowerCase() > b.toString().toLowerCase() ? 1 : -1; },","  };","  var compare = compareFuncs[type];","  return function(a, b) { return compare(a, b) * direction; }","}"])+'("'+t+'", '+n+"))",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_split=function(t){var o=e.JavaScript.valueToCode(t,"INPUT",e.JavaScript.ORDER_MEMBER),n=e.JavaScript.valueToCode(t,"DELIM",e.JavaScript.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="split";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="[]"),t="join"}return[o+"."+t+"("+n+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.lists_reverse=function(t){return[(e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_FUNCTION_CALL)||"[]")+".slice().reverse()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.logic={},e.JavaScript.controls_if=function(t){var o=0,n="";e.JavaScript.STATEMENT_PREFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t));do{var i=e.JavaScript.valueToCode(t,"IF"+o,e.JavaScript.ORDER_NONE)||"false",r=e.JavaScript.statementToCode(t,"DO"+o);e.JavaScript.STATEMENT_SUFFIX&&(r=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)+r),n+=(0<o?" else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.JavaScript.STATEMENT_SUFFIX)&&(r=e.JavaScript.statementToCode(t,"ELSE"),e.JavaScript.STATEMENT_SUFFIX&&(r=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.JavaScript.controls_ifelse=e.JavaScript.controls_if,e.JavaScript.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.JavaScript.ORDER_EQUALITY:e.JavaScript.ORDER_RELATIONAL;return[(e.JavaScript.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.JavaScript.valueToCode(t,"B",n)||"0"),n]},e.JavaScript.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.JavaScript.ORDER_LOGICAL_AND:e.JavaScript.ORDER_LOGICAL_OR,i=e.JavaScript.valueToCode(t,"A",n);if(t=e.JavaScript.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.JavaScript.logic_negate=function(t){var o=e.JavaScript.ORDER_LOGICAL_NOT;return["!"+(e.JavaScript.valueToCode(t,"BOOL",o)||"true"),o]},e.JavaScript.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.logic_null=function(t){return["null",e.JavaScript.ORDER_ATOMIC]},e.JavaScript.logic_ternary=function(t){return[(e.JavaScript.valueToCode(t,"IF",e.JavaScript.ORDER_CONDITIONAL)||"false")+" ? "+(e.JavaScript.valueToCode(t,"THEN",e.JavaScript.ORDER_CONDITIONAL)||"null")+" : "+(t=e.JavaScript.valueToCode(t,"ELSE",e.JavaScript.ORDER_CONDITIONAL)||"null"),e.JavaScript.ORDER_CONDITIONAL]},e.JavaScript.loops={},e.JavaScript.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.JavaScript.valueToCode(t,"TIMES",e.JavaScript.ORDER_ASSIGNMENT)||"0",n=e.JavaScript.statementToCode(t,"DO");n=e.JavaScript.addLoopTrap(n,t),t="";var i=e.JavaScript.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+="var "+(r=e.JavaScript.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for (var "+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.JavaScript.controls_repeat=e.JavaScript.controls_repeat_ext,e.JavaScript.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.JavaScript.valueToCode(t,"BOOL",o?e.JavaScript.ORDER_LOGICAL_NOT:e.JavaScript.ORDER_NONE)||"false",i=e.JavaScript.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.JavaScript.addLoopTrap(i,t))+"}\n"},e.JavaScript.controls_for=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_ASSIGNMENT)||"0",i=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_ASSIGNMENT)||"0",r=e.JavaScript.valueToCode(t,"BY",e.JavaScript.ORDER_ASSIGNMENT)||"1",s=e.JavaScript.statementToCode(t,"DO");if(s=e.JavaScript.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+="var "+(a=e.JavaScript.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+="var "+(n=e.JavaScript.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+="var "+(i=e.JavaScript.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"Math.abs("+r+");\n")+"if ("+a+" > "+n+") {\n"+(e.JavaScript.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.JavaScript.controls_forEach=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_ASSIGNMENT)||"[]",i=e.JavaScript.statementToCode(t,"DO");i=e.JavaScript.addLoopTrap(i,t),t="";var r=n;return n.match(/^\w+$/)||(t+="var "+(r=e.JavaScript.variableDB_.getDistinctName(o+"_list",e.Variables.NAME_TYPE))+" = "+n+";\n"),t+"for (var "+(n=e.JavaScript.variableDB_.getDistinctName(o+"_index",e.Variables.NAME_TYPE))+" in "+r+") {\n"+(i=e.JavaScript.INDENT+o+" = "+r+"["+n+"];\n"+i)+"}\n"},e.JavaScript.controls_flow_statements=function(t){var o="";if(e.JavaScript.STATEMENT_PREFIX&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t)),e.JavaScript.STATEMENT_SUFFIX&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t)),e.JavaScript.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.JavaScript.math={},e.JavaScript.math_number=function(t){return[t=parseFloat(t.getFieldValue("NUM")),0<=t?e.JavaScript.ORDER_ATOMIC:e.JavaScript.ORDER_UNARY_NEGATION]},e.JavaScript.math_arithmetic=function(t){var o={ADD:[" + ",e.JavaScript.ORDER_ADDITION],MINUS:[" - ",e.JavaScript.ORDER_SUBTRACTION],MULTIPLY:[" * ",e.JavaScript.ORDER_MULTIPLICATION],DIVIDE:[" / ",e.JavaScript.ORDER_DIVISION],POWER:[null,e.JavaScript.ORDER_COMMA]}[t.getFieldValue("OP")],n=o[0];o=o[1];var i=e.JavaScript.valueToCode(t,"A",o)||"0";return t=e.JavaScript.valueToCode(t,"B",o)||"0",n?[i+n+t,o]:["Math.pow("+i+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_UNARY_NEGATION)||"0")[0]&&(t=" "+t),["-"+t,e.JavaScript.ORDER_UNARY_NEGATION];switch(t="SIN"==o||"COS"==o||"TAN"==o?e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_DIVISION)||"0":e.JavaScript.valueToCode(t,"NUM",e.JavaScript.ORDER_NONE)||"0",o){case"ABS":var n="Math.abs("+t+")";break;case"ROOT":n="Math.sqrt("+t+")";break;case"LN":n="Math.log("+t+")";break;case"EXP":n="Math.exp("+t+")";break;case"POW10":n="Math.pow(10,"+t+")";break;case"ROUND":n="Math.round("+t+")";break;case"ROUNDUP":n="Math.ceil("+t+")";break;case"ROUNDDOWN":n="Math.floor("+t+")";break;case"SIN":n="Math.sin("+t+" / 180 * Math.PI)";break;case"COS":n="Math.cos("+t+" / 180 * Math.PI)";break;case"TAN":n="Math.tan("+t+" / 180 * Math.PI)"}if(n)return[n,e.JavaScript.ORDER_FUNCTION_CALL];switch(o){case"LOG10":n="Math.log("+t+") / Math.log(10)";break;case"ASIN":n="Math.asin("+t+") / Math.PI * 180";break;case"ACOS":n="Math.acos("+t+") / Math.PI * 180";break;case"ATAN":n="Math.atan("+t+") / Math.PI * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.JavaScript.ORDER_DIVISION]},e.JavaScript.math_constant=function(t){return{PI:["Math.PI",e.JavaScript.ORDER_MEMBER],E:["Math.E",e.JavaScript.ORDER_MEMBER],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",e.JavaScript.ORDER_DIVISION],SQRT2:["Math.SQRT2",e.JavaScript.ORDER_MEMBER],SQRT1_2:["Math.SQRT1_2",e.JavaScript.ORDER_MEMBER],INFINITY:["Infinity",e.JavaScript.ORDER_ATOMIC]}[t.getFieldValue("CONSTANT")]},e.JavaScript.math_number_property=function(t){var o=e.JavaScript.valueToCode(t,"NUMBER_TO_CHECK",e.JavaScript.ORDER_MODULUS)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.JavaScript.provideFunction_("mathIsPrime",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if (n == 2 || n == 3) {","    return true;","  }","  // False if n is NaN, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (isNaN(n) || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {","    if (n % (x - 1) == 0 || n % (x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.JavaScript.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":i=o+" % "+(t=e.JavaScript.valueToCode(t,"DIVISOR",e.JavaScript.ORDER_MODULUS)||"0")+" == 0"}return[i,e.JavaScript.ORDER_EQUALITY]},e.JavaScript.math_change=function(t){var o=e.JavaScript.valueToCode(t,"DELTA",e.JavaScript.ORDER_ADDITION)||"0";return(t=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = (typeof "+t+" == 'number' ? "+t+" : 0) + "+o+";\n"},e.JavaScript.math_round=e.JavaScript.math_single,e.JavaScript.math_trig=e.JavaScript.math_single,e.JavaScript.math_on_list=function(t){var o=t.getFieldValue("OP");switch(o){case"SUM":t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_MEMBER)||"[]",t+=".reduce(function(x, y) {return x + y;})";break;case"MIN":t="Math.min.apply(null, "+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_COMMA)||"[]")+")";break;case"MAX":t="Math.max.apply(null, "+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_COMMA)||"[]")+")";break;case"AVERAGE":t=(o=e.JavaScript.provideFunction_("mathMean",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  return myList.reduce(function(x, y) {return x + y;}) / myList.length;","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"MEDIAN":t=(o=e.JavaScript.provideFunction_("mathMedian",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  var localList = myList.filter(function (x) {return typeof x == 'number';});","  if (!localList.length) return null;","  localList.sort(function(a, b) {return b - a;});","  if (localList.length % 2 == 0) {","    return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;","  } else {","    return localList[(localList.length - 1) / 2];","  }","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"MODE":t=(o=e.JavaScript.provideFunction_("mathModes",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(values) {","  var modes = [];","  var counts = [];","  var maxCount = 0;","  for (var i = 0; i < values.length; i++) {","    var value = values[i];","    var found = false;","    var thisCount;","    for (var j = 0; j < counts.length; j++) {","      if (counts[j][0] === value) {","        thisCount = ++counts[j][1];","        found = true;","        break;","      }","    }","    if (!found) {","      counts.push([value, 1]);","      thisCount = 1;","    }","    maxCount = Math.max(thisCount, maxCount);","  }","  for (var j = 0; j < counts.length; j++) {","    if (counts[j][1] == maxCount) {","        modes.push(counts[j][0]);","    }","  }","  return modes;","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"STD_DEV":t=(o=e.JavaScript.provideFunction_("mathStandardDeviation",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(numbers) {","  var n = numbers.length;","  if (!n) return null;","  var mean = numbers.reduce(function(x, y) {return x + y;}) / n;","  var variance = 0;","  for (var j = 0; j < n; j++) {","    variance += Math.pow(numbers[j] - mean, 2);","  }","  variance = variance / n;","  return Math.sqrt(variance);","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;case"RANDOM":t=(o=e.JavaScript.provideFunction_("mathRandomList",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list) {","  var x = Math.floor(Math.random() * list.length);","  return list[x];","}"]))+"("+(t=e.JavaScript.valueToCode(t,"LIST",e.JavaScript.ORDER_NONE)||"[]")+")";break;default:throw Error("Unknown operator: "+o)}return[t,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_modulo=function(t){return[(e.JavaScript.valueToCode(t,"DIVIDEND",e.JavaScript.ORDER_MODULUS)||"0")+" % "+(t=e.JavaScript.valueToCode(t,"DIVISOR",e.JavaScript.ORDER_MODULUS)||"0"),e.JavaScript.ORDER_MODULUS]},e.JavaScript.math_constrain=function(t){return["Math.min(Math.max("+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_COMMA)||"0")+", "+(e.JavaScript.valueToCode(t,"LOW",e.JavaScript.ORDER_COMMA)||"0")+"), "+(t=e.JavaScript.valueToCode(t,"HIGH",e.JavaScript.ORDER_COMMA)||"Infinity")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_random_int=function(t){var o=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_COMMA)||"0";return t=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_COMMA)||"0",[e.JavaScript.provideFunction_("mathRandomInt",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(a, b) {","  if (a > b) {","    // Swap a and b to ensure a is smaller.","    var c = a;","    a = b;","    b = c;","  }","  return Math.floor(Math.random() * (b - a + 1) + a);","}"])+"("+o+", "+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_random_float=function(t){return["Math.random()",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.math_atan2=function(t){var o=e.JavaScript.valueToCode(t,"X",e.JavaScript.ORDER_COMMA)||"0";return["Math.atan2("+(e.JavaScript.valueToCode(t,"Y",e.JavaScript.ORDER_COMMA)||"0")+", "+o+") / Math.PI * 180",e.JavaScript.ORDER_DIVISION]},e.JavaScript.procedures={},e.JavaScript.procedures_defreturn=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.JavaScript.STATEMENT_PREFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_PREFIX,t)),e.JavaScript.STATEMENT_SUFFIX&&(n+=e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t)),n&&(n=e.JavaScript.prefixLines(n,e.JavaScript.INDENT));var i="";e.JavaScript.INFINITE_LOOP_TRAP&&(i=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.INFINITE_LOOP_TRAP,t),e.JavaScript.INDENT));var r=e.JavaScript.statementToCode(t,"STACK"),s=e.JavaScript.valueToCode(t,"RETURN",e.JavaScript.ORDER_NONE)||"",a="";r&&s&&(a=n),s&&(s=e.JavaScript.INDENT+"return "+s+";\n");for(var l=[],u=0;u<t.arguments_.length;u++)l[u]=e.JavaScript.variableDB_.getName(t.arguments_[u],e.Variables.NAME_TYPE);return n="function "+o+"("+l.join(", ")+") {\n"+n+i+r+a+s+"}",n=e.JavaScript.scrub_(t,n),e.JavaScript.definitions_["%"+o]=n,null},e.JavaScript.procedures_defnoreturn=e.JavaScript.procedures_defreturn,e.JavaScript.procedures_callreturn=function(t){for(var o=e.JavaScript.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.JavaScript.valueToCode(t,"ARG"+i,e.JavaScript.ORDER_COMMA)||"null";return[o+"("+n.join(", ")+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.procedures_callnoreturn=function(t){return e.JavaScript.procedures_callreturn(t)[0]+";\n"},e.JavaScript.procedures_ifreturn=function(t){var o="if ("+(e.JavaScript.valueToCode(t,"CONDITION",e.JavaScript.ORDER_NONE)||"false")+") {\n";return e.JavaScript.STATEMENT_SUFFIX&&(o+=e.JavaScript.prefixLines(e.JavaScript.injectId(e.JavaScript.STATEMENT_SUFFIX,t),e.JavaScript.INDENT)),t.hasReturnValue_?(t=e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_NONE)||"null",o+=e.JavaScript.INDENT+"return "+t+";\n"):o+=e.JavaScript.INDENT+"return;\n",o+"}\n"},e.JavaScript.texts={},e.JavaScript.text=function(t){return[e.JavaScript.quote_(t.getFieldValue("TEXT")),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.text.forceString_=function(t){return e.JavaScript.text.forceString_.strRegExp.test(t)?t:"String("+t+")"},e.JavaScript.text.forceString_.strRegExp=/^\s*'([^']|\\')*'\s*$/,e.JavaScript.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.JavaScript.ORDER_ATOMIC];case 1:return t=e.JavaScript.valueToCode(t,"ADD0",e.JavaScript.ORDER_NONE)||"''",[t=e.JavaScript.text.forceString_(t),e.JavaScript.ORDER_FUNCTION_CALL];case 2:var o=e.JavaScript.valueToCode(t,"ADD0",e.JavaScript.ORDER_NONE)||"''";return t=e.JavaScript.valueToCode(t,"ADD1",e.JavaScript.ORDER_NONE)||"''",[t=e.JavaScript.text.forceString_(o)+" + "+e.JavaScript.text.forceString_(t),e.JavaScript.ORDER_ADDITION];default:o=Array(t.itemCount_);for(var n=0;n<t.itemCount_;n++)o[n]=e.JavaScript.valueToCode(t,"ADD"+n,e.JavaScript.ORDER_COMMA)||"''";return[t="["+o.join(",")+"].join('')",e.JavaScript.ORDER_FUNCTION_CALL]}},e.JavaScript.text_append=function(t){var o=e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return t=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''",o+" += "+e.JavaScript.text.forceString_(t)+";\n"},e.JavaScript.text_length=function(t){return[(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_FUNCTION_CALL)||"''")+".length",e.JavaScript.ORDER_MEMBER]},e.JavaScript.text_isEmpty=function(t){return["!"+(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"''")+".length",e.JavaScript.ORDER_LOGICAL_NOT]},e.JavaScript.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.JavaScript.valueToCode(t,"FIND",e.JavaScript.ORDER_NONE)||"''";return o=(e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_MEMBER)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.JavaScript.ORDER_ADDITION]:[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.JavaScript.valueToCode(t,"VALUE","RANDOM"==o?e.JavaScript.ORDER_NONE:e.JavaScript.ORDER_MEMBER)||"''";switch(o){case"FIRST":return[n+".charAt(0)",e.JavaScript.ORDER_FUNCTION_CALL];case"LAST":return[n+".slice(-1)",e.JavaScript.ORDER_FUNCTION_CALL];case"FROM_START":return[n+".charAt("+(t=e.JavaScript.getAdjusted(t,"AT"))+")",e.JavaScript.ORDER_FUNCTION_CALL];case"FROM_END":return[n+".slice("+(t=e.JavaScript.getAdjusted(t,"AT",1,!0))+").charAt(0)",e.JavaScript.ORDER_FUNCTION_CALL];case"RANDOM":return[e.JavaScript.provideFunction_("textRandomLetter",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(text) {","  var x = Math.floor(Math.random() * text.length);","  return text[x];","}"])+"("+n+")",e.JavaScript.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.JavaScript.text.getIndex_=function(e,t,o){return"FIRST"==t?"0":"FROM_END"==t?e+".length - 1 - "+o:"LAST"==t?e+".length - 1":o},e.JavaScript.text_getSubstring=function(t){var o=e.JavaScript.valueToCode(t,"STRING",e.JavaScript.ORDER_FUNCTION_CALL)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i)if(o.match(/^'?\w+'?$/)||"FROM_END"!=n&&"LAST"!=n&&"FROM_END"!=i&&"LAST"!=i){switch(n){case"FROM_START":var r=e.JavaScript.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.JavaScript.getAdjusted(t,"AT1",1,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (text_getSubstring).")}switch(i){case"FROM_START":t=e.JavaScript.getAdjusted(t,"AT2",1);break;case"FROM_END":t=o+".length - "+(t=e.JavaScript.getAdjusted(t,"AT2",0,!1,e.JavaScript.ORDER_SUBTRACTION));break;case"LAST":t=o+".length";break;default:throw Error("Unhandled option (text_getSubstring).")}o=o+".slice("+r+", "+t+")"}else{r=e.JavaScript.getAdjusted(t,"AT1"),t=e.JavaScript.getAdjusted(t,"AT2");var s=e.JavaScript.text.getIndex_,a={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};o=e.JavaScript.provideFunction_("subsequence"+a[n]+a[i],["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+") {","  var start = "+s("sequence",n,"at1")+";","  var end = "+s("sequence",i,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")"}return[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_changeCase=function(t){var o={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[t.getFieldValue("CASE")];return t=e.JavaScript.valueToCode(t,"TEXT",o?e.JavaScript.ORDER_MEMBER:e.JavaScript.ORDER_NONE)||"''",[o?t+o:e.JavaScript.provideFunction_("textToTitleCase",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(str) {","  return str.replace(/\\S+/g,","      function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});","}"])+"("+t+")",e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_trim=function(t){var o={LEFT:".replace(/^[\\s\\xa0]+/, '')",RIGHT:".replace(/[\\s\\xa0]+$/, '')",BOTH:".trim()"}[t.getFieldValue("MODE")];return[(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''")+o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_print=function(t){return"window.alert("+(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''")+");\n"},e.JavaScript.text_prompt_ext=function(t){var o="window.prompt("+(t.getField("TEXT")?e.JavaScript.quote_(t.getFieldValue("TEXT")):e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_NONE)||"''")+")";return"NUMBER"==t.getFieldValue("TYPE")&&(o="parseFloat("+o+")"),[o,e.JavaScript.ORDER_FUNCTION_CALL]},e.JavaScript.text_prompt=e.JavaScript.text_prompt_ext,e.JavaScript.text_count=function(t){var o=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''";return t=e.JavaScript.valueToCode(t,"SUB",e.JavaScript.ORDER_NONE)||"''",[e.JavaScript.provideFunction_("textCount",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle) {","  if (needle.length === 0) {","    return haystack.length + 1;","  } else {","    return haystack.split(needle).length - 1;","  }","}"])+"("+o+", "+t+")",e.JavaScript.ORDER_SUBTRACTION]},e.JavaScript.text_replace=function(t){var o=e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''",n=e.JavaScript.valueToCode(t,"FROM",e.JavaScript.ORDER_NONE)||"''";return t=e.JavaScript.valueToCode(t,"TO",e.JavaScript.ORDER_NONE)||"''",[e.JavaScript.provideFunction_("textReplace",["function "+e.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle, replacement) {",'  needle = needle.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,"\\\\$1")','                 .replace(/\\x08/g,"\\\\x08");',"  return haystack.replace(new RegExp(needle, 'g'), replacement);","}"])+"("+o+", "+n+", "+t+")",e.JavaScript.ORDER_MEMBER]},e.JavaScript.text_reverse=function(t){return[(e.JavaScript.valueToCode(t,"TEXT",e.JavaScript.ORDER_MEMBER)||"''")+".split('').reverse().join('')",e.JavaScript.ORDER_MEMBER]},e.JavaScript.variables={},e.JavaScript.variables_get=function(t){return[e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.JavaScript.ORDER_ATOMIC]},e.JavaScript.variables_set=function(t){var o=e.JavaScript.valueToCode(t,"VALUE",e.JavaScript.ORDER_ASSIGNMENT)||"0";return e.JavaScript.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.JavaScript.variablesDynamic={},e.JavaScript.variables_get_dynamic=e.JavaScript.variables_get,e.JavaScript.variables_set_dynamic=e.JavaScript.variables_set,e.JavaScript}},function(e,t){e.exports=function(e){"use strict";return e.Lua=new e.Generator("Lua"),e.Lua.addReservedWords("_,__inext,assert,bit,colors,colours,coroutine,disk,dofile,error,fs,fetfenv,getmetatable,gps,help,io,ipairs,keys,loadfile,loadstring,math,native,next,os,paintutils,pairs,parallel,pcall,peripheral,print,printError,rawequal,rawget,rawset,read,rednet,redstone,rs,select,setfenv,setmetatable,sleep,string,table,term,textutils,tonumber,tostring,turtle,type,unpack,vector,write,xpcall,_VERSION,__indext,HTTP,and,break,do,else,elseif,end,false,for,function,if,in,local,nil,not,or,repeat,return,then,true,until,while,add,sub,mul,div,mod,pow,unm,concat,len,eq,lt,le,index,newindex,call,assert,collectgarbage,dofile,error,_G,getmetatable,inpairs,load,loadfile,next,pairs,pcall,print,rawequal,rawget,rawlen,rawset,select,setmetatable,tonumber,tostring,type,_VERSION,xpcall,require,package,string,table,math,bit32,io,file,os,debug"),e.Lua.ORDER_ATOMIC=0,e.Lua.ORDER_HIGH=1,e.Lua.ORDER_EXPONENTIATION=2,e.Lua.ORDER_UNARY=3,e.Lua.ORDER_MULTIPLICATIVE=4,e.Lua.ORDER_ADDITIVE=5,e.Lua.ORDER_CONCATENATION=6,e.Lua.ORDER_RELATIONAL=7,e.Lua.ORDER_AND=8,e.Lua.ORDER_OR=9,e.Lua.ORDER_NONE=99,e.Lua.init=function(t){e.Lua.definitions_=Object.create(null),e.Lua.functionNames_=Object.create(null),e.Lua.variableDB_?e.Lua.variableDB_.reset():e.Lua.variableDB_=new e.Names(e.Lua.RESERVED_WORDS_),e.Lua.variableDB_.setVariableMap(t.getVariableMap())},e.Lua.finish=function(t){var o,n=[];for(o in e.Lua.definitions_)n.push(e.Lua.definitions_[o]);return delete e.Lua.definitions_,delete e.Lua.functionNames_,e.Lua.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.Lua.scrubNakedValue=function(e){return"local _ = "+e+"\n"},e.Lua.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.Lua.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Lua.COMMENT_WRAP-3))&&(i+=e.Lua.prefixLines(r,"-- ")+"\n");for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Lua.allNestedComments(r))&&(i+=e.Lua.prefixLines(r,"-- "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Lua.blockToCode(t))},e.Lua.colour={},e.Lua.colour_picker=function(t){return[e.Lua.quote_(t.getFieldValue("COLOUR")),e.Lua.ORDER_ATOMIC]},e.Lua.colour_random=function(t){return['string.format("#%06x", math.random(0, 2^24 - 1))',e.Lua.ORDER_HIGH]},e.Lua.colour_rgb=function(t){return[e.Lua.provideFunction_("colour_rgb",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b)","  r = math.floor(math.min(100, math.max(0, r)) * 2.55 + .5)","  g = math.floor(math.min(100, math.max(0, g)) * 2.55 + .5)","  b = math.floor(math.min(100, math.max(0, b)) * 2.55 + .5)",'  return string.format("#%02x%02x%02x", r, g, b)',"end"])+"("+(e.Lua.valueToCode(t,"RED",e.Lua.ORDER_NONE)||0)+", "+(e.Lua.valueToCode(t,"GREEN",e.Lua.ORDER_NONE)||0)+", "+(t=e.Lua.valueToCode(t,"BLUE",e.Lua.ORDER_NONE)||0)+")",e.Lua.ORDER_HIGH]},e.Lua.colour_blend=function(t){return[e.Lua.provideFunction_("colour_blend",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio)","  local r1 = tonumber(string.sub(colour1, 2, 3), 16)","  local r2 = tonumber(string.sub(colour2, 2, 3), 16)","  local g1 = tonumber(string.sub(colour1, 4, 5), 16)","  local g2 = tonumber(string.sub(colour2, 4, 5), 16)","  local b1 = tonumber(string.sub(colour1, 6, 7), 16)","  local b2 = tonumber(string.sub(colour2, 6, 7), 16)","  local ratio = math.min(1, math.max(0, ratio))","  local r = math.floor(r1 * (1 - ratio) + r2 * ratio + .5)","  local g = math.floor(g1 * (1 - ratio) + g2 * ratio + .5)","  local b = math.floor(b1 * (1 - ratio) + b2 * ratio + .5)",'  return string.format("#%02x%02x%02x", r, g, b)',"end"])+"("+(e.Lua.valueToCode(t,"COLOUR1",e.Lua.ORDER_NONE)||"'#000000'")+", "+(e.Lua.valueToCode(t,"COLOUR2",e.Lua.ORDER_NONE)||"'#000000'")+", "+(t=e.Lua.valueToCode(t,"RATIO",e.Lua.ORDER_NONE)||0)+")",e.Lua.ORDER_HIGH]},e.Lua.lists={},e.Lua.lists_create_empty=function(t){return["{}",e.Lua.ORDER_ATOMIC]},e.Lua.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Lua.valueToCode(t,"ADD"+n,e.Lua.ORDER_NONE)||"None";return["{"+o.join(", ")+"}",e.Lua.ORDER_ATOMIC]},e.Lua.lists_repeat=function(t){return[e.Lua.provideFunction_("create_list_repeated",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(item, count)","  local t = {}","  for i = 1, count do","    table.insert(t, item)","  end","  return t","end"])+"("+(e.Lua.valueToCode(t,"ITEM",e.Lua.ORDER_NONE)||"None")+", "+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_NONE)||"0")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_length=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"{}"),e.Lua.ORDER_UNARY]},e.Lua.lists_isEmpty=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"{}")+" == 0",e.Lua.ORDER_RELATIONAL]},e.Lua.lists_indexOf=function(t){var o=e.Lua.valueToCode(t,"FIND",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"{}";return[("FIRST"==t.getFieldValue("END")?e.Lua.provideFunction_("first_index",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t, elem)","  for k, v in ipairs(t) do","    if v == elem then","      return k","    end","  end","  return 0","end"]):e.Lua.provideFunction_("last_index",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t, elem)","  for i = #t, 1, -1 do","    if t[i] == elem then","      return i","    end","  end","  return 0","end"]))+"("+n+", "+o+")",e.Lua.ORDER_HIGH]},e.Lua.lists.getIndex_=function(e,t,o){return"FIRST"==t?"1":"FROM_END"==t?"#"+e+" + 1 - "+o:"LAST"==t?"#"+e:"RANDOM"==t?"math.random(#"+e+")":o},e.Lua.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_HIGH)||"{}",r=e.Lua.lists.getIndex_;if("LAST"!=n&&"FROM_END"!=n&&"RANDOM"!=n||i.match(/^\w+$/))return s="GET"==o&&"FROM_END"==n?e.Lua.ORDER_ADDITIVE:e.Lua.ORDER_NONE,t=r(i,n,t=e.Lua.valueToCode(t,"AT",s)||"1"),"GET"==o?[i+"["+t+"]",e.Lua.ORDER_HIGH]:(n="table.remove("+i+", "+t+")","GET_REMOVE"==o?[n,e.Lua.ORDER_HIGH]:n+"\n");if("REMOVE"==o){var s="FROM_END"==n?e.Lua.ORDER_ADDITIVE:e.Lua.ORDER_NONE;return t=e.Lua.valueToCode(t,"AT",s)||"1",(o=e.Lua.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = "+i+"\ntable.remove("+o+", "+(t=r(o,n,t))+")\n"}return t=e.Lua.valueToCode(t,"AT",e.Lua.ORDER_NONE)||"1",[("GET"==o?e.Lua.provideFunction_("list_get_"+n.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t"+("FROM_END"==n||"FROM_START"==n?", at)":")"),"  return t["+r("t",n,"at")+"]","end"]):e.Lua.provideFunction_("list_remove_"+n.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t"+("FROM_END"==n||"FROM_START"==n?", at)":")"),"  return table.remove(t, "+r("t",n,"at")+")","end"]))+"("+i+("FROM_END"==n||"FROM_START"==n?", "+t:"")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_setIndex=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_HIGH)||"{}",n=t.getFieldValue("MODE")||"SET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Lua.valueToCode(t,"AT",e.Lua.ORDER_ADDITIVE)||"1";t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"None";var s=e.Lua.lists.getIndex_,a="";if(("LAST"==i||"FROM_END"==i||"RANDOM"==i)&&!o.match(/^\w+$/)){var l=e.Lua.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE);a=l+" = "+o+"\n",o=l}return(a="SET"==n?a+(o+"[")+s(o,i,r)+"] = "+t:a+"table.insert("+o+", "+s(o,i,r)+("LAST"==i?" + 1":"")+", "+t+")")+"\n"},e.Lua.lists_getSublist=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2"),r=e.Lua.valueToCode(t,"AT1",e.Lua.ORDER_NONE)||"1";t=e.Lua.valueToCode(t,"AT2",e.Lua.ORDER_NONE)||"1";var s=e.Lua.lists.getIndex_;return[e.Lua.provideFunction_("list_sublist_"+n.toLowerCase()+"_"+i.toLowerCase(),["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(source"+("FROM_END"==n||"FROM_START"==n?", at1":"")+("FROM_END"==i||"FROM_START"==i?", at2":"")+")","  local t = {}","  local start = "+s("source",n,"at1"),"  local finish = "+s("source",i,"at2"),"  for i = start, finish do","    table.insert(t, source[i])","  end","  return t","end"])+"("+o+("FROM_END"==n||"FROM_START"==n?", "+r:"")+("FROM_END"==i||"FROM_START"==i?", "+t:"")+")",e.Lua.ORDER_HIGH]},e.Lua.lists_sort=function(t){var o=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.Lua.provideFunction_("list_sort",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(list, typev, direction)","  local t = {}","  for n,v in pairs(list) do table.insert(t, v) end","  local compareFuncs = {","    NUMERIC = function(a, b)","      return (tonumber(tostring(a)) or 0)","          < (tonumber(tostring(b)) or 0) end,","    TEXT = function(a, b)","      return tostring(a) < tostring(b) end,","    IGNORE_CASE = function(a, b)","      return string.lower(tostring(a)) < string.lower(tostring(b)) end","  }","  local compareTemp = compareFuncs[typev]","  local compare = compareTemp","  if direction == -1","  then compare = function(a, b) return compareTemp(b, a) end","  end","  table.sort(t, compare)","  return t","end"])+"("+o+',"'+t+'", '+n+")",e.Lua.ORDER_HIGH]},e.Lua.lists_split=function(t){var o=e.Lua.valueToCode(t,"INPUT",e.Lua.ORDER_NONE),n=e.Lua.valueToCode(t,"DELIM",e.Lua.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t=e.Lua.provideFunction_("list_string_split",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(input, delim)","  local t = {}","  local pos = 1","  while true do","    next_delim = string.find(input, delim, pos)","    if next_delim == nil then","      table.insert(t, string.sub(input, pos))","      break","    else","      table.insert(t, string.sub(input, pos, next_delim-1))","      pos = next_delim + #delim","    end","  end","  return t","end"]);else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="{}"),t="table.concat"}return[t+"("+o+", "+n+")",e.Lua.ORDER_HIGH]},e.Lua.lists_reverse=function(t){return t=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",e.Lua.provideFunction_("list_reverse",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(input)","  local reversed = {}","  for i = #input, 1, -1 do","    table.insert(reversed, input[i])","  end","  return reversed","end"]),["list_reverse("+t+")",e.Lua.ORDER_HIGH]},e.Lua.logic={},e.Lua.controls_if=function(t){var o=0,n="";e.Lua.STATEMENT_PREFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t));do{var i=e.Lua.valueToCode(t,"IF"+o,e.Lua.ORDER_NONE)||"false",r=e.Lua.statementToCode(t,"DO"+o);e.Lua.STATEMENT_SUFFIX&&(r=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)+r),n+=(0<o?"else":"")+"if "+i+" then\n"+r,++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Lua.STATEMENT_SUFFIX)&&(r=e.Lua.statementToCode(t,"ELSE"),e.Lua.STATEMENT_SUFFIX&&(r=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)+r),n+="else\n"+r),n+"end\n"},e.Lua.controls_ifelse=e.Lua.controls_if,e.Lua.logic_compare=function(t){var o={EQ:"==",NEQ:"~=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")];return[(e.Lua.valueToCode(t,"A",e.Lua.ORDER_RELATIONAL)||"0")+" "+o+" "+(t=e.Lua.valueToCode(t,"B",e.Lua.ORDER_RELATIONAL)||"0"),e.Lua.ORDER_RELATIONAL]},e.Lua.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"and":"or",n="and"==o?e.Lua.ORDER_AND:e.Lua.ORDER_OR,i=e.Lua.valueToCode(t,"A",n);if(t=e.Lua.valueToCode(t,"B",n),i||t){var r="and"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.Lua.logic_negate=function(t){return["not "+(e.Lua.valueToCode(t,"BOOL",e.Lua.ORDER_UNARY)||"true"),e.Lua.ORDER_UNARY]},e.Lua.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.Lua.ORDER_ATOMIC]},e.Lua.logic_null=function(t){return["nil",e.Lua.ORDER_ATOMIC]},e.Lua.logic_ternary=function(t){return[(e.Lua.valueToCode(t,"IF",e.Lua.ORDER_AND)||"false")+" and "+(e.Lua.valueToCode(t,"THEN",e.Lua.ORDER_AND)||"nil")+" or "+(t=e.Lua.valueToCode(t,"ELSE",e.Lua.ORDER_OR)||"nil"),e.Lua.ORDER_OR]},e.Lua.loops={},e.Lua.CONTINUE_STATEMENT="goto continue\n",e.Lua.addContinueLabel_=function(t){return-1!=t.indexOf(e.Lua.CONTINUE_STATEMENT)?t+e.Lua.INDENT+"::continue::\n":t},e.Lua.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.Lua.valueToCode(t,"TIMES",e.Lua.ORDER_NONE)||"0";o=e.isNumber(o)?parseInt(o,10):"math.floor("+o+")";var n=e.Lua.statementToCode(t,"DO");return n=e.Lua.addLoopTrap(n,t),n=e.Lua.addContinueLabel_(n),"for "+e.Lua.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE)+" = 1, "+o+" do\n"+n+"end\n"},e.Lua.controls_repeat=e.Lua.controls_repeat_ext,e.Lua.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Lua.valueToCode(t,"BOOL",o?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"false",i=e.Lua.statementToCode(t,"DO");return i=e.Lua.addLoopTrap(i,t),o&&(n="not "+n),"while "+n+" do\n"+(i=e.Lua.addContinueLabel_(i))+"end\n"},e.Lua.controls_for=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"0",i=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"0",r=e.Lua.valueToCode(t,"BY",e.Lua.ORDER_NONE)||"1",s=e.Lua.statementToCode(t,"DO");if(s=e.Lua.addLoopTrap(s,t),s=e.Lua.addContinueLabel_(s),t="",e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);a=(a?"":"-")+(r=Math.abs(parseFloat(r)))}else t="",t+=(a=e.Lua.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+"\n"):t+"math.abs("+r+")\n")+"if ("+n+") > ("+i+") then\n"+(e.Lua.INDENT+a)+" = -"+a+"\n",t+="end\n";return t+"for "+o+" = "+n+", "+i+", "+a+" do\n"+s+"end\n"},e.Lua.controls_forEach=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",i=e.Lua.statementToCode(t,"DO");return i=e.Lua.addLoopTrap(i,t),"for _, "+o+" in ipairs("+n+") do \n"+(i=e.Lua.addContinueLabel_(i))+"end\n"},e.Lua.controls_flow_statements=function(t){var o="";if(e.Lua.STATEMENT_PREFIX&&(o+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t)),e.Lua.STATEMENT_SUFFIX&&(o+=e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t)),e.Lua.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break\n";case"CONTINUE":return o+e.Lua.CONTINUE_STATEMENT}throw Error("Unknown flow statement.")},e.Lua.math={},e.Lua.math_number=function(t){return[t=parseFloat(t.getFieldValue("NUM")),0>t?e.Lua.ORDER_UNARY:e.Lua.ORDER_ATOMIC]},e.Lua.math_arithmetic=function(t){var o={ADD:[" + ",e.Lua.ORDER_ADDITIVE],MINUS:[" - ",e.Lua.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Lua.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Lua.ORDER_MULTIPLICATIVE],POWER:[" ^ ",e.Lua.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.Lua.valueToCode(t,"A",o)||"0")+n+(t=e.Lua.valueToCode(t,"B",o)||"0"),o]},e.Lua.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return["-"+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_UNARY)||"0"),e.Lua.ORDER_UNARY];if("POW10"==o)return["10 ^ "+(t=e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_EXPONENTIATION)||"0"),e.Lua.ORDER_EXPONENTIATION];switch(t="ROUND"==o?e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_ADDITIVE)||"0":e.Lua.valueToCode(t,"NUM",e.Lua.ORDER_NONE)||"0",o){case"ABS":o="math.abs("+t+")";break;case"ROOT":o="math.sqrt("+t+")";break;case"LN":o="math.log("+t+")";break;case"LOG10":o="math.log("+t+", 10)";break;case"EXP":o="math.exp("+t+")";break;case"ROUND":o="math.floor("+t+" + .5)";break;case"ROUNDUP":o="math.ceil("+t+")";break;case"ROUNDDOWN":o="math.floor("+t+")";break;case"SIN":o="math.sin(math.rad("+t+"))";break;case"COS":o="math.cos(math.rad("+t+"))";break;case"TAN":o="math.tan(math.rad("+t+"))";break;case"ASIN":o="math.deg(math.asin("+t+"))";break;case"ACOS":o="math.deg(math.acos("+t+"))";break;case"ATAN":o="math.deg(math.atan("+t+"))";break;default:throw Error("Unknown math operator: "+o)}return[o,e.Lua.ORDER_HIGH]},e.Lua.math_constant=function(t){return{PI:["math.pi",e.Lua.ORDER_HIGH],E:["math.exp(1)",e.Lua.ORDER_HIGH],GOLDEN_RATIO:["(1 + math.sqrt(5)) / 2",e.Lua.ORDER_MULTIPLICATIVE],SQRT2:["math.sqrt(2)",e.Lua.ORDER_HIGH],SQRT1_2:["math.sqrt(1 / 2)",e.Lua.ORDER_HIGH],INFINITY:["math.huge",e.Lua.ORDER_HIGH]}[t.getFieldValue("CONSTANT")]},e.Lua.math_number_property=function(t){var o=e.Lua.valueToCode(t,"NUMBER_TO_CHECK",e.Lua.ORDER_MULTIPLICATIVE)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.Lua.provideFunction_("math_isPrime",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(n)","  -- https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if n == 2 or n == 3 then","    return true","  end","  -- False if n is NaN, negative, is 1, or not whole.","  -- And false if n is divisible by 2 or 3.","  if not(n > 1) or n % 1 ~= 0 or n % 2 == 0 or n % 3 == 0 then","    return false","  end","  -- Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for x = 6, math.sqrt(n) + 1.5, 6 do","    if n % (x - 1) == 0 or n % (x + 1) == 0 then","      return false","    end","  end","  return true","end"])+"("+o+")",e.Lua.ORDER_HIGH];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Lua.valueToCode(t,"DIVISOR",e.Lua.ORDER_MULTIPLICATIVE))||"0"==t)return["nil",e.Lua.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Lua.ORDER_RELATIONAL]},e.Lua.math_change=function(t){var o=e.Lua.valueToCode(t,"DELTA",e.Lua.ORDER_ADDITIVE)||"0";return(t=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = "+t+" + "+o+"\n"},e.Lua.math_round=e.Lua.math_single,e.Lua.math_trig=e.Lua.math_single,e.Lua.math_on_list=function(t){function o(){return e.Lua.provideFunction_("math_sum",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  local result = 0","  for _, v in ipairs(t) do","    result = result + v","  end","  return result","end"])}var n=t.getFieldValue("OP");switch(t=e.Lua.valueToCode(t,"LIST",e.Lua.ORDER_NONE)||"{}",n){case"SUM":n=o();break;case"MIN":n=e.Lua.provideFunction_("math_min",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  local result = math.huge","  for _, v in ipairs(t) do","    if v < result then","      result = v","    end","  end","  return result","end"]);break;case"AVERAGE":n=e.Lua.provideFunction_("math_average",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  return "+o()+"(t) / #t","end"]);break;case"MAX":n=e.Lua.provideFunction_("math_max",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return 0","  end","  local result = -math.huge","  for _, v in ipairs(t) do","    if v > result then","      result = v","    end","  end","  return result","end"]);break;case"MEDIAN":n=e.Lua.provideFunction_("math_median",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  -- Source: http://lua-users.org/wiki/SimpleStats","  if #t == 0 then","    return 0","  end","  local temp={}","  for _, v in ipairs(t) do",'    if type(v) == "number" then',"      table.insert(temp, v)","    end","  end","  table.sort(temp)","  if #temp % 2 == 0 then","    return (temp[#temp/2] + temp[(#temp/2)+1]) / 2","  else","    return temp[math.ceil(#temp/2)]","  end","end"]);break;case"MODE":n=e.Lua.provideFunction_("math_modes",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  -- Source: http://lua-users.org/wiki/SimpleStats","  local counts={}","  for _, v in ipairs(t) do","    if counts[v] == nil then","      counts[v] = 1","    else","      counts[v] = counts[v] + 1","    end","  end","  local biggestCount = 0","  for _, v  in pairs(counts) do","    if v > biggestCount then","      biggestCount = v","    end","  end","  local temp={}","  for k, v in pairs(counts) do","    if v == biggestCount then","      table.insert(temp, k)","    end","  end","  return temp","end"]);break;case"STD_DEV":n=e.Lua.provideFunction_("math_standard_deviation",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  local m","  local vm","  local total = 0","  local count = 0","  local result","  m = #t == 0 and 0 or "+o()+"(t) / #t","  for _, v in ipairs(t) do","    if type(v) == 'number' then","      vm = v - m","      total = total + (vm * vm)","      count = count + 1","    end","  end","  result = math.sqrt(total / (count-1))","  return result","end"]);break;case"RANDOM":n=e.Lua.provideFunction_("math_random_list",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(t)","  if #t == 0 then","    return nil","  end","  return t[math.random(#t)]","end"]);break;default:throw Error("Unknown operator: "+n)}return[n+"("+t+")",e.Lua.ORDER_HIGH]},e.Lua.math_modulo=function(t){return[(e.Lua.valueToCode(t,"DIVIDEND",e.Lua.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Lua.valueToCode(t,"DIVISOR",e.Lua.ORDER_MULTIPLICATIVE)||"0"),e.Lua.ORDER_MULTIPLICATIVE]},e.Lua.math_constrain=function(t){return["math.min(math.max("+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"0")+", "+(e.Lua.valueToCode(t,"LOW",e.Lua.ORDER_NONE)||"-math.huge")+"), "+(t=e.Lua.valueToCode(t,"HIGH",e.Lua.ORDER_NONE)||"math.huge")+")",e.Lua.ORDER_HIGH]},e.Lua.math_random_int=function(t){return["math.random("+(e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"0")+", "+(t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"0")+")",e.Lua.ORDER_HIGH]},e.Lua.math_random_float=function(t){return["math.random()",e.Lua.ORDER_HIGH]},e.Lua.math_atan2=function(t){var o=e.Lua.valueToCode(t,"X",e.Lua.ORDER_NONE)||"0";return["math.deg(math.atan2("+(e.Lua.valueToCode(t,"Y",e.Lua.ORDER_NONE)||"0")+", "+o+"))",e.Lua.ORDER_HIGH]},e.Lua.procedures={},e.Lua.procedures_defreturn=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.Lua.STATEMENT_PREFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_PREFIX,t)),e.Lua.STATEMENT_SUFFIX&&(n+=e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t)),n&&(n=e.Lua.prefixLines(n,e.Lua.INDENT));var i="";e.Lua.INFINITE_LOOP_TRAP&&(i=e.Lua.prefixLines(e.Lua.injectId(e.Lua.INFINITE_LOOP_TRAP,t),e.Lua.INDENT));var r=e.Lua.statementToCode(t,"STACK"),s=e.Lua.valueToCode(t,"RETURN",e.Lua.ORDER_NONE)||"",a="";r&&s&&(a=n),s?s=e.Lua.INDENT+"return "+s+"\n":r||(r="");for(var l=[],u=0;u<t.arguments_.length;u++)l[u]=e.Lua.variableDB_.getName(t.arguments_[u],e.Variables.NAME_TYPE);return n="function "+o+"("+l.join(", ")+")\n"+n+i+r+a+s+"end\n",n=e.Lua.scrub_(t,n),e.Lua.definitions_["%"+o]=n,null},e.Lua.procedures_defnoreturn=e.Lua.procedures_defreturn,e.Lua.procedures_callreturn=function(t){for(var o=e.Lua.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Lua.valueToCode(t,"ARG"+i,e.Lua.ORDER_NONE)||"nil";return[o+"("+n.join(", ")+")",e.Lua.ORDER_HIGH]},e.Lua.procedures_callnoreturn=function(t){return e.Lua.procedures_callreturn(t)[0]+"\n"},e.Lua.procedures_ifreturn=function(t){var o="if "+(e.Lua.valueToCode(t,"CONDITION",e.Lua.ORDER_NONE)||"false")+" then\n";return e.Lua.STATEMENT_SUFFIX&&(o+=e.Lua.prefixLines(e.Lua.injectId(e.Lua.STATEMENT_SUFFIX,t),e.Lua.INDENT)),t.hasReturnValue_?(t=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"nil",o+=e.Lua.INDENT+"return "+t+"\n"):o+=e.Lua.INDENT+"return\n",o+"end\n"},e.Lua.texts={},e.Lua.text=function(t){return[e.Lua.quote_(t.getFieldValue("TEXT")),e.Lua.ORDER_ATOMIC]},e.Lua.text_join=function(t){if(0==t.itemCount_)return["''",e.Lua.ORDER_ATOMIC];if(1==t.itemCount_)return["tostring("+(e.Lua.valueToCode(t,"ADD0",e.Lua.ORDER_NONE)||"''")+")",e.Lua.ORDER_HIGH];if(2==t.itemCount_){var o=e.Lua.valueToCode(t,"ADD0",e.Lua.ORDER_CONCATENATION)||"''";return[o+" .. "+(t=e.Lua.valueToCode(t,"ADD1",e.Lua.ORDER_CONCATENATION)||"''"),e.Lua.ORDER_CONCATENATION]}o=[];for(var n=0;n<t.itemCount_;n++)o[n]=e.Lua.valueToCode(t,"ADD"+n,e.Lua.ORDER_NONE)||"''";return[t="table.concat({"+o.join(", ")+"})",e.Lua.ORDER_HIGH]},e.Lua.text_append=function(t){var o=e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return o+" = "+o+" .. "+(t=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_CONCATENATION)||"''")+"\n"},e.Lua.text_length=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"''"),e.Lua.ORDER_UNARY]},e.Lua.text_isEmpty=function(t){return["#"+(e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_UNARY)||"''")+" == 0",e.Lua.ORDER_RELATIONAL]},e.Lua.text_indexOf=function(t){var o=e.Lua.valueToCode(t,"FIND",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"''";return[("FIRST"==t.getFieldValue("END")?e.Lua.provideFunction_("firstIndexOf",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, substr) ","  local i = string.find(str, substr, 1, true)","  if i == nil then","    return 0","  else","    return i","  end","end"]):e.Lua.provideFunction_("lastIndexOf",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, substr)","  local i = string.find(string.reverse(str), string.reverse(substr), 1, true)","  if i then","    return #str + 2 - i - #substr","  end","  return 0","end"]))+"("+n+", "+o+")",e.Lua.ORDER_HIGH]},e.Lua.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Lua.valueToCode(t,"AT","FROM_END"==o?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1";if(t=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"''","RANDOM"==o)t=(o=e.Lua.provideFunction_("text_random_letter",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str)","  local index = math.random(string.len(str))","  return string.sub(str, index, index)","end"]))+"("+t+")";else{if("FIRST"==o)n="1";else if("LAST"==o)n="-1";else if("FROM_START"!=o){if("FROM_END"!=o)throw Error("Unhandled option (text_charAt).");n="-"+n}n.match(/^-?\w*$/)?t="string.sub("+t+", "+n+", "+n+")":t=(o=e.Lua.provideFunction_("text_char_at",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str, index)","  return string.sub(str, index, index)","end"]))+"("+t+", "+n+")"}return[t,e.Lua.ORDER_HIGH]},e.Lua.text_getSubstring=function(t){var o=e.Lua.valueToCode(t,"STRING",e.Lua.ORDER_NONE)||"''",n=t.getFieldValue("WHERE1"),i=e.Lua.valueToCode(t,"AT1","FROM_END"==n?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1";if("FIRST"==n)n=1;else if("FROM_START"==n)n=i;else{if("FROM_END"!=n)throw Error("Unhandled option (text_getSubstring)");n="-"+i}if(i=t.getFieldValue("WHERE2"),t=e.Lua.valueToCode(t,"AT2","FROM_END"==i?e.Lua.ORDER_UNARY:e.Lua.ORDER_NONE)||"1","LAST"==i)t=-1;else if("FROM_START"!=i){if("FROM_END"!=i)throw Error("Unhandled option (text_getSubstring)");t="-"+t}return["string.sub("+o+", "+n+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_changeCase=function(t){var o=t.getFieldValue("CASE");if(t=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''","UPPERCASE"==o)var n="string.upper";else"LOWERCASE"==o?n="string.lower":"TITLECASE"==o&&(n=e.Lua.provideFunction_("text_titlecase",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(str)","  local buf = {}","  local inWord = false","  for i = 1, #str do","    local c = string.sub(str, i, i)","    if inWord then","      table.insert(buf, string.lower(c))",'      if string.find(c, "%s") then',"        inWord = false","      end","    else","      table.insert(buf, string.upper(c))","      inWord = true","    end","  end","  return table.concat(buf)","end"]));return[n+"("+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_trim=function(t){var o={LEFT:"^%s*(,-)",RIGHT:"(.-)%s*$",BOTH:"^%s*(.-)%s*$"}[t.getFieldValue("MODE")];return["string.gsub("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''")+', "'+o+'", "%1")',e.Lua.ORDER_HIGH]},e.Lua.text_print=function(t){return"print("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''")+")\n"},e.Lua.text_prompt_ext=function(t){var o=t.getField("TEXT")?e.Lua.quote_(t.getFieldValue("TEXT")):e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''";return o=e.Lua.provideFunction_("text_prompt",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(msg)","  io.write(msg)","  io.flush()","  return io.read()","end"])+"("+o+")","NUMBER"==t.getFieldValue("TYPE")&&(o="tonumber("+o+", 10)"),[o,e.Lua.ORDER_HIGH]},e.Lua.text_prompt=e.Lua.text_prompt_ext,e.Lua.text_count=function(t){var o=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''";return t=e.Lua.valueToCode(t,"SUB",e.Lua.ORDER_NONE)||"''",[e.Lua.provideFunction_("text_count",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle)","  if #needle == 0 then","    return #haystack + 1","  end","  local i = 1","  local count = 0","  while true do","    i = string.find(haystack, needle, i, true)","    if i == nil then","      break","    end","    count = count + 1","    i = i + #needle","  end","  return count","end"])+"("+o+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_replace=function(t){var o=e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_NONE)||"''",n=e.Lua.valueToCode(t,"FROM",e.Lua.ORDER_NONE)||"''";return t=e.Lua.valueToCode(t,"TO",e.Lua.ORDER_NONE)||"''",[e.Lua.provideFunction_("text_replace",["function "+e.Lua.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle, replacement)","  local buf = {}","  local i = 1","  while i <= #haystack do","    if string.sub(haystack, i, i + #needle - 1) == needle then","      for j = 1, #replacement do","        table.insert(buf, string.sub(replacement, j, j))","      end","      i = i + #needle","    else","      table.insert(buf, string.sub(haystack, i, i))","      i = i + 1","    end","  end","  return table.concat(buf)","end"])+"("+o+", "+n+", "+t+")",e.Lua.ORDER_HIGH]},e.Lua.text_reverse=function(t){return["string.reverse("+(e.Lua.valueToCode(t,"TEXT",e.Lua.ORDER_HIGH)||"''")+")",e.Lua.ORDER_HIGH]},e.Lua.variables={},e.Lua.variables_get=function(t){return[e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Lua.ORDER_ATOMIC]},e.Lua.variables_set=function(t){var o=e.Lua.valueToCode(t,"VALUE",e.Lua.ORDER_NONE)||"0";return e.Lua.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+"\n"},e.Lua.variablesDynamic={},e.Lua.variables_get_dynamic=e.Lua.variables_get,e.Lua.variables_set_dynamic=e.Lua.variables_set,e.Lua}},function(e,t){e.exports=function(e){"use strict";return e.Dart=new e.Generator("Dart"),e.Dart.addReservedWords("assert,break,case,catch,class,const,continue,default,do,else,enum,extends,false,final,finally,for,if,in,is,new,null,rethrow,return,super,switch,this,throw,true,try,var,void,while,with,print,identityHashCode,identical,BidirectionalIterator,Comparable,double,Function,int,Invocation,Iterable,Iterator,List,Map,Match,num,Pattern,RegExp,Set,StackTrace,String,StringSink,Type,bool,DateTime,Deprecated,Duration,Expando,Null,Object,RuneIterator,Runes,Stopwatch,StringBuffer,Symbol,Uri,Comparator,AbstractClassInstantiationError,ArgumentError,AssertionError,CastError,ConcurrentModificationError,CyclicInitializationError,Error,Exception,FallThroughError,FormatException,IntegerDivisionByZeroException,NoSuchMethodError,NullThrownError,OutOfMemoryError,RangeError,StackOverflowError,StateError,TypeError,UnimplementedError,UnsupportedError"),e.Dart.ORDER_ATOMIC=0,e.Dart.ORDER_UNARY_POSTFIX=1,e.Dart.ORDER_UNARY_PREFIX=2,e.Dart.ORDER_MULTIPLICATIVE=3,e.Dart.ORDER_ADDITIVE=4,e.Dart.ORDER_SHIFT=5,e.Dart.ORDER_BITWISE_AND=6,e.Dart.ORDER_BITWISE_XOR=7,e.Dart.ORDER_BITWISE_OR=8,e.Dart.ORDER_RELATIONAL=9,e.Dart.ORDER_EQUALITY=10,e.Dart.ORDER_LOGICAL_AND=11,e.Dart.ORDER_LOGICAL_OR=12,e.Dart.ORDER_IF_NULL=13,e.Dart.ORDER_CONDITIONAL=14,e.Dart.ORDER_CASCADE=15,e.Dart.ORDER_ASSIGNMENT=16,e.Dart.ORDER_NONE=99,e.Dart.init=function(t){e.Dart.definitions_=Object.create(null),e.Dart.functionNames_=Object.create(null),e.Dart.variableDB_?e.Dart.variableDB_.reset():e.Dart.variableDB_=new e.Names(e.Dart.RESERVED_WORDS_),e.Dart.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.Dart.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE));for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.Dart.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE));o.length&&(e.Dart.definitions_.variables="var "+o.join(", ")+";")},e.Dart.finish=function(t){t&&(t=e.Dart.prefixLines(t,e.Dart.INDENT)),t="main() {\n"+t+"}";var o,n=[],i=[];for(o in e.Dart.definitions_){var r=e.Dart.definitions_[o];r.match(/^import\s/)?n.push(r):i.push(r)}return delete e.Dart.definitions_,delete e.Dart.functionNames_,e.Dart.variableDB_.reset(),(n.join("\n")+"\n\n"+i.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+t},e.Dart.scrubNakedValue=function(e){return e+";\n"},e.Dart.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/\$/g,"\\$").replace(/'/g,"\\'"))+"'"},e.Dart.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Dart.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+e.Dart.prefixLines(r+"\n","/// "):i+e.Dart.prefixLines(r+"\n","// "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Dart.allNestedComments(r))&&(i+=e.Dart.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Dart.blockToCode(t))},e.Dart.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.Dart.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=n?e.Dart.valueToCode(t,o,e.Dart.ORDER_ADDITIVE)||s:i?e.Dart.valueToCode(t,o,e.Dart.ORDER_UNARY_PREFIX)||s:e.Dart.valueToCode(t,o,r)||s,e.isNumber(t))t=parseInt(t,10)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.Dart.ORDER_ADDITIVE}else 0>n&&(t=t+" - "+-n,a=e.Dart.ORDER_ADDITIVE);i&&(t=n?"-("+t+")":"-"+t,a=e.Dart.ORDER_UNARY_PREFIX),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.Dart.colour={},e.Dart.addReservedWords("Math"),e.Dart.colour_picker=function(t){return[e.Dart.quote_(t.getFieldValue("COLOUR")),e.Dart.ORDER_ATOMIC]},e.Dart.colour_random=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_random",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"() {","  String hex = '0123456789abcdef';","  var rnd = new Math.Random();","  return '#${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'","      '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}'","      '${hex[rnd.nextInt(16)]}${hex[rnd.nextInt(16)]}';","}"])+"()",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.colour_rgb=function(t){var o=e.Dart.valueToCode(t,"RED",e.Dart.ORDER_NONE)||0,n=e.Dart.valueToCode(t,"GREEN",e.Dart.ORDER_NONE)||0;return t=e.Dart.valueToCode(t,"BLUE",e.Dart.ORDER_NONE)||0,e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_rgb",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num r, num g, num b) {","  num rn = (Math.max(Math.min(r, 100), 0) * 2.55).round();","  String rs = rn.toInt().toRadixString(16);","  rs = '0$rs';","  rs = rs.substring(rs.length - 2);","  num gn = (Math.max(Math.min(g, 100), 0) * 2.55).round();","  String gs = gn.toInt().toRadixString(16);","  gs = '0$gs';","  gs = gs.substring(gs.length - 2);","  num bn = (Math.max(Math.min(b, 100), 0) * 2.55).round();","  String bs = bn.toInt().toRadixString(16);","  bs = '0$bs';","  bs = bs.substring(bs.length - 2);","  return '#$rs$gs$bs';","}"])+"("+o+", "+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.colour_blend=function(t){var o=e.Dart.valueToCode(t,"COLOUR1",e.Dart.ORDER_NONE)||"'#000000'",n=e.Dart.valueToCode(t,"COLOUR2",e.Dart.ORDER_NONE)||"'#000000'";return t=e.Dart.valueToCode(t,"RATIO",e.Dart.ORDER_NONE)||.5,e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("colour_blend",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String c1, String c2, num ratio) {","  ratio = Math.max(Math.min(ratio, 1), 0);","  int r1 = int.parse('0x${c1.substring(1, 3)}');","  int g1 = int.parse('0x${c1.substring(3, 5)}');","  int b1 = int.parse('0x${c1.substring(5, 7)}');","  int r2 = int.parse('0x${c2.substring(1, 3)}');","  int g2 = int.parse('0x${c2.substring(3, 5)}');","  int b2 = int.parse('0x${c2.substring(5, 7)}');","  num rn = (r1 * (1 - ratio) + r2 * ratio).round();","  String rs = rn.toInt().toRadixString(16);","  num gn = (g1 * (1 - ratio) + g2 * ratio).round();","  String gs = gn.toInt().toRadixString(16);","  num bn = (b1 * (1 - ratio) + b2 * ratio).round();","  String bs = bn.toInt().toRadixString(16);","  rs = '0$rs';","  rs = rs.substring(rs.length - 2);","  gs = '0$gs';","  gs = gs.substring(gs.length - 2);","  bs = '0$bs';","  bs = bs.substring(bs.length - 2);","  return '#$rs$gs$bs';","}"])+"("+o+", "+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists={},e.Dart.addReservedWords("Math"),e.Dart.lists_create_empty=function(t){return["[]",e.Dart.ORDER_ATOMIC]},e.Dart.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Dart.valueToCode(t,"ADD"+n,e.Dart.ORDER_NONE)||"null";return["["+o.join(", ")+"]",e.Dart.ORDER_ATOMIC]},e.Dart.lists_repeat=function(t){var o=e.Dart.valueToCode(t,"ITEM",e.Dart.ORDER_NONE)||"null";return["new List.filled("+(e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_NONE)||"0")+", "+o+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_length=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+".length",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_isEmpty=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+".isEmpty",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.Dart.valueToCode(t,"FIND",e.Dart.ORDER_NONE)||"''";return o=(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"[]")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Dart.ORDER_ADDITIVE]:[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_getIndex=function(t){function o(){var t=e.Dart.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE),o="List "+t+" = "+r+";\n";return r=t,o}var n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Dart.valueToCode(t,"VALUE","RANDOM"==i||"FROM_END"==i?e.Dart.ORDER_NONE:e.Dart.ORDER_UNARY_POSTFIX)||"[]";if(("RANDOM"!=i||"REMOVE"!=n)&&"FROM_END"!=i||r.match(/^\w+$/))switch(i){case"FIRST":if("GET"==n)return[r+".first",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeAt(0)",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeAt(0);\n";break;case"LAST":if("GET"==n)return[r+".last",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeLast()",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeLast();\n";break;case"FROM_START":if(i=e.Dart.getAdjusted(t,"AT"),"GET"==n)return[r+"["+i+"]",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[r+".removeAt("+i+")",e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return r+".removeAt("+i+");\n";break;case"FROM_END":if(i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),"GET"==n)return[r+"["+r+".length - "+i+"]",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n||"REMOVE"==n){if(t=r+".removeAt("+r+".length - "+i+")","GET_REMOVE"==n)return[t,e.Dart.ORDER_UNARY_POSTFIX];if("REMOVE"==n)return t+";\n"}break;case"RANDOM":if(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;","REMOVE"==n)return"int "+(n=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n"+r+".removeAt("+n+");\n";if("GET"==n)return[(n=e.Dart.provideFunction_("lists_get_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {","  int x = new Math.Random().nextInt(my_list.length);","  return my_list[x];","}"]))+"("+r+")",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return[(n=e.Dart.provideFunction_("lists_remove_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list) {","  int x = new Math.Random().nextInt(my_list.length);","  return my_list.removeAt(x);","}"]))+"("+r+")",e.Dart.ORDER_UNARY_POSTFIX]}else{if("RANDOM"==i)return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",(t=o())+"int "+(n=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n"+r+".removeAt("+n+");\n";if("REMOVE"==n)return i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),(t=o())+(r+".removeAt(")+r+".length - "+i+");\n";if("GET"==n)return i=e.Dart.getAdjusted(t,"AT",1),[(n=e.Dart.provideFunction_("lists_get_from_end",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {","  x = my_list.length - x;","  return my_list[x];","}"]))+"("+r+", "+i+")",e.Dart.ORDER_UNARY_POSTFIX];if("GET_REMOVE"==n)return i=e.Dart.getAdjusted(t,"AT",1),[(n=e.Dart.provideFunction_("lists_remove_from_end",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List my_list, num x) {","  x = my_list.length - x;","  return my_list.removeAt(x);","}"]))+"("+r+", "+i+")",e.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled combination (lists_getIndex).")},e.Dart.lists_setIndex=function(t){function o(){if(r.match(/^\w+$/))return"";var t=e.Dart.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE),o="List "+t+" = "+r+";\n";return r=t,o}var n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_UNARY_POSTFIX)||"[]",s=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_ASSIGNMENT)||"null";switch(i){case"FIRST":if("SET"==n)return r+"[0] = "+s+";\n";if("INSERT"==n)return r+".insert(0, "+s+");\n";break;case"LAST":if("SET"==n)return(t=o())+(r+"[")+r+".length - 1] = "+s+";\n";if("INSERT"==n)return r+".add("+s+");\n";break;case"FROM_START":if(i=e.Dart.getAdjusted(t,"AT"),"SET"==n)return r+"["+i+"] = "+s+";\n";if("INSERT"==n)return r+".insert("+i+", "+s+");\n";break;case"FROM_END":if(i=e.Dart.getAdjusted(t,"AT",1,!1,e.Dart.ORDER_ADDITIVE),t=o(),"SET"==n)return t+(r+"[")+r+".length - "+i+"] = "+s+";\n";if("INSERT"==n)return t+(r+".insert(")+r+".length - "+i+", "+s+");\n";break;case"RANDOM":if(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",t=o(),t+="int "+(i=e.Dart.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = new Math.Random().nextInt("+r+".length);\n","SET"==n)return t+(r+"[")+i+"] = "+s+";\n";if("INSERT"==n)return t+(r+".insert(")+i+", "+s+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.Dart.lists_getSublist=function(t){var o=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_UNARY_POSTFIX)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if(o.match(/^\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.Dart.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.Dart.getAdjusted(t,"AT1",1,!1,e.Dart.ORDER_ADDITIVE));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":var s=e.Dart.getAdjusted(t,"AT2",1);break;case"FROM_END":s=o+".length - "+(s=e.Dart.getAdjusted(t,"AT2",0,!1,e.Dart.ORDER_ADDITIVE));break;case"LAST":break;default:throw Error("Unhandled option (lists_getSublist).")}t="LAST"==i?o+".sublist("+r+")":o+".sublist("+r+", "+s+")"}else r=e.Dart.getAdjusted(t,"AT1"),s=e.Dart.getAdjusted(t,"AT2"),t=e.Dart.provideFunction_("lists_get_sublist",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String where1, num at1, String where2, num at2) {","  int getAt(String where, num at) {","    if (where == 'FROM_END') {","      at = list.length - 1 - at;","    } else if (where == 'FIRST') {","      at = 0;","    } else if (where == 'LAST') {","      at = list.length - 1;","    } else if (where != 'FROM_START') {","      throw 'Unhandled option (lists_getSublist).';","    }","    return at;","  }","  at1 = getAt(where1, at1);","  at2 = getAt(where2, at2) + 1;","  return list.sublist(at1, at2);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+s+")";return[t,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_sort=function(t){var o=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.Dart.provideFunction_("lists_sort",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List list, String type, int direction) {","  var compareFuncs = {",'    "NUMERIC": (a, b) => (direction * a.compareTo(b)).toInt(),','    "TEXT": (a, b) => direction * a.toString().compareTo(b.toString()),','    "IGNORE_CASE": ',"       (a, b) => direction * ","      a.toString().toLowerCase().compareTo(b.toString().toLowerCase())","  };","  list = new List.from(list);","  var compare = compareFuncs[type];","  list.sort(compare);","  return list;","}"])+"("+o+', "'+t+'", '+n+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_split=function(t){var o=e.Dart.valueToCode(t,"INPUT",e.Dart.ORDER_UNARY_POSTFIX),n=e.Dart.valueToCode(t,"DELIM",e.Dart.ORDER_NONE)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="split";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="[]"),t="join"}return[o+"."+t+"("+n+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.lists_reverse=function(t){return["new List.from("+(e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]")+".reversed)",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.logic={},e.Dart.controls_if=function(t){var o=0,n="";e.Dart.STATEMENT_PREFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t));do{var i=e.Dart.valueToCode(t,"IF"+o,e.Dart.ORDER_NONE)||"false",r=e.Dart.statementToCode(t,"DO"+o);e.Dart.STATEMENT_SUFFIX&&(r=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)+r),n+=(0<o?"else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Dart.STATEMENT_SUFFIX)&&(r=e.Dart.statementToCode(t,"ELSE"),e.Dart.STATEMENT_SUFFIX&&(r=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.Dart.controls_ifelse=e.Dart.controls_if,e.Dart.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.Dart.ORDER_EQUALITY:e.Dart.ORDER_RELATIONAL;return[(e.Dart.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.Dart.valueToCode(t,"B",n)||"0"),n]},e.Dart.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.Dart.ORDER_LOGICAL_AND:e.Dart.ORDER_LOGICAL_OR,i=e.Dart.valueToCode(t,"A",n);if(t=e.Dart.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.Dart.logic_negate=function(t){var o=e.Dart.ORDER_UNARY_PREFIX;return["!"+(e.Dart.valueToCode(t,"BOOL",o)||"true"),o]},e.Dart.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.Dart.ORDER_ATOMIC]},e.Dart.logic_null=function(t){return["null",e.Dart.ORDER_ATOMIC]},e.Dart.logic_ternary=function(t){return[(e.Dart.valueToCode(t,"IF",e.Dart.ORDER_CONDITIONAL)||"false")+" ? "+(e.Dart.valueToCode(t,"THEN",e.Dart.ORDER_CONDITIONAL)||"null")+" : "+(t=e.Dart.valueToCode(t,"ELSE",e.Dart.ORDER_CONDITIONAL)||"null"),e.Dart.ORDER_CONDITIONAL]},e.Dart.loops={},e.Dart.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.Dart.valueToCode(t,"TIMES",e.Dart.ORDER_ASSIGNMENT)||"0",n=e.Dart.statementToCode(t,"DO");n=e.Dart.addLoopTrap(n,t),t="";var i=e.Dart.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+="var "+(r=e.Dart.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for (int "+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.Dart.controls_repeat=e.Dart.controls_repeat_ext,e.Dart.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Dart.valueToCode(t,"BOOL",o?e.Dart.ORDER_UNARY_PREFIX:e.Dart.ORDER_NONE)||"false",i=e.Dart.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.Dart.addLoopTrap(i,t))+"}\n"},e.Dart.controls_for=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_ASSIGNMENT)||"0",i=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_ASSIGNMENT)||"0",r=e.Dart.valueToCode(t,"BY",e.Dart.ORDER_ASSIGNMENT)||"1",s=e.Dart.statementToCode(t,"DO");if(s=e.Dart.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+="var "+(a=e.Dart.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+="var "+(n=e.Dart.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+="num "+(i=e.Dart.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"("+r+").abs();\n")+"if ("+a+" > "+n+") {\n"+(e.Dart.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.Dart.controls_forEach=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_ASSIGNMENT)||"[]",i=e.Dart.statementToCode(t,"DO");return"for (var "+o+" in "+n+") {\n"+(i=e.Dart.addLoopTrap(i,t))+"}\n"},e.Dart.controls_flow_statements=function(t){var o="";if(e.Dart.STATEMENT_PREFIX&&(o+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t)),e.Dart.STATEMENT_SUFFIX&&(o+=e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t)),e.Dart.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.Dart.math={},e.Dart.addReservedWords("Math"),e.Dart.math_number=function(t){if(1/0==(t=parseFloat(t.getFieldValue("NUM")))){t="double.infinity";var o=e.Dart.ORDER_UNARY_POSTFIX}else-1/0==t?(t="-double.infinity",o=e.Dart.ORDER_UNARY_PREFIX):o=0>t?e.Dart.ORDER_UNARY_PREFIX:e.Dart.ORDER_ATOMIC;return[t,o]},e.Dart.math_arithmetic=function(t){var o={ADD:[" + ",e.Dart.ORDER_ADDITIVE],MINUS:[" - ",e.Dart.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Dart.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Dart.ORDER_MULTIPLICATIVE],POWER:[null,e.Dart.ORDER_NONE]}[t.getFieldValue("OP")],n=o[0];o=o[1];var i=e.Dart.valueToCode(t,"A",o)||"0";return t=e.Dart.valueToCode(t,"B",o)||"0",n?[i+n+t,o]:(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.pow("+i+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX])},e.Dart.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_UNARY_PREFIX)||"0")[0]&&(t=" "+t),["-"+t,e.Dart.ORDER_UNARY_PREFIX];switch(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",t="ABS"==o||"ROUND"==o.substring(0,5)?e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_UNARY_POSTFIX)||"0":"SIN"==o||"COS"==o||"TAN"==o?e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_MULTIPLICATIVE)||"0":e.Dart.valueToCode(t,"NUM",e.Dart.ORDER_NONE)||"0",o){case"ABS":var n=t+".abs()";break;case"ROOT":n="Math.sqrt("+t+")";break;case"LN":n="Math.log("+t+")";break;case"EXP":n="Math.exp("+t+")";break;case"POW10":n="Math.pow(10,"+t+")";break;case"ROUND":n=t+".round()";break;case"ROUNDUP":n=t+".ceil()";break;case"ROUNDDOWN":n=t+".floor()";break;case"SIN":n="Math.sin("+t+" / 180 * Math.pi)";break;case"COS":n="Math.cos("+t+" / 180 * Math.pi)";break;case"TAN":n="Math.tan("+t+" / 180 * Math.pi)"}if(n)return[n,e.Dart.ORDER_UNARY_POSTFIX];switch(o){case"LOG10":n="Math.log("+t+") / Math.log(10)";break;case"ASIN":n="Math.asin("+t+") / Math.pi * 180";break;case"ACOS":n="Math.acos("+t+") / Math.pi * 180";break;case"ATAN":n="Math.atan("+t+") / Math.pi * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.math_constant=function(t){var o={PI:["Math.pi",e.Dart.ORDER_UNARY_POSTFIX],E:["Math.e",e.Dart.ORDER_UNARY_POSTFIX],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",e.Dart.ORDER_MULTIPLICATIVE],SQRT2:["Math.sqrt2",e.Dart.ORDER_UNARY_POSTFIX],SQRT1_2:["Math.sqrt1_2",e.Dart.ORDER_UNARY_POSTFIX],INFINITY:["double.infinity",e.Dart.ORDER_ATOMIC]};return"INFINITY"!=(t=t.getFieldValue("CONSTANT"))&&(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;"),o[t]},e.Dart.math_number_property=function(t){var o=e.Dart.valueToCode(t,"NUMBER_TO_CHECK",e.Dart.ORDER_MULTIPLICATIVE);if(!o)return["false",e.Dart.ORDER_ATOMIC];var n=t.getFieldValue("PROPERTY");if("PRIME"==n)return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[e.Dart.provideFunction_("math_isPrime",["bool "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if (n == 2 || n == 3) {","    return true;","  }","  // False if n is null, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (n == null || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {","    if (n % (x - 1) == 0 || n % (x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.Dart.ORDER_UNARY_POSTFIX];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Dart.valueToCode(t,"DIVISOR",e.Dart.ORDER_MULTIPLICATIVE)))return["false",e.Dart.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Dart.ORDER_EQUALITY]},e.Dart.math_change=function(t){var o=e.Dart.valueToCode(t,"DELTA",e.Dart.ORDER_ADDITIVE)||"0";return(t=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = ("+t+" is num ? "+t+" : 0) + "+o+";\n"},e.Dart.math_round=e.Dart.math_single,e.Dart.math_trig=e.Dart.math_single,e.Dart.math_on_list=function(t){var o=t.getFieldValue("OP");switch(t=e.Dart.valueToCode(t,"LIST",e.Dart.ORDER_NONE)||"[]",o){case"SUM":o=(o=e.Dart.provideFunction_("math_sum",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  num sumVal = 0;","  myList.forEach((num entry) {sumVal += entry;});","  return sumVal;","}"]))+"("+t+")";break;case"MIN":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_min",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  if (myList.isEmpty) return null;","  num minVal = myList[0];","  myList.forEach((num entry) {minVal = Math.min(minVal, entry);});","  return minVal;","}"]))+"("+t+")";break;case"MAX":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_max",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List<num> myList) {","  if (myList.isEmpty) return null;","  num maxVal = myList[0];","  myList.forEach((num entry) {maxVal = Math.max(maxVal, entry);});","  return maxVal;","}"]))+"("+t+")";break;case"AVERAGE":o=(o=e.Dart.provideFunction_("math_mean",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only.","  List localList = new List.from(myList);","  localList.removeWhere((a) => a is! num);","  if (localList.isEmpty) return null;","  num sumVal = 0;","  localList.forEach((var entry) {sumVal += entry;});","  return sumVal / localList.length;","}"]))+"("+t+")";break;case"MEDIAN":o=(o=e.Dart.provideFunction_("math_median",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only, then sort, then return middle value","  // or the average of two middle values if list has an even number of elements.","  List localList = new List.from(myList);","  localList.removeWhere((a) => a is! num);","  if (localList.isEmpty) return null;","  localList.sort((a, b) => (a - b));","  int index = localList.length ~/ 2;","  if (localList.length % 2 == 1) {","    return localList[index];","  } else {","    return (localList[index - 1] + localList[index]) / 2;","  }","}"]))+"("+t+")";break;case"MODE":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_modes",["List "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List values) {","  List modes = [];","  List counts = [];","  int maxCount = 0;","  for (int i = 0; i < values.length; i++) {","    var value = values[i];","    bool found = false;","    int thisCount;","    for (int j = 0; j < counts.length; j++) {","      if (counts[j][0] == value) {","        thisCount = ++counts[j][1];","        found = true;","        break;","      }","    }","    if (!found) {","      counts.add([value, 1]);","      thisCount = 1;","    }","    maxCount = Math.max(thisCount, maxCount);","  }","  for (int j = 0; j < counts.length; j++) {","    if (counts[j][1] == maxCount) {","        modes.add(counts[j][0]);","    }","  }","  return modes;","}"]))+"("+t+")";break;case"STD_DEV":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_standard_deviation",["num "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  // First filter list for numbers only.","  List numbers = new List.from(myList);","  numbers.removeWhere((a) => a is! num);","  if (numbers.isEmpty) return null;","  num n = numbers.length;","  num sum = 0;","  numbers.forEach((x) => sum += x);","  num mean = sum / n;","  num sumSquare = 0;","  numbers.forEach((x) => sumSquare += Math.pow(x - mean, 2));","  return Math.sqrt(sumSquare / n);","}"]))+"("+t+")";break;case"RANDOM":e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o=(o=e.Dart.provideFunction_("math_random_item",["dynamic "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(List myList) {","  int x = new Math.Random().nextInt(myList.length);","  return myList[x];","}"]))+"("+t+")";break;default:throw Error("Unknown operator: "+o)}return[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_modulo=function(t){return[(e.Dart.valueToCode(t,"DIVIDEND",e.Dart.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Dart.valueToCode(t,"DIVISOR",e.Dart.ORDER_MULTIPLICATIVE)||"0"),e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.math_constrain=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["Math.min(Math.max("+(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_NONE)||"0")+", "+(e.Dart.valueToCode(t,"LOW",e.Dart.ORDER_NONE)||"0")+"), "+(t=e.Dart.valueToCode(t,"HIGH",e.Dart.ORDER_NONE)||"double.infinity")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_random_int=function(t){e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var o=e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_NONE)||"0";return t=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_NONE)||"0",[e.Dart.provideFunction_("math_random_int",["int "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(num a, num b) {","  if (a > b) {","    // Swap a and b to ensure a is smaller.","    num c = a;","    a = b;","    b = c;","  }","  return new Math.Random().nextInt(b - a + 1) + a;","}"])+"("+o+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_random_float=function(t){return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",["new Math.Random().nextDouble()",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.math_atan2=function(t){e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;";var o=e.Dart.valueToCode(t,"X",e.Dart.ORDER_NONE)||"0";return["Math.atan2("+(e.Dart.valueToCode(t,"Y",e.Dart.ORDER_NONE)||"0")+", "+o+") / Math.pi * 180",e.Dart.ORDER_MULTIPLICATIVE]},e.Dart.procedures={},e.Dart.procedures_defreturn=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n="";e.Dart.STATEMENT_PREFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_PREFIX,t)),e.Dart.STATEMENT_SUFFIX&&(n+=e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t)),n&&(n=e.Dart.prefixLines(n,e.Dart.INDENT));var i="";e.Dart.INFINITE_LOOP_TRAP&&(i=e.Dart.prefixLines(e.Dart.injectId(e.Dart.INFINITE_LOOP_TRAP,t),e.Dart.INDENT));var r=e.Dart.statementToCode(t,"STACK"),s=e.Dart.valueToCode(t,"RETURN",e.Dart.ORDER_NONE)||"",a="";r&&s&&(a=n),s&&(s=e.Dart.INDENT+"return "+s+";\n");for(var l=s?"dynamic":"void",u=[],c=0;c<t.arguments_.length;c++)u[c]=e.Dart.variableDB_.getName(t.arguments_[c],e.Variables.NAME_TYPE);return n=l+" "+o+"("+u.join(", ")+") {\n"+n+i+r+a+s+"}",n=e.Dart.scrub_(t,n),e.Dart.definitions_["%"+o]=n,null},e.Dart.procedures_defnoreturn=e.Dart.procedures_defreturn,e.Dart.procedures_callreturn=function(t){for(var o=e.Dart.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Dart.valueToCode(t,"ARG"+i,e.Dart.ORDER_NONE)||"null";return[o+"("+n.join(", ")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.procedures_callnoreturn=function(t){return e.Dart.procedures_callreturn(t)[0]+";\n"},e.Dart.procedures_ifreturn=function(t){var o="if ("+(e.Dart.valueToCode(t,"CONDITION",e.Dart.ORDER_NONE)||"false")+") {\n";return e.Dart.STATEMENT_SUFFIX&&(o+=e.Dart.prefixLines(e.Dart.injectId(e.Dart.STATEMENT_SUFFIX,t),e.Dart.INDENT)),t.hasReturnValue_?(t=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_NONE)||"null",o+=e.Dart.INDENT+"return "+t+";\n"):o+=e.Dart.INDENT+"return;\n",o+"}\n"},e.Dart.texts={},e.Dart.addReservedWords("Html,Math"),e.Dart.text=function(t){return[e.Dart.quote_(t.getFieldValue("TEXT")),e.Dart.ORDER_ATOMIC]},e.Dart.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.Dart.ORDER_ATOMIC];case 1:return[(e.Dart.valueToCode(t,"ADD0",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".toString()",e.Dart.ORDER_UNARY_POSTFIX];default:for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Dart.valueToCode(t,"ADD"+n,e.Dart.ORDER_NONE)||"''";return[t="["+o.join(",")+"].join()",e.Dart.ORDER_UNARY_POSTFIX]}},e.Dart.text_append=function(t){var o=e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return o+" = ["+o+", "+(t=e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+"].join();\n"},e.Dart.text_length=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".length",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_isEmpty=function(t){return[(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".isEmpty",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"indexOf":"lastIndexOf",n=e.Dart.valueToCode(t,"FIND",e.Dart.ORDER_NONE)||"''";return o=(e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Dart.ORDER_ADDITIVE]:[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_UNARY_POSTFIX)||"''";switch(o){case"FIRST":return[n+"[0]",e.Dart.ORDER_UNARY_POSTFIX];case"FROM_START":return[n+"["+(t=e.Dart.getAdjusted(t,"AT"))+"]",e.Dart.ORDER_UNARY_POSTFIX];case"LAST":case"FROM_END":return t=e.Dart.getAdjusted(t,"AT",1),[(o=e.Dart.provideFunction_("text_get_from_end",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text, num x) {","  return text[text.length - x];","}"]))+"("+n+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX];case"RANDOM":return e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",[(o=e.Dart.provideFunction_("text_random_letter",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text) {","  int x = new Math.Random().nextInt(text.length);","  return text[x];","}"]))+"("+n+")",e.Dart.ORDER_UNARY_POSTFIX]}throw Error("Unhandled option (text_charAt).")},e.Dart.text_getSubstring=function(t){var o=e.Dart.valueToCode(t,"STRING",e.Dart.ORDER_UNARY_POSTFIX)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"==n&&"LAST"==i)t=o;else if(o.match(/^'?\w+'?$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.Dart.getAdjusted(t,"AT1");break;case"FROM_END":r=o+".length - "+(r=e.Dart.getAdjusted(t,"AT1",1,!1,e.Dart.ORDER_ADDITIVE));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (text_getSubstring).")}switch(i){case"FROM_START":var s=e.Dart.getAdjusted(t,"AT2",1);break;case"FROM_END":s=o+".length - "+(s=e.Dart.getAdjusted(t,"AT2",0,!1,e.Dart.ORDER_ADDITIVE));break;case"LAST":break;default:throw Error("Unhandled option (text_getSubstring).")}t="LAST"==i?o+".substring("+r+")":o+".substring("+r+", "+s+")"}else r=e.Dart.getAdjusted(t,"AT1"),s=e.Dart.getAdjusted(t,"AT2"),t=e.Dart.provideFunction_("text_get_substring",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String text, String where1, num at1, String where2, num at2) {","  int getAt(String where, num at) {","    if (where == 'FROM_END') {","      at = text.length - 1 - at;","    } else if (where == 'FIRST') {","      at = 0;","    } else if (where == 'LAST') {","      at = text.length - 1;","    } else if (where != 'FROM_START') {","      throw 'Unhandled option (text_getSubstring).';","    }","    return at;","  }","  at1 = getAt(where1, at1);","  at2 = getAt(where2, at2) + 1;","  return text.substring(at1, at2);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+s+")";return[t,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_changeCase=function(t){var o={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[t.getFieldValue("CASE")];return t=e.Dart.valueToCode(t,"TEXT",o?e.Dart.ORDER_UNARY_POSTFIX:e.Dart.ORDER_NONE)||"''",[o?t+o:e.Dart.provideFunction_("text_toTitleCase",["String "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String str) {","  RegExp exp = new RegExp(r'\\b');","  List<String> list = str.split(exp);","  final title = new StringBuffer();","  for (String part in list) {","    if (part.length > 0) {","      title.write(part[0].toUpperCase());","      if (part.length > 0) {","        title.write(part.substring(1).toLowerCase());","      }","    }","  }","  return title.toString();","}"])+"("+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_trim=function(t){var o={LEFT:".replaceFirst(new RegExp(r'^\\s+'), '')",RIGHT:".replaceFirst(new RegExp(r'\\s+$'), '')",BOTH:".trim()"}[t.getFieldValue("MODE")];return[(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_print=function(t){return"print("+(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+");\n"},e.Dart.text_prompt_ext=function(t){e.Dart.definitions_.import_dart_html="import 'dart:html' as Html;";var o="Html.prompt("+(t.getField("TEXT")?e.Dart.quote_(t.getFieldValue("TEXT")):e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_NONE)||"''")+", '')";return"NUMBER"==t.getFieldValue("TYPE")&&(e.Dart.definitions_.import_dart_math="import 'dart:math' as Math;",o="Math.parseDouble("+o+")"),[o,e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_prompt=e.Dart.text_prompt_ext,e.Dart.text_count=function(t){var o=e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''";return t=e.Dart.valueToCode(t,"SUB",e.Dart.ORDER_NONE)||"''",[e.Dart.provideFunction_("text_count",["int "+e.Dart.FUNCTION_NAME_PLACEHOLDER_+"(String haystack, String needle) {","  if (needle.length == 0) {","    return haystack.length + 1;","  }","  int index = 0;","  int count = 0;","  while (index != -1) {","    index = haystack.indexOf(needle, index);","    if (index != -1) {","      count++;","     index += needle.length;","    }","  }","  return count;","}"])+"("+o+", "+t+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_replace=function(t){return[(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".replaceAll("+(e.Dart.valueToCode(t,"FROM",e.Dart.ORDER_NONE)||"''")+", "+(t=e.Dart.valueToCode(t,"TO",e.Dart.ORDER_NONE)||"''")+")",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.text_reverse=function(t){return["new String.fromCharCodes("+(e.Dart.valueToCode(t,"TEXT",e.Dart.ORDER_UNARY_POSTFIX)||"''")+".runes.toList().reversed)",e.Dart.ORDER_UNARY_POSTFIX]},e.Dart.variables={},e.Dart.variables_get=function(t){return[e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Dart.ORDER_ATOMIC]},e.Dart.variables_set=function(t){var o=e.Dart.valueToCode(t,"VALUE",e.Dart.ORDER_ASSIGNMENT)||"0";return e.Dart.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.Dart.variablesDynamic={},e.Dart.variables_get_dynamic=e.Dart.variables_get,e.Dart.variables_set_dynamic=e.Dart.variables_set,e.Dart}},function(e,t){e.exports=function(e){"use strict";return e.PHP=new e.Generator("PHP"),e.PHP.addReservedWords("__halt_compiler,abstract,and,array,as,break,callable,case,catch,class,clone,const,continue,declare,default,die,do,echo,else,elseif,empty,enddeclare,endfor,endforeach,endif,endswitch,endwhile,eval,exit,extends,final,for,foreach,function,global,goto,if,implements,include,include_once,instanceof,insteadof,interface,isset,list,namespace,new,or,print,private,protected,public,require,require_once,return,static,switch,throw,trait,try,unset,use,var,while,xor,PHP_VERSION,PHP_MAJOR_VERSION,PHP_MINOR_VERSION,PHP_RELEASE_VERSION,PHP_VERSION_ID,PHP_EXTRA_VERSION,PHP_ZTS,PHP_DEBUG,PHP_MAXPATHLEN,PHP_OS,PHP_SAPI,PHP_EOL,PHP_INT_MAX,PHP_INT_SIZE,DEFAULT_INCLUDE_PATH,PEAR_INSTALL_DIR,PEAR_EXTENSION_DIR,PHP_EXTENSION_DIR,PHP_PREFIX,PHP_BINDIR,PHP_BINARY,PHP_MANDIR,PHP_LIBDIR,PHP_DATADIR,PHP_SYSCONFDIR,PHP_LOCALSTATEDIR,PHP_CONFIG_FILE_PATH,PHP_CONFIG_FILE_SCAN_DIR,PHP_SHLIB_SUFFIX,E_ERROR,E_WARNING,E_PARSE,E_NOTICE,E_CORE_ERROR,E_CORE_WARNING,E_COMPILE_ERROR,E_COMPILE_WARNING,E_USER_ERROR,E_USER_WARNING,E_USER_NOTICE,E_DEPRECATED,E_USER_DEPRECATED,E_ALL,E_STRICT,__COMPILER_HALT_OFFSET__,TRUE,FALSE,NULL,__CLASS__,__DIR__,__FILE__,__FUNCTION__,__LINE__,__METHOD__,__NAMESPACE__,__TRAIT__"),e.PHP.ORDER_ATOMIC=0,e.PHP.ORDER_CLONE=1,e.PHP.ORDER_NEW=1,e.PHP.ORDER_MEMBER=2.1,e.PHP.ORDER_FUNCTION_CALL=2.2,e.PHP.ORDER_POWER=3,e.PHP.ORDER_INCREMENT=4,e.PHP.ORDER_DECREMENT=4,e.PHP.ORDER_BITWISE_NOT=4,e.PHP.ORDER_CAST=4,e.PHP.ORDER_SUPPRESS_ERROR=4,e.PHP.ORDER_INSTANCEOF=5,e.PHP.ORDER_LOGICAL_NOT=6,e.PHP.ORDER_UNARY_PLUS=7.1,e.PHP.ORDER_UNARY_NEGATION=7.2,e.PHP.ORDER_MULTIPLICATION=8.1,e.PHP.ORDER_DIVISION=8.2,e.PHP.ORDER_MODULUS=8.3,e.PHP.ORDER_ADDITION=9.1,e.PHP.ORDER_SUBTRACTION=9.2,e.PHP.ORDER_STRING_CONCAT=9.3,e.PHP.ORDER_BITWISE_SHIFT=10,e.PHP.ORDER_RELATIONAL=11,e.PHP.ORDER_EQUALITY=12,e.PHP.ORDER_REFERENCE=13,e.PHP.ORDER_BITWISE_AND=13,e.PHP.ORDER_BITWISE_XOR=14,e.PHP.ORDER_BITWISE_OR=15,e.PHP.ORDER_LOGICAL_AND=16,e.PHP.ORDER_LOGICAL_OR=17,e.PHP.ORDER_IF_NULL=18,e.PHP.ORDER_CONDITIONAL=19,e.PHP.ORDER_ASSIGNMENT=20,e.PHP.ORDER_LOGICAL_AND_WEAK=21,e.PHP.ORDER_LOGICAL_XOR=22,e.PHP.ORDER_LOGICAL_OR_WEAK=23,e.PHP.ORDER_COMMA=24,e.PHP.ORDER_NONE=99,e.PHP.ORDER_OVERRIDES=[[e.PHP.ORDER_MEMBER,e.PHP.ORDER_FUNCTION_CALL],[e.PHP.ORDER_MEMBER,e.PHP.ORDER_MEMBER],[e.PHP.ORDER_LOGICAL_NOT,e.PHP.ORDER_LOGICAL_NOT],[e.PHP.ORDER_MULTIPLICATION,e.PHP.ORDER_MULTIPLICATION],[e.PHP.ORDER_ADDITION,e.PHP.ORDER_ADDITION],[e.PHP.ORDER_LOGICAL_AND,e.PHP.ORDER_LOGICAL_AND],[e.PHP.ORDER_LOGICAL_OR,e.PHP.ORDER_LOGICAL_OR]],e.PHP.init=function(t){e.PHP.definitions_=Object.create(null),e.PHP.functionNames_=Object.create(null),e.PHP.variableDB_?e.PHP.variableDB_.reset():e.PHP.variableDB_=new e.Names(e.PHP.RESERVED_WORDS_,"$"),e.PHP.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.PHP.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE)+";");for(t=e.Variables.allUsedVarModels(t),i=0;n=t[i];i++)o.push(e.PHP.variableDB_.getName(n.getId(),e.Variables.NAME_TYPE)+";");e.PHP.definitions_.variables=o.join("\n")},e.PHP.finish=function(t){var o,n=[];for(o in e.PHP.definitions_)n.push(e.PHP.definitions_[o]);return delete e.PHP.definitions_,delete e.PHP.functionNames_,e.PHP.variableDB_.reset(),n.join("\n\n")+"\n\n\n"+t},e.PHP.scrubNakedValue=function(e){return e+";\n"},e.PHP.quote_=function(e){return"'"+(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'"))+"'"},e.PHP.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.PHP.COMMENT_WRAP-3))&&(i+=e.PHP.prefixLines(r,"// ")+"\n");for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.PHP.allNestedComments(r))&&(i+=e.PHP.prefixLines(r,"// "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.PHP.blockToCode(t))},e.PHP.getAdjusted=function(t,o,n,i,r){n=n||0,r=r||e.PHP.ORDER_NONE,t.workspace.options.oneBasedIndex&&n--;var s=t.workspace.options.oneBasedIndex?"1":"0";if(t=0<n?e.PHP.valueToCode(t,o,e.PHP.ORDER_ADDITION)||s:0>n?e.PHP.valueToCode(t,o,e.PHP.ORDER_SUBTRACTION)||s:i?e.PHP.valueToCode(t,o,e.PHP.ORDER_UNARY_NEGATION)||s:e.PHP.valueToCode(t,o,r)||s,e.isNumber(t))t=parseFloat(t)+n,i&&(t=-t);else{if(0<n){t=t+" + "+n;var a=e.PHP.ORDER_ADDITION}else 0>n&&(t=t+" - "+-n,a=e.PHP.ORDER_SUBTRACTION);i&&(t=n?"-("+t+")":"-"+t,a=e.PHP.ORDER_UNARY_NEGATION),a=Math.floor(a),r=Math.floor(r),a&&r>=a&&(t="("+t+")")}return t},e.PHP.colour={},e.PHP.colour_picker=function(t){return[e.PHP.quote_(t.getFieldValue("COLOUR")),e.PHP.ORDER_ATOMIC]},e.PHP.colour_random=function(t){return[e.PHP.provideFunction_("colour_random",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"() {","  return '#' . str_pad(dechex(mt_rand(0, 0xFFFFFF)), 6, '0', STR_PAD_LEFT);","}"])+"()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.colour_rgb=function(t){var o=e.PHP.valueToCode(t,"RED",e.PHP.ORDER_COMMA)||0,n=e.PHP.valueToCode(t,"GREEN",e.PHP.ORDER_COMMA)||0;return t=e.PHP.valueToCode(t,"BLUE",e.PHP.ORDER_COMMA)||0,[e.PHP.provideFunction_("colour_rgb",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($r, $g, $b) {","  $r = round(max(min($r, 100), 0) * 2.55);","  $g = round(max(min($g, 100), 0) * 2.55);","  $b = round(max(min($b, 100), 0) * 2.55);","  $hex = '#';","  $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);","  return $hex;","}"])+"("+o+", "+n+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.colour_blend=function(t){var o=e.PHP.valueToCode(t,"COLOUR1",e.PHP.ORDER_COMMA)||"'#000000'",n=e.PHP.valueToCode(t,"COLOUR2",e.PHP.ORDER_COMMA)||"'#000000'";return t=e.PHP.valueToCode(t,"RATIO",e.PHP.ORDER_COMMA)||.5,[e.PHP.provideFunction_("colour_blend",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($c1, $c2, $ratio) {","  $ratio = max(min($ratio, 1), 0);","  $r1 = hexdec(substr($c1, 1, 2));","  $g1 = hexdec(substr($c1, 3, 2));","  $b1 = hexdec(substr($c1, 5, 2));","  $r2 = hexdec(substr($c2, 1, 2));","  $g2 = hexdec(substr($c2, 3, 2));","  $b2 = hexdec(substr($c2, 5, 2));","  $r = round($r1 * (1 - $ratio) + $r2 * $ratio);","  $g = round($g1 * (1 - $ratio) + $g2 * $ratio);","  $b = round($b1 * (1 - $ratio) + $b2 * $ratio);","  $hex = '#';","  $hex .= str_pad(dechex($r), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($g), 2, '0', STR_PAD_LEFT);","  $hex .= str_pad(dechex($b), 2, '0', STR_PAD_LEFT);","  return $hex;","}"])+"("+o+", "+n+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists={},e.PHP.lists_create_empty=function(t){return["array()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.PHP.valueToCode(t,"ADD"+n,e.PHP.ORDER_COMMA)||"null";return[o="array("+o.join(", ")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_repeat=function(t){return[e.PHP.provideFunction_("lists_repeat",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value, $count) {","  $array = array();","  for ($index = 0; $index < $count; $index++) {","    $array[] = $value;","  }","  return $array;","}"])+"("+(e.PHP.valueToCode(t,"ITEM",e.PHP.ORDER_COMMA)||"null")+", "+(t=e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_COMMA)||"0")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_length=function(t){return[e.PHP.provideFunction_("length",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {","  if (is_string($value)) {","    return strlen($value);","  } else {","    return count($value);","  }","}"])+"("+(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_isEmpty=function(t){return["empty("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_indexOf=function(t){var o=e.PHP.valueToCode(t,"FIND",e.PHP.ORDER_NONE)||"''",n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"[]";if(t.workspace.options.oneBasedIndex)var i=" 0",r=" + 1";else i=" -1",r="";return[("FIRST"==t.getFieldValue("END")?e.PHP.provideFunction_("indexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {","  for ($index = 0; $index < count($haystack); $index++) {","    if ($haystack[$index] == $needle) return $index"+r+";","  }","  return "+i+";","}"]):e.PHP.provideFunction_("lastIndexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($haystack, $needle) {","  $last = "+i+";","  for ($index = 0; $index < count($haystack); $index++) {","    if ($haystack[$index] == $needle) $last = $index"+r+";","  }","  return $last;","}"]))+"("+n+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET";switch(t.getFieldValue("WHERE")||"FROM_START"){case"FIRST":if("GET"==o){var n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"array()";return[n+"[0]",e.PHP.ORDER_MEMBER]}if("GET_REMOVE"==o)return["array_shift("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_shift("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+");\n";break;case"LAST":if("GET"==o)return["end("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return["array_pop("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_pop("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+");\n";break;case"FROM_START":var i=e.PHP.getAdjusted(t,"AT");if("GET"==o)return[(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_MEMBER)||"array()")+"["+i+"]",e.PHP.ORDER_MEMBER];if("GET_REMOVE"==o)return["array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+i+", 1)[0]",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return"array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+i+", 1);\n";break;case"FROM_END":if("GET"==o)return["array_slice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"array()")+", "+(i=e.PHP.getAdjusted(t,"AT",1,!0))+", 1)[0]",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o||"REMOVE"==o){if(n="array_splice("+(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()")+", count("+n+") - "+(i=e.PHP.getAdjusted(t,"AT",1,!1,e.PHP.ORDER_SUBTRACTION))+", 1)[0]","GET_REMOVE"==o)return[n,e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return n+";\n"}break;case"RANDOM":if(n=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"array()","GET"==o)return[(o=e.PHP.provideFunction_("lists_get_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {","  return $list[rand(0,count($list)-1)];","}"]))+"("+n+")",e.PHP.ORDER_FUNCTION_CALL];if("GET_REMOVE"==o)return[(o=e.PHP.provideFunction_("lists_get_remove_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {","  $x = rand(0,count($list)-1);","  unset($list[$x]);","  return array_values($list);","}"]))+"("+n+")",e.PHP.ORDER_FUNCTION_CALL];if("REMOVE"==o)return(o=e.PHP.provideFunction_("lists_remove_random_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list) {","  unset($list[rand(0,count($list)-1)]);","}"]))+"("+n+");\n"}throw Error("Unhandled combination (lists_getIndex).")},e.PHP.lists_setIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_ASSIGNMENT)||"null";switch(n){case"FIRST":if("SET"==o)return(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_MEMBER)||"array()")+"[0] = "+i+";\n";if("INSERT"==o)return"array_unshift("+(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()")+", "+i+");\n";break;case"LAST":if(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()","SET"==o)return(o=e.PHP.provideFunction_("lists_set_last_item",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $value) {","  $list[count($list) - 1] = $value;","}"]))+"("+n+", "+i+");\n";if("INSERT"==o)return"array_push("+n+", "+i+");\n";break;case"FROM_START":var r=e.PHP.getAdjusted(t,"AT");if("SET"==o)return(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_MEMBER)||"array()")+"["+r+"] = "+i+";\n";if("INSERT"==o)return"array_splice("+(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()")+", "+r+", 0, "+i+");\n";break;case"FROM_END":if(n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",r=e.PHP.getAdjusted(t,"AT",1),"SET"==o)return(o=e.PHP.provideFunction_("lists_set_from_end",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {","  $list[count($list) - $at] = $value;","}"]))+"("+n+", "+r+", "+i+");\n";if("INSERT"==o)return(o=e.PHP.provideFunction_("lists_insert_from_end",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"(&$list, $at, $value) {","  return array_splice($list, count($list) - $at, 0, $value);","}"]))+"("+n+", "+r+", "+i+");\n";break;case"RANDOM":if((n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_REFERENCE)||"array()").match(/^\$\w+$/)?t="":(r=(t=e.PHP.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = &"+n+";\n",n=t,t=r),t+=(r=e.PHP.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = rand(0, count("+n+")-1);\n","SET"==o)return t+(n+"[")+r+"] = "+i+";\n";if("INSERT"==o)return t+"array_splice("+n+", "+r+", 0, "+i+");\n"}throw Error("Unhandled combination (lists_setIndex).")},e.PHP.lists_getSublist=function(t){var o=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i)if(o.match(/^\$\w+$/)||"FROM_END"!=n&&"FROM_START"==i){switch(n){case"FROM_START":var r=e.PHP.getAdjusted(t,"AT1");break;case"FROM_END":r="count("+o+") - "+(r=e.PHP.getAdjusted(t,"AT1",1,!1,e.PHP.ORDER_SUBTRACTION));break;case"FIRST":r="0";break;default:throw Error("Unhandled option (lists_getSublist).")}switch(i){case"FROM_START":n=(t=e.PHP.getAdjusted(t,"AT2",0,!1,e.PHP.ORDER_SUBTRACTION))+" - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")",n+=" + 1";break;case"FROM_END":n="count("+o+") - "+(t=e.PHP.getAdjusted(t,"AT2",0,!1,e.PHP.ORDER_SUBTRACTION))+" - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")";break;case"LAST":n="count("+o+") - ",n=e.isNumber(String(r))||String(r).match(/^\(.+\)$/)?n+r:n+"("+r+")";break;default:throw Error("Unhandled option (lists_getSublist).")}o="array_slice("+o+", "+r+", "+n+")"}else r=e.PHP.getAdjusted(t,"AT1"),t=e.PHP.getAdjusted(t,"AT2"),o=e.PHP.provideFunction_("lists_get_sublist",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $where1, $at1, $where2, $at2) {","  if ($where1 == 'FROM_END') {","    $at1 = count($list) - 1 - $at1;","  } else if ($where1 == 'FIRST') {","    $at1 = 0;","  } else if ($where1 != 'FROM_START'){","    throw new Exception('Unhandled option (lists_get_sublist).');","  }","  $length = 0;","  if ($where2 == 'FROM_START') {","    $length = $at2 - $at1 + 1;","  } else if ($where2 == 'FROM_END') {","    $length = count($list) - $at1 - $at2;","  } else if ($where2 == 'LAST') {","    $length = count($list) - $at1;","  } else {","    throw new Exception('Unhandled option (lists_get_sublist).');","  }","  return array_slice($list, $at1, $length);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+t+")";return[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_sort=function(t){var o=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"array()",n="1"===t.getFieldValue("DIRECTION")?1:-1;return t=t.getFieldValue("TYPE"),[e.PHP.provideFunction_("lists_sort",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list, $type, $direction) {","  $sortCmpFuncs = array(",'    "NUMERIC" => "strnatcasecmp",','    "TEXT" => "strcmp",','    "IGNORE_CASE" => "strcasecmp"',"  );","  $sortCmp = $sortCmpFuncs[$type];","  $list2 = $list;","  usort($list2, $sortCmp);","  if ($direction == -1) {","    $list2 = array_reverse($list2);","  }","  return $list2;","}"])+"("+o+', "'+t+'", '+n+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_split=function(t){var o=e.PHP.valueToCode(t,"INPUT",e.PHP.ORDER_COMMA),n=e.PHP.valueToCode(t,"DELIM",e.PHP.ORDER_COMMA)||"''";if("SPLIT"==(t=t.getFieldValue("MODE")))o||(o="''"),t="explode";else{if("JOIN"!=t)throw Error("Unknown mode: "+t);o||(o="array()"),t="implode"}return[t+"("+n+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.lists_reverse=function(t){return["array_reverse("+(e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_COMMA)||"[]")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.logic={},e.PHP.controls_if=function(t){var o=0,n="";e.PHP.STATEMENT_PREFIX&&(n+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t));do{var i=e.PHP.valueToCode(t,"IF"+o,e.PHP.ORDER_NONE)||"false",r=e.PHP.statementToCode(t,"DO"+o);e.PHP.STATEMENT_SUFFIX&&(r=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)+r),n+=(0<o?" else ":"")+"if ("+i+") {\n"+r+"}",++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.PHP.STATEMENT_SUFFIX)&&(r=e.PHP.statementToCode(t,"ELSE"),e.PHP.STATEMENT_SUFFIX&&(r=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)+r),n+=" else {\n"+r+"}"),n+"\n"},e.PHP.controls_ifelse=e.PHP.controls_if,e.PHP.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n="=="==o||"!="==o?e.PHP.ORDER_EQUALITY:e.PHP.ORDER_RELATIONAL;return[(e.PHP.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.PHP.valueToCode(t,"B",n)||"0"),n]},e.PHP.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"&&":"||",n="&&"==o?e.PHP.ORDER_LOGICAL_AND:e.PHP.ORDER_LOGICAL_OR,i=e.PHP.valueToCode(t,"A",n);if(t=e.PHP.valueToCode(t,"B",n),i||t){var r="&&"==o?"true":"false";i||(i=r),t||(t=r)}else t=i="false";return[i+" "+o+" "+t,n]},e.PHP.logic_negate=function(t){var o=e.PHP.ORDER_LOGICAL_NOT;return["!"+(e.PHP.valueToCode(t,"BOOL",o)||"true"),o]},e.PHP.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"true":"false",e.PHP.ORDER_ATOMIC]},e.PHP.logic_null=function(t){return["null",e.PHP.ORDER_ATOMIC]},e.PHP.logic_ternary=function(t){return[(e.PHP.valueToCode(t,"IF",e.PHP.ORDER_CONDITIONAL)||"false")+" ? "+(e.PHP.valueToCode(t,"THEN",e.PHP.ORDER_CONDITIONAL)||"null")+" : "+(t=e.PHP.valueToCode(t,"ELSE",e.PHP.ORDER_CONDITIONAL)||"null"),e.PHP.ORDER_CONDITIONAL]},e.PHP.loops={},e.PHP.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(Number(t.getFieldValue("TIMES"))):e.PHP.valueToCode(t,"TIMES",e.PHP.ORDER_ASSIGNMENT)||"0",n=e.PHP.statementToCode(t,"DO");n=e.PHP.addLoopTrap(n,t),t="";var i=e.PHP.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE),r=o;return o.match(/^\w+$/)||e.isNumber(o)||(t+=(r=e.PHP.variableDB_.getDistinctName("repeat_end",e.Variables.NAME_TYPE))+" = "+o+";\n"),t+"for ("+i+" = 0; "+i+" < "+r+"; "+i+"++) {\n"+n+"}\n"},e.PHP.controls_repeat=e.PHP.controls_repeat_ext,e.PHP.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.PHP.valueToCode(t,"BOOL",o?e.PHP.ORDER_LOGICAL_NOT:e.PHP.ORDER_NONE)||"false",i=e.PHP.statementToCode(t,"DO");return o&&(n="!"+n),"while ("+n+") {\n"+(i=e.PHP.addLoopTrap(i,t))+"}\n"},e.PHP.controls_for=function(t){var o=e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_ASSIGNMENT)||"0",i=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_ASSIGNMENT)||"0",r=e.PHP.valueToCode(t,"BY",e.PHP.ORDER_ASSIGNMENT)||"1",s=e.PHP.statementToCode(t,"DO");if(s=e.PHP.addLoopTrap(s,t),e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r)){var a=parseFloat(n)<=parseFloat(i);t="for ("+o+" = "+n+"; "+o+(a?" <= ":" >= ")+i+"; "+o,t=(1==(o=Math.abs(parseFloat(r)))?t+(a?"++":"--"):t+(a?" += ":" -= ")+o)+") {\n"+s+"}\n"}else t="",a=n,n.match(/^\w+$/)||e.isNumber(n)||(t+=(a=e.PHP.variableDB_.getDistinctName(o+"_start",e.Variables.NAME_TYPE))+" = "+n+";\n"),n=i,i.match(/^\w+$/)||e.isNumber(i)||(t+=(n=e.PHP.variableDB_.getDistinctName(o+"_end",e.Variables.NAME_TYPE))+" = "+i+";\n"),t+=(i=e.PHP.variableDB_.getDistinctName(o+"_inc",e.Variables.NAME_TYPE))+" = ",t=(t=e.isNumber(r)?t+(Math.abs(r)+";\n"):t+"abs("+r+");\n")+"if ("+a+" > "+n+") {\n"+(e.PHP.INDENT+i)+" = -"+i+";\n",t+="}\n",t+="for ("+o+" = "+a+"; "+i+" >= 0 ? "+o+" <= "+n+" : "+o+" >= "+n+"; "+o+" += "+i+") {\n"+s+"}\n";return t},e.PHP.controls_forEach=function(t){var o=e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_ASSIGNMENT)||"[]",i=e.PHP.statementToCode(t,"DO");return"foreach ("+n+" as "+o+") {\n"+(i=e.PHP.addLoopTrap(i,t))+"}\n"},e.PHP.controls_flow_statements=function(t){var o="";if(e.PHP.STATEMENT_PREFIX&&(o+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t)),e.PHP.STATEMENT_SUFFIX&&(o+=e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t)),e.PHP.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break;\n";case"CONTINUE":return o+"continue;\n"}throw Error("Unknown flow statement.")},e.PHP.math={},e.PHP.math_number=function(t){var o=0<=(t=parseFloat(t.getFieldValue("NUM")))?e.PHP.ORDER_ATOMIC:e.PHP.ORDER_UNARY_NEGATION;return 1/0==t?t="INF":-1/0==t&&(t="-INF"),[t,o]},e.PHP.math_arithmetic=function(t){var o={ADD:[" + ",e.PHP.ORDER_ADDITION],MINUS:[" - ",e.PHP.ORDER_SUBTRACTION],MULTIPLY:[" * ",e.PHP.ORDER_MULTIPLICATION],DIVIDE:[" / ",e.PHP.ORDER_DIVISION],POWER:[" ** ",e.PHP.ORDER_POWER]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.PHP.valueToCode(t,"A",o)||"0")+n+(t=e.PHP.valueToCode(t,"B",o)||"0"),o]},e.PHP.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o)return"-"==(t=e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_UNARY_NEGATION)||"0")[0]&&(t=" "+t),["-"+t,e.PHP.ORDER_UNARY_NEGATION];switch(t="SIN"==o||"COS"==o||"TAN"==o?e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_DIVISION)||"0":e.PHP.valueToCode(t,"NUM",e.PHP.ORDER_NONE)||"0",o){case"ABS":var n="abs("+t+")";break;case"ROOT":n="sqrt("+t+")";break;case"LN":n="log("+t+")";break;case"EXP":n="exp("+t+")";break;case"POW10":n="pow(10,"+t+")";break;case"ROUND":n="round("+t+")";break;case"ROUNDUP":n="ceil("+t+")";break;case"ROUNDDOWN":n="floor("+t+")";break;case"SIN":n="sin("+t+" / 180 * pi())";break;case"COS":n="cos("+t+" / 180 * pi())";break;case"TAN":n="tan("+t+" / 180 * pi())"}if(n)return[n,e.PHP.ORDER_FUNCTION_CALL];switch(o){case"LOG10":n="log("+t+") / log(10)";break;case"ASIN":n="asin("+t+") / pi() * 180";break;case"ACOS":n="acos("+t+") / pi() * 180";break;case"ATAN":n="atan("+t+") / pi() * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.PHP.ORDER_DIVISION]},e.PHP.math_constant=function(t){return{PI:["M_PI",e.PHP.ORDER_ATOMIC],E:["M_E",e.PHP.ORDER_ATOMIC],GOLDEN_RATIO:["(1 + sqrt(5)) / 2",e.PHP.ORDER_DIVISION],SQRT2:["M_SQRT2",e.PHP.ORDER_ATOMIC],SQRT1_2:["M_SQRT1_2",e.PHP.ORDER_ATOMIC],INFINITY:["INF",e.PHP.ORDER_ATOMIC]}[t.getFieldValue("CONSTANT")]},e.PHP.math_number_property=function(t){var o=e.PHP.valueToCode(t,"NUMBER_TO_CHECK",e.PHP.ORDER_MODULUS)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return[e.PHP.provideFunction_("math_isPrime",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if ($n == 2 || $n == 3) {","    return true;","  }","  // False if n is NaN, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.","  if (!is_numeric($n) || $n <= 1 || $n % 1 != 0 || $n % 2 == 0 || $n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for ($x = 6; $x <= sqrt($n) + 1; $x += 6) {","    if ($n % ($x - 1) == 0 || $n % ($x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+o+")",e.PHP.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i="is_int("+o+")";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":i=o+" % "+(t=e.PHP.valueToCode(t,"DIVISOR",e.PHP.ORDER_MODULUS)||"0")+" == 0"}return[i,e.PHP.ORDER_EQUALITY]},e.PHP.math_change=function(t){var o=e.PHP.valueToCode(t,"DELTA",e.PHP.ORDER_ADDITION)||"0";return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" += "+o+";\n"},e.PHP.math_round=e.PHP.math_single,e.PHP.math_trig=e.PHP.math_single,e.PHP.math_on_list=function(t){var o=t.getFieldValue("OP");switch(o){case"SUM":t="array_sum("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"MIN":t="min("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"MAX":t="max("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_FUNCTION_CALL)||"array()")+")";break;case"AVERAGE":t=(o=e.PHP.provideFunction_("math_mean",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($myList) {","  return array_sum($myList) / count($myList);","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"array()")+")";break;case"MEDIAN":t=(o=e.PHP.provideFunction_("math_median",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($arr) {","  sort($arr,SORT_NUMERIC);","  return (count($arr) % 2) ? $arr[floor(count($arr)/2)] : ","      ($arr[floor(count($arr)/2)] + $arr[floor(count($arr)/2) - 1]) / 2;","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"MODE":t=(o=e.PHP.provideFunction_("math_modes",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($values) {","  if (empty($values)) return array();","  $counts = array_count_values($values);","  arsort($counts); // Sort counts in descending order","  $modes = array_keys($counts, current($counts), true);","  return $modes;","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"STD_DEV":t=(o=e.PHP.provideFunction_("math_standard_deviation",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($numbers) {","  $n = count($numbers);","  if (!$n) return null;","  $mean = array_sum($numbers) / count($numbers);","  foreach($numbers as $key => $num) $devs[$key] = pow($num - $mean, 2);","  return sqrt(array_sum($devs) / (count($devs) - 1));","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;case"RANDOM":t=(o=e.PHP.provideFunction_("math_random_list",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($list) {","  $x = rand(0, count($list)-1);","  return $list[$x];","}"]))+"("+(t=e.PHP.valueToCode(t,"LIST",e.PHP.ORDER_NONE)||"[]")+")";break;default:throw Error("Unknown operator: "+o)}return[t,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_modulo=function(t){return[(e.PHP.valueToCode(t,"DIVIDEND",e.PHP.ORDER_MODULUS)||"0")+" % "+(t=e.PHP.valueToCode(t,"DIVISOR",e.PHP.ORDER_MODULUS)||"0"),e.PHP.ORDER_MODULUS]},e.PHP.math_constrain=function(t){return["min(max("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_COMMA)||"0")+", "+(e.PHP.valueToCode(t,"LOW",e.PHP.ORDER_COMMA)||"0")+"), "+(t=e.PHP.valueToCode(t,"HIGH",e.PHP.ORDER_COMMA)||"Infinity")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_random_int=function(t){var o=e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_COMMA)||"0";return t=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_COMMA)||"0",[e.PHP.provideFunction_("math_random_int",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($a, $b) {","  if ($a > $b) {","    return rand($b, $a);","  }","  return rand($a, $b);","}"])+"("+o+", "+t+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_random_float=function(t){return["(float)rand()/(float)getrandmax()",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.math_atan2=function(t){var o=e.PHP.valueToCode(t,"X",e.PHP.ORDER_COMMA)||"0";return["atan2("+(e.PHP.valueToCode(t,"Y",e.PHP.ORDER_COMMA)||"0")+", "+o+") / pi() * 180",e.PHP.ORDER_DIVISION]},e.PHP.procedures={},e.PHP.procedures_defreturn=function(t){for(var o,n=[],i=t.workspace,r=e.Variables.allUsedVarModels(i)||[],s=0;o=r[s];s++)o=o.name,-1==t.arguments_.indexOf(o)&&n.push(e.PHP.variableDB_.getName(o,e.Variables.NAME_TYPE));for(i=e.Variables.allDeveloperVariables(i),s=0;s<i.length;s++)n.push(e.PHP.variableDB_.getName(i[s],e.Names.DEVELOPER_VARIABLE_TYPE));n=n.length?e.PHP.INDENT+"global "+n.join(", ")+";\n":"",i=e.PHP.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),r="",e.PHP.STATEMENT_PREFIX&&(r+=e.PHP.injectId(e.PHP.STATEMENT_PREFIX,t)),e.PHP.STATEMENT_SUFFIX&&(r+=e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t)),r&&(r=e.PHP.prefixLines(r,e.PHP.INDENT)),o="",e.PHP.INFINITE_LOOP_TRAP&&(o=e.PHP.prefixLines(e.PHP.injectId(e.PHP.INFINITE_LOOP_TRAP,t),e.PHP.INDENT));var a=e.PHP.statementToCode(t,"STACK"),l=e.PHP.valueToCode(t,"RETURN",e.PHP.ORDER_NONE)||"",u="";a&&l&&(u=r),l&&(l=e.PHP.INDENT+"return "+l+";\n");var c=[];for(s=0;s<t.arguments_.length;s++)c[s]=e.PHP.variableDB_.getName(t.arguments_[s],e.Variables.NAME_TYPE);return n="function "+i+"("+c.join(", ")+") {\n"+n+r+o+a+u+l+"}",n=e.PHP.scrub_(t,n),e.PHP.definitions_["%"+i]=n,null},e.PHP.procedures_defnoreturn=e.PHP.procedures_defreturn,e.PHP.procedures_callreturn=function(t){for(var o=e.PHP.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.PHP.valueToCode(t,"ARG"+i,e.PHP.ORDER_COMMA)||"null";return[o+"("+n.join(", ")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.procedures_callnoreturn=function(t){return e.PHP.procedures_callreturn(t)[0]+";\n"},e.PHP.procedures_ifreturn=function(t){var o="if ("+(e.PHP.valueToCode(t,"CONDITION",e.PHP.ORDER_NONE)||"false")+") {\n";return e.PHP.STATEMENT_SUFFIX&&(o+=e.PHP.prefixLines(e.PHP.injectId(e.PHP.STATEMENT_SUFFIX,t),e.PHP.INDENT)),t.hasReturnValue_?(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"null",o+=e.PHP.INDENT+"return "+t+";\n"):o+=e.PHP.INDENT+"return;\n",o+"}\n"},e.PHP.texts={},e.PHP.text=function(t){return[e.PHP.quote_(t.getFieldValue("TEXT")),e.PHP.ORDER_ATOMIC]},e.PHP.text_join=function(t){if(0==t.itemCount_)return["''",e.PHP.ORDER_ATOMIC];if(1==t.itemCount_)return[e.PHP.valueToCode(t,"ADD0",e.PHP.ORDER_NONE)||"''",e.PHP.ORDER_FUNCTION_CALL];if(2==t.itemCount_){var o=e.PHP.valueToCode(t,"ADD0",e.PHP.ORDER_ATOMIC)||"''";return[o+" . "+(t=e.PHP.valueToCode(t,"ADD1",e.PHP.ORDER_ATOMIC)||"''"),e.PHP.ORDER_STRING_CONCAT]}o=Array(t.itemCount_);for(var n=0;n<t.itemCount_;n++)o[n]=e.PHP.valueToCode(t,"ADD"+n,e.PHP.ORDER_COMMA)||"''";return[t="implode('', array("+o.join(",")+"))",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_append=function(t){return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" .= "+(t=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_ASSIGNMENT)||"''")+";\n"},e.PHP.text_length=function(t){return[e.PHP.provideFunction_("length",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($value) {","  if (is_string($value)) {","    return strlen($value);","  } else {","    return count($value);","  }","}"])+"("+(t=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_isEmpty=function(t){return["empty("+(e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"strpos":"strrpos",n=e.PHP.valueToCode(t,"FIND",e.PHP.ORDER_NONE)||"''",i=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_NONE)||"''";if(t.workspace.options.oneBasedIndex)var r=" 0",s=" + 1";else r=" -1",s="";return[e.PHP.provideFunction_("FIRST"==t.getFieldValue("END")?"text_indexOf":"text_lastIndexOf",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $search) {","  $pos = "+o+"($text, $search);","  return $pos === false ? "+r+" : $pos"+s+";","}"])+"("+i+", "+n+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.PHP.valueToCode(t,"VALUE","RANDOM"==o?e.PHP.ORDER_NONE:e.PHP.ORDER_COMMA)||"''";switch(o){case"FIRST":return["substr("+n+", 0, 1)",e.PHP.ORDER_FUNCTION_CALL];case"LAST":return["substr("+n+", -1)",e.PHP.ORDER_FUNCTION_CALL];case"FROM_START":return["substr("+n+", "+(t=e.PHP.getAdjusted(t,"AT"))+", 1)",e.PHP.ORDER_FUNCTION_CALL];case"FROM_END":return["substr("+n+", "+(t=e.PHP.getAdjusted(t,"AT",1,!0))+", 1)",e.PHP.ORDER_FUNCTION_CALL];case"RANDOM":return[e.PHP.provideFunction_("text_random_letter",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text) {","  return $text[rand(0, strlen($text) - 1)];","}"])+"("+n+")",e.PHP.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.PHP.text_getSubstring=function(t){var o=e.PHP.valueToCode(t,"STRING",e.PHP.ORDER_FUNCTION_CALL)||"''",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");if("FIRST"!=n||"LAST"!=i){var r=e.PHP.getAdjusted(t,"AT1");t=e.PHP.getAdjusted(t,"AT2"),o=e.PHP.provideFunction_("text_get_substring",["function "+e.PHP.FUNCTION_NAME_PLACEHOLDER_+"($text, $where1, $at1, $where2, $at2) {","  if ($where1 == 'FROM_END') {","    $at1 = strlen($text) - 1 - $at1;","  } else if ($where1 == 'FIRST') {","    $at1 = 0;","  } else if ($where1 != 'FROM_START'){","    throw new Exception('Unhandled option (text_get_substring).');","  }","  $length = 0;","  if ($where2 == 'FROM_START') {","    $length = $at2 - $at1 + 1;","  } else if ($where2 == 'FROM_END') {","    $length = strlen($text) - $at1 - $at2;","  } else if ($where2 == 'LAST') {","    $length = strlen($text) - $at1;","  } else {","    throw new Exception('Unhandled option (text_get_substring).');","  }","  return substr($text, $at1, $length);","}"])+"("+o+", '"+n+"', "+r+", '"+i+"', "+t+")"}return[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_changeCase=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''";if("UPPERCASE"==t.getFieldValue("CASE"))var n="strtoupper("+o+")";else"LOWERCASE"==t.getFieldValue("CASE")?n="strtolower("+o+")":"TITLECASE"==t.getFieldValue("CASE")&&(n="ucwords(strtolower("+o+"))");return[n,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_trim=function(t){return[{LEFT:"ltrim",RIGHT:"rtrim",BOTH:"trim"}[t.getFieldValue("MODE")]+"("+(t=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_print=function(t){return"print("+(e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+");\n"},e.PHP.text_prompt_ext=function(t){var o="readline("+(t.getField("TEXT")?e.PHP.quote_(t.getFieldValue("TEXT")):e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_NONE)||"''")+")";return"NUMBER"==t.getFieldValue("TYPE")&&(o="floatval("+o+")"),[o,e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_prompt=e.PHP.text_prompt_ext,e.PHP.text_count=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''";return["strlen("+(t=e.PHP.valueToCode(t,"SUB",e.PHP.ORDER_NONE)||"''")+") === 0 ? strlen("+o+") + 1 : substr_count("+o+", "+t+")",e.PHP.ORDER_CONDITIONAL]},e.PHP.text_replace=function(t){var o=e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''";return["str_replace("+(e.PHP.valueToCode(t,"FROM",e.PHP.ORDER_NONE)||"''")+", "+(t=e.PHP.valueToCode(t,"TO",e.PHP.ORDER_NONE)||"''")+", "+o+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.text_reverse=function(t){return["strrev("+(e.PHP.valueToCode(t,"TEXT",e.PHP.ORDER_MEMBER)||"''")+")",e.PHP.ORDER_FUNCTION_CALL]},e.PHP.variables={},e.PHP.variables_get=function(t){return[e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.PHP.ORDER_ATOMIC]},e.PHP.variables_set=function(t){var o=e.PHP.valueToCode(t,"VALUE",e.PHP.ORDER_ASSIGNMENT)||"0";return e.PHP.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+";\n"},e.PHP.variablesDynamic={},e.PHP.variables_get_dynamic=e.PHP.variables_get,e.PHP.variables_set_dynamic=e.PHP.variables_set,e.PHP}},function(e,t){e.exports=function(e){"use strict";return e.Python=new e.Generator("Python"),e.Python.addReservedWords("False,None,True,and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,nonlocal,not,or,pass,print,raise,return,try,while,with,yield,NotImplemented,Ellipsis,__debug__,quit,exit,copyright,license,credits,ArithmeticError,AssertionError,AttributeError,BaseException,BlockingIOError,BrokenPipeError,BufferError,BytesWarning,ChildProcessError,ConnectionAbortedError,ConnectionError,ConnectionRefusedError,ConnectionResetError,DeprecationWarning,EOFError,Ellipsis,EnvironmentError,Exception,FileExistsError,FileNotFoundError,FloatingPointError,FutureWarning,GeneratorExit,IOError,ImportError,ImportWarning,IndentationError,IndexError,InterruptedError,IsADirectoryError,KeyError,KeyboardInterrupt,LookupError,MemoryError,ModuleNotFoundError,NameError,NotADirectoryError,NotImplemented,NotImplementedError,OSError,OverflowError,PendingDeprecationWarning,PermissionError,ProcessLookupError,RecursionError,ReferenceError,ResourceWarning,RuntimeError,RuntimeWarning,StandardError,StopAsyncIteration,StopIteration,SyntaxError,SyntaxWarning,SystemError,SystemExit,TabError,TimeoutError,TypeError,UnboundLocalError,UnicodeDecodeError,UnicodeEncodeError,UnicodeError,UnicodeTranslateError,UnicodeWarning,UserWarning,ValueError,Warning,ZeroDivisionError,_,__build_class__,__debug__,__doc__,__import__,__loader__,__name__,__package__,__spec__,abs,all,any,apply,ascii,basestring,bin,bool,buffer,bytearray,bytes,callable,chr,classmethod,cmp,coerce,compile,complex,copyright,credits,delattr,dict,dir,divmod,enumerate,eval,exec,execfile,exit,file,filter,float,format,frozenset,getattr,globals,hasattr,hash,help,hex,id,input,int,intern,isinstance,issubclass,iter,len,license,list,locals,long,map,max,memoryview,min,next,object,oct,open,ord,pow,print,property,quit,range,raw_input,reduce,reload,repr,reversed,round,set,setattr,slice,sorted,staticmethod,str,sum,super,tuple,type,unichr,unicode,vars,xrange,zip"),e.Python.ORDER_ATOMIC=0,e.Python.ORDER_COLLECTION=1,e.Python.ORDER_STRING_CONVERSION=1,e.Python.ORDER_MEMBER=2.1,e.Python.ORDER_FUNCTION_CALL=2.2,e.Python.ORDER_EXPONENTIATION=3,e.Python.ORDER_UNARY_SIGN=4,e.Python.ORDER_BITWISE_NOT=4,e.Python.ORDER_MULTIPLICATIVE=5,e.Python.ORDER_ADDITIVE=6,e.Python.ORDER_BITWISE_SHIFT=7,e.Python.ORDER_BITWISE_AND=8,e.Python.ORDER_BITWISE_XOR=9,e.Python.ORDER_BITWISE_OR=10,e.Python.ORDER_RELATIONAL=11,e.Python.ORDER_LOGICAL_NOT=12,e.Python.ORDER_LOGICAL_AND=13,e.Python.ORDER_LOGICAL_OR=14,e.Python.ORDER_CONDITIONAL=15,e.Python.ORDER_LAMBDA=16,e.Python.ORDER_NONE=99,e.Python.ORDER_OVERRIDES=[[e.Python.ORDER_FUNCTION_CALL,e.Python.ORDER_MEMBER],[e.Python.ORDER_FUNCTION_CALL,e.Python.ORDER_FUNCTION_CALL],[e.Python.ORDER_MEMBER,e.Python.ORDER_MEMBER],[e.Python.ORDER_MEMBER,e.Python.ORDER_FUNCTION_CALL],[e.Python.ORDER_LOGICAL_NOT,e.Python.ORDER_LOGICAL_NOT],[e.Python.ORDER_LOGICAL_AND,e.Python.ORDER_LOGICAL_AND],[e.Python.ORDER_LOGICAL_OR,e.Python.ORDER_LOGICAL_OR]],e.Python.init=function(t){e.Python.PASS=this.INDENT+"pass\n",e.Python.definitions_=Object.create(null),e.Python.functionNames_=Object.create(null),e.Python.variableDB_?e.Python.variableDB_.reset():e.Python.variableDB_=new e.Names(e.Python.RESERVED_WORDS_),e.Python.variableDB_.setVariableMap(t.getVariableMap());for(var o=[],n=e.Variables.allDeveloperVariables(t),i=0;i<n.length;i++)o.push(e.Python.variableDB_.getName(n[i],e.Names.DEVELOPER_VARIABLE_TYPE)+" = None");for(t=e.Variables.allUsedVarModels(t),i=0;i<t.length;i++)o.push(e.Python.variableDB_.getName(t[i].getId(),e.Variables.NAME_TYPE)+" = None");e.Python.definitions_.variables=o.join("\n")},e.Python.finish=function(t){var o,n=[],i=[];for(o in e.Python.definitions_){var r=e.Python.definitions_[o];r.match(/^(from\s+\S+\s+)?import\s+\S+/)?n.push(r):i.push(r)}return delete e.Python.definitions_,delete e.Python.functionNames_,e.Python.variableDB_.reset(),(n.join("\n")+"\n\n"+i.join("\n\n")).replace(/\n\n+/g,"\n\n").replace(/\n*$/,"\n\n\n")+t},e.Python.scrubNakedValue=function(e){return e+"\n"},e.Python.quote_=function(e){var t="'";return-1!==(e=e.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n")).indexOf("'")&&(-1===e.indexOf('"')?t='"':e=e.replace(/'/g,"\\'")),t+e+t},e.Python.scrub_=function(t,o,n){var i="";if(!t.outputConnection||!t.outputConnection.targetConnection){var r=t.getCommentText();(r=e.utils.string.wrap(r,e.Python.COMMENT_WRAP-3))&&(i=t.getProcedureDef?i+'"""'+r+'\n"""\n':i+e.Python.prefixLines(r+"\n","# "));for(var s=0;s<t.inputList.length;s++)t.inputList[s].type==e.INPUT_VALUE&&(r=t.inputList[s].connection.targetBlock())&&(r=e.Python.allNestedComments(r))&&(i+=e.Python.prefixLines(r,"# "))}return t=t.nextConnection&&t.nextConnection.targetBlock(),i+o+(n=n?"":e.Python.blockToCode(t))},e.Python.getAdjustedInt=function(t,o,n,i){n=n||0,t.workspace.options.oneBasedIndex&&n--;var r=t.workspace.options.oneBasedIndex?"1":"0";return t=e.Python.valueToCode(t,o,n?e.Python.ORDER_ADDITIVE:e.Python.ORDER_NONE)||r,e.isNumber(t)?(t=parseInt(t,10)+n,i&&(t=-t)):(t=0<n?"int("+t+" + "+n+")":0>n?"int("+t+" - "+-n+")":"int("+t+")",i&&(t="-"+t)),t},e.Python.colour={},e.Python.colour_picker=function(t){return[e.Python.quote_(t.getFieldValue("COLOUR")),e.Python.ORDER_ATOMIC]},e.Python.colour_random=function(t){return e.Python.definitions_.import_random="import random",["'#%06x' % random.randint(0, 2**24 - 1)",e.Python.ORDER_FUNCTION_CALL]},e.Python.colour_rgb=function(t){return[e.Python.provideFunction_("colour_rgb",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b):","  r = round(min(100, max(0, r)) * 2.55)","  g = round(min(100, max(0, g)) * 2.55)","  b = round(min(100, max(0, b)) * 2.55)","  return '#%02x%02x%02x' % (r, g, b)"])+"("+(e.Python.valueToCode(t,"RED",e.Python.ORDER_NONE)||0)+", "+(e.Python.valueToCode(t,"GREEN",e.Python.ORDER_NONE)||0)+", "+(t=e.Python.valueToCode(t,"BLUE",e.Python.ORDER_NONE)||0)+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.colour_blend=function(t){return[e.Python.provideFunction_("colour_blend",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(colour1, colour2, ratio):","  r1, r2 = int(colour1[1:3], 16), int(colour2[1:3], 16)","  g1, g2 = int(colour1[3:5], 16), int(colour2[3:5], 16)","  b1, b2 = int(colour1[5:7], 16), int(colour2[5:7], 16)","  ratio = min(1, max(0, ratio))","  r = round(r1 * (1 - ratio) + r2 * ratio)","  g = round(g1 * (1 - ratio) + g2 * ratio)","  b = round(b1 * (1 - ratio) + b2 * ratio)","  return '#%02x%02x%02x' % (r, g, b)"])+"("+(e.Python.valueToCode(t,"COLOUR1",e.Python.ORDER_NONE)||"'#000000'")+", "+(e.Python.valueToCode(t,"COLOUR2",e.Python.ORDER_NONE)||"'#000000'")+", "+(t=e.Python.valueToCode(t,"RATIO",e.Python.ORDER_NONE)||0)+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists={},e.Python.lists_create_empty=function(t){return["[]",e.Python.ORDER_ATOMIC]},e.Python.lists_create_with=function(t){for(var o=Array(t.itemCount_),n=0;n<t.itemCount_;n++)o[n]=e.Python.valueToCode(t,"ADD"+n,e.Python.ORDER_NONE)||"None";return["["+o.join(", ")+"]",e.Python.ORDER_ATOMIC]},e.Python.lists_repeat=function(t){return["["+(e.Python.valueToCode(t,"ITEM",e.Python.ORDER_NONE)||"None")+"] * "+(t=e.Python.valueToCode(t,"NUM",e.Python.ORDER_MULTIPLICATIVE)||"0"),e.Python.ORDER_MULTIPLICATIVE]},e.Python.lists_length=function(t){return["len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"[]")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_isEmpty=function(t){return["not len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"[]")+")",e.Python.ORDER_LOGICAL_NOT]},e.Python.lists_indexOf=function(t){var o=e.Python.valueToCode(t,"FIND",e.Python.ORDER_NONE)||"[]",n=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''";if(t.workspace.options.oneBasedIndex)var i=" 0",r=" + 1",s="";else i=" -1",r="",s=" - 1";return"FIRST"==t.getFieldValue("END")?[(t=e.Python.provideFunction_("first_index",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):","  try: index = my_list.index(elem)"+r,"  except: index ="+i,"  return index"]))+"("+n+", "+o+")",e.Python.ORDER_FUNCTION_CALL]:[(t=e.Python.provideFunction_("last_index",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, elem):","  try: index = len(my_list) - my_list[::-1].index(elem)"+s,"  except: index ="+i,"  return index"]))+"("+n+", "+o+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_getIndex=function(t){var o=t.getFieldValue("MODE")||"GET",n=t.getFieldValue("WHERE")||"FROM_START",i=e.Python.valueToCode(t,"VALUE","RANDOM"==n?e.Python.ORDER_NONE:e.Python.ORDER_MEMBER)||"[]";switch(n){case"FIRST":if("GET"==o)return[i+"[0]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop(0)",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop(0)\n";break;case"LAST":if("GET"==o)return[i+"[-1]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop()",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop()\n";break;case"FROM_START":if(t=e.Python.getAdjustedInt(t,"AT"),"GET"==o)return[i+"["+t+"]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop("+t+")",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop("+t+")\n";break;case"FROM_END":if(t=e.Python.getAdjustedInt(t,"AT",1,!0),"GET"==o)return[i+"["+t+"]",e.Python.ORDER_MEMBER];if("GET_REMOVE"==o)return[i+".pop("+t+")",e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+".pop("+t+")\n";break;case"RANDOM":if(e.Python.definitions_.import_random="import random","GET"==o)return["random.choice("+i+")",e.Python.ORDER_FUNCTION_CALL];if(i=e.Python.provideFunction_("lists_remove_random_item",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  x = int(random.random() * len(myList))","  return myList.pop(x)"])+"("+i+")","GET_REMOVE"==o)return[i,e.Python.ORDER_FUNCTION_CALL];if("REMOVE"==o)return i+"\n"}throw Error("Unhandled combination (lists_getIndex).")},e.Python.lists_setIndex=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_MEMBER)||"[]",n=t.getFieldValue("MODE")||"GET",i=t.getFieldValue("WHERE")||"FROM_START",r=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"None";switch(i){case"FIRST":if("SET"==n)return o+"[0] = "+r+"\n";if("INSERT"==n)return o+".insert(0, "+r+")\n";break;case"LAST":if("SET"==n)return o+"[-1] = "+r+"\n";if("INSERT"==n)return o+".append("+r+")\n";break;case"FROM_START":if(t=e.Python.getAdjustedInt(t,"AT"),"SET"==n)return o+"["+t+"] = "+r+"\n";if("INSERT"==n)return o+".insert("+t+", "+r+")\n";break;case"FROM_END":if(t=e.Python.getAdjustedInt(t,"AT",1,!0),"SET"==n)return o+"["+t+"] = "+r+"\n";if("INSERT"==n)return o+".insert("+t+", "+r+")\n";break;case"RANDOM":if(e.Python.definitions_.import_random="import random",o.match(/^\w+$/)?t="":(i=(t=e.Python.variableDB_.getDistinctName("tmp_list",e.Variables.NAME_TYPE))+" = "+o+"\n",o=t,t=i),t+=(i=e.Python.variableDB_.getDistinctName("tmp_x",e.Variables.NAME_TYPE))+" = int(random.random() * len("+o+"))\n","SET"==n)return t+(o+"[")+i+"] = "+r+"\n";if("INSERT"==n)return t+(o+".insert(")+i+", "+r+")\n"}throw Error("Unhandled combination (lists_setIndex).")},e.Python.lists_getSublist=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_MEMBER)||"[]",n=t.getFieldValue("WHERE1"),i=t.getFieldValue("WHERE2");switch(n){case"FROM_START":"0"==(n=e.Python.getAdjustedInt(t,"AT1"))&&(n="");break;case"FROM_END":n=e.Python.getAdjustedInt(t,"AT1",1,!0);break;case"FIRST":n="";break;default:throw Error("Unhandled option (lists_getSublist)")}switch(i){case"FROM_START":t=e.Python.getAdjustedInt(t,"AT2",1);break;case"FROM_END":t=e.Python.getAdjustedInt(t,"AT2",0,!0),e.isNumber(String(t))?"0"==t&&(t=""):(e.Python.definitions_.import_sys="import sys",t+=" or sys.maxsize");break;case"LAST":t="";break;default:throw Error("Unhandled option (lists_getSublist)")}return[o+"["+n+" : "+t+"]",e.Python.ORDER_MEMBER]},e.Python.lists_sort=function(t){var o=e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]",n=t.getFieldValue("TYPE");return t="1"===t.getFieldValue("DIRECTION")?"False":"True",[e.Python.provideFunction_("lists_sort",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(my_list, type, reverse):","  def try_float(s):","    try:","      return float(s)","    except:","      return 0","  key_funcs = {",'    "NUMERIC": try_float,','    "TEXT": str,','    "IGNORE_CASE": lambda s: str(s).lower()',"  }","  key_func = key_funcs[type]","  list_cpy = list(my_list)","  return sorted(list_cpy, key=key_func, reverse=reverse)"])+"("+o+', "'+n+'", '+t+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_split=function(t){var o=t.getFieldValue("MODE");if("SPLIT"==o)t=(o=e.Python.valueToCode(t,"INPUT",e.Python.ORDER_MEMBER)||"''")+".split("+(t=e.Python.valueToCode(t,"DELIM",e.Python.ORDER_NONE))+")";else{if("JOIN"!=o)throw Error("Unknown mode: "+o);o=e.Python.valueToCode(t,"INPUT",e.Python.ORDER_NONE)||"[]",t=(t=e.Python.valueToCode(t,"DELIM",e.Python.ORDER_MEMBER)||"''")+".join("+o+")"}return[t,e.Python.ORDER_FUNCTION_CALL]},e.Python.lists_reverse=function(t){return["list(reversed("+(e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]")+"))",e.Python.ORDER_FUNCTION_CALL]},e.Python.logic={},e.Python.controls_if=function(t){var o=0,n="";e.Python.STATEMENT_PREFIX&&(n+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t));do{var i=e.Python.valueToCode(t,"IF"+o,e.Python.ORDER_NONE)||"False",r=e.Python.statementToCode(t,"DO"+o)||e.Python.PASS;e.Python.STATEMENT_SUFFIX&&(r=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)+r),n+=(0==o?"if ":"elif ")+i+":\n"+r,++o}while(t.getInput("IF"+o));return(t.getInput("ELSE")||e.Python.STATEMENT_SUFFIX)&&(r=e.Python.statementToCode(t,"ELSE")||e.Python.PASS,e.Python.STATEMENT_SUFFIX&&(r=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)+r),n+="else:\n"+r),n},e.Python.controls_ifelse=e.Python.controls_if,e.Python.logic_compare=function(t){var o={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[t.getFieldValue("OP")],n=e.Python.ORDER_RELATIONAL;return[(e.Python.valueToCode(t,"A",n)||"0")+" "+o+" "+(t=e.Python.valueToCode(t,"B",n)||"0"),n]},e.Python.logic_operation=function(t){var o="AND"==t.getFieldValue("OP")?"and":"or",n="and"==o?e.Python.ORDER_LOGICAL_AND:e.Python.ORDER_LOGICAL_OR,i=e.Python.valueToCode(t,"A",n);if(t=e.Python.valueToCode(t,"B",n),i||t){var r="and"==o?"True":"False";i||(i=r),t||(t=r)}else t=i="False";return[i+" "+o+" "+t,n]},e.Python.logic_negate=function(t){return["not "+(e.Python.valueToCode(t,"BOOL",e.Python.ORDER_LOGICAL_NOT)||"True"),e.Python.ORDER_LOGICAL_NOT]},e.Python.logic_boolean=function(t){return["TRUE"==t.getFieldValue("BOOL")?"True":"False",e.Python.ORDER_ATOMIC]},e.Python.logic_null=function(t){return["None",e.Python.ORDER_ATOMIC]},e.Python.logic_ternary=function(t){var o=e.Python.valueToCode(t,"IF",e.Python.ORDER_CONDITIONAL)||"False";return[(e.Python.valueToCode(t,"THEN",e.Python.ORDER_CONDITIONAL)||"None")+" if "+o+" else "+(t=e.Python.valueToCode(t,"ELSE",e.Python.ORDER_CONDITIONAL)||"None"),e.Python.ORDER_CONDITIONAL]},e.Python.loops={},e.Python.controls_repeat_ext=function(t){var o=t.getField("TIMES")?String(parseInt(t.getFieldValue("TIMES"),10)):e.Python.valueToCode(t,"TIMES",e.Python.ORDER_NONE)||"0";o=e.isNumber(o)?parseInt(o,10):"int("+o+")";var n=e.Python.statementToCode(t,"DO");return n=e.Python.addLoopTrap(n,t)||e.Python.PASS,"for "+e.Python.variableDB_.getDistinctName("count",e.Variables.NAME_TYPE)+" in range("+o+"):\n"+n},e.Python.controls_repeat=e.Python.controls_repeat_ext,e.Python.controls_whileUntil=function(t){var o="UNTIL"==t.getFieldValue("MODE"),n=e.Python.valueToCode(t,"BOOL",o?e.Python.ORDER_LOGICAL_NOT:e.Python.ORDER_NONE)||"False",i=e.Python.statementToCode(t,"DO");return o&&(n="not "+n),"while "+n+":\n"+(i=e.Python.addLoopTrap(i,t)||e.Python.PASS)},e.Python.controls_for=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"0",i=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"0",r=e.Python.valueToCode(t,"BY",e.Python.ORDER_NONE)||"1",s=e.Python.statementToCode(t,"DO");s=e.Python.addLoopTrap(s,t)||e.Python.PASS;var a="",l=function(){return e.Python.provideFunction_("upRange",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):","  while start <= stop:","    yield start","    start += abs(step)"])},u=function(){return e.Python.provideFunction_("downRange",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(start, stop, step):","  while start >= stop:","    yield start","    start -= abs(step)"])};if(t=function(e,t,o){return"("+e+" <= "+t+") and "+l()+"("+e+", "+t+", "+o+") or "+u()+"("+e+", "+t+", "+o+")"},e.isNumber(n)&&e.isNumber(i)&&e.isNumber(r))n=parseFloat(n),i=parseFloat(i),r=Math.abs(parseFloat(r)),0==n%1&&0==i%1&&0==r%1?(n<=i?(i++,t=0==n&&1==r?i:n+", "+i,1!=r&&(t+=", "+r)):t=n+", "+--i+", -"+r,t="range("+t+")"):(t=n<i?l():u(),t+="("+n+", "+i+", "+r+")");else{var c=function(t,n){if(e.isNumber(t))t=parseFloat(t);else if(t.match(/^\w+$/))t="float("+t+")";else{var i=e.Python.variableDB_.getDistinctName(o+n,e.Variables.NAME_TYPE);a+=i+" = float("+t+")\n",t=i}return t};n=c(n,"_start"),i=c(i,"_end"),c(r,"_inc"),t="number"==typeof n&&"number"==typeof i?n<i?l():u():t(n,i,r)}return a+="for "+o+" in "+t+":\n"+s},e.Python.controls_forEach=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),n=e.Python.valueToCode(t,"LIST",e.Python.ORDER_RELATIONAL)||"[]",i=e.Python.statementToCode(t,"DO");return"for "+o+" in "+n+":\n"+(i=e.Python.addLoopTrap(i,t)||e.Python.PASS)},e.Python.controls_flow_statements=function(t){var o="";if(e.Python.STATEMENT_PREFIX&&(o+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t)),e.Python.STATEMENT_SUFFIX&&(o+=e.Python.injectId(e.Python.STATEMENT_SUFFIX,t)),e.Python.STATEMENT_PREFIX){var n=e.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN.getSurroundLoop(t);n&&!n.suppressPrefixSuffix&&(o+=e.Python.injectId(e.Python.STATEMENT_PREFIX,n))}switch(t.getFieldValue("FLOW")){case"BREAK":return o+"break\n";case"CONTINUE":return o+"continue\n"}throw Error("Unknown flow statement.")},e.Python.math={},e.Python.addReservedWords("math,random,Number"),e.Python.math_number=function(t){if(1/0==(t=parseFloat(t.getFieldValue("NUM")))){t='float("inf")';var o=e.Python.ORDER_FUNCTION_CALL}else-1/0==t?(t='-float("inf")',o=e.Python.ORDER_UNARY_SIGN):o=0>t?e.Python.ORDER_UNARY_SIGN:e.Python.ORDER_ATOMIC;return[t,o]},e.Python.math_arithmetic=function(t){var o={ADD:[" + ",e.Python.ORDER_ADDITIVE],MINUS:[" - ",e.Python.ORDER_ADDITIVE],MULTIPLY:[" * ",e.Python.ORDER_MULTIPLICATIVE],DIVIDE:[" / ",e.Python.ORDER_MULTIPLICATIVE],POWER:[" ** ",e.Python.ORDER_EXPONENTIATION]}[t.getFieldValue("OP")],n=o[0];return o=o[1],[(e.Python.valueToCode(t,"A",o)||"0")+n+(t=e.Python.valueToCode(t,"B",o)||"0"),o]},e.Python.math_single=function(t){var o=t.getFieldValue("OP");if("NEG"==o){var n=e.Python.valueToCode(t,"NUM",e.Python.ORDER_UNARY_SIGN)||"0";return["-"+n,e.Python.ORDER_UNARY_SIGN]}switch(e.Python.definitions_.import_math="import math",t="SIN"==o||"COS"==o||"TAN"==o?e.Python.valueToCode(t,"NUM",e.Python.ORDER_MULTIPLICATIVE)||"0":e.Python.valueToCode(t,"NUM",e.Python.ORDER_NONE)||"0",o){case"ABS":n="math.fabs("+t+")";break;case"ROOT":n="math.sqrt("+t+")";break;case"LN":n="math.log("+t+")";break;case"LOG10":n="math.log10("+t+")";break;case"EXP":n="math.exp("+t+")";break;case"POW10":n="math.pow(10,"+t+")";break;case"ROUND":n="round("+t+")";break;case"ROUNDUP":n="math.ceil("+t+")";break;case"ROUNDDOWN":n="math.floor("+t+")";break;case"SIN":n="math.sin("+t+" / 180.0 * math.pi)";break;case"COS":n="math.cos("+t+" / 180.0 * math.pi)";break;case"TAN":n="math.tan("+t+" / 180.0 * math.pi)"}if(n)return[n,e.Python.ORDER_FUNCTION_CALL];switch(o){case"ASIN":n="math.asin("+t+") / math.pi * 180";break;case"ACOS":n="math.acos("+t+") / math.pi * 180";break;case"ATAN":n="math.atan("+t+") / math.pi * 180";break;default:throw Error("Unknown math operator: "+o)}return[n,e.Python.ORDER_MULTIPLICATIVE]},e.Python.math_constant=function(t){var o={PI:["math.pi",e.Python.ORDER_MEMBER],E:["math.e",e.Python.ORDER_MEMBER],GOLDEN_RATIO:["(1 + math.sqrt(5)) / 2",e.Python.ORDER_MULTIPLICATIVE],SQRT2:["math.sqrt(2)",e.Python.ORDER_MEMBER],SQRT1_2:["math.sqrt(1.0 / 2)",e.Python.ORDER_MEMBER],INFINITY:["float('inf')",e.Python.ORDER_ATOMIC]};return"INFINITY"!=(t=t.getFieldValue("CONSTANT"))&&(e.Python.definitions_.import_math="import math"),o[t]},e.Python.math_number_property=function(t){var o=e.Python.valueToCode(t,"NUMBER_TO_CHECK",e.Python.ORDER_MULTIPLICATIVE)||"0",n=t.getFieldValue("PROPERTY");if("PRIME"==n)return e.Python.definitions_.import_math="import math",e.Python.definitions_.from_numbers_import_Number="from numbers import Number",[e.Python.provideFunction_("math_isPrime",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(n):","  # https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  # If n is not a number but a string, try parsing it.","  if not isinstance(n, Number):","    try:","      n = float(n)","    except:","      return False","  if n == 2 or n == 3:","    return True","  # False if n is negative, is 1, or not whole, or if n is divisible by 2 or 3.","  if n <= 1 or n % 1 != 0 or n % 2 == 0 or n % 3 == 0:","    return False","  # Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for x in range(6, int(math.sqrt(n)) + 2, 6):","    if n % (x - 1) == 0 or n % (x + 1) == 0:","      return False","  return True"])+"("+o+")",e.Python.ORDER_FUNCTION_CALL];switch(n){case"EVEN":var i=o+" % 2 == 0";break;case"ODD":i=o+" % 2 == 1";break;case"WHOLE":i=o+" % 1 == 0";break;case"POSITIVE":i=o+" > 0";break;case"NEGATIVE":i=o+" < 0";break;case"DIVISIBLE_BY":if(!(t=e.Python.valueToCode(t,"DIVISOR",e.Python.ORDER_MULTIPLICATIVE))||"0"==t)return["False",e.Python.ORDER_ATOMIC];i=o+" % "+t+" == 0"}return[i,e.Python.ORDER_RELATIONAL]},e.Python.math_change=function(t){e.Python.definitions_.from_numbers_import_Number="from numbers import Number";var o=e.Python.valueToCode(t,"DELTA",e.Python.ORDER_ADDITIVE)||"0";return(t=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE))+" = ("+t+" if isinstance("+t+", Number) else 0) + "+o+"\n"},e.Python.math_round=e.Python.math_single,e.Python.math_trig=e.Python.math_single,e.Python.math_on_list=function(t){var o=t.getFieldValue("OP");switch(t=e.Python.valueToCode(t,"LIST",e.Python.ORDER_NONE)||"[]",o){case"SUM":o="sum("+t+")";break;case"MIN":o="min("+t+")";break;case"MAX":o="max("+t+")";break;case"AVERAGE":e.Python.definitions_.from_numbers_import_Number="from numbers import Number",o=(o=e.Python.provideFunction_("math_mean",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  localList = [e for e in myList if isinstance(e, Number)]","  if not localList: return","  return float(sum(localList)) / len(localList)"]))+"("+t+")";break;case"MEDIAN":e.Python.definitions_.from_numbers_import_Number="from numbers import Number",o=(o=e.Python.provideFunction_("math_median",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(myList):","  localList = sorted([e for e in myList if isinstance(e, Number)])","  if not localList: return","  if len(localList) % 2 == 0:","    return (localList[len(localList) // 2 - 1] + localList[len(localList) // 2]) / 2.0","  else:","    return localList[(len(localList) - 1) // 2]"]))+"("+t+")";break;case"MODE":o=(o=e.Python.provideFunction_("math_modes",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(some_list):","  modes = []","  # Using a lists of [item, count] to keep count rather than dict",'  # to avoid "unhashable" errors when the counted item is itself a list or dict.',"  counts = []","  maxCount = 1","  for item in some_list:","    found = False","    for count in counts:","      if count[0] == item:","        count[1] += 1","        maxCount = max(maxCount, count[1])","        found = True","    if not found:","      counts.append([item, 1])","  for counted_item, item_count in counts:","    if item_count == maxCount:","      modes.append(counted_item)","  return modes"]))+"("+t+")";break;case"STD_DEV":e.Python.definitions_.import_math="import math",o=(o=e.Python.provideFunction_("math_standard_deviation",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(numbers):","  n = len(numbers)","  if n == 0: return","  mean = float(sum(numbers)) / n","  variance = sum((x - mean) ** 2 for x in numbers) / n","  return math.sqrt(variance)"]))+"("+t+")";break;case"RANDOM":e.Python.definitions_.import_random="import random",o="random.choice("+t+")";break;default:throw Error("Unknown operator: "+o)}return[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.math_modulo=function(t){return[(e.Python.valueToCode(t,"DIVIDEND",e.Python.ORDER_MULTIPLICATIVE)||"0")+" % "+(t=e.Python.valueToCode(t,"DIVISOR",e.Python.ORDER_MULTIPLICATIVE)||"0"),e.Python.ORDER_MULTIPLICATIVE]},e.Python.math_constrain=function(t){return["min(max("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"0")+", "+(e.Python.valueToCode(t,"LOW",e.Python.ORDER_NONE)||"0")+"), "+(t=e.Python.valueToCode(t,"HIGH",e.Python.ORDER_NONE)||"float('inf')")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_random_int=function(t){return e.Python.definitions_.import_random="import random",["random.randint("+(e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"0")+", "+(t=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"0")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_random_float=function(t){return e.Python.definitions_.import_random="import random",["random.random()",e.Python.ORDER_FUNCTION_CALL]},e.Python.math_atan2=function(t){e.Python.definitions_.import_math="import math";var o=e.Python.valueToCode(t,"X",e.Python.ORDER_NONE)||"0";return["math.atan2("+(e.Python.valueToCode(t,"Y",e.Python.ORDER_NONE)||"0")+", "+o+") / math.pi * 180",e.Python.ORDER_MULTIPLICATIVE]},e.Python.procedures={},e.Python.procedures_defreturn=function(t){for(var o,n=[],i=t.workspace,r=e.Variables.allUsedVarModels(i)||[],s=0;o=r[s];s++)o=o.name,-1==t.arguments_.indexOf(o)&&n.push(e.Python.variableDB_.getName(o,e.Variables.NAME_TYPE));for(i=e.Variables.allDeveloperVariables(i),s=0;s<i.length;s++)n.push(e.Python.variableDB_.getName(i[s],e.Names.DEVELOPER_VARIABLE_TYPE));n=n.length?e.Python.INDENT+"global "+n.join(", ")+"\n":"",i=e.Python.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),r="",e.Python.STATEMENT_PREFIX&&(r+=e.Python.injectId(e.Python.STATEMENT_PREFIX,t)),e.Python.STATEMENT_SUFFIX&&(r+=e.Python.injectId(e.Python.STATEMENT_SUFFIX,t)),r&&(r=e.Python.prefixLines(r,e.Python.INDENT)),o="",e.Python.INFINITE_LOOP_TRAP&&(o=e.Python.prefixLines(e.Python.injectId(e.Python.INFINITE_LOOP_TRAP,t),e.Python.INDENT));var a=e.Python.statementToCode(t,"STACK"),l=e.Python.valueToCode(t,"RETURN",e.Python.ORDER_NONE)||"",u="";a&&l&&(u=r),l?l=e.Python.INDENT+"return "+l+"\n":a||(a=e.Python.PASS);var c=[];for(s=0;s<t.arguments_.length;s++)c[s]=e.Python.variableDB_.getName(t.arguments_[s],e.Variables.NAME_TYPE);return n="def "+i+"("+c.join(", ")+"):\n"+n+r+o+a+u+l,n=e.Python.scrub_(t,n),e.Python.definitions_["%"+i]=n,null},e.Python.procedures_defnoreturn=e.Python.procedures_defreturn,e.Python.procedures_callreturn=function(t){for(var o=e.Python.variableDB_.getName(t.getFieldValue("NAME"),e.Procedures.NAME_TYPE),n=[],i=0;i<t.arguments_.length;i++)n[i]=e.Python.valueToCode(t,"ARG"+i,e.Python.ORDER_NONE)||"None";return[o+"("+n.join(", ")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.procedures_callnoreturn=function(t){return e.Python.procedures_callreturn(t)[0]+"\n"},e.Python.procedures_ifreturn=function(t){var o="if "+(e.Python.valueToCode(t,"CONDITION",e.Python.ORDER_NONE)||"False")+":\n";return e.Python.STATEMENT_SUFFIX&&(o+=e.Python.prefixLines(e.Python.injectId(e.Python.STATEMENT_SUFFIX,t),e.Python.INDENT)),t.hasReturnValue_?(t=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"None",o+=e.Python.INDENT+"return "+t+"\n"):o+=e.Python.INDENT+"return\n",o},e.Python.texts={},e.Python.text=function(t){return[e.Python.quote_(t.getFieldValue("TEXT")),e.Python.ORDER_ATOMIC]},e.Python.text.forceString_=function(t){return e.Python.text.forceString_.strRegExp.test(t)?t:"str("+t+")"},e.Python.text.forceString_.strRegExp=/^\s*'([^']|\\')*'\s*$/,e.Python.text_join=function(t){switch(t.itemCount_){case 0:return["''",e.Python.ORDER_ATOMIC];case 1:return t=e.Python.valueToCode(t,"ADD0",e.Python.ORDER_NONE)||"''",[t=e.Python.text.forceString_(t),e.Python.ORDER_FUNCTION_CALL];case 2:var o=e.Python.valueToCode(t,"ADD0",e.Python.ORDER_NONE)||"''";return t=e.Python.valueToCode(t,"ADD1",e.Python.ORDER_NONE)||"''",[t=e.Python.text.forceString_(o)+" + "+e.Python.text.forceString_(t),e.Python.ORDER_ADDITIVE];default:o=[];for(var n=0;n<t.itemCount_;n++)o[n]=e.Python.valueToCode(t,"ADD"+n,e.Python.ORDER_NONE)||"''";return[t="''.join([str("+(t=e.Python.variableDB_.getDistinctName("x",e.Variables.NAME_TYPE))+") for "+t+" in ["+o.join(", ")+"]])",e.Python.ORDER_FUNCTION_CALL]}},e.Python.text_append=function(t){var o=e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE);return t=e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''",o+" = str("+o+") + "+e.Python.text.forceString_(t)+"\n"},e.Python.text_length=function(t){return["len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_FUNCTION_CALL]},e.Python.text_isEmpty=function(t){return["not len("+(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_LOGICAL_NOT]},e.Python.text_indexOf=function(t){var o="FIRST"==t.getFieldValue("END")?"find":"rfind",n=e.Python.valueToCode(t,"FIND",e.Python.ORDER_NONE)||"''";return o=(e.Python.valueToCode(t,"VALUE",e.Python.ORDER_MEMBER)||"''")+"."+o+"("+n+")",t.workspace.options.oneBasedIndex?[o+" + 1",e.Python.ORDER_ADDITIVE]:[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_charAt=function(t){var o=t.getFieldValue("WHERE")||"FROM_START",n=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_MEMBER)||"''";switch(o){case"FIRST":return[n+"[0]",e.Python.ORDER_MEMBER];case"LAST":return[n+"[-1]",e.Python.ORDER_MEMBER];case"FROM_START":return[n+"["+(t=e.Python.getAdjustedInt(t,"AT"))+"]",e.Python.ORDER_MEMBER];case"FROM_END":return[n+"["+(t=e.Python.getAdjustedInt(t,"AT",1,!0))+"]",e.Python.ORDER_MEMBER];case"RANDOM":return e.Python.definitions_.import_random="import random",[e.Python.provideFunction_("text_random_letter",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(text):","  x = int(random.random() * len(text))","  return text[x];"])+"("+n+")",e.Python.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).")},e.Python.text_getSubstring=function(t){var o=t.getFieldValue("WHERE1"),n=t.getFieldValue("WHERE2"),i=e.Python.valueToCode(t,"STRING",e.Python.ORDER_MEMBER)||"''";switch(o){case"FROM_START":"0"==(o=e.Python.getAdjustedInt(t,"AT1"))&&(o="");break;case"FROM_END":o=e.Python.getAdjustedInt(t,"AT1",1,!0);break;case"FIRST":o="";break;default:throw Error("Unhandled option (text_getSubstring)")}switch(n){case"FROM_START":t=e.Python.getAdjustedInt(t,"AT2",1);break;case"FROM_END":t=e.Python.getAdjustedInt(t,"AT2",0,!0),e.isNumber(String(t))?"0"==t&&(t=""):(e.Python.definitions_.import_sys="import sys",t+=" or sys.maxsize");break;case"LAST":t="";break;default:throw Error("Unhandled option (text_getSubstring)")}return[i+"["+o+" : "+t+"]",e.Python.ORDER_MEMBER]},e.Python.text_changeCase=function(t){var o={UPPERCASE:".upper()",LOWERCASE:".lower()",TITLECASE:".title()"}[t.getFieldValue("CASE")];return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_trim=function(t){var o={LEFT:".lstrip()",RIGHT:".rstrip()",BOTH:".strip()"}[t.getFieldValue("MODE")];return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_print=function(t){return"print("+(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''")+")\n"},e.Python.text_prompt_ext=function(t){var o=e.Python.provideFunction_("text_prompt",["def "+e.Python.FUNCTION_NAME_PLACEHOLDER_+"(msg):","  try:","    return raw_input(msg)","  except NameError:","    return input(msg)"]);return o=o+"("+(t.getField("TEXT")?e.Python.quote_(t.getFieldValue("TEXT")):e.Python.valueToCode(t,"TEXT",e.Python.ORDER_NONE)||"''")+")","NUMBER"==t.getFieldValue("TYPE")&&(o="float("+o+")"),[o,e.Python.ORDER_FUNCTION_CALL]},e.Python.text_prompt=e.Python.text_prompt_ext,e.Python.text_count=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+".count("+(t=e.Python.valueToCode(t,"SUB",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_MEMBER]},e.Python.text_replace=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+".replace("+(e.Python.valueToCode(t,"FROM",e.Python.ORDER_NONE)||"''")+", "+(t=e.Python.valueToCode(t,"TO",e.Python.ORDER_NONE)||"''")+")",e.Python.ORDER_MEMBER]},e.Python.text_reverse=function(t){return[(e.Python.valueToCode(t,"TEXT",e.Python.ORDER_MEMBER)||"''")+"[::-1]",e.Python.ORDER_MEMBER]},e.Python.variables={},e.Python.variables_get=function(t){return[e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE),e.Python.ORDER_ATOMIC]},e.Python.variables_set=function(t){var o=e.Python.valueToCode(t,"VALUE",e.Python.ORDER_NONE)||"0";return e.Python.variableDB_.getName(t.getFieldValue("VAR"),e.Variables.NAME_TYPE)+" = "+o+"\n"},e.Python.variablesDynamic={},e.Python.variables_get_dynamic=e.Python.variables_get,e.Python.variables_set_dynamic=e.Python.variables_set,e.Python}},function(e,t,o){"use strict";var n=o(192);o.n(n).a},function(e,t,o){"use strict";var n=o(193);o.n(n).a},function(e,t,o){"use strict";var n=o(194);o.n(n).a},function(e,t,o){"use strict";var n=o(195);o.n(n).a},function(e,t,o){"use strict";var n=o(196);o.n(n).a},function(e,t,o){"use strict";var n=o(197);o.n(n).a},function(e,t,o){"use strict";var n=o(198);o.n(n).a},function(e,t,o){"use strict";var n=o(199);o.n(n).a},function(e,t,o){"use strict";o.r(t);o(323),o(324);var n=o(31);var i=function(){return(i=Object.assign||function(e){for(var t,o=1,n=arguments.length;o<n;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};function r(e,t,o,n){return new(o||(o=Promise))((function(i,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){e.done?i(e.value):new o((function(t){t(e.value)})).then(s,a)}l((n=n.apply(e,t||[])).next())}))}function s(e,t){var o,n,i,r,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function a(r){return function(a){return function(r){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,n&&(i=2&r[0]?n.return:r[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,r[1])).done)return i;switch(n=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return s.label++,{value:r[1],done:!1};case 5:s.label++,n=r[1],r=[0];continue;case 7:r=s.ops.pop(),s.trys.pop();continue;default:if(!(i=(i=s.trys).length>0&&i[i.length-1])&&(6===r[0]||2===r[0])){s=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){s.label=r[1];break}if(6===r[0]&&s.label<i[1]){s.label=i[1],i=r;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(r);break}i[2]&&s.ops.pop(),s.trys.pop();continue}r=t.call(e,s)}catch(e){r=[6,e],n=0}finally{o=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,a])}}}var a,l,u=o(65),c=o(316),h=o.n(c),d=o(317),g=o.n(d),p=o(318),f=o.n(p),m=o(200),_=(new f.a).compile(m),y={startCase:o(396),snakeCase:o(422)};n.a.use(u.a);function v(e,t){t||(t="http");var o=window.location.host;return"8080"===window.location.port&&(o=window.location.hostname+":80"),t+"://"+o+e}function b(e){return new Promise((function(t){setTimeout((function(){return t(e)}),e)}))}function E(e,t){return e.filename===t.filename?0:e.filename.endsWith(".json")?1:t.filename.endsWith(".json")?-1:e.filename<t.filename?-1:1}function C(e){var t=e.filename.substring(e.filename.lastIndexOf(".")+1),o="py"===t?"application/x-python":"xml"===t?"application/xml":"text/plain",n=new Blob([e.content],{type:o+";charset=utf-8"});g.a.saveAs(n,e.filename)}var S=new u.a.Store({state:{loaded:!1,main:"",projects:[],openProjects:[],blocksConfiguration:void 0,currentProject:void 0,running:!1,saving:0,createOpen:!1,uploadFileKeyPressId:0,messages:[],messageCount:0,textLog:"",textLogOutputState:0,sidebarsHidden:{leftHidden:!1,rightHidden:!1}},mutations:(a={},a.SET_PROJECTS=function(e,t){e.loaded=!0,e.main=t.main,e.projects=t.projects.filter((function(e){return"blocks.json"!==e.filename})),e.projects.sort(E),e.blocksConfiguration=t.blocks},a.OPEN_PROJECT=function(e,t){var o=function(e){return e.filename===t},n=e.projects.find(o);n&&(e.openProjects.find(o)||e.openProjects.push(n),e.currentProject=n)},a.CLOSE_PROJECT=function(e,t){var o=e.openProjects.findIndex((function(e){return e.filename===t}));o>=0&&(e.openProjects.splice(o,1),e.currentProject&&e.currentProject.filename===t&&(o==e.openProjects.length&&o--,e.currentProject=e.openProjects[o]))},a.UPDATE_PROJECT=function(e,t){var o=t.content,n=t.blocklyGenerated,i=t.filename;i?e.projects=e.projects.map((function(e){return e.filename===i&&(e.content=o,e.blocklyGenerated=n),e})):e.currentProject&&(e.currentProject.content=o,e.currentProject.blocklyGenerated=n)},a.CREATE_PROJECT=function(e,t){e.projects.push(t),e.projects.sort(E)},a.DELETE_PROJECT=function(e,t){var o=e.projects.findIndex((function(e){return e.filename===t}));o>=0&&e.projects.splice(o,1)},a.SET_RUNNING=function(e,t){e.running=t},a.SET_SAVING=function(e,t){e.saving+=t?1:-1},a.MARK_SAVED=function(e,t){var o=function(e){return e.filename===t&&(e.lastSaveContent=e.content),e};e.currentProject&&e.currentProject.filename&&(e.currentProject.lastSaveContent=e.currentProject.content),e.projects=e.projects.map(o),e.openProjects=e.openProjects.map(o)},a.SET_CREATE_OPEN=function(e,t){e.createOpen=t},a.SHOW_UPLOAD_DIALOG=function(e){e.uploadFileKeyPressId++},a.SHOW_MESSAGE=function(e,t){var o=t.id,n=t.message,i=t.icon,r=e.messages.findIndex((function(e){return e.id===o}));r>=0?(e.messages[r].message=n,e.messages[r].icon=i):e.messages.push({id:o,message:n,icon:i}),e.messageCount++},a.DISMISS_MESSAGE=function(e,t){var o=e.messages.findIndex((function(e){return e.id===t}));o>=0&&(e.messages[o].timeout&&clearTimeout(e.messages[o].timeout),e.messages.splice(o,1))},a.SET_TEXT_LOG=function(e,t){e.textLog!==t&&(0==e.textLogOutputState?""===t.trim()&&(e.textLogOutputState=1):1==e.textLogOutputState&&""!==t.trim()&&(e.textLogOutputState=2)),e.textLog=t},a.RESET_TEXT_LOG_OUTPUT=function(e){e.textLogOutputState=0},a.SET_SIDEBAR_HIDDEN=function(e,t){var o=t.right,n=t.hidden;o?e.sidebarsHidden.rightHidden=n:e.sidebarsHidden.leftHidden=n},a),actions:(l={},l.FETCH_PROJECTS=function(e){var t=e.commit;return fetch(v("/files/")).then((function(e){return e.json()})).then((function(e){return e.projects.forEach((function(e){e.name=y.startCase(e.filename.substring(0,e.filename.lastIndexOf(".")))})),t("SET_PROJECTS",e),!0})).then((function(e){if(e){var o=function(){fetch(v("/run/output")).then((function(e){return e.text()})).then((function(e){t("SET_TEXT_LOG",e),setTimeout((function(){return o()}),1e3)})).catch((function(e){console.error(e),e.text="Unable to load logs!",setTimeout((function(){return o()}),1e3)}))};o()}}))},l.OPEN_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;o.currentProject&&i("SAVE_PROJECT",o.currentProject.filename),n("MARK_SAVED",t),n("OPEN_PROJECT",t)},l.CLOSE_PROJECT=function(e,t){var o=e.commit;(0,e.dispatch)("SAVE_PROJECT",t),o("CLOSE_PROJECT",t)},l.SAVE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;!t&&o.currentProject&&(t=o.currentProject.filename);var r=o.projects.find((function(e){return e.filename===t}));if(r){if(r.content===r.lastSaveContent)return;if(r.filename.endsWith(".json")){var s=void 0;try{s=JSON.parse(r.content)}catch(e){return void i("SHOW_MESSAGE",{id:"JSON_ERROR",message:"Unable to save block definitions! Failed to parse JSON!",icon:"exclamation-circle"})}if(!_(s)&&_.errors){console.log(_.errors);var a=_.errors[0];return void i("SHOW_MESSAGE",{id:"JSON_ERROR",message:"Unable to save block definitions! At "+a.dataPath+", "+a.message,icon:"exclamation-circle"})}}return n("SET_SAVING",!0),fetch(v("/files/save/"+r.filename),{method:"POST",body:r.content}).then((function(e){return setTimeout((function(){n("MARK_SAVED",t),n("SET_SAVING",!1),i("SHOW_MESSAGE",{id:"SAVED",message:r.name+" saved!",icon:"info-circle"})}),250),e}))}return Promise.resolve()},l.CREATE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch,r=t.type,s=t.name,a=t.filename,l=t.loadContent;if(a)s=y.startCase(a.substring(0,a.lastIndexOf(".")));else{var u="python"===r?"py":"xml",c=y.snakeCase(s);a=c+"."+u,s=y.startCase(c)}if(o.projects.find((function(e){return e.filename===a})))return a?(n("CLOSE_PROJECT",a),n("UPDATE_PROJECT",{filename:a,content:l}),i("SAVE_PROJECT",a),void i("OPEN_PROJECT",a)):void alert("Project with that name already exists!");var h={name:s,filename:a,content:l||("python"===r?"":'<xml xmlns="http://www.w3.org/1999/xhtml"></xml>')};n("CREATE_PROJECT",h),i("SAVE_PROJECT",h.filename),i("OPEN_PROJECT",h.filename)},l.DELETE_PROJECT=function(e,t){var o=e.state,n=e.commit,i=o.openProjects.find((function(e){return e.filename===t}));return i&&n("CLOSE_PROJECT",i.filename),n("DELETE_PROJECT",t),fetch(v("/files/delete/"+t),{method:"DELETE"})},l.RUN_PROJECT=function(e,t){var o=e.state,n=e.commit,i=e.dispatch;return r(this,void 0,void 0,(function(){var e,a,l,u,c,d,g=this;return s(this,(function(p){switch(p.label){case 0:return o.running?[2]:o.currentProject?(n("SET_RUNNING",!0),t||C(o.currentProject),[4,i("SAVE_PROJECT")]):[3,2];case 1:for(p.sent(),e=o.currentProject.filename,a=new h.a,l=[],o.currentProject.filename.endsWith(".xml")?(u=o.blocksConfiguration||{header:"",footer:"",requires:[],blocks:[]},c=o.currentProject.blocklyGenerated,a.file("main.py",c||""),l=o.projects.filter((function(e){return e.filename.endsWith(".py")&&u.requires.includes(e.filename)}))):(a.file("main.py",o.currentProject.content),l=o.projects.filter((function(t){return t.filename.endsWith(".py")&&t.filename!=e}))),d=0;d<l.length;d++)a.file(l[d].filename,l[d].content);a.generateAsync({type:"blob"}).then((function(e){var t=new FormData;return t.append("uploaded_file",e,"code.zip"),i("SHOW_MESSAGE",{id:"RUN",message:"Running on Robot...",icon:"info-circle"}),n("RESET_TEXT_LOG_OUTPUT"),fetch(v("/upload/upload"),{method:"POST",body:t})})).then((function(){return r(g,void 0,void 0,(function(){var e;return s(this,(function(t){switch(t.label){case 0:e=0,t.label=1;case 1:return 2===o.textLogOutputState?[3,3]:[4,b(500)];case 2:return t.sent(),10==++e?[3,3]:[3,1];case 3:return[4,b(1e3)];case 4:return t.sent(),[2]}}))}))})).then((function(){var e=new FormData;return e.append("zone","0"),e.append("mode","development"),fetch(v("/run/start"),{method:"POST",body:e})})).then((function(){return n("SET_RUNNING",!1)})).catch((function(e){console.error(e),n("SET_RUNNING",!1)})),p.label=2;case 2:return[2]}}))}))},l.STOP_PROJECT=function(e){return(0,e.dispatch)("SHOW_MESSAGE",{id:"STOP",message:"Robot stopped!",icon:"info-circle"}),fetch(v("/run/stop"),{method:"POST"})},l.SHOW_MESSAGE=function(e,t){var o=e.commit,n=e.state;t.id=t.id||n.messageCount;var i=n.messages.findIndex((function(e){return e.id===t.id}));i>=0?clearTimeout(n.messages[i].timeout):i=n.messages.length,o("SHOW_MESSAGE",t),n.messages[i].timeout=setTimeout((function(){o("DISMISS_MESSAGE",t.id)}),5e3)},l)}),T=o(115),w={prefix:"fas",iconName:"chevron-left",icon:[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"]},k={prefix:"fas",iconName:"download",icon:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},O={prefix:"fas",iconName:"exclamation-circle",icon:[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},R={prefix:"fas",iconName:"exclamation-triangle",icon:[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"]},N={prefix:"fas",iconName:"info-circle",icon:[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"]},L={prefix:"fas",iconName:"play",icon:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"]},I={prefix:"fas",iconName:"plus",icon:[448,512,[],"f067","M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z"]},D={prefix:"fas",iconName:"stop",icon:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"]},A={prefix:"fas",iconName:"sync-alt",icon:[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"]},P={prefix:"fas",iconName:"trash",icon:[448,512,[],"f1f8","M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z"]},M={prefix:"fas",iconName:"upload",icon:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"]},x=n.a.extend({name:"app",data:function(){return{deleteOpen:!1,deleteProject:void 0}},computed:Object(u.b)(["loaded","createOpen"]),methods:{openCreate:function(){this.$store.commit("SET_CREATE_OPEN",!0)},closeCreate:function(){this.$store.commit("SET_CREATE_OPEN",!1)},showDelete:function(e){this.deleteProject=e,this.deleteOpen=!0},download:function(e){C(e)}}});o(423);function B(e,t,o,n,i,r,s,a){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=o,u._compiled=!0),n&&(u.functional=!0),r&&(u._scopeId="data-v-"+r),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},u._ssrRegister=l):i&&(l=a?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:u}}var F=B(x,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{attrs:{id:"app"}},[e.loaded?[o("Sidebar",[o("ProjectList",{on:{create:e.openCreate,delete:e.showDelete,download:e.download}})],1),e._v(" "),o("Editor"),e._v(" "),o("Sidebar",{attrs:{right:!0}},[o("Logs")],1),e._v(" "),o("CreateProjectDialog",{directives:[{name:"show",rawName:"v-show",value:e.createOpen,expression:"createOpen"}],on:{close:e.closeCreate}}),e._v(" "),o("DeleteProjectDialog",{directives:[{name:"show",rawName:"v-show",value:e.deleteOpen,expression:"deleteOpen"}],attrs:{project:e.deleteProject},on:{close:function(t){e.deleteOpen=!1}}})]:o("div",{staticClass:"empty-state"},[o("FontAwesomeIcon",{attrs:{icon:["fas","exclamation-triangle"],size:"10x"}}),e._v(" "),o("h2",[e._v("Unable to connect to Shepherd!")])],1),e._v(" "),o("Messages")],2)}),[],!1,null,null,null).exports,H=n.a.extend({name:"icon-button",props:{tooltip:{type:String}}}),U=(o(424),B(H,(function(){var e=this,t=e.$createElement;return(e._self._c||t)("a",{staticClass:"icon-button",attrs:{title:e.tooltip},on:{click:function(t){return t.stopPropagation(),e.$emit("click",t)}}},[e._t("default")],2)}),[],!1,null,null,null).exports),V=n.a.extend({name:"messages",computed:Object(u.b)(["messages"]),methods:{dismiss:function(e){this.$store.commit("DISMISS_MESSAGE",e)}}}),W=(o(425),B(V,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{staticClass:"messages"},[o("transition-group",{attrs:{name:"message"}},e._l(e.messages,(function(t){return o("div",{key:t.id,staticClass:"message"},[o("FontAwesomeIcon",{attrs:{icon:["fas",t.icon],"fixed-width":""}}),e._v(" "),o("p",[e._v(e._s(t.message))]),e._v(" "),o("a",{staticClass:"close",attrs:{title:"Dismiss"},on:{click:function(o){return e.dismiss(t.id)}}})],1)})),0)],1)}),[],!1,null,null,null).exports),j=n.a.extend({name:"editor",computed:i({},Object(u.b)(["sidebarsHidden"]))}),G=(o(426),B(j,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"container"}},[t("Tabs"),this._v(" "),t("div",{class:this.sidebarsHidden,attrs:{id:"editor-container"}},[t("Monaco"),this._v(" "),t("Blockly")],1)],1)}),[],!1,null,null,null).exports),z=n.a.extend({name:"tabs",computed:Object(u.b)(["openProjects"])}),K=(o(427),B(z,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"tabs"}},this._l(this.openProjects,(function(e){return t("ProjectTab",{key:e.filename,attrs:{name:e.name,filename:e.filename,unsaved:e.content!==e.lastSaveContent,tab:!0}})})),1)}),[],!1,null,null,null).exports),Y=o(119),X=o(319),q=o(166),$=function(e,t){return($=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};function J(e,t){function o(){this.constructor=e}$(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function Z(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,i,r=o.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(o=r.return)&&o.call(r)}finally{if(i)throw i.error}}return s}function Q(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Z(arguments[t]));return e}var ee=function(e,t){this.target=t,this.type=e},te=function(e){function t(t,o){var n=e.call(this,"error",o)||this;return n.message=t.message,n.error=t,n}return J(t,e),t}(ee),oe=function(e){function t(t,o,n){void 0===t&&(t=1e3),void 0===o&&(o="");var i=e.call(this,"close",n)||this;return i.wasClean=!0,i.code=t,i.reason=o,i}return J(t,e),t}(ee),ne=function(){if("undefined"!=typeof WebSocket)return WebSocket},ie={maxReconnectionDelay:1e4,minReconnectionDelay:1e3+4e3*Math.random(),minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},re=function(){function e(e,t,o){var n=this;void 0===o&&(o={}),this._listeners={error:[],message:[],open:[],close:[]},this._retryCount=-1,this._shouldReconnect=!0,this._connectLock=!1,this._binaryType="blob",this._closeCalled=!1,this._messageQueue=[],this.onclose=void 0,this.onerror=void 0,this.onmessage=void 0,this.onopen=void 0,this._handleOpen=function(e){n._debug("open event");var t=n._options.minUptime,o=void 0===t?ie.minUptime:t;clearTimeout(n._connectTimeout),n._uptimeTimeout=setTimeout((function(){return n._acceptOpen()}),o),n._ws.binaryType=n._binaryType,n._messageQueue.forEach((function(e){return n._ws.send(e)})),n._messageQueue=[],n.onopen&&n.onopen(e),n._listeners.open.forEach((function(t){return n._callEventListener(e,t)}))},this._handleMessage=function(e){n._debug("message event"),n.onmessage&&n.onmessage(e),n._listeners.message.forEach((function(t){return n._callEventListener(e,t)}))},this._handleError=function(e){n._debug("error event",e.message),n._disconnect(void 0,"TIMEOUT"===e.message?"timeout":void 0),n.onerror&&n.onerror(e),n._debug("exec error listeners"),n._listeners.error.forEach((function(t){return n._callEventListener(e,t)})),n._connect()},this._handleClose=function(e){n._debug("close event"),n._clearTimeouts(),n._shouldReconnect&&n._connect(),n.onclose&&n.onclose(e),n._listeners.close.forEach((function(t){return n._callEventListener(e,t)}))},this._url=e,this._protocols=t,this._options=o,this._options.startClosed&&(this._shouldReconnect=!1),this._connect()}return Object.defineProperty(e,"CONNECTING",{get:function(){return 0},enumerable:!0,configurable:!0}),Object.defineProperty(e,"OPEN",{get:function(){return 1},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSING",{get:function(){return 2},enumerable:!0,configurable:!0}),Object.defineProperty(e,"CLOSED",{get:function(){return 3},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CONNECTING",{get:function(){return e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"OPEN",{get:function(){return e.OPEN},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSING",{get:function(){return e.CLOSING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"CLOSED",{get:function(){return e.CLOSED},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"binaryType",{get:function(){return this._ws?this._ws.binaryType:this._binaryType},set:function(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"retryCount",{get:function(){return Math.max(this._retryCount,0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"bufferedAmount",{get:function(){return this._messageQueue.reduce((function(e,t){return"string"==typeof t?e+=t.length:t instanceof Blob?e+=t.size:e+=t.byteLength,e}),0)+(this._ws?this._ws.bufferedAmount:0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"extensions",{get:function(){return this._ws?this._ws.extensions:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"protocol",{get:function(){return this._ws?this._ws.protocol:""},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"readyState",{get:function(){return this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._ws?this._ws.url:""},enumerable:!0,configurable:!0}),e.prototype.close=function(e,t){void 0===e&&(e=1e3),this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),this._ws?this._ws.readyState!==this.CLOSED?this._ws.close(e,t):this._debug("close: already closed"):this._debug("close enqueued: no ws instance")},e.prototype.reconnect=function(e,t){this._shouldReconnect=!0,this._closeCalled=!1,this._retryCount=-1,this._ws&&this._ws.readyState!==this.CLOSED?(this._disconnect(e,t),this._connect()):this._connect()},e.prototype.send=function(e){if(this._ws&&this._ws.readyState===this.OPEN)this._debug("send",e),this._ws.send(e);else{var t=this._options.maxEnqueuedMessages,o=void 0===t?ie.maxEnqueuedMessages:t;this._messageQueue.length<o&&(this._debug("enqueue",e),this._messageQueue.push(e))}},e.prototype.addEventListener=function(e,t){this._listeners[e]&&this._listeners[e].push(t)},e.prototype.removeEventListener=function(e,t){this._listeners[e]&&(this._listeners[e]=this._listeners[e].filter((function(e){return e!==t})))},e.prototype._debug=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._options.debug&&console.log.apply(console,Q(["RWS>"],e))},e.prototype._getNextDelay=function(){var e=this._options,t=e.reconnectionDelayGrowFactor,o=void 0===t?ie.reconnectionDelayGrowFactor:t,n=e.minReconnectionDelay,i=void 0===n?ie.minReconnectionDelay:n,r=e.maxReconnectionDelay,s=void 0===r?ie.maxReconnectionDelay:r,a=0;return this._retryCount>0&&(a=i*Math.pow(o,this._retryCount-1))>s&&(a=s),this._debug("next delay",a),a},e.prototype._wait=function(){var e=this;return new Promise((function(t){setTimeout(t,e._getNextDelay())}))},e.prototype._getNextUrl=function(e){if("string"==typeof e)return Promise.resolve(e);if("function"==typeof e){var t=e();if("string"==typeof t)return Promise.resolve(t);if(t.then)return t}throw Error("Invalid URL")},e.prototype._connect=function(){var e=this;if(!this._connectLock&&this._shouldReconnect){this._connectLock=!0;var t=this._options,o=t.maxRetries,n=void 0===o?ie.maxRetries:o,i=t.connectionTimeout,r=void 0===i?ie.connectionTimeout:i,s=t.WebSocket,a=void 0===s?ne():s;if(this._retryCount>=n)this._debug("max retries reached",this._retryCount,">=",n);else{if(this._retryCount++,this._debug("connect",this._retryCount),this._removeListeners(),void 0===(l=a)||!l||2!==l.CLOSING)throw Error("No valid WebSocket class provided");var l;this._wait().then((function(){return e._getNextUrl(e._url)})).then((function(t){e._closeCalled||(e._debug("connect",{url:t,protocols:e._protocols}),e._ws=e._protocols?new a(t,e._protocols):new a(t),e._ws.binaryType=e._binaryType,e._connectLock=!1,e._addListeners(),e._connectTimeout=setTimeout((function(){return e._handleTimeout()}),r))}))}}},e.prototype._handleTimeout=function(){this._debug("timeout event"),this._handleError(new te(Error("TIMEOUT"),this))},e.prototype._disconnect=function(e,t){if(void 0===e&&(e=1e3),this._clearTimeouts(),this._ws){this._removeListeners();try{this._ws.close(e,t),this._handleClose(new oe(e,t,this))}catch(e){}}},e.prototype._acceptOpen=function(){this._debug("accept open"),this._retryCount=0},e.prototype._callEventListener=function(e,t){"handleEvent"in t?t.handleEvent(e):t(e)},e.prototype._removeListeners=function(){this._ws&&(this._debug("removeListeners"),this._ws.removeEventListener("open",this._handleOpen),this._ws.removeEventListener("close",this._handleClose),this._ws.removeEventListener("message",this._handleMessage),this._ws.removeEventListener("error",this._handleError))},e.prototype._addListeners=function(){this._ws&&(this._debug("addListeners"),this._ws.addEventListener("open",this._handleOpen),this._ws.addEventListener("close",this._handleClose),this._ws.addEventListener("message",this._handleMessage),this._ws.addEventListener("error",this._handleError))},e.prototype._clearTimeouts=function(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)},e}();function se(e){q.MonacoServices.install(e);var t=function(e){var t={maxReconnectionDelay:1e4,minReconnectionDelay:1e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:1e4,maxRetries:1/0,debug:!1};return new re(e,void 0,t)}(v("/pyls","ws"));Object(X.listen)({webSocket:t,onConnection:function(e){var t=function(e){return new q.MonacoLanguageClient({name:"Python Language Client",clientOptions:{documentSelector:["python"],errorHandler:{error:function(){return q.ErrorAction.Continue},closed:function(){return q.CloseAction.DoNotRestart}}},connectionProvider:{get:function(t,o){return Promise.resolve(Object(q.createConnection)(e,t,o))}}})}(e).start();e.onClose((function(){return t.dispose()}))}})}Y.languages.register({id:"python",extensions:[".py"],aliases:["PYTHON","python"]}),Y.languages.setMonarchTokensProvider("python",{keywords:["and","del","from","not","while","as","elif","global","or","with","assert","else","if","pass","yield","break","except","import","print","class","exec","in","raise","continue","finally","is","return","def","for","lambda","try",":","=","isinstance","__debug__"],operators:["+","-","*","**","/","//","%","<<",">>","&","|","^","~","<",">","<=",">=","==","!=","<>","+=","-=","*=","/=","//=","%=","&=","|=","^=",">>=","<<=","**="],brackets:[["(",")","delimiter.parenthesis"],["{","}","delimiter.curly"],["[","]","delimiter.square"]],symbols:/[=><!~&|+\-*\/\^%]+/,delimiters:/[;=.@:,`]/,escapes:/\\(?:[abfnrtv\\"'\n\r]|x[0-9A-Fa-f]{2}|[0-7]{3}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|N\{\w+\})/,rawpre:/(?:[rR]|ur|Ur|uR|UR|br|Br|bR|BR)/,strpre:/(?:[buBU])/,tokenizer:{root:[[/@strpre?("""|''')/,{token:"string.delim",bracket:"@open",next:"@mstring.$1"}],[/@strpre?"([^"\\]|\\.)*$/,"string.invalid"],[/@strpre?'([^'\\]|\\.)*$/,"string.invalid"],[/@strpre?(["'])/,{token:"string.delim",bracket:"@open",next:"@string.$1"}],[/@rawpre("""|''')/,{token:"string.delim",bracket:"@open",next:"@mrawstring.$1"}],[/@rawpre"([^"\\]|\\.)*$/,"string.invalid"],[/@rawpre'([^'\\]|\\.)*$/,"string.invalid"],[/@rawpre(["'])/,{token:"string.delim",bracket:"@open",next:"@rawstring.$1"}],[/__[\w$]*/,"predefined"],[/[a-z_$][\w$]*/,{cases:{"@keywords":"keyword","@default":"identifier"}}],[/[A-Z][\w]*/,{cases:{"~[A-Z0-9_]+":"constructor.identifier","@default":"namespace.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@keywords":"keyword","@operators":"operator","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+[lL]?/,"number.hex"],[/0[bB][0-1]+[lL]?/,"number.binary"],[/(0[oO][0-7]+|0[0-7]+)[lL]?/,"number.octal"],[/(0|[1-9]\d*)[lL]?/,"number"],[":",{token:"keyword",bracket:"@open"}],[/@delimiters/,{cases:{"@keywords":"keyword","@default":"delimiter"}}]],comment:[[/[^\/*]+/,"comment"],[/\/\*/,"comment","@push"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],mstring:[{include:"@strcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],string:[{include:"@strcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],strcontent:[[/[^\\"']+/,"string"],[/\\$/,"string.escape"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"]],mrawstring:[{include:"@rawstrcontent"},[/"""|'''/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/["']/,"string"],[/./,"string.invalid"]],rawstring:[{include:"@rawstrcontent"},[/["']/,{cases:{"$#==$S2":{token:"string.delim",bracket:"@close",next:"@pop"},"@default":{token:"string"}}}],[/./,"string.invalid"]],rawstrcontent:[[/[^\\"']+/,"string"],[/\\["']/,"string"],[/\\u[0-9A-Fa-f]{4}/,"string.escape"],[/\\/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"],[/#.*$/,"comment"]]}}),Y.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,allowComments:!1,schemas:[{uri:"http://robot.go/blocks-schema.json",fileMatch:["*.py"],schema:m}]});var ae,le=new n.a;var ue=B(n.a.extend({name:"monaco",data:function(){return{editor:void 0,saveTimeout:void 0}},computed:i(i({},Object(u.b)(["currentProject"])),{visible:function(){var e=this.currentProject;return e&&(e.filename.endsWith(".py")||e.filename.endsWith(".json"))||!this.editor}}),mounted:function(){var e,t,o,n,i=this;this.editor=(e=this.$refs.monaco,t="",o=this.$store.state.main,n=Y.editor.create(e,{model:Y.editor.createModel(t,"python",Y.Uri.parse(o)),language:"javascript",theme:"vs-dark"}),le.$on("resize",(function(){n.layout()})),window.addEventListener("resize",(function(){n.layout()})),se(n),n),this.editor.onDidChangeModelContent((function(){i.saveTimeout&&clearTimeout(i.saveTimeout),i.editor&&i.$store.commit("UPDATE_PROJECT",{content:i.editor.getModel().getValue()}),i.saveTimeout=setTimeout((function(){return i.saveTimeout=void 0,i.$store.dispatch("SAVE_PROJECT")}),3e3)}))},watch:(ae={},ae["$store.state.currentProject"]=function(e){if(e){var t=e.filename.substring(e.filename.lastIndexOf("."));if((".py"===t||".json"===t)&&this.editor){this.editor.getModel().setValue(e.content);var o=".py"==t?"python":"json";Y.editor.setModelLanguage(this.editor.getModel(),o)}}},ae.visible=function(e){var t=this;e&&setTimeout((function(){t.editor&&t.editor.layout()}),25)},ae)}),(function(){var e=this.$createElement;return(this._self._c||e)("div",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],ref:"monaco",attrs:{id:"monaco"}})}),[],!1,null,null,null).exports;const ce=0,he=210,de=90,ge=70;function pe(e){e.Blocks.vision_see={init:function(){this.appendDummyInput().appendField("Visible markers"),this.setOutput(!0,"Array"),this.setColour(de),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_camera_res={init:function(){this.appendDummyInput().appendField("Set camera resolution to").appendField(new e.FieldDropdown([["640x480","(640, 480)"],["1296x736","(1296, 736)"],["1296x976","(1296, 976)"],["1920x1088","(1920, 1088)"],["1920x1440","(1920, 1440)"]]),"VISION_RESOLUTION"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(de),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_distance_to={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Distance to"),this.setInputsInline(!1),this.setOutput(!0,"Number"),this.setColour(de),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_angle_to={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Angle to"),this.setInputsInline(!1),this.setOutput(!0,"Number"),this.setColour(de),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type={init:function(){this.appendValueInput("MARKER").setCheck("Marker").appendField("Marker type of"),this.setInputsInline(!1),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Python.vision_see=function(t){return["R.see()",e.Python.ORDER_NONE]},e.Python.vision_camera_res=function(e){return`R.camera.res = ${e.getFieldValue("VISION_RESOLUTION")}\n`},e.Python.vision_distance_to=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.dist`,e.Python.ORDER_NONE]},e.Python.vision_angle_to=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.bearing.y`,e.Python.ORDER_NONE]},e.Python.vision_marker_type=function(t){return[`${e.Python.valueToCode(t,"MARKER",e.Python.ORDER_ATOMIC)}.info.type`,e.Python.ORDER_NONE]},function(e){e.Blocks.vision_marker_type_arena={init:function(){this.appendDummyInput().appendField("Arena"),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_winkie={init:function(){this.appendDummyInput().appendField("Winkie"),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_gillikin={init:function(){this.appendDummyInput().appendField("Gillikin"),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_quadling={init:function(){this.appendDummyInput().appendField("Quadling"),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.vision_marker_type_munchkin={init:function(){this.appendDummyInput().appendField("Munchkin"),this.setOutput(!0,"MarkerType"),this.setColour(ge),this.setTooltip(""),this.setHelpUrl("")}},e.Python.vision_marker_type_arena=function(){return["MARKER_ARENA",e.Python.ORDER_NONE]},e.Python.vision_marker_type_winkie=function(){return["MARKER_CUBE_WINKIE",e.Python.ORDER_NONE]},e.Python.vision_marker_type_gillikin=function(){return["MARKER_CUBE_GILLIKIN",e.Python.ORDER_NONE]},e.Python.vision_marker_type_quadling=function(){return["MARKER_CUBE_QUADLING",e.Python.ORDER_NONE]},e.Python.vision_marker_type_munchkin=function(){return["MARKER_CUBE_MUNCHKIN",e.Python.ORDER_NONE]}}(e)}function fe(e){!function(e){e.Blocks.motors_set_power={init:function(){this.appendDummyInput().appendField("Set motor").appendField(new e.FieldNumber(1,1,2,1),"MOTOR_INDEX"),this.appendValueInput("MOTOR_PERCENT").setCheck("Number").appendField("to"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_move_for_time={init:function(){this.appendDummyInput().appendField("Move ").appendField(new e.FieldDropdown([["forwards","FORWARDS"],["backwards","BACKWARDS"]]),"MOTORS_DIRECTION"),this.appendValueInput("MOTORS_TIME").setCheck("Number").appendField("for"),this.appendValueInput("MOTORS_POWER_PERCENT").setCheck("Number").appendField("second(s) at"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_turn_for_time={init:function(){this.appendDummyInput().appendField("Turn").appendField(new e.FieldDropdown([["clockwise","CLOCKWISE"],["anticlockwise","ANTICLOCKWISE"]]),"MOTORS_DIRECTION"),this.appendValueInput("MOTORS_TIME").setCheck("Number").appendField("for"),this.appendValueInput("MOTORS_POWER").setCheck("Number").appendField("second(s) at"),this.appendDummyInput().appendField("% power"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.motors_reset={init:function(){this.appendDummyInput().appendField("Stop both motors"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.servo_set_position={init:function(){this.appendDummyInput().appendField("Set servo").appendField(new e.FieldNumber(1,1,4,1),"SERVO_INDEX"),this.appendValueInput("SERVO_POSITION").setCheck("Number").appendField("to the"),this.appendDummyInput().appendField("% position"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.zone={init:function(){this.appendDummyInput().appendField("Zone"),this.setOutput(!0,null),this.setColour(ce),this.setTooltip(""),this.setHelpUrl("")}},e.Python.motors_set_power=function(t){return`R.motors[${t.getFieldValue("MOTOR_INDEX")}] = ${e.Python.valueToCode(t,"MOTOR_PERCENT",e.Python.ORDER_ATOMIC)}\n`},e.Python.motors_move_for_time=function(t){const o=t.getFieldValue("MOTORS_DIRECTION"),n=e.Python.valueToCode(t,"MOTORS_TIME",e.Python.ORDER_ATOMIC),i=e.Python.valueToCode(t,"MOTORS_POWER_PERCENT",e.Python.ORDER_ATOMIC),r="FORWARDS"===o?"":"-";return[`R.motors[1] = ${r}${i}`,`R.motors[2] = ${r}${i}`,`time.sleep(${n})`,"R.motors[1] = 0","R.motors[2] = 0",""].join("\n")},e.Python.motors_turn_for_time=function(t){const o=t.getFieldValue("MOTORS_DIRECTION"),n=e.Python.valueToCode(t,"MOTORS_TIME",e.Python.ORDER_ATOMIC),i=e.Python.valueToCode(t,"MOTORS_POWER",e.Python.ORDER_ATOMIC);return[`R.motors[1] = ${"clockwise"===o?"":"-"}${i}`,`R.motors[2] = ${"clockwise"===o?"-":""}${i}`,`time.sleep(${n})`,"R.motors[1] = 0","R.motors[2] = 0",""].join("\n")},e.Python.motors_reset=function(){return"R.motors[1] = 0\nR.motors[2] = 0\n"},e.Python.servo_set_position=function(t){return`R.servos[${t.getFieldValue("SERVO_INDEX")}] = ${e.Python.valueToCode(t,"SERVO_POSITION",e.Python.ORDER_ATOMIC)}\n`},e.Python.zone=function(){return["R.zone",e.Python.ORDER_NONE]}}(e),function(e){e.Blocks.gpio_set_mode={init:function(){this.appendDummyInput().appendField("Set the mode of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX").appendField("to").appendField(new e.FieldDropdown([["Output","OUTPUT"],["Digital Input","INPUT"],["Analog Input","INPUT_ANALOG"],["Input Pullup","INPUT_PULLUP"]]),"GPIO_MODE"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(he),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_write_digital={init:function(){this.appendValueInput("GPIO_STATE").setCheck("Boolean").appendField("Set GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX").appendField("to"),this.setInputsInline(!0),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(he),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_read_digital={init:function(){this.appendDummyInput().appendField("Digital value of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX"),this.setOutput(!0,"Boolean"),this.setColour(he),this.setTooltip(""),this.setHelpUrl("")}},e.Blocks.gpio_read_analog={init:function(){this.appendDummyInput().appendField("Analog value of GPIO").appendField(new e.FieldNumber(1,1,4,1),"GPIO_INDEX"),this.setOutput(!0,"Number"),this.setColour(he),this.setTooltip(""),this.setHelpUrl("")}},e.Python.gpio_set_mode=function(e){return`R.gpio[${e.getFieldValue("GPIO_INDEX")}].mode = ${e.getFieldValue("GPIO_MODE")}\n`},e.Python.gpio_write_digital=function(t){return`R.gpio[${t.getFieldValue("GPIO_INDEX")}].digital = ${e.Python.valueToCode(t,"GPIO_STATE",e.Python.ORDER_ATOMIC)}\n`},e.Python.gpio_read_digital=function(t){return[`R.gpio[${t.getFieldValue("GPIO_INDEX")}].digital`,e.Python.ORDER_NONE]},e.Python.gpio_read_analog=function(t){return[`R.gpio[${t.getFieldValue("GPIO_INDEX")}].analog`,e.Python.ORDER_NONE]}}(e),pe(e),e.Blocks.wait={init:function(){this.appendDummyInput().appendField("Wait").appendField(new e.FieldNumber(1,0,1/0,.1),"TIME").appendField("second(s)"),this.setPreviousStatement(!0,null),this.setNextStatement(!0,null),this.setColour(210),this.setTooltip(""),this.setHelpUrl("")}},e.Python.wait=function(e){return`time.sleep(${e.getFieldValue("TIME")})\n`}}var me,_e=o(320),ye=o.n(_e),ve=o(533),be=n.a.extend({name:"blockly",data:function(){return{workspace:void 0,loaded:!1,saveTimeout:void 0,code:""}},computed:i(i({},Object(u.b)(["currentProject","blocksConfiguration"])),{visible:function(){var e=this.currentProject;return e&&e.filename.endsWith(".xml")||!this.loaded}}),mounted:function(){var e=this;fe(ve),this.workspace=ve.inject(this.$refs.blockly,{toolbox:ye.a,trashcan:!1}),window.addEventListener("resize",this.onResize,!1),this.onResize(),le.$on("resize",this.onResize),ve.svgResize(this.workspace),this.workspace.addChangeListener((function(){e.code="from robot import *\nimport time\n\nR = Robot()\n\n"+ve.Python.workspaceToCode(e.workspace)+"\n",e.saveTimeout&&clearTimeout(e.saveTimeout),e.workspace&&e.$store.commit("UPDATE_PROJECT",{content:e.toXML(),blocklyGenerated:e.code}),e.saveTimeout=setTimeout((function(){return e.saveTimeout=void 0,e.$store.dispatch("SAVE_PROJECT")}),3e3)})),this.loaded=!0},methods:{onResize:function(){var e=this.$refs.blocklyArea,t=this.$refs.blockly;t.style.width=e.offsetWidth+"px",t.style.height=e.offsetHeight+"px",ve.svgResize(this.workspace)},toXML:function(){var e=ve.Xml.workspaceToDom(this.workspace);return ve.Xml.domToPrettyText(e)},fromXML:function(e){var t=ve.Xml.textToDom(e);return this.workspace.clear(),ve.Xml.domToWorkspace(t,this.workspace)}},watch:(me={},me["$store.state.currentProject"]=function(e){var t=this;if(e&&e.filename.endsWith(".xml")&&this.workspace){var o=function(){t.fromXML(e.content),setTimeout((function(){return ve.svgResize(t.workspace)}),500)};o(),setTimeout(o,25)}},me.visible=function(e){var t=this;e&&setTimeout((function(){t.workspace&&t.onResize()}),25)},me)}),Ee=(o(542),B(be,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{directives:[{name:"show",rawName:"v-show",value:this.visible,expression:"visible"}],attrs:{id:"blockly-container"}},[t("div",{ref:"blocklyArea",attrs:{id:"blockly-area"}},[t("div",{ref:"blockly",attrs:{id:"blockly"}})]),this._v(" "),t("div",{attrs:{id:"blockly-output"}},[t("Prism",{attrs:{code:this.code,language:"python"}})],1)])}),[],!1,null,null,null).exports),Ce=n.a.extend({name:"sidebar",props:{right:{type:Boolean,default:!1}},data:function(){return{visible:!0}},computed:{iconRotation:function(){return this.right?this.visible?180:0:this.visible?0:180}},methods:{toggle:function(){this.visible=!this.visible,this.$store.commit("SET_SIDEBAR_HIDDEN",{right:this.right,hidden:!this.visible}),setTimeout((function(){le.$emit("resize")}),50)}}}),Se=(o(543),B(Ce,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"sidebar",class:{hidden:!this.visible,right:this.right}},[this._t("default"),this._v(" "),t("div",{staticClass:"hide-button"},[t("IconButton",{attrs:{tooltip:"Toggle"},on:{click:this.toggle}},[t("FontAwesomeIcon",{attrs:{icon:["fas","chevron-left"],rotation:this.iconRotation}})],1)],1)],2)}),[],!1,null,null,null).exports),Te=B(n.a.extend({name:"project-list",computed:Object(u.b)(["projects","saving","uploadFileKeyPressId"]),methods:{selectFiles:function(){this.$refs.file.click()},filesChanged:function(){var e=this,t=this.$refs.file.files;if(t){for(var o=function(o){var n=t[o],i=new FileReader;i.onloadend=function(){e.$store.dispatch("CREATE_PROJECT",{filename:n.name,loadContent:i.result}),console.log(n.name),console.log(i.result)},i.readAsText(n)},n=0;n<t.length;n++)o(n);this.$refs.file.value=null}}},watch:{uploadFileKeyPressId:function(){this.selectFiles()}}}),(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",[o("ProjectTab",{key:"header",attrs:{name:"Projects",header:!0}},[e.saving?o("IconButton",{staticClass:"disabled",attrs:{tooltip:"Saving..."}},[o("FontAwesomeIcon",{attrs:{icon:["fas","sync-alt"],spin:""}})],1):e._e(),e._v(" "),o("input",{ref:"file",staticStyle:{display:"none"},attrs:{type:"file",multiple:"",accept:".py,.xml"},on:{change:e.filesChanged}}),e._v(" "),o("IconButton",{attrs:{tooltip:"Upload (CTRL-U)"},on:{click:e.selectFiles}},[o("FontAwesomeIcon",{attrs:{icon:["fas","upload"]}})],1),e._v(" "),o("IconButton",{attrs:{tooltip:"New Project (CTRL-ALT-N)"},on:{click:function(t){return e.$emit("create")}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","plus"]}})],1)],1),e._v(" "),e._l(e.projects,(function(t){return o("ProjectTab",{key:t.filename,attrs:{name:t.name,filename:t.filename}},[o("IconButton",{attrs:{tooltip:"Download"},on:{click:function(o){return e.$emit("download",t)}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","download"]}})],1),e._v(" "),t.filename.endsWith(".json")?e._e():o("IconButton",{attrs:{tooltip:"Delete"},on:{click:function(o){return e.$emit("delete",t)}}},[o("FontAwesomeIcon",{attrs:{icon:["fas","trash"]}})],1)],1)}))],2)}),[],!1,null,null,null).exports,we=n.a.extend({name:"project-tab",props:{tab:{type:Boolean,default:!1},header:{type:Boolean,default:!1},name:{type:String,required:!0},unsaved:{type:Boolean,default:!1},filename:{type:String}},computed:i(i({},Object(u.b)(["currentProject"])),{classes:function(){var e=this.currentProject,t=!!e&&e.filename===this.filename;return{header:this.header,file:!this.header,tab:this.tab,active:t}}}),methods:{open:function(){if(!this.header)return this.$store.dispatch("OPEN_PROJECT",this.filename)},close:function(){return this.$store.dispatch("CLOSE_PROJECT",this.filename)}}}),ke=(o(544),B(we,(function(){var e,t=this,o=t.$createElement,n=t._self._c||o;return n("div",{class:t.classes,on:{click:t.open}},[t.header?t._e():n("i",{class:(e={},e[t.filename]=!0,e)}),t._v(" "),n("span",[t._v(t._s(t.name))]),t._v(" "),!t.header&&t.tab?n("a",{staticClass:"close",class:{unsaved:t.unsaved},attrs:{title:"Close"},on:{click:function(e){return e.stopPropagation(),t.close(e)}}}):t._e(),t._v(" "),t._t("default")],2)}),[],!1,null,null,null).exports),Oe=n.a.extend({name:"logs",computed:Object(u.b)(["running","currentProject"]),methods:{run:function(e){return this.$store.dispatch("RUN_PROJECT",e.shiftKey)},stop:function(){return this.$store.dispatch("STOP_PROJECT")}}}),Re=(o(545),B(Oe,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("div",{attrs:{id:"logs"}},[o("ProjectTab",{attrs:{name:"Logs",header:!0}},[e.currentProject&&!e.currentProject.filename.endsWith(".json")?o("IconButton",{class:{disabled:e.running},attrs:{tooltip:"Run (F5)"},on:{click:e.run}},[o("FontAwesomeIcon",{staticClass:"run-button",attrs:{icon:e.running?["fas","sync-alt"]:["fas","play"],spin:e.running}})],1):e._e(),e._v(" "),o("IconButton",{attrs:{tooltip:"Stop (CTRL-F5)"},on:{click:e.stop}},[o("FontAwesomeIcon",{staticClass:"stop-button",attrs:{icon:["fas","stop"]}})],1)],1),e._v(" "),o("Camera"),e._v(" "),o("div",{attrs:{id:"logs-wrapper"}},[o("LogText")],1)],1)}),[],!1,null,null,null).exports),Ne={name:"Images",data:function(){return{url:v("/static/image.jpg"),cacheKey:+new Date}},mounted:function(){var e=this;this.interval=window.setInterval((function(){try{e.cacheKey=+new Date}catch(e){console.log(e)}}),1e3)},destroyed:function(){clearInterval(this.interval)}},Le=(o(546),B(Ne,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"camera-preview"}},[t("img",{attrs:{src:this.url+"?rnd="+this.cacheKey}})])}),[],!1,null,null,null).exports),Ie=n.a.extend({name:"log-text",computed:Object(u.b)(["textLog"])}),De=(o(547),B(Ie,(function(){var e=this.$createElement,t=this._self._c||e;return t("pre",{attrs:{id:"log-text"}},[t("code",{domProps:{textContent:this._s(this.textLog)}})])}),[],!1,null,null,null).exports),Ae=n.a.extend({name:"dialog-wrapper"}),Pe=(o(548),B(Ae,(function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticClass:"dialog-container"},[t("div",{staticClass:"dialog"},[t("h1",{staticClass:"title"},[this._t("title")],2),this._v(" "),t("div",{staticClass:"content"},[this._t("default")],2),this._v(" "),t("div",{staticClass:"actions"},[this._t("actions")],2)])])}),[],!1,null,null,null).exports),Me=n.a.extend({name:"create-project-dialog",data:function(){return{name:"",type:"python"}},methods:{close:function(){this.$emit("close"),this.name="",this.type="python"},create:function(){this.$store.dispatch("CREATE_PROJECT",{type:this.type,name:this.name}),this.close()}}}),xe=(o(549),B(Me,(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("DialogWrapper",[o("template",{slot:"title"},[e._v("Create Project")]),e._v(" "),o("div",{staticClass:"create-dialog"},[o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.name,expression:"name"}],attrs:{type:"text",placeholder:"Name"},domProps:{value:e.name},on:{input:function(t){t.target.composing||(e.name=t.target.value)}}})]),e._v(" "),o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.type,expression:"type"}],attrs:{type:"radio",id:"python",value:"python",checked:""},domProps:{checked:e._q(e.type,"python")},on:{change:function(t){e.type="python"}}}),e._v(" "),o("i",{staticClass:"python",on:{click:function(t){e.type="python"}}}),e._v(" "),o("div",{staticClass:"info",on:{click:function(t){e.type="python"}}},[o("h2",[e._v("Python")]),e._v(" "),o("p",[e._v("Create a new Python project allowing you to implement complex behaviour.")])])]),e._v(" "),o("div",{staticClass:"row"},[o("input",{directives:[{name:"model",rawName:"v-model",value:e.type,expression:"type"}],attrs:{type:"radio",value:"blockly"},domProps:{checked:e._q(e.type,"blockly")},on:{change:function(t){e.type="blockly"}}}),e._v(" "),o("i",{staticClass:"blockly",on:{click:function(t){e.type="blockly"}}}),e._v(" "),o("div",{staticClass:"info",on:{click:function(t){e.type="blockly"}}},[o("h2",[e._v("Blockly")]),e._v(" "),o("p",[e._v("Create a new Blockly project allowing you to use a simple drag and drop interface.")])])])]),e._v(" "),o("template",{slot:"actions"},[o("button",{on:{click:e.close}},[e._v("Cancel")]),e._v(" "),o("button",{attrs:{disabled:""===e.name},on:{click:e.create}},[e._v("Create")])])],2)}),[],!1,null,null,null).exports),Be=B(n.a.extend({name:"delete-project-dialog",props:{project:{type:Object}},methods:{doDelete:function(){this.$store.dispatch("DELETE_PROJECT",this.project.filename),this.$emit("close")}}}),(function(){var e=this,t=e.$createElement,o=e._self._c||t;return o("DialogWrapper",[o("template",{slot:"title"},[e._v("Delete Project")]),e._v(" "),o("div",{staticClass:"delete-dialog"},[o("p",[e._v("Are you sure you want to delete "),o("b",[e._v(e._s(e.project&&e.project.name))]),e._v("?")])]),e._v(" "),o("template",{slot:"actions"},[o("button",{on:{click:function(t){return e.$emit("close")}}},[e._v("Cancel")]),e._v(" "),o("button",{on:{click:e.doDelete}},[e._v("Delete")])])],2)}),[],!1,null,null,null).exports,Fe=o(321),He=o.n(Fe),Ue=o(322);function Ve(){new n.a({el:"#app",store:S,render:function(e){return e(F)}})}T.c.add(I,P,A,R,M,k,N,O,w,L,D),n.a.component("IconButton",U),n.a.component("Messages",W),n.a.component("Editor",G),n.a.component("Tabs",K),n.a.component("Monaco",ue),n.a.component("Blockly",Ee),n.a.component("Sidebar",Se),n.a.component("ProjectList",Te),n.a.component("ProjectTab",ke),n.a.component("Logs",Re),n.a.component("Camera",Le),n.a.component("LogText",De),n.a.component("DialogWrapper",Pe),n.a.component("CreateProjectDialog",xe),n.a.component("DeleteProjectDialog",Be),n.a.component("Prism",He.a),n.a.component("FontAwesomeIcon",Ue.a),n.a.config.productionTip=!1,S.dispatch("FETCH_PROJECTS").then(Ve).catch((function(e){console.error(e),Ve()})),window.addEventListener("keydown",(function(e){"F5"===e.key&&(e.preventDefault(),e.ctrlKey?S.dispatch("STOP_PROJECT"):S.dispatch("RUN_PROJECT",e.shiftKey)),e.ctrlKey&&"s"===e.key&&(e.preventDefault(),S.dispatch("SAVE_PROJECT")),e.ctrlKey&&e.altKey&&"n"===e.key&&(e.preventDefault(),S.commit("SET_CREATE_OPEN",!0)),e.ctrlKey&&"u"===e.key&&(e.preventDefault(),S.commit("SHOW_UPLOAD_DIALOG"))}))},function(e,t,o){"use strict";o.r(t);var n,i,r=o(4),s=o(39),a=o(9),l=o(2),u=o(23),c=o(10),h=o(48),d=o(85),g=o(33);!function(e){e[e.Unnecessary=1]="Unnecessary"}(n||(n={})),function(e){e[e.Hint=1]="Hint",e[e.Info=2]="Info",e[e.Warning=4]="Warning",e[e.Error=8]="Error"}(i||(i={}));var p,f=function(){function e(){}return e.chord=function(e,t){return Object(s.a)(e,t)},e.CtrlCmd=2048,e.Shift=1024,e.Alt=512,e.WinCtrl=256,e}();function m(){return{editor:void 0,languages:void 0,CancellationTokenSource:h.b,Emitter:r.a,KeyCode:p,KeyMod:f,Position:a.a,Range:l.a,Selection:u.a,SelectionDirection:u.b,MarkerSeverity:i,MarkerTag:n,Promise:c.b,Uri:g.a,Token:d.a}}!function(e){e[e.Unknown=0]="Unknown",e[e.Backspace=1]="Backspace",e[e.Tab=2]="Tab",e[e.Enter=3]="Enter",e[e.Shift=4]="Shift",e[e.Ctrl=5]="Ctrl",e[e.Alt=6]="Alt",e[e.PauseBreak=7]="PauseBreak",e[e.CapsLock=8]="CapsLock",e[e.Escape=9]="Escape",e[e.Space=10]="Space",e[e.PageUp=11]="PageUp",e[e.PageDown=12]="PageDown",e[e.End=13]="End",e[e.Home=14]="Home",e[e.LeftArrow=15]="LeftArrow",e[e.UpArrow=16]="UpArrow",e[e.RightArrow=17]="RightArrow",e[e.DownArrow=18]="DownArrow",e[e.Insert=19]="Insert",e[e.Delete=20]="Delete",e[e.KEY_0=21]="KEY_0",e[e.KEY_1=22]="KEY_1",e[e.KEY_2=23]="KEY_2",e[e.KEY_3=24]="KEY_3",e[e.KEY_4=25]="KEY_4",e[e.KEY_5=26]="KEY_5",e[e.KEY_6=27]="KEY_6",e[e.KEY_7=28]="KEY_7",e[e.KEY_8=29]="KEY_8",e[e.KEY_9=30]="KEY_9",e[e.KEY_A=31]="KEY_A",e[e.KEY_B=32]="KEY_B",e[e.KEY_C=33]="KEY_C",e[e.KEY_D=34]="KEY_D",e[e.KEY_E=35]="KEY_E",e[e.KEY_F=36]="KEY_F",e[e.KEY_G=37]="KEY_G",e[e.KEY_H=38]="KEY_H",e[e.KEY_I=39]="KEY_I",e[e.KEY_J=40]="KEY_J",e[e.KEY_K=41]="KEY_K",e[e.KEY_L=42]="KEY_L",e[e.KEY_M=43]="KEY_M",e[e.KEY_N=44]="KEY_N",e[e.KEY_O=45]="KEY_O",e[e.KEY_P=46]="KEY_P",e[e.KEY_Q=47]="KEY_Q",e[e.KEY_R=48]="KEY_R",e[e.KEY_S=49]="KEY_S",e[e.KEY_T=50]="KEY_T",e[e.KEY_U=51]="KEY_U",e[e.KEY_V=52]="KEY_V",e[e.KEY_W=53]="KEY_W",e[e.KEY_X=54]="KEY_X",e[e.KEY_Y=55]="KEY_Y",e[e.KEY_Z=56]="KEY_Z",e[e.Meta=57]="Meta",e[e.ContextMenu=58]="ContextMenu",e[e.F1=59]="F1",e[e.F2=60]="F2",e[e.F3=61]="F3",e[e.F4=62]="F4",e[e.F5=63]="F5",e[e.F6=64]="F6",e[e.F7=65]="F7",e[e.F8=66]="F8",e[e.F9=67]="F9",e[e.F10=68]="F10",e[e.F11=69]="F11",e[e.F12=70]="F12",e[e.F13=71]="F13",e[e.F14=72]="F14",e[e.F15=73]="F15",e[e.F16=74]="F16",e[e.F17=75]="F17",e[e.F18=76]="F18",e[e.F19=77]="F19",e[e.NumLock=78]="NumLock",e[e.ScrollLock=79]="ScrollLock",e[e.US_SEMICOLON=80]="US_SEMICOLON",e[e.US_EQUAL=81]="US_EQUAL",e[e.US_COMMA=82]="US_COMMA",e[e.US_MINUS=83]="US_MINUS",e[e.US_DOT=84]="US_DOT",e[e.US_SLASH=85]="US_SLASH",e[e.US_BACKTICK=86]="US_BACKTICK",e[e.US_OPEN_SQUARE_BRACKET=87]="US_OPEN_SQUARE_BRACKET",e[e.US_BACKSLASH=88]="US_BACKSLASH",e[e.US_CLOSE_SQUARE_BRACKET=89]="US_CLOSE_SQUARE_BRACKET",e[e.US_QUOTE=90]="US_QUOTE",e[e.OEM_8=91]="OEM_8",e[e.OEM_102=92]="OEM_102",e[e.NUMPAD_0=93]="NUMPAD_0",e[e.NUMPAD_1=94]="NUMPAD_1",e[e.NUMPAD_2=95]="NUMPAD_2",e[e.NUMPAD_3=96]="NUMPAD_3",e[e.NUMPAD_4=97]="NUMPAD_4",e[e.NUMPAD_5=98]="NUMPAD_5",e[e.NUMPAD_6=99]="NUMPAD_6",e[e.NUMPAD_7=100]="NUMPAD_7",e[e.NUMPAD_8=101]="NUMPAD_8",e[e.NUMPAD_9=102]="NUMPAD_9",e[e.NUMPAD_MULTIPLY=103]="NUMPAD_MULTIPLY",e[e.NUMPAD_ADD=104]="NUMPAD_ADD",e[e.NUMPAD_SEPARATOR=105]="NUMPAD_SEPARATOR",e[e.NUMPAD_SUBTRACT=106]="NUMPAD_SUBTRACT",e[e.NUMPAD_DECIMAL=107]="NUMPAD_DECIMAL",e[e.NUMPAD_DIVIDE=108]="NUMPAD_DIVIDE",e[e.KEY_IN_COMPOSITION=109]="KEY_IN_COMPOSITION",e[e.ABNT_C1=110]="ABNT_C1",e[e.ABNT_C2=111]="ABNT_C2",e[e.MAX_VALUE=112]="MAX_VALUE"}(p||(p={}));o(489);var _,y=o(52),v=o(16),b=o(6),E=o(83),C=o(22),S=o(37),T=o(61),w=o(12),k=o(36),O=o(91),R=o(98),N=o(0),L=o(17),I=(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])},function(e,t){function o(){this.constructor=e}_(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}),D=function(e){function t(t,o,n,i,s){var a=e.call(this)||this;return a._contextKeyService=t,a._commandService=o,a._telemetryService=n,a._statusService=s,a._notificationService=i,a._currentChord=null,a._currentChordChecker=new L.b,a._currentChordStatusMessage=null,a._onDidUpdateKeybindings=a._register(new r.a),a}return I(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"onDidUpdateKeybindings",{get:function(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:r.b.None},enumerable:!0,configurable:!0}),t.prototype.lookupKeybinding=function(e){var t=this._getResolver().lookupPrimaryKeybinding(e);return t?t.resolvedKeybinding:null},t.prototype._enterChordMode=function(e,t){var o=this;this._currentChord={keypress:e,label:t},this._statusService&&(this._currentChordStatusMessage=this._statusService.setStatusMessage(N.a("first.chord","({0}) was pressed. Waiting for second key of chord...",t)));var n=Date.now();this._currentChordChecker.cancelAndSet((function(){o._documentHasFocus()?Date.now()-n>5e3&&o._leaveChordMode():o._leaveChordMode()}),500)},t.prototype._leaveChordMode=function(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChord=null},t.prototype._dispatch=function(e,t){var o=this,n=!1,i=this.resolveKeyboardEvent(e);if(i.isChord())return console.warn("Unexpected keyboard event mapped to a chord"),null;var r=i.getDispatchParts()[0];if(null===r)return n;var s=this._contextKeyService.getContext(t),a=this._currentChord?this._currentChord.keypress:null,l=i.getLabel(),u=this._getResolver().resolve(s,a,r);return u&&u.enterChord?(n=!0,this._enterChordMode(r,l),n):(this._statusService&&this._currentChord&&(u&&u.commandId||(this._statusService.setStatusMessage(N.a("missing.chord","The key combination ({0}, {1}) is not a command.",this._currentChord.label,l),1e4),n=!0)),this._leaveChordMode(),u&&u.commandId&&(u.bubble||(n=!0),void 0===u.commandArgs?this._commandService.executeCommand(u.commandId).done(void 0,(function(e){return o._notificationService.warn(e)})):this._commandService.executeCommand(u.commandId,u.commandArgs).done(void 0,(function(e){return o._notificationService.warn(e)})),this._telemetryService.publicLog("workbenchActionExecuted",{id:u.commandId,from:"keybinding"})),n)},t}(b.a),A=o(179),P=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),M=function(e){function t(t,o){var n=e.call(this)||this;if(n._os=o,null===t)throw new Error("Invalid USLayoutResolvedKeybinding");return 2===t.type?(n._firstPart=t.firstPart,n._chordPart=t.chordPart):(n._firstPart=t,n._chordPart=null),n}return P(t,e),t.prototype._keyCodeToUILabel=function(e){if(2===this._os)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return s.b.toString(e)},t.prototype._getUILabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode):null},t.prototype.getLabel=function(){var e=this._getUILabelForKeybinding(this._firstPart),t=this._getUILabelForKeybinding(this._chordPart);return A.b.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype._getAriaLabelForKeybinding=function(e){return e?e.isDuplicateModifierCase()?"":s.b.toString(e.keyCode):null},t.prototype.getAriaLabel=function(){var e=this._getAriaLabelForKeybinding(this._firstPart),t=this._getAriaLabelForKeybinding(this._chordPart);return A.a.toLabel(this._firstPart,e,this._chordPart,t,this._os)},t.prototype.isChord=function(){return!!this._chordPart},t.prototype.getParts=function(){return[this._toResolvedKeybindingPart(this._firstPart),this._toResolvedKeybindingPart(this._chordPart)]},t.prototype._toResolvedKeybindingPart=function(e){return e?new s.d(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getUILabelForKeybinding(e),this._getAriaLabelForKeybinding(e)):null},t.prototype.getDispatchParts=function(){return[this._firstPart?t.getDispatchStr(this._firstPart):null,this._chordPart?t.getDispatchStr(this._chordPart):null]},t.getDispatchStr=function(e){if(e.isModifierKey())return null;var t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=s.b.toString(e.keyCode)},t}(s.c),x=function(){function e(t,o){this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(var n=0,i=t.length;n<i;n++){var r=t[n].command;this._defaultBoundCommands.set(r,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.combine(t,o);for(n=0,i=this._keybindings.length;n<i;n++){var s=this._keybindings[n];null!==s.keypressFirstPart&&this._addKeyPress(s.keypressFirstPart,s)}}return e._isTargetedForRemoval=function(e,t,o,n,i){if(e.command!==n)return!1;if(t&&e.keypressFirstPart!==t)return!1;if(o&&e.keypressChordPart!==o)return!1;if(i){if(!e.when)return!1;if(!i.equals(e.when))return!1}return!0},e.combine=function(e,t){e=e.slice(0);for(var o=[],n=0,i=t.length;n<i;n++){var r=t[n];if(r.command&&0!==r.command.length&&"-"===r.command.charAt(0))for(var s=r.command.substr(1),a=r.keypressFirstPart,l=r.keypressChordPart,u=r.when,c=e.length-1;c>=0;c--)this._isTargetedForRemoval(e[c],a,l,s,u)&&e.splice(c,1);else o.push(r)}return e.concat(o)},e.prototype._addKeyPress=function(t,o){var n=this._map.get(t);if(void 0===n)return this._map.set(t,[o]),void this._addToLookupMap(o);for(var i=n.length-1;i>=0;i--){var r=n[i];if(r.command!==o.command){var s=null!==r.keypressChordPart,a=null!==o.keypressChordPart;s&&a&&r.keypressChordPart!==o.keypressChordPart||e.whenIsEntirelyIncluded(r.when,o.when)&&this._removeFromLookupMap(r)}}n.push(o),this._addToLookupMap(o)},e.prototype._addToLookupMap=function(e){if(e.command){var t=this._lookupMap.get(e.command);void 0===t?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}},e.prototype._removeFromLookupMap=function(e){var t=this._lookupMap.get(e.command);if(void 0!==t)for(var o=0,n=t.length;o<n;o++)if(t[o]===e)return void t.splice(o,1)},e.whenIsEntirelyIncluded=function(e,t){if(!t)return!0;if(!e)return!1;for(var o=e instanceof w.a?e.expr:[e],n=t instanceof w.a?t.expr:[t],i=0,r=0;r<n.length;r++){for(var s=n[r],a=!1;!a&&i<o.length;){o[i].equals(s)&&(a=!0),i++}if(!a)return!1}return!0},e.prototype.lookupPrimaryKeybinding=function(e){var t=this._lookupMap.get(e);return void 0===t||0===t.length?null:t[t.length-1]},e.prototype.resolve=function(e,t,o){var n=null;if(null!==t){if(void 0===(a=this._map.get(t)))return null;n=[];for(var i=0,r=a.length;i<r;i++){var s=a[i];s.keypressChordPart===o&&n.push(s)}}else{var a;if(void 0===(a=this._map.get(o)))return null;n=a}var l=this._findCommand(e,n);return l?null===t&&null!==l.keypressChordPart?{enterChord:!0,commandId:null,commandArgs:null,bubble:!1}:{enterChord:!1,commandId:l.command,commandArgs:l.commandArgs,bubble:l.bubble}:null},e.prototype._findCommand=function(t,o){for(var n=o.length-1;n>=0;n--){var i=o[n];if(e.contextMatchesRules(t,i.when))return i}return null},e.contextMatchesRules=function(e,t){return!t||t.evaluate(e)},e}(),B=o(143),F=o(79),H=o(25),U=o(21),V=o(30),W=o(104),j=o(49),G=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),z=function(){function e(e,t,o){void 0===e&&(e={}),void 0===t&&(t=[]),void 0===o&&(o=[]),this._contents=e,this._keys=t,this._overrides=o,this.isFrozen=!1}return Object.defineProperty(e.prototype,"contents",{get:function(){return this.checkAndFreeze(this._contents)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"overrides",{get:function(){return this.checkAndFreeze(this._overrides)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"keys",{get:function(){return this.checkAndFreeze(this._keys)},enumerable:!0,configurable:!0}),e.prototype.getValue=function(e){return e?Object(j.e)(this.contents,e):this.contents},e.prototype.override=function(t){var o=this.getContentsForOverrideIdentifer(t);if(!o||"object"!=typeof o||!Object.keys(o).length)return this;for(var n={},i=0,r=H.d(Object.keys(this.contents).concat(Object.keys(o)));i<r.length;i++){var s=r[i],a=this.contents[s],l=o[s];l&&("object"==typeof a&&"object"==typeof l?(a=V.c(a),this.mergeContents(a,l)):a=l),n[s]=a}return new e(n)},e.prototype.merge=function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];for(var n=V.c(this.contents),i=V.c(this.overrides),r=this.keys.slice(),s=0,a=t;s<a.length;s++){var l=a[s];this.mergeContents(n,l.contents);for(var u=function(e){var t=i.filter((function(t){return H.e(t.identifiers,e.identifiers)}))[0];t?c.mergeContents(t.contents,e.contents):i.push(V.c(e))},c=this,h=0,d=l.overrides;h<d.length;h++){var g=d[h];u(g)}for(var p=0,f=l.keys;p<f.length;p++){var m=f[p];-1===r.indexOf(m)&&r.push(m)}}return new e(n,r,i)},e.prototype.freeze=function(){return this.isFrozen=!0,this},e.prototype.mergeContents=function(e,t){for(var o=0,n=Object.keys(t);o<n.length;o++){var i=n[o];i in e&&U.g(e[i])&&U.g(t[i])?this.mergeContents(e[i],t[i]):e[i]=V.c(t[i])}},e.prototype.checkAndFreeze=function(e){return this.isFrozen&&!Object.isFrozen(e)?V.d(e):e},e.prototype.getContentsForOverrideIdentifer=function(e){for(var t=0,o=this.overrides;t<o.length;t++){var n=o[t];if(-1!==n.identifiers.indexOf(e))return n.contents}return null},e.prototype.toJSON=function(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}},e.prototype.setValue=function(e,t){this.addKey(e),Object(j.c)(this.contents,e,t,(function(e){throw new Error(e)}))},e.prototype.removeValue=function(e){this.removeKey(e)&&Object(j.h)(this.contents,e)},e.prototype.addKey=function(e){for(var t=this.keys.length,o=0;o<t;o++)0===e.indexOf(this.keys[o])&&(t=o);this.keys.splice(t,1,e)},e.prototype.removeKey=function(e){var t=this.keys.indexOf(e);return-1!==t&&(this.keys.splice(t,1),!0)},e}(),K=function(e){function t(){for(var t=Object(j.f)(),o=Object(j.d)(),n=[],i=0,r=Object.keys(t);i<r.length;i++){var s=r[i];W.c.test(s)&&n.push({identifiers:[Object(j.g)(s).trim()],contents:Object(j.i)(t[s],(function(e){return console.error("Conflict in default settings file: "+e)}))})}return e.call(this,t,o,n)||this}return G(t,e),t}(z),Y=function(){function e(e,t,o,n,i,r,s){void 0===o&&(o=new z),void 0===n&&(n=new F.b),void 0===i&&(i=new z),void 0===r&&(r=new F.b),void 0===s&&(s=!0),this._defaultConfiguration=e,this._userConfiguration=t,this._workspaceConfiguration=o,this._folderConfigurations=n,this._memoryConfiguration=i,this._memoryConfigurationByResource=r,this._freeze=s,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new F.b}return e.prototype.getValue=function(e,t,o){return this.getConsolidateConfigurationModel(t,o).getValue(e)},e.prototype.updateValue=function(e,t,o){var n;void 0===o&&(o={}),o.resource?(n=this._memoryConfigurationByResource.get(o.resource))||(n=new z,this._memoryConfigurationByResource.set(o.resource,n)):n=this._memoryConfiguration,void 0===t?n.removeValue(e):n.setValue(e,t),o.resource||(this._workspaceConsolidatedConfiguration=null)},e.prototype.getConsolidateConfigurationModel=function(e,t){var o=this.getConsolidatedConfigurationModelForResource(e,t);return e.overrideIdentifier?o.override(e.overrideIdentifier):o},e.prototype.getConsolidatedConfigurationModelForResource=function(e,t){var o=e.resource,n=this.getWorkspaceConsolidatedConfiguration();if(t&&o){var i=t.getFolder(o);i&&(n=this.getFolderConsolidatedConfiguration(i.uri)||n);var r=this._memoryConfigurationByResource.get(o);r&&(n=n.merge(r))}return n},e.prototype.getWorkspaceConsolidatedConfiguration=function(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this._userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._freeze&&(this._workspaceConfiguration=this._workspaceConfiguration.freeze())),this._workspaceConsolidatedConfiguration},e.prototype.getFolderConsolidatedConfiguration=function(e){var t=this._foldersConsolidatedConfigurations.get(e);if(!t){var o=this.getWorkspaceConsolidatedConfiguration(),n=this._folderConfigurations.get(e);n?(t=o.merge(n),this._freeze&&(t=t.freeze()),this._foldersConsolidatedConfigurations.set(e,t)):t=o}return t},e}(),X=o(1),q=o(51),$=o(84),J=o(38),Z=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Q=function(e,t){return function(o,n){t(o,n,e)}},ee=function(){function e(t,o,n,i){var s=this;this._commandService=n,this._contextKeyService=i,this._menuGroups=[],this._disposables=[],this._onDidChange=new r.a,o.then((function(o){var n,i=J.d.getMenuItems(t),r=new Set;i.sort(e._compareMenuItems);for(var a=0,l=i;a<l.length;a++){var u=l[a],c=u.group;n&&n[0]===c||(n=[c,[]],s._menuGroups.push(n)),n[1].push(u),e._fillInKbExprKeys(u.when,r)}s._disposables.push(s._contextKeyService.onDidChangeContext((function(e){e.affectsSome(r)&&s._onDidChange.fire()}))),s._onDidChange.fire(s)}))}return e.prototype.dispose=function(){this._disposables=Object(b.d)(this._disposables),this._onDidChange.dispose()},e.prototype.getActions=function(e){for(var t=[],o=0,n=this._menuGroups;o<n.length;o++){for(var i=n[o],r=i[0],s=[],a=0,l=i[1];a<l.length;a++){var u=l[a];if(this._contextKeyService.contextMatchesRules(u.when)){var c=Object(J.f)(u)?new J.c(u.command,u.alt,e,this._contextKeyService,this._commandService):new J.e(u);c.order=u.order,s.push(c)}}s.length>0&&t.push([r,s])}return t},e._fillInKbExprKeys=function(e,t){if(e)for(var o=0,n=e.keys();o<n.length;o++){var i=n[o];t.add(i)}},e._compareMenuItems=function(e,t){var o=e.group,n=t.group;if(o!==n){if(!o)return 1;if(!n)return-1;if("navigation"===o)return-1;if("navigation"===n)return 1;var i=o.localeCompare(n);if(0!==i)return i}var r=e.order||0,s=t.order||0;if(r<s)return-1;if(r>s)return 1;var a="string"==typeof e.command.title?e.command.title:e.command.title.value,l="string"==typeof t.command.title?t.command.title:t.command.title.value;return a.localeCompare(l)},e=Z([Q(2,S.b),Q(3,w.e)],e)}(),te=function(e,t,o,n,i){if(this.resolvedKeybinding=e,e){var r=e.getDispatchParts(),s=r[0],a=r[1];this.keypressFirstPart=s,this.keypressChordPart=a}else this.keypressFirstPart=null,this.keypressChordPart=null;this.bubble=!!t&&94===t.charCodeAt(0),this.command=this.bubble?t.substr(1):t,this.commandArgs=o,this.when=n,this.isDefault=i},oe=o(15),ne=o(45),ie=o(131),re=o(11),se=o(53),ae=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),le=function(){function e(e){this.model=e,this._onDispose=new r.a}return Object.defineProperty(e.prototype,"textEditorModel",{get:function(){return this.model},enumerable:!0,configurable:!0}),e.prototype.dispose=function(){this._onDispose.fire()},e}();var ue=function(){function e(){}return e.prototype.setEditor=function(e){this.editor=e},e.prototype.createModelReference=function(e){var t,o,n,i,r=this;return o=this.editor,n=function(t){return r.findModel(t,e)},i=function(t){return r.findModel(t.getOriginalEditor(),e)||r.findModel(t.getModifiedEditor(),e)},(t=Object(v.d)(o)?n(o):i(o))?c.b.as(new b.b(new le(t))):c.b.as(new b.b(null))},e.prototype.findModel=function(e,t){var o=e.getModel();return o.uri.toString()!==t.toString()?null:o},e}(),ce=function(){function e(){}return e.prototype.showWhile=function(e,t){return null},e}(),he=function(){},de=function(){function e(){}return e.prototype.info=function(e){return this.notify({severity:R.a.Info,message:e})},e.prototype.warn=function(e){return this.notify({severity:R.a.Warning,message:e})},e.prototype.error=function(e){return this.notify({severity:R.a.Error,message:e})},e.prototype.notify=function(t){switch(t.severity){case R.a.Error:console.error(t.message);break;case R.a.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP},e.NO_OP=new ne.b,e}(),ge=function(){function e(e){this._onWillExecuteCommand=new r.a,this._instantiationService=e,this._dynamicCommands=Object.create(null)}return e.prototype.addCommand=function(e){var t=this,o=e.id;return this._dynamicCommands[o]=e,Object(b.f)((function(){delete t._dynamicCommands[o]}))},e.prototype.executeCommand=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];var n=S.a.getCommand(e)||this._dynamicCommands[e];if(!n)return c.b.wrapError(new Error("command '"+e+"' not found"));try{this._onWillExecuteCommand.fire({commandId:e});var i=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler].concat(t));return c.b.as(i)}catch(e){return c.b.wrapError(e)}},e}(),pe=function(e){function t(t,o,n,i,r){var s=e.call(this,t,o,n,i)||this;return s._cachedResolver=null,s._dynamicKeybindings=[],s._register(X.g(r,X.d.KEY_DOWN,(function(e){var t=new q.a(e);s._dispatch(t,t.target)&&t.preventDefault()}))),s}return ae(t,e),t.prototype.addDynamicKeybinding=function(e,t,o,n){var i=this,r=[];this._dynamicKeybindings.push({keybinding:Object(s.f)(t,oe.a),command:e,when:n,weight1:1e3,weight2:0}),r.push(Object(b.f)((function(){for(var t=0;t<i._dynamicKeybindings.length;t++){if(i._dynamicKeybindings[t].command===e)return i._dynamicKeybindings.splice(t,1),void i.updateResolver({source:T.b.Default})}})));var a=this._commandService;if(!(a instanceof ge))throw new Error("Unknown command service!");return r.push(a.addCommand({id:e,handler:o})),this.updateResolver({source:T.b.Default}),Object(b.c)(r)},t.prototype.updateResolver=function(e){this._cachedResolver=null,this._onDidUpdateKeybindings.fire(e)},t.prototype._getResolver=function(){if(!this._cachedResolver){var e=this._toNormalizedKeybindingItems($.a.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new x(e,t)}return this._cachedResolver},t.prototype._documentHasFocus=function(){return document.hasFocus()},t.prototype._toNormalizedKeybindingItems=function(e,t){for(var o=[],n=0,i=0,r=e.length;i<r;i++){var s=e[i],a=s.when?s.when.normalize():null,l=s.keybinding;if(l)for(var u=this.resolveKeybinding(l),c=0;c<u.length;c++)o[n++]=new te(u[c],s.command,s.commandArgs,a,t);else o[n++]=new te(null,s.command,s.commandArgs,a,t)}return o},t.prototype.resolveKeybinding=function(e){return[new M(e,oe.a)]},t.prototype.resolveKeyboardEvent=function(e){var t=new s.e(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new M(t,oe.a)},t}(D);function fe(e){return e&&"object"==typeof e&&(!e.overrideIdentifier||"string"==typeof e.overrideIdentifier)&&(!e.resource||e.resource instanceof g.a)}var me=function(){function e(){this._onDidChangeConfiguration=new r.a,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._configuration=new Y(new K,new z)}return e.prototype.configuration=function(){return this._configuration},e.prototype.getValue=function(e,t){var o="string"==typeof e?e:void 0,n=fe(e)?e:fe(t)?t:{};return this.configuration().getValue(o,n,null)},e.prototype.updateValue=function(e,t,o,n){return this.configuration().updateValue(e,t),c.b.as(null)},e}(),_e=function(){function e(e){var t=this;this.configurationService=e,this._onDidChangeConfigurationEmitter=new r.a,this.configurationService.onDidChangeConfiguration((function(e){t._onDidChangeConfigurationEmitter.fire(e)}))}return e.prototype.getValue=function(e,t,o){var n=(a.a.isIPosition(t)?t:null)?"string"==typeof o?o:void 0:"string"==typeof t?t:void 0;return this.configurationService.getValue(n)},e}(),ye=function(){function e(e){this._commandService=e}return e.prototype.createMenu=function(e,t){return new ee(e,c.b.as(!0),this._commandService,t)},e}(),ve=function(){function e(){}return e.prototype.publicLog=function(e,t){return c.b.wrap(null)},e}(),be=function(){function e(){var t=g.a.from({scheme:e.SCHEME,authority:"model",path:"/"});this.workspace={id:"4064f6ec-cb38-4ad0-af64-ee6467e63c82",folders:[new B.b({uri:t,name:"",index:0})],name:t.fsPath}}return e.prototype.getWorkspace=function(){return this.workspace},e.prototype.getWorkspaceFolder=function(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:void 0},e}();function Ee(e,t,o){t&&e instanceof me&&Object.keys(t).forEach((function(n){Object(ie.d)(n)&&e.updateValue("editor."+n,t[n]),o&&Object(ie.c)(n)&&e.updateValue("diffEditor."+n,t[n])}))}var Ce=function(){function e(e){this._modelService=e}return e.prototype.apply=function(e,t){for(var o=new Map,n=0,i=e.edits;n<i.length;n++){var r=i[n];if(!Object(re.A)(r))return c.b.wrapError(new Error("bad edit - only text edits are supported"));var s=this._modelService.getModel(r.resource);if(!s)return c.b.wrapError(new Error("bad edit - model not found"));var a=o.get(s);a||(a=[]),o.set(s,a.concat(r.edits))}var u=0,h=0;return o.forEach((function(e,t){t.applyEdits(e.map((function(e){return se.a.replaceMove(l.a.lift(e.range),e.text)}))),h+=1,u+=e.length})),c.b.as({selection:void 0,ariaSummary:Object(N.a)("summary","Made {0} edits in {1} files",u,h)})},e}(),Se=function(){function e(){}return e.prototype.getLabel=function(e,t){return"file"===e.scheme?e.fsPath:e.path},e}(),Te=o(140),we=o(264),ke=o(103),Oe=o(206),Re=o(19),Ne=o(58),Le=o(24),Ie=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),De=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Ae=function(e,t){return function(o,n){t(o,n,e)}},Pe=0,Me=!1;var xe=function(e){function t(t,o,n,i,r,s,a,l,u){var c=this;return(o=o||{}).ariaLabel=o.ariaLabel||N.a("editorViewAccessibleLabel","Editor content"),o.ariaLabel=o.ariaLabel+";"+(Le.k?N.a("accessibilityHelpMessageIE","Press Ctrl+F1 for Accessibility Options."):N.a("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")),c=e.call(this,t,o,{},n,i,r,s,l,u)||this,a instanceof pe&&(c._standaloneKeybindingService=a),Me||(Me=!0,Ne.b(document.body)),c}return Ie(t,e),t.prototype.addCommand=function(e,t,o){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;var n="DYNAMIC_"+ ++Pe,i=w.d.deserialize(o);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,i),n},t.prototype.createContextKey=function(e,t){return this._contextKeyService.createKey(e,t)},t.prototype.addAction=function(e){var t=this;if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),b.a.None;var o=e.id,n=e.label,i=w.d.and(w.d.equals("editorId",this.getId()),w.d.deserialize(e.precondition)),r=e.keybindings,s=w.d.and(i,w.d.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,u=function(){var o=e.run(t);return o||c.b.as(void 0)},h=[],d=this.getId()+":"+o;if(h.push(S.a.registerCommand(d,u)),a){var g={command:{id:d,title:n},when:i,group:a,order:l};h.push(J.d.appendMenuItem(J.b.EditorContext,g))}Array.isArray(r)&&(h=h.concat(r.map((function(e){return t._standaloneKeybindingService.addDynamicKeybinding(d,e,u,s)}))));var p=new Oe.a(d,n,n,i,u,this._contextKeyService);return this._actions[o]=p,h.push(Object(b.f)((function(){delete t._actions[o]}))),Object(b.c)(h)},t=De([Ae(2,C.a),Ae(3,k.a),Ae(4,S.b),Ae(5,w.e),Ae(6,T.a),Ae(7,Re.c),Ae(8,ne.a)],t)}(Te.a),Be=function(e){function t(t,o,n,i,r,s,a,l,u,c,h,d){var g=this;Ee(d,o,!1),"string"==typeof(o=o||{}).theme&&c.setTheme(o.theme);var p=o.model;if(delete o.model,(g=e.call(this,t,o,i,r,s,a,l,c,h)||this)._contextViewService=u,g._configurationService=d,g._register(n),void 0===p?(p=self.monaco.editor.createModel(o.value||"",o.language||"text/plain"),g._ownsModel=!0):g._ownsModel=!1,g._attachModel(p),p){var f={oldModelUrl:null,newModelUrl:p.uri};g._onDidChangeModel.fire(f)}return g}return Ie(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.updateOptions=function(t){Ee(this._configurationService,t,!1),e.prototype.updateOptions.call(this,t)},t.prototype._attachModel=function(t){e.prototype._attachModel.call(this,t),this._view&&this._contextViewService.setContainer(this._view.domNode.domNode)},t.prototype._postDetachModelCleanup=function(t){e.prototype._postDetachModelCleanup.call(this,t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)},t=De([Ae(3,C.a),Ae(4,k.a),Ae(5,S.b),Ae(6,w.e),Ae(7,T.a),Ae(8,E.b),Ae(9,ke.a),Ae(10,ne.a),Ae(11,j.b)],t)}(xe),Fe=function(e){function t(t,o,n,i,r,s,a,l,u,c,h,d){var g=this;return Ee(d,o,!0),"string"==typeof(o=o||{}).theme&&(o.theme=c.setTheme(o.theme)),(g=e.call(this,t,o,l,r,i,u,c,h)||this)._contextViewService=a,g._configurationService=d,g._register(n),g._contextViewService.setContainer(g._containerDomElement),g}return Ie(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.updateOptions=function(t){Ee(this._configurationService,t,!0),e.prototype.updateOptions.call(this,t)},t.prototype._createInnerEditor=function(e,t,o){return e.createInstance(xe,t,o)},t.prototype.getOriginalEditor=function(){return e.prototype.getOriginalEditor.call(this)},t.prototype.getModifiedEditor=function(){return e.prototype.getModifiedEditor.call(this)},t.prototype.addCommand=function(e,t,o){return this.getModifiedEditor().addCommand(e,t,o)},t.prototype.createContextKey=function(e,t){return this.getModifiedEditor().createContextKey(e,t)},t.prototype.addAction=function(e){return this.getModifiedEditor().addAction(e)},t=De([Ae(3,C.a),Ae(4,w.e),Ae(5,T.a),Ae(6,E.b),Ae(7,O.a),Ae(8,k.a),Ae(9,ke.a),Ae(10,ne.a),Ae(11,j.b)],t)}(we.a),He=o(42),Ue=(o(492),o(34)),Ve=o(41),We=o(78),je=(o(493),o(74)),Ge=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),ze=function(e){function t(t,o,n){var i=e.call(this,n||"submenu",t,"",!0)||this;return i.entries=o,i}return Ge(t,e),t}(We.a),Ke=function(){function e(e,t,o){void 0===o&&(o={});var n=this;Object(X.f)(e,"monaco-menu-container"),e.setAttribute("role","presentation");var i=document.createElement("div");Object(X.f)(i,"monaco-menu"),i.setAttribute("role","presentation"),e.appendChild(i);var r={parent:this};this.actionBar=new je.a(i,{orientation:je.c.VERTICAL,actionItemProvider:function(e){return n.doGetActionItem(e,o,r)},context:o.context,actionRunner:o.actionRunner,isMenu:!0,ariaLabel:o.ariaLabel}),this.actionBar.push(t,{icon:!0,label:!0,isMenu:!0})}return e.prototype.doGetActionItem=function(e,t,o){if(e instanceof je.e)return new je.b(t.context,e,{icon:!0});if(e instanceof ze)return new Xe(e,e.entries,o,t);var n={};if(t.getKeyBinding){var i=t.getKeyBinding(e);i&&(n.keybinding=i.getLabel())}return new Ye(t.context,e,n)},Object.defineProperty(e.prototype,"onDidCancel",{get:function(){return this.actionBar.onDidCancel},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onDidBlur",{get:function(){return this.actionBar.onDidBlur},enumerable:!0,configurable:!0}),e.prototype.focus=function(e){void 0===e&&(e=!0),this.actionBar&&this.actionBar.focus(e)},e.prototype.dispose=function(){this.actionBar&&(this.actionBar.dispose(),this.actionBar=null),this.listener&&(this.listener.dispose(),this.listener=null)},e}(),Ye=function(e){function t(t,o,n){void 0===n&&(n={});var i=this;return n.isMenu=!0,(i=e.call(this,o,o,n)||this).options=n,i.options.icon=void 0!==n.icon&&n.icon,i.options.label=void 0===n.label||n.label,i.cssClass="",i}return Ge(t,e),t.prototype.render=function(t){e.prototype.render.call(this,t),this.$e=Object(Ue.a)("a.action-menu-item").appendTo(this.builder),this._action.id===je.e.ID?this.$e.attr({role:"presentation"}):this.$e.attr({role:"menuitem"}),this.$label=Object(Ue.a)("span.action-label").appendTo(this.$e),this.options.label&&this.options.keybinding&&Object(Ue.a)("span.keybinding").text(this.options.keybinding).appendTo(this.$e),this._updateClass(),this._updateLabel(),this._updateTooltip(),this._updateEnabled(),this._updateChecked()},t.prototype._updateLabel=function(){if(this.options.label){var e=this.getAction().label;if(e){var o=t.MNEMONIC_REGEX.exec(e);if(o&&2===o.length){var n=o[1],i=e.replace(t.MNEMONIC_REGEX,n);this.$e.getHTMLElement().accessKey=n.toLocaleLowerCase(),this.$label.attr("aria-label",i)}else this.$label.attr("aria-label",e);e=e.replace(t.MNEMONIC_REGEX,"$1̲")}this.$label.text(e)}},t.prototype._updateTooltip=function(){var e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=N.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&this.$e.attr({title:e})},t.prototype._updateClass=function(){this.cssClass&&this.$e.removeClass(this.cssClass),this.options.icon?(this.cssClass=this.getAction().class,this.$label.addClass("icon"),this.cssClass&&this.$label.addClass(this.cssClass),this._updateEnabled()):this.$label.removeClass("icon")},t.prototype._updateEnabled=function(){this.getAction().enabled?(this.builder.removeClass("disabled"),this.$e.removeClass("disabled"),this.$e.attr({tabindex:0})):(this.builder.addClass("disabled"),this.$e.addClass("disabled"),Object(X.H)(this.$e.getHTMLElement()))},t.prototype._updateChecked=function(){this.getAction().checked?this.$label.addClass("checked"):this.$label.removeClass("checked")},t.MNEMONIC_REGEX=/&&(.)/g,t}(je.d),Xe=function(e){function t(t,o,n,i){var r=e.call(this,t,t,{label:!0,isMenu:!0})||this;return r.submenuActions=o,r.parentData=n,r.submenuOptions=i,r.showScheduler=new L.c((function(){r.mouseOver&&(r.cleanupExistingSubmenu(!1),r.createSubmenu(!1))}),250),r.hideScheduler=new L.c((function(){Object(X.B)(document.activeElement,r.builder.getHTMLElement())||r.parentData.submenu!==r.mysubmenu||(r.parentData.parent.focus(!1),r.cleanupExistingSubmenu(!0))}),750),r}return Ge(t,e),t.prototype.render=function(t){var o=this;e.prototype.render.call(this,t),this.$e.addClass("monaco-submenu-item"),this.$e.attr("aria-haspopup","true"),Object(Ue.a)("span.submenu-indicator").text("▶").appendTo(this.$e),Object(Ue.a)(this.builder).on(X.d.KEY_UP,(function(e){new q.a(e).equals(17)&&(X.c.stop(e,!0),o.createSubmenu(!0))})),Object(Ue.a)(this.builder).on(X.d.KEY_DOWN,(function(e){new q.a(e).equals(17)&&X.c.stop(e,!0)})),Object(Ue.a)(this.builder).on(X.d.MOUSE_OVER,(function(e){o.mouseOver||(o.mouseOver=!0,o.showScheduler.schedule())})),Object(Ue.a)(this.builder).on(X.d.MOUSE_LEAVE,(function(e){o.mouseOver=!1})),Object(Ue.a)(this.builder).on(X.d.FOCUS_OUT,(function(e){Object(X.B)(document.activeElement,o.builder.getHTMLElement())||o.hideScheduler.schedule()}))},t.prototype.onClick=function(e){X.c.stop(e,!0),this.createSubmenu(!1)},t.prototype.cleanupExistingSubmenu=function(e){this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)&&(this.parentData.submenu.dispose(),this.parentData.submenu=null,this.submenuContainer&&(this.submenuContainer.dispose(),this.submenuContainer=null))},t.prototype.createSubmenu=function(e){var t=this;void 0===e&&(e=!0),this.parentData.submenu?this.parentData.submenu.focus(!1):(this.submenuContainer=Object(Ue.a)(this.builder).div({class:"monaco-submenu menubar-menu-items-holder context-view"}),Object(Ue.a)(this.submenuContainer).style({left:Object(Ue.a)(this.builder).getClientArea().width+"px"}),Object(Ue.a)(this.submenuContainer).on(X.d.KEY_UP,(function(e){new q.a(e).equals(15)&&(X.c.stop(e,!0),t.parentData.parent.focus(),t.parentData.submenu.dispose(),t.parentData.submenu=null,t.submenuContainer.dispose(),t.submenuContainer=null)})),Object(Ue.a)(this.submenuContainer).on(X.d.KEY_DOWN,(function(e){new q.a(e).equals(15)&&X.c.stop(e,!0)})),this.parentData.submenu=new Ke(this.submenuContainer.getHTMLElement(),this.submenuActions,this.submenuOptions),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu)},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer.dispose(),this.submenuContainer=null)},t}(Ye),qe=function(){function e(e,t,o,n){this.setContainer(e),this.contextViewService=t,this.telemetryService=o,this.notificationService=n,this.menuContainerElement=null}return e.prototype.setContainer=function(e){var t=this;this.$el&&(this.$el.off(["click","mousedown"]),this.$el=null),e&&(this.$el=Object(Ue.a)(e),this.$el.on("mousedown",(function(e){return t.onMouseDown(e)})))},e.prototype.showContextMenu=function(e){var t=this;e.getActions().done((function(o){o.length&&t.contextViewService.showContextView({getAnchor:function(){return e.getAnchor()},canRelayout:!1,render:function(n){t.menuContainerElement=n;var i=e.getMenuClassName?e.getMenuClassName():"";i&&(n.className+=" "+i);var r=[],s=e.actionRunner||new We.b;s.onDidBeforeRun(t.onActionRun,t,r),s.onDidRun(t.onDidActionRun,t,r);var a=new Ke(n,o,{actionItemProvider:e.getActionItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:s,getKeyBinding:e.getKeyBinding});return a.onDidCancel((function(){return t.contextViewService.hideContextView(!0)}),null,r),a.onDidBlur((function(){return t.contextViewService.hideContextView(!0)}),null,r),a.focus(!!e.autoSelectFirstItem),Object(b.c)(r.concat([a]))},onHide:function(o){e.onHide&&e.onHide(o),t.menuContainerElement=null}})}))},e.prototype.onActionRun=function(e){this.telemetryService&&this.telemetryService.publicLog("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)},e.prototype.onDidActionRun=function(e){e.error&&this.notificationService&&this.notificationService.error(e.error)},e.prototype.onMouseDown=function(e){if(this.menuContainerElement){for(var t=new Ve.b(e).target;t;){if(t===this.menuContainerElement)return;t=t.parentElement}this.contextViewService.hideContextView()}},e.prototype.dispose=function(){this.setContainer(null)},e}(),$e=function(){function e(e,t,o,n){this._onDidContextMenu=new r.a,this.contextMenuHandler=new qe(e,n,t,o)}return e.prototype.dispose=function(){this.contextMenuHandler.dispose()},e.prototype.showContextMenu=function(e){this.contextMenuHandler.showContextMenu(e),this._onDidContextMenu.fire()},e}(),Je=o(203),Ze=o(110),Qe=o(135),et=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},tt=function(e,t){return function(o,n){t(o,n,e)}},ot=function(){function e(e,t,o){this.logService=o,this.contextView=new Je.b(e)}return e.prototype.dispose=function(){this.contextView.dispose()},e.prototype.setContainer=function(e){this.logService.trace("ContextViewService#setContainer"),this.contextView.setContainer(e)},e.prototype.showContextView=function(e){this.logService.trace("ContextViewService#showContextView"),this.contextView.show(e)},e.prototype.layout=function(){this.contextView.layout()},e.prototype.hideContextView=function(e){this.logService.trace("ContextViewService#hideContextView"),this.contextView.hide(e)},e=et([tt(1,Ze.a),tt(2,Qe.a)],e)}(),nt=o(13),it=o(76),rt=Object.prototype.hasOwnProperty;function st(e,t){var o=function(o){if(rt.call(e,o)&&!1===t({key:o,value:e[o]},(function(){delete e[o]})))return{value:void 0}};for(var n in e){var i=o(n);if("object"==typeof i)return i.value}}var at,lt,ut=function(){function e(e){this._hashFn=e,this._nodes=Object.create(null)}return e.prototype.roots=function(){var e=[];return st(this._nodes,(function(t){Object(U.d)(t.value.outgoing)&&e.push(t.value)})),e},e.prototype.insertEdge=function(e,t){var o=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);o.outgoing[this._hashFn(t)]=n,n.incoming[this._hashFn(e)]=o},e.prototype.removeNode=function(e){var t=this._hashFn(e);delete this._nodes[t],st(this._nodes,(function(e){delete e.value.outgoing[t],delete e.value.incoming[t]}))},e.prototype.lookupOrInsertNode=function(e){var t=this._hashFn(e),o=this._nodes[t];return o||(o=function(e){return{data:e,incoming:Object.create(null),outgoing:Object.create(null)}}(e),this._nodes[t]=o),o},Object.defineProperty(e.prototype,"length",{get:function(){return Object.keys(this._nodes).length},enumerable:!0,configurable:!0}),e.prototype.toString=function(){var e=[];return st(this._nodes,(function(t){e.push(t.key+", (incoming)["+Object.keys(t.value.incoming).join(", ")+"], (outgoing)["+Object.keys(t.value.outgoing).join(",")+"]")})),e.join("\n")},e}(),ct=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];this.ctor=e,this.staticArguments=t},ht=o(117),dt=function(){function e(e,t){void 0===e&&(e=new ht.a),void 0===t&&(t=!1),this._services=e,this._strict=t,this._services.set(C.a,this)}return e.prototype.createChild=function(t){var o=this;return this._services.forEach((function(e,n){t.has(e)||(n instanceof ct&&(n=o._createAndCacheServiceInstance(e,n)),t.set(e,n))})),new e(t,this._strict)},e.prototype.invokeFunction=function(e){for(var t,o=this,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];try{return t={get:function(e,t){var n=o._getOrCreateServiceInstance(e);if(!n&&t!==C.d)throw new Error("[invokeFunction] unknown service '"+e+"'");return n}},e.apply(void 0,[t].concat(n))}finally{t.get=function(){throw Object(nt.c)("service accessor is only valid during the invocation of its target method")}}},e.prototype.createInstance=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];return e instanceof ct?this._createInstance(e,t):this._createInstance(new ct(e),t)},e.prototype._createInstance=function(e,t){for(var o=e.staticArguments.concat(t),n=C.b.getServiceDependencies(e.ctor).sort((function(e,t){return e.index-t.index})),i=[],r=0,s=n;r<s.length;r++){var a=s[r],l=this._getOrCreateServiceInstance(a.id);if(!l&&this._strict&&!a.optional)throw new Error("[createInstance] "+e.ctor.name+" depends on UNKNOWN service "+a.id+".");i.push(l)}var u=n.length>0?n[0].index:o.length;if(o.length!==u){console.warn("[createInstance] First service dependency of "+e.ctor.name+" at position "+(u+1)+" conflicts with "+o.length+" static arguments");var c=u-o.length;o=c>0?o.concat(new Array(c)):o.slice(0,u)}var h=[e.ctor];return h.push.apply(h,o),h.push.apply(h,i),U.a.apply(null,h)},e.prototype._getOrCreateServiceInstance=function(e){var t=this._services.get(e);return t instanceof ct?this._createAndCacheServiceInstance(e,t):t},e.prototype._createAndCacheServiceInstance=function(e,t){it.a(this._services.get(e)instanceof ct);var o=new ut((function(e){return e.id.toString()}));function n(){var e=new Error("[createInstance] cyclic dependency between services");throw e.message=o.toString(),e}for(var i=0,r=[{id:e,desc:t}];r.length;){var s=r.pop();o.lookupOrInsertNode(s),i++>100&&n();for(var a=0,l=C.b.getServiceDependencies(s.desc.ctor);a<l.length;a++){var u=l[a],c=this._services.get(u.id);if(c||console.warn("[createInstance] "+e+" depends on "+u.id+" which is NOT registered."),c instanceof ct){var h={id:u.id,desc:c};o.insertEdge(s,h),r.push(h)}}}for(;;){var d=o.roots();if(0===d.length){0!==o.length&&n();break}for(var g=0,p=d;g<p.length;g++){var f=p[g],m=this._createInstance(f.data.desc,[]);this._services.set(f.data.id,m),o.removeNode(f.data)}}return this._services.get(e)},e}(),gt=o(62),pt=o(46);(lt=at||(at={})).get=function(e,t,o){if(e[t])return e[t][o]},lt.set=function(e,t,o,n){e[t]||(e[t]=Object.create(null)),e[t][o]=n},lt.remove=function(e,t,o){return!(!e[t]||!e[t][o]||(delete e[t][o],Object(U.d)(e[t])&&delete e[t],0))};var ft=function(){function e(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=Object.create(null),this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}return e.prototype.dispose=function(){this._subscription.dispose(),this._data=void 0},e.prototype._update=function(e){for(var t=0,o=e;t<o.length;t++){var n=o[t],i=n.toString(),r=this._data[i];r&&this._substract(r);var s=this._resourceStats(n);this._add(s),this._data[i]=s}},e.prototype._resourceStats=function(e){var t={errors:0,warnings:0,infos:0,unknowns:0};if(e.scheme===gt.a.inMemory||e.scheme===gt.a.walkThrough||e.scheme===gt.a.walkThroughSnippet)return t;for(var o=0,n=this._service.read({resource:e});o<n.length;o++){var i=n[o].severity;i===pt.b.Error?t.errors+=1:i===pt.b.Warning?t.warnings+=1:i===pt.b.Info?t.infos+=1:t.unknowns+=1}return t},e.prototype._substract=function(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns},e.prototype._add=function(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns},e}(),mt=function(){function e(){this._onMarkerChanged=new r.a,this._onMarkerChangedEvent=Object(r.h)(this._onMarkerChanged.event,e._debouncer,0),this._byResource=Object.create(null),this._byOwner=Object.create(null),this._stats=new ft(this)}return e.prototype.dispose=function(){this._stats.dispose()},Object.defineProperty(e.prototype,"onMarkerChanged",{get:function(){return this._onMarkerChangedEvent},enumerable:!0,configurable:!0}),e.prototype.remove=function(e,t){if(!Object(H.k)(t))for(var o=0,n=t;o<n.length;o++){var i=n[o];this.changeOne(e,i,void 0)}},e.prototype.changeOne=function(t,o,n){if(Object(H.k)(n)){var i=at.remove(this._byResource,o.toString(),t),r=at.remove(this._byOwner,t,o.toString());if(i!==r)throw new Error("invalid marker service state");i&&r&&this._onMarkerChanged.fire([o])}else{for(var s=[],a=0,l=n;a<l.length;a++){var u=l[a],c=e._toMarker(t,o,u);c&&s.push(c)}at.set(this._byResource,o.toString(),t,s),at.set(this._byOwner,t,o.toString(),s),this._onMarkerChanged.fire([o])}},e._toMarker=function(e,t,o){var n=o.code,i=o.severity,r=o.message,s=o.source,a=o.startLineNumber,l=o.startColumn,u=o.endLineNumber,c=o.endColumn,h=o.relatedInformation,d=o.tags;if(r)return{resource:t,owner:e,code:n=n||null,severity:i,message:r,source:s,startLineNumber:a=a>0?a:1,startColumn:l=l>0?l:1,endLineNumber:u=u>=a?u:a,endColumn:c=c>0?c:l,relatedInformation:h,tags:d}},e.prototype.read=function(t){void 0===t&&(t=Object.create(null));var o=t.owner,n=t.resource,i=t.severities,r=t.take;if((!r||r<0)&&(r=-1),o&&n){if(v=at.get(this._byResource,n.toString(),o)){for(var s=[],a=0,l=v;a<l.length;a++){var u=l[a];if(e._accept(u,i)){var c=s.push(u);if(r>0&&c===r)break}}return s}return[]}if(o||n){var h=o?this._byOwner[o]:this._byResource[n.toString()];if(!h)return[];s=[];for(var d in h)for(var g=0,p=h[d];g<p.length;g++){v=p[g];if(e._accept(v,i)){c=s.push(v);if(r>0&&c===r)return s}}return s}var s=[];for(var f in this._byResource)for(var m in this._byResource[f])for(var _=0,y=this._byResource[f][m];_<y.length;_++){var v=y[_];if(e._accept(v,i)){var c=s.push(v);if(r>0&&c===r)return s}}return s},e._accept=function(e,t){return void 0===t||(t&e.severity)===e.severity},e._debouncer=function(t,o){t||(e._dedupeMap=Object.create(null),t=[]);for(var n=0,i=o;n<i.length;n++){var r=i[n];void 0===e._dedupeMap[r.toString()]&&(e._dedupeMap[r.toString()]=!0,t.push(r))}return t},e}(),_t=o(129),yt=o(55),vt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),bt="$initialize",Et=!1;function Ct(e){oe.f&&(Et||(Et=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/Microsoft/monaco-editor#faq")),console.warn(e.message))}var St=function(){function e(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null)}return e.prototype.setWorkerId=function(e){this._workerId=e},e.prototype.sendMessage=function(e,t){var o=String(++this._lastSentReq),n={c:null,e:null},i=new c.b((function(e,t){n.c=e,n.e=t}),(function(){}));return this._pendingReplies[o]=n,this._send({vsWorker:this._workerId,req:o,method:e,args:t}),i},e.prototype.handleMessage=function(e){var t;try{t=JSON.parse(e)}catch(e){}t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))},e.prototype._handleMessage=function(e){var t=this;if(e.seq){var o=e;if(!this._pendingReplies[o.seq])return void console.warn("Got reply to unknown seq");var n=this._pendingReplies[o.seq];if(delete this._pendingReplies[o.seq],o.err){var i=o.err;return o.err.$isError&&((i=new Error).name=o.err.name,i.message=o.err.message,i.stack=o.err.stack),void n.e(i)}n.c(o.res)}else{var r=e,s=r.req;this._handler.handleMessage(r.method,r.args).then((function(e){t._send({vsWorker:t._workerId,seq:s,res:e,err:void 0})}),(function(e){e.detail instanceof Error&&(e.detail=Object(nt.g)(e.detail)),t._send({vsWorker:t._workerId,seq:s,res:void 0,err:Object(nt.g)(e)})}))}},e.prototype._send=function(e){var t=JSON.stringify(e);this._handler.sendMessage(t)},e}(),Tt=function(e){function t(t,o){var n=e.call(this)||this,i=null,r=null;n._worker=n._register(t.create("vs/base/common/worker/simpleWorker",(function(e){n._protocol.handleMessage(e)}),(function(e){r(e)}))),n._protocol=new St({sendMessage:function(e){n._worker.postMessage(e)},handleMessage:function(e,t){return c.b.as(null)}}),n._protocol.setWorkerId(n._worker.getId());var s=null;void 0!==self.require&&"function"==typeof self.require.getConfig?s=self.require.getConfig():void 0!==self.requirejs&&(s=self.requirejs.s.contexts._.config),n._lazyProxy=new c.b((function(e,t){i=e,r=t}),(function(){})),n._onModuleLoaded=n._protocol.sendMessage(bt,[n._worker.getId(),o,s]),n._onModuleLoaded.then((function(e){for(var t={},o=0;o<e.length;o++)t[e[o]]=l(e[o],a);i(t)}),(function(e){r(e),n._onError("Worker failed to load "+o,e)}));var a=function(e,t){return n._request(e,t)},l=function(e,t){return function(){var o=Array.prototype.slice.call(arguments,0);return t(e,o)}};return n}return vt(t,e),t.prototype.getProxyObject=function(){return new L.d(this._lazyProxy)},t.prototype._request=function(e,t){var o=this;return new c.b((function(n,i){o._onModuleLoaded.then((function(){o._protocol.sendMessage(e,t).then(n,i)}),i)}),(function(){}))},t.prototype._onError=function(e,t){console.error(e),console.info(t)},t}(b.a);!function(){function e(e,t){var o=this;this._requestHandler=t,this._protocol=new St({sendMessage:function(t){e(t)},handleMessage:function(e,t){return o._handleMessage(e,t)}})}e.prototype.onmessage=function(e){this._protocol.handleMessage(e)},e.prototype._handleMessage=function(e,t){if(e===bt)return this.initialize(t[0],t[1],t[2]);if(!this._requestHandler||"function"!=typeof this._requestHandler[e])return c.b.wrapError(new Error("Missing requestHandler or method: "+e));try{return c.b.as(this._requestHandler[e].apply(this._requestHandler,t))}catch(e){return c.b.wrapError(e)}},e.prototype.initialize=function(e,t,o){var n,i,r=this;if(this._protocol.setWorkerId(e),this._requestHandler){var s=[];for(var a in this._requestHandler)"function"==typeof this._requestHandler[a]&&s.push(a);return c.b.as(s)}o&&(void 0!==o.baseUrl&&delete o.baseUrl,void 0!==o.paths&&void 0!==o.paths.vs&&delete o.paths.vs,o.catchError=!0,self.require.config(o));var l=new c.b((function(e,t){n=e,i=t}));return self.require([t],(function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var o=e[0];r._requestHandler=o.create();var i=[];for(var s in r._requestHandler)"function"==typeof r._requestHandler[s]&&i.push(s);n(i)}),i),l}}();var wt=function(){function e(e,t,o,n,i){this.id=t,this.worker=function(e,t){if(oe.b.MonacoEnvironment){if("function"==typeof oe.b.MonacoEnvironment.getWorker)return oe.b.MonacoEnvironment.getWorker(e,t);if("function"==typeof oe.b.MonacoEnvironment.getWorkerUrl)return new Worker(oe.b.MonacoEnvironment.getWorkerUrl(e,t))}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}("workerMain.js",o),this.postMessage(e),this.worker.onmessage=function(e){n(e.data)},"function"==typeof this.worker.addEventListener&&this.worker.addEventListener("error",i)}return e.prototype.getId=function(){return this.id},e.prototype.postMessage=function(e){this.worker&&this.worker.postMessage(e)},e.prototype.dispose=function(){this.worker.terminate(),this.worker=null},e}(),kt=function(){function e(e){this._label=e,this._webWorkerFailedBeforeError=!1}return e.prototype.create=function(t,o,n){var i=this,r=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new wt(t,r,this._label||"anonymous"+r,o,(function(e){Ct(e),i._webWorkerFailedBeforeError=e,n(e)}))},e.LAST_WORKER_ID=0,e}(),Ot=o(60),Rt=o(163),Nt=o(8),Lt=5e3,It=3;function Dt(e,t,o,n){return new Rt.a(e,t,o).ComputeDiff(n)}var At=function(){function e(t){for(var o=[],n=[],i=0,r=t.length;i<r;i++)o[i]=e._getFirstNonBlankColumn(t[i],1),n[i]=e._getLastNonBlankColumn(t[i],1);this._lines=t,this._startColumns=o,this._endColumns=n}return e.prototype.getLength=function(){return this._lines.length},e.prototype.getElementAtIndex=function(e){return this._lines[e].substring(this._startColumns[e]-1,this._endColumns[e]-1)},e.prototype.getStartLineNumber=function(e){return e+1},e.prototype.getEndLineNumber=function(e){return e+1},e._getFirstNonBlankColumn=function(e,t){var o=Nt.firstNonWhitespaceIndex(e);return-1===o?t:o+1},e._getLastNonBlankColumn=function(e,t){var o=Nt.lastNonWhitespaceIndex(e);return-1===o?t:o+2},e.prototype.getCharSequence=function(e,t,o){for(var n=[],i=[],r=[],s=0,a=t;a<=o;a++)for(var l=this._lines[a],u=e?this._startColumns[a]:1,c=e?this._endColumns[a]:l.length+1,h=u;h<c;h++)n[s]=l.charCodeAt(h-1),i[s]=a+1,r[s]=h,s++;return new Pt(n,i,r)},e}(),Pt=function(){function e(e,t,o){this._charCodes=e,this._lineNumbers=t,this._columns=o}return e.prototype.getLength=function(){return this._charCodes.length},e.prototype.getElementAtIndex=function(e){return this._charCodes[e]},e.prototype.getStartLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getStartColumn=function(e){return this._columns[e]},e.prototype.getEndLineNumber=function(e){return this._lineNumbers[e]},e.prototype.getEndColumn=function(e){return this._columns[e]+1},e}(),Mt=function(){function e(e,t,o,n,i,r,s,a){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=o,this.originalEndColumn=n,this.modifiedStartLineNumber=i,this.modifiedStartColumn=r,this.modifiedEndLineNumber=s,this.modifiedEndColumn=a}return e.createFromDiffChange=function(t,o,n){var i,r,s,a,l,u,c,h;return 0===t.originalLength?(i=0,r=0,s=0,a=0):(i=o.getStartLineNumber(t.originalStart),r=o.getStartColumn(t.originalStart),s=o.getEndLineNumber(t.originalStart+t.originalLength-1),a=o.getEndColumn(t.originalStart+t.originalLength-1)),0===t.modifiedLength?(l=0,u=0,c=0,h=0):(l=n.getStartLineNumber(t.modifiedStart),u=n.getStartColumn(t.modifiedStart),c=n.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),h=n.getEndColumn(t.modifiedStart+t.modifiedLength-1)),new e(i,r,s,a,l,u,c,h)},e}();var xt=function(){function e(e,t,o,n,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=o,this.modifiedEndLineNumber=n,this.charChanges=i}return e.createFromDiffResult=function(t,o,n,i,r,s,a){var l,u,c,h,d;if(0===o.originalLength?(l=n.getStartLineNumber(o.originalStart)-1,u=0):(l=n.getStartLineNumber(o.originalStart),u=n.getEndLineNumber(o.originalStart+o.originalLength-1)),0===o.modifiedLength?(c=i.getStartLineNumber(o.modifiedStart)-1,h=0):(c=i.getStartLineNumber(o.modifiedStart),h=i.getEndLineNumber(o.modifiedStart+o.modifiedLength-1)),s&&0!==o.originalLength&&0!==o.modifiedLength&&r()){var g=n.getCharSequence(t,o.originalStart,o.originalStart+o.originalLength-1),p=i.getCharSequence(t,o.modifiedStart,o.modifiedStart+o.modifiedLength-1),f=Dt(g,p,r,!0);a&&(f=function(e){if(e.length<=1)return e;for(var t=[e[0]],o=t[0],n=1,i=e.length;n<i;n++){var r=e[n],s=r.originalStart-(o.originalStart+o.originalLength),a=r.modifiedStart-(o.modifiedStart+o.modifiedLength);Math.min(s,a)<It?(o.originalLength=r.originalStart+r.originalLength-o.originalStart,o.modifiedLength=r.modifiedStart+r.modifiedLength-o.modifiedStart):(t.push(r),o=r)}return t}(f)),d=[];for(var m=0,_=f.length;m<_;m++)d.push(Mt.createFromDiffChange(f[m],g,p))}return new e(l,u,c,h,d)},e}(),Bt=function(){function e(e,t,o){this.shouldComputeCharChanges=o.shouldComputeCharChanges,this.shouldPostProcessCharChanges=o.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=o.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=o.shouldMakePrettyDiff,this.maximumRunTimeMs=Lt,this.originalLines=e,this.modifiedLines=t,this.original=new At(e),this.modified=new At(t)}return e.prototype.computeDiff=function(){if(1===this.original.getLength()&&0===this.original.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.getLength(),charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];if(1===this.modified.getLength()&&0===this.modified.getElementAtIndex(0).length)return[{originalStartLineNumber:1,originalEndLineNumber:this.original.getLength(),modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}];this.computationStartTime=(new Date).getTime();var e=Dt(this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldMakePrettyDiff);if(this.shouldIgnoreTrimWhitespace){for(var t=[],o=0,n=e.length;o<n;o++)t.push(xt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,e[o],this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return t}for(var i=[],r=0,s=0,a=(o=-1,e.length);o<a;o++){for(var l=o+1<a?e[o+1]:null,u=l?l.originalStart:this.originalLines.length,c=l?l.modifiedStart:this.modifiedLines.length;r<u&&s<c;){var h=this.originalLines[r],d=this.modifiedLines[s];if(h!==d){for(var g=At._getFirstNonBlankColumn(h,1),p=At._getFirstNonBlankColumn(d,1);g>1&&p>1;){if(h.charCodeAt(g-2)!==d.charCodeAt(p-2))break;g--,p--}(g>1||p>1)&&this._pushTrimWhitespaceCharChange(i,r+1,1,g,s+1,1,p);for(var f=At._getLastNonBlankColumn(h,1),m=At._getLastNonBlankColumn(d,1),_=h.length+1,y=d.length+1;f<_&&m<y;){if(h.charCodeAt(f-1)!==h.charCodeAt(m-1))break;f++,m++}(f<_||m<y)&&this._pushTrimWhitespaceCharChange(i,r+1,f,_,s+1,m,y)}r++,s++}l&&(i.push(xt.createFromDiffResult(this.shouldIgnoreTrimWhitespace,l,this.original,this.modified,this._continueProcessingPredicate.bind(this),this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),r+=l.originalLength,s+=l.modifiedLength)}return i},e.prototype._pushTrimWhitespaceCharChange=function(e,t,o,n,i,r,s){var a;this._mergeTrimWhitespaceCharChange(e,t,o,n,i,r,s)||(this.shouldComputeCharChanges&&(a=[new Mt(t,o,t,n,i,r,i,s)]),e.push(new xt(t,t,i,i,a)))},e.prototype._mergeTrimWhitespaceCharChange=function(e,t,o,n,i,r,s){var a=e.length;if(0===a)return!1;var l=e[a-1];return 0!==l.originalEndLineNumber&&0!==l.modifiedEndLineNumber&&(l.originalEndLineNumber+1===t&&l.modifiedEndLineNumber+1===i&&(l.originalEndLineNumber=t,l.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&l.charChanges.push(new Mt(t,o,t,n,i,r,i,s)),!0))},e.prototype._continueProcessingPredicate=function(){return 0===this.maximumRunTimeMs||(new Date).getTime()-this.computationStartTime<this.maximumRunTimeMs},e}(),Ft=o(158),Ht=function(){function e(e,t,o,n){this._uri=e,this._lines=t,this._eol=o,this._versionId=n}return e.prototype.dispose=function(){this._lines.length=0},e.prototype.getText=function(){return this._lines.join(this._eol)},e.prototype.onEvents=function(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);for(var t=e.changes,o=0,n=t.length;o<n;o++){var i=t[o];this._acceptDeleteRange(i.range),this._acceptInsertText(new a.a(i.range.startLineNumber,i.range.startColumn),i.text)}this._versionId=e.versionId},e.prototype._ensureLineStarts=function(){if(!this._lineStarts){for(var e=this._eol.length,t=this._lines.length,o=new Uint32Array(t),n=0;n<t;n++)o[n]=this._lines[n].length+e;this._lineStarts=new Ft.a(o)}},e.prototype._setLineText=function(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.changeValue(e,this._lines[e].length+this._eol.length)},e.prototype._acceptDeleteRange=function(e){if(e.startLineNumber!==e.endLineNumber)this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber);else{if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1))}},e.prototype._acceptInsertText=function(e,t){if(0!==t.length){var o=t.split(/\r\n|\r|\n/);if(1!==o.length){o[o.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+o[0]);for(var n=new Uint32Array(o.length-1),i=1;i<o.length;i++)this._lines.splice(e.lineNumber+i-1,0,o[i]),n[i-1]=o[i].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,n)}else this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+o[0]+this._lines[e.lineNumber-1].substring(e.column-1))}},e}(),Ut=o(116),Vt=o(92),Wt=function(){function e(e){for(var t=0,o=0,n=0,i=e.length;n<i;n++){var r=e[n],s=r[0];(u=r[1])>t&&(t=u),s>o&&(o=s),(c=r[2])>o&&(o=c)}t++,o++;var a=new Vt.a(o,t,0);for(n=0,i=e.length;n<i;n++){var l=e[n],u=(s=l[0],l[1]),c=l[2];a.set(s,u,c)}this._states=a,this._maxCharCode=t}return e.prototype.nextState=function(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)},e}(),jt=null;var Gt=null;var zt=function(){function e(){}return e._createLink=function(e,t,o,n,i){var r=i-1;do{var s=t.charCodeAt(r);if(2!==e.get(s))break;r--}while(r>n);if(n>0){var a=t.charCodeAt(n-1),l=t.charCodeAt(r);(40===a&&41===l||91===a&&93===l||123===a&&125===l)&&r--}return{range:{startLineNumber:o,startColumn:n+1,endLineNumber:o,endColumn:r+2},url:t.substring(n,r+1)}},e.computeLinks=function(t){for(var o=(null===jt&&(jt=new Wt([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),jt),n=function(){if(null===Gt){Gt=new Ut.a(0);for(var e=0;e<" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".length;e++)Gt.set(" \t<>'\"、。。、,.:;?!@#$%&*‘“〈《「『【〔([{「」}])〕】』」》〉”’`~…".charCodeAt(e),1);for(e=0;e<".,;".length;e++)Gt.set(".,;".charCodeAt(e),2)}return Gt}(),i=[],r=1,s=t.getLineCount();r<=s;r++){for(var a=t.getLineContent(r),l=a.length,u=0,c=0,h=0,d=1,g=!1,p=!1,f=!1;u<l;){var m=!1,_=a.charCodeAt(u);if(13===d){var y=void 0;switch(_){case 40:g=!0,y=0;break;case 41:y=g?0:1;break;case 91:p=!0,y=0;break;case 93:y=p?0:1;break;case 123:f=!0,y=0;break;case 125:y=f?0:1;break;case 39:y=34===h||96===h?0:1;break;case 34:y=39===h||96===h?0:1;break;case 96:y=39===h||34===h?0:1;break;default:y=n.get(_)}1===y&&(i.push(e._createLink(n,a,r,c,u)),m=!0)}else if(12===d){1===(y=n.get(_))?m=!0:d=13}else 0===(d=o.nextState(d,_))&&(m=!0);m&&(d=1,g=!1,p=!1,f=!1,c=u+1,h=_),u++}13===d&&i.push(e._createLink(n,a,r,c,l))}return i},e}();var Kt=function(){function e(){this._defaultValueSet=[["true","false"],["True","False"],["Private","Public","Friend","ReadOnly","Partial","Protected","WriteOnly"],["public","protected","private"]]}return e.prototype.navigateValueSet=function(e,t,o,n,i){var r;if(e&&t&&(r=this.doNavigateValueSet(t,i)))return{range:e,value:r};if(o&&n&&(r=this.doNavigateValueSet(n,i)))return{range:o,value:r};return null},e.prototype.doNavigateValueSet=function(e,t){var o=this.numberReplace(e,t);return null!==o?o:this.textReplace(e,t)},e.prototype.numberReplace=function(e,t){var o=Math.pow(10,e.length-(e.lastIndexOf(".")+1)),n=Number(e),i=parseFloat(e);return isNaN(n)||isNaN(i)||n!==i?null:0!==n||t?(n=Math.floor(n*o),n+=t?o:-o,String(n/o)):null},e.prototype.textReplace=function(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)},e.prototype.valueSetsReplace=function(e,t,o){for(var n=null,i=0,r=e.length;null===n&&i<r;i++)n=this.valueSetReplace(e[i],t,o);return n},e.prototype.valueSetReplace=function(e,t,o){var n=e.indexOf(t);return n>=0?((n+=o?1:-1)<0?n=e.length-1:n%=e.length,e[n]):null},e.INSTANCE=new e,e}(),Yt=o(105),Xt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),qt=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Xt(t,e),Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._versionId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"eol",{get:function(){return this._eol},enumerable:!0,configurable:!0}),t.prototype.getValue=function(){return this.getText()},t.prototype.getLinesContent=function(){return this._lines.slice(0)},t.prototype.getLineCount=function(){return this._lines.length},t.prototype.getLineContent=function(e){return this._lines[e-1]},t.prototype.getWordAtPosition=function(e,t){var o=Object(Yt.d)(e.column,Object(Yt.c)(t),this._lines[e.lineNumber-1],0);return o?new l.a(e.lineNumber,o.startColumn,e.lineNumber,o.endColumn):null},t.prototype.getWordUntilPosition=function(e,t){var o=this.getWordAtPosition(e,t);return o?{word:this._lines[e.lineNumber-1].substring(o.startColumn-1,e.column-1),startColumn:o.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}},t.prototype.createWordIterator=function(e){var t,o=this,n={done:!1,value:""},i=0,r=0,s=[],a=function(){if(r<s.length)n.done=!1,n.value=t.substring(s[r].start,s[r].end),r+=1;else{if(!(i>=o._lines.length))return t=o._lines[i],s=o._wordenize(t,e),r=0,i+=1,a();n.done=!0,n.value=void 0}return n};return{next:a}},t.prototype._wordenize=function(e,t){var o,n=[];for(t.lastIndex=0;(o=t.exec(e))&&0!==o[0].length;)n.push({start:o.index,end:o.index+o[0].length});return n},t.prototype.getValueInRange=function(e){if((e=this._validateRange(e)).startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);var t=this._eol,o=e.startLineNumber-1,n=e.endLineNumber-1,i=[];i.push(this._lines[o].substring(e.startColumn-1));for(var r=o+1;r<n;r++)i.push(this._lines[r]);return i.push(this._lines[n].substring(0,e.endColumn-1)),i.join(t)},t.prototype.offsetAt=function(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getAccumulatedValue(e.lineNumber-2)+(e.column-1)},t.prototype.positionAt=function(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();var t=this._lineStarts.getIndexOf(e),o=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,o)}},t.prototype._validateRange=function(e){var t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),o=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||o.lineNumber!==e.endLineNumber||o.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:o.lineNumber,endColumn:o.column}:e},t.prototype._validatePosition=function(e){if(!a.a.isIPosition(e))throw new Error("bad position");var t=e.lineNumber,o=e.column,n=!1;if(t<1)t=1,o=1,n=!0;else if(t>this._lines.length)t=this._lines.length,o=this._lines[t-1].length+1,n=!0;else{var i=this._lines[t-1].length+1;o<1?(o=1,n=!0):o>i&&(o=i,n=!0)}return n?{lineNumber:t,column:o}:e},t}(Ht),$t=function(e){function t(t){var o=e.call(this,t)||this;return o._models=Object.create(null),o}return Xt(t,e),t.prototype.dispose=function(){this._models=Object.create(null)},t.prototype._getModel=function(e){return this._models[e]},t.prototype._getModels=function(){var e=this,t=[];return Object.keys(this._models).forEach((function(o){return t.push(e._models[o])})),t},t.prototype.acceptNewModel=function(e){this._models[e.url]=new qt(g.a.parse(e.url),e.lines,e.EOL,e.versionId)},t.prototype.acceptModelChanged=function(e,t){this._models[e]&&this._models[e].onEvents(t)},t.prototype.acceptRemovedModel=function(e){this._models[e]&&delete this._models[e]},t}(function(){function e(e){this._foreignModuleFactory=e,this._foreignModule=null}return e.prototype.computeDiff=function(e,t,o){var n=this._getModel(e),i=this._getModel(t);if(!n||!i)return null;var r=n.getLinesContent(),s=i.getLinesContent(),a=new Bt(r,s,{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:o,shouldMakePrettyDiff:!0});return c.b.as(a.computeDiff())},e.prototype.computeMoreMinimalEdits=function(t,o){var n=this._getModel(t);if(!n)return c.b.as(o);for(var i,r=[],s=0,a=o;s<a.length;s++){var u=a[s],h=u.range,d=u.text,g=u.eol;if("number"==typeof g&&(i=g),h){var p=n.getValueInRange(h);if(p!==(d=d.replace(/\r\n|\n|\r/g,n.eol)))if(Math.max(d.length,p.length)>e._diffLimit)r.push({range:h,text:d});else for(var f=Object(Rt.b)(p,d,!1),m=n.offsetAt(l.a.lift(h).getStartPosition()),_=0,y=f;_<y.length;_++){var v=y[_],b=n.positionAt(m+v.originalStart),E=n.positionAt(m+v.originalStart+v.originalLength),C={text:d.substr(v.modifiedStart,v.modifiedLength),range:{startLineNumber:b.lineNumber,startColumn:b.column,endLineNumber:E.lineNumber,endColumn:E.column}};n.getValueInRange(C.range)!==C.text&&r.push(C)}}}return"number"==typeof i&&r.push({eol:i,text:void 0,range:void 0}),c.b.as(r)},e.prototype.computeLinks=function(e){var t=this._getModel(e);return t?c.b.as(function(e){return e&&"function"==typeof e.getLineCount&&"function"==typeof e.getLineContent?zt.computeLinks(e):[]}(t)):null},e.prototype.textualSuggest=function(t,o,n,i){var r=this._getModel(t);if(r){var s=[],a=new RegExp(n,i),l=r.getWordUntilPosition(o,a).word,u=Object.create(null);u[l]=!0;for(var h=r.createWordIterator(a),d=h.next();!d.done&&s.length<=e._suggestionsLimit;d=h.next()){var g=d.value;u[g]||(u[g]=!0,isNaN(Number(g))&&s.push({type:"text",label:g,insertText:g,noAutoAccept:!0,overwriteBefore:l.length}))}return c.b.as({suggestions:s})}},e.prototype.navigateValueSet=function(e,t,o,n,i){var r=this._getModel(e);if(!r)return null;var s=new RegExp(n,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});var a=r.getValueInRange(t),l=r.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},s),u=null;null!==l&&(u=r.getValueInRange(l));var h=Kt.INSTANCE.navigateValueSet(t,a,l,u,o);return c.b.as(h)},e.prototype.loadForeignModule=function(e,t){var o=this,n={getMirrorModels:function(){return o._getModels()}};if(this._foreignModuleFactory){this._foreignModule=this._foreignModuleFactory(n,t);var i=[];for(var r in this._foreignModule)"function"==typeof this._foreignModule[r]&&i.push(r);return c.b.as(i)}return c.b.wrapError(new Error("Unexpected usage"))},e.prototype.fmr=function(e,t){if(!this._foreignModule||"function"!=typeof this._foreignModule[e])return c.b.wrapError(new Error("Missing requestHandler or method: "+e));try{return c.b.as(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return c.b.wrapError(e)}},e._diffLimit=1e4,e._suggestionsLimit=1e4,e}());"function"==typeof importScripts&&(oe.b.monaco=m());var Jt=o(32),Zt=Object(C.c)("textResourceConfigurationService"),Qt=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),eo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},to=function(e,t){return function(o,n){t(o,n,e)}},oo=6e4,no=3e5;function io(e,t){var o=e.getModel(t);return!!o&&!o.isTooLargeForSyncing()}var ro=function(e){function t(t,o){var n=e.call(this)||this;return n._modelService=t,n._workerManager=n._register(new ao(n._modelService)),n._register(re.p.register("*",{provideLinks:function(e,t){return io(n._modelService,e.uri)?Object(L.o)(t,n._workerManager.withWorker().then((function(t){return t.computeLinks(e.uri)}))):c.b.as([])}})),n._register(re.u.register("*",new so(n._workerManager,o,n._modelService))),n}return Qt(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.canComputeDiff=function(e,t){return io(this._modelService,e)&&io(this._modelService,t)},t.prototype.computeDiff=function(e,t,o){return this._workerManager.withWorker().then((function(n){return n.computeDiff(e,t,o)}))},t.prototype.computeMoreMinimalEdits=function(e,t){return Array.isArray(t)&&0!==t.length&&io(this._modelService,e)?this._workerManager.withWorker().then((function(o){return o.computeMoreMinimalEdits(e,t)})):c.b.as(t)},t.prototype.canNavigateValueSet=function(e){return io(this._modelService,e)},t.prototype.navigateValueSet=function(e,t,o){return this._workerManager.withWorker().then((function(n){return n.navigateValueSet(e,t,o)}))},t=eo([to(0,Ot.a),to(1,Zt)],t)}(b.a),so=function(){function e(e,t,o){this._workerManager=e,this._configurationService=t,this._modelService=o}return e.prototype.provideCompletionItems=function(e,t){if(this._configurationService.getValue(e.uri,t,"editor").wordBasedSuggestions&&io(this._modelService,e.uri))return this._workerManager.withWorker().then((function(o){return o.textualSuggest(e.uri,t)}))},e}(),ao=function(e){function t(t){var o=e.call(this)||this;return o._modelService=t,o._editorWorkerClient=null,o._register(new L.b).cancelAndSet((function(){return o._checkStopIdleWorker()}),Math.round(no/2)),o._register(o._modelService.onModelRemoved((function(e){return o._checkStopEmptyWorker()}))),o}return Qt(t,e),t.prototype.dispose=function(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),e.prototype.dispose.call(this)},t.prototype._checkStopEmptyWorker=function(){this._editorWorkerClient&&(0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype._checkStopIdleWorker=function(){this._editorWorkerClient&&((new Date).getTime()-this._lastWorkerUsedTime>no&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null))},t.prototype.withWorker=function(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new co(this._modelService,"editorWorkerService")),c.b.as(this._editorWorkerClient)},t}(b.a),lo=function(e){function t(t,o,n){var i=e.call(this)||this;if(i._syncedModels=Object.create(null),i._syncedModelsLastUsedTime=Object.create(null),i._proxy=t,i._modelService=o,!n){var r=new L.b;r.cancelAndSet((function(){return i._checkStopModelSync()}),Math.round(oo/2)),i._register(r)}return i}return Qt(t,e),t.prototype.dispose=function(){for(var t in this._syncedModels)Object(b.d)(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),e.prototype.dispose.call(this)},t.prototype.esureSyncedResources=function(e){for(var t=0;t<e.length;t++){var o=e[t],n=o.toString();this._syncedModels[n]||this._beginModelSync(o),this._syncedModels[n]&&(this._syncedModelsLastUsedTime[n]=(new Date).getTime())}},t.prototype._checkStopModelSync=function(){var e=(new Date).getTime(),t=[];for(var o in this._syncedModelsLastUsedTime){e-this._syncedModelsLastUsedTime[o]>oo&&t.push(o)}for(var n=0;n<t.length;n++)this._stopModelSync(t[n])},t.prototype._beginModelSync=function(e){var t=this,o=this._modelService.getModel(e);if(o&&!o.isTooLargeForSyncing()){var n=e.toString();this._proxy.acceptNewModel({url:o.uri.toString(),lines:o.getLinesContent(),EOL:o.getEOL(),versionId:o.getVersionId()});var i=[];i.push(o.onDidChangeContent((function(e){t._proxy.acceptModelChanged(n.toString(),e)}))),i.push(o.onWillDispose((function(){t._stopModelSync(n)}))),i.push(Object(b.f)((function(){t._proxy.acceptRemovedModel(n)}))),this._syncedModels[n]=i}},t.prototype._stopModelSync=function(e){var t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Object(b.d)(t)},t}(b.a),uo=function(){function e(e){this._instance=e,this._proxyObj=c.b.as(this._instance)}return e.prototype.dispose=function(){this._instance.dispose(),this._instance=null,this._proxyObj=null},e.prototype.getProxyObject=function(){return new L.d(this._proxyObj)},e}(),co=function(e){function t(t,o){var n=e.call(this)||this;return n._modelService=t,n._workerFactory=new kt(o),n._worker=null,n._modelManager=null,n}return Qt(t,e),t.prototype._getOrCreateWorker=function(){if(!this._worker)try{this._worker=this._register(new Tt(this._workerFactory,"vs/editor/common/services/editorSimpleWorker"))}catch(e){Ct(e),this._worker=new uo(new $t(null))}return this._worker},t.prototype._getProxy=function(){var e=this;return new L.d(this._getOrCreateWorker().getProxyObject().then(null,(function(t){return Ct(t),e._worker=new uo(new $t(null)),e._getOrCreateWorker().getProxyObject()})))},t.prototype._getOrCreateModelManager=function(e){return this._modelManager||(this._modelManager=this._register(new lo(e,this._modelService,!1))),this._modelManager},t.prototype._withSyncedResources=function(e){var t=this;return this._getProxy().then((function(o){return t._getOrCreateModelManager(o).esureSyncedResources(e),o}))},t.prototype.computeDiff=function(e,t,o){return this._withSyncedResources([e,t]).then((function(n){return n.computeDiff(e.toString(),t.toString(),o)}))},t.prototype.computeMoreMinimalEdits=function(e,t){return this._withSyncedResources([e]).then((function(o){return o.computeMoreMinimalEdits(e.toString(),t)}))},t.prototype.computeLinks=function(e){return this._withSyncedResources([e]).then((function(t){return t.computeLinks(e.toString())}))},t.prototype.textualSuggest=function(e,t){var o=this;return this._withSyncedResources([e]).then((function(n){var i=o._modelService.getModel(e);if(!i)return null;var r=Jt.a.getWordDefinition(i.getLanguageIdentifier().id),s=r.source,a=(r.global?"g":"")+(r.ignoreCase?"i":"")+(r.multiline?"m":"");return n.textualSuggest(e.toString(),t,s,a)}))},t.prototype.navigateValueSet=function(e,t,o){var n=this;return this._withSyncedResources([e]).then((function(i){var r=n._modelService.getModel(e);if(!r)return null;var s=Jt.a.getWordDefinition(r.getLanguageIdentifier().id),a=s.source,l=(s.global?"g":"")+(s.ignoreCase?"i":"")+(s.multiline?"m":"");return i.navigateValueSet(e.toString(),t,o,a,l)}))},t}(b.a),ho=o(89),go=function(){function e(e){this._languageIdentifier=e}return e.prototype.getId=function(){return this._languageIdentifier.language},e.prototype.getLanguageIdentifier=function(){return this._languageIdentifier},e}(),po=o(40),fo=o(202),mo="text/plain",_o="application/unknown",yo=[],vo=[],bo=[];function Eo(e,t){void 0===t&&(t=!1);var o=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:e.userConfigured,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?e.filepattern.toLowerCase():void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(po.i)>=0}}(e);yo.push(o),o.userConfigured?bo.push(o):vo.push(o),t&&!o.userConfigured&&yo.forEach((function(e){e.mime===o.mime||e.userConfigured||(o.extension&&e.extension===o.extension&&console.warn("Overwriting extension <<"+o.extension+">> to now point to mime <<"+o.mime+">>"),o.filename&&e.filename===o.filename&&console.warn("Overwriting filename <<"+o.filename+">> to now point to mime <<"+o.mime+">>"),o.filepattern&&e.filepattern===o.filepattern&&console.warn("Overwriting filepattern <<"+o.filepattern+">> to now point to mime <<"+o.mime+">>"),o.firstline&&e.firstline===o.firstline&&console.warn("Overwriting firstline <<"+o.firstline+">> to now point to mime <<"+o.mime+">>"))}))}function Co(e,t){if(!e)return[_o];e=e.toLowerCase();var o=po.a(e),n=So(e,o,bo);if(n)return[n,mo];var i=So(e,o,vo);if(i)return[i,mo];if(t){var r=function(e){Nt.startsWithUTF8BOM(e)&&(e=e.substr(1));if(e.length>0)for(var t=0;t<yo.length;++t){var o=yo[t];if(o.firstline){var n=e.match(o.firstline);if(n&&n.length>0)return o.mime}}return null}(t);if(r)return[r,mo]}return[_o]}function So(e,t,o){for(var n,i,r,s=o.length-1;s>=0;s--){var a=o[s];if(t===a.filenameLowercase){n=a;break}if(a.filepattern&&(!i||a.filepattern.length>i.filepattern.length)){var l=a.filepatternOnPath?e:t;Object(fo.a)(a.filepatternLowercase,l)&&(i=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&Nt.endsWith(t,a.extensionLowercase)&&(r=a)}return n?n.mime:i?i.mime:r?r.mime:null}var To=o(57),wo=new(function(){function e(){this._onDidAddLanguages=new r.a,this.onDidAddLanguages=this._onDidAddLanguages.event,this._languages=[]}return e.prototype.registerLanguage=function(e){this._languages.push(e),this._onDidAddLanguages.fire([e])},e.prototype.getLanguages=function(){return this._languages.slice(0)},e}());To.a.add("editor.modesRegistry",wo);var ko=new re.o("plaintext",1);wo.registerLanguage({id:"plaintext",extensions:[".txt",".gitignore"],aliases:[N.a("plainText.alias","Plain Text"),"text"],mimetypes:["text/plain"]}),Jt.a.register(ko,{brackets:[["(",")"],["[","]"],["{","}"]]});var Oo=o(69),Ro=Object.prototype.hasOwnProperty,No=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=!1);var o=this;this._nextLanguageId=1,this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},this._languageIds=[],this._warnOnOverwrite=t,e&&(this._registerLanguages(wo.getLanguages()),wo.onDidAddLanguages((function(e){return o._registerLanguages(e)})))}return e.prototype._registerLanguages=function(e){var t=this;if(0!==e.length){for(var o=0;o<e.length;o++)this._registerLanguage(e[o]);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((function(e){var o=t._languages[e];o.name&&(t._nameMap[o.name]=o.identifier),o.aliases.forEach((function(e){t._lowercaseNameMap[e.toLowerCase()]=o.identifier})),o.mimetypes.forEach((function(e){t._mimeTypesMap[e]=o.identifier}))})),To.a.as(W.b.Configuration).registerOverrideIdentifiers(wo.getLanguages().map((function(e){return e.id})))}},e.prototype._registerLanguage=function(e){var t=e.id,o=null;if(Ro.call(this._languages,t))o=this._languages[t];else{var n=this._nextLanguageId++;o={identifier:new re.o(t,n),name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languageIds[n]=t,this._languages[t]=o}this._mergeLanguage(o,e)},e.prototype._mergeLanguage=function(e,t){var o,n=t.id,i=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&((o=e.mimetypes).push.apply(o,t.mimetypes),i=t.mimetypes[0]),i||(i="text/x-"+n,e.mimetypes.push(i)),Array.isArray(t.extensions))for(var r=0,s=t.extensions;r<s.length;r++){var a=s[r];Eo({id:n,mime:i,extension:a},this._warnOnOverwrite),e.extensions.push(a)}if(Array.isArray(t.filenames))for(var l=0,u=t.filenames;l<u.length;l++){var c=u[l];Eo({id:n,mime:i,filename:c},this._warnOnOverwrite),e.filenames.push(c)}if(Array.isArray(t.filenamePatterns))for(var h=0,d=t.filenamePatterns;h<d.length;h++){Eo({id:n,mime:i,filepattern:d[h]},this._warnOnOverwrite)}if("string"==typeof t.firstLine&&t.firstLine.length>0){var g=t.firstLine;"^"!==g.charAt(0)&&(g="^"+g);try{var p=new RegExp(g);Nt.regExpLeadsToEndlessLoop(p)||Eo({id:n,mime:i,firstline:p},this._warnOnOverwrite)}catch(e){Object(nt.e)(e)}}e.aliases.push(n);var f=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(f=0===t.aliases.length?[null]:t.aliases),null!==f)for(var m=0;m<f.length;m++)f[m]&&0!==f[m].length&&e.aliases.push(f[m]);var _=null!==f&&f.length>0;if(_&&null===f[0]);else{var y=(_?f[0]:null)||n;!_&&e.name||(e.name=y)}t.configuration&&e.configurationFiles.push(t.configuration)},e.prototype.isRegisteredMode=function(e){return!!Ro.call(this._mimeTypesMap,e)||Ro.call(this._languages,e)},e.prototype.getModeIdForLanguageNameLowercase=function(e){return Ro.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null},e.prototype.extractModeIds=function(e){var t=this;return e?e.split(",").map((function(e){return e.trim()})).map((function(e){return Ro.call(t._mimeTypesMap,e)?t._mimeTypesMap[e].language:e})).filter((function(e){return Ro.call(t._languages,e)})):[]},e.prototype.getLanguageIdentifier=function(e){if(e===Oo.b||0===e)return Oo.a;var t;if("string"==typeof e)t=e;else if(!(t=this._languageIds[e]))return null;return Ro.call(this._languages,t)?this._languages[t].identifier:null},e.prototype.getModeIdsFromFilenameOrFirstLine=function(e,t){if(!e&&!t)return[];var o=Co(e,t);return this.extractModeIds(o.join(","))},e}(),Lo=function(){function e(e){void 0===e&&(e=!1),this._onDidCreateMode=new r.a,this.onDidCreateMode=this._onDidCreateMode.event,this._instantiatedModes={},this._registry=new No(!0,e)}return e.prototype._onReady=function(){return c.b.as(!0)},e.prototype.isRegisteredMode=function(e){return this._registry.isRegisteredMode(e)},e.prototype.getModeIdForLanguageName=function(e){return this._registry.getModeIdForLanguageNameLowercase(e)},e.prototype.getModeIdByFilenameOrFirstLine=function(e,t){var o=this._registry.getModeIdsFromFilenameOrFirstLine(e,t);return o.length>0?o[0]:null},e.prototype.getModeId=function(e){var t=this._registry.extractModeIds(e);return t.length>0?t[0]:null},e.prototype.getLanguageIdentifier=function(e){return this._registry.getLanguageIdentifier(e)},e.prototype.getMode=function(e){for(var t=this._registry.extractModeIds(e),o=!1,n=0;n<t.length;n++){if(this._instantiatedModes.hasOwnProperty(t[n]))return this._instantiatedModes[t[n]];o=o||"plaintext"===t[n]}if(o){var i=null;return this.getOrCreateMode(e).then((function(e){i=e})).done(null,nt.e),i}return null},e.prototype.getOrCreateMode=function(e){var t=this;return this._onReady().then((function(){var o=t.getModeId(e);return t._getOrCreateMode(o||"plaintext")}))},e.prototype.getOrCreateModeByFilenameOrFirstLine=function(e,t){var o=this;return this._onReady().then((function(){var n=o.getModeIdByFilenameOrFirstLine(e,t);return o._getOrCreateMode(n||"plaintext")}))},e.prototype._getOrCreateMode=function(e){if(!this._instantiatedModes.hasOwnProperty(e)){var t=this.getLanguageIdentifier(e);this._instantiatedModes[e]=new go(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]},e}(),Io=o(71),Do=o(26),Ao=o(27),Po=o(29),Mo=o(18),xo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Bo=function(e,t){return function(o,n){t(o,n,e)}};function Fo(e){return e.toString()}var Ho=function(){function e(e,t,o){this.model=e,this._markerDecorations=[],this._modelEventListeners=[],this._modelEventListeners.push(e.onWillDispose((function(){return t(e)}))),this._modelEventListeners.push(e.onDidChangeLanguage((function(t){return o(e,t)})))}return e.prototype.dispose=function(){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,[]),this._modelEventListeners=Object(b.d)(this._modelEventListeners),this.model=null},e.prototype.acceptMarkerDecorations=function(e){this._markerDecorations=this.model.deltaDecorations(this._markerDecorations,e)},e}(),Uo=function(){function e(){}return e.setMarkers=function(e,t){var o=this,n=t.read({resource:e.model.uri,take:500}).map((function(t){return{range:o._createDecorationRange(e.model,t),options:o._createDecorationOption(t)}}));e.acceptMarkerDecorations(n)},e._createDecorationRange=function(e,t){var o=l.a.lift(t);if(t.severity===pt.b.Hint&&l.a.spansMultipleLines(o)&&(o=o.setEndPosition(o.startLineNumber,o.startColumn)),(o=e.validateRange(o)).isEmpty()){var n=e.getWordAtPosition(o.getStartPosition());if(n)o=new l.a(o.startLineNumber,n.startColumn,o.endLineNumber,n.endColumn);else{var i=e.getLineLastNonWhitespaceColumn(o.startLineNumber)||e.getLineMaxColumn(o.startLineNumber);1===i||(o=o.endColumn>=i?new l.a(o.startLineNumber,i-1,o.endLineNumber,i):new l.a(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&o.startLineNumber===o.endLineNumber){var r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<o.endColumn&&(o=new l.a(o.startLineNumber,r,o.endLineNumber,o.endColumn),t.startColumn=r)}return o},e._createDecorationOption=function(e){var t,o,n,i,r;switch(e.severity){case pt.b.Hint:t=e.tags&&e.tags.indexOf(pt.c.Unnecessary)>=0?"squiggly-unnecessary":"squiggly-hint",i=0;break;case pt.b.Warning:t="squiggly-warning",o=Object(Re.f)(Po.z),n=Object(Re.f)(Po.z),i=20;break;case pt.b.Info:t="squiggly-info",o=Object(Re.f)(Po.y),n=Object(Re.f)(Po.y),i=10;break;case pt.b.Error:default:t="squiggly-error",o=Object(Re.f)(Po.x),n=Object(Re.f)(Po.x),i=30}e.tags&&-1!==e.tags.indexOf(pt.c.Unnecessary)&&(r="squiggly-inline-unnecessary");var s=null,a=e.message,l=e.source,u=e.relatedInformation;if("string"==typeof a&&(a=a.trim(),l&&(a=/\n/g.test(a)?N.a("diagAndSourceMultiline","[{0}]\n{1}",l,a):N.a("diagAndSource","[{0}] {1}",l,a)),s=(new Io.a).appendCodeblock("_",a),!Object(H.k)(u))){s.appendMarkdown("\n");for(var c=0,h=u;c<h.length;c++){var d=h[c],g=d.message,p=d.resource,f=d.startLineNumber,m=d.startColumn;s.appendMarkdown("* ["+Object(po.a)(p.path)+"("+f+", "+m+")]("+p.toString(!1)+"#"+f+","+m+"): "),s.appendText(""+g),s.appendMarkdown("\n")}s.appendMarkdown("\n")}return{stickiness:Mo.h.NeverGrowsWhenTypingAtEdges,className:t,hoverMessage:s,showIfCollapsed:!0,overviewRuler:{color:o,darkColor:n,position:Mo.f.Right},zIndex:i,inlineClassName:r}},e}(),Vo=oe.c||oe.d?Mo.b.LF:Mo.b.CRLF,Wo=function(){function e(e,t){var o=this;this._markerService=e,this._configurationService=t,this._models={},this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._onModelAdded=new r.a,this._onModelRemoved=new r.a,this._onModelModeChanged=new r.a,this._markerService&&(this._markerServiceSubscription=this._markerService.onMarkerChanged(this._handleMarkerChange,this)),this._configurationServiceSubscription=this._configurationService.onDidChangeConfiguration((function(e){return o._updateModelOptions()})),this._updateModelOptions()}return e._readModelOptions=function(e,t){var o=Ao.c.tabSize;if(e.editor&&void 0!==e.editor.tabSize){var n=parseInt(e.editor.tabSize,10);isNaN(n)||(o=n),o<1&&(o=1)}var i=Ao.c.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(i="false"!==e.editor.insertSpaces&&Boolean(e.editor.insertSpaces));var r=Vo,s=e.files&&e.files.eol;"\r\n"===s?r=Mo.b.CRLF:"\n"===s&&(r=Mo.b.LF);var a=Ao.c.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&Boolean(e.editor.trimAutoWhitespace));var l=Ao.c.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(l="false"!==e.editor.detectIndentation&&Boolean(e.editor.detectIndentation));var u=Ao.c.largeFileOptimizations;return e.editor&&void 0!==e.editor.largeFileOptimizations&&(u="false"!==e.editor.largeFileOptimizations&&Boolean(e.editor.largeFileOptimizations)),{isForSimpleWidget:t,tabSize:o,insertSpaces:i,detectIndentation:l,defaultEOL:r,trimAutoWhitespace:a,largeFileOptimizations:u}},e.prototype.getCreationOptions=function(t,o,n){var i=this._modelCreationOptionsByLanguageAndResource[t+o];return i||(i=e._readModelOptions(this._configurationService.getValue({overrideIdentifier:t,resource:o}),n),this._modelCreationOptionsByLanguageAndResource[t+o]=i),i},e.prototype._updateModelOptions=function(){var t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);for(var o=Object.keys(this._models),n=0,i=o.length;n<i;n++){var r=o[n],s=this._models[r],a=s.model.getLanguageIdentifier().language,l=s.model.uri,u=t[a+l],c=this.getCreationOptions(a,l,s.model.isForSimpleWidget);e._setModelOptionsForModel(s.model,c,u)}},e._setModelOptionsForModel=function(e,t,o){o&&o.detectIndentation===t.detectIndentation&&o.insertSpaces===t.insertSpaces&&o.tabSize===t.tabSize&&o.trimAutoWhitespace===t.trimAutoWhitespace||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,trimAutoWhitespace:t.trimAutoWhitespace}))},e.prototype.dispose=function(){this._markerServiceSubscription&&this._markerServiceSubscription.dispose(),this._configurationServiceSubscription.dispose()},e.prototype._handleMarkerChange=function(e){var t=this;e.forEach((function(e){var o=Fo(e),n=t._models[o];n&&Uo.setMarkers(n,t._markerService)}))},e.prototype._cleanUp=function(e){var t=this;e.uri.scheme!==gt.a.inMemory&&e.uri.scheme!==gt.a.internal&&e.uri.scheme!==gt.a.vscode||this._markerService&&this._markerService.read({resource:e.uri}).map((function(e){return e.owner})).forEach((function(o){return t._markerService.remove(o,[e.uri])})),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageIdentifier().language+e.uri]},e.prototype._createModelData=function(e,t,o,n){var i=this,r=this.getCreationOptions(t.language,o,n),s=new Do.b(e,r,t,o),a=Fo(s.uri);if(this._models[a])throw new Error("ModelService: Cannot add model because it already exists!");var l=new Ho(s,(function(e){return i._onWillDispose(e)}),(function(e,t){return i._onDidChangeLanguage(e,t)}));return this._models[a]=l,l},e.prototype.createModel=function(e,t,o,n){var i;return void 0===n&&(n=!1),!t||c.b.is(t)?(i=this._createModelData(e,ko,o,n),this.setMode(i.model,t)):i=this._createModelData(e,t.getLanguageIdentifier(),o,n),this._markerService&&Uo.setMarkers(i,this._markerService),this._onModelAdded.fire(i.model),i.model},e.prototype.setMode=function(e,t){t&&(c.b.is(t)?t.then((function(t){e.isDisposed()||e.setMode(t.getLanguageIdentifier())})):e.setMode(t.getLanguageIdentifier()))},e.prototype.getModels=function(){for(var e=[],t=Object.keys(this._models),o=0,n=t.length;o<n;o++){var i=t[o];e.push(this._models[i].model)}return e},e.prototype.getModel=function(e){var t=Fo(e),o=this._models[t];return o?o.model:null},Object.defineProperty(e.prototype,"onModelAdded",{get:function(){return this._onModelAdded?this._onModelAdded.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onModelRemoved",{get:function(){return this._onModelRemoved?this._onModelRemoved.event:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"onModelModeChanged",{get:function(){return this._onModelModeChanged?this._onModelModeChanged.event:null},enumerable:!0,configurable:!0}),e.prototype._onWillDispose=function(e){var t=Fo(e.uri),o=this._models[t];delete this._models[t],o.dispose(),this._cleanUp(e),this._onModelRemoved.fire(e)},e.prototype._onDidChangeLanguage=function(t,o){var n=o.oldLanguage,i=t.getLanguageIdentifier().language,r=this.getCreationOptions(n,t.uri,t.isForSimpleWidget),s=this.getCreationOptions(i,t.uri,t.isForSimpleWidget);e._setModelOptionsForModel(t,s,r),this._onModelModeChanged.fire({model:t,oldModeId:n})},e=xo([Bo(0,pt.a),Bo(1,j.b)],e)}(),jo=function(){function e(){this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._onCodeEditorAdd=new r.a,this._onCodeEditorRemove=new r.a,this._onDiffEditorAdd=new r.a,this._onDiffEditorRemove=new r.a}return e.prototype.addCodeEditor=function(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)},Object.defineProperty(e.prototype,"onCodeEditorAdd",{get:function(){return this._onCodeEditorAdd.event},enumerable:!0,configurable:!0}),e.prototype.removeCodeEditor=function(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)},e.prototype.listCodeEditors=function(){var e=this;return Object.keys(this._codeEditors).map((function(t){return e._codeEditors[t]}))},e.prototype.addDiffEditor=function(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)},e.prototype.removeDiffEditor=function(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)},e.prototype.listDiffEditors=function(){var e=this;return Object.keys(this._diffEditors).map((function(t){return e._diffEditors[t]}))},e.prototype.getFocusedCodeEditor=function(){for(var e=null,t=this.listCodeEditors(),o=0;o<t.length;o++){var n=t[o];if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e},e}(),Go=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),zo=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},Ko=function(e,t){return function(o,n){t(o,n,e)}},Yo=function(e){function t(t,o){void 0===o&&(o=X.o());var n=e.call(this)||this;return n._styleSheet=o,n._decorationOptionProviders=Object.create(null),n._themeService=t,n}return Go(t,e),t.prototype.registerDecorationType=function(e,t,o){var n=this._decorationOptionProviders[e];if(!n){var i={styleSheet:this._styleSheet,key:e,parentTypeKey:o,options:t||Object.create(null)};n=o?new Xo(this._themeService,i):new qo(this._themeService,i),this._decorationOptionProviders[e]=n}n.refCount++},t.prototype.removeDecorationType=function(e){var t=this._decorationOptionProviders[e];t&&(t.refCount--,t.refCount<=0&&(delete this._decorationOptionProviders[e],t.dispose(),this.listCodeEditors().forEach((function(t){return t.removeDecorations(e)}))))},t.prototype.resolveDecorationOptions=function(e,t){var o=this._decorationOptionProviders[e];if(!o)throw new Error("Unknown decoration type key: "+e);return o.getOptions(this,t)},t=zo([Ko(0,Re.c)],t)}(jo),Xo=function(){function e(e,t){this._parentTypeKey=t.parentTypeKey,this.refCount=0,this._beforeContentRules=new Jo(3,t,e),this._afterContentRules=new Jo(4,t,e)}return e.prototype.getOptions=function(e,t){var o=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(o.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(o.afterContentClassName=this._afterContentRules.className),o},e.prototype.dispose=function(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null)},e}(),qo=function(){function e(e,t){var o=this;this.refCount=0,this._disposables=[];var n=function(n){var i=new Jo(n,t,e);if(i.hasContent)return o._disposables.push(i),i.className};this.className=n(0);var i,r=(i=new Jo(1,t,e)).hasContent?(o._disposables.push(i),{className:i.className,hasLetterSpacing:i.hasLetterSpacing}):null;r&&(this.inlineClassName=r.className,this.inlineClassNameAffectsLetterSpacing=r.hasLetterSpacing),this.beforeContentClassName=n(3),this.afterContentClassName=n(4),this.glyphMarginClassName=n(2);var s=t.options;this.isWholeLine=Boolean(s.isWholeLine),this.stickiness=s.rangeBehavior;var a=s.light&&s.light.overviewRulerColor||s.overviewRulerColor,l=s.dark&&s.dark.overviewRulerColor||s.overviewRulerColor;void 0===a&&void 0===l||(this.overviewRuler={color:a||l,darkColor:l||a,position:s.overviewRulerLane||Mo.f.Center})}return e.prototype.getOptions=function(e,t){return t?{inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness}:this},e.prototype.dispose=function(){this._disposables=Object(b.d)(this._disposables)},e}(),$o={color:"color:{0} !important;",opacity:"opacity:{0}; will-change: opacity;",backgroundColor:"background-color:{0};",outline:"outline:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",border:"border:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",fontStyle:"font-style:{0};",fontWeight:"font-weight:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",letterSpacing:"letter-spacing:{0};",gutterIconPath:"background:url('{0}') center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:url('{0}');",margin:"margin:{0};",width:"width:{0};",height:"height:{0};"},Jo=function(){function e(e,t,o){var n=this;this._theme=o.getTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;var i=Zo.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(i=i+" "+Zo.getClassName(this._providerArgs.parentTypeKey,e)),this._className=i,this._unThemedSelector=Zo.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors&&(this._themeListener=o.onThemeChange((function(e){n._theme=o.getTheme(),n._removeCSS(),n._buildCSS()})))}return e.prototype.dispose=function(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)},Object.defineProperty(e.prototype,"hasContent",{get:function(){return this._hasContent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasLetterSpacing",{get:function(){return this._hasLetterSpacing},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"className",{get:function(){return this._className},enumerable:!0,configurable:!0}),e.prototype._buildCSS=function(){var e,t,o,n=this._providerArgs.options;switch(this._ruleType){case 0:e=this.getCSSTextForModelDecorationClassName(n),t=this.getCSSTextForModelDecorationClassName(n.light),o=this.getCSSTextForModelDecorationClassName(n.dark);break;case 1:e=this.getCSSTextForModelDecorationInlineClassName(n),t=this.getCSSTextForModelDecorationInlineClassName(n.light),o=this.getCSSTextForModelDecorationInlineClassName(n.dark);break;case 2:e=this.getCSSTextForModelDecorationGlyphMarginClassName(n),t=this.getCSSTextForModelDecorationGlyphMarginClassName(n.light),o=this.getCSSTextForModelDecorationGlyphMarginClassName(n.dark);break;case 3:e=this.getCSSTextForModelDecorationContentClassName(n.before),t=this.getCSSTextForModelDecorationContentClassName(n.light&&n.light.before),o=this.getCSSTextForModelDecorationContentClassName(n.dark&&n.dark.before);break;case 4:e=this.getCSSTextForModelDecorationContentClassName(n.after),t=this.getCSSTextForModelDecorationContentClassName(n.light&&n.light.after),o=this.getCSSTextForModelDecorationContentClassName(n.dark&&n.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}var i=this._providerArgs.styleSheet.sheet,r=!1;e.length>0&&(i.insertRule(this._unThemedSelector+" {"+e+"}",0),r=!0),t.length>0&&(i.insertRule(".vs"+this._unThemedSelector+" {"+t+"}",0),r=!0),o.length>0&&(i.insertRule(".vs-dark"+this._unThemedSelector+", .hc-black"+this._unThemedSelector+" {"+o+"}",0),r=!0),this._hasContent=r},e.prototype._removeCSS=function(){X.F(this._unThemedSelector,this._providerArgs.styleSheet)},e.prototype.getCSSTextForModelDecorationClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["backgroundColor"],t),this.collectCSSText(e,["outline","outlineColor","outlineStyle","outlineWidth"],t),this.collectBorderSettingsCSSText(e,t),t.join("")},e.prototype.getCSSTextForModelDecorationInlineClassName=function(e){if(!e)return"";var t=[];return this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],t),e.letterSpacing&&(this._hasLetterSpacing=!0),t.join("")},e.prototype.getCSSTextForModelDecorationContentClassName=function(e){if(!e)return"";var t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),void 0!==e.contentIconPath&&("string"==typeof e.contentIconPath?t.push(Nt.format($o.contentIconPath,g.a.file(e.contentIconPath).toString().replace(/'/g,"%27"))):t.push(Nt.format($o.contentIconPath,g.a.revive(e.contentIconPath).toString(!0).replace(/'/g,"%27")))),"string"==typeof e.contentText){var o=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(Nt.format($o.contentText,o))}this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","color","opacity","backgroundColor","margin"],t),this.collectCSSText(e,["width","height"],t)&&t.push("display:inline-block;")}return t.join("")},e.prototype.getCSSTextForModelDecorationGlyphMarginClassName=function(e){if(!e)return"";var t=[];return void 0!==e.gutterIconPath&&("string"==typeof e.gutterIconPath?t.push(Nt.format($o.gutterIconPath,g.a.file(e.gutterIconPath).toString())):t.push(Nt.format($o.gutterIconPath,g.a.revive(e.gutterIconPath).toString(!0).replace(/'/g,"%27"))),void 0!==e.gutterIconSize&&t.push(Nt.format($o.gutterIconSize,e.gutterIconSize))),t.join("")},e.prototype.collectBorderSettingsCSSText=function(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(Nt.format("box-sizing: border-box;")),!0)},e.prototype.collectCSSText=function(e,t,o){for(var n=o.length,i=0,r=t;i<r.length;i++){var s=r[i],a=this.resolveValue(e[s]);"string"==typeof a&&o.push(Nt.format($o[s],a))}return o.length!==n},e.prototype.resolveValue=function(e){if(Object(y.c)(e)){this._usesThemeColors=!0;var t=this._theme.getColor(e.id);return t?t.toString():"transparent"}return e},e}(),Zo=function(){function e(){}return e.getClassName=function(e,t){return"ced-"+e+"-"+t},e.getSelector=function(e,t,o){var n=".monaco-editor ."+this.getClassName(e,o);return t&&(n=n+"."+this.getClassName(t,o)),3===o?n+="::before":4===o&&(n+="::after"),n},e}(),Qo=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),en=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return Qo(t,e),t.prototype.getActiveCodeEditor=function(){return null},t.prototype.openCodeEditor=function(e,t,o){return t?c.b.as(this.doOpenEditor(t,e)):c.b.as(null)},t.prototype.doOpenEditor=function(e,t){if(!this.findModel(e,t.resource)){if(t.resource){var o=t.resource.scheme;if(o===gt.a.http||o===gt.a.https)return Object(X.P)(t.resource.toString()),e}return null}var n=t.options.selection;if(n)if("number"==typeof n.endLineNumber&&"number"==typeof n.endColumn)e.setSelection(n),e.revealRangeInCenter(n,1);else{var i={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(i),e.revealPositionInCenter(i,1)}return e},t.prototype.findModel=function(e,t){var o=e.getModel();return o.uri.toString()!==t.toString()?null:o},t}(Yo),tn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}(),on=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},nn=function(e,t){return function(o,n){t(o,n,e)}},rn="data-keybinding-context",sn=function(){function e(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}return e.prototype.setValue=function(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)},e.prototype.removeValue=function(e){return e in this._value&&(delete this._value[e],!0)},e.prototype.getValue=function(e){var t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t},e}(),an=function(e){function t(t,o,n){var i=e.call(this,t,null)||this;return i._emitter=n,i._configurationService=o,i._subscription=o.onDidChangeConfiguration(i._onConfigurationUpdated,i),i._initFromConfiguration(),i}return tn(t,e),t.prototype.dispose=function(){this._subscription.dispose()},t.prototype._onConfigurationUpdated=function(e){if(e.source===j.a.DEFAULT)this._initFromConfiguration();else for(var t=0,o=e.affectedKeys;t<o.length;t++){var n=o[t],i="config."+n;i in this._value&&(this._value[i]=this._configurationService.getValue(n),this._emitter.fire(i))}},t.prototype._initFromConfiguration=function(){var e=this,t=this._configurationService.getValue(),o=Object.create(null),n=[],i=function(t,r){for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){r.push(s);var a=t[s];if("boolean"==typeof a){var l=r.join("."),u=e._value[l];e._value[l]=a,u!==a?(n.push(l),o[l]=!0):o[l]=!1}else"object"==typeof a&&i(a,r);r.pop()}};for(var r in i(t,["config"]),this._value)0===r.indexOf("config.")&&void 0===o[r]&&(delete this._value[r],o[r]=!0,n.push(r));this._emitter.fire(n)},t}(sn),ln=function(){function e(e,t,o){this._parent=e,this._key=t,this._defaultValue=o,this.reset()}return e.prototype.set=function(e){this._parent.setContext(this._key,e)},e.prototype.reset=function(){void 0===this._defaultValue?this._parent.removeContext(this._key):this._parent.setContext(this._key,this._defaultValue)},e.prototype.get=function(){return this._parent.getContextKeyValue(this._key)},e}(),un=function(){function e(){this._keys=[]}return e.prototype.collect=function(e){this._keys=this._keys.concat(e)},e.prototype.affectsSome=function(e){for(var t=0,o=this._keys;t<o.length;t++){var n=o[t];if(e.has(n))return!0}return!1},e}(),cn=function(){function e(e){this._myContextId=e,this._onDidChangeContextKey=new r.a}return e.prototype.createKey=function(e,t){return new ln(this,e,t)},Object.defineProperty(e.prototype,"onDidChangeContext",{get:function(){return this._onDidChangeContext||(this._onDidChangeContext=Object(r.h)(this._onDidChangeContextKey.event,(function(e,t){return e||(e=new un),e.collect(t),e}),25)),this._onDidChangeContext},enumerable:!0,configurable:!0}),e.prototype.createScoped=function(e){return new dn(this,this._onDidChangeContextKey,e)},e.prototype.contextMatchesRules=function(e){var t=this.getContextValuesContainer(this._myContextId);return x.contextMatchesRules(t,e)},e.prototype.getContextKeyValue=function(e){return this.getContextValuesContainer(this._myContextId).getValue(e)},e.prototype.setContext=function(e,t){var o=this.getContextValuesContainer(this._myContextId);o&&o.setValue(e,t)&&this._onDidChangeContextKey.fire(e)},e.prototype.removeContext=function(e){this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContextKey.fire(e)},e.prototype.getContext=function(e){return this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute(rn))return parseInt(e.getAttribute(rn),10);e=e.parentElement}return 0}(e))},e}(),hn=function(e){function t(t){var o=e.call(this,0)||this;o._toDispose=[],o._lastContextId=0,o._contexts=Object.create(null);var n=new an(o._myContextId,t,o._onDidChangeContextKey);return o._contexts[String(o._myContextId)]=n,o._toDispose.push(n),o}return tn(t,e),t.prototype.dispose=function(){this._toDispose=Object(b.d)(this._toDispose)},t.prototype.getContextValuesContainer=function(e){return this._contexts[String(e)]},t.prototype.createChildContext=function(e){void 0===e&&(e=this._myContextId);var t=++this._lastContextId;return this._contexts[String(t)]=new sn(t,this.getContextValuesContainer(e)),t},t.prototype.disposeContext=function(e){delete this._contexts[String(e)]},t=on([nn(0,j.b)],t)}(cn),dn=function(e){function t(t,o,n){var i=e.call(this,t.createChildContext())||this;return i._parent=t,i._onDidChangeContextKey=o,n&&(i._domNode=n,i._domNode.setAttribute(rn,String(i._myContextId))),i}return tn(t,e),t.prototype.dispose=function(){this._parent.disposeContext(this._myContextId),this._domNode&&(this._domNode.removeAttribute(rn),this._domNode=void 0)},Object.defineProperty(t.prototype,"onDidChangeContext",{get:function(){return this._parent.onDidChangeContext},enumerable:!0,configurable:!0}),t.prototype.getContextValuesContainer=function(e){return this._parent.getContextValuesContainer(e)},t.prototype.createChildContext=function(e){return void 0===e&&(e=this._myContextId),this._parent.createChildContext(e)},t.prototype.disposeContext=function(e){this._parent.disposeContext(e)},t}(cn);S.a.registerCommand(w.g,(function(e,t,o){e.get(w.e).createKey(String(t),o)}));var gn=o(14),pn=function(e,t,o,n,i){this.token=e,this.index=t,this.fontStyle=o,this.foreground=n,this.background=i};function fn(e,t){e.sort((function(e,t){var o=function(e,t){if(e<t)return-1;if(e>t)return 1;return 0}(e.token,t.token);return 0!==o?o:e.index-t.index}));for(var o=0,n="000000",i="ffffff";e.length>=1&&""===e[0].token;){var r=e.shift();-1!==r.fontStyle&&(o=r.fontStyle),null!==r.foreground&&(n=r.foreground),null!==r.background&&(i=r.background)}for(var s=new _n,a=0,l=t;a<l.length;a++){var u=l[a];s.getId(u)}for(var c=s.getId(n),h=s.getId(i),d=new bn(o,c,h),g=new En(d),p=0,f=e.length;p<f;p++){var m=e[p];g.insert(m.token,m.fontStyle,s.getId(m.foreground),s.getId(m.background))}return new yn(s,g)}var mn=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/,_n=function(){function e(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}return e.prototype.getId=function(e){if(null===e)return 0;var t=e.match(mn);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();var o=this._color2id.get(e);return o||(o=++this._lastColorId,this._color2id.set(e,o),this._id2color[o]=gn.a.fromHex("#"+e),o)},e.prototype.getColorMap=function(){return this._id2color.slice(0)},e}(),yn=function(){function e(e,t){this._colorMap=e,this._root=t,this._cache=new Map}return e.createFromRawTokenTheme=function(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];for(var t=[],o=0,n=0,i=e.length;n<i;n++){var r=e[n],s=-1;if("string"==typeof r.fontStyle){s=0;for(var a=r.fontStyle.split(" "),l=0,u=a.length;l<u;l++){switch(a[l]){case"italic":s|=1;break;case"bold":s|=2;break;case"underline":s|=4}}}var c=null;"string"==typeof r.foreground&&(c=r.foreground);var h=null;"string"==typeof r.background&&(h=r.background),t[o++]=new pn(r.token||"",n,s,c,h)}return t}(e),t)},e.createFromParsedTokenTheme=function(e,t){return fn(e,t)},e.prototype.getColorMap=function(){return this._colorMap.getColorMap()},e.prototype._match=function(e){return this._root.match(e)},e.prototype.match=function(e,t){var o=this._cache.get(t);if(void 0===o){var n=this._match(t),i=function(e){var t=e.match(vn);if(!t)return 0;switch(t[1]){case"comment":return 1;case"string":return 2;case"regex":return 4}throw new Error("Unexpected match for standard token type!")}(t);o=(n.metadata|i<<8)>>>0,this._cache.set(t,o)}return(o|e<<0)>>>0},e}(),vn=/\b(comment|string|regex)\b/;var bn=function(){function e(e,t,o){this._fontStyle=e,this._foreground=t,this._background=o,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}return e.prototype.clone=function(){return new e(this._fontStyle,this._foreground,this._background)},e.prototype.acceptOverwrite=function(e,t,o){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==o&&(this._background=o),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0},e}(),En=function(){function e(e){this._mainRule=e,this._children=new Map}return e.prototype.match=function(e){if(""===e)return this._mainRule;var t,o,n=e.indexOf(".");-1===n?(t=e,o=""):(t=e.substring(0,n),o=e.substring(n+1));var i=this._children.get(t);return void 0!==i?i.match(o):this._mainRule},e.prototype.insert=function(t,o,n,i){if(""!==t){var r,s,a=t.indexOf(".");-1===a?(r=t,s=""):(r=t.substring(0,a),s=t.substring(a+1));var l=this._children.get(r);void 0===l&&(l=new e(this._mainRule.clone()),this._children.set(r,l)),l.insert(s,o,n,i)}else this._mainRule.acceptOverwrite(o,n,i)},e}();var Cn,Sn,Tn,wn=o(7),kn={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"09885A"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"09885A"},{token:"attribute.value.unit",foreground:"09885A"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Cn={},Cn[wn.n]="#FFFFFE",Cn[wn.u]="#000000",Cn[wn.y]="#E5EBF1",Cn[Po.l]="#D3D3D3",Cn[Po.a]="#939393",Cn[wn.B]="#ADD6FF4D",Cn)},On={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Sn={},Sn[wn.n]="#1E1E1E",Sn[wn.u]="#D4D4D4",Sn[wn.y]="#3A3D41",Sn[Po.l]="#404040",Sn[Po.a]="#707070",Sn[wn.B]="#ADD6FF26",Sn)},Rn={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:(Tn={},Tn[wn.n]="#000000",Tn[wn.u]="#FFFFFF",Tn[Po.l]="#FFFFFF",Tn[Po.a]="#FFFFFF",Tn)},Nn="vs",Ln="vs-dark",In="hc-black",Dn=To.a.as(wn.a.ColorContribution),An=To.a.as(Re.a.ThemingContribution),Pn=function(){function e(e,t){this.themeData=t;var o=t.base;e.length>0?(this.id=o+" "+e,this.themeName=e):(this.id=o,this.themeName=o),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}return Object.defineProperty(e.prototype,"base",{get:function(){return this.themeData.base},enumerable:!0,configurable:!0}),e.prototype.notifyBaseUpdated=function(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)},e.prototype.getColors=function(){if(!this.colors){var e=Object.create(null);for(var t in this.themeData.colors)e[t]=gn.a.fromHex(this.themeData.colors[t]);if(this.themeData.inherit){var o=xn(this.themeData.base);for(var t in o.colors)e[t]||(e[t]=gn.a.fromHex(o.colors[t]))}this.colors=e}return this.colors},e.prototype.getColor=function(e,t){var o=this.getColors()[e];return o||(!1!==t?this.getDefault(e):null)},e.prototype.getDefault=function(e){var t=this.defaultColors[e];return t||(t=Dn.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)},e.prototype.defines=function(e){return Object.prototype.hasOwnProperty.call(this.getColors(),e)},Object.defineProperty(e.prototype,"type",{get:function(){switch(this.base){case Nn:return"light";case In:return"hc";default:return"dark"}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tokenTheme",{get:function(){if(!this._tokenTheme){var e=[],t=[];if(this.themeData.inherit){var o=xn(this.themeData.base);e=o.rules,o.encodedTokensColors&&(t=o.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=yn.createFromRawTokenTheme(e,t)}return this._tokenTheme},enumerable:!0,configurable:!0}),e}();function Mn(e){return e===Nn||e===Ln||e===In}function xn(e){switch(e){case Nn:return kn;case Ln:return On;case In:return Rn}}function Bn(e){var t=xn(e);return new Pn(e,t)}var Fn,Hn=function(){function e(){this.environment=Object.create(null),this._onThemeChange=new r.a,this._knownThemes=new Map,this._knownThemes.set(Nn,Bn(Nn)),this._knownThemes.set(Ln,Bn(Ln)),this._knownThemes.set(In,Bn(In)),this._styleElement=X.o(),this._styleElement.className="monaco-colors",this.setTheme(Nn)}return Object.defineProperty(e.prototype,"onThemeChange",{get:function(){return this._onThemeChange.event},enumerable:!0,configurable:!0}),e.prototype.defineTheme=function(e,t){if(!/^[a-z0-9\-]+$/i.test(e))throw new Error("Illegal theme name!");if(!Mn(t.base)&&!Mn(e))throw new Error("Illegal theme base!");this._knownThemes.set(e,new Pn(e,t)),Mn(e)&&this._knownThemes.forEach((function(t){t.base===e&&t.notifyBaseUpdated()})),this._theme&&this._theme.themeName===e&&this.setTheme(e)},e.prototype.getTheme=function(){return this._theme},e.prototype.setTheme=function(e){var t,o=this;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get(Nn),this._theme=t;var n=[],i={},r={addRule:function(e){i[e]||(n.push(e),i[e]=!0)}};An.getThemingParticipants().forEach((function(e){return e(t,r,o.environment)}));var s=t.tokenTheme.getColorMap();return r.addRule(function(e){for(var t=[],o=1,n=e.length;o<n;o++){var i=e[o];t[o]=".mtk"+o+" { color: "+i+"; }"}return t.push(".mtki { font-style: italic; }"),t.push(".mtkb { font-weight: bold; }"),t.push(".mtku { text-decoration: underline; text-underline-position: under; }"),t.join("\n")}(s)),this._styleElement.innerHTML=n.join("\n"),re.y.setColorMap(s),this._onThemeChange.fire(t),t.id},e}(),Un=Object(C.c)("dialogService"),Vn=o(134),Wn=o(156),jn=o(208),Gn=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();!function(e){var t=new ht.a,o=function(){function e(e,t){this._serviceId=e,this._factory=t,this._value=null}return Object.defineProperty(e.prototype,"id",{get:function(){return this._serviceId},enumerable:!0,configurable:!0}),e.prototype.get=function(e){if(!this._value){if(e&&(this._value=e[this._serviceId.toString()]),this._value||(this._value=this._factory(e)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");t.set(this._serviceId,this._value)}return this._value},e}();e.LazyStaticService=o;var n=[];function i(e,t){var i=new o(e,t);return n.push(i),i}e.init=function(e){var t=new ht.a;for(var o in e)e.hasOwnProperty(o)&&t.set(Object(C.c)(o),e[o]);n.forEach((function(o){return t.set(o.id,o.get(e))}));var i=new dt(t,!0);return t.set(C.a,i),[t,i]},e.instantiationService=i(C.a,(function(){return new dt(t,!0)}));var r=new me;e.configurationService=i(j.b,(function(){return r})),e.resourceConfigurationService=i(Zt,(function(){return new _e(r)})),e.contextService=i(B.a,(function(){return new be})),e.uriDisplayService=i(jn.a,(function(){return new Se})),e.telemetryService=i(Ze.a,(function(){return new ve})),e.dialogService=i(Un,(function(){return new he})),e.notificationService=i(ne.a,(function(){return new de})),e.markerService=i(pt.a,(function(){return new mt})),e.modeService=i(ho.a,(function(e){return new Lo})),e.modelService=i(Ot.a,(function(t){return new Wo(e.markerService.get(t),e.configurationService.get(t))})),e.editorWorkerService=i(O.a,(function(t){return new ro(e.modelService.get(t),e.resourceConfigurationService.get(t))})),e.standaloneThemeService=i(ke.a,(function(){return new Hn})),e.codeEditorService=i(k.a,(function(t){return new en(e.standaloneThemeService.get(t))})),e.progressService=i(_t.a,(function(){return new ce})),e.storageService=i(yt.a,(function(){return yt.b})),e.logService=i(Qe.a,(function(){return new Qe.b}))}(Fn||(Fn={}));var zn=function(e){function t(t,o){var n=e.call(this)||this,i=Fn.init(o),r=i[0],s=i[1];n._serviceCollection=r,n._instantiationService=s;var a=n.get(j.b),l=n.get(ne.a),u=n.get(Ze.a),c=function(e,t){var i=null;return o&&(i=o[e.toString()]),i||(i=t()),n._serviceCollection.set(e,i),i},h=c(w.e,(function(){return n._register(new hn(a))}));c(Vn.a,(function(){return new Vn.b(h)}));var d=c(S.b,(function(){return new ge(n._instantiationService)}));c(T.a,(function(){return n._register(new pe(h,d,u,l,t))}));var g=c(E.b,(function(){return n._register(new ot(t,u,new Qe.b))}));return c(E.a,(function(){return n._register(new $e(t,u,l,g))})),c(J.a,(function(){return new ye(d)})),c(Wn.a,(function(){return new Ce(Fn.modelService.get(Ot.a))})),n}return Gn(t,e),t.prototype.get=function(e){var t=this._serviceCollection.get(e);if(!t)throw new Error("Missing service "+e);return t},t.prototype.set=function(e,t){this._serviceCollection.set(e,t)},t.prototype.has=function(e){return this._serviceCollection.has(e)},t}(b.a);function Kn(e){var t=JSON.parse(e);return t=function e(t,o){if(!t||o>200)return t;if("object"==typeof t){switch(t.$mid){case 1:return g.a.revive(t);case 2:return new RegExp(t.source,t.flags)}for(var n in t)Object.hasOwnProperty.call(t,n)&&(t[n]=e(t[n],o+1))}return t}(t,0)}var Yn=new(function(){function e(){}return e.prototype.publicLog=function(e,t){return c.b.wrap(null)},e.prototype.getTelemetryInfo=function(){return c.b.wrap({instanceId:"someValue.instanceId",sessionId:"someValue.sessionId",machineId:"someValue.machineId"})},e}()),Xn=function(e,t,o,n){var i,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,o):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(r<3?i(s):r>3?i(t,o,s):i(t,o))||s);return r>3&&s&&Object.defineProperty(t,o,s),s},qn=function(e,t){return function(o,n){t(o,n,e)}},$n=function(){function e(e,t,o){void 0===o&&(o=Yn),this._editorService=e,this._commandService=t,this._telemetryService=o}return e.prototype.open=function(e,t){var o;this._telemetryService.publicLog("openerService",{scheme:e.scheme});var n=e.scheme,i=e.path,r=e.query,s=e.fragment,a=c.b.wrap(void 0);if(n===gt.a.http||n===gt.a.https||n===gt.a.mailto)X.P(e.toString(!0));else if("command"===n&&S.a.getCommand(i)){var l=[];try{l=Kn(r),Array.isArray(l)||(l=[l])}catch(e){}a=(o=this._commandService).executeCommand.apply(o,[i].concat(l))}else{var u=void 0,h=/^L?(\d+)(?:,(\d+))?/.exec(s);if(h&&(u={startLineNumber:parseInt(h[1]),startColumn:h[2]?parseInt(h[2]):1},e=e.with({fragment:""})),!e.scheme)return c.b.as(void 0);e.scheme===gt.a.file&&(e=e.with({path:Object(po.h)(e.path)})),a=this._editorService.openCodeEditor({resource:e,options:{selection:u}},this._editorService.getFocusedCodeEditor(),t&&t.openToSide)}return a},e=Xn([qn(0,k.a),qn(1,S.b),qn(2,Object(C.d)(Ze.a))],e)}(),Jn=o(82),Zn=o(68),Qn=o(87),ei=o(54),ti=function(){function e(){}return e.colorizeElement=function(e,t,o,n){var i=(n=n||{}).theme||"vs",r=n.mimeType||o.getAttribute("lang")||o.getAttribute("data-lang");if(r){e.setTheme(i);var s=o.firstChild.nodeValue;o.className+=" "+i;return this.colorize(t,s,r,n).then((function(e){o.innerHTML=e}),(function(e){return console.error(e)}))}console.error("Mode not detected")},e._tokenizationSupportChangedPromise=function(e){var t=null,o=function(){t&&(t.dispose(),t=null)};return new c.b((function(n,i){t=re.y.onDidChange((function(t){t.changedLanguages.indexOf(e)>=0&&(o(),n(void 0))}))}),o)},e.colorize=function(e,t,o,n){Nt.startsWithUTF8BOM(t)&&(t=t.substr(1));var i=t.split(/\r\n|\r|\n/),r=e.getModeId(o);void 0===(n=n||{}).tabSize&&(n.tabSize=4),e.getOrCreateMode(r);var s=re.y.get(r);return s?c.b.as(oi(i,n.tabSize,s)):c.b.any([this._tokenizationSupportChangedPromise(r),c.b.timeout(500)]).then((function(e){var t=re.y.get(r);return t?oi(i,n.tabSize,t):function(e,t){var o=[],n=new Uint32Array(2);n[0]=0,n[1]=16793600;for(var i=0,r=e.length;i<r;i++){var s=e[i];n[0]=s.length;var a=new Qn.a(n,s),l=ei.d.isBasicASCII(s,!0),u=ei.d.containsRTL(s,l,!0),c=Object(Zn.d)(new Zn.b(!1,s,!1,l,u,0,a,[],t,0,-1,"none",!1,!1));(o=o.concat(c.html)).push("<br/>")}return o.join("")}(i,n.tabSize)}))},e.colorizeLine=function(e,t,o,n,i){void 0===i&&(i=4);var r=ei.d.isBasicASCII(e,t),s=ei.d.containsRTL(e,r,o);return Object(Zn.d)(new Zn.b(!1,e,!1,r,s,0,n,[],i,0,-1,"none",!1,!1)).html},e.colorizeModelLine=function(e,t,o){void 0===o&&(o=4);var n=e.getLineContent(t);e.forceTokenization(t);var i=e.getLineTokens(t).inflate();return this.colorizeLine(n,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,o)},e}();function oi(e,t,o){return function(e,t,o){for(var n=[],i=o.getInitialState(),r=0,s=e.length;r<s;r++){var a=e[r],l=o.tokenize2(a,i,0);Qn.a.convertToEndOffset(l.tokens,a.length);var u=new Qn.a(l.tokens,a),c=ei.d.isBasicASCII(a,!0),h=ei.d.containsRTL(a,c,!0),d=Object(Zn.d)(new Zn.b(!1,a,!1,c,h,0,u.inflate(),[],t,0,-1,"none",!1,!1));(n=n.concat(d.html)).push("<br/>"),i=l.endState}return n.join("")}(e,t,o)}var ni=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])};return function(t,o){function n(){this.constructor=t}e(t,o),t.prototype=null===o?Object.create(o):(n.prototype=o.prototype,new n)}}();var ii,ri,si=function(e){function t(t,o){var n=e.call(this,t,o.label)||this;return n._foreignModuleId=o.moduleId,n._foreignModuleCreateData=o.createData||null,n._foreignProxy=null,n}return ni(t,e),t.prototype._getForeignProxy=function(){var e=this;return this._foreignProxy||(this._foreignProxy=new L.d(this._getProxy().then((function(t){return t.loadForeignModule(e._foreignModuleId,e._foreignModuleCreateData).then((function(o){e._foreignModuleId=null,e._foreignModuleCreateData=null;for(var n=function(e,o){return t.fmr(e,o)},i=function(e,t){return function(){var o=Array.prototype.slice.call(arguments,0);return t(e,o)}},r={},s=0;s<o.length;s++)r[o[s]]=i(o[s],n);return r}))})))),this._foreignProxy},t.prototype.getProxy=function(){return this._getForeignProxy()},t.prototype.withSyncedResources=function(e){var t=this;return this._withSyncedResources(e).then((function(e){return t.getProxy()}))},t}(co),ai=o(263),li=o(133),ui=o(132),ci=o(35);function hi(e,t,o){var n=new zn(e,t),i=null;n.has(li.a)||(i=new ue,n.set(li.a,i)),n.has(Jn.a)||n.set(Jn.a,new $n(n.get(k.a),n.get(S.b)));var r=o(n);return i&&i.setEditor(r),r}function di(e,t,o){return hi(e,o,(function(o){return new Be(e,t,o,o.get(C.a),o.get(k.a),o.get(S.b),o.get(w.e),o.get(T.a),o.get(E.b),o.get(ke.a),o.get(ne.a),o.get(j.b))}))}function gi(e){return Fn.codeEditorService.get().onCodeEditorAdd((function(t){e(t)}))}function pi(e,t,o){return hi(e,o,(function(o){return new Fe(e,t,o,o.get(C.a),o.get(w.e),o.get(T.a),o.get(E.b),o.get(O.a),o.get(k.a),o.get(ke.a),o.get(ne.a),o.get(j.b))}))}function fi(e,t){return new ai.a(e,t)}function mi(e,t,o){return Fn.modelService.get().createModel(e,t,o)}function _i(e,t,o){if(e=e||"",!t){var n=o?o.path:null,i=e.indexOf("\n"),r=e;return-1!==i&&(r=e.substring(0,i)),mi(e,Fn.modeService.get().getOrCreateModeByFilenameOrFirstLine(n,r),o)}return mi(e,Fn.modeService.get().getOrCreateMode(t),o)}function yi(e,t){Fn.modelService.get().setMode(e,Fn.modeService.get().getOrCreateMode(t))}function vi(e,t,o){e&&Fn.markerService.get().changeOne(t,e.uri,o)}function bi(e){return Fn.markerService.get().read(e)}function Ei(e){return Fn.modelService.get().getModel(e)}function Ci(){return Fn.modelService.get().getModels()}function Si(e){return Fn.modelService.get().onModelAdded(e)}function Ti(e){return Fn.modelService.get().onModelRemoved(e)}function wi(e){return Fn.modelService.get().onModelModeChanged((function(t){e({model:t.model,oldLanguage:t.oldModeId})}))}function ki(e){return function(e,t){return new si(e,t)}(Fn.modelService.get(),e)}function Oi(e,t){return ti.colorizeElement(Fn.standaloneThemeService.get(),Fn.modeService.get(),e,t)}function Ri(e,t,o){return ti.colorize(Fn.modeService.get(),e,t,o)}function Ni(e,t,o){return void 0===o&&(o=4),ti.colorizeModelLine(e,t,o)}function Li(e,t){Fn.modeService.get().getOrCreateMode(t);for(var o=function(e){var t=re.y.get(e);return t||{getInitialState:function(){return Oo.c},tokenize:function(t,o,n){return Object(Oo.d)(e,t,o,n)},tokenize2:void 0}}(t),n=e.split(/\r\n|\r|\n/),i=[],r=o.getInitialState(),s=0,a=n.length;s<a;s++){var l=n[s],u=o.tokenize(l,r,0);i[s]=u.tokens,r=u.endState}return i}function Ii(e,t){Fn.standaloneThemeService.get().defineTheme(e,t)}function Di(e){Fn.standaloneThemeService.get().setTheme(e)}!function(e){e[e.Smooth=0]="Smooth",e[e.Immediate=1]="Immediate"}(ii||(ii={})),function(e){e[e.Off=0]="Off",e[e.On=1]="On",e[e.Relative=2]="Relative",e[e.Interval=3]="Interval",e[e.Custom=4]="Custom"}(ri||(ri={}));var Ai=o(44);function Pi(e){return!function(e){return Array.isArray(e)}(e)}function Mi(e){return"string"==typeof e}function xi(e){return!Mi(e)}function Bi(e){return!e}function Fi(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Hi(e){return e.replace(/[&<>'"_]/g,"-")}function Ui(e,t){throw new Error(e.languageId+": "+t)}function Vi(e,t,o,n,i){var r=null;return t.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(t,s,a,l,u,c,h,d,g){return Bi(a)?Bi(l)?!Bi(u)&&u<n.length?Fi(e,n[u]):!Bi(h)&&e&&"string"==typeof e[h]?e[h]:(null===r&&(r=i.split(".")).unshift(i),!Bi(c)&&c<r.length?Fi(e,r[c]):""):Fi(e,o):"$"}))}function Wi(e,t){for(;t&&t.length>0;){var o=e.tokenizer[t];if(o)return o;var n=t.lastIndexOf(".");t=n<0?null:t.substr(0,n)}return null}function ji(e,t,o){return"boolean"==typeof e?e:(o&&(e||void 0===t)&&o(),void 0===t?null:t)}function Gi(e,t,o){return"string"==typeof e?e:(o&&(e||void 0===t)&&o(),void 0===t?null:t)}function zi(e,t){if("string"!=typeof t)return null;for(var o=0;t.indexOf("@")>=0&&o<5;)o++,t=t.replace(/@(\w+)/g,(function(o,n){var i="";return"string"==typeof e[n]?i=e[n]:e[n]&&e[n]instanceof RegExp?i=e[n].source:void 0===e[n]?Ui(e,"language definition does not contain attribute '"+n+"', used at: "+t):Ui(e,"attribute reference '"+n+"' must be a string, used at: "+t),Bi(i)?"":"(?:"+i+")"}));return new RegExp(t,e.ignoreCase?"i":"")}function Ki(e,t,o,n){var i=-1,r=o,s=o.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);s&&(s[3]&&(i=parseInt(s[3]),s[2]&&(i+=100)),r=s[4]);var a,l="~",u=r;if(r&&0!==r.length?/^\w*$/.test(u)?l="==":(s=r.match(/^(@|!@|~|!~|==|!=)(.*)$/))&&(l=s[1],u=s[2]):(l="!=",u=""),"~"!==l&&"!~"!==l||!/^(\w|\|)*$/.test(u))if("@"===l||"!@"===l){var c=e[u];c||Ui(e,"the @ match target '"+u+"' is not defined, in rule: "+t),function(e,t){if(!t)return!1;if(!Array.isArray(t))return!1;for(var o in t)if(t.hasOwnProperty(o)&&!e(t[o]))return!1;return!0}((function(e){return"string"==typeof e}),c)||Ui(e,"the @ match target '"+u+"' must be an array of strings, in rule: "+t);var h=V.b(c,e.ignoreCase);a=function(e){return"@"===l?h(e):!h(e)}}else if("~"===l||"!~"===l)if(u.indexOf("$")<0){var d=zi(e,"^"+u+"$");a=function(e){return"~"===l?d.test(e):!d.test(e)}}else a=function(t,o,n,i){return zi(e,"^"+Vi(e,u,o,n,i)+"$").test(t)};else if(u.indexOf("$")<0){var g=Fi(e,u);a=function(e){return"=="===l?e===g:e!==g}}else{var p=Fi(e,u);a=function(t,o,n,i,r){var s=Vi(e,p,o,n,i);return"=="===l?t===s:t!==s}}else{var f=V.b(u.split("|"),e.ignoreCase);a=function(e){return"~"===l?f(e):!f(e)}}return-1===i?{name:o,value:n,test:function(e,t,o,n){return a(e,e,t,o,n)}}:{name:o,value:n,test:function(e,t,o,n){var r=function(e,t,o,n){if(n<0)return e;if(n<t.length)return t[n];if(n>=100){n-=100;var i=o.split(".");if(i.unshift(o),n<i.length)return i[n]}return null}(e,t,o,i);return a(r||"",e,t,o,n)}}}var Yi=function(){function e(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}return e.prototype.setRegex=function(e,t){var o;"string"==typeof t?o=t:t instanceof RegExp?o=t.source:Ui(e,"rules must start with a match string or regular expression: "+this.name),this.matchOnlyAtLineStart=o.length>0&&"^"===o[0],this.name=this.name+": "+o,this.regex=zi(e,"^(?:"+(this.matchOnlyAtLineStart?o.substr(1):o)+")")},e.prototype.setAction=function(e,t){this.action=function e(t,o,n){if(n){if("string"==typeof n)return n;if(n.token||""===n.token){if("string"!=typeof n.token)return Ui(t,"a 'token' attribute must be of type string, in rule: "+o),{token:""};var i={token:n.token};if(n.token.indexOf("$")>=0&&(i.tokenSubst=!0),"string"==typeof n.bracket&&("@open"===n.bracket?i.bracket=1:"@close"===n.bracket?i.bracket=-1:Ui(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+o)),n.next)if("string"!=typeof n.next)Ui(t,"the next state must be a string value in rule: "+o);else{var r=n.next;/^(@pop|@push|@popall)$/.test(r)||("@"===r[0]&&(r=r.substr(1)),r.indexOf("$")<0&&(function(e,t){for(;t&&t.length>0;){if(e.stateNames[t])return!0;var o=t.lastIndexOf(".");t=o<0?null:t.substr(0,o)}return!1}(t,Vi(t,r,"",[],""))||Ui(t,"the next state '"+n.next+"' is not defined in rule: "+o))),i.next=r}return"number"==typeof n.goBack&&(i.goBack=n.goBack),"string"==typeof n.switchTo&&(i.switchTo=n.switchTo),"string"==typeof n.log&&(i.log=n.log),"string"==typeof n.nextEmbedded&&(i.nextEmbedded=n.nextEmbedded,t.usesEmbedded=!0),i}if(Array.isArray(n)){var s=[];for(var a in n)n.hasOwnProperty(a)&&(s[a]=e(t,o,n[a]));return{group:s}}if(n.cases){var l=[];for(var u in n.cases)if(n.cases.hasOwnProperty(u)){var c=e(t,o,n.cases[u]);"@default"===u||"@"===u||""===u?l.push({test:null,value:c,name:u}):"@eos"===u?l.push({test:function(e,t,o,n){return n},value:c,name:u}):l.push(Ki(t,o,u,c))}var h=t.defaultToken;return{test:function(e,t,o,n){for(var i in l){if(l.hasOwnProperty(i))if(!l[i].test||l[i].test(e,t,o,n))return l[i].value}return h}}}return Ui(t,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+o),""}return{token:""}}(e,this.name,t)},e}();var Xi=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==e&&e.depth>=this._maxCacheDepth)return new qi(e,t);var o=qi.getStackElementId(e);o.length>0&&(o+="|"),o+=t;var n=this._entries[o];return n||(n=new qi(e,t),this._entries[o]=n,n)},e._INSTANCE=new e(5),e}(),qi=function(){function e(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}return e.getStackElementId=function(e){for(var t="";null!==e;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t},e._equals=function(e,t){for(;null!==e&&null!==t;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return null===e&&null===t},e.prototype.equals=function(t){return e._equals(this,t)},e.prototype.push=function(e){return Xi.create(this,e)},e.prototype.pop=function(){return this.parent},e.prototype.popall=function(){for(var e=this;e.parent;)e=e.parent;return e},e.prototype.switchTo=function(e){return Xi.create(this.parent,e)},e}(),$i=function(){function e(e,t){this.modeId=e,this.state=t}return e.prototype.equals=function(e){return this.modeId===e.modeId&&this.state.equals(e.state)},e.prototype.clone=function(){return this.state.clone()===this.state?this:new e(this.modeId,this.state)},e}(),Ji=function(){function e(e){this._maxCacheDepth=e,this._entries=Object.create(null)}return e.create=function(e,t){return this._INSTANCE.create(e,t)},e.prototype.create=function(e,t){if(null!==t)return new Zi(e,t);if(null!==e&&e.depth>=this._maxCacheDepth)return new Zi(e,t);var o=qi.getStackElementId(e),n=this._entries[o];return n||(n=new Zi(e,null),this._entries[o]=n,n)},e._INSTANCE=new e(5),e}(),Zi=function(){function e(e,t){this.stack=e,this.embeddedModeData=t}return e.prototype.clone=function(){return(this.embeddedModeData?this.embeddedModeData.clone():null)===this.embeddedModeData?this:Ji.create(this.stack,this.embeddedModeData)},e.prototype.equals=function(t){return t instanceof e&&(!!this.stack.equals(t.stack)&&(null===this.embeddedModeData&&null===t.embeddedModeData||null!==this.embeddedModeData&&null!==t.embeddedModeData&&this.embeddedModeData.equals(t.embeddedModeData)))},e}(),Qi=Object.hasOwnProperty,er=function(){function e(){this._tokens=[],this._language=null,this._lastTokenType=null,this._lastTokenLanguage=null}return e.prototype.enterMode=function(e,t){this._language=t},e.prototype.emit=function(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._language||(this._lastTokenType=t,this._lastTokenLanguage=this._language,this._tokens.push(new d.a(e,t,this._language)))},e.prototype.nestedModeTokenize=function(e,t,o){var n=t.modeId,i=t.state,r=re.y.get(n);if(!r)return this.enterMode(o,n),this.emit(o,""),i;var s=r.tokenize(e,i,o);return this._tokens=this._tokens.concat(s.tokens),this._lastTokenType=null,this._lastTokenLanguage=null,this._language=null,s.endState},e.prototype.finalize=function(e){return new d.b(this._tokens,e)},e}(),tr=function(){function e(e,t){this._modeService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}return e.prototype.enterMode=function(e,t){this._currentLanguageId=this._modeService.getLanguageIdentifier(t).id},e.prototype.emit=function(e,t){var o=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==o&&(this._lastTokenMetadata=o,this._tokens.push(e),this._tokens.push(o))},e._merge=function(e,t,o){var n=null!==e?e.length:0,i=t.length,r=null!==o?o.length:0;if(0===n&&0===i&&0===r)return new Uint32Array(0);if(0===n&&0===i)return o;if(0===i&&0===r)return e;var s=new Uint32Array(n+i+r);null!==e&&s.set(e);for(var a=0;a<i;a++)s[n+a]=t[a];return null!==o&&s.set(o,n+i),s},e.prototype.nestedModeTokenize=function(t,o,n){var i=o.modeId,r=o.state,s=re.y.get(i);if(!s)return this.enterMode(n,i),this.emit(n,""),r;var a=s.tokenize2(t,r,n);return this._prependTokens=e._merge(this._prependTokens,this._tokens,a.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,a.endState},e.prototype.finalize=function(t){return new d.c(e._merge(this._prependTokens,this._tokens,null),t)},e}(),or=function(){function e(e,t,o,n){var i=this;this._modeService=e,this._standaloneThemeService=t,this._modeId=o,this._lexer=n,this._embeddedModes=Object.create(null);var r=!1;this._tokenizationRegistryListener=re.y.onDidChange((function(e){if(!r){for(var t=!1,o=0,n=e.changedLanguages.length;o<n;o++){var s=e.changedLanguages[o];if(i._embeddedModes[s]){t=!0;break}}t&&(r=!0,re.y.fire([i._modeId]),r=!1)}}))}return e.prototype.dispose=function(){this._tokenizationRegistryListener.dispose()},e.prototype.getInitialState=function(){var e=Xi.create(null,this._lexer.start);return Ji.create(e,null)},e.prototype.tokenize=function(e,t,o){var n=new er,i=this._tokenize(e,t,o,n);return n.finalize(i)},e.prototype.tokenize2=function(e,t,o){var n=new tr(this._modeService,this._standaloneThemeService.getTheme().tokenTheme),i=this._tokenize(e,t,o,n);return n.finalize(i)},e.prototype._tokenize=function(e,t,o,n){return t.embeddedModeData?this._nestedTokenize(e,t,o,n):this._myTokenize(e,t,o,n)},e.prototype._findLeavingNestedModeOffset=function(e,t){var o=this._lexer.tokenizer[t.stack.state];o||(o=Wi(this._lexer,t.stack.state))||Ui(this._lexer,"tokenizer state is not defined: "+t.stack.state);var n=-1,i=!1;for(var r in o)if(Qi.call(o,r)){var s=o[r];if(xi(s.action)&&"@pop"===s.action.nextEmbedded){i=!0;var a=s.regex,l=s.regex.source;"^(?:"===l.substr(0,4)&&")"===l.substr(l.length-1,1)&&(a=new RegExp(l.substr(4,l.length-5),a.ignoreCase?"i":""));var u=e.search(a);-1!==u&&(-1===n||u<n)&&(n=u)}}return i||Ui(this._lexer,'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: '+t.stack.state),n},e.prototype._nestedTokenize=function(e,t,o,n){var i=this._findLeavingNestedModeOffset(e,t);if(-1===i){var r=n.nestedModeTokenize(e,t.embeddedModeData,o);return Ji.create(t.stack,new $i(t.embeddedModeData.modeId,r))}var s=e.substring(0,i);s.length>0&&n.nestedModeTokenize(s,t.embeddedModeData,o);var a=e.substring(i);return this._myTokenize(a,t,o+i,n)},e.prototype._myTokenize=function(e,t,o,n){n.enterMode(o,this._modeId);for(var i,r,s=e.length,a=t.embeddedModeData,l=t.stack,u=0,c=null,h=null,d=null,g=null;u<s;){var p=u,f=l.depth,m=c?c.length:0,_=l.state,y=null,v=null,b=null,E=null,C=null;if(c)y=h,v=d.shift(),b=c.shift(),E=g,0===c.length&&(c=null,h=null,d=null,g=null);else{if(u>=s)break;var S=this._lexer.tokenizer[_];S||(S=Wi(this._lexer,_))||Ui(this._lexer,"tokenizer state is not defined: "+_);var T=e.substr(u);for(var w in S)if(Qi.call(S,w)){var k=S[w];if((0===u||!k.matchOnlyAtLineStart)&&(y=T.match(k.regex))){v=y[0],b=k.action;break}}}for(y||(y=[""],v=""),b||(u<s&&(v=(y=[e.charAt(u)])[0]),b=this._lexer.defaultToken),u+=v.length;Pi(b)&&xi(b)&&b.test;)b=b.test(v,y,_,u===s);var O=null;if("string"==typeof b||Array.isArray(b))O=b;else if(b.group)O=b.group;else if(null!==b.token&&void 0!==b.token){if(O=b.tokenSubst?Vi(this._lexer,b.token,v,y,_):b.token,b.nextEmbedded&&("@pop"===b.nextEmbedded?(a||Ui(this._lexer,"cannot pop embedded mode if not inside one"),a=null):a?Ui(this._lexer,"cannot enter embedded mode from within an embedded mode"):C=Vi(this._lexer,b.nextEmbedded,v,y,_)),b.goBack&&(u=Math.max(0,u-b.goBack)),b.switchTo&&"string"==typeof b.switchTo)"@"===(R=Vi(this._lexer,b.switchTo,v,y,_))[0]&&(R=R.substr(1)),Wi(this._lexer,R)?l=l.switchTo(R):Ui(this._lexer,"trying to switch to a state '"+R+"' that is undefined in rule: "+E.name);else if(b.transform&&"function"==typeof b.transform)Ui(this._lexer,"action.transform not supported");else if(b.next)if("@push"===b.next)l.depth>=this._lexer.maxStack?Ui(this._lexer,"maximum tokenizer stack size reached: ["+l.state+","+l.parent.state+",...]"):l=l.push(_);else if("@pop"===b.next)l.depth<=1?Ui(this._lexer,"trying to pop an empty stack in rule: "+E.name):l=l.pop();else if("@popall"===b.next)l=l.popall();else{var R;"@"===(R=Vi(this._lexer,b.next,v,y,_))[0]&&(R=R.substr(1)),Wi(this._lexer,R)?l=l.push(R):Ui(this._lexer,"trying to set a next state '"+R+"' that is undefined in rule: "+E.name)}b.log&&"string"==typeof b.log&&(i=this._lexer,r=this._lexer.languageId+": "+Vi(this._lexer,b.log,v,y,_),console.log(i.languageId+": "+r))}if(null===O&&Ui(this._lexer,"lexer rule has no well-defined action in rule: "+E.name),Array.isArray(O)){c&&c.length>0&&Ui(this._lexer,"groups cannot be nested: "+E.name),y.length!==O.length+1&&Ui(this._lexer,"matched number of groups does not match the number of actions in rule: "+E.name);for(var N=0,L=1;L<y.length;L++)N+=y[L].length;N!==v.length&&Ui(this._lexer,"with groups, all characters should be matched in consecutive groups in rule: "+E.name),h=y,d=y.slice(1),c=O.slice(0),g=E,u-=v.length}else{if("@rematch"===O&&(u-=v.length,v="",y=null,O=""),0===v.length){if(f!==l.depth||_!==l.state||(c?c.length:0)!==m)continue;Ui(this._lexer,"no progress in tokenizer in rule: "+E.name),u=s}var I=null;if(Mi(O)&&0===O.indexOf("@brackets")){var D=O.substr("@brackets".length),A=nr(this._lexer,v);A||(Ui(this._lexer,"@brackets token returned but no bracket defined as: "+v),A={token:"",bracketType:0}),I=Hi(A.token+D)}else{I=Hi(""===O?"":O+this._lexer.tokenPostfix)}if(n.emit(p+o,I),null!==C){var P=this._modeService.getModeIdForLanguageName(C);P&&(C=P);var M=this._getNestedEmbeddedModeData(C);if(u<s){T=e.substr(u);return this._nestedTokenize(T,Ji.create(l,M),o+u,n)}return Ji.create(l,M)}}}return Ji.create(l,a)},e.prototype._getNestedEmbeddedModeData=function(e){var t=this._locateMode(e);if(t){var o=re.y.get(t.getId());if(o)return new $i(t.getId(),o.getInitialState())}var n=t?t.getId():Oo.b;return new $i(n,Oo.c)},e.prototype._locateMode=function(e){if(!e||!this._modeService.isRegisteredMode(e))return null;var t=this._modeService.getModeId(e);this._modeService.getOrCreateMode(t);var o=this._modeService.getMode(t);return o?(this._embeddedModes[t]=!0,o):(this._embeddedModes[t]=!0,null)},e}();function nr(e,t){if(!t)return null;t=Fi(e,t);for(var o=e.brackets,n=0;n<o.length;n++){var i=o[n];if(i.open===t)return{token:i.token,bracketType:1};if(i.close===t)return{token:i.token,bracketType:-1}}return null}function ir(e){wo.registerLanguage(e)}function rr(){var e=[];return e=e.concat(wo.getLanguages())}function sr(e){var t=Fn.modeService.get().getLanguageIdentifier(e);return t&&t.id}function ar(e,t){var o=Fn.modeService.get().onDidCreateMode((function(n){n.getId()===e&&(o.dispose(),t())}));return o}function lr(e,t){var o=Fn.modeService.get().getLanguageIdentifier(e);if(!o)throw new Error("Cannot set configuration for unknown language "+e);return Jt.a.register(o,t)}var ur,cr=function(){function e(e){this._actual=e}return e.prototype.getInitialState=function(){return this._actual.getInitialState()},e.prototype.tokenize=function(e,t,o){throw new Error("Not supported!")},e.prototype.tokenize2=function(e,t){var o=this._actual.tokenizeEncoded(e,t);return new d.c(o.tokens,o.endState)},e}(),hr=function(){function e(e,t,o){this._standaloneThemeService=e,this._languageIdentifier=t,this._actual=o}return e.prototype.getInitialState=function(){return this._actual.getInitialState()},e.prototype._toClassicTokens=function(e,t,o){for(var n=[],i=0,r=0,s=e.length;r<s;r++){var a=e[r],l=a.startIndex;0===r?l=0:l<i&&(l=i),n[r]=new d.a(l+o,a.scopes,t),i=l}return n},e.prototype.tokenize=function(e,t,o){var n,i=this._actual.tokenize(e,t),r=this._toClassicTokens(i.tokens,this._languageIdentifier.language,o);return n=i.endState.equals(t)?t:i.endState,new d.b(r,n)},e.prototype._toBinaryTokens=function(e,t){for(var o=this._languageIdentifier.id,n=this._standaloneThemeService.getTheme().tokenTheme,i=[],r=0,s=0,a=0,l=e.length;a<l;a++){var u=e[a],c=n.match(o,u.scopes);if(!(r>0&&i[r-1]===c)){var h=u.startIndex;0===a?h=0:h<s&&(h=s),i[r++]=h+t,i[r++]=c,s=h}}var d=new Uint32Array(r);for(a=0;a<r;a++)d[a]=i[a];return d},e.prototype.tokenize2=function(e,t,o){var n,i=this._actual.tokenize(e,t),r=this._toBinaryTokens(i.tokens,o);return n=i.endState.equals(t)?t:i.endState,new d.c(r,n)},e}();function dr(e,t){var o,n=Fn.modeService.get().getLanguageIdentifier(e);if(!n)throw new Error("Cannot set tokens provider for unknown language "+e);return o=function(e){return e.tokenizeEncoded}(t)?new cr(t):new hr(Fn.standaloneThemeService.get(),n,t),re.y.register(e,o)}function gr(e,t){var o=function(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");var o={};o.languageId=e,o.noThrow=!1,o.maxStack=100,o.start=Gi(t.start),o.ignoreCase=ji(t.ignoreCase,!1),o.tokenPostfix=Gi(t.tokenPostfix,"."+o.languageId),o.defaultToken=Gi(t.defaultToken,"source",(function(){Ui(o,"the 'defaultToken' must be a string")})),o.usesEmbedded=!1;var n=t;function i(e,r,s){for(var a in s)if(s.hasOwnProperty(a)){var l=s[a],u=l.include;if(u)"string"!=typeof u&&Ui(o,"an 'include' attribute must be a string at: "+e),"@"===u[0]&&(u=u.substr(1)),t.tokenizer[u]||Ui(o,"include target '"+u+"' is not defined at: "+e),i(e+"."+u,r,t.tokenizer[u]);else{var c=new Yi(e);if(Array.isArray(l)&&l.length>=1&&l.length<=3)if(c.setRegex(n,l[0]),l.length>=3)if("string"==typeof l[1])c.setAction(n,{token:l[1],next:l[2]});else if("object"==typeof l[1]){var h=l[1];h.next=l[2],c.setAction(n,h)}else Ui(o,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);else c.setAction(n,l[1]);else l.regex||Ui(o,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e),l.name&&(c.name=Gi(l.name)),l.matchOnlyAtStart&&(c.matchOnlyAtLineStart=ji(l.matchOnlyAtLineStart)),c.setRegex(n,l.regex),c.setAction(n,l.action);r.push(c)}}}for(var r in n.languageId=e,n.ignoreCase=o.ignoreCase,n.noThrow=o.noThrow,n.usesEmbedded=o.usesEmbedded,n.stateNames=t.tokenizer,n.defaultToken=o.defaultToken,t.tokenizer&&"object"==typeof t.tokenizer||Ui(o,"a language definition must define the 'tokenizer' attribute as an object"),o.tokenizer=[],t.tokenizer)if(t.tokenizer.hasOwnProperty(r)){o.start||(o.start=r);var s=t.tokenizer[r];o.tokenizer[r]=new Array,i("tokenizer."+r,o.tokenizer[r],s)}o.usesEmbedded=n.usesEmbedded,t.brackets?Array.isArray(t.brackets)||Ui(o,"the 'brackets' attribute must be defined as an array"):t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];var a=[];for(var l in t.brackets)if(t.brackets.hasOwnProperty(l)){var u=t.brackets[l];u&&Array.isArray(u)&&3===u.length&&(u={token:u[2],open:u[0],close:u[1]}),u.open===u.close&&Ui(o,"open and close brackets in a 'brackets' attribute must be different: "+u.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required."),"string"==typeof u.open&&"string"==typeof u.token?a.push({token:Gi(u.token)+o.tokenPostfix,open:Fi(o,Gi(u.open)),close:Fi(o,Gi(u.close))}):Ui(o,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return o.brackets=a,o.noThrow=!0,o}(e,t),n=function(e,t,o,n){return new or(e,t,o,n)}(Fn.modeService.get(),Fn.standaloneThemeService.get(),e,o);return re.y.register(e,n)}function pr(e,t){return re.r.register(e,t)}function fr(e,t){return re.s.register(e,t)}function mr(e,t){return re.t.register(e,t)}function _r(e,t){return re.m.register(e,{provideHover:function(e,o,n){var i=e.getWordAtPosition(o);return Object(L.n)(t.provideHover(e,o,n)).then((function(e){if(e)return!e.range&&i&&(e.range=new l.a(o.lineNumber,i.startColumn,o.lineNumber,i.endColumn)),e.range||(e.range=new l.a(o.lineNumber,o.column,o.lineNumber,o.column)),e}))}})}function yr(e,t){return re.j.register(e,t)}function vr(e,t){return re.h.register(e,t)}function br(e,t){return re.e.register(e,t)}function Er(e,t){return re.n.register(e,t)}function Cr(e,t){return re.z.register(e,t)}function Sr(e,t){return re.c.register(e,t)}function Tr(e,t){return re.a.register(e,{provideCodeActions:function(e,o,n,i){var r=Fn.markerService.get().read({resource:e.uri}).filter((function(e){return l.a.areIntersectingOrTouching(e,o)}));return t.provideCodeActions(e,o,{markers:r,only:n.only},i)}})}function wr(e,t){return re.f.register(e,t)}function kr(e,t){return re.i.register(e,t)}function Or(e,t){return re.q.register(e,t)}function Rr(e,t){return re.p.register(e,t)}function Nr(e,t){var o=new Ar(t);return re.u.register(e,{triggerCharacters:t.triggerCharacters,provideCompletionItems:function(e,t,n,i){return o.provideCompletionItems(e,t,n,i)},resolveCompletionItem:function(e,t,n,i){return o.resolveCompletionItem(e,t,n,i)}})}function Lr(e,t){return re.d.register(e,t)}function Ir(e,t){return re.l.register(e,t)}function Dr(e){switch(e){case ur.Method:return"method";case ur.Function:return"function";case ur.Constructor:return"constructor";case ur.Field:return"field";case ur.Variable:return"variable";case ur.Class:return"class";case ur.Interface:return"interface";case ur.Module:return"module";case ur.Property:return"property";case ur.Unit:return"unit";case ur.Value:return"value";case ur.Enum:return"enum";case ur.Keyword:return"keyword";case ur.Snippet:return"snippet";case ur.Text:return"text";case ur.Color:return"color";case ur.File:return"file";case ur.Reference:return"reference";case ur.Folder:return"folder"}return"property"}!function(e){e[e.Text=0]="Text",e[e.Method=1]="Method",e[e.Function=2]="Function",e[e.Constructor=3]="Constructor",e[e.Field=4]="Field",e[e.Variable=5]="Variable",e[e.Class=6]="Class",e[e.Interface=7]="Interface",e[e.Module=8]="Module",e[e.Property=9]="Property",e[e.Unit=10]="Unit",e[e.Value=11]="Value",e[e.Enum=12]="Enum",e[e.Keyword=13]="Keyword",e[e.Snippet=14]="Snippet",e[e.Color=15]="Color",e[e.File=16]="File",e[e.Reference=17]="Reference",e[e.Folder=18]="Folder"}(ur||(ur={}));var Ar=function(){function e(e){this._provider=e}return e.from=function(e,t,o){var n={_actual:e,label:e.label,insertText:e.label,type:Dr(e.kind),detail:e.detail,documentation:e.documentation,command:e.command,sortText:e.sortText,filterText:e.filterText,snippetType:"internal",additionalTextEdits:e.additionalTextEdits,commitCharacters:e.commitCharacters},i=e.textEdit?e.textEdit.range:e.range;if(i){if(!(i.startLineNumber===i.endLineNumber)||i.startLineNumber!==t.lineNumber)return console.warn("INVALID range, must be single line and on the same line"),null;n.overwriteBefore=t.column-i.startColumn,n.overwriteAfter=i.endColumn-t.column}else n.overwriteBefore=t.column-o.column,n.overwriteAfter=0;return e.textEdit?n.insertText=e.textEdit.text:"object"==typeof e.insertText&&"string"==typeof e.insertText.value?(n.insertText=e.insertText.value,n.snippetType="textmate"):"string"==typeof e.insertText&&(n.insertText=e.insertText),n},e.prototype.provideCompletionItems=function(t,o,n,i){var r=this._provider.provideCompletionItems(t,o,i,n);return Object(L.n)(r).then((function(n){var i,r={suggestions:[]},s=o,l=t.getWordUntilPosition(o);if(l&&(s=new a.a(s.lineNumber,l.startColumn)),Array.isArray(n))i={items:n,isIncomplete:!1};else if("object"==typeof n&&Array.isArray(n.items))i=n,r.incomplete=i.isIncomplete;else{if(!n)return;console.warn("INVALID result from completion provider. expected CompletionItem-array or CompletionList but got:",n)}for(var u=0;u<i.items.length;u++){var c=i.items[u],h=e.from(c,o,s);h&&r.suggestions.push(h)}return r}))},e.prototype.resolveCompletionItem=function(t,o,n,i){if("function"!=typeof this._provider.resolveCompletionItem)return c.b.as(n);var r=n._actual;return r?Object(L.n)(this._provider.resolveCompletionItem(r,i)).then((function(n){var i=o,r=t.getWordUntilPosition(o);return r&&(i=new a.a(i.lineNumber,r.startColumn)),e.from(n,o,i)})):c.b.as(n)},e}();var Pr=function(){function e(e){c.a.is(e)?this._winjsPromise=e:this._winjsPromise=new c.a((function(t,o){var n=!0;e((function(e){n?oe.h((function(){return t(e)})):t(e)}),(function(e){n?oe.h((function(){return o(e)})):o(e)})),n=!1}))}return e.all=function(t){return new e(c.a.join(t).then(null,(function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t]})))},e.race=function(t){return new e(c.a.any(t).then((function(e){return e.value}),(function(e){return e.value})))},e.resolve=function(t){return new e(c.a.wrap(t))},e.reject=function(t){return new e(c.a.wrapError(t))},e.prototype.then=function(t,o){var n=!0,i=new e(this._winjsPromise.then(t&&function(e){n?oe.h((function(){return t(e)})):t(e)},o&&function(e){n?oe.h((function(){return o(e)})):o(e)}));return n=!1,i},e.prototype.catch=function(e){return this.then(null,e)},e}();o.d(t,"CancellationTokenSource",(function(){return Br})),o.d(t,"Emitter",(function(){return Fr})),o.d(t,"KeyCode",(function(){return Hr})),o.d(t,"KeyMod",(function(){return Ur})),o.d(t,"Position",(function(){return Vr})),o.d(t,"Range",(function(){return Wr})),o.d(t,"Selection",(function(){return jr})),o.d(t,"SelectionDirection",(function(){return Gr})),o.d(t,"MarkerSeverity",(function(){return zr})),o.d(t,"MarkerTag",(function(){return Kr})),o.d(t,"Promise",(function(){return Yr})),o.d(t,"Uri",(function(){return Xr})),o.d(t,"Token",(function(){return qr})),o.d(t,"editor",(function(){return $r})),o.d(t,"languages",(function(){return Jr}));var Mr=self;void 0===Mr.Promise&&(Mr.Promise=Pr),Ao.a.wrappingIndent=Ao.j.None,Ao.a.viewInfo.glyphMargin=!1,Ao.a.autoIndent=!1;var xr=m();xr.editor={create:di,onDidCreateEditor:gi,createDiffEditor:pi,createDiffNavigator:fi,createModel:_i,setModelLanguage:yi,setModelMarkers:vi,getModelMarkers:bi,getModels:Ci,getModel:Ei,onDidCreateModel:Si,onWillDisposeModel:Ti,onDidChangeModelLanguage:wi,createWebWorker:ki,colorizeElement:Oi,colorize:Ri,colorizeModelLine:Ni,tokenize:Li,defineTheme:Ii,setTheme:Di,ScrollbarVisibility:He.b,WrappingIndent:Ao.j,OverviewRulerLane:Mo.f,EndOfLinePreference:Mo.c,DefaultEndOfLine:Mo.b,EndOfLineSequence:Mo.d,TrackedRangeStickiness:Mo.h,CursorChangeReason:ci.a,MouseTargetType:v.b,TextEditorCursorStyle:Ao.i,TextEditorCursorBlinkingStyle:Ao.h,ContentWidgetPositionPreference:v.a,OverlayWidgetPositionPreference:v.c,RenderMinimap:Ao.g,ScrollType:ii,RenderLineNumbersType:ri,InternalEditorOptions:Ao.e,BareFontInfo:ui.a,FontInfo:ui.b,TextModelResolvedOptions:Mo.g,FindMatch:Mo.e,EditorType:y.a},xr.languages={register:ir,getLanguages:rr,onLanguage:ar,getEncodedLanguageId:sr,setLanguageConfiguration:lr,setTokensProvider:dr,setMonarchTokensProvider:gr,registerReferenceProvider:pr,registerRenameProvider:fr,registerCompletionItemProvider:Nr,registerSignatureHelpProvider:mr,registerHoverProvider:_r,registerDocumentSymbolProvider:yr,registerDocumentHighlightProvider:vr,registerDefinitionProvider:br,registerImplementationProvider:Er,registerTypeDefinitionProvider:Cr,registerCodeLensProvider:Sr,registerCodeActionProvider:Tr,registerDocumentFormattingEditProvider:wr,registerDocumentRangeFormattingEditProvider:kr,registerOnTypeFormattingEditProvider:Or,registerLinkProvider:Rr,registerColorProvider:Lr,registerFoldingRangeProvider:Ir,DocumentHighlightKind:re.g,CompletionItemKind:ur,SymbolKind:re.w,IndentAction:Ai.a,SuggestTriggerKind:re.v,FoldingRangeKind:re.k};var Br=xr.CancellationTokenSource,Fr=xr.Emitter,Hr=xr.KeyCode,Ur=xr.KeyMod,Vr=xr.Position,Wr=xr.Range,jr=xr.Selection,Gr=xr.SelectionDirection,zr=xr.MarkerSeverity,Kr=xr.MarkerTag,Yr=xr.Promise,Xr=xr.Uri,qr=xr.Token,$r=xr.editor,Jr=xr.languages;Mr.monaco=xr,void 0!==Mr.require&&"function"==typeof Mr.require.config&&Mr.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index"]})},function(e,t,o){"use strict";o(137);var n="undefined"==typeof monaco?self.monaco:monaco,i={};var r={};function s(e){return r[e]||(r[e]=function(e){return(0,i[e].loader)().then((function(t){n.languages.setMonarchTokensProvider(e,t.language),n.languages.setLanguageConfiguration(e,t.conf)}))}(e)),r[e]}function a(e){var t=e.id;i[t]=e,n.languages.register(e),n.languages.onLanguage(t,(function(){s(t)}))}var l="undefined"==typeof monaco?self.monaco:monaco;a({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:function(){return l.Promise.wrap(o.e(5).then(o.bind(null,558)))}});var u="undefined"==typeof monaco?self.monaco:monaco;a({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:function(){return u.Promise.wrap(o.e(7).then(o.bind(null,559)))}});var c="undefined"==typeof monaco?self.monaco:monaco;a({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:function(){return c.Promise.wrap(o.e(0).then(o.bind(null,560)))}}),a({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:function(){return c.Promise.wrap(o.e(0).then(o.bind(null,560)))}});var h="undefined"==typeof monaco?self.monaco:monaco;a({id:"csharp",extensions:[".cs",".csx"],aliases:["C#","csharp"],loader:function(){return h.Promise.wrap(o.e(8).then(o.bind(null,561)))}});var d="undefined"==typeof monaco?self.monaco:monaco;a({id:"csp",extensions:[],aliases:["CSP","csp"],loader:function(){return d.Promise.wrap(o.e(9).then(o.bind(null,562)))}});var g="undefined"==typeof monaco?self.monaco:monaco;a({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:function(){return g.Promise.wrap(o.e(10).then(o.bind(null,563)))}});var p="undefined"==typeof monaco?self.monaco:monaco;a({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:function(){return p.Promise.wrap(o.e(11).then(o.bind(null,564)))}});var f="undefined"==typeof monaco?self.monaco:monaco;a({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:function(){return f.Promise.wrap(o.e(12).then(o.bind(null,565)))}});var m="undefined"==typeof monaco?self.monaco:monaco;a({id:"go",extensions:[".go"],aliases:["Go"],loader:function(){return m.Promise.wrap(o.e(13).then(o.bind(null,566)))}});var _="undefined"==typeof monaco?self.monaco:monaco;a({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars"],mimetypes:["text/x-handlebars-template"],loader:function(){return _.Promise.wrap(o.e(14).then(o.bind(null,567)))}});var y="undefined"==typeof monaco?self.monaco:monaco;a({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:function(){return y.Promise.wrap(o.e(15).then(o.bind(null,568)))}});var v="undefined"==typeof monaco?self.monaco:monaco;a({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:function(){return v.Promise.wrap(o.e(16).then(o.bind(null,569)))}});var b="undefined"==typeof monaco?self.monaco:monaco;a({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:function(){return b.Promise.wrap(o.e(17).then(o.bind(null,570)))}});var E="undefined"==typeof monaco?self.monaco:monaco;a({id:"javascript",extensions:[".js",".es6",".jsx"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:function(){return E.Promise.wrap(o.e(2).then(o.bind(null,571)))}});var C="undefined"==typeof monaco?self.monaco:monaco;a({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:function(){return C.Promise.wrap(o.e(18).then(o.bind(null,572)))}});var S="undefined"==typeof monaco?self.monaco:monaco;a({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:function(){return S.Promise.wrap(o.e(19).then(o.bind(null,573)))}});var T="undefined"==typeof monaco?self.monaco:monaco;a({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:function(){return T.Promise.wrap(o.e(20).then(o.bind(null,574)))}});var w="undefined"==typeof monaco?self.monaco:monaco;a({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:function(){return w.Promise.wrap(o.e(21).then(o.bind(null,575)))}});var k="undefined"==typeof monaco?self.monaco:monaco;a({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:function(){return k.Promise.wrap(o.e(22).then(o.bind(null,576)))}});var O="undefined"==typeof monaco?self.monaco:monaco;a({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:function(){return O.Promise.wrap(o.e(23).then(o.bind(null,577)))}});var R="undefined"==typeof monaco?self.monaco:monaco;a({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:function(){return R.Promise.wrap(o.e(25).then(o.bind(null,578)))}});var N="undefined"==typeof monaco?self.monaco:monaco;a({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:function(){return N.Promise.wrap(o.e(26).then(o.bind(null,579)))}});var L="undefined"==typeof monaco?self.monaco:monaco;a({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:function(){return L.Promise.wrap(o.e(27).then(o.bind(null,580)))}});var I="undefined"==typeof monaco?self.monaco:monaco;a({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:function(){return I.Promise.wrap(o.e(28).then(o.bind(null,581)))}});var D="undefined"==typeof monaco?self.monaco:monaco;a({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:function(){return D.Promise.wrap(o.e(29).then(o.bind(null,582)))}});var A="undefined"==typeof monaco?self.monaco:monaco;a({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:function(){return A.Promise.wrap(o.e(30).then(o.bind(null,583)))}});var P="undefined"==typeof monaco?self.monaco:monaco;a({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:function(){return P.Promise.wrap(o.e(31).then(o.bind(null,584)))}});var M="undefined"==typeof monaco?self.monaco:monaco;a({id:"r",extensions:[".r",".rhistory",".rprofile",".rt"],aliases:["R","r"],loader:function(){return M.Promise.wrap(o.e(32).then(o.bind(null,585)))}});var x="undefined"==typeof monaco?self.monaco:monaco;a({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:function(){return x.Promise.wrap(o.e(33).then(o.bind(null,586)))}});var B="undefined"==typeof monaco?self.monaco:monaco;a({id:"redis",extensions:[".redis"],aliases:["redis"],loader:function(){return B.Promise.wrap(o.e(34).then(o.bind(null,587)))}});var F="undefined"==typeof monaco?self.monaco:monaco;a({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:function(){return F.Promise.wrap(o.e(35).then(o.bind(null,588)))}});var H="undefined"==typeof monaco?self.monaco:monaco;a({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile"],aliases:["Ruby","rb"],loader:function(){return H.Promise.wrap(o.e(36).then(o.bind(null,589)))}});var U="undefined"==typeof monaco?self.monaco:monaco;a({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:function(){return U.Promise.wrap(o.e(37).then(o.bind(null,590)))}});var V="undefined"==typeof monaco?self.monaco:monaco;a({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:function(){return V.Promise.wrap(o.e(38).then(o.bind(null,591)))}});var W="undefined"==typeof monaco?self.monaco:monaco;a({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:function(){return W.Promise.wrap(o.e(40).then(o.bind(null,592)))}});var j="undefined"==typeof monaco?self.monaco:monaco;a({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:function(){return j.Promise.wrap(o.e(42).then(o.bind(null,593)))}});var G="undefined"==typeof monaco?self.monaco:monaco;a({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:function(){return G.Promise.wrap(o.e(43).then(o.bind(null,594)))}});var z="undefined"==typeof monaco?self.monaco:monaco;a({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib"],aliases:["StructuredText","scl","stl"],loader:function(){return z.Promise.wrap(o.e(44).then(o.bind(null,595)))}});var K="undefined"==typeof monaco?self.monaco:monaco;a({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:function(){return K.Promise.wrap(o.e(45).then(o.bind(null,596)))}});var Y="undefined"==typeof monaco?self.monaco:monaco;a({id:"typescript",extensions:[".ts",".tsx"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:function(){return Y.Promise.wrap(o.e(46).then(o.bind(null,557)))}});var X="undefined"==typeof monaco?self.monaco:monaco;a({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:function(){return X.Promise.wrap(o.e(47).then(o.bind(null,597)))}});var q="undefined"==typeof monaco?self.monaco:monaco;a({id:"xml",extensions:[".xml",".dtd",".ascx",".csproj",".config",".wxi",".wxl",".wxs",".xaml",".svg",".svgz"],firstLine:"(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)",aliases:["XML","xml"],mimetypes:["text/xml","application/xml","application/xaml+xml","application/xml-dtd"],loader:function(){return q.Promise.wrap(o.e(48).then(o.bind(null,598)))}});var $="undefined"==typeof monaco?self.monaco:monaco;a({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml"],loader:function(){return $.Promise.wrap(o.e(49).then(o.bind(null,599)))}});var J="undefined"==typeof monaco?self.monaco:monaco;a({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:function(){return J.Promise.wrap(o.e(39).then(o.bind(null,600)))}});var Z="undefined"==typeof monaco?self.monaco:monaco;a({id:"clojure",extensions:[".clj",".clojure"],aliases:["clojure","Clojure"],loader:function(){return Z.Promise.wrap(o.e(6).then(o.bind(null,601)))}});var Q="undefined"==typeof monaco?self.monaco:monaco;a({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:function(){return Q.Promise.wrap(o.e(41).then(o.bind(null,602)))}});var ee="undefined"==typeof monaco?self.monaco:monaco;a({id:"perl",extensions:[".pl"],aliases:["Perl","pl"],loader:function(){return ee.Promise.wrap(o.e(24).then(o.bind(null,603)))}});var te="undefined"==typeof monaco?self.monaco:monaco;a({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:function(){return te.Promise.wrap(o.e(4).then(o.bind(null,604)))}});var oe="undefined"==typeof monaco?self.monaco:monaco;a({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:function(){return oe.Promise.wrap(o.e(3).then(o.bind(null,605)))}})}]);
\ No newline at end of file
diff --git a/wiki/Tool's-required-for-updating.md b/wiki/Tool's-required-for-updating.md
index bf55c8e..1aa3589 100644
--- a/wiki/Tool's-required-for-updating.md
+++ b/wiki/Tool's-required-for-updating.md
@@ -28,6 +28,21 @@ Optionally:
 
 # Update the docs for the BrainBox
 
+The contents of large files from the shepherd repo(like images and PDFs) are stored by Netlify's Large Media (LM) servers. <br>
+
+Install [git lfs](https://git-lfs.github.com/). 
+
+Install the netlify CLI tool and set it up for the robocon-website repo:
+* `npm i -g netlify-cli`
+* `cd robocon-website`
+* `netlify lm:install`
+* `netlify link`
+    * Select the option to enter the site ID
+    * Enter the URL: `hr-robocon.org`
+    * This requires you to be part of the Systemetric team on Netlify
+
+This configures the website repository to use Netlify LM as the LFS server. From now on you should be able to use git and git lfs tools as normal for handling large assets. This step is important - if it's not followed for the one-time setup, the following steps for generating docs for the brains will not include large assets. 
+
 From systemetric/robocon-website:master *(recommended)*: 
 * `cd shepherd/sheepsrc/`
 * `shepherd/sheepsrc> npm install`